This is an old revision of the document!
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 is not yet ported to ROS2
- A single Rosinstall file is being worked on
- SkiROS2 under ROS2 template for Heron is not yet available
- All code is known to work under ROS2 Iron, ROS2 Humble has ROS2 Control issue used by UR driver that crashes during startup (has not been rechecked yet for a potential bug report)
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