diff --git a/launch/map4_localization_launch/CMakeLists.txt b/launch/map4_localization_launch/CMakeLists.txt new file mode 100644 index 0000000000000..0fb53c57411b1 --- /dev/null +++ b/launch/map4_localization_launch/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.14) +project(map4_localization_launch) + +find_package(autoware_cmake REQUIRED) +autoware_package() + +ament_auto_package(INSTALL_TO_SHARE + eagleye_pose_twist_localization_launch + eagleye_twist_localization_launch +) diff --git a/launch/map4_localization_launch/README.md b/launch/map4_localization_launch/README.md new file mode 100644 index 0000000000000..76ad751dee235 --- /dev/null +++ b/launch/map4_localization_launch/README.md @@ -0,0 +1,44 @@ +# map4_localization_launch + +This localization launch package is a sample package to introduce eagleye into autoware. + +Eagleye provides a cost-effective alternative to LiDAR and point cloud-based localization by using low-cost GNSS and IMU sensors to provide vehicle position and orientation. + +Autoware users will be able to choose between their existing LiDAR and point cloud-based localization stacks or GNSS/IMU-based eagleye localizer, depending on their specific needs and operating environment. + +In addition to the LiDAR-based solution provided by `tier4_localization_launch` (shown in the first row of the following table), there are two ways to utilize eagleye in `map4_localization_launch` with the autoware localization stack. + +| localization launch  | twist estimator | pose estimator | +| --------------------------------------------------------------- | --------------------------------- | --------------------------------- | +| tier4_localization_launch | gyro_odometry  | ndt_scan_matcher | +| map4_localization_launch/eagleye_twist_localization_launch | eagleye_rt(gyro/odom/gnss fusion) | ndt_scan_matcher | +| map4_localization_launch/eagleye_pose_twist_localization_launch | eagleye_rt(gyro/odom/gnss fusion) | eagleye_rt(gyro/odom/gnss fusion) | + +## Structure + +- eagleye_twist_localization_launch + +![map4_localization_launch/eagleye_twist_localization_launch](./eagleye_twist_localization_launch/localization_launch.drawio.svg) + +- eagleye_pose_twist_localization_launch + +![map4_localization_launch/eagleye_pose_twist_localization_launch](./eagleye_pose_twist_localization_launch/localization_launch.drawio.svg) + +## Package Dependencies + +Please see `` in `package.xml`. + +## Usage + +Include `localization.launch.xml` in other launch files as follows. + +Note that you should provide parameter paths as `PACKAGE_param_path`. The list of parameter paths you should provide is written at the top of `localization.launch.xml`. + +```xml + + + + + ... + +``` diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/localization.launch.xml b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/localization.launch.xml new file mode 100644 index 0000000000000..ed08d2d8dba20 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/localization.launch.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/localization_launch.drawio.svg b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/localization_launch.drawio.svg new file mode 100644 index 0000000000000..05c33a642a5d4 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/localization_launch.drawio.svg @@ -0,0 +1,299 @@ + + + + + + + + + + +
+
+
+ localization.launch.xml +
+
+
+ package: localization + _launch +
+
+
+
+
+ localization.launch.xml... +
+
+ + + + + + + + +
+
+
+ util.launch.xml +
+
+
package: localization_launch
+
+
+
+
+ util.launch.xml... +
+
+ + + + + + + + +
+
+
+ pose_twist_estimator.launch.xml +
+
+
+ package: localization_launch +
+
+
+
+
+ pose_twist_estimator.launch.xml... +
+
+ + + + +
+
+
+ launch name +
+
+
+ package: package name +
+
+
+
+
+ launch name... +
+
+ + + + +
+
+
+ ex: +
+
+
+
+ ex: +
+
+ + + + +
+
+
+ node name +
+
+
+ package: package name +
+
+
+
+
+ node name... +
+
+ + + + +
+
+
+ other name +
+
+
+ package: package name +
+
+
+
+
+ other name... +
+
+ + + + +
+
+
+ pose_twist_fusion_filter.launch.xml +
+
+
+ package: localization_launch +
+
+
+
+
+ pose_twist_fusion_filter.launch.xml... +
+
+ + + + + + +
+
+
+ localization_error_monitor.launch.xml +
+
+
+ package: localization_error_monitor +
+
+
+
+
+ localization_error_monitor.launch.xml... +
+
+ + + + + + +
+
+
+ eagleye_rt.launch.xml +
+
+
+ package: eagleye_rt +
+
+
+
+
+ eagleye_rt.launch.xml... +
+
+ + + + + + +
+
+
+ ekf_localizer.launch.xml +
+
+
+ package: ekf_localizer +
+
+
+
+
+ ekf_localizer.launch.xml... +
+
+ + + + + + +
+
+
+ pose_initializer.launch.xml +
+
+
+ package: pose_initializer +
+
+
+
+
+ pose_initializer.launch.xml... +
+
+
+ + + + Text is not SVG - cannot display + + +
diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/eagleye_rt.launch.xml b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/eagleye_rt.launch.xml new file mode 100644 index 0000000000000..edb4ce64f2b1a --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/eagleye_rt.launch.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/fix2pose.launch.xml b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/fix2pose.launch.xml new file mode 100644 index 0000000000000..ac92fce40cd6a --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/fix2pose.launch.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/gnss_converter.launch.xml b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/gnss_converter.launch.xml new file mode 100644 index 0000000000000..efd7e94ada116 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/eagleye/gnss_converter.launch.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/pose_twist_estimator.launch.xml b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/pose_twist_estimator.launch.xml new file mode 100644 index 0000000000000..23d5cbe75ead5 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/pose_twist_estimator/pose_twist_estimator.launch.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/util/util.launch.xml b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/util/util.launch.xml new file mode 100644 index 0000000000000..6043d1b3dd37c --- /dev/null +++ b/launch/map4_localization_launch/eagleye_pose_twist_localization_launch/util/util.launch.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_twist_localization_launch/localization.launch.xml b/launch/map4_localization_launch/eagleye_twist_localization_launch/localization.launch.xml new file mode 100644 index 0000000000000..871e936bf3292 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_twist_localization_launch/localization.launch.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_twist_localization_launch/localization_launch.drawio.svg b/launch/map4_localization_launch/eagleye_twist_localization_launch/localization_launch.drawio.svg new file mode 100644 index 0000000000000..76ab922b3aad5 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_twist_localization_launch/localization_launch.drawio.svg @@ -0,0 +1,470 @@ + + + + + + + + + + +
+
+
+ /sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container +
+
+
+ package: rclcpp_components +
+
+
+
+
+ /sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container... +
+
+ + + + +
+
+
+ localization.launch.xml +
+
+
+ package: localization + _launch +
+
+
+
+
+ localization.launch.xml... +
+
+ + + + + + + + +
+
+
+ util.launch.xml +
+
+
package: localization_launch
+
+
+
+
+ util.launch.xml... +
+
+ + + + + + + + +
+
+
+ pose_estimator.launch.xml +
+
+
+ package: localization_launch +
+
+
+
+
+ pose_estimator.launch.xml... +
+
+ + + + +
+
+
+ launch name +
+
+
+ package: package name +
+
+
+
+
+ launch name... +
+
+ + + + +
+
+
+ ex: +
+
+
+
+ ex: +
+
+ + + + +
+
+
+ node name +
+
+
+ package: package name +
+
+
+
+
+ node name... +
+
+ + + + +
+
+
+ other name +
+
+
+ package: package name +
+
+
+
+
+ other name... +
+
+ + + + + + +
+
+
+ twist_estimator.launch.xml +
+
+
+ package: localization_launch +
+
+
+
+
+ twist_estimator.launch.xml... +
+
+ + + + + + +
+
+
+ pose_twist_fusion_filter.launch.xml +
+
+
+ package: localization_launch +
+
+
+
+
+ pose_twist_fusion_filter.launch.xml... +
+
+ + + + + + +
+
+
+ localization_error_monitor.launch.xml +
+
+
+ package: localization_error_monitor +
+
+
+
+
+ localization_error_monitor.launch.xml... +
+
+ + + + + + +
+
+
+ ndt_scan_matcher.launch.xml +
+
+
+ package: ndt_scan_matcher +
+
+
+
+
+ ndt_scan_matcher.launch.xml... +
+
+ + + + + + +
+
+
+ eagleye_rt.launch.xml +
+
+
+ package: eagleye_rt +
+
+
+
+
+ eagleye_rt.launch.xml... +
+
+ + + + + + +
+
+
+ ekf_localizer.launch.xml +
+
+
+ package: ekf_localizer +
+
+
+
+
+ ekf_localizer.launch.xml... +
+
+ + + + + + +
+
+
+ pose_initializer.launch.xml +
+
+
+ package: pose_initializer +
+
+
+
+
+ pose_initializer.launch.xml... +
+
+ + + + +
+
+
+ util.launch.py +
+
+
+ package: localization_launch +
+
+
+
+
+ util.launch.py... +
+
+ + + + + + +
+
+
+ crop_box_measurement_range +
+
+
+ package: pointcloud_preprocessor +
+
+
+
+
+ crop_box_measurement_range... +
+
+ + + + +
+
+
+ voxel_grid_downsample_filter +
+
+
+ package: pointcloud_preprocessor +
+
+
+
+
+ voxel_grid_downsample_filter... +
+
+ + + + +
+
+
+ random_downsample_filter +
+
+
+ package: pointcloud_preprocessor +
+
+
+
+
+ random_downsample_filter... +
+
+ + +
+ + + + Text is not SVG - cannot display + + +
diff --git a/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/eagleye_rt.launch.xml b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/eagleye_rt.launch.xml new file mode 100644 index 0000000000000..859508ec1a802 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/eagleye_rt.launch.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/fix2pose.launch.xml b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/fix2pose.launch.xml new file mode 100644 index 0000000000000..ac92fce40cd6a --- /dev/null +++ b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/fix2pose.launch.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/gnss_converter.launch.xml b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/gnss_converter.launch.xml new file mode 100644 index 0000000000000..efd7e94ada116 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/eagleye/gnss_converter.launch.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/twist_estimator.launch.xml b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/twist_estimator.launch.xml new file mode 100644 index 0000000000000..b73dfb8a92686 --- /dev/null +++ b/launch/map4_localization_launch/eagleye_twist_localization_launch/twist_estimator/twist_estimator.launch.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/launch/map4_localization_launch/package.xml b/launch/map4_localization_launch/package.xml new file mode 100644 index 0000000000000..9e93f8869c35f --- /dev/null +++ b/launch/map4_localization_launch/package.xml @@ -0,0 +1,36 @@ + + + + map4_localization_launch + 0.1.0 + The map4_localization_launch package + Yamato Ando + Koji Minoda + Kento Yabuuchi + Ryu Yamamoto + Ryohei Sasaki + Apache License 2.0 + Ryohei Sasaki + + ament_cmake_auto + + autoware_cmake + + automatic_pose_initializer + eagleye_fix2pose + eagleye_gnss_converter + eagleye_rt + ekf_localizer + gyro_odometer + ndt_scan_matcher + pointcloud_preprocessor + pose_initializer + topic_tools + + ament_lint_auto + autoware_lint_common + + + ament_cmake + + diff --git a/launch/tier4_localization_launch/launch/util/util.launch.xml b/launch/tier4_localization_launch/launch/util/util.launch.xml index 31a453c082522..6e0cb19fe5e75 100644 --- a/launch/tier4_localization_launch/launch/util/util.launch.xml +++ b/launch/tier4_localization_launch/launch/util/util.launch.xml @@ -16,6 +16,7 @@ + diff --git a/launch/tier4_localization_launch/localization_launch.drawio.svg b/launch/tier4_localization_launch/localization_launch.drawio.svg index 0710c72c53c62..d08ebadee96bb 100644 --- a/launch/tier4_localization_launch/localization_launch.drawio.svg +++ b/launch/tier4_localization_launch/localization_launch.drawio.svg @@ -1,25 +1,27 @@ + + + - + - +
-
-
+
+
/sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container

