ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
As explained in the Building a Movable Robot Model with URDF tutorial, revolute
joints have strict motion limits. For something like a wheel, you probably want a continuous
joint.
2 | No.2 Revision |
As explained in the Building a Movable Robot Model with URDF tutorial, revolute
joints have strict motion limits. For something like a wheel, you probably want a continuous
joint.
UPDATE
It's moving, so you almost got it! However, it appears your wheels operate on the wrong axis. When you give it a linear x motion, the wheels tumble (rotation about the wrong axis); when you give it a linear y, there's no motion (skid steer can't move sideways). If you give it an angular z, I expect the wheels to tumble in opposite directions (correct command, wrong axis). As suggested in this Gazebo answer, it may help to read the controller's source code and take an incremental approach to testing. In this case, the controller is actually behaving as expected.
The missing piece is that you can change the axis of rotation for a joint
with the <axis>
element as mentioned in the URDF/XML/joint
documentation. The default is rotation about the x-axis, which you observed. What you want is rotation about the y-axis, so add <axis>0 1 0</axis>
to your wheel joint
definition.