====== 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 [[https://git.cs.lth.se/robotlab/ros-containers|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: * [[https://git.cs.lth.se/robotlab/heron/heron_robot/-/tree/humble?ref_type=heads|heron_robot]] * [[https://git.cs.lth.se/robotlab/heron/mir-robot/-/tree/ros2?ref_type=heads|mir_driver]] * [[https://git.cs.lth.se/robotlab/heron/robotiq-2f-85-minimal-driver/-/tree/ros2?ref_type=heads|Gripper Driver]] * Universal Robots ROS2 drivers: [[https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver.git|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