diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/.pages b/docs/how-to-guides/integrating-autoware/launch-autoware/.pages index f3708e7a449..c9af5146eb4 100644 --- a/docs/how-to-guides/integrating-autoware/launch-autoware/.pages +++ b/docs/how-to-guides/integrating-autoware/launch-autoware/.pages @@ -1,4 +1,4 @@ nav: - index.md - Localization methods: localization-methods - - Perception mode: perception.md + - Perception Launch: perception diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/index.md b/docs/how-to-guides/integrating-autoware/launch-autoware/index.md index 59a177765c1..fe2a38e1365 100644 --- a/docs/how-to-guides/integrating-autoware/launch-autoware/index.md +++ b/docs/how-to-guides/integrating-autoware/launch-autoware/index.md @@ -131,6 +131,20 @@ you will need to update these map file name arguments: ### Perception +You can define your `autoware_data` path here. +Autoware gets yabloc_pose_initializer, +image_projection_based_fusion, +lidar_apollo_instance_segmentation etc. models file with `autoware_data` path. +If you use ansible for autoware installation, +the necessary artifacts will be downloaded at `autoware_data` folder on your `$HOME` directory. +If you want to download artifacts manually, +please check ansible [`artifacts`](https://github.com/autowarefoundation/autoware/tree/main/ansible/roles/artifacts) page for information. + +```diff +- ++ +``` + Also, you can change your perception method here. The Autoware provides `camera-lidar-radar fusion`, `camera-lidar fusion`, `lidar-radar fusion`, `lidar only` and `radar only` perception modes. diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/perception.md b/docs/how-to-guides/integrating-autoware/launch-autoware/perception.md deleted file mode 100644 index 708715e6b43..00000000000 --- a/docs/how-to-guides/integrating-autoware/launch-autoware/perception.md +++ /dev/null @@ -1,33 +0,0 @@ -# Perception mode - -!!! warning - - Under Construction - -By specifying the `perception_mode`, users can switch between different sensor configurations for perception. -This allows you to choose the specific sensor setup that you want to use for the perception tasks. - -```bash -ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \ - perception_mode:=lidar -``` - -## LiDAR - -`perception_mode:=lidar` - -## Radar - -`perception_mode:=radar` - -## Camera LiDAR fusion - -`perception_mode:=camera_lidar_fusion` - -## Camera LiDAR Radar fusion - -`perception_mode:=camera_lidar_radar_fusion` - -## LiDAR Radar fusion - -`perception_mode:=lidar_radar_fusion` diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/perception/images/perception_launch_flow.svg b/docs/how-to-guides/integrating-autoware/launch-autoware/perception/images/perception_launch_flow.svg new file mode 100644 index 00000000000..ad789f19d42 --- /dev/null +++ b/docs/how-to-guides/integrating-autoware/launch-autoware/perception/images/perception_launch_flow.svg @@ -0,0 +1,4 @@ + + + +
file: perception.launch.xml
file: perception.launch.xml
package: tier4_perception_launch

