diff --git a/ros2_ws/src/simple_robot_1dof/launch/simple_robot_rviz_simulation_1dof_launch.py b/ros2_ws/src/simple_robot_1dof/launch/simple_robot_rviz_simulation_1dof_launch.py
index 8b89fb919e669c60e8c24b56441b3d48c45e0b24..2bf529b2c7cb67249cdbf70b61b64cc645ef2778 100644
--- a/ros2_ws/src/simple_robot_1dof/launch/simple_robot_rviz_simulation_1dof_launch.py
+++ b/ros2_ws/src/simple_robot_1dof/launch/simple_robot_rviz_simulation_1dof_launch.py
@@ -21,6 +21,8 @@ def generate_launch_description():
     with open(urdf_file, 'r') as infp:
         robot_desc = infp.read()
 
+
+
     declared_arguments = []
     declared_arguments.append(
         DeclareLaunchArgument(
@@ -105,7 +107,8 @@ def generate_launch_description():
         executable='robot_state_publisher',
         output='both',
         parameters=[
-            {'robot_description': robot_desc}
+            # {'robot_description': combined_robot_desc},
+            {'robot_description': robot_desc},
             ]
     )
     nodes = [
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 8bb289ec7c12df87514606e101221bb60c9692d2..04b91614fe37588abacf252baacf290485ae5f4f 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
@@ -67,24 +67,6 @@ class Forward_Kinematics_Node_1Dof(Node):
             self.index += 1
 
         self.transformation_simple_robot()
-        
-    def transformation_kuka(self):
-
-        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_kuka = FKinBody(self.M, self.Blist, kuka_joint_angles)
-
-        end_forward_kinematics_kuka = np.matmul(self.intermediate_rotation, start_forward_kinematics_kuka)
-
-        end_position_kuka = end_forward_kinematics_kuka[:4, 3]
-        end_orientation_kuka = Rotation.from_matrix(end_forward_kinematics_kuka[:3, :3]).as_quat()
-
-        
-        self.publish_pose_kuka_pose(end_position_kuka, end_orientation_kuka)
 
 
     def transformation_simple_robot(self):
@@ -120,6 +102,27 @@ class Forward_Kinematics_Node_1Dof(Node):
         if self.index == 2:
             self.transformation_kuka()
 
+
+    def transformation_kuka(self):
+
+        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_kuka = FKinBody(self.M, self.Blist, kuka_joint_angles)
+
+        end_forward_kinematics_kuka = np.matmul(self.intermediate_rotation, start_forward_kinematics_kuka)
+
+        end_position_kuka = end_forward_kinematics_kuka[:4, 3]
+        end_orientation_kuka = Rotation.from_matrix(end_forward_kinematics_kuka[:3, :3]).as_quat()
+
+        
+        self.publish_pose_kuka_pose(end_position_kuka, end_orientation_kuka)
+
+        
+
     def construct_path(self, vector):
         # RViz
         pose = PoseStamped()
diff --git a/ros2_ws/src/simple_robot_1dof/urdf/simple_robot.urdf b/ros2_ws/src/simple_robot_1dof/urdf/simple_robot.urdf
index 9c63ad0059ea3972539c781a52f98c0e1383f511..54b14680c64fbef832909f9456ca296b5a8cff24 100644
--- a/ros2_ws/src/simple_robot_1dof/urdf/simple_robot.urdf
+++ b/ros2_ws/src/simple_robot_1dof/urdf/simple_robot.urdf
@@ -20,6 +20,15 @@
         <color rgba="0.5 0.5 0.5 1"/>
       </material>
     </visual>
+    <visual>
+      <origin xyz="-0.7 0.55 0.235" rpy="0 0 0"/>
+      <geometry>
+        <box size = "0.9 1.9 0.47"/>
+      </geometry>
+      <material name="grey">
+        <color rgba="0.5 0.5 0.5 1"/>
+      </material>
+    </visual>
   </link>
 
   <link name="arm1">
@@ -28,8 +37,8 @@
       <geometry>
         <cylinder length="0.71" radius="0.02"/>
       </geometry>
-      <material name="red">
-        <color rgba="0.75 0.0 0.0 1"/>
+      <material name="green">
+        <color rgba="0.0 0.75 0.0 1"/>
       </material>
     </visual>
     <inertial>
@@ -53,8 +62,8 @@
       <geometry>
         <cylinder length="0.3" radius="0.02"/>
       </geometry>
-      <material name="green">
-        <color rgba="0.0 0.75 0.0 1"/>
+      <material name="red">
+        <color rgba="0.75 0.0 0.0 1"/>
       </material>
     </visual>
     <inertial>
@@ -64,12 +73,10 @@
     </inertial>
   </link>
 
-  <joint name="joint2" type="revolute">
+  <joint name="joint2" type="fixed">
     <parent link="arm1"/>
     <child link="arm2"/>
     <origin xyz="0 0 0.71"/>
-    <axis xyz="0 1 0"/>
-    <limit effort = "300" lower="-2.96705972839" upper="2.96705972839" velocity = "10" />
   </joint>
 
   <link name="arm3">
@@ -78,8 +85,8 @@
       <geometry>
         <cylinder length="0.3" radius="0.02"/>
       </geometry>
-      <material name="blue">
-        <color rgba="0.0 0.0 0.75 1"/>
+      <material name="red">
+        <color rgba="0.75 0.0 0.0 1"/>
       </material>
     </visual>
     <inertial>
@@ -89,12 +96,10 @@
     </inertial>
   </link>
 
-  <joint name="joint3" type="revolute">
+  <joint name="joint3" type="fixed">
     <parent link="arm2"/>
     <child link="arm3"/>
     <origin xyz="-0.3 0 0"/>
-    <axis xyz="0 1 0"/>
-    <limit effort = "300" lower="-2.96705972839" upper="2.96705972839" velocity = "10" />
   </joint>
 
   <link name="ee_link" />
diff --git a/ros2_ws/src/simple_robot_2dof/simple_robot_2dof/forward_kinematics_node_2dof_1.py b/ros2_ws/src/simple_robot_2dof/simple_robot_2dof/forward_kinematics_node_2dof_1.py
index aa89ec9a5ccd69f74d83750e2d72d44d14e87752..7cdbb44857bc6861d42ac8db580a3a855b63b778 100644
--- a/ros2_ws/src/simple_robot_2dof/simple_robot_2dof/forward_kinematics_node_2dof_1.py
+++ b/ros2_ws/src/simple_robot_2dof/simple_robot_2dof/forward_kinematics_node_2dof_1.py
@@ -195,8 +195,8 @@ class Forward_Kinematics_Node_2Dof(Node):
 
     def publish_joint_states_simple_robot(self):
 
-        joint_names = ['joint1', 'joint2', 'joint3', 'joint4']
-        joint_states = [0.0, 0.0, 0.0, 0.0]
+        joint_names = ['joint1', 'joint2']
+        joint_states = [0.0, 0.0]
         joint_states[1] = self.h_fraction
         joint_states[0] = self.theta_fraction
         
diff --git a/ros2_ws/src/simple_robot_2dof/urdf/simple_robot.urdf b/ros2_ws/src/simple_robot_2dof/urdf/simple_robot.urdf
index 18b276f0fefe0a5c897a49beab5475725d9a0696..f6dc71d854bfa5254b48a2e6e349c4130da39a67 100644
--- a/ros2_ws/src/simple_robot_2dof/urdf/simple_robot.urdf
+++ b/ros2_ws/src/simple_robot_2dof/urdf/simple_robot.urdf
@@ -19,6 +19,15 @@
         <color rgba="0.5 0.5 0.5 1"/>
       </material>
     </visual>
+    <visual>
+      <origin xyz="-0.7 0.55 0.235" rpy="0 0 0"/>
+      <geometry>
+        <box size = "0.9 1.9 0.47"/>
+      </geometry>
+      <material name="grey">
+        <color rgba="0.5 0.5 0.5 1"/>
+      </material>
+    </visual>
   </link>
 
   <link name="arm1">
@@ -88,12 +97,10 @@
     </inertial>
   </link>
 
-  <joint name="joint3" type="revolute">
+  <joint name="joint3" type="fixed">
     <parent link="arm2"/>
     <child link="arm3"/>
     <origin xyz="0 0 0.31"/>
-    <axis xyz="0 1 0"/>
-    <limit effort = "300" lower="-2.96705972839" upper="2.96705972839" velocity = "10" />
   </joint>
 
   <link name="arm4">
@@ -113,12 +120,10 @@
     </inertial>
   </link>
 
-  <joint name="joint4" type="revolute">
+  <joint name="joint4" type="fixed">
     <parent link="arm3"/>
     <child link="arm4"/>
     <origin xyz="-0.3 0 0"/>
-    <axis xyz="0 1 0"/>
-    <limit effort = "300" lower="-2.96705972839" upper="2.96705972839" velocity = "10" />
   </joint>
 
 
diff --git a/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_1.py b/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_1.py
index 5c5bbe7bef524fd3f97d8bcbbe32a41a9388092a..ea7f6fd14320adfe618388bd902b37b233b6ac77 100644
--- a/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_1.py
+++ b/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_1.py
@@ -49,7 +49,7 @@ class Forward_Kinematics_Node_3Dof(Node):
         self.simple_robot_Mlist = self.simple_robot_model["Mlist"]
         self.simple_robot_Glist = self.simple_robot_model["Glist"]
         self.simple_robot_Blist = self.simple_robot_model["Blist"]
-        self.simple_robot_joint_angles = [0.0, 0.0, 0.0, 0.0]
+        self.simple_robot_joint_angles = [0.0, 0.0, 0.0]
 
 
         # Create two publishers for the RViz simulation - one for the whole path and one for the marker
@@ -169,8 +169,8 @@ class Forward_Kinematics_Node_3Dof(Node):
 
     def publish_joint_states_simple_robot(self):
 
-        joint_names = ['joint1', 'joint2', 'joint3', 'joint4']
-        joint_states = [0.0, 0.0, 0.0, 0.0]
+        joint_names = ['joint1', 'joint2', 'joint3']
+        joint_states = [0.0, 0.0, 0.0]
         joint_states[0] = self.d_fraction
         joint_states[1] = self.h_fraction
         joint_states[2] = self.theta_fraction
diff --git a/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_2.py b/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_2.py
index 030875b1570a1f48d0d42bae30f77e33662f4346..ffa832c5d78309b34dea201cee771a8377cc7613 100644
--- a/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_2.py
+++ b/ros2_ws/src/simple_robot_3dof/simple_robot_3dof/forward_kinematics_node_3dof_2.py
@@ -49,7 +49,7 @@ class Forward_Kinematics_Node_3Dof(Node):
         self.simple_robot_Mlist = self.simple_robot_model["Mlist"]
         self.simple_robot_Glist = self.simple_robot_model["Glist"]
         self.simple_robot_Blist = self.simple_robot_model["Blist"]
-        self.simple_robot_joint_angles = [0.0, 0.0, 0.0, 0.0]
+        self.simple_robot_joint_angles = [0.0, 0.0, 0.0]
 
         # Create two publishers for the RViz simulation - one for the whole path and one for the marker
         self.path_publisher_ = self.create_publisher(Path, '/simple_robot/visualization_path', 10)
@@ -256,8 +256,8 @@ class Forward_Kinematics_Node_3Dof(Node):
 
     def publish_joint_states_simple_robot(self):
 
-        joint_names = ['joint1', 'joint2', 'joint3', 'joint4']
-        joint_states = [0.0, 0.0, 0.0, 0.0]
+        joint_names = ['joint1', 'joint2', 'joint3']
+        joint_states = [0.0, 0.0, 0.0]
         joint_states[0] = self.d_fraction
         joint_states[1] = self.h_fraction
         joint_states[2] = self.theta_fraction
diff --git a/ros2_ws/src/simple_robot_3dof/urdf/simple_robot.urdf b/ros2_ws/src/simple_robot_3dof/urdf/simple_robot.urdf
index 2c70293d5a55cb2716f5710ff207b6d8961e0970..447d31580c4427ad444c406bf2a69ed6c6b17f7a 100644
--- a/ros2_ws/src/simple_robot_3dof/urdf/simple_robot.urdf
+++ b/ros2_ws/src/simple_robot_3dof/urdf/simple_robot.urdf
@@ -19,6 +19,15 @@
         <color rgba="0.5 0.5 0.5 1"/>
       </material>
     </visual>
+    <visual>
+      <origin xyz="-0.7 0.45 0.235" rpy="0 0 0"/>
+      <geometry>
+        <box size = "0.9 1.9 0.47"/>
+      </geometry>
+      <material name="grey">
+        <color rgba="0.5 0.5 0.5 1"/>
+      </material>
+    </visual>
   </link>
 
   <link name="arm1">
@@ -113,12 +122,10 @@
     </inertial>
   </link>
 
-  <joint name="joint4" type="revolute">
+  <joint name="joint4" type="fixed">
     <parent link="arm3"/>
     <child link="arm4"/>
     <origin xyz="-0.3 0 0"/>
-    <axis xyz="0 1 0"/>
-    <limit effort = "300" lower="-2.96705972839" upper="2.96705972839" velocity = "10" />
   </joint>