@@ -30,16 +32,16 @@
- /sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container... + /sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container... - +
-
-
+
+
localization.launch.xml

@@ -54,50 +56,50 @@ localization.launch.xml... - - - - - + + + + + - +
-
-
+
+
util.launch.xml

-
package: tier4_localization_launch
+
package: localization_launch
- util.launch.xml... + util.launch.xml... - - - - + + + + - +
-
-
+
+
pose_estimator.launch.xml

- package: tier4_localization_launch + package: localization_launch
@@ -109,10 +111,10 @@ - +
-
-
+
+
launch name

@@ -129,26 +131,28 @@ - +
-
-
ex:
+
+
+ ex: +
- ex: + ex: - +
-
-
+
+
node name

@@ -165,13 +169,13 @@ - +
-
-
+
+
other name

@@ -185,23 +189,23 @@ other name... - - + + - +
-
-
+
+
twist_estimator.launch.xml

- package: tier4_localization_launch + package: localization_launch
@@ -210,23 +214,23 @@ twist_estimator.launch.xml... - - + + - +
-
-
+
+
pose_twist_fusion_filter.launch.xml

- package: tier4_localization_launch + package: localization_launch
@@ -235,18 +239,18 @@ pose_twist_fusion_filter.launch.xml... - - + + - +
-
-
+
+
localization_error_monitor.launch.xml

