Localization methods#
Current localization launcher implemented by TIER IV supports multiple localization methods, both pose estimators and twist estimators.
tier4_localization_component.launch.xml
has two arguments to select which estimators to launch:
pose_source
: an argument to select pose_estimator, currently supportingndt
(default),yabloc
, andeagleye
twist_source
: an argument to select twist_estimator, currently supportinggyro_odom
(default), andeagleye
NDT scan matcher: a LiDAR and pointcloud map based pose estimator (default)#
By default, Autoware launches ndt_scan_matcher for pose estimator. In order to launch this explicitly, you need to specify as follows:
ros2 launch autoware_launch autoware.launch.xml ... pose_source:=ndt ...
Note that currently pose_source
is set to NDT as default, so you can skip this argument.
Gyro Odometer: an IMU & wheel odometry based twist estimator (default)#
By default, Autoware launches gyro_odometer for twist estimator. In order to launch this explicitly, you need to specify as follows:
ros2 launch autoware_launch autoware.launch.xml ... twist_source:=gyro_odom ...
Note that currently twist_source
is set to Gyro Odometer as default, so you can skip this argument.
YabLoc: a camera and vector map based pose estimator#
You can use YabLoc as a camera-based localization method. For more details on YabLoc, please refer to the README of YabLoc in autoware.universe.
To use YabLoc as a pose_estimator, add pose_source:=yabloc
when launching Autoware.
By default, the pose_source
is set to ndt
.
By specifying this command-line argument, YabLoc nodes will be automatically launched while the NDT nodes will not be started.
Here is an example of a launch command:
ros2 launch autoware_launch autoware.launch.xml ... pose_source:=yabloc ...
Eagleye: a GNSS & IMU & wheel odometry based pose and twist estimator#
You can use Eagleye as a GNSS & IMU & wheel odometry-based localization method. For more details on Eagleye, please refer to the Eagleye.
Eagleye has a function for position estimation and twist estimation, namely pose_estimator
and twist_estimator
, respectively.
When running Eagleye in twist_estimator mode with other pose_estimator such as ndt_scan_matcher, Eagleye is still helpful since it can improve scan matching by providing accurate twists using GNSS doppler.
You can use Eagleye by specifying the pose_source
and twist_source
accordingly through command-line arguments.
Example of using Eagleye as the pose twist estimator:
ros2 launch autoware_launch autoware.launch.xml ... pose_source:=eagleye twist_source:=eagleye ...
Example of using Eagleye as the twist estimator:
ros2 launch autoware_launch autoware.launch.xml ... twist_source:=eagleye ...