Skip to content

Commit ddd3f8b

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

File tree

10 files changed

+115
-79
lines changed

10 files changed

+115
-79
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
nav:
22
- index.md
3-
- Localization methods: localization-methods
3+
- Launch localization: localization
44
- Launch perception: perception

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

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

docs/how-to-guides/integrating-autoware/launch-autoware/localization-methods/.pages

-3
This file was deleted.

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

-65
This file was deleted.

docs/how-to-guides/integrating-autoware/launch-autoware/localization/images/localization_launch_flow.svg

+4
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Localization methods
2+
3+
## Overview
4+
5+
The Autoware localization stacks start
6+
launching at `autoware_launch.xml` as we mentioned at [Launch Autoware](../index.md) page.
7+
The `autoware_launch` package includes `tier4_localization_component.launch.xml`
8+
for starting localization launch files invocation from `autoware_launch.xml`.
9+
This diagram describes some of the Autoware localization launch files flow at `autoware_launch` and `autoware.universe` packages.
10+
11+
<figure markdown>
12+
![localization-launch-flow](images/localization_launch_flow.svg){ align=center }
13+
<figcaption>
14+
Autoware localization launch flow diagram
15+
</figcaption>
16+
</figure>
17+
18+
The Autoware project is a large project.
19+
Therefore, as we manage the Autoware project, we utilize specific
20+
arguments in the launch files.
21+
ROS 2 offers an argument-overriding feature for these launch files.
22+
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.
23+
For instance,
24+
if we define an argument at the top-level launch,
25+
it will override the value on lower-level launches.
26+
27+
## tier4_localization_component.launch.xml
28+
29+
The `tier4_localization_component.launch.xml` launch file is the main localization component launch at the `autoware_launch` package.
30+
This launch file calls `localization.launch.xml` at [tier4_localization_launch](https://github.com/autowarefoundation/autoware.universe/tree/main/launch/tier4_localization_launch) package from `autoware.universe` repository.
31+
We can modify perception launch arguments at tier4_perception_component.launch.xml.
32+
33+
The current localization launcher implemented by TIER IV supports multiple localization methods, both pose estimators and twist estimators.
34+
`tier4_localization_component.launch.xml` has two arguments to select which estimators to launch:
35+
36+
- **`pose_source:`** This argument specifies the pose_estimator, currently supporting `ndt` (default), `yabloc`, `artag` and `eagleye` for localization.
37+
By default, Autoware launches [ndt_scan_matcher](https://github.com/autowarefoundation/autoware.universe/tree/main/localization/ndt_scan_matcher) for pose estimator.
38+
You can use YabLoc as a camera-based localization method.
39+
For more details on YabLoc,
40+
please refer to the [README of YabLoc](https://github.com/autowarefoundation/autoware.universe/blob/main/localization/yabloc/README.md) in autoware.universe.
41+
Also, you can use Eagleye as a GNSS & IMU & wheel odometry-based localization method. For more details on Eagleye, please refer to the [Eagleye](./eagleye).
42+
43+
You can set `pose_source` argument on `tier4_localization_component.launch.xml`,
44+
for example, if you want to use eagleye as pose_source,
45+
you need to update `tier4_localization_component.launch.xml` like:
46+
47+
```diff
48+
- <arg name="pose_source" default="ndt" description="select pose_estimator: ndt, yabloc, eagleye"/>
49+
+ <arg name="pose_source" default="eagleye" description="select pose_estimator: ndt, yabloc, eagleye"/>
50+
```
51+
52+
Also, you can use command-line for overriding launch arguments:
53+
54+
```bash
55+
ros2 launch autoware_launch autoware.launch.xml ... pose_source:=eagleye
56+
```
57+
58+
- **`twist_source:`** This argument specifies the twist_estimator, currently supporting `gyro_odom` (default), and `eagleye`.
59+
By default,
60+
Autoware launches [gyro_odometer](https://github.com/autowarefoundation/autoware.universe/tree/main/localization/gyro_odometer) for twist estimator.
61+
Also, you can use eagleye for the twist source, please refer to the [Eagleye](./eagleye).
62+
If you want to change your twist source to eagleye, you can update `tier4_localization_component.launch.xml` like:
63+
64+
```diff
65+
- <arg name="twist_source" default="gyro_odom" description="select twist_estimator. gyro_odom, eagleye"/>
66+
+ <arg name="twist_source" default="eagleye" description="select twist_estimator. gyro_odom, eagleye"/>
67+
```
68+
69+
Or you can use command-line for overriding launch arguments:
70+
71+
```bash
72+
ros2 launch autoware_launch autoware.launch.xml ... twist_source:=eagleye
73+
```
74+
75+
- **`input_pointcloud:`** This argument specifies the input pointcloud of the localization pointcloud pipeline. The default value is
76+
`/sensing/lidar/top/outlier_filtered/pointcloud` which
77+
is output of the [pointcloud pre-processing](https://autowarefoundation.github.io/autoware.universe/main/sensing/pointcloud_preprocessor/) pipeline from sensing.
78+
You can change this value according to your LiDAR topic name,
79+
or you can choose to use concatenated point cloud:
80+
81+
```diff
82+
- <arg name="input_pointcloud" default="/sensing/lidar/top/outlier_filtered/pointcloud" description="The topic will be used in the localization util module"/>
83+
+ <arg name="input_pointcloud" default="/sensing/lidar/concatenated/pointcloud"/>
84+
```
85+
86+
You can add every necessary argument
87+
to `tier4_localization_component.launch.xml` launch file like these examples.
88+
In case, if you want to change your gyro odometer twist input topic,
89+
you can add this argument on `tier4_localization_component.launch.xml` launch file:
90+
91+
```diff
92+
+ <arg name="input_vehicle_twist_with_covariance_topic" value="<YOUR-VEHICLE-TWIST-TOPIC-NAME>"/>
93+
```
94+
95+
**Note:** Gyro odometer input topic provided from velocity converter package. This package will be launched at sensor_kit. For more information,
96+
please check [velocity converter package](https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/vehicle_velocity_converter).

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

+13-9
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@ This diagram describes some of the Autoware perception launch files flow at `aut
1515
</figcaption>
1616
</figure>
1717

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.
18+
The Autoware project is a large project.
19+
Therefore, as we manage the Autoware project, we utilize specific
20+
arguments in the launch files.
21+
ROS 2 offers an argument-overriding feature for these launch files.
22+
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.
23+
For instance,
24+
if we define an argument at the top-level launch,
25+
it will override the value on lower-level launches.
2226

2327
## tier4_perception_component.launch.xml
2428

@@ -31,7 +35,7 @@ that we want
3135
to change it since `tier4_perception_component.launch.xml` is the top-level launch file of other perception launch files.
3236
Here are some predefined perception launch arguments:
3337

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.
38+
- **`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.
3539
The default probabilistic occupancy grid map method is `pointcloud_based_occupancy_grid_map`.
3640
If you want to change it to the `laserscan_based_occupancy_grid_map`, you can change it here:
3741

@@ -40,7 +44,7 @@ Here are some predefined perception launch arguments:
4044
+ <arg name="occupancy_grid_map_method" default="laserscan_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
4145
```
4246

43-
- **detected_objects_filter_method:** This parameter determines the filter method for detected objects.
47+
- **`detected_objects_filter_method:`** This parameter determines the filter method for detected objects.
4448
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.
4549
The default detected object filter method is `lanelet_filter`.
4650
If you want to change it to the `position_filter`, you can change it here:
@@ -50,7 +54,7 @@ Here are some predefined perception launch arguments:
5054
+ <arg name="detected_objects_filter_method" default="position_filter" description="options: lanelet_filter, position_filter"/>
5155
```
5256

53-
- **detected_objects_validation_method:** This parameter determines the validation method for detected objects.
57+
- **`detected_objects_validation_method:`** This parameter determines the validation method for detected objects.
5458
Please check [detected_object_validation](https://autowarefoundation.github.io/autoware.universe/main/perception/detected_object_validation/) package for detailed information about validation methods.
5559
The default detected object filter method is `obstacle_pointcloud`.
5660
If you want to change it to the `occupancy_grid`, you can change it here,
@@ -85,7 +89,7 @@ we will apply these changes `tier4_perception_component.launch.xml` instead of `
8589

8690
Here are some example changes for the perception pipeline:
8791

88-
- **remove_unknown:** This parameter determines the remove unknown objects at camera-lidar fusion.
92+
- **`remove_unknown:`** This parameter determines the remove unknown objects at camera-lidar fusion.
8993
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.
9094
The default value is `true`.
9195
If you want to change it to the `false`,
@@ -96,7 +100,7 @@ Here are some example changes for the perception pipeline:
96100
+ <arg name="remove_unknown" default="false"/>
97101
```
98102

99-
- **camera topics:** If you are using camera-lidar fusion or camera-lidar-radar fusion as a perception_mode,
103+
- **`camera topics:`** If you are using camera-lidar fusion or camera-lidar-radar fusion as a perception_mode,
100104
you can add your camera and info topics on `tier4_perception_component.launch.xml` as well,
101105
it will override the `perception.launch.xml` launch file arguments:
102106

0 commit comments

Comments
 (0)