Heron ROS2
This page will describe the current state of Heron running on ROS2, including known issues and possible mitigations if there are any.
State
- Robot description has been migrated and state is fully published (all joints, UR GPIO, MiR location in world and map)
- Gripper is operational using the same driver as under ROS1 but is ported to ROS2
- MiR Bridge is minimimally operating, publishing location information, can recive goal pose and will navigate if possible to that position
- UR5e Arm is operational and can be controlled through MoveIt
- Code is available on git.cs.lth.se
- All code has been tested and run using ROS Containers
- Workspace command used within ROS Containers now supports ROS1 and ROS2
- An initial Rosinstall file is available in ROS Containers
- SkiROS2 under ROS2 template for Heron is not yet available
- All code is known to work under ROS2 Iron, ROS2 Humble has been retested and know works.
Code
Code is available under ROS2 or Humble branches here:
- Universal Robots ROS2 drivers: UR ROS2 Github Repo - heron_robot works with released binaries.
Known issues
- Motion planning through Rviz2 can currently only be done when starting motion planning seperated from a full bringup - this launches Rviz2 with only the arm based of the Heron URDF.
- MiR Bridge cannot publish all topics even if enabled (you will hit 100% CPU and Python cannot natively be multithreaded), they need to be translated topic by topic from JSON to ROS2 Messages - work on fast translation is underway
- UR5e does not have a prefix in the current setup - this will be investigated and attempts will be made to add a prefix so that the joint names matches ROS1