package: tier4_perception_launch
file: autoware.launch.xml
file: autoware.launch.xml
package: autoware_launch
package: autoware_launch
file: tier4_perception_component.launch.xml
file: tier4_perception_component.lau...
package: autoware_launch
package: autoware_launch
file: probabilistic_occupancy_grid_map.launch.xml
file: probabilistic_occupancy_grid_map.la...
package: tier4_perception_launch
package: tier4_perception_launch
file: detection.launch.xml
file: detection.launch.xml
package: tier4_perception_launch
package: tier4_perception_launch
file: tracking.launch.xml
file: tracking.launch.xml
package: tier4_perception_launch
package: tier4_perception_launch
file: ground_segmentation.launch.py
file: ground_segmentation.launch.py
package: tier4_perception_launch
package: tier4_perception_launch
file: prediction.launch.xml
file: prediction.launch.xml
package: tier4_perception_launch
package: tier4_perception_launch
file: traffic_light.launch.xml
file: traffic_light.launch.xml
package: tier4_perception_launch
package: tier4_perception_launch
No
No
use_empty_dynamic_object_publisher
use_empty_dynamic_object_publisher
Yes
Yes
node: dummy_perception_publisher
node: dummy_perception_publisher
package: dummy_perception_publisher
package: dummy_perception_publisher
use_traffic_light_recognition
use_traffic_light_recognition
Yes
Yes
file: camera_lidar_fusion_based
.launch.xml
file: camera_lidar_fusion_based...
package: tier4_perception_launch
package: tier4_perception_launch
file: camera_lidar_radar_fusion_
based.launch.xml
file: camera_lidar_radar_fusion_...
package: tier4_perception_launch
package: tier4_perception_launch
file: lidar_based_detection.launch.xml
file: lidar_based_detection.launch.x...
package: tier4_perception_launch
package: tier4_perception_launch
file: lidar_radar_based_detection
.launch.xml
file: lidar_radar_based_detection...
package: tier4_perception_launch
package: tier4_perception_launch
file: radar_based_detection.launch.xml
file: radar_based_detection.launch.x...
package: tier4_perception_launch
package: tier4_perception_launch
perception_mode
perception_mode
Radar based
Radar based
Lidar-radar based
Lidar-radar...
Lidar based
Lidar based
Camera-lidar fusion based
Camera-lidar f...
Camera-lidar-radar fusion based
Camera-lidar-radar...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/perception/index.md b/docs/how-to-guides/integrating-autoware/launch-autoware/perception/index.md new file mode 100644 index 00000000000..d0944f9e928 --- /dev/null +++ b/docs/how-to-guides/integrating-autoware/launch-autoware/perception/index.md @@ -0,0 +1,112 @@ +# Perception Launch Files + +## Overview + +The Autoware perception stacks start +launching at `autoware_launch.xml` as we mentioned at [Launch Autoware](../index.md) page. +The `autoware_launch` package includes `tier4_perception_component.launch.xml` +for starting perception launch files invocation from `autoware_launch.xml`. +This diagram describes some of the Autoware perception launch files flow at `autoware_launch` and `autoware.universe` packages. + +
+ ![perception-launch-flow](images/perception_launch_flow.svg){ align=center } +
+ Autoware perception launch flow diagram +
+
+ +The Autoware project is large. Therefore, as we manage the Autoware project, we utilize specific +arguments in the launch files. ROS 2 offers an argument-overriding feature for these launch files. +Please refer to [the official ROS 2 launch documentation](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Using-ROS2-Launch-For-Large-Projects.html#parameter-overrides) for further information. For instance, +if we define an argument at the top-level launch, it will override the value on lower-level launches. + +## tier4_perception_component.launch.xml + +The `tier4_perception_component.launch.xml` launch file is the main perception component launch at the `autoware_launch` package. +This launch file calls `perception.launch.xml` at [tier4_perception_launch](https://github.com/autowarefoundation/autoware.universe/tree/main/launch/tier4_perception_launch) package from `autoware.universe` repository. +We can modify perception launch arguments at tier4_perception_component.launch.xml. +Also, +we can add any other necessary arguments +that we want +to change it since `tier4_perception_component.launch.xml` is the top-level launch file of other perception launch files. +Here are some predefined perception launch arguments: + +- **occupancy_grid_map_method:** This parameter determines the occupancy grid map method for perception stack. Please check [probabilistic_occupancy_grid_map](https://autowarefoundation.github.io/autoware.universe/main/perception/probabilistic_occupancy_grid_map/) package for detailed information. + The default probabilistic occupancy grid map method is `pointcloud_based_occupancy_grid_map`. + If you want to change it to the `laserscan_based_occupancy_grid_map`, you can change it here: + + ```diff + - + + + ``` + +- **detected_objects_filter_method:** This parameter determines the filter method for detected objects. + Please check [detected_object_validation](https://autowarefoundation.github.io/autoware.universe/main/perception/detected_object_validation/) package for detailed information about lanelet and position filter. + The default detected object filter method is `lanelet_filter`. + If you want to change it to the `position_filter`, you can change it here: + + ```diff + - + + + ``` + +- **detected_objects_validation_method:** This parameter determines the validation method for detected objects. + Please check [detected_object_validation](https://autowarefoundation.github.io/autoware.universe/main/perception/detected_object_validation/) package for detailed information about validation methods. + The default detected object filter method is `obstacle_pointcloud`. + If you want to change it to the `occupancy_grid`, you can change it here, + but remember it requires `laserscan_based_occupancy_grid_map` method as `occupancy_grid_map_method`: + + ```diff + - + + + + ``` + +The predefined `tier4_perception_component.launch.xml` arguments explained above, +but there is the lot of perception arguments +included in `perception.launch.xml` at [tier4_perception_launch](https://github.com/autowarefoundation/autoware.universe/tree/main/launch/tier4_perception_launch). +Since we didn't fork `autoware.universe` repository, +we can add the necessary launch argument to tier4_perception_component.launch.xml file. +Please follow the guidelines for some examples. + +## perception.launch.xml + +The `perception.launch.xml` launch file is the main perception launch at the `autoware.universe`. +This launch file calls necessary perception launch files +as we mentioned [`Autoware perception launch flow diagram`](#overview) above. +The top-level launch file of `perception.launch.xml` is `tier4_perception_component.launch.xml`, +so if we want to change anything on `perception.launch.xml`, +we will apply these changes `tier4_perception_component.launch.xml` instead of `perception.launch.xml`. + +Here are some example changes for the perception pipeline: + +- **remove_unknown:** This parameter determines the remove unknown objects at camera-lidar fusion. + Please check [roi_cluster_fusion](https://github.com/autowarefoundation/autoware.universe/blob/main/perception/image_projection_based_fusion/docs/roi-cluster-fusion.md) node for detailed information. + The default value is `true`. + If you want to change it to the `false`, + you can add this argument to `tier4_perception_component.launch.xml`, + so it will override the `perception.launch.xml`'s `argument`: + + ```diff + - + + + ``` + +- **camera topics:** If you are using camera-lidar fusion or camera-lidar-radar fusion as a perception_mode, + you can add your camera and info topics on `tier4_perception_component.launch.xml` as well, + it will override the `perception.launch.xml` launch file arguments: + + ```diff + + + + + + + ... + ``` + +You can add every necessary argument +to `tier4_perception_component.launch.xml` launch file like these examples.