@@ -260,54 +264,18 @@ localization_error_monitor.launch.xml... - - - - - - -
-
-
- relay -
-
-
- package: topic_tools -
-
- -
-
-
-
- input: /localization/pose_twist_fusion_filter/twist -
-
- output: /localization/twist -
-
-
-
-
- relay... -
-
- - + + - +
-
-
+
+
ndt_scan_matcher.launch.xml

@@ -321,18 +289,18 @@ ndt_scan_matcher.launch.xml... - - + + - +
-
-
+
+
gyro_odometer.launch.xml

@@ -346,18 +314,18 @@ gyro_odometer.launch.xml... - - + + - +
-
-
+
+
ekf_localizer.launch.xml

@@ -371,18 +339,18 @@ ekf_localizer.launch.xml... - - - + + + - +
-
-
+
+
pose_initializer.launch.xml

@@ -393,44 +361,44 @@
- pose_initializer.launch.xml... + pose_initializer.launch.xml... - + - +
-
-
+
+
util.launch.py

- package: tier4_localization_launch + package: localization_launch
- util.launch.py... + util.launch.py... - - - + + + - +
-
-
+
+
crop_box_measurement_range

@@ -441,19 +409,19 @@
- crop_box_measurement_range... + crop_box_measurement_range... - + - +
-
-
+
+
voxel_grid_downsample_filter

@@ -464,19 +432,19 @@
- voxel_grid_downsample_filter... + voxel_grid_downsample_filter... - + - +
-
-
+
+
random_downsample_filter

@@ -487,16 +455,16 @@
- random_downsample_filter... + random_downsample_filter... - - + + - Viewer does not support full SVG 1.1 + Text is not SVG - cannot display diff --git a/localization/pose_initializer/launch/pose_initializer.launch.xml b/localization/pose_initializer/launch/pose_initializer.launch.xml index 86b20833ec4df..e7c28eeea88f9 100644 --- a/localization/pose_initializer/launch/pose_initializer.launch.xml +++ b/localization/pose_initializer/launch/pose_initializer.launch.xml @@ -1,13 +1,14 @@ + - +