moveit / moveit2

:robot: MoveIt for ROS 2
https://moveit.ai/
BSD 3-Clause "New" or "Revised" License
1.02k stars 508 forks source link

Create custom robot config for testing to eliminate circular dependency on moveit_resources #1924

Open tylerjw opened 1 year ago

tylerjw commented 1 year ago

The problem

We use robot configs from moveit_resources in our testing. This may seem fine except if a user tries to launch moveit using the launch files in moveit_resources they will fail because the dependency on moveit is commented out. This was done so we could release these two packages into the build-farm with moveit depending on moveit_resources.

Here is an example of an error users get if they try to launch the demo.launch.py:

[ERROR] [launch]: Caught exception in launch (see debug for traceback): 
Caught exception when trying to load file of format [py]: 
No module named 'moveit_configs_utils'

One way this could be fixed is to fold the moveit_resources package into the moveit repo. This is undesirable because the panda robot is a vendor and we don't want any vendor code in the main moveit repo.

The solution

@pac48 created this really awesome robot for testing ros2_control: https://github.com/pac48/ros2_control_demos/tree/full-example-tutorial/r6bot

It would be really cool if we had something similar inside moveit itself. This would allow us to migrate our tests and tutorials to work off this custom robot. This custom robot could be updated to show the best way to integrate a custom robot and would be something we'd control completely for testing.

Tasks

MarqRazz commented 1 year ago

My problem with choosing a "fake" robot is that it is not very likely to be included in other simulators like the UR5/Franka are in Gazebo/Ignition/Isaac/MuJoCo... and you can't run any tests on hardware.

I ran into this issue was because I was trying to run the moveit_resources version of the Panda in Isaac and don't want to have to build MoveIt from source for it to work.

@tylerjw also pointed out that moveit2_tutorials suffers from this same issue and had to copy all of the launch files for the Panda robot to make them work.

AndyZe commented 1 year ago

Realistically, we should use a UR robot, if there's only going to be one robot. They were one of the first with a ROS2 package and they are the most common

github-actions[bot] commented 1 year ago

This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups.