diff --git a/ros2_ws/src/iiwa/iiwa_bringup/launch/__pycache__/iiwa.launch.cpython-310.pyc b/ros2_ws/src/iiwa/iiwa_bringup/launch/__pycache__/iiwa.launch.cpython-310.pyc
index d38891b2603662f601248eabcaa89ec7bc9d889e..dcd86a4512c5da509964ac1be6a3b8e2315f7db2 100644
Binary files a/ros2_ws/src/iiwa/iiwa_bringup/launch/__pycache__/iiwa.launch.cpython-310.pyc and b/ros2_ws/src/iiwa/iiwa_bringup/launch/__pycache__/iiwa.launch.cpython-310.pyc differ
diff --git a/ros2_ws/src/simple_robot_1dof/launch/kuka_rviz_simulation_1dof_launch.py b/ros2_ws/src/simple_robot_1dof/launch/kuka_rviz_simulation_1dof_launch.py
index c27d1ea7e46e9dcba98e86baa503e634d05b2f18..8b89fb919e669c60e8c24b56441b3d48c45e0b24 100644
--- a/ros2_ws/src/simple_robot_1dof/launch/kuka_rviz_simulation_1dof_launch.py
+++ b/ros2_ws/src/simple_robot_1dof/launch/kuka_rviz_simulation_1dof_launch.py
@@ -1,7 +1,7 @@
 import os
 from launch import LaunchDescription
 from launch_ros.actions import Node
-from launch.actions import ExecuteProcess, DeclareLaunchArgument
+from launch.actions import DeclareLaunchArgument
 from ament_index_python.packages import get_package_share_directory
 from launch.substitutions import LaunchConfiguration
 
@@ -16,12 +16,6 @@ def generate_launch_description():
         'forward_kinematics_simulations.rviz'
     )
 
-    # rviz_config_file_urdf = os.path.join(
-    #     get_package_share_directory(package_name),
-    #     'rviz',
-    #     'urdf.rviz'
-    # )
-
     urdf_dir = os.path.join(get_package_share_directory(package_name), 'urdf')
     urdf_file = os.path.join(urdf_dir, 'simple_robot.urdf')
     with open(urdf_file, 'r') as infp:
@@ -93,54 +87,34 @@ def generate_launch_description():
             output='screen',
             arguments=['-d', rviz_config_file]
         )
-    # rviz_node_urdf = Node(
-    #         package='rviz2',
-    #         executable='rviz2',
-    #         name='rviz2',
-    #         output='screen',
-    #         arguments=['-d', rviz_config_file_urdf]
-    #     )
-    inverse_kinematics_node = Node(
+    kuka_inverse_kinematics_node = Node(
             package= 'iiwa_inverse_kinematics',
             executable='inverse_kinematics_node',
             name='inverse_kinematics',
             output='screen',
             parameters = []
         )
+    simple_robot_inverse_kinematics_node = Node(
+        package='simple_robot_inverse_kinematik',
+        executable='simple_robot_inverse_kinematik',
+        name='simple_robot_inverse_kinematik',
+        parameters=[]
+    )
     robot_state_publisher = Node(
         package='robot_state_publisher',
         executable='robot_state_publisher',
         output='both',
         parameters=[
             {'robot_description': robot_desc}
-            ]#,
-        # remappings=[
-        #     ('/robot_description', 'simple_robot_description')
-        # ]
-    )
-    joint_state_publisher = Node(
-        package='joint_state_publisher',
-        executable='joint_state_publisher',
-        output = 'both',
-        parameters=[
-            {'robot_description': robot_desc}
-        ]
-    )
-    joint_state_publisher_gui = Node(
-        package='joint_state_publisher_gui',
-        executable='joint_state_publisher_gui',
-        name='joint_state_publisher_gui',
-        output='screen',
+            ]
     )
     nodes = [
         forward_kinematics_node,
         reference_node,
         rviz_node,
-        # rviz_node_urdf,
-        inverse_kinematics_node,
+        kuka_inverse_kinematics_node,
+        simple_robot_inverse_kinematics_node,
         robot_state_publisher,
-        joint_state_publisher,
-        # joint_state_publisher_gui
     ]
 
     return LaunchDescription(declared_arguments + nodes)
\ No newline at end of file
diff --git a/ros2_ws/src/simple_robot_1dof/simple_robot_1dof/forward_kinematics_node_1dof.py b/ros2_ws/src/simple_robot_1dof/simple_robot_1dof/forward_kinematics_node_1dof.py
index 3331c8bfeb16f8a76e42b202201e5f28c98a9b77..c1346e42fc193b975d6447b84b6fc7ebf49a537e 100644
--- a/ros2_ws/src/simple_robot_1dof/simple_robot_1dof/forward_kinematics_node_1dof.py
+++ b/ros2_ws/src/simple_robot_1dof/simple_robot_1dof/forward_kinematics_node_1dof.py
@@ -11,7 +11,6 @@ from nav_msgs.msg import Path
 from geometry_msgs.msg import PoseStamped
 from geometry_msgs.msg import Pose
 from visualization_msgs.msg import Marker
