Closed kaspermeck-arm closed 2 years ago
FYI, here is the node configuration diagram of TIER IV's proposal created by @TakaHoribe. https://tier4.github.io/autoware-documentation/latest/design/node-diagram/#autoware-universe
Since it's just a proposal from TIER IV yet, we currently put it in our fork.
FYI, here is the node configuration diagram of TIER IV's proposal created by @TakaHoribe. https://tier4.github.io/autoware-documentation/latest/design/node-diagram/#autoware-universe
@mitsudome-r @xmfcx Last week we confirmed that perception was the first component that we wanted to get information about, so is the diagram above an accurate representation of the ROS nodes required for perception?
Also, does the diagram show all of the inputs/outputs for each node, or is just an overview?
Here's the list of packages dependency of perception modules:
And here is the list of the packages in the graph:
autoware_auto_geometry_msgs
autoware_auto_mapping_msgs
autoware_auto_perception_msgs
autoware_auto_planning_msgs
autoware_auto_vehicle_msgs
autoware_cmake
autoware_lint_common
autoware_point_types
compare_map_segmentation
detected_object_feature_remover
detected_object_validation
detection_by_tracker
euclidean_cluster
grid_map_cmake_helpers
grid_map_core
grid_map_cv
grid_map_msgs
grid_map_pcl
grid_map_ros
ground_segmentation
image_projection_based_fusion
image_transport_decompressor
interpolation
kalman_filter
lanelet2_extension
lidar_apollo_instance_segmentation
map_based_prediction
multi_object_tracker
mussp
object_merger
object_range_splitter
occupancy_grid_map_outlier_filter
pointcloud_preprocessor
pointcloud_to_laserscan
shape_estimation
tensorrt_yolo
tier4_autoware_utils
tier4_debug_msgs
tier4_pcl_extensions
tier4_perception_launch
tier4_perception_msgs
traffic_light_classifier
traffic_light_map_based_detector
traffic_light_ssd_fine_detector
traffic_light_visualization
vehicle_info_util
@mitsudome-r could you share the command you used to create this graph too?
Here's the list of packages dependency of perception modules:
@mitsudome-r I think these are dependencies of planning stack, not perception.
@xmfcx Thanks, I posted the wrong image. I've modified the image with the correct one. The list should be the ones from perception stack.
Here's the command that I used.
colcon graph --dot --packages-up-to tier4_perception_launch | dot -Tpng -o graph.png
colcon list --packages-up-to tier4_perception_launch
FYI: I had to modify package.xml in tier4_perception_launch to create correct dependency graph. https://github.com/autowarefoundation/autoware.universe/pull/1024
@mitsudome-r Is there some way to see which topics ROS nodes publish and subscribe to?
You can just run the launch file and check it with rqt_graph.
e.g.,
ros2 launch tier4_perception_launch perception.launch.xml mode:=lidar
ros2 run rqt_graph rqt_graph
@kasperornmeck Since the necessary commands have been provided, could you write up this information and submit a PR to the autoware-documentation repository?
The "How to guides" section covers more advanced topics and so this would be the best place to write up a guide on how to list all the required packages and dependencies for a specific stack.
PR created to add the information in this issue to Autoware documentation: https://github.com/autowarefoundation/autoware-documentation/pull/162
Checklist
Description
List all ROS nodes in Autoware.Universe with the following information
Purpose
For Autoware to be deployed as a microservices architecture, the
of each ROS package/node needs to made available for users of Autoware. This is necessary to create a container image which satisfies the runtime dependencies.
Possible approaches
Ideas:
colcon graph
to Autoware documentationDefinition of done
colcon graph
, along with a small example of the expected output has been added to Autoware documentation