autowarefoundation / autoware-projects

This repository is made to keep track of Non-source code related tasks for AWF projects
8 stars 0 forks source link

Document Autoware Universe ROS nodes for the Perception stack #34

Closed kaspermeck-arm closed 2 years ago

kaspermeck-arm commented 2 years ago

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:

Definition of done

kenji-miyake commented 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.

ghost commented 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

@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?

mitsudome-r commented 2 years ago

Here's the list of packages dependency of perception modules: graph

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
xmfcx commented 2 years ago

@mitsudome-r could you share the command you used to create this graph too?

xmfcx commented 2 years ago

Here's the list of packages dependency of perception modules:

@mitsudome-r I think these are dependencies of planning stack, not perception.

mitsudome-r commented 2 years ago

@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.

mitsudome-r commented 2 years ago

FYI: I had to modify package.xml in tier4_perception_launch to create correct dependency graph. https://github.com/autowarefoundation/autoware.universe/pull/1024

kaspermeck-arm commented 2 years ago

@mitsudome-r Is there some way to see which topics ROS nodes publish and subscribe to?

mitsudome-r commented 2 years ago

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

ghost commented 2 years ago

@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.

ghost commented 2 years ago

PR created to add the information in this issue to Autoware documentation: https://github.com/autowarefoundation/autoware-documentation/pull/162