The ros2_utils_tool finally hit version 1.0!

One and a half years ago, I posted about the ros2_utils_tool, a toolkit for various daily ROS2 activities with full UI and partial CLI support. After countless hours of more development and testing, we’ve finally hit version 1.0!

Since my last post, various new features were added, including:

  • UI based bag recording and playing with additional options, for example splitting files according to size, looping files etc
  • A tool to export any type of bag message to a yaml file
  • Compressed image support for image conversion tools
  • A tool to send static or non-static transformations
  • Support for ROS2 Kilted, Lyrical and Rolling
  • Performance optimizations and stability improvements
  • And more!

The requirements and installation steps are almost identical to earlier version. A working ROS2 distribution (minimum is Jazzy now) is required, as well as Qt5/Qt6 for UI and convenience functionalities, the cv_bridge for transforming images to ROS and vice versa, libpcl-dev for point cloud operations and finally catch2_ros for unit testing.
You can install all dependencies (except for the ROS2 distribution itself) with the following command:
sudo apt install libopencv-dev ros-ROS_DISTRO_NAME-cv-bridge libpcl-dev qtbase5-dev qt6-base-dev ros-ROS_DISTRO_NAME-catch-ros2

Example for ROS2 Jazzy:
sudo apt install libopencv-dev ros-jazzy-cv-bridge libpcl-dev qt6-base-dev qtbase5-dev qtbase5-dev ros-jazzy-catch-ros2

Install the UI with the following steps:

  • cd path/to/your/ros2_workspace/src
  • git clone https://github.com/MaxFleur/ros2_utils_tool.git
  • cd path/to/your/workspace/
  • colcon build --packages-select ros2_utils_tool

Start the UI tool after sourcing your workspace:

  • cd path/to/your/ros2_workspace/src
  • source install/setup.bash
  • ros2 run ros2_utils_tool tool_ui

Feel free to try it out. If you have another feature request or there is a bug you want to report, feel free to open a issue as well!
Hope this tool can you help you in some of your ROS2 activities. Cheers!

2 Likes

Thanks for the heads-up! Your tools look really useful, especially for ROS beginners or people who often work with bag files.

I have a few comments:

  1. The name ros2_utils_tool will most probably never pass the naming check in ROS Package Naming | Robotics Enhancement Proposals . So it will never be possible to release it on the buildfarm (unless it’s renamed). Such packages are usually prefixed with lab/company name and leave out the ros2 part.
  2. I strongly suggest switching over the install instructions to use rosdep to install dependencies. That will also help with possible future buildfarm release and it is the standard way of dependency handling in the ROS world.