Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rviz1_to_rviz2.py conversion script #882

Merged
merged 9 commits into from
Sep 1, 2022

Conversation

sloretz
Copy link
Contributor

@sloretz sloretz commented Aug 2, 2022

The current way to port ROS 1 RViz files is to open RViz 1 and RViz 2 side by side and then manually add displays to RViz 2 to match. This PR adds a script that converts RViz 1 config files to RViz 2 files, skipping any displays or tools that it doesn't know about.

Example

Input: all_displays_ros1.rviz.txt

$ ros2 run rviz2 rviz1_to_rviz2.py all_displays_ros1.rviz all_displays_ros2.rviz 
Cannot migrate display rviz/AccelStamped - skipping
Cannot migrate display rviz/DepthCloud - skipping
Cannot migrate display rviz/Effort - skipping
Cannot migrate display rviz/TwistStamped - skipping
Cannot migrate display rviz_plugin_tutorials/Imu - skipping
Unable to migrate view type rviz/FrameAligned - skipping

Output: all_displays_ros2.rviz.txt

@sloretz sloretz added the enhancement New feature or request label Aug 2, 2022
@sloretz sloretz self-assigned this Aug 2, 2022
@clalancette
Copy link
Contributor

I'm not sure whether we should have this script in this repository, or in a separate "ros1 migration tools" repository. That is, it seems like this repository should just focus on dealing with ROS 2 rviz, and we should have a separate place for things like this.

But I'm not at all sure I'm right about this. I'm interested in thoughts from @ros2/team and from the wider community.

@sloretz
Copy link
Contributor Author

sloretz commented Aug 4, 2022

I'm not sure whether we should have this script in this repository, or in a separate "ros1 migration tools" repository. That is, it seems like this repository should just focus on dealing with ROS 2 rviz, and we should have a separate place for things like this.

I would recommend putting it in this repository for a couple reasons. The first is the output of the script needs to match the installed version of RViz. Say rviz_default_plugins/Grid changed the name one of it's parameters. If the script lived in a separate repo then its output for rviz_default_plugins/Grid needs to change depending the version of RViz the user wants to use. This might be done with a new command line option to the script, which increases it's complexity. If the script lives here then it only needs to be compatible with the current state. Users of older versions of RViz would have a matching older-version of the script.

The second reason is the script adds no new dependencies, so even if a user doesn't use it I think the cost of installing one more python file can be ignored in the context of RViz's existing dependencies.

@jacobperron
Copy link
Member

Whether the tool lives here or elsewhere, I think the only way to ensure it will be kept up-to-date with changes to rviz is to add unit tests. Even if it is in this repository I imagine it would be easy to break the script without noticing.

Something probably worth noting is that this change introduces a dependency on Python to this repository. Perhaps the Python dependency is okay, but we should probably declare it in the package.xml (especially if we add unit tests).

rviz2/scripts/rviz1_to_rviz2.py Outdated Show resolved Hide resolved
rviz2/scripts/rviz1_to_rviz2.py Outdated Show resolved Hide resolved
rviz2/scripts/rviz1_to_rviz2.py Show resolved Hide resolved
Signed-off-by: Shane Loretz <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
@sloretz
Copy link
Contributor Author

sloretz commented Aug 24, 2022

I added an exec_depend on python3 in 8f65325, though it looks like the repo already transitively depends on it

