CommonplaceRobotics / iRC_ROS

ROS2 packages for the igus Robot Control
Apache License 2.0
15 stars 7 forks source link

Allow multi-robot setups #51

Closed cpr-fer closed 1 year ago

cpr-fer commented 1 year ago

This already implements most of the required features for multi robot setups, in addition to cleaning the respecitve files. The biggest issue besides testing is the limitations of xacro:includes with regards to arguments. arguments are always on a global scope, as such the prefix arg can't be used to create multiple robots in a single urdf xacro file. While it is possible to split them up for example how it is done in the two_rebels.launch.py, it is not possible as is to create multiple complete kinematics as planned to be done in the rebel_on_platform files.

For this the different kinematics need to be put into their own macros, in a similar fashion as e.g. UR does it with their ur_macro.urdf.xacro. This creates some extra LoC and work, but should be the best compromise for having a choosable number of robots.

cpr-fer commented 1 year ago

Changes up until now:

TODO:

Maybe/Seperate PRs:

cpr-fer commented 1 year ago

This should be mergable, but only after some further testing on monday

cpr-fer commented 1 year ago

Testing revealed some further issues and todos:

For a seperate issue:

cpr-fer commented 1 year ago

More things found:

cpr-fer commented 1 year ago

If the CI passes I will merge the PR today and move the remaining TODOs into follow up issues/PRs. The main goal has been achieved and writing more beautiful launch files is not the highest priority right now.

Edit: two_rebels launchfile is broken, so still no merge...

cpr-fer commented 1 year ago

Well, some issues will persist after merging, but I'm splitting this into multiple new issues/PRs since the foundational work is done and the PR has already grown too much