-import transformations
 from scipy.spatial.transform import Rotation
 import time
 
@@ -67,70 +66,48 @@ class Forward_Kinematics_Node_1Dof(Node):
         if self.phi == 0:
             self.index += 1
 
-        self.transformation_kuka()
         self.transformation_simple_robot()
         
     def transformation_kuka(self):
-        # Define the desired rotation here
-        theta = - pi / 1.8
-        # Split theta
-        theta_fraction = self.phi * theta
-
-        self.publish_angle(theta_fraction)
-
-        # Define the matrix
-        intermediate_rotation = np.array([
-            [cos(theta_fraction), -sin(theta_fraction), 0, 0],
-            [sin(theta_fraction), cos(theta_fraction), 0, 0],
-            [0, 0, 1, 0],
-            [0, 0, 0, 1]
-        ])
 
-        self.joint_angles = np.zeros(len(self.Slist[0]))
-        self.joint_angles[0] = np.pi
-        self.joint_angles[1] = np.pi/2
-        self.joint_angles[3] = np.pi/2
-        self.joint_angles[5] = np.pi/2
+        kuka_joint_angles = np.zeros(len(self.Slist[0]))
+        kuka_joint_angles[0] = np.pi
+        kuka_joint_angles[1] = np.pi/2
+        kuka_joint_angles[3] = np.pi/2
+        kuka_joint_angles[5] = np.pi/2
 
-        start_forward_kinematics = FKinBody(self.M, self.Blist, self.joint_angles)
+        start_forward_kinematics_kuka = FKinBody(self.M, self.Blist, kuka_joint_angles)
 
-        start_position = start_forward_kinematics[:4 ,3]
-        start_orientation = Rotation.from_matrix(start_forward_kinematics[:3, :3]).as_quat()
-
-        end_forward_kinematics = np.matmul(intermediate_rotation, start_forward_kinematics)
+        end_forward_kinematics = np.matmul(self.intermediate_rotation, start_forward_kinematics_kuka)
 
         end_position = end_forward_kinematics[:4, 3]
         end_orientation = Rotation.from_matrix(end_forward_kinematics[:3, :3]).as_quat()
 
-        if self.index == 2:
-            self.publish_pose_target_pose(end_position, end_orientation)
+        
+        self.publish_pose_kuka_pose(end_position, end_orientation)
 
 
     def transformation_simple_robot(self):
-        # Define the desired rotation here
-        theta = - pi / 1.8
+        # Define the desired rotation
+        self.theta = - pi / 1.8
         # Split theta
-        theta_fraction = self.phi * theta
+        self.theta_fraction = self.phi * self.theta
 
-        self.publish_angle(theta_fraction)
+        self.publish_angle(self.theta_fraction)
 
         # Define the matrix
