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>
<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"/>
</joint>