Skip to content

Commit 4b7d39d

Browse files
committed
add launch perception page
Signed-off-by: ismetatabay <[email protected]>
1 parent 3da39fd commit 4b7d39d

File tree

5 files changed

+133
-35
lines changed

5 files changed

+133
-35
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
nav:
22
- index.md
33
- Localization methods: localization-methods
4-
- Perception mode: perception.md
4+
- Launch perception: perception

docs/how-to-guides/integrating-autoware/launch-autoware/index.md

+17-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ We will explain how to run and launch autoware with these modules:
88
- Map
99
- Sensing
1010
- Localization
11-
- Perception
11+
- [Perception](./perception)
1212
- Planning
1313
- Control
1414

@@ -131,6 +131,20 @@ you will need to update these map file name arguments:
131131

132132
### Perception
133133

134+
You can define your `autoware_data` path here.
135+
Autoware gets yabloc_pose_initializer,
136+
image_projection_based_fusion,
137+
lidar_apollo_instance_segmentation etc. models file with `autoware_data` path.
138+
If you use ansible for autoware installation,
139+
the necessary artifacts will be downloaded at `autoware_data` folder on your `$HOME` directory.
140+
If you want to download artifacts manually,
141+
please check ansible [`artifacts`](https://github.com/autowarefoundation/autoware/tree/main/ansible/roles/artifacts) page for information.
142+
143+
```diff
144+
- <arg name="data_path" default="$(env HOME)/autoware_data" description="packages data and artifacts directory path"/>
145+
+ <arg name="data_path" default="<YOUR-AUTOWARE-DATA-PATH>" description="packages data and artifacts directory path"/>
146+
```
147+
134148
Also, you can change your perception method here.
135149
The Autoware provides `camera-lidar-radar fusion`,
136150
`camera-lidar fusion`, `lidar-radar fusion`, `lidar only` and `radar only` perception modes.
@@ -154,6 +168,8 @@ If you don't want to use traffic light classifier, then you can disable it:
154168
+ <arg name="traffic_light_recognition/enable_fine_detection" default="false" description="enable traffic light fine detection"/>
155169
```
156170

171+
Please look at [Launch perception](./perception) page for detailed information.
172+
157173
## Launch Autoware
158174

159175
Launch Autoware with the following command:

docs/how-to-guides/integrating-autoware/launch-autoware/perception.md

-33
This file was deleted.

docs/how-to-guides/integrating-autoware/launch-autoware/perception/images/perception_launch_flow.svg

+4
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Perception Launch Files
2+
3+
## Overview
4+
5+
The Autoware perception stacks start
6+
launching at `autoware_launch.xml` as we mentioned at [Launch Autoware](../index.md) page.
7+
The `autoware_launch` package includes `tier4_perception_component.launch.xml`
8+
for starting perception launch files invocation from `autoware_launch.xml`.
9+
This diagram describes some of the Autoware perception launch files flow at `autoware_launch` and `autoware.universe` packages.
10+
11+
<figure markdown>
12+
![perception-launch-flow](images/perception_launch_flow.svg){ align=center }
13+
<figcaption>
14+
Autoware perception launch flow diagram
15+
</figcaption>
16+
</figure>
17+
18+
The Autoware project is large. Therefore, as we manage the Autoware project, we utilize specific
19+
arguments in the launch files. ROS 2 offers an argument-overriding feature for these launch files.
20+
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,
21+
if we define an argument at the top-level launch, it will override the value on lower-level launches.
22+
23+
## tier4_perception_component.launch.xml
24+
25+
The `tier4_perception_component.launch.xml` launch file is the main perception component launch at the `autoware_launch` package.
26+
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.
27+
We can modify perception launch arguments at tier4_perception_component.launch.xml.
28+
Also,
29+
we can add any other necessary arguments
30+
that we want
31+
to change it since `tier4_perception_component.launch.xml` is the top-level launch file of other perception launch files.
32+
Here are some predefined perception launch arguments:
33+
34+
- **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.
35+
The default probabilistic occupancy grid map method is `pointcloud_based_occupancy_grid_map`.
36+
If you want to change it to the `laserscan_based_occupancy_grid_map`, you can change it here:
37+
38+
```diff
39+
- <arg name="occupancy_grid_map_method" default="pointcloud_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
40+
+ <arg name="occupancy_grid_map_method" default="laserscan_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
41+
```
42+
43+
- **detected_objects_filter_method:** This parameter determines the filter method for detected objects.
44+
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.
45+
The default detected object filter method is `lanelet_filter`.
46+
If you want to change it to the `position_filter`, you can change it here:
47+
48+
```diff
49+
- <arg name="detected_objects_filter_method" default="lanelet_filter" description="options: lanelet_filter, position_filter"/>
50+
+ <arg name="detected_objects_filter_method" default="position_filter" description="options: lanelet_filter, position_filter"/>
51+
```
52+
53+
- **detected_objects_validation_method:** This parameter determines the validation method for detected objects.
54+
Please check [detected_object_validation](https://autowarefoundation.github.io/autoware.universe/main/perception/detected_object_validation/) package for detailed information about validation methods.
55+
The default detected object filter method is `obstacle_pointcloud`.
56+
If you want to change it to the `occupancy_grid`, you can change it here,
57+
but remember it requires `laserscan_based_occupancy_grid_map` method as `occupancy_grid_map_method`:
58+
59+
```diff
60+
- <arg name="occupancy_grid_map_method" default="pointcloud_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
61+
+ <arg name="occupancy_grid_map_method" default="laserscan_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
62+
<arg
63+
name="detected_objects_validation_method"
64+
- default="obstacle_pointcloud"
65+
+ default="occupancy_grid"
66+
description="options: obstacle_pointcloud, occupancy_grid (occupancy_grid_map_method must be laserscan_based_occupancy_grid_map)"
67+
/>
68+
```
69+
70+
The predefined `tier4_perception_component.launch.xml` arguments explained above,
71+
but there is the lot of perception arguments
72+
included in `perception.launch.xml` at [tier4_perception_launch](https://github.com/autowarefoundation/autoware.universe/tree/main/launch/tier4_perception_launch).
73+
Since we didn't fork `autoware.universe` repository,
74+
we can add the necessary launch argument to tier4_perception_component.launch.xml file.
75+
Please follow the guidelines for some examples.
76+
77+
## perception.launch.xml
78+
79+
The `perception.launch.xml` launch file is the main perception launch at the `autoware.universe`.
80+
This launch file calls necessary perception launch files
81+
as we mentioned [`Autoware perception launch flow diagram`](#overview) above.
82+
The top-level launch file of `perception.launch.xml` is `tier4_perception_component.launch.xml`,
83+
so if we want to change anything on `perception.launch.xml`,
84+
we will apply these changes `tier4_perception_component.launch.xml` instead of `perception.launch.xml`.
85+
86+
Here are some example changes for the perception pipeline:
87+
88+
- **remove_unknown:** This parameter determines the remove unknown objects at camera-lidar fusion.
89+
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.
90+
The default value is `true`.
91+
If you want to change it to the `false`,
92+
you can add this argument to `tier4_perception_component.launch.xml`,
93+
so it will override the `perception.launch.xml`'s `argument`:
94+
95+
```diff
96+
+ <arg name="remove_unknown" default="false"/>
97+
```
98+
99+
- **camera topics:** If you are using camera-lidar fusion or camera-lidar-radar fusion as a perception_mode,
100+
you can add your camera and info topics on `tier4_perception_component.launch.xml` as well,
101+
it will override the `perception.launch.xml` launch file arguments:
102+
103+
```diff
104+
+ <arg name="image_raw0" default="/sensing/camera/camera0/image_rect_color" description="image raw topic name"/>
105+
+ <arg name="camera_info0" default="/sensing/camera/camera0/camera_info" description="camera info topic name"/>
106+
+ <arg name="detection_rois0" default="/perception/object_recognition/detection/rois0" description="detection rois output topic name"/>
107+
...
108+
```
109+
110+
You can add every necessary argument
111+
to `tier4_perception_component.launch.xml` launch file like these examples.

0 commit comments

Comments
 (0)