-        intermediate_rotation = np.array([
-            [cos(theta_fraction), -sin(theta_fraction), 0, 0],
-            [sin(theta_fraction), cos(theta_fraction), 0, 0],
+        self.intermediate_rotation = np.array([
+            [cos(self.theta_fraction), -sin(self.theta_fraction), 0, 0],
+            [sin(self.theta_fraction), cos(self.theta_fraction), 0, 0],
             [0, 0, 1, 0],
             [0, 0, 0, 1]
         ])
 
         self.simple_robot_joint_angles = np.zeros(len(self.simple_robot_Slist[0]))
-        # self.simple_robot_joint_angles[1] = np.pi / 2
 
         start_forward_kinematics_simple = FKinBody(self.simple_robot_M, self.simple_robot_Blist, self.simple_robot_joint_angles)
 
-        start_position_simple = start_forward_kinematics_simple[:4 ,3]
-        start_orientation = Rotation.from_matrix(start_forward_kinematics_simple[:3, :3]).as_quat()
-
-        end_forward_kinematics_simple = np.matmul(intermediate_rotation, start_forward_kinematics_simple)
+        end_forward_kinematics_simple = np.matmul(self.intermediate_rotation, start_forward_kinematics_simple)
 
         end_position_simple = end_forward_kinematics_simple[:4, 3]
         end_orientation_simple = Rotation.from_matrix(end_forward_kinematics_simple[:3, :3]).as_quat()
@@ -140,6 +117,9 @@ class Forward_Kinematics_Node_1Dof(Node):
         
         self.construct_path(end_position_simple)
 
+        if self.index == 2:
+            self.transformation_kuka()
+
     def construct_path(self, vector):
         # RViz
         pose = PoseStamped()
@@ -190,8 +170,6 @@ class Forward_Kinematics_Node_1Dof(Node):
 
     def publish_pose_simple_robot(self, vector, quaternion):
         pose_msg_sr = Pose()
-        # pose_msg.header.frame_id = "map"
-        # pose_msg.header.stamp = self.get_clock().now().to_msg()
         pose_msg_sr.position.x = vector[0]
         pose_msg_sr.position.y = vector[1]
         pose_msg_sr.position.z = vector[2]
@@ -201,7 +179,7 @@ class Forward_Kinematics_Node_1Dof(Node):
         pose_msg_sr.orientation.w = quaternion[3]
         self.pose_publisher_simple_robot_.publish(pose_msg_sr)
 
-    def publish_pose_target_pose(self, vector, quaternion):    
+    def publish_pose_kuka_pose(self, vector, quaternion):    
         # Create a Pose message for the target pose
         pose_msg = Pose()
         pose_msg.position.x = vector[0]
@@ -212,8 +190,6 @@ class Forward_Kinematics_Node_1Dof(Node):
         pose_msg.orientation.z = quaternion[2]
         pose_msg.orientation.w = quaternion[3]
         self.pose_publisher_kuka_robot_.publish(pose_msg)
-        # if self.phi == 0.0:
-        #     time.sleep(2)
 
 
 def main(args = None):
diff --git a/ros2_ws/src/simple_robot_inverse_kinematik/setup.py b/ros2_ws/src/simple_robot_inverse_kinematik/setup.py
index 6112391abb8bdea92a88de327645862d493ed989..ae80ba467ae5171bac3b65910f880719621c3039 100644
--- a/ros2_ws/src/simple_robot_inverse_kinematik/setup.py
+++ b/ros2_ws/src/simple_robot_inverse_kinematik/setup.py
@@ -20,7 +20,7 @@ setup(
     tests_require=['pytest'],
     entry_points={
         'console_scripts': [
-            'simple_robot_inverse = simple_robot_inverse_kinematik.inverse_kinematik:main',
+            'simple_robot_inverse_kinematik = simple_robot_inverse_kinematik.inverse_kinematik:main',
         ],
     },
 )
diff --git a/ros2_ws/src/simple_robot_inverse_kinematik/simple_robot_inverse_kinematik/inverse_kinematik.py b/ros2_ws/src/simple_robot_inverse_kinematik/simple_robot_inverse_kinematik/inverse_kinematik.py
index 4abe7a90aa7795ffae9f6fd5e2f4531e13aeeba2..2a491a6cd3982b1827fbac0cf9de472853a1631c 100644
--- a/ros2_ws/src/simple_robot_inverse_kinematik/simple_robot_inverse_kinematik/inverse_kinematik.py
+++ b/ros2_ws/src/simple_robot_inverse_kinematik/simple_robot_inverse_kinematik/inverse_kinematik.py
@@ -1,11 +1,9 @@
 import os
-import re
 
 import rclpy
 from rclpy.node import Node
 from geometry_msgs.msg import Pose
 from sensor_msgs.msg import JointState
-from trajectory_msgs.msg import JointTrajectory, JointTrajectoryPoint
 from modern_robotics import IKinBody, RpToTrans, FKinBody
 import numpy as np
 from ament_index_python.packages import get_package_share_directory
@@ -44,9 +42,6 @@ class InverseKinematicsSimpleRobot(Node):
         position = T[:3, 3]
         self.get_logger().info('T: "%s":' %T)
 
-        self.get_logger().info(f'Calculated Forward Kinematics Quaternion: {quat}')
-        self.get_logger().info(f'Calculated Forward Kinematics Position: {position}')
-
     def pose_callback(self, pose: Pose):
         quat = [pose.orientation.x, pose.orientation.y, pose.orientation.z, pose.orientation.w]
         r = Rotation.from_quat(quat)
@@ -56,26 +51,15 @@ class InverseKinematicsSimpleRobot(Node):
         ev = 1e-4  # Fehlergrenze für Translation
 
         joint_angles, success = IKinBody(self.Blist, self.M, T_sd, self.joint_angles, eomg, ev)
+        # self.get_logger().info('joint angles "%s"' % joint_angles)
        
 
         if success:
-            # self.joint_angles = joint_angles
-
-
             joint_state_msg = JointState()
             joint_state_msg.header.stamp = Clock().now().to_msg()
             joint_state_msg.name = self.joint_names
             joint_state_msg.position = joint_angles.tolist()
 
-            # joint_trajectory_msg = JointTrajectory()
-            # joint_trajectory_msg.joint_names = self.joint_names
-            # point = JointTrajectoryPoint()
-            # point.positions = joint_angles.tolist()
-            # point.time_from_start.sec = 1 # Example time, adjust as needed
-            # point.time_from_start.nanosec = 450000000 # Balint fragen, ob das verbessert werden kann
-            # joint_trajectory_msg.points.append(point)
-
-            # self.publisher.publish(joint_trajectory_msg)
             self.publisher.publish(joint_state_msg)
         else:
             self.get_logger().error("Inverse Kinematics failed to find a solution.")