Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

You can load the arm and hand separately, as in separate URDFs and controller_managers. To rigidly couple the hand to the arm using roslaunch, you can spawn a static tf publisher that broadcasts the transform between lwr_7_link and ahand_base_link.

You can load the arm and hand separately, as in separate URDFs and controller_managers. To rigidly couple the hand to the arm using roslaunch, you can spawn a static tf publisher that broadcasts the transform between lwr_7_link and ahand_base_link.

Edit: I realize after your tests that this trick is useful to couple links together on the ROS side of things. If you were using actual hardware that _is_ coupled together, then it would work. However, as long as you're not doing anything else on the Gazebo side of things, the hand will remain disconnected from the arm. You're missing a mechanism to tell Gazebo that there's a fixed joint between your two models.

The least-resistance solution right now seems to be what Stefan suggests in his answer. To create a single URDF containing the arm-hand system. If you leverage xacro, you can still have two separate models, one for the arm and one for the hand, and combine them in a very brief URDF.