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/srcgit clonehttps://github.com/MaxFleur/ros2_utils_tool.gitcd 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/srcsource install/setup.bashros2 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!