ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Pretty interesting tech :)

The first thing I´d try is approximating the boom using multiple equal sized links that fit into the base without poking out of it when retracted and connecting them all via prismatic joints. This allows the following:

  • Trivial to convert between the multiple prismatic joint values and a single "boom extension" joint value

  • No geometry extending out of the back of the robot

  • Self collision is not checked in rviz and Gazebo, so should work out of the box and look like the real thing

  • Collision checking between select links can be switched off in the SRDF file used by MoveIt as described here (search for the disable_collisions tag), so that should also work

Looking at the issue I just stumbled across the "mimic" joint tag in URDF that I vaguely remembered to exist (see URDF joint XML wiki page). If this works as expected, it probably is the way to go and you can build your model using this mechanism. There is support for mimic joints in MoveIt! (see (JointModel documentation), so planning should work, too. As the "mimic" tag is not widely used, you might run into a few issues when trying it out, but those hopefully would be solvable.

The other option would be to implement some more specialized software. This would be relatively easy in rviz (Implementing your own plugin and using OGRE for rendering is not too difficult), but that would not be directly portable to Gazebo and MoveIt!, where collision detection would have to be performed.

Pretty interesting tech :)

The first thing I´d try is approximating the boom using multiple equal sized links that fit into the base without poking out of it when retracted and connecting them all via prismatic joints. This allows the following:

  • Trivial to convert between the multiple prismatic joint values and a single "boom extension" joint value

  • No geometry extending out of the back of the robot

  • Self collision is not checked in rviz and Gazebo, so should work out of the box and look like the real thing

  • Collision checking between select links can be switched off in the SRDF file used by MoveIt as described here (search for the disable_collisions tag), so that should also work

Looking at the issue I just stumbled across the "mimic" joint tag in URDF that I vaguely remembered to exist (see URDF joint XML wiki page). If this works as expected, it probably is the way to go and you can build your model using this mechanism. There is support for mimic joints in MoveIt! (see (JointModel documentation), ) so planning should work, too. As the "mimic" tag is not widely used, you might run into a few issues when trying it out, but those hopefully would be solvable.

The other option would be to implement some more specialized software. This would be relatively easy in rviz (Implementing your own plugin and using OGRE for rendering is not too difficult), but that would not be directly portable to Gazebo and MoveIt!, where collision detection would have to be performed.