Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to attach arm to a static base using SDF

I have been playing around with building my own robotic arm. It's very simple and I have all of the joints working. I was hoping work with the arm in a zero gravity environment so movement was easier. The problem I run into however is that the base will always float off or be affected by the arm rotation. I want to fix the base to the ground.

I have tried the following without success:

<sdf version="1.4"> <model name="full_robot_arm"> <include> <uri>model://robot_arm</uri> <pose>0.0 0 1.0 0 0 0</pose> </include>

<include>
  <uri>model://arm_base</uri>
  <pose>0 0 0 0 0 0</pose>
</include>

<include>
  <uri>model://ground_plane</uri>
</include>

<joint name="fixed to ground" type="revolute">
  <parent>ground_plane::link</parent>
  <child>robot_arm_base::body</child>
   <axis>
    <limit>
      <lower>0</lower>
      <upper>0</upper>
    </limit>
    <xyz>0 0 1</xyz>
    </axis>
</joint>

<joint name="shoulder_joint" type="revolute">
  <parent>robot_arm_base::body</parent>
  <child>robot_arm::shoulder_rotator</child>
  <axis>
    <xyz>0 0 1</xyz>
  </axis>
</joint>

</model> </sdf>

It does attach the arm to 'a' ground plane but this will rotation along with the rest of the body.

How to attach arm to a static base using SDF

I have been playing around with building my own robotic arm. It's very simple and I have all of the joints working. I was hoping work with the arm in a zero gravity environment so movement was easier. The problem I run into however is that the base will always float off or be affected by the arm rotation. I want to fix the base to the ground.

I have tried the following without success:

<?xml version='1.0'?>
<sdf version="1.4">
version='1.4'>
  <model name="full_robot_arm">
    <include>
      <uri>model://robot_arm</uri>
      <pose>0.0 0 1.0 0 0 0</pose>
    </include>

</include>

    <include>
   <uri>model://arm_base</uri>
   <pose>0 0 0 0 0 0</pose>
 </include>

 <include>
   <uri>model://ground_plane</uri>
 </include>

 <joint name="fixed to ground" type="revolute">
   <parent>ground_plane::link</parent>
   <child>robot_arm_base::body</child>
    <axis>
     <limit>
       <lower>0</lower>
       <upper>0</upper>
     </limit>
     <xyz>0 0 1</xyz>
     </axis>
 </joint>

 <joint name="shoulder_joint" type="revolute">
   <parent>robot_arm_base::body</parent>
   <child>robot_arm::shoulder_rotator</child>
   <axis>
     <xyz>0 0 1</xyz>
   </axis>
 </joint>
  </model>
</sdf>

</model> </sdf>

It does attach the arm to 'a' ground plane but this will rotation along with the rest of the body.