xArm-Developer / xarm_ros2

ROS2 developer packages for robotic products from UFACTORY
https://www.ufactory.cc/pages/xarm
BSD 3-Clause "New" or "Revised" License
125 stars 77 forks source link

No appropriate way to create a robot_description that includes link and joint definitions to which the xarm7 is attached? #88

Open bkinman opened 4 months ago

bkinman commented 4 months ago

I have a use case where I'm interested in attaching my xarm7 to a platform that has a camera viewing the workspace.

I see that it is possible to add things to the end effector of the xarm7 using the add_other_geometry xacro argument, and that it is also possible to create a joint that attaches the robot to some other link (defaulting to world) using the attach_to; However, I do not see a clear way to ensure that the rest of my robot description gets included appropriately, so that the robot_state_publisher node publishes my full robot description, including the rest of the robot (the platform and the camera).

What is the appropriate way to go about this? One option I can see is that I could modify all of the launch files in xarm_ros2, but that's not a preferred option.

If there's not a clean way to do this, perhaps this ticket is a feature request!

Thanks!

DaniGarciaLopez commented 2 months ago

I’m also interested in this feature. As you mentioned, I believe the only current way is to reimplement all launch files to include an additional URDF with your custom platform/gripper, and in some cases, also modify the SRDF.

The current add_other_geometry parameter only works for very basic use cases. I think the best solution would be to have two parameters specifying the paths of the URDF and SRDF for the new end effector.