Graph of ros-humble-rviz dependency on python3
digraph G {
  "python3-distutils%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-nav-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-cpp%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rosidl-typesupport-introspection-cpp%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-pluggy%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-map-msgs%apt"[color=blue];  // Depends
  "python3-setuptools%apt" -> "python3-distutils%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "ros-humble-rti-connext-dds-cmake-module%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-pytest%apt" -> "ros-humble-ament-cmake-test%apt"[color=blue];  // Depends
  "ros-humble-rosidl-cli%apt" -> "python3-argcomplete%apt"[color=blue];  // Depends
  "ros-humble-image-transport%apt" -> "ros-humble-message-filters%apt"[color=blue];  // Depends
  "python3-toml%apt" -> "python3:any%apt"[color=blue];  // Depends
  "python3-six%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-sensor-msgs-py%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "ros-humble-tf2-py%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-rcl-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rcl-action%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "python3-argcomplete%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rosgraph-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-rosidl-parser%apt"[color=blue];  // Depends
  "ros-humble-geometry-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rcl%apt" -> "ros-humble-rcl-yaml-param-parser%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-typesupport-introspection-cpp%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rmw-implementation%apt"[color=blue];  // Depends
  "python3-py%apt" -> "python3-pkg-resources%apt"[color=blue];  // Depends
  "python3-setuptools%apt" -> "python3-pkg-resources%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "qtbase5-dev%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-python%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosgraph-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-targets%apt" -> "ros-humble-ament-cmake-export-libraries%apt"[color=blue];  // Depends
  "ros-humble-sensor-msgs%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-sensor-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-libraries%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rosidl-typesupport-fastrtps-c%apt"[color=blue];  // Depends
  "ros-humble-message-filters%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rmw-dds-common%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "python3-py%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rosidl-typesupport-fastrtps-cpp%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rcl-yaml-param-parser%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-definitions%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rmw-dds-common%apt"[color=blue];  // Depends
  "ros-humble-rosidl-cmake%apt" -> "ros-humble-rosidl-adapter%apt"[color=blue];  // Depends
  "python3-iniconfig%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "python3-lib2to3%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-python-cmake-module%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-rclcpp-action%apt"[color=blue];  // Depends
  "ros-humble-visualization-msgs%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-builtin-interfaces%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-action%apt" -> "ros-humble-action-msgs%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-ros%apt" -> "ros-humble-ament-cmake-gmock%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rosidl-typesupport-cpp%apt"[color=blue];  // Depends
  "ros-humble-sensor-msgs-py%apt" -> "python3-numpy%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-tf2%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-action%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rmw-fastrtps-shared-cpp%apt"[color=blue];  // Depends
  "python3-lark%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-pytest%apt" -> "python3-pytest%apt"[color=blue];  // Depends
  "python3-catkin-pkg-modules%apt" -> "python3-pkg-resources%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-typesupport-cpp%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rcl-yaml-param-parser%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-gen-version-h%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-laser-geometry%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-tf2-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rosidl-runtime-c%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-rmw%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-more-itertools%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-iniconfig%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-rcl-lifecycle%apt" -> "ros-humble-rcl%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rosidl-typesupport-c%apt"[color=blue];  // Depends
  "ros-humble-nav-msgs%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-statistics-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "python3-dev%apt" -> "python3%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "python3-catkin-pkg-modules%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rcl%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-shared-cpp%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros-py%apt" -> "ros-humble-rclpy%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-test%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-c%apt" -> "ros-humble-rosidl-parser%apt"[color=blue];  // Depends
  "ros-humble-rmw-implementation%apt" -> "ros-humble-rmw-connextdds%apt"[color=blue];  // Depends
  "ros-humble-rmw-cyclonedds-cpp%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-python%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-libraries%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-laser-geometry%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-visualization-msgs%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "ros-humble-rcl-lifecycle%apt" -> "ros-humble-lifecycle-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-action-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-target-dependencies%apt" -> "ros-humble-ament-cmake-libraries%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-target-dependencies%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-tf2-geometry-msgs%apt" -> "ros-humble-tf2-ros-py%apt"[color=blue];  // Depends
  "ros-humble-rmw-implementation%apt" -> "ros-humble-rmw-implementation-cmake%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-ament-cmake-ros%apt"[color=blue];  // Depends
  "ros-humble-visualization-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "python3-numpy%apt" -> "python3-pkg-resources%apt"[color=blue];  // Depends
  "ros-humble-image-transport%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-cpp%apt" -> "ros-humble-rosidl-typesupport-c%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros-py%apt" -> "ros-humble-tf2-py%apt"[color=blue];  // Depends
  "ros-humble-laser-geometry%apt" -> "ros-humble-rclpy%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-message-filters%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rcl-lifecycle%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-packaging%apt"[color=blue];  // Depends
  "ros-humble-tf2-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-typesupport-fastrtps-cpp%apt"[color=blue];  // Depends
  "python3-packaging%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rcl-interfaces%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-gen-version-h%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-composition-interfaces%apt" -> "ros-humble-rcl-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-rviz-common%apt"[color=blue];  // Depends
  "ros-humble-rosidl-cmake%apt" -> "ros-humble-rosidl-parser%apt"[color=blue];  // Depends
  "ros-humble-rosidl-parser%apt" -> "ros-humble-rosidl-adapter%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-nav-msgs%apt"[color=blue];  // Depends
  "ros-humble-sensor-msgs%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-lifecycle-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-pkg-resources%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-shared-cpp%apt" -> "ros-humble-rosidl-typesupport-introspection-c%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds%apt" -> "ros-humble-rmw-connextdds-common%apt"[color=blue];  // Depends
  "python3-numpy%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rosidl-cli%apt" -> "python3-importlib-metadata%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-libstatistics-collector%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-shared-cpp%apt" -> "ros-humble-rmw-dds-common%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-c%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-c%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "python3-pluggy%apt" -> "python3-importlib-metadata%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-c%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-tf2-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "python3:any%apt" -> "python3%apt"[color=green];  // virtual
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rosidl-generator-c%apt"[color=blue];  // Depends
  "ros-humble-std-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rmw-cyclonedds-cpp%apt" -> "ros-humble-rosidl-typesupport-introspection-c%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3:any%apt"[color=blue];  // Depends
  "python3-zipp%apt" -> "python3-more-itertools%apt"[color=blue];  // Depends
  "python3-docutils%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-c%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rmw-cyclonedds-cpp%apt" -> "ros-humble-rmw-dds-common%apt"[color=blue];  // Depends
  "ros-humble-laser-geometry%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-libstatistics-collector%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-action%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-action%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "python3-docutils%apt" -> "python3-roman%apt"[color=blue];  // Depends
  "ros-humble-tf2-geometry-msgs%apt" -> "python3-numpy%apt"[color=blue];  // Depends
  "ros-humble-ament-package%apt" -> "python3-setuptools%apt"[color=blue];  // Depends
  "ros-humble-rcl-action%apt" -> "ros-humble-action-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-adapter%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rosidl-adapter%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-c%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-interfaces%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rcl-action%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rosidl-parser%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rcl%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-rviz-rendering%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-tf2-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rmw-implementation%apt" -> "ros-humble-rmw-fastrtps-cpp%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-rcl-interfaces%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rosidl-parser%apt" -> "python3-lark%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-test%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-c%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "python3-pyparsing%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-libstatistics-collector%apt" -> "ros-humble-rcl%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rosidl-generator-c%apt"[color=blue];  // Depends
  "ros-humble-tf2-geometry-msgs%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-toml%apt"[color=blue];  // Depends
  "python3-catkin-pkg-modules%apt" -> "python3-pyparsing%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-gmock%apt" -> "ros-humble-ament-cmake-test%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-generator-py%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros-py%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-tf2-msgs%apt"[color=blue];  // Depends
  "ros-humble-map-msgs%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-nav-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-rclpy%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-c%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-c%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-gmock%apt" -> "ros-humble-ament-cmake-gtest%apt"[color=blue];  // Depends
  "ros-humble-laser-geometry%apt" -> "python3-numpy%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-rosidl-generator-cpp%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-components%apt" -> "ros-humble-composition-interfaces%apt"[color=blue];  // Depends
  "ros-humble-std-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rcl-interfaces%apt"[color=blue];  // Depends
  "ros-humble-ament-package%apt" -> "python3-importlib-metadata%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-c%apt" -> "ros-humble-rosidl-parser%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-version%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-message-filters%apt"[color=blue];  // Depends
  "ros-humble-sensor-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-typesupport-c%apt"[color=blue];  // Depends
  "python3-dev%apt" -> "python3-distutils%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rti-connext-dds-cmake-module%apt"[color=blue];  // Depends
  "ros-humble-rosidl-runtime-cpp%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-core%apt" -> "ros-humble-ament-package%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-components%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-rviz2%apt" -> "ros-humble-rviz-default-plugins%apt"[color=blue];  // Depends
  "python3-catkin-pkg-modules%apt" -> "python3-docutils%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rosidl-typesupport-fastrtps-cpp%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rmw-dds-common%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-action-msgs%apt" -> "ros-humble-unique-identifier-msgs%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-dependencies%apt" -> "ros-humble-ament-cmake-libraries%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-interfaces%apt" -> "ros-humble-ament-cmake-export-libraries%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-visualization-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-c%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-visualization-msgs%apt"[color=blue];  // Depends
  "python3-attr%apt" -> "python3:any%apt"[color=blue];  // Depends
  "python3-distutils%apt" -> "python3-lib2to3%apt"[color=blue];  // Depends
  "ros-humble-rmw-dds-common%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-geometry-msgs%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-tf2-msgs%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-libstatistics-collector%apt" -> "ros-humble-statistics-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "python3-zipp%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rosidl-adapter%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "python3-importlib-metadata%apt" -> "python3-zipp%apt"[color=blue];  // Depends
  "ros-humble-rosgraph-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-shared-cpp%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rclcpp-action%apt" -> "ros-humble-rcl-action%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-rosidl-typesupport-introspection-c%apt"[color=blue];  // Depends
  "python3-pkg-resources%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-libraries%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-targets%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-interactive-markers%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-typesupport-fastrtps-c%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-python-cmake-module%apt"[color=blue];  // Depends
  "ros-humble-rmw-implementation%apt" -> "ros-humble-rmw-cyclonedds-cpp%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-gtest%apt" -> "ros-humble-ament-cmake-test%apt"[color=blue];  // Depends
  "ros-humble-composition-interfaces%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros-py%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-link-flags%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-version%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-typesupport-introspection-c%apt"[color=blue];  // Depends
  "ros-humble-unique-identifier-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-rviz-rendering%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "ros-humble-rmw-cyclonedds-cpp%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-unique-identifier-msgs%apt"[color=blue];  // Depends
  "ros-humble-map-msgs%apt" -> "ros-humble-nav-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-cpp%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-cpp%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-cpp%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-c%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-interactive-markers%apt" -> "ros-humble-tf2-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-ros%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-c%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-core%apt" -> "python3-catkin-pkg-modules%apt"[color=blue];  // Depends
  "python3-dateutil%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-tf2-geometry-msgs%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rcl%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-include-directories%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "python3-dateutil%apt" -> "python3-six%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-rclcpp-components%apt"[color=blue];  // Depends
  "ros-humble-rcl-yaml-param-parser%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-tf2-ros%apt"[color=blue];  // Depends
  "ros-humble-rcl%apt" -> "ros-humble-rcl-interfaces%apt"[color=blue];  // Depends
  "ros-humble-message-filters%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-action-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rcl-lifecycle%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "libvulkan-dev%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-statistics-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rmw-implementation-cmake%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "python3-empy%apt" -> "python3:any%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-attr%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-py%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-shared-cpp%apt" -> "ros-humble-rosidl-typesupport-introspection-cpp%apt"[color=blue];  // Depends
  "ros-humble-image-transport%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rcl-interfaces%apt"[color=blue];  // Depends
  "qtbase5-dev%apt" -> "libvulkan-dev%apt"[color=blue];  // Depends
  "ros-humble-nav-msgs%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-message-filters%apt" -> "ros-humble-rclpy%apt"[color=blue];  // Depends
  "ros-humble-rosidl-cmake%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "python3-setuptools%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-laser-geometry%apt" -> "ros-humble-tf2%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-rcl%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rosgraph-msgs%apt"[color=blue];  // Depends
  "python3-catkin-pkg-modules%apt" -> "python3-dateutil%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-c%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-tf2%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-ament-cmake-ros%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rcl-action%apt"[color=blue];  // Depends
  "ros-humble-rmw-cyclonedds-cpp%apt" -> "ros-humble-rosidl-typesupport-introspection-cpp%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rcl-lifecycle%apt"[color=blue];  // Depends
  "ros-humble-tf2-py%apt" -> "ros-humble-geometry-msgs%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-statistics-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-c%apt" -> "ros-humble-rosidl-typesupport-fastrtps-cpp%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-ros%apt" -> "ros-humble-ament-cmake-gtest%apt"[color=blue];  // Depends
  "ros-humble-rviz-rendering%apt" -> "qtbase5-dev%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-image-transport%apt"[color=blue];  // Depends
  "ros-humble-rviz2%apt" -> "ros-humble-rviz-common%apt"[color=blue];  // Depends
  "python3-more-itertools%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-rosidl-adapter%apt" -> "python3-empy%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-link-flags%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros-py%apt" -> "ros-humble-tf2-msgs%apt"[color=blue];  // Depends
  "python3-pluggy%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-libraries%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-cpp%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-visualization-msgs%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-rosidl-runtime-cpp%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-libstatistics-collector%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-c%apt" -> "python3-dev%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rosidl-typesupport-fastrtps-c%apt"[color=blue];  // Depends
  "ros-humble-visualization-msgs%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-tf2-py%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rmw-connextdds-common%apt" -> "ros-humble-rosidl-typesupport-introspection-c%apt"[color=blue];  // Depends
  "ros-humble-tf2-py%apt" -> "ros-humble-rclpy%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "python3-roman%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "ros-humble-rosidl-cmake%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-targets%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-introspection-cpp%apt" -> "ros-humble-rosidl-cli%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-ros%apt" -> "ros-humble-ament-cmake-pytest%apt"[color=blue];  // Depends
  "ros-humble-rmw-dds-common%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-tf2%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-include-directories%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rosidl-default-runtime%apt" -> "ros-humble-rosidl-runtime-cpp%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "python3-numpy%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-dependencies%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-rcl-action%apt" -> "ros-humble-rcl%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-dependencies%apt"[color=blue];  // Depends
  "python3-numpy%apt" -> "python3%apt"[color=blue];  // Depends
  "ros-humble-rosidl-cmake%apt" -> "python3-empy%apt"[color=blue];  // Depends
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt" -> "ros-humble-rmw%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "ros-humble-rosidl-generator-c%apt"[color=blue];  // Depends
  "ros-humble-laser-geometry%apt" -> "ros-humble-sensor-msgs-py%apt"[color=blue];  // Depends
  "ros-humble-rclpy%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-include-directories%apt"[color=blue];  // Depends
  "ros-humble-tf2-ros-py%apt" -> "ros-humble-std-msgs%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-export-definitions%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3-importlib-metadata%apt"[color=blue];  // Depends
  "ros-humble-rviz-default-plugins%apt" -> "ros-humble-tf2-ros%apt"[color=blue];  // Depends
  "ros-humble-map-msgs%apt" -> "ros-humble-sensor-msgs%apt"[color=blue];  // Depends
  "python3-importlib-metadata%apt" -> "python3:any%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-py%apt" -> "ros-humble-rosidl-typesupport-c%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-pytest%apt" -> "ros-humble-ament-cmake-core%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake-target-dependencies%apt" -> "ros-humble-ament-cmake-include-directories%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-export-interfaces%apt"[color=blue];  // Depends
  "python3-pytest%apt" -> "python3%apt"[color=blue];  // Depends
  "python3-packaging%apt" -> "python3-pyparsing%apt"[color=blue];  // Depends
  "ros-humble-ament-cmake%apt" -> "ros-humble-ament-cmake-target-dependencies%apt"[color=blue];  // Depends
  "ros-humble-rcl%apt" -> "ros-humble-rmw-implementation%apt"[color=blue];  // Depends
  "ros-humble-tf2-msgs%apt" -> "ros-humble-action-msgs%apt"[color=blue];  // Depends
  "ros-humble-rviz-common%apt" -> "ros-humble-rclcpp%apt"[color=blue];  // Depends
  "ros-humble-rclcpp%apt" -> "ros-humble-builtin-interfaces%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-rosidl-runtime-c%apt"[color=blue];  // Depends
  "ros-humble-rmw-fastrtps-cpp%apt" -> "ros-humble-ament-cmake%apt"[color=blue];  // Depends
  "ros-humble-tf2-geometry-msgs%apt" -> "ros-humble-tf2-ros%apt"[color=blue];  // Depends
  "ros-humble-map-msgs%apt" -> "ros-humble-rosidl-default-runtime%apt"[color=blue];  // Depends
  "ros-humble-rosidl-generator-cpp%apt" -> "ros-humble-rosidl-parser%apt"[color=blue];  // Depends

  "ros-humble-std-msgs%apt"[label="ros-humble-std-msgs"];  // apt
  "ros-humble-image-transport%apt"[label="ros-humble-image-transport"];  // apt
  "ros-humble-message-filters%apt"[label="ros-humble-message-filters"];  // apt
  "ros-humble-geometry-msgs%apt"[label="ros-humble-geometry-msgs"];  // apt
  "python3-lib2to3%apt"[label="python3-lib2to3"];  // apt
  "ros-humble-nav-msgs%apt"[label="ros-humble-nav-msgs"];  // apt
  "qtbase5-dev%apt"[label="qtbase5-dev"];  // apt
  "ros-humble-ament-cmake-python%apt"[label="ros-humble-ament-cmake-python"];  // apt
  "ros-humble-interactive-markers%apt"[label="ros-humble-interactive-markers"];  // apt
  "ros-humble-rosidl-generator-c%apt"[label="ros-humble-rosidl-generator-c"];  // apt
  "ros-humble-sensor-msgs%apt"[label="ros-humble-sensor-msgs"];  // apt
  "ros-humble-rviz-rendering%apt"[label="ros-humble-rviz-rendering"];  // apt
  "ros-humble-rcl-action%apt"[label="ros-humble-rcl-action"];  // apt
  "python3-iniconfig%apt"[label="python3-iniconfig"];  // apt
  "ros-humble-rosidl-typesupport-fastrtps-cpp%apt"[label="ros-humble-rosidl-typesupport-fastrtps-cpp"];  // apt
  "python3-dev%apt"[label="python3-dev"];  // apt
  "ros-humble-rmw-implementation-cmake%apt"[label="ros-humble-rmw-implementation-cmake"];  // apt
  "python3-distutils%apt"[label="python3-distutils"];  // apt
  "ros-humble-rviz-default-plugins%apt"[label="ros-humble-rviz-default-plugins"];  // apt
  "ros-humble-rcl-yaml-param-parser%apt"[label="ros-humble-rcl-yaml-param-parser"];  // apt
  "python3-attr%apt"[label="python3-attr"];  // apt
  "ros-humble-rosidl-parser%apt"[label="ros-humble-rosidl-parser"];  // apt
  "ros-humble-ament-cmake-test%apt"[label="ros-humble-ament-cmake-test"];  // apt
  "ros-humble-ament-cmake-export-interfaces%apt"[label="ros-humble-ament-cmake-export-interfaces"];  // apt
  "libvulkan-dev%apt"[label="libvulkan-dev"];  // apt
  "ros-humble-rmw-fastrtps-shared-cpp%apt"[label="ros-humble-rmw-fastrtps-shared-cpp"];  // apt
  "ros-humble-tf2-py%apt"[label="ros-humble-tf2-py"];  // apt
  "ros-humble-ament-cmake-export-definitions%apt"[label="ros-humble-ament-cmake-export-definitions"];  // apt
  "ros-humble-rosidl-adapter%apt"[label="ros-humble-rosidl-adapter"];  // apt
  "python3%apt"[label="python3"];  // apt
  "ros-humble-rosidl-cli%apt"[label="ros-humble-rosidl-cli"];  // apt
  "python3-docutils%apt"[label="python3-docutils"];  // apt
  "ros-humble-libstatistics-collector%apt"[label="ros-humble-libstatistics-collector"];  // apt
  "python3-pyparsing%apt"[label="python3-pyparsing"];  // apt
  "ros-humble-rmw-cyclonedds-cpp%apt"[label="ros-humble-rmw-cyclonedds-cpp"];  // apt
  "ros-humble-visualization-msgs%apt"[label="ros-humble-visualization-msgs"];  // apt
  "ros-humble-ament-cmake-include-directories%apt"[label="ros-humble-ament-cmake-include-directories"];  // apt
  "ros-humble-rosidl-runtime-cpp%apt"[label="ros-humble-rosidl-runtime-cpp"];  // apt
  "ros-humble-rviz-common%apt"[label="ros-humble-rviz-common"];  // apt
  "ros-humble-ament-package%apt"[label="ros-humble-ament-package"];  // apt
  "ros-humble-ament-cmake-export-libraries%apt"[label="ros-humble-ament-cmake-export-libraries"];  // apt
  "ros-humble-ament-cmake-version%apt"[label="ros-humble-ament-cmake-version"];  // apt
  "ros-humble-rclpy%apt"[label="ros-humble-rclpy"];  // apt
  "ros-humble-rcl-interfaces%apt"[label="ros-humble-rcl-interfaces"];  // apt
  "ros-humble-rosidl-typesupport-fastrtps-c%apt"[label="ros-humble-rosidl-typesupport-fastrtps-c"];  // apt
  "ros-humble-rosgraph-msgs%apt"[label="ros-humble-rosgraph-msgs"];  // apt
  "ros-humble-tf2%apt"[label="ros-humble-tf2"];  // apt
  "python3-argcomplete%apt"[label="python3-argcomplete"];  // apt
  "ros-humble-rmw-connextdds-common%apt"[label="ros-humble-rmw-connextdds-common"];  // apt
  "ros-humble-rosidl-cmake%apt"[label="ros-humble-rosidl-cmake"];  // apt
  "ros-humble-rosidl-typesupport-c%apt"[label="ros-humble-rosidl-typesupport-c"];  // apt
  "ros-humble-ament-cmake-export-dependencies%apt"[label="ros-humble-ament-cmake-export-dependencies"];  // apt
  "ros-humble-ament-cmake-export-include-directories%apt"[label="ros-humble-ament-cmake-export-include-directories"];  // apt
  "ros-humble-ament-cmake-gmock%apt"[label="ros-humble-ament-cmake-gmock"];  // apt
  "python3-lark%apt"[label="python3-lark"];  // apt
  "python3-zipp%apt"[label="python3-zipp"];  // apt
  "ros-humble-builtin-interfaces%apt"[label="ros-humble-builtin-interfaces"];  // apt
  "python3-six%apt"[label="python3-six"];  // apt
  "ros-humble-action-msgs%apt"[label="ros-humble-action-msgs"];  // apt
  "python3-setuptools%apt"[label="python3-setuptools"];  // apt
  "ros-humble-rclcpp%apt"[label="ros-humble-rclcpp"];  // apt
  "ros-humble-composition-interfaces%apt"[label="ros-humble-composition-interfaces"];  // apt
  "ros-humble-rosidl-default-runtime%apt"[label="ros-humble-rosidl-default-runtime"];  // apt
  "ros-humble-rosidl-typesupport-introspection-c%apt"[label="ros-humble-rosidl-typesupport-introspection-c"];  // apt
  "python3-toml%apt"[label="python3-toml"];  // apt
  "ros-humble-ament-cmake-libraries%apt"[label="ros-humble-ament-cmake-libraries"];  // apt
  "ros-humble-ament-cmake%apt"[label="ros-humble-ament-cmake"];  // apt
  "python3-roman%apt"[label="python3-roman"];  // apt
  "ros-humble-rcl%apt"[label="ros-humble-rcl"];  // apt
  "ros-humble-rmw-implementation%apt"[label="ros-humble-rmw-implementation"];  // apt
  "ros-humble-lifecycle-msgs%apt"[label="ros-humble-lifecycle-msgs"];  // apt
  "python3-importlib-metadata%apt"[label="python3-importlib-metadata"];  // apt
  "ros-humble-rclcpp-components%apt"[label="ros-humble-rclcpp-components"];  // apt
  "python3-pkg-resources%apt"[label="python3-pkg-resources"];  // apt
  "ros-humble-rosidl-runtime-c%apt"[label="ros-humble-rosidl-runtime-c"];  // apt
  "ros-humble-map-msgs%apt"[label="ros-humble-map-msgs"];  // apt
  "ros-humble-rmw-connextdds%apt"[label="ros-humble-rmw-connextdds"];  // apt
  "ros-humble-ament-cmake-core%apt"[label="ros-humble-ament-cmake-core"];  // apt
  "python3-packaging%apt"[label="python3-packaging"];  // apt
  "python3-py%apt"[label="python3-py"];  // apt
  "ros-humble-ament-cmake-export-link-flags%apt"[label="ros-humble-ament-cmake-export-link-flags"];  // apt
  "ros-humble-statistics-msgs%apt"[label="ros-humble-statistics-msgs"];  // apt
  "ros-humble-ament-cmake-ros%apt"[label="ros-humble-ament-cmake-ros"];  // apt
  "ros-humble-rosidl-generator-cpp%apt"[label="ros-humble-rosidl-generator-cpp"];  // apt
  "ros-humble-rosidl-typesupport-introspection-cpp%apt"[label="ros-humble-rosidl-typesupport-introspection-cpp"];  // apt
  "ros-humble-rmw%apt"[label="ros-humble-rmw"];  // apt
  "python3-empy%apt"[label="python3-empy"];  // apt
  "ros-humble-sensor-msgs-py%apt"[label="ros-humble-sensor-msgs-py"];  // apt
  "ros-humble-rosidl-typesupport-cpp%apt"[label="ros-humble-rosidl-typesupport-cpp"];  // apt
  "python3-pluggy%apt"[label="python3-pluggy"];  // apt
  "ros-humble-ament-cmake-pytest%apt"[label="ros-humble-ament-cmake-pytest"];  // apt
  "ros-humble-tf2-ros%apt"[label="ros-humble-tf2-ros"];  // apt
  "python3:any%apt"[label="python3:any"];  // apt
  "ros-humble-tf2-ros-py%apt"[label="ros-humble-tf2-ros-py"];  // apt
  "ros-humble-unique-identifier-msgs%apt"[label="ros-humble-unique-identifier-msgs"];  // apt
  "ros-humble-rmw-dds-common%apt"[label="ros-humble-rmw-dds-common"];  // apt
  "python3-pytest%apt"[label="python3-pytest"];  // apt
  "python3-dateutil%apt"[label="python3-dateutil"];  // apt
  "ros-humble-ament-cmake-gtest%apt"[label="ros-humble-ament-cmake-gtest"];  // apt
  "python3-catkin-pkg-modules%apt"[label="python3-catkin-pkg-modules"];  // apt
  "ros-humble-python-cmake-module%apt"[label="ros-humble-python-cmake-module"];  // apt
  "ros-humble-ament-cmake-gen-version-h%apt"[label="ros-humble-ament-cmake-gen-version-h"];  // apt
  "ros-humble-ament-cmake-target-dependencies%apt"[label="ros-humble-ament-cmake-target-dependencies"];  // apt
  "ros-humble-rti-connext-dds-cmake-module%apt"[label="ros-humble-rti-connext-dds-cmake-module"];  // apt
  "ros-humble-rmw-fastrtps-cpp%apt"[label="ros-humble-rmw-fastrtps-cpp"];  // apt
  "ros-humble-rosidl-generator-py%apt"[label="ros-humble-rosidl-generator-py"];  // apt
  "ros-humble-rclcpp-action%apt"[label="ros-humble-rclcpp-action"];  // apt
  "python3-more-itertools%apt"[label="python3-more-itertools"];  // apt
  "ros-humble-tf2-geometry-msgs%apt"[label="ros-humble-tf2-geometry-msgs"];  // apt
  "ros-humble-laser-geometry%apt"[label="ros-humble-laser-geometry"];  // apt
  "python3-numpy%apt"[label="python3-numpy"];  // apt
  "ros-humble-rviz2%apt"[label="ros-humble-rviz2"];  // apt
  "ros-humble-tf2-msgs%apt"[label="ros-humble-tf2-msgs"];  // apt
  "ros-humble-rcl-lifecycle%apt"[label="ros-humble-rcl-lifecycle"];  // apt
  "ros-humble-ament-cmake-export-targets%apt"[label="ros-humble-ament-cmake-export-targets"];  // apt
}

@sloretz
Copy link
Contributor Author

sloretz commented Aug 29, 2022

CI (build: --packages-up-to rviz2 test: --packages-select rviz2)

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@sloretz
Copy link
Contributor Author

sloretz commented Aug 30, 2022

CI's pyyaml version must be different than mine locally. Latest commit uses safe_load to be compatible with more versions.

CI re-run

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@hellantos
Copy link

A reason for having it here is, that it is easy to find. Having it in another report means you have to know it exists.

@sloretz
Copy link
Contributor Author

sloretz commented Aug 30, 2022

CI re-run now that ros2/rclcpp#2009 has merged

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@sloretz
Copy link
Contributor Author

sloretz commented Aug 30, 2022

CI re-run with fix for windows line endings in test

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@sloretz
Copy link
Contributor Author

sloretz commented Aug 31, 2022

@jacobperron I made two commits to make CI green. Would you be willing to review them?

@sloretz sloretz merged commit dec5e8f into rolling Sep 1, 2022
@delete-merged-branch delete-merged-branch bot deleted the sloretz__rviz1_conversion_script branch September 1, 2022 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants