Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

You cannot have two joints with the same parents and child. To solve this problem, you will need to create an additional link that acts as a hinge. Firstly, create a joint between the body of the vehicle and the hinge link. This joint will be of kind 'revolute' and responsible for steering. Secondly create a joint between the hinge link and the wheel, this joint will be of kind 'continuous' and responsible for robot propulsion. Simple Example:

<link name='robot_body'/>
<link name='front_wheel_hinge'/>
<link name='front_wheel'/>
<joint name="steering_joint" type="revolute">
       <origin rpy="0 0 0" xyz="* * *"/>
       <parent link="robot_body"/>
       <child link="front_wheel_hinge"/>
       <axis xyz="0 0 -1"/>
       <limit lower="-0.63" upper="0.63" effort="10" velocity="100"/>/>

<joint name="propulsion_joint" type="continuous">
       <origin rpy="0 0 0" xyz="-0.08 0 0"/>
       <parent link="front_wheel_hinge"/>
       <child link="front_wheel"/>
       <axis xyz="0 -1 0"/>
       <limit effort="10" velocity="100"/>