Load multiple SRDF for robot and environment
Hi,
I have a robotcell composed of a motoman robot, walls and some objects like tables and shelves. I use an xacro to combine the models in one big robot_description
- somewhat like the following. I also use xacro:if
and arguments to dynamically change the way the final robot system looks like (eg dont include the shelves). I structured it like this, so I can use the workcell_macro
later on to include more elements like endeffectors etc to the robot.
workcell.xacro
world link
includes workcell_macro.xacro
includes walls_macro.xacro
includes objects_macro.xacro
includes motoman_macro.xacro
defines all necessary joints
Now this works totally fine, but my big problem are now the SRDF(s). I need to disable alot of collision, as the walls overlap with some objects (which is fine, as the walls are only for safety purposes). I have a SRDF from motoman, which i copied and extended with all my objects that I added. But if I now want to include this worcell_macro
into another xacro, I need to re-copy all the previously specified disables collisions and extend it with the new ones? Is there a way to also compose SRDF files, like with URDFs and XACROs?
This is also related to a different post of mine: https://www.reddit.com/r/ROS/comments/y9pch5/moveit_concept_of_modelling_environmental_objects/
Btw: I use Noetic on Ubuntu 20.03 with ROS-I and moveit.
Thanks for the help!
Asked by julianmueller on 2022-11-04 08:39:27 UTC
Comments
I believe that you can use xacro in many XML formats (didn't want to say any since that's probably incorrect). I found an example repo of someone using xacro in SRDF here: https://github.com/jhu-lcsr/barrett_moveit/blob/master/barrett_wam_moveit_config/config/wam7.srdf.xacro
Asked by Ronoman on 2022-11-04 11:17:36 UTC