From f761c5e8949ad298a614e4a00d993140684fec26 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 2 Nov 2023 10:30:19 +0000 Subject: [PATCH] Deployed 23b81e612 to main with MkDocs 1.4.3 and mike 1.2.0.dev0 --- main/404.html | 436 ++ main/autoware-competitions/index.html | 436 ++ .../contributing/coding-guidelines/index.html | 436 ++ .../languages/cmake/index.html | 436 ++ .../languages/cpp/index.html | 436 ++ .../languages/docker/index.html | 436 ++ .../languages/github-actions/index.html | 436 ++ .../languages/markdown/index.html | 436 ++ .../languages/package-xml/index.html | 436 ++ .../languages/python/index.html | 436 ++ .../languages/shell-scripts/index.html | 436 ++ .../ros-nodes/class-design/index.html | 436 ++ .../ros-nodes/console-logging/index.html | 436 ++ .../ros-nodes/coordinate-system/index.html | 436 ++ .../ros-nodes/directory-structure/index.html | 436 ++ .../ros-nodes/launch-files/index.html | 436 ++ .../ros-nodes/message-guidelines/index.html | 436 ++ .../ros-nodes/parameters/index.html | 436 ++ .../ros-nodes/task-scheduling/index.html | 436 ++ .../ros-nodes/topic-namespaces/index.html | 436 ++ .../discussion-guidelines/index.html | 436 ++ .../documentation-guidelines/index.html | 436 ++ main/contributing/index.html | 436 ++ main/contributing/license/index.html | 436 ++ .../ci-checks/index.html | 436 ++ .../commit-guidelines/index.html | 436 ++ .../pull-request-guidelines/index.html | 436 ++ .../review-guidelines/index.html | 436 ++ .../review-tips/index.html | 436 ++ .../testing-guidelines/index.html | 436 ++ .../integration-testing/index.html | 436 ++ .../unit-testing/index.html | 436 ++ main/datasets/index.html | 436 ++ .../autoware-architecture/control/index.html | 436 ++ main/design/autoware-architecture/index.html | 436 ++ .../localization/index.html | 436 ++ .../autoware-architecture/map/index.html | 436 ++ .../node-diagram/index.html | 436 ++ .../perception/index.html | 436 ++ .../autoware-architecture/planning/index.html | 436 ++ .../data-types/gnss-ins-data/index.html | 436 ++ .../sensing/data-types/image/index.html | 436 ++ .../sensing/data-types/point-cloud/index.html | 436 ++ .../sensing/data-types/radar-data/index.html | 436 ++ .../data-types/ultrasonics-data/index.html | 436 ++ .../autoware-architecture/sensing/index.html | 436 ++ .../autoware-architecture/vehicle/index.html | 436 ++ .../difference-from-ai-and-auto/index.html | 436 ++ main/design/autoware-concepts/index.html | 436 ++ .../ad-api/features/cooperation/index.html | 436 ++ .../ad-api/features/fail-safe/index.html | 436 ++ .../ad-api/features/interface/index.html | 436 ++ .../ad-api/features/localization/index.html | 436 ++ .../ad-api/features/motion/index.html | 436 ++ .../ad-api/features/operation_mode/index.html | 436 ++ .../ad-api/features/perception/index.html | 436 ++ .../features/planning-factors/index.html | 436 ++ .../ad-api/features/routing/index.html | 436 ++ .../ad-api/features/vehicle-doors/index.html | 436 ++ .../ad-api/features/vehicle-status/index.html | 436 ++ .../autoware-interfaces/ad-api/index.html | 436 ++ .../list/api/fail_safe/mrm_state/index.html | 436 ++ .../list/api/interface/version/index.html | 436 ++ .../initialization_state/index.html | 436 ++ .../api/localization/initialize/index.html | 436 ++ .../list/api/motion/accept_start/index.html | 436 ++ .../ad-api/list/api/motion/state/index.html | 436 ++ .../change_to_autonomous/index.html | 436 ++ .../operation_mode/change_to_local/index.html | 436 ++ .../change_to_remote/index.html | 436 ++ .../operation_mode/change_to_stop/index.html | 436 ++ .../disable_autoware_control/index.html | 436 ++ .../enable_autoware_control/index.html | 436 ++ .../list/api/operation_mode/state/index.html | 436 ++ .../list/api/perception/objects/index.html | 436 ++ .../cooperation/get_policies/index.html | 436 ++ .../cooperation/set_commands/index.html | 436 ++ .../cooperation/set_policies/index.html | 436 ++ .../api/planning/steering_factors/index.html | 436 ++ .../api/planning/velocity_factors/index.html | 436 ++ .../list/api/routing/clear_route/index.html | 436 ++ .../ad-api/list/api/routing/route/index.html | 436 ++ .../list/api/routing/set_route/index.html | 436 ++ .../api/routing/set_route_points/index.html | 436 ++ .../ad-api/list/api/routing/state/index.html | 436 ++ .../list/api/vehicle/dimensions/index.html | 436 ++ .../list/api/vehicle/doors/command/index.html | 436 ++ .../list/api/vehicle/doors/layout/index.html | 436 ++ .../list/api/vehicle/doors/status/index.html | 436 ++ .../list/api/vehicle/kinematics/index.html | 436 ++ .../ad-api/list/api/vehicle/status/index.html | 436 ++ .../ad-api/list/index.html | 436 ++ .../ad-api/stories/bus-service/index.html | 436 ++ .../ad-api/stories/taxi-service/index.html | 436 ++ .../msg/CooperationCommand/index.html | 436 ++ .../msg/CooperationDecision/index.html | 436 ++ .../msg/CooperationPolicy/index.html | 436 ++ .../msg/CooperationStatus/index.html | 436 ++ .../msg/DoorCommand/index.html | 436 ++ .../msg/DoorLayout/index.html | 436 ++ .../msg/DoorStatus/index.html | 436 ++ .../msg/DoorStatusArray/index.html | 436 ++ .../msg/DynamicObject/index.html | 436 ++ .../msg/DynamicObjectArray/index.html | 436 ++ .../msg/DynamicObjectKinematics/index.html | 436 ++ .../msg/DynamicObjectPath/index.html | 436 ++ .../msg/Gear/index.html | 436 ++ .../msg/HazardLights/index.html | 436 ++ .../index.html | 436 ++ .../msg/MotionState/index.html | 436 ++ .../msg/MrmState/index.html | 436 ++ .../msg/ObjectClassification/index.html | 436 ++ .../msg/OperationModeState/index.html | 436 ++ .../msg/ResponseStatus/index.html | 436 ++ .../msg/Route/index.html | 436 ++ .../msg/RouteData/index.html | 436 ++ .../msg/RouteOption/index.html | 436 ++ .../msg/RoutePrimitive/index.html | 436 ++ .../msg/RouteSegment/index.html | 436 ++ .../msg/RouteState/index.html | 436 ++ .../msg/SteeringFactor/index.html | 436 ++ .../msg/SteeringFactorArray/index.html | 436 ++ .../msg/TurnIndicators/index.html | 436 ++ .../msg/VehicleDimensions/index.html | 436 ++ .../msg/VehicleKinematics/index.html | 436 ++ .../msg/VehicleStatus/index.html | 436 ++ .../msg/VelocityFactor/index.html | 436 ++ .../msg/VelocityFactorArray/index.html | 436 ++ .../srv/AcceptStart/index.html | 436 ++ .../srv/ChangeOperationMode/index.html | 436 ++ .../srv/ClearRoute/index.html | 436 ++ .../srv/GetCooperationPolicies/index.html | 436 ++ .../srv/GetDoorLayout/index.html | 436 ++ .../srv/GetVehicleDimensions/index.html | 436 ++ .../srv/InitializeLocalization/index.html | 436 ++ .../srv/SetCooperationCommands/index.html | 436 ++ .../srv/SetCooperationPolicies/index.html | 436 ++ .../srv/SetDoorCommand/index.html | 436 ++ .../srv/SetRoute/index.html | 436 ++ .../srv/SetRoutePoints/index.html | 436 ++ .../srv/InterfaceVersion/index.html | 436 ++ .../ad-api/types/index.html | 436 ++ .../change-operation-mode/index.html | 436 ++ .../drive-designated-position/index.html | 436 ++ .../ad-api/use-cases/get-on-off/index.html | 436 ++ .../use-cases/initialize-pose/index.html | 436 ++ .../use-cases/launch-terminate/index.html | 436 ++ .../use-cases/vehicle-monitoring/index.html | 436 ++ .../use-cases/vehicle-operation/index.html | 436 ++ .../components/control/index.html | 436 ++ .../autoware-interfaces/components/index.html | 436 ++ .../components/localization/index.html | 436 ++ .../components/map/index.html | 436 ++ .../perception-interface/index.html | 436 ++ .../components/planning/index.html | 436 ++ .../components/sensing/index.html | 436 ++ .../components/vehicle-dimensions/index.html | 436 ++ .../components/vehicle-interface/index.html | 436 ++ main/design/autoware-interfaces/index.html | 436 ++ .../development-process/index.html | 436 ++ .../configuration-management/index.html | 436 ++ .../release-process/index.html | 436 ++ .../repository-structure/index.html | 436 ++ main/design/index.html | 436 ++ main/how-to-guides/index.html | 436 ++ .../converting-utm-to-mgrs-map/index.html | 5881 ++++++++++++++++ .../crosswalk/images/crosswalk-test.png | Bin 0 -> 405810 bytes .../creating-vector-map/crosswalk/index.html | 5827 ++++++++++++++++ .../images/detection-area-test.png | Bin 0 -> 366328 bytes .../detection-area/index.html | 5829 ++++++++++++++++ .../creating-vector-map/index.html | 5791 ++++++++++++++++ .../images/planning-simulator-map-test.png | Bin 0 -> 741122 bytes .../lanelet2/images/pointcloud-map.png | Bin 0 -> 145020 bytes .../creating-vector-map/lanelet2/index.html | 5903 +++++++++++++++++ .../speed-bump/images/speed-bump-test.png | Bin 0 -> 459651 bytes .../creating-vector-map/speed-bump/index.html | 5835 ++++++++++++++++ .../stop-line/images/stop-line-test.png | Bin 0 -> 486347 bytes .../creating-vector-map/stop-line/index.html | 5826 ++++++++++++++++ .../images/traffic-light-test.png | Bin 0 -> 550785 bytes .../traffic-light/index.html | 5829 ++++++++++++++++ .../creating-maps/index.html | 436 ++ .../open-source-slam/fast-lio-lc/index.html | 436 ++ .../open-source-slam/fast-lio-slam/index.html | 436 ++ .../open-source-slam/fd-slam/index.html | 436 ++ .../hdl-graph-slam/index.html | 436 ++ .../open-source-slam/ia-lio-slam/index.html | 436 ++ .../creating-maps/open-source-slam/index.html | 436 ++ .../open-source-slam/iscloam/index.html | 436 ++ .../open-source-slam/lego-loam-bor/index.html | 440 +- .../lio-sam/images/LIO-SAM-imu-direction.png | Bin 0 -> 580049 bytes .../lio-sam/images/LIO-SAM-output.png | Bin 0 -> 259689 bytes .../lio-sam/images/pcd-map.png | Bin 214982 -> 0 bytes .../open-source-slam/lio-sam/index.html | 670 +- .../optimized-sc-f-loam/index.html | 440 +- .../open-source-slam/sc-a-loam/index.html | 436 ++ .../open-source-slam/sc-lego-loam/index.html | 442 +- .../images/select-map.png | Bin 0 -> 641199 bytes .../images/space-subsampling.png | Bin 0 -> 157712 bytes .../images/subsampled-map.png | Bin 0 -> 11930 bytes .../pointcloud-map-downsampling/index.html | 5828 ++++++++++++++++ .../calibrating-sensors/index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../launch-autoware/index.html | 442 +- .../eagleye-guide/index.html | 436 ++ .../localization-methods/index.html | 436 ++ .../launch-autoware/perception/index.html | 436 ++ .../integrating-autoware/overview/index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../add-a-custom-ros-message/index.html | 436 ++ .../advanced-usage-of-colcon/index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../others/debug-autoware/index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../index.html | 436 ++ .../others/reducing-start-delays/index.html | 436 ++ .../running-autoware-without-cuda/index.html | 436 ++ .../training-models/index.html | 436 ++ main/index.html | 436 ++ .../index.html | 436 ++ .../docker-installation-devel/index.html | 436 ++ .../docker-installation-prebuilt/index.html | 436 ++ .../autoware/docker-installation/index.html | 436 ++ .../autoware/source-installation/index.html | 436 ++ main/installation/index.html | 436 ++ main/installation/related-tools/index.html | 436 ++ main/models/index.html | 436 ++ main/reference-hw/ad-computers/index.html | 436 ++ .../ad_sensor_kit_suppliers/index.html | 436 ++ main/reference-hw/cameras/index.html | 436 ++ .../reference-hw/full_drivers_list/index.html | 436 ++ .../reference-hw/imu_ahrs_gnss_ins/index.html | 436 ++ main/reference-hw/index.html | 436 ++ main/reference-hw/lidars/index.html | 436 ++ main/reference-hw/radars/index.html | 436 ++ main/reference-hw/remote_drive/index.html | 436 ++ main/reference-hw/thermal_cameras/index.html | 436 ++ .../index.html | 436 ++ .../vehicle_platform_suppliers/index.html | 436 ++ main/search/search_index.json | 2 +- main/sitemap.xml | 519 +- main/sitemap.xml.gz | Bin 2516 -> 2621 bytes main/support/docs-guide/index.html | 436 ++ main/support/index.html | 436 ++ main/support/support-guidelines/index.html | 436 ++ main/support/troubleshooting/index.html | 436 ++ .../performance-troubleshooting/index.html | 436 ++ .../MORAI_Sim-tutorial/index.html | 436 ++ .../awsim-tutorial/index.html | 436 ++ main/tutorials/ad-hoc-simulation/index.html | 436 ++ .../planning-simulation/index.html | 436 ++ .../rosbag-replay-simulation/index.html | 436 ++ main/tutorials/index.html | 436 ++ main/tutorials/scenario-simulation/index.html | 436 ++ .../installation/index.html | 436 ++ .../random-test-simulation/index.html | 436 ++ .../scenario-test-simulation/index.html | 436 ++ .../driving-log-replayer/index.html | 436 ++ 263 files changed, 156799 insertions(+), 293 deletions(-) create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/images/crosswalk-test.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/images/detection-area-test.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/images/planning-simulator-map-test.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/images/pointcloud-map.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/images/speed-bump-test.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/images/stop-line-test.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/images/traffic-light-test.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/index.html create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/images/LIO-SAM-imu-direction.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/images/LIO-SAM-output.png delete mode 100644 main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/images/pcd-map.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/images/select-map.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/images/space-subsampling.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/images/subsampled-map.png create mode 100644 main/how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/index.html diff --git a/main/404.html b/main/404.html index a5013812f76..162b9dff970 100644 --- a/main/404.html +++ b/main/404.html @@ -1392,6 +1392,12 @@ + + + + + + @@ -1992,6 +1998,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/autoware-competitions/index.html b/main/autoware-competitions/index.html index fd3765042f2..ddf8b9d2c15 100644 --- a/main/autoware-competitions/index.html +++ b/main/autoware-competitions/index.html @@ -1403,6 +1403,12 @@ + + + + + + @@ -2003,6 +2009,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/index.html b/main/contributing/coding-guidelines/index.html index d0c6f64df12..d715170e1c1 100644 --- a/main/contributing/coding-guidelines/index.html +++ b/main/contributing/coding-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/cmake/index.html b/main/contributing/coding-guidelines/languages/cmake/index.html index bcf0b44c82d..448ea59938c 100644 --- a/main/contributing/coding-guidelines/languages/cmake/index.html +++ b/main/contributing/coding-guidelines/languages/cmake/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/cpp/index.html b/main/contributing/coding-guidelines/languages/cpp/index.html index ebc2655711b..fb18039aa56 100644 --- a/main/contributing/coding-guidelines/languages/cpp/index.html +++ b/main/contributing/coding-guidelines/languages/cpp/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/docker/index.html b/main/contributing/coding-guidelines/languages/docker/index.html index 976acf229d4..b8d7c66ebd7 100644 --- a/main/contributing/coding-guidelines/languages/docker/index.html +++ b/main/contributing/coding-guidelines/languages/docker/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/github-actions/index.html b/main/contributing/coding-guidelines/languages/github-actions/index.html index 34824312598..1e5f4f7fb78 100644 --- a/main/contributing/coding-guidelines/languages/github-actions/index.html +++ b/main/contributing/coding-guidelines/languages/github-actions/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/markdown/index.html b/main/contributing/coding-guidelines/languages/markdown/index.html index 12e6127b183..4bb1e3b962d 100644 --- a/main/contributing/coding-guidelines/languages/markdown/index.html +++ b/main/contributing/coding-guidelines/languages/markdown/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/package-xml/index.html b/main/contributing/coding-guidelines/languages/package-xml/index.html index e0419e3f574..277ba9458f3 100644 --- a/main/contributing/coding-guidelines/languages/package-xml/index.html +++ b/main/contributing/coding-guidelines/languages/package-xml/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/python/index.html b/main/contributing/coding-guidelines/languages/python/index.html index a6d0e3a2138..731d3f0fd28 100644 --- a/main/contributing/coding-guidelines/languages/python/index.html +++ b/main/contributing/coding-guidelines/languages/python/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/languages/shell-scripts/index.html b/main/contributing/coding-guidelines/languages/shell-scripts/index.html index 6f921bc9c7c..e6c9be16c78 100644 --- a/main/contributing/coding-guidelines/languages/shell-scripts/index.html +++ b/main/contributing/coding-guidelines/languages/shell-scripts/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/class-design/index.html b/main/contributing/coding-guidelines/ros-nodes/class-design/index.html index cc69dc0bebd..03df133ac34 100644 --- a/main/contributing/coding-guidelines/ros-nodes/class-design/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/class-design/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/console-logging/index.html b/main/contributing/coding-guidelines/ros-nodes/console-logging/index.html index 21f94c74001..b86545ebd84 100644 --- a/main/contributing/coding-guidelines/ros-nodes/console-logging/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/console-logging/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/coordinate-system/index.html b/main/contributing/coding-guidelines/ros-nodes/coordinate-system/index.html index 70116026f3d..c0f92a0bfd9 100644 --- a/main/contributing/coding-guidelines/ros-nodes/coordinate-system/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/coordinate-system/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/directory-structure/index.html b/main/contributing/coding-guidelines/ros-nodes/directory-structure/index.html index b6c9d7d2c03..ecc68cd0a0e 100644 --- a/main/contributing/coding-guidelines/ros-nodes/directory-structure/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/directory-structure/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/launch-files/index.html b/main/contributing/coding-guidelines/ros-nodes/launch-files/index.html index 0e4f58073ac..d7098f1f761 100644 --- a/main/contributing/coding-guidelines/ros-nodes/launch-files/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/launch-files/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/message-guidelines/index.html b/main/contributing/coding-guidelines/ros-nodes/message-guidelines/index.html index 72946efd11c..7920f4724e4 100644 --- a/main/contributing/coding-guidelines/ros-nodes/message-guidelines/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/message-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/parameters/index.html b/main/contributing/coding-guidelines/ros-nodes/parameters/index.html index 9132a0a2ee9..80c7670276c 100644 --- a/main/contributing/coding-guidelines/ros-nodes/parameters/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/parameters/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/task-scheduling/index.html b/main/contributing/coding-guidelines/ros-nodes/task-scheduling/index.html index d5cb7627199..dec7a8e9c32 100644 --- a/main/contributing/coding-guidelines/ros-nodes/task-scheduling/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/task-scheduling/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/coding-guidelines/ros-nodes/topic-namespaces/index.html b/main/contributing/coding-guidelines/ros-nodes/topic-namespaces/index.html index 1192a6352bc..c1e0bed0d5c 100644 --- a/main/contributing/coding-guidelines/ros-nodes/topic-namespaces/index.html +++ b/main/contributing/coding-guidelines/ros-nodes/topic-namespaces/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/discussion-guidelines/index.html b/main/contributing/discussion-guidelines/index.html index 48add9d439c..81ece6aa910 100644 --- a/main/contributing/discussion-guidelines/index.html +++ b/main/contributing/discussion-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/documentation-guidelines/index.html b/main/contributing/documentation-guidelines/index.html index 15c036e1c38..89d9a6b6f71 100644 --- a/main/contributing/documentation-guidelines/index.html +++ b/main/contributing/documentation-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/index.html b/main/contributing/index.html index 94d6fa69fa8..c9d26ad70ca 100644 --- a/main/contributing/index.html +++ b/main/contributing/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/license/index.html b/main/contributing/license/index.html index df9ad6d3ae2..aa329a190a9 100644 --- a/main/contributing/license/index.html +++ b/main/contributing/license/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/pull-request-guidelines/ci-checks/index.html b/main/contributing/pull-request-guidelines/ci-checks/index.html index 026d2b65e5c..d3de3313308 100644 --- a/main/contributing/pull-request-guidelines/ci-checks/index.html +++ b/main/contributing/pull-request-guidelines/ci-checks/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/pull-request-guidelines/commit-guidelines/index.html b/main/contributing/pull-request-guidelines/commit-guidelines/index.html index dfb2227ac5c..73876e196e7 100644 --- a/main/contributing/pull-request-guidelines/commit-guidelines/index.html +++ b/main/contributing/pull-request-guidelines/commit-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/pull-request-guidelines/index.html b/main/contributing/pull-request-guidelines/index.html index 78549de82a2..fc816155f5c 100644 --- a/main/contributing/pull-request-guidelines/index.html +++ b/main/contributing/pull-request-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/pull-request-guidelines/review-guidelines/index.html b/main/contributing/pull-request-guidelines/review-guidelines/index.html index eff837ce70a..44eae0e83d4 100644 --- a/main/contributing/pull-request-guidelines/review-guidelines/index.html +++ b/main/contributing/pull-request-guidelines/review-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/pull-request-guidelines/review-tips/index.html b/main/contributing/pull-request-guidelines/review-tips/index.html index 3854ca5284d..dd48f11590d 100644 --- a/main/contributing/pull-request-guidelines/review-tips/index.html +++ b/main/contributing/pull-request-guidelines/review-tips/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/testing-guidelines/index.html b/main/contributing/testing-guidelines/index.html index c14d0bd6538..580f4a2aa5b 100644 --- a/main/contributing/testing-guidelines/index.html +++ b/main/contributing/testing-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/testing-guidelines/integration-testing/index.html b/main/contributing/testing-guidelines/integration-testing/index.html index 26dacffb314..e408676e5f4 100644 --- a/main/contributing/testing-guidelines/integration-testing/index.html +++ b/main/contributing/testing-guidelines/integration-testing/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/contributing/testing-guidelines/unit-testing/index.html b/main/contributing/testing-guidelines/unit-testing/index.html index 40161bdf8ce..8e3c5e96f0f 100644 --- a/main/contributing/testing-guidelines/unit-testing/index.html +++ b/main/contributing/testing-guidelines/unit-testing/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/datasets/index.html b/main/datasets/index.html index 20aee271b13..dd189d8b504 100644 --- a/main/datasets/index.html +++ b/main/datasets/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/control/index.html b/main/design/autoware-architecture/control/index.html index 4701409dcb0..16edc745353 100644 --- a/main/design/autoware-architecture/control/index.html +++ b/main/design/autoware-architecture/control/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/index.html b/main/design/autoware-architecture/index.html index d769125afa2..362e0f9ab08 100644 --- a/main/design/autoware-architecture/index.html +++ b/main/design/autoware-architecture/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/localization/index.html b/main/design/autoware-architecture/localization/index.html index 2a4a7ac673c..7a99de3898d 100644 --- a/main/design/autoware-architecture/localization/index.html +++ b/main/design/autoware-architecture/localization/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/map/index.html b/main/design/autoware-architecture/map/index.html index 2bc2b81067b..af413418456 100644 --- a/main/design/autoware-architecture/map/index.html +++ b/main/design/autoware-architecture/map/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/node-diagram/index.html b/main/design/autoware-architecture/node-diagram/index.html index 9c73f9b0820..4e025787906 100644 --- a/main/design/autoware-architecture/node-diagram/index.html +++ b/main/design/autoware-architecture/node-diagram/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/perception/index.html b/main/design/autoware-architecture/perception/index.html index 5a11a0313ae..f2926fe90ab 100644 --- a/main/design/autoware-architecture/perception/index.html +++ b/main/design/autoware-architecture/perception/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/planning/index.html b/main/design/autoware-architecture/planning/index.html index a7f146d6b79..49af80d9367 100644 --- a/main/design/autoware-architecture/planning/index.html +++ b/main/design/autoware-architecture/planning/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/sensing/data-types/gnss-ins-data/index.html b/main/design/autoware-architecture/sensing/data-types/gnss-ins-data/index.html index 80dda17a6b9..80940905b44 100644 --- a/main/design/autoware-architecture/sensing/data-types/gnss-ins-data/index.html +++ b/main/design/autoware-architecture/sensing/data-types/gnss-ins-data/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/sensing/data-types/image/index.html b/main/design/autoware-architecture/sensing/data-types/image/index.html index 25df213b9e2..095ae35346a 100644 --- a/main/design/autoware-architecture/sensing/data-types/image/index.html +++ b/main/design/autoware-architecture/sensing/data-types/image/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/sensing/data-types/point-cloud/index.html b/main/design/autoware-architecture/sensing/data-types/point-cloud/index.html index 5d844510840..cc6de88824d 100644 --- a/main/design/autoware-architecture/sensing/data-types/point-cloud/index.html +++ b/main/design/autoware-architecture/sensing/data-types/point-cloud/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/sensing/data-types/radar-data/index.html b/main/design/autoware-architecture/sensing/data-types/radar-data/index.html index fbb625f1bd3..8b961485b93 100644 --- a/main/design/autoware-architecture/sensing/data-types/radar-data/index.html +++ b/main/design/autoware-architecture/sensing/data-types/radar-data/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/sensing/data-types/ultrasonics-data/index.html b/main/design/autoware-architecture/sensing/data-types/ultrasonics-data/index.html index 02d7bda0ace..b5db8efc20d 100644 --- a/main/design/autoware-architecture/sensing/data-types/ultrasonics-data/index.html +++ b/main/design/autoware-architecture/sensing/data-types/ultrasonics-data/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/sensing/index.html b/main/design/autoware-architecture/sensing/index.html index 436288f8e1d..4d467f7d3b2 100644 --- a/main/design/autoware-architecture/sensing/index.html +++ b/main/design/autoware-architecture/sensing/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-architecture/vehicle/index.html b/main/design/autoware-architecture/vehicle/index.html index 1c1da4e5c06..4c01b3c9bdd 100644 --- a/main/design/autoware-architecture/vehicle/index.html +++ b/main/design/autoware-architecture/vehicle/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-concepts/difference-from-ai-and-auto/index.html b/main/design/autoware-concepts/difference-from-ai-and-auto/index.html index 5b5d182b28b..6c327f4e493 100644 --- a/main/design/autoware-concepts/difference-from-ai-and-auto/index.html +++ b/main/design/autoware-concepts/difference-from-ai-and-auto/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-concepts/index.html b/main/design/autoware-concepts/index.html index 96e201e2859..aa3f2144861 100644 --- a/main/design/autoware-concepts/index.html +++ b/main/design/autoware-concepts/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/cooperation/index.html b/main/design/autoware-interfaces/ad-api/features/cooperation/index.html index 0b912fca9fc..be4b61ea14a 100644 --- a/main/design/autoware-interfaces/ad-api/features/cooperation/index.html +++ b/main/design/autoware-interfaces/ad-api/features/cooperation/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/fail-safe/index.html b/main/design/autoware-interfaces/ad-api/features/fail-safe/index.html index 127aca18fd6..d0de7642a75 100644 --- a/main/design/autoware-interfaces/ad-api/features/fail-safe/index.html +++ b/main/design/autoware-interfaces/ad-api/features/fail-safe/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/interface/index.html b/main/design/autoware-interfaces/ad-api/features/interface/index.html index b38c9e9f947..79a8be399d6 100644 --- a/main/design/autoware-interfaces/ad-api/features/interface/index.html +++ b/main/design/autoware-interfaces/ad-api/features/interface/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/localization/index.html b/main/design/autoware-interfaces/ad-api/features/localization/index.html index 1f3173088b9..1553dab067f 100644 --- a/main/design/autoware-interfaces/ad-api/features/localization/index.html +++ b/main/design/autoware-interfaces/ad-api/features/localization/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/motion/index.html b/main/design/autoware-interfaces/ad-api/features/motion/index.html index 58e5e8aa50a..bf506916207 100644 --- a/main/design/autoware-interfaces/ad-api/features/motion/index.html +++ b/main/design/autoware-interfaces/ad-api/features/motion/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/operation_mode/index.html b/main/design/autoware-interfaces/ad-api/features/operation_mode/index.html index 9c7bf2a669f..6cc7edbea1d 100644 --- a/main/design/autoware-interfaces/ad-api/features/operation_mode/index.html +++ b/main/design/autoware-interfaces/ad-api/features/operation_mode/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/perception/index.html b/main/design/autoware-interfaces/ad-api/features/perception/index.html index 60a7d969dcd..58099d621bb 100644 --- a/main/design/autoware-interfaces/ad-api/features/perception/index.html +++ b/main/design/autoware-interfaces/ad-api/features/perception/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/planning-factors/index.html b/main/design/autoware-interfaces/ad-api/features/planning-factors/index.html index 2e3b8c6640d..916dc3315e1 100644 --- a/main/design/autoware-interfaces/ad-api/features/planning-factors/index.html +++ b/main/design/autoware-interfaces/ad-api/features/planning-factors/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/routing/index.html b/main/design/autoware-interfaces/ad-api/features/routing/index.html index 8434e70e926..a2704824312 100644 --- a/main/design/autoware-interfaces/ad-api/features/routing/index.html +++ b/main/design/autoware-interfaces/ad-api/features/routing/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/vehicle-doors/index.html b/main/design/autoware-interfaces/ad-api/features/vehicle-doors/index.html index 44f5f5bf23a..927ad685a4e 100644 --- a/main/design/autoware-interfaces/ad-api/features/vehicle-doors/index.html +++ b/main/design/autoware-interfaces/ad-api/features/vehicle-doors/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/features/vehicle-status/index.html b/main/design/autoware-interfaces/ad-api/features/vehicle-status/index.html index e844570a16d..84a267a6e68 100644 --- a/main/design/autoware-interfaces/ad-api/features/vehicle-status/index.html +++ b/main/design/autoware-interfaces/ad-api/features/vehicle-status/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/index.html b/main/design/autoware-interfaces/ad-api/index.html index b163e8d0210..1c8fbde3271 100644 --- a/main/design/autoware-interfaces/ad-api/index.html +++ b/main/design/autoware-interfaces/ad-api/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/index.html b/main/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/index.html index 6326fb82494..987a7d809aa 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/interface/version/index.html b/main/design/autoware-interfaces/ad-api/list/api/interface/version/index.html index 073fb0ae02c..29c23e98e32 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/interface/version/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/interface/version/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/localization/initialization_state/index.html b/main/design/autoware-interfaces/ad-api/list/api/localization/initialization_state/index.html index 9e2145d8a06..3e56afe02c2 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/localization/initialization_state/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/localization/initialization_state/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/localization/initialize/index.html b/main/design/autoware-interfaces/ad-api/list/api/localization/initialize/index.html index b5bb0066c78..a3ba80640f3 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/localization/initialize/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/localization/initialize/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/motion/accept_start/index.html b/main/design/autoware-interfaces/ad-api/list/api/motion/accept_start/index.html index a45c863d7ba..36fe6612f69 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/motion/accept_start/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/motion/accept_start/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/motion/state/index.html b/main/design/autoware-interfaces/ad-api/list/api/motion/state/index.html index 7af922bb783..7c8cf6e27fa 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/motion/state/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/motion/state/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/index.html index 919b0f108cf..2b14b9a4db5 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/index.html index 3bc9e704977..5f7043665f5 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/index.html index b7e99dd9a6f..833beff6731 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/index.html index a0d58f650d6..f8ffc354946 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/index.html index e32b091f7ba..ca9aef3a257 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/index.html index 5f267418d42..b78493e0227 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/state/index.html b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/state/index.html index bf135d8d445..afaaea921b5 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/operation_mode/state/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/operation_mode/state/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/perception/objects/index.html b/main/design/autoware-interfaces/ad-api/list/api/perception/objects/index.html index 280683d6fe7..be5ee12dc87 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/perception/objects/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/perception/objects/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/index.html b/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/index.html index 3d9a4901381..ae8fd759837 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/index.html b/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/index.html index 73d7e3f4965..a804e8aa961 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/index.html b/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/index.html index 072cbed5778..0c1a4af614e 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/planning/steering_factors/index.html b/main/design/autoware-interfaces/ad-api/list/api/planning/steering_factors/index.html index 5626ab5fac6..bd660652e4d 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/planning/steering_factors/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/planning/steering_factors/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/index.html b/main/design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/index.html index 7c6e09436e6..d2149d4148e 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/routing/clear_route/index.html b/main/design/autoware-interfaces/ad-api/list/api/routing/clear_route/index.html index ba78fcbef69..dd546d8cd7f 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/routing/clear_route/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/routing/clear_route/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/routing/route/index.html b/main/design/autoware-interfaces/ad-api/list/api/routing/route/index.html index d4a2eb4d13c..2639bce1e38 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/routing/route/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/routing/route/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/routing/set_route/index.html b/main/design/autoware-interfaces/ad-api/list/api/routing/set_route/index.html index 382e2beb00f..630a6889116 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/routing/set_route/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/routing/set_route/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/routing/set_route_points/index.html b/main/design/autoware-interfaces/ad-api/list/api/routing/set_route_points/index.html index cf2afb2d668..77693f304c5 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/routing/set_route_points/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/routing/set_route_points/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/routing/state/index.html b/main/design/autoware-interfaces/ad-api/list/api/routing/state/index.html index 04d13108b00..7f8ee2e0d66 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/routing/state/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/routing/state/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/index.html b/main/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/index.html index 2a88a227311..b624f8afdbe 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/index.html b/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/index.html index cd0d567a03f..af229f90e6a 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/index.html b/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/index.html index 90589a7c105..76225e7b519 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/index.html b/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/index.html index 3ce681abd3e..e0d16114f15 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/index.html b/main/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/index.html index cc91ba7e6f0..37055d65368 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/api/vehicle/status/index.html b/main/design/autoware-interfaces/ad-api/list/api/vehicle/status/index.html index eda29e6c102..960c6d74347 100644 --- a/main/design/autoware-interfaces/ad-api/list/api/vehicle/status/index.html +++ b/main/design/autoware-interfaces/ad-api/list/api/vehicle/status/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/list/index.html b/main/design/autoware-interfaces/ad-api/list/index.html index 5f3ff6759ab..f6ef7b69e64 100644 --- a/main/design/autoware-interfaces/ad-api/list/index.html +++ b/main/design/autoware-interfaces/ad-api/list/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/stories/bus-service/index.html b/main/design/autoware-interfaces/ad-api/stories/bus-service/index.html index bd6e62c92b7..7eaa62e2392 100644 --- a/main/design/autoware-interfaces/ad-api/stories/bus-service/index.html +++ b/main/design/autoware-interfaces/ad-api/stories/bus-service/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/stories/taxi-service/index.html b/main/design/autoware-interfaces/ad-api/stories/taxi-service/index.html index a21f488c788..051c7d3e211 100644 --- a/main/design/autoware-interfaces/ad-api/stories/taxi-service/index.html +++ b/main/design/autoware-interfaces/ad-api/stories/taxi-service/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/index.html index 8ccb35d8bbe..7f5b96a3a52 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/index.html index 43cf9d262fd..9cecab11e6e 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/index.html index bfbea99f61d..3c310947861 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/index.html index 8e37fbfd44a..fbe86f1b34d 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/index.html index 9e05ca4d98e..d5a77ae2654 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/index.html index efb71dcb381..a359380191b 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/index.html index e8264eb3720..1fe4900b6e6 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/index.html index 10d0835fb20..274929e722e 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/index.html index 34214513b88..5673aef12b6 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/index.html index cbe5d48178c..b57af24463d 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/index.html index 3ad5efbfaf8..12ffc5ab4c0 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/index.html index a93301a1181..2e39c24d7ce 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/index.html index 6a54df80ed8..86535424625 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/index.html index f30f2386c27..d450938cfe7 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/index.html index 20c5477de6f..13e314d6d6b 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/index.html index 1dbf795c4fd..d5f3b581ea6 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/index.html index 51d2db85232..b6bf55eaebc 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/index.html index 5a5d8573d10..673ed250186 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/index.html index 4ff7b6160fe..8a22cc0daec 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/index.html index 13fad61332a..8cb13a3c187 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/index.html index fc1382acb56..823755bcbba 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/index.html index 57b3baebb63..141e20aa9fc 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/index.html index 0d4de4f092c..075e6569ec4 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/index.html index a6670b784f2..deef835c128 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/index.html index 87a07ec3a39..fd016685f8c 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/index.html index 01f094c6d35..32931c48d90 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/index.html index 99dc8320ffc..2fba9a9bb5c 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/index.html index b280c574397..d8e60d9fef3 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/index.html index 3caf2bd5a65..cc0608f0217 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/index.html index 6038b62d7ea..a25547db901 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/index.html index 96c685ac004..066c822f573 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/index.html index 2fd71c9963d..6f3f3b6afd4 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/index.html index 45ec7766f0c..6464eb301c6 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/index.html index 4e02606516b..705c6fd7167 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/index.html index 0bee7c4a220..05378defca1 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/index.html index 00cf176521a..b7299848372 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/index.html index a47e8218ac5..a360afcea5d 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/index.html index 1b69bac3080..be02f7e9679 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/index.html index 977ad21af7f..7aac4cedf59 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/index.html index c80936f771f..6eec4654f4e 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/index.html index 6e1c1cef8c6..e78efd8fe55 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/index.html index 08c8acc92ec..2c9f0b1a1a1 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/index.html index f13a9192f44..6b92aa96765 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/index.html index 3deb62f00b0..dde338c7b10 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/index.html index e8603020c06..7eb7b6d1d8e 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/index.html index dd991fc5df1..7c273c76d8b 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/index.html b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/index.html index 036f9922911..485781b35b8 100644 --- a/main/design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/index.html +++ b/main/design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/types/index.html b/main/design/autoware-interfaces/ad-api/types/index.html index 6ad6c5b6546..1dc9bf4cafc 100644 --- a/main/design/autoware-interfaces/ad-api/types/index.html +++ b/main/design/autoware-interfaces/ad-api/types/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/change-operation-mode/index.html b/main/design/autoware-interfaces/ad-api/use-cases/change-operation-mode/index.html index 976d592e58f..342b7f771a8 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/change-operation-mode/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/change-operation-mode/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/drive-designated-position/index.html b/main/design/autoware-interfaces/ad-api/use-cases/drive-designated-position/index.html index b749bd8b3ae..adc89395849 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/drive-designated-position/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/drive-designated-position/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/get-on-off/index.html b/main/design/autoware-interfaces/ad-api/use-cases/get-on-off/index.html index 7664da04141..7edf25bf025 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/get-on-off/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/get-on-off/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/initialize-pose/index.html b/main/design/autoware-interfaces/ad-api/use-cases/initialize-pose/index.html index 0f92e8395ab..d2bd238edff 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/initialize-pose/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/initialize-pose/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/launch-terminate/index.html b/main/design/autoware-interfaces/ad-api/use-cases/launch-terminate/index.html index c53f5f54781..b4cbf9c0ea1 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/launch-terminate/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/launch-terminate/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/index.html b/main/design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/index.html index d0bc4c36804..3d8b52e5ad9 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/ad-api/use-cases/vehicle-operation/index.html b/main/design/autoware-interfaces/ad-api/use-cases/vehicle-operation/index.html index 87e0d706c8c..cec3d35546f 100644 --- a/main/design/autoware-interfaces/ad-api/use-cases/vehicle-operation/index.html +++ b/main/design/autoware-interfaces/ad-api/use-cases/vehicle-operation/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/control/index.html b/main/design/autoware-interfaces/components/control/index.html index 3a2169021d8..d9d693fff98 100644 --- a/main/design/autoware-interfaces/components/control/index.html +++ b/main/design/autoware-interfaces/components/control/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/index.html b/main/design/autoware-interfaces/components/index.html index 245b1216af0..aa2178ad03c 100644 --- a/main/design/autoware-interfaces/components/index.html +++ b/main/design/autoware-interfaces/components/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/localization/index.html b/main/design/autoware-interfaces/components/localization/index.html index 222a1e1d4a1..72e36009068 100644 --- a/main/design/autoware-interfaces/components/localization/index.html +++ b/main/design/autoware-interfaces/components/localization/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/map/index.html b/main/design/autoware-interfaces/components/map/index.html index 3e925cbe43e..569847cbda9 100644 --- a/main/design/autoware-interfaces/components/map/index.html +++ b/main/design/autoware-interfaces/components/map/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/perception-interface/index.html b/main/design/autoware-interfaces/components/perception-interface/index.html index e8db8254c4c..ef5dc8efa16 100644 --- a/main/design/autoware-interfaces/components/perception-interface/index.html +++ b/main/design/autoware-interfaces/components/perception-interface/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/planning/index.html b/main/design/autoware-interfaces/components/planning/index.html index 2ab3bd98df2..46374cb1e6c 100644 --- a/main/design/autoware-interfaces/components/planning/index.html +++ b/main/design/autoware-interfaces/components/planning/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/sensing/index.html b/main/design/autoware-interfaces/components/sensing/index.html index c536e0a783a..8762f14bdc0 100644 --- a/main/design/autoware-interfaces/components/sensing/index.html +++ b/main/design/autoware-interfaces/components/sensing/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/vehicle-dimensions/index.html b/main/design/autoware-interfaces/components/vehicle-dimensions/index.html index 0da58be4710..a6ac0f29640 100644 --- a/main/design/autoware-interfaces/components/vehicle-dimensions/index.html +++ b/main/design/autoware-interfaces/components/vehicle-dimensions/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/components/vehicle-interface/index.html b/main/design/autoware-interfaces/components/vehicle-interface/index.html index 34f83317482..ec5cb3ac1ed 100644 --- a/main/design/autoware-interfaces/components/vehicle-interface/index.html +++ b/main/design/autoware-interfaces/components/vehicle-interface/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/autoware-interfaces/index.html b/main/design/autoware-interfaces/index.html index 39d053c14fe..f3b8b2837f0 100644 --- a/main/design/autoware-interfaces/index.html +++ b/main/design/autoware-interfaces/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/configuration-management/development-process/index.html b/main/design/configuration-management/development-process/index.html index 34f369ae70c..d84cc81adef 100644 --- a/main/design/configuration-management/development-process/index.html +++ b/main/design/configuration-management/development-process/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/configuration-management/index.html b/main/design/configuration-management/index.html index e70448d0825..7258da1935f 100644 --- a/main/design/configuration-management/index.html +++ b/main/design/configuration-management/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/configuration-management/release-process/index.html b/main/design/configuration-management/release-process/index.html index 8f091527cf2..e16f737726d 100644 --- a/main/design/configuration-management/release-process/index.html +++ b/main/design/configuration-management/release-process/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/configuration-management/repository-structure/index.html b/main/design/configuration-management/repository-structure/index.html index 8df08bab32b..2e8ddac173a 100644 --- a/main/design/configuration-management/repository-structure/index.html +++ b/main/design/configuration-management/repository-structure/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/design/index.html b/main/design/index.html index 820d069f532..d8ea1ad2d61 100644 --- a/main/design/index.html +++ b/main/design/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/index.html b/main/how-to-guides/index.html index a6454598e0e..0eebbf1a726 100644 --- a/main/how-to-guides/index.html +++ b/main/how-to-guides/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/index.html b/main/how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/index.html new file mode 100644 index 00000000000..2a93ec0a546 --- /dev/null +++ b/main/how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/index.html @@ -0,0 +1,5881 @@ + + + + + + + + + + + + + + + + + + + + + + + + Converting UTM maps to MGRS map format - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Converting UTM maps to MGRS map format#

    +

    Overview#

    +

    If you want to use MGRS (Military Grid Reference System) format in Autoware, +you need to convert UTM (Universal Transverse Mercator) map to MGRS format. +In order to do that, we will use UTM to MGRS pointcloud converter ROS 2 package provided by Leo Drive.

    +

    Installation#

    +

    Dependencies#

    + +

    To install dependencies:

    +
    sudo apt install ros-humble-pcl-conversions \
    +       geographiclib-tools
    +
    +

    Building#

    +
        cd <PATH-TO-YOUR-ROS-2-WORKSPACE>/src
    +    git clone https://github.com/leo-drive/pc_utm_to_mgrs_converter.git
    +    cd ..
    +    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
    +
    +

    Usage#

    +

    After the installation of converter tool, +we need to define northing, +easting and ellipsoid height of local UTM map origin in pc_utm_to_mgrs_converter.param.yaml. +For example, you can use latitude, +longitude and altitude values in the navsatfix message from your GNSS/INS sensor.

    +
    +Sample ROS 2 topic echo from navsatfix message +
    header:
    +stamp:
    +sec: 1694612439
    +nanosec: 400000000
    +frame_id: GNSS_INS/gnss_ins_link
    +status:
    +status: 0
    +service: 1
    +latitude: 41.0216110801253
    +longitude: 28.887096461148346
    +altitude: 74.28264078891529
    +position_covariance:
    +- 0.0014575386885553598
    +- 0.0
    +- 0.0
    +- 0.0
    +- 0.004014162812381983
    +- 0.0
    +- 0.0
    +- 0.0
    +- 0.0039727711118757725
    +position_covariance_type: 2
    +
    +
    +

    After that, you need to convert latitude and longitude values to northing and easting values. +You can use any converter on the internet for converting latitude longitude values to UTM. +(i.e., UTMconverter)

    +

    Now, we are ready to update pc_utm_to_mgrs_converter.param.yaml, +example for our navsatfix message:

    +
    /**:
    +  ros__parameters:
    +      # Northing of local origin
    +-     Northing: 4520550.0
    ++     Northing: 4542871.33
    +
    +      # Easting of local origin
    +-     Easting: 698891.0
    ++     Easting: 658659.84
    +
    +      # Elipsoid Height of local origin
    +-     ElipsoidHeight: 47.62
    ++     ElipsoidHeight: 74.28
    +
    +

    Lastly, we will update input and pointcloud the map path in pc_utm_to_mgrs_converter.launch.xml:

    +
    ...
    +- <arg name="input_file_path" default="/home/melike/projects/autoware_data/gebze_pospac_map/pointcloud_map.pcd"/>
    ++ <arg name="input_file_path" default="<PATH-TO-YOUR-INPUT-PCD-MAP>"/>
    +- <arg name="output_file_path" default="/home/melike/projects/autoware_data/gebze_pospac_map/pointcloud_map_mgrs_orto.pcd"/>
    ++ <arg name="output_file_path" default="<PATH-TO-YOUR-OUTPUT-PCD-MAP>"/>
    +...
    +
    +

    After the setting of the package, we will launch pc_utm_to_mgrs_converter:

    +
    ros2 launch pc_utm_to_mgrs_converter pc_utm_to_mgrs_converter.launch.xml
    +
    +

    The conversion process will be started, +you should see Saved <YOUR-MAP-POINTS-SIZE> data points saved to <YOUR-OUTPUT-MAP-PATH> message on your terminal. +MGRS format pointcloud map should be saved on your output map directory.

    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/images/crosswalk-test.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/images/crosswalk-test.png new file mode 100644 index 0000000000000000000000000000000000000000..83065c11aa6185b2067da5247dca202aa24a648a GIT binary patch literal 405810 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

    -V`$Z%g3B`R**o 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

    =>n7DV;I^P#e0Zaa)n+LK`m}WSZCcf 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

    C>QI)%g3B=0O48n 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%0AT#(%6*<0&o$Hl;l`g7{# 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 + + + + + + + + + + + + + + + + + + + + + + Crosswalk attribute - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Crosswalk attribute#

    +

    Behavior velocity planner's crosswalk module plans velocity +to stop or decelerate for pedestrians approaching or walking on a crosswalk. +In order to operate that, we will add crosswalk attribute to our lanelet2 map.

    +

    Creating a crosswalk attribute#

    +

    In order to create a crosswalk on your map, please follow these steps:

    +
      +
    1. Click Abstraction button on top panel.
    2. +
    3. Select Crosswalk from the panel.
    4. +
    5. Click and draw crosswalk on your pointcloud map.
    6. +
    +

    You can see these steps in the crosswalk creating demonstration video:

    +

    +

    Testing created crosswalk with planning simulator#

    +

    After the completing of creating the map, we need to save it. +To that please click File --> Export Lanelet2Maps then download.

    +

    After the download is finished, +we need to put lanelet2 map and pointcloud map on the same location. +The directory structure should be like this:

    +
    + <YOUR-MAP-DIRECTORY>/
    ++  ├─ pointcloud_map.pcd
    ++  └─ lanelet2_map.osm
    +
    +

    If your .osm or .pcd map file's name is different from these names, +you need to update autoware.launch.xml:

    +
      <!-- Map -->
    +-  <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
    ++  <arg name="lanelet2_map_file" default="<YOUR-LANELET-MAP-NAME>.osm" description="lanelet2 map file name"/>
    +-  <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
    ++  <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-NAME>.pcd" description="pointcloud map file name"/>
    +
    +

    Now we are ready to launch the planning simulator:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>
    +
    +

    Example for tutorial_vehicle:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle
    +
    +
      +
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. +
    3. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    4. +
    5. We need to add pedestrians to crosswalk, so activate interactive pedestrians from Tool Properties panel on rviz.
    6. +
    7. After that, please press Shift, then click right click button for inserting pedestrians.
    8. +
    9. You can control inserted pedestrian via dragging right click.
    10. +
    +

    Crosswalk markers on rviz:

    +
    +

    crosswalk-test +

    +
    + Crosswalk test on the created map. +
    +
    +

    You can check your crosswalk elements in the planning simulator as this demonstration video:

    +

    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/images/detection-area-test.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/images/detection-area-test.png new file mode 100644 index 0000000000000000000000000000000000000000..cb38440b94325273a74458aa18f80d8977e828e5 GIT binary patch literal 366328 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

    `SmbTP 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

    %dT-pk^-J# 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 v@75 z_gkTt8YR9y4b8{C6AoXYehq&()nbdcJM)9iTMx3-LPr%;L)T|NaOSZm#56X`Qdkmp zTD&ibBst){zAT!s*(LB+pd4&xO7vrzho?K`tMDjC_+_8%i!?j>SmBakv}~bz8kMNZ zWK|v#f{u~3AM!*;R_swS#giKl-1`YZwX&Y?o^!rfn{2bK?)x(wXlm49K^I^;dysi_ zhkjsKvH_~wNH&M7qW6fB0B?OIgtcSMej!%~t!pRqrcM(i;(U#Cq%*X}fGZ0m#RXYn zTM9B%<$s^N?WgW+QWMUBW(Riw%+x%kpSiHbAsTXtF!ptJ=Z| z7nC-`*zP1e6acQOJlF%DYL*mdUcH|%4F{6Vej(> z$7vxV(E@Ar54O1M52zE-q{!3l9nu=1h@8j^fz`4aYoCAHEeBtoW>V#9Xw=3&xYgJE zI`}`{Ji79yT)_PCdz|j?>YAGFqi;`zlJ1-ZMji)#2R_CZztj~t^0iwcuOsCDmQm~# z%)i@sk$WyPa3BNnQ#?i3%KyjJTR>I0cJ0E5ARW@u-7TF8NQY7a64Kq>5|Yy0g2bk~ zyF^^l(%sz+3pn@M@Be-8IsX_sKw!v<=b87M*SzAnxn=(UG`Fyi87Yyg(Bn;sQU1Cy zi&#Z^$?$(ln9~$PjH-#Qju#nwAFS6;1)6oEtE;)jcP~QTIZ=KAa)M2#G#{}TL!z)e zB2>W1@&KL+e9(v9J+2qjJQ+hZ-q&{e=jqcRaZe09$X+z;!dMm4Sv%{OL^9r&_B}LD zSY7F+IiV;BRkriLYTBrufnbb^{Seg~mnrvpILs^HbG3>Hm3tQL%v#(mltucDjq$#W zQJyhGg|FfMxHBiit|h$EXOm^&;wL{foD=KMsm0djyKTSdL+@*9^yE)^T9ipcpwVs6 z>6-Jyt!wR*=6I`M6^8O8y8Fsj_eaq7CY1b7_VZ{@MZ7FyP2?5npoL#yAft1QPn=t# zLW?#|kvc11_f`i-OBHWzmuGhD!+1Y+niRZeth6gBQZMJur56iMS1-!Zc{riU`XF&w z9>-cHE`#5+!o3%I{C3cMZ)Q~8akzsn?u6Za&Z}U2T=upV=g+e<(LwI0^V%ACs)Mw* zy2(Cb3VaFRF0T;IU6)w#Brh}^-*p2gl*u@gA_N}6C|z1CrN6O+V`QH|Vv-ZEZUcZaJEpcb%UIk+pgGZuUsrvQ$8QyxFr&gG_IG z+Ln@a0#g3^;DyCMWk;2{?J0 z3quybcqRh$*C3#2(5w~;oI=R#y(Th-`5dw-|TljTEpC8|22dC$=?xY!aewO zXYdpW%!(R$noo;ucR@v9hv)>x_xuf#Yu=H>A*#TU=Zv_dO+mb^@K+ z>xwCn^HrI~!HaH_TwKfqY?lU2aFiyLi;)}}=S~0Pjsm_2XcJ8pktHSIX8{u%7Z=xN zu_ei=S+QsW<=u=I!nmr2hO~@KT59TNE2{`V@O{n83wTobvo@eVeUE3l*k}8m9wbfZ z0%;G9Hr_j0oBUys>SC6`w$iD=MlFiAe&x%q@QNs8Ffgrg_>Lz@R;<+wz=lE_Feu(tAF4ZYYG zEQ=%Qo;`}u1J->g+8<&~1lz7euZ3gh$vHM{Um>t z%PDqbAT8s_3iiF6u4L{QZ|9KycHhflzl%>p|2il~?|y9Na_^@46}}|z^PbS8P84vm z0H?-~87`z|*!vEMm?B*#Dh=DulA3Vk3?8$;48>oGzAP-5*l*n3Z}CSTMKIAOPRvt@ zg_v?FCiorqB|S6ImVQOMAtNoXsQm4h%ps^hJMrjg>IIEkZq8`H%2Ct zg8J0kuvu%ogG1(2_z$@51-&j9frEiJZ2*m?!|#SuG=m%X`|IOvUlr46*q>aWxN5$OSXz#N#!61@D) z#~t@GAWkjB@I=P{LdNIf2gPQi|9xZcWeZ4sHzTw~)=y-ZKHr6J9J%J`bBZJw@-j1hq1m`hAQ-HFmX*GnT3H+|6 zgBpm(w(#;GY#{)=1#gzFI~tGp{-5rMFtfCy_GLyWAkww#o4dIsgNFO>U%WS|H5wX8 zKoksa?OPu)yfOxyu7I1x8dEfoMFkW~FTse$)V}9Q4r&HiQb~O{9=`LDakHV9r{OQ2PD4Bk9Mk%P(5w3ja(TvX5r_KdYU5 z=YK>Z+x`x;5AkxD;p&XPgKR@tX)vw=fS+zjgz>yUkp53|5(uZov=!^npV&WUua-N= zAUxqks(nbs%gXJ_mPUbb#Y_f7{KNvu^@VT^0S%Pz-{YCQqe_E($V@i^-umB;7vu`n zB{cCafHgru&+4wF8Q9nJ5N|8N3Aa}KT&$;9|Gm#y>A`DfResdZGHW*J;d(xh!FgQ0OWuEw)W>BVnp&pCeew7fvkUsLd*;jbHLIJzcPKGfFdkqCa z<8pJaMe@9>=FRkJi=M&8Z|*R73F?4U$ZC@GiI-@w*J0DOY8WH61+fHmcr1j*ZZ^ba zmpq?L_+?EH3gaPxgh(`DWDq4~SUiWn2ENIzX#zTd`$3oaE9y^U<1AZ``EHyf##jN;CsEO3!KCON!{;Z+CK~C$KM8STBPql zO?G^JJJs0n6>K>lZ`PrY$4_D~J!R8c1k26eBC&p;NYv~Az~V_S#bYe+KBy<`uiQSN`6gFb~USt)&@Jln@{23fcfKt)uF5W5kc;!>4#p8PCIt-|tVn-5X^)arVi7QZC z-|4KZYUJK@QCm{dw|@HmCx~I9|E3~ESrjzzqIi4NG$tknJfD6Lt_^G$bO&Xj&U$nWMk|T+;&Zx}bnr&QaX)n8#Vh-;R4F*4{2xy}q}C zHUkZgHYDz{T{IE0d0`^4MKvYV7*ppa^LsA9#Y?k2+EzQ?S#a)BDA^KVMyKi#QbJ0V zlYlELXXzBLU$mYQW!G3eb<5hEC##aoWTC_Or3jQllY2LuU7mPWW8xP-&$x$ZWF(&1 z|wUB);{2A3MZV5yvhWfJ-wCL58U=URfup zaDJ9h7oj0=-wmzH4;KKFM0NECx5JrX)5;kVWpc~P0}6YoF%{y{ zk{n&a;B%HH5v-Q>$M2nWLk;DR%Lw-G{q!{eBg`~k-Nec%aOt~@Js6#b7Mhl$ZwAHn(~I%)C1@d7Ou7wZADE@E)%Rmu2ttwT9L2 zjyU>K4N?tGTNw|%{ZMF6E~gDfz+Vcv6|`Swv7HVP@HgNpClAFWTLa;prYq+eI(}r2UO#~)o?Lfaw?o0b zaeOKg!;tL}2r2|z6$lMExivO6Zrj&8UbBDPvX^*<9^8odcBMAwffcCm8DQxFa8Gvz zPu8&HA3BApE@?`u{*}O$u(SD@^ zrw@XVfUlV(I3rcQPp^Rrg8nopGR7x3#{IvbH?=;h6g4;X+5(_)0}di`U>CTG0n4CJ zv-B3;IhL4=f?^xL(gU%5L!02hn_z-7BG0!|yU zS_DFAigp$@4Yt6aE0#7Kc!uhGtRkM>iro5S8&%6v$5Ez0s(tUTsxDmKGtbqqDo&t7 zNRZa}(-cA5{>!XZ*RdZTmSPqc7gt3Hyh2PZEyIDg4wx~)T(M)F$c>3p-BMvp^rFx* z1ZDR7!Wrn#Qbf-6g2_@0p>xNolLWh@kC-hL=h5zMK`>hfV^BxH3`@`dyqc6%SQZab zLwd!A*};G;<$R)R&$ueYY94e77C2Stjhufa`G~x$+Nb34D#_zs z8+@G5Q1~G;)5K+8bME=81A%Cc0n=A>{O{~W#0~exMZZOD5|KdSSWG|Qy_(=GPJ-|d zYzy8U)T(1XBo0H*1)e`6`_|vUswmg<*Oj&Rgd^yXBaFJ*B)-~qe#ZH765Q6`{3z6> zxm?MNPe>)FeYLI2^jh3R!Gu%H${H-*8XY9)5yMlWK~Pkb=C}2VwU;sr68C#k)`a_; z{d~ySe%v3kVs_T|dRpJbW4i;IFccE8e#;c8F}WQs4gJj)HIb3|z>6_o13HMmTiZ-3 zDihw1o|!*n0Ap`k$_Z(l5V`+&5c@>7`!d%v*Vewyg@U;Y zti2+>`lQ~a(1wG+H$OW7F)_4&Jr8{Xea2ucgX83i2GOTz$YbIL^V3p^ zo>QiT)zT&XWW{&1LGq5ZQ9*;Zd`n4#x?#kX=z-3gC9zzeaCF6Ha*l|g(f?XWeDag_ zl{Yw9R(bcT?wap78^&dPvRx8;IOVg5$b5V7P4)V zUT-@{NnrtSc2y<_5roFxixRGVyd4;!Cih~->0~hU@=8ad@QIzbYh{b?Vp!eeyoDwr zoWPs`{9sgxv9S+u{~ns7l2~9Np|5*nb4d3;TmW5I?#}ASj~_oQ(tq~!z{4^Db4JcD zCREPod4DLG`&ho#crELxb)#&?UVu*92wc zuT?$ggAOYJFn$6+d;B0R$a?zr?Hf>Uf%yYy5&;!FEj?WVuO9<|;jXBDCGLiX0l=;g zQ#*OK-uh!x=E8S#8~TJ?Aj~y|5CDcV;Lhk*%5*LpP}PF&0Mt7lv5}1pS^x@|)M|sL z17s)`JgHe(7@rh?Q^mTxJXVU-(e?dK3wgu}r8emJ)zsA5YL?AeU&q8{=3TNJ=iVs+ zhftmjC9(V2ku!7uD|5p=*(uR5y^3T^w-_fzLqQ zePsm)FX9?*;M_rTQho{Da=9MZm;uKg=Z&2YCfZb4!z-)tVFOG_5r$ZY>fCZvIoF-; zq=_aUHSm=*kOoK$(#>kq-tJ8s+8Mqy9(_H{i7xelmRErOrx6#psPY)|_8o^{R(D$VPix-O3yp^)J*3Ks zpL)7)WD9)+Glt%Fe2E>rkzgVS)gqTTo@l$kIP_^mtKJ zE}l*Fha468XiO6J@ABv~f92#3MEHK)&Fwqb#uy4q#|yZro|6

    Ns*U*9Mo%@ZzwrIr_cB$B_#!PKw7LJtdMUpF<@CY3&wSTi2&C&;ANF; z`W1&O1@hI2cjq-pWWNVs;iP3`tpAFm0agmA^Iull+{?-90zSKuhTh(K(#rL4q9eTh z{+_W46p5NyR?vvDeQKxzrl3G(8lg}+i8?WuUdSaRBoBN-!0$B82iX$3?4hEe=4NJ~ zSwRMU9qP1w>KkR@XvxlHERODL@&KFc^z<{_(GWQf#Kkc^_54q%{-^)3%rCTbx?l9~ z7GAzpW*@2hNbB*Oi8N6M6Tyx$AatOr1@F?~j^87jR?hI%?&s#{_0QTxx%NXQ*Ej)1Xht=8ne5Ykq zg_H|DzL*xE3UEfJsp8FaFR@}O;UG!Oz!4y31k!>u@N(L#nikrzDj^gFaET2k_56c%DR&=XoH;#+*ecersNUd&}9wv4V(c*4I z4bXFfu$KKmSlEby;7;VJ@R!=G$HlVcuQpn6;#V`q;9LROWrtPhFS~@7PBB57KvmJQ z$E*)nNM|7PEDQEc5LTTCi_+Q#9S92?umXkDzJop0WG~c)vOR>rn%&fv=amZzl~NCNXS#j$efH&o_KP3g;hi{70QR zH3+8&_+bH2g<7#X@B_@9A!S$b$s@0OOI<#(8$1Y+q7I-$1`vg6F*X*rh-R~ zsWxy>244pM11w{Km0%ETcmm&0$Gu5b;wcU#P@z2PNDt2>{;l-^`*tVBpqub%@JY}v ziw%N$|IEF0u`1J*(mANk{{6UieEz!p8>IGc582sM5vBl(2{nM@BgS~#_kXB_{H8{@XCtvSP2MqhZ_A~hKcb1vN#5v^BhonM!39%GjN9=XomJnK-VPoPQ| zgey*(H<{%AT`lrdROLHS;5#kB??S93KAQ&F`jtP?XUwHKhpB0jGxb);C=#LB2q~ed)88S@MsGTE&q+nDN&H$+mGL+dvTV4TgXQGa@sVNH8ZE zxzq&@4Bors*g~xkFo8R>PIIsDGo8{-X9*n(V^(Ofy)!g!eiS==L` zI(L@g0A;ab2RJFwC4zp?|5bIsUIlswR38y%eQ-~E1`jM^02e(Q06uTfdH;KRPcX#{ z!G=1_B{=s9Z3rK6=RBfBG?zF zb)7NdX-`W*I06jFnH%M6J8YQun4e$z8BHb(i^hemYJ3-rl^c})3%kHRQzjfa|3|Y_ z*bQP9CEnw*YoiuhHKITfj5{mf1Sx()Bu~ zU$%Hsm{Z)nCYB8pt3}1)6L#C;6xEp*AB(% z8R@Bnc1~BscD)reA2|oZ6R>VDBr<$uuAThRrj-(3UivNtLWoMb5?tCDKAur%!96Kmeo0>Tn`Q|6C zi2f<08?-r~B+}Q&~Vg_$H8V^g%PYRbfUnT26cTs z7daW9F0rk2Ij47j`q*u^e!k9{SLad)s@1`?@)jk5h0I!Rq>#F*kntOUo7vP`G`7|W zlY!8Vv*RhM+u#abr$b$@o8!lkIesmVY!AV-h;&4Z3dqrYZY-|{$W&6Dy9 zLskE|How-31^t{kr>|p10jEaKa${vwHJG)X{!1kiaMZFfB?AtFj z?b43sjXHV%5 zgwP!y=UU>$bSQ;Fr*WJ{ z(#zR1J`6&ZSdUpDXQ-#ISb5-0SG^9frs5V8Q)W&Av)9tYk^5^PVK_TGi@3yy@7SlZd0;rXYu%-+ zs@txgakO|I|e-p?dw-{9wKdw=^-N6+tQVUs4Kj5 z6R(Ui=(D^;4_+?-*dsmL%w}J+LD!2(x>E(LL|t;%sdy=okoA_P=qJy^D=(MU_HL;Jf?8*^Kf^<60A|;%c(1Q7{pN&$9{D{p{wpSY zCJ^{N~LZ2Eb zbqK0$lC{_)?X6Y3SmyW zyGTz7AGNUScg7U$BQI8P_}h|HPD{=;kb#WHxR*F`25_asK<2T(l14946g0iN;wIFT zgnIPnL+0$Ow*Geu{fG;IOL@&2;TPy(f(ParsuW4q7C)60pw~z^y+EuvRcEiM%T>-Oj6aYt0z8M_b3>pa3Uf9t3tNaN;{C{9ZslHjW%M|=LsOa@f z16koa02_cc{(J*0LeR~P?;t~1_ec;s6p(q{TFFpXK*yY%lG6KFTdnoYJlpeyb~0dC ztr}+x(Zg)d>*r1lm@#p~-T-3C^*wNn+i&?*LyEcsvO|-9U~K%8$H?M^g7o0!-L9Xi zipdT*GJ4aJo-Ho{o;ke_A_;nED-4MMqbazcHYk1qSlqU)vHfw2B((|yUmUe-^n@e} zl4ob>IA;Y-BYOqB*e6SD#boa--dnZ31T6;d!cwL0p>-TBQ{q&)=6(4l zQ6Tp*aO~WD^KffF;kl>w*E`fgQCT%39eA47uq9D*VOPJ^HU>ciNbTO>HUP1)SG{Z_ zf8M8M{Lm{MJHD(^a+bXBs59N`TB*Rc^uM)kkJhDueK-imq^6=?%B z&?+_?(FT&YXz`t$Jw!BIc!(a1=@rwK)BCJSDr(wVT|84qUr7#XSDi)|-Mst#4%~&n zHxmAs$ePvu!_`UJz++*)g^}M`ybmbGUX2PMjiRAW>W6NjCc9dt`i^_+uOQXt{lnIr zYTIlsbijXsKp<_Sj@=}=9VRp=e72ARTOpC@QSBWat)t(Y2;=VcHyHVqNU04<%beIP zdL@(0zI5Gnu~I4OUdfWvZXUT~=FRr2Wn9BUu~&MLs}D1Wm;b1hOGG`wcM# z+(j-nY3{gZ!JPG#`!9U;WMF`SI`{)ddhjDHi{#0sAYVb?F+b|NNF60=z8Vv^WoOyL ziB#-v+N^_ah#|0Nj-w6lm5Bxh#6!{vc9p=~vS{LvTlBR;X?w?CgUDch?9S4L=j8c% z846y$sM(Pw^L3^u(+ym6wskJ3ylGN$^e;_OJ|w?1ePusNGG9+-)7!;`&Z;L%cPS*@8f2UfELi#1X`pHYhJ9nx?Cv6|b*r<<%UDfq8z~`E_a0F~M+@kI1Yma= z0bdci-TZkr$gj&+{Pq+3dUDDMGo&f%ZRO|r7a#g?5q7Rme=7)ZbilPlXAFYw9a{xm zwWoq3VcTqYMepj28fYb=>+_E-baNLPl}}g=?xJ@!D#|EwTnGad)VFT)KGST!H~$1L zLuy>BY!v$kic)(HSPLoRB#22-Au1$Q^ z^%roL%{)+WI^Kq_fzu4k<}`{EAi&l|&m3fAT3z0_ta>3Zt-U$m%TR*NkHIy3J5R)I zZj?CB4axG8gUiMf80y@9m0W`xYC9;lW)m`};FyKi$MU36Peq3jp6+7d?a8 zKdzKs)A1cshMiv8$JS4n?suR1jJQBRVTLRa=)u5G3z6aYyziLtjXm#k%%@!)k(fSC za7v8L+VSi(=opI6uU@$R%L6ZK_9dN{K6Y~?V>qDG&CbF|s1NXPL!utqxwPQV0G+8< zxhA7C+r)(e|0jY6QM-s6Ed<)5?LE+D`&b zy`L-(n&WRf{-|K_Vk2^rV)Z%}@9;&6qD?sRCti{Hy_;`HyE1Ac>O_zs%biJJ`g42# z+eMdk`bWtp*2`#=EzpgUF-2ABYKz@IpU$lWWKC0 zv?py<=yj&E&zbfa0$ufF_@UR)+X0j}Is0C{D$@L)Y`f;%{fw}MaGOT2VSdLqk?(y zH`2r}nhzr_l;OyMJCPq_0uUM;ZOuoYHys;z`5yRDv{tSo()|dqrypqgW8rWc{+rC3 zT)z?x-@#k7%?jV#Y)<9rH#Z}9*f{0talrc8EP+54QHEm0xOOf+PpG*8$&nEIin|b(OO%Iss(68f&lW&?>ewd zZ7crf+L~h9xKj(&`)KJ-Fi6HB_*qzztCKG6lwZe@MOKF04MWm&+ zVC#JC;+Rxca+a?l)~div^^d2?L`X7ehP;9i8e(CnNNo@XP9v%A+#OEkDNS+lJwK# z=(ZbTHb<{^k<2Y5?KOU<;B}%@cIRC{R}ZD-4Oul7*9z%1j-)DNyKB zpfKIOG+ADS%>52kTOFBN4PwCWf>RNH-~nhTA;2m*z{lwjgKMzPU3t7eHsFe`SM6|6 zysIGSAlaOp3Rh5&&J-R0!rgSZIpFAaH~@*ExNfrV+%mK3AH=^dPr1=kfwK3bLMi>3 z6i$0Wem2Z{-Dg|l=)9B@x;4L%aLfY(hhMGr-XmJC9Nh`MG|{X6PwZeLmH9ER@Axat z-XV!&gJ2qh*u2!X$w1iueK7Qe{O6y2TeSDl1Ml7RDdeZ#!0|ur5yCLm=DWSp81G>W z{sp+M_Uk1y2l+EXKK;2{mx5zXZ<~w@%lu**C}4qj{S zudl8|DQu)se5%8j4cX05{-gDaK4>zAF|G>6{Ri6M*VI5$Sg9i`#4CtDk@YyOyT;F7sg4;?xJZ=h;4Y9eV9?U!Gn(>7nK*vq9>1`m>!`0?_)2J7%f$tc2&PZ zWBwm50GRv$xu$beQizIB0`7RZGp8uqYp<=-4z`K!myU&Rz@$Lmv^lTzqe`p}fFmbp zw=M|!7`fuCJ$I`frrKqmqt5*9lU(_yEl)O-OlPlys*;TbayVu7P`}Gb2E}{!e&5s9 zm-@q&%eaoYv?t+x$9yAn`;KE_%ZAh_ZGvIr9fZ;U{BiD^U32-(CWCVW1>(b#g#}Uo zh`$Rrd-&gC*meQ(xUA}1c5xdre0_=}|57kgQ?C{DIG_rA)`H6kdxQCW;o>R=Zo8=N zycp*aUd%i5pUz{>x0>#u8dTdClBXo>NL9{)ULW=9*B;f_&RPBM6*w}MI*K5>vMZ|9 zZwkEH{t?`@&XR)Kd7~))45K~yN&`Bbkk@e?#$K)t?T)A3^y44BPA#AAfVaTX`bOD) z>r-dPw4t*1@DV+UL^5qGfYE*>rX*_eH`q*kH>DTfwbcK%$}99+Sr^wMl_#~X z=;en7=X{B%U&vEM%y43HLe8glLXC}e=JU>;aJ^ab*L@9g>}MC#X4A6L7DvucX9mp7 zEB4cmkA{`awtRiT?e9le77(x^SQy+@KNE|x*RtQK{q5i9GF2b39OhJSjwQQY z>unBoEBMN_w_9BGBx_lCZ@zw?yQVddeGD8WOdVgFg#>qPHh2ze-t#F4Z+VrP(w#_H zo$Hq9^ACPK4Z76-nMavx{~%jmX`zlLh+vn9J4C_1gEE{cur-nDRUZ0kG6PQi>QK@rBT-V)GyHk2zwtS;6KA&KV+&s zMflIvqii9B(-J%pGfz!vGZ}U-3LM-X7-*h6nBK7O*!F>ksKZF*U~SE^zP_%;&M!fg z*WRwh#wMksZ81wVX;I7-B<%~!_6jH15njvmE zJ}Ix9dCU+q+Y>PSkk(=A^qRf4+SHaTsZCEAur&^R4Z+rz*a}pR9^y2`DX& zpZ<#jhxYGN`(O_HOn%H_vM|r_5_;>w4mZq9aK|Tay)Dn0h%J!w5_7_9!Lg1_Po9zV zCy&xMMbpwN5#4E^czxaG&5wJ3t>T^OG%rGk2A)&Kwhf&_^$Nd%A+pWG#c~zJ{cxFe zaUX-&9a7u=8B4fyWMzRqCaKUbx|H^U!p0AB$fOh4k`rpQ(|YKW9ktC4YoE2Lsyz29 zS48j6i7WnTmaPZZPKNo|0WCsB)Gg{4xx_R0zHNtMQd;2>S#=KxRKr}*1BV39fIg}><_5DoU(J#fK=Ma@Mj){iFw#MX(%BG_R~mg{>R62>ty0z0XfE~TdlOa~ z{g_ew3g$lYwA`WxY;OGBi~s*B4(vU`k2`7f8D^Oe8oide)R%K~#_+GzuVS5Qw$q5# zP$7GG00gbX?U$He1FuFx0)D?>2?@yMO*UO^VV5q$_l1I+*4yFK5vP}y>-2~1yBPmK z=U`=y4^Ah-T#|q}xaIuFJG=5RiacYn#Ym*7TqmR}NG1qwrr|JsQJM~fA#WWvM11WM z)iIwFRhg{x72?sr@)N#`F*mv1*AO+EBy%UVSwg?R>c&-3Y@Oxk$%4aySCI@{zDuiI zxz=bECWIy{fcJ~=93Nic=9Aw4+%B+d?@v&_I+ti6-aYz{-R);sSeWBWlV4w=Zb}%i z;B+_G)=jP46MeDQ5im>L*byLGWk)Z6V=W>cwJz`tlbmj8DYT&%zuq&O>1HT}64}@I zN6_mA&k9#$ACD7Gjzce$37fJ;a@_D@@pGMsq8Ga;?zM_v3xhkdL>G5@WvuiM=SNrV z`EEpynv4x3^&~$}w&MBTyjP0WLqp@eI6U0VQiELGa_4kcs^3Rg71#aNoO{cklP-$3 zzk5_Xnfn#HR)E{XWNsgmRNxJB5_O!cVrvw((NW$QmuB~#$!{qCFjLy{;u#&9+^4UH7_>yCOv!r-70hyN&z+Ms z+jCtasKomRVFg47O*Y9DGZcS9P*yd{Pa6NuE^ayvcc5QqLLhVIg)7sP$bM*YCoEQm z>>3TAvoVJxv!Mwg4EwXs9}w^Jh)_u>nf5LZ4=X3LYIEOXN`yt+c8r{ya3W!mo6Odj zzH0>JK*A71hi*i|Kj(YFT5X^kVuFRJX;$j%9T$X&aBrKhmi|0$N;_s4YICFdt#K1F zt1G#3M5jO`qI0`2)f_R)H^;NPci8`zxR<9ok1MS1^Se*n#pM7P=jIcNsPwHnHpHzH z(|n`VTK77@l2-O7Zj&@ivgwf4p|IUMhN0^$xoWVkb=F&) z+ladm{;VLwf$~*-J!$z2luxilCL9_!faHP`|svZbwcFLP?lC*^t$JS@NS$=3)|I_s8|Rs+^9%~s3Q*Qb7m z&e_{z;teq}Mi2p;cY9SmLM2Wo8TQq|T{w4BA3;U_nM3Uq0e3hb zl0VnjtiIl?OQZhJlHdKI8gl@Nq2A@+>FI&9O~`Duu}phPJk7Hz>_|W#|2!B^hx3Ta zg#{jPP1&pYa)o(wsy)faD{xcr{4o1ZbsKicoaHZjU4YkM`ZB6NOqzOhG3r&c;Wg{K zuhas>P!DR0V;kbM5&B(q)Dg$(6HDg-t-u`7&qu*31$c#~hWBE{CftN@AIG;mTSgn- z2d)f>lURiJr-l*c1hg873|k2FY5ijNYG<@-S>Y$VBhd9Tgs!Zi1XvS6-7Y9{GHe%E zsj8~2ctIdxVtouk=Ou5-iu?Mgf*O0}PoHJz$;ZIu{?ZQ;Q?|e{05xF0xk4H_2a8l- z)L~?r4vqlU=*X7%e+3=S2dtR@tNCcSMq*_td#Pk-&xU^UMdvLsFTyaE#(A-qY2QH^=-D}d^44H##`O1GmV@fQ~lV{%fq6fQ4-|F(U zb;GjEzb&Oim{0vAMh#dX|C6@web^7{mYfy_|-TB;M9F}r3ehx(pnH5I`m^BnI6 z<^dhoo|2N`hhWN`sZgw;rLE?^X*a^3SZ6j(G#}gNkhe%53DEpX-yaHRfnK_}_@!67 z$z+Tk2WT*+ZMu)g{~5~d+fXJr$A`+-AFqvBj4aBJf&P51br5fHOhh1z5ArOxuTowTgs+P#D56PyfuwsU!=)Fo%)?? zT|JN2m)RXE2b!k?t9S4#U-KzEI#y~NLt<C+dX1+UViHA2SIAuc1^1<;3}H8(&gqqdI?V)8d$wyg%!j|r3}7mUn6Dgzfwt{6aB%8w%Nj1?uhYRF(LKXn591$e`x4x(jsx#M-w$E4Y4cpivReV~sR}G^FF_)_jsR_zL;Q)}08}U7IhVJG(S{@y5 zgEZVt@YcM7djbl~VGuyFyT5OIxi`7sI6wv`0ywd4w?p=Ym6b7%kN+BZDBaB?-uwoh zwj~;+0)UJS2$&t*hhG0GEH4WA$G~X_GInkO%|YwOv2NH}P10%PrrTHS$&ZkekJpxM z3ZiX|UOQq@)xBLlqkS`m2)Pb9neXed+dfZLuu~C7jnB_3*sEaKmY0K2@`(C%4sjIU z1-aUgPQ$~|)&5=g7rWU+eNJlMd4F@lIOQENIr4_YFFy3X5yl+$$aJJ8jbI)8+6mVz z{e5;iI88-bC_u1|V*M96_3r`hKc0fxqlnT9GZmtT4reP4(le*SXhI^cNg@ZNQ0?9Zh=(j)wh zV%&TassOGBh5)=SeAy7G0Wy~ySQs@nrqC%Q1MU{gSzy3aUpB2!&fT3KOjH7xp;#33 zc&M9Ock~HzpvCQpr&9ngHL0Le@Fpb17_Ti1@bJ+wFvjNRBSBg*pn?ks{Hig9Y(3oL z_sb!kK$)Q020$L?b6`wi46+?;mfAeW`Huac?wf(Zq~QHQ?W43C%EEy_=Qb3k03 zS|(VYp<`k?O=^5}1P+L&r!oGd<-9<02;-bV&r&)!VBt70Z-TlB<#p)!$Ozdd>!Fnu zN_+45`G0dHVCLE|zTMcR zXX<<~KHwZJy8q``4*x{rB+#_F;sryoH1$hx2G!WMUFkzB#+Bco1}-DK6!pxE;pdTp zmnDADU^ThOGzwj`S?ng?=?e00;^y0E1ucMXlSKtjRcb&li7~#qxhQ8BjT(F zzj{{3MAN~ye3#I(pR2q? z=;Ay1yx6RG2tX~u~!{Ni$qB=*YCwTj*)7Mdj{?rL%E$xKmsEGcN(~!hxHqQ_c%e3-Z{lI zDkf%PYASiYvb_91QmX!v)!C~&7aX7)_uJou{vWR11DwkK{{t_3mJmWV*<^2#6hfKV zqpa*r_AZj_O(n`WWbbo~kgSkBj=ec_GS9*PbNBsyfB)bAe_c=4)pb4B^IYe?@6YEw zUnAe!)m13X=B}8Sm<9N5*dr-OwOftz-Zb_`!(TP3?iwoX%XYrCIIIZ^&L<6`e?j9m%Agw?6#ewjzily1 z;u)NvqEJ4gRkqJ_Z!_G&Qio;xi;mR8cX$}?Lyz|z z3iGv}f59n+Yr^}RGXqS#*o$8N`rUnN^00uKA`?fgydLmLOALtQzBD#Z{gT9>%IFCZ zd`;8OFlQQ+*w~VSAl%? z`r8{~1k88r(K!Pj4Ayo7aGvZm&O72c7lv@6s=V4Kl=($&-@cu!JcX6`bvo8G)mP1` zCzEUY;swXCZ72$pu~tbEgAK7uSoNPznK=&12TEB$YJ$sb&p!{Zja(ULVLDszih|b$ z1)yI|O-UEa7&;CB0jEx2(e3X7KedIb76`F=%PyxK=zKs*9R53%J#LIKdc0j*W2K%w z@hWWmMpYcg-XS51*X95I`aCmkTn#jq^8A*FwG_|)&b|Wrgsy&_3@aBbU>v}*=<3;9 zaimXZ3;M9)+XQFi3R`U*WjHR*&H^$7wjZbS{eyJlDW3TrF2bfFD|&`Ma@UQAD)YoD z3~lW%Mb^qX?q{z?7Bm>(*~ux9zOTFgwzmJ5mdwqE@#NMV%Nvi&N>h|=)~;%kqzC1{ zzpd=}s4%(5SassPhA@?sOrH-aD_(g|AW~hA9j}}l3$ui~im&hnKeWgmb$_d0dSDS$ zs9sv~7BoH+8|@Y6zsx2t-3^T}uh+)jiasyZR9-ks^1Y;`Otu_%ZM?X7akT&0_ZSknwT&^3zHP*L78oSKs|6xR4+UMQLi6^ zybK1gL3ap42#_R-=bPF9YC9W%YQ;kIg}vhp5WfMqU~aBGt_?^FjZRERa$Yg7w8mf0 z4^aT9-{ZI2&{NaG!E@@W;vc~GJ)dTmpA8L&!CDo#pKkq&{z_$svNR8EQl6oC1u8v`p&78xjh zEm-n%v?tO|{I@8!^}iEn_J0#-o(lZcKzsxkH)IGY3bdoxY9>38Wnd2Kxm!E&XWFr% z5>z&?gzTOsUh!iczGs!5LQx%4$=>D>zE8W*_n_{SA-u7jW`DiSm3nH;Ff^HX`awwA zhr_>Uyz|IG!Kzk@IB-#PI~esljAr4?EgOdFV1x+hkZEbpg{sUZY(UKg)ELzdV|M zA@=c!y^a*{1v&*l?IF%|Q)MywLO@NPc;^b_Bf!o+9kh*dOzZgX2DPpP> zmxV6>2>G9`rcX6_^FdqI6y6oS@`i8(whyraV&F1puzHSz@&f;;8I+s$0_E_yVCGLU zE0x-y4=)ft5l1*0P-C?`?zO8j`xsnA2e3yY21@Al1u>e*5-Iqv=JyrIMj!mUt^Xw9fofQAy{YR(g9M$Ew?1-<5|0FtJw2el<7qt z{Zq~{xUlEG6&owo|D3 zu$WNId(8Xq*k(-0a|p?BPQ_<*|^_SSQlc(`Sj{PS!b}ofW~Q zpMEVZjcadL;)lA(Ps6<-vw#f`guuXHF52qX+?;%Iq1S~^Zf-6pUGVMF?AAzWnY4c= z=z-LAw2q0EY`F^5)OL1O$X)$#EzY+L{Q)#yqVR0uI0zEmNrW)F+=b8TU2a3l$G?mr zwh$WdPu`;f*JW$!>(P#gBgbT8x%#@gDxY0r38%?Whpa&CGV?m9SMqhP&d$vAL26vg zmj}#fsK6N&n*sx|5VT|n`*93?a()HH7`woL3eTSzIR;s>-x2y`Re5)xAof14Q(TGL zDjr{MhX(pu2R~=aGQ*Lx65W;8fd9*fY_X@SA5%Jp0%U~eL?hnxn<6_F>c2W=uj}Fb z-no-wQ(>6td>&q6SJ?I>b0UoRQK2r~O|LXwL-y#l)o6WaV3=GI(?*FMG~#J@Eg*o! zHx#M=<~98zb{2HFp{DcNFo5-^Krw*r#SWL zd2h4m=xB8r|1Wt4WzU|XIEh$Qv}!@LP&V6XR}!yabt|ZgH-9u;V{4W;0V~8q81*C| zw3@Ys_uj5|jDD!~plEvaATL7Oa90-g$vH2gWZwGLw{d#0c799Pfjsksr&5Fnb>6z& zQ6JO&MGVt{ALGRF8Vqa_rtVvYw!$i-9SA||i&P$p1_IzX+O$~P`xeB(cH;TYdD`-; zdU-*6Q&~u@>SD2zIjO&F3^C?e9;aT;c~_ad?dx`*6kJX^SH){0wm?t5+B z#Foq#Zgj@H^w_cHEyn|e`Bos(|Lf7NcXCb^{l^Ku9Q}#Fy&C?#8udV@uav|gcS^z1 zb372K(*fSggJODCY}A&QbMasA$LxkULNyb%ECL^*{(Pv)`Y#rMLiu$Q*z3GL)aF3l^%(f4;p=cDQ6!|54v+;1BXG2-0kB2ry12_)|X zX4-N?*;TOhQ@Ut14o0A2c-P{Kte6LpoY@8`+VDU&f6>(dYzpxZHg^qR-64mmYUyL_ zCpVMFL{9{w@DTB?tOT#(tpyb)RLR5mPV=^clnbzoh@bM;Ot2 zSP6w@I^ga~UF&_smv{T)n8rvdQ+ADo-77EfEAQ93PEj{*A+bJ#>iCYiYEsk$ESZl# zt#6vfcqlL2?13%VJ?|7Z(`E;Sio|mw)1FiK06o@rH3k8ud-auT z?RrZtIX~Vo^yV~@28Jx-Dl%_DMs}y9N7!N2_Ps<=|;Eb zrpXJTgC4l24j$(YEldP&2);FwEdkpI>-YMP@(^*xeb>VPGh*DR-t{jcQ#pQLlH=bH zUX0$x&o2WELMl1*igxZhJAxb$YBAiCrRwj_<_?{}4(hWZM`!P^x^;T9OhJzmHB zDX~t^iKq)k6|rbgA65rpeCnL0I_jKfwpw#aUPdBV3ze>4Cm(=wwud)2HK~)ld({-M z)+E8I67`OZDf6faI7lQt=2GLJ9Ccxj%xDIc3wW!WBZZd@Uiv%_R;LnCTXN`>DWa>413Y z&7b=VJ5Ie}Zep(Y z+1DzXCY@c`xPfdSS@vV#IOqsru|%sF;$U79q{JKi;P5xwi8v8R1*v!l(&7Phk!CiK zC8NH(Msmv%UN!PMp1|Y8sU4`6k?1MhT|HzT{C`zQAEo6b+cDDYInywyrr< z*Fxc!b|vG3ym#=G9ZWFremBK;q9*|SeeLh=L9X-4mZaR?8LB+2`;XgEpDK=`Zbew^ zHLy=?old#+RA#p6*HDC85C<{b=WKW7{NEh>2WQP`znLxg1M74hpaKb`QTV}eEY&=q zwG^~|fBoQVCg^>Z&u80Y#_pW|SSrVH!5bq97FV*&%Khb7ZXBg35)Q%wHI{~y=!4&( z(EIFDpxj6tr3^-k*E5QwIq}|g8M~Ph_PDE`XxV1t1%({* zPjgTv&kp#8UC}RBu5o|zn(}YM#l0 zz5A+G@9KnFW4o)wUjZ8I88{ab33)*`G?)T1(iRs@yHH;IeLtgGyHwb21R{rOBaetn zB1n%n?NKjYcr|>d@Uta}Qf0=JQL8(okgVaP|2!72yN$z=s=hd+OJ?doB&WL{khgx| zc(K!d9A4)yn&Zy}R=z8Jc0|EweRhEEFx0y*u!b3=!4}D2CKaEaEmzmPGWX-ann{7! z(hd0a8z_|B@!s5_xt4D7|H3@7A|nyjg8waWNkv(_^TfYNo_r4G*Kb4j`lG$2Xe}hS zefmtCIywn$ozSNIC-QVg9qk*GX`Jt>`2DFbBdOeCV!pKAhIvy^_m9v^D{ery=30sV zIwg*y{Pw^aW9gH@!13hu^E9>>F~5wHA9HFT7NvRb;3;^z5zUP$eUU$PepGxkz+E}u z$-_$?28J?Y3(SbTRN6}dq1yZ>Smy*3xt^{ zafT8>NcwjJh*-blBwOs3UgPd3q%{;TLzgLSQ0K2Kb{z%{rGxomF3;cG-pNTiRl7TD z#CH~2kET<$Yp)serPCLk!ShMObc>-~Gj~+Jv_YElOr!e3)MFE3IhzaDHS3$EPo1tE zIHicZj%2rosR37j=fPURKO`0gqucI!ah>G$tIIO_dS#GKn{b?*w-FZA`A16=B2H~d zp(m)`+}&K=PwW(R(RCZCO{nB_qDq0F|*lakF+P7qVTh{1b%&W zV*%2dYX6P800wpS+1oMr=s^N^$Ct-Q<@%|ar7;cZb`(e{R5|RXbRkwhy*-J8Ni$0g z@E!Tc!s7H$gIqIzrjCPBP!U#^+);*ZIiSS4#q;EBl5v5hrfA2TSvHT2CVo}fvNI>& zl3$4eTh333^|9A%9#`7f_HW1|%ymXrl}C$S2YYF2*8S+;!WwgWx`YT{V;Wy$pVsus zg#qe|K~B&wh}Ek4HNCWWzhL;f%LQBoz=+HSx-XB2Ov9>h7h>}xNuc;dH2h+vv4Y~$ zEouV9n(qKUGZr9f(r7IL-KV!(J4sOA*t}x3&l-zaGa?a%r3SS^{c=cOyNT)9x5&6- zMT2qr0sYebhpNB)MZ<0?y?4x7)el>*5AUvO6OJ8RsddhNCZ;NPBY*9Y(${Rom}jfy zy-0OW{-YvIj@Fedcs}QUN?!BbxIZedx!qCq4ul`7_Ihbz^*xcLeu3P2j z`}bNZ_od%;f(bvLLD|=19oyd<+o09V|Ic!eHj*!1Z+C`!tkyPxOJd=!4?;|_R7E_( z!oo3j?D;x4U`3^r+41Op(MF0%cgC7^D?JK2n;D^Os2*#4esb{}#m1DML5agx_$~-9 zU6^z62VMbu{6oZZ3_M{y-~`U~V&?PhFFUok&x+J|a{=yYVZxGa-|M5$z5MYquv4db zSqY1}jWb~nM_G?P0>h4!k=VvG?DE7i>={6ruiESyI_zT}Io(!#muhIl-(Ep6@LbU9 ztgY=zTR2e|I147|nT?$--U^&aZ!-`QT;9d<%KT9IPr_PDgM9!67uejPR$tR+psLfN zzNXpQqi2a0g+hHfzT!v(h|MQevgUh62VcR8`^zD!VuAI0EJ_k%=oxfnz z!5KQ|0(t$L)p>MM-O!(y825aC0wj9hl(tiNpSKKekmep;bXe+Ubh^A6Kc5LBkZ8W6 zkHd!_+p_c~lQ$IoZX2VJN2_;rCM`<0{f)hPnDZ2euG-SUNls~~26-_0fhcpe5q%v0 zTME#Ilr;SBcoLwdi&V)NqQ3qH>20z#z*je>joj!eV_X-=broZ;pv(NP;)vEukQ`hC z#pcAJVB|h+IIm@4`_^!S4!&Gh;Lx!E^Z=6y=M3H3Luf`N%;@~ye9{rVu#D_oZK%swf2|h^J!ygum}SIvePWi>Lf6Q`zK{kfg(F1( zQug`#1z)S=ecyv;WLB3TY5yDcgBdIIWUc9=zkZhd>wux{JX7%%8f&Y6b9|^IY>*fl z_`Wr+GLCtBiR>=HDPL#sivP9N_#}AWWCQCd#Lb6C;O4W-c0QuP-T6a*#()j6TWvE# zr*4&D>!RiMF>&|?V^6RCmE?1>0FSw^I@fqpZ}QRx2IK*Q z6OK&vwAs9-q?gFdnyWsxae>z(s zo)fcGG7kVBC0!PJ+~`uY0HUoL<6EzEMy#>oxnzIq5G@#&zG@DTzMLghmoZOUmg30w z!;wvF%jYT+P*Xb0vM~Z_nfj^hAII#FkGqXBf;aIywlL2avW?{~29?50~jkf4GhHA^Gg z?x{?v36&X2blehDTOWs^dF?C|A9M6b(CLWpr3*n79cjHkg@0wXP1NnO(B*OA0R^++ z;lwIjOXRV;X^fXlJTPxBN+k`u**;`ZZ0QX6_bJLe?C8^HwH|fQq?GavNAC-qw@V3p zqxgv1nQis#XjJ3NX^LkhL8YqU$nJ%lpj&&=>FKrFpo0JS=U+3wbJFKUMWxM18r)TuCqm})BHZGsB3c?ryO203V_qHblO#ABHtoART?^?TkRBaH+H(!i z{h#M~106v^2xg~XrjMHRq4awDD5m_fQx0(jd!FY0J4?7a-+g-rs>0#iAlJYF!6WG3#Uv3Ky!BG z-E~WD+&+NOso%(|UaVL@&7_#Rj{!plO_9{k10pZS*BYs5ewi=Td6S0OkpNhB{R^Gl z8M>_-*b6CxdFKJ&eZJdKC11dr_~78+mC$`67NW4LK(W(&JvBx3zc)%n4V<-4m8*uB z5?rPI=8Q4)z{HU!2zcuo9VGMX1p}gZ=pbJon1H`oVgE7gyA$g-2Rb_SL?6Z+FZz^@ zpw*j`)$5b0)p{7)PV*r&sEqIP0Al8oSnxBssXMCp$vWGF$y)kztO}{imx1?mopZ9! z2uIQz7Cgb0_MKUaA5lNysCAs@sl|WAMN;9$gy}Z*5xvzB2?G@4jnZxQ`#L-w#dxjw z&L7s<{|fy6_V4@c)^{drtM8kz5d-t6Kmvpa((rc@-q9yUNX;80XU!Y`zYq4?Vv#`) zyq%04PNkdsKc15okobLsp67Jk{GO{XDy7f4uR}z0_A!Iagtyuk9l-ydZua#cGF5q^ zv>i6i%`R#oDb)W*?s}h?yQw5CNw(^f;<$0T%$H_`)aFIxp3`bn2|dIQJCb={C-=T6 ze?_P1lID8k`ym`xv*ZX&dq>5FjhCAQ!N+${f_dA@BH2maYb|r=dX=zZiu410TCt3KETd6FW*Q2`f#rEod128_ZKwz{jJH0aMS4W1aNHp8le8 zoO0W2JD7NIVi3Lf$$%jp4nwq(7-Kg&sD@du?N#PIL&x}Rt>tsa$?m0GK#; zR3dRm*z85HEy1@$;>Id{#78%}PT^nhAs}-Mb9M%-Y;I~2-q-R8Z%*()vc<>Eh<>vy z)p!c$tr+vXFkRef)gv@qu$z`!M+Pe}e5>Kwva`J!z+{X8F#mVQjN|v_!jXaA*TWR| zuL5U>;&kvZb+Q5)w%GA0Fdcy4jFGxt2+%WBxo;GHnz#jkY9DpNk>0sh=5$(`3VEO+ z(fS9=7IMW9cO2gzP6)1<*SPV?8lp8qe~>5Ll2@db--@1W z86tkJbpU?7AA@p#s@z4aYWn3f;{nVz@_Y^nAyhu5ES;{eqvADKOO(L-+!{iz6kx)i zJWxh<)5!MTsZkNdR&SPu0&|DHI3c)HLMd-NdTrZH5MKV-*-$znXMu6Cbd$iV3$tJItgEfb&%~c~$l5r;)1V?g8|e0T$~va-D>{Ww z-9mhN@&B1KSLBA&AD|K!|g^00NjD}vjZP$-9N2Ci=G?X7|R*Luap zR>j7iASw*;Yt9!r0151=T^(;mp1VxXXav!7t85Yw5S%O!D*k{3#s@LZmy667tRNcz z9t*&vokFU7q=`dP%Veh}MxUz^dV%H+b*W*+pc%A5&wa=olmaZ)A39Boc|HgQAM90M zh)d!j5H23@`_%s!sF8s03mis5`bsO{>R?X!B|lik;^I#_0J~+o-v&q{NUYcnfR+9N zUu{lqkbS7x$KV4z7fDLnCZ;=_ucmnyR7pY@D*uJF-5$8^pQBpKEG}(@b3D78I-aj( z1A(qnX#>4}Ic^*{pjDN6cOR%9)p&5edch$oB>DAB{IO`p&7G!`Oo|DyfrUShPfA7V ziF=fd_=HYson>i77&0XW-uUI%^Ap@Nab!qyNP5Ke?J;Smn21uGGA7tI?^}m1$sLof zGI4vZT7QGDrYBAe1W%D)griAuokL*&NE}%BD2sqP{(QR=pAxVA(8-59L7xd{h#EWZ z9@Bp;kPP9w!Cvd50$B6qMRKa#9cw^HsJj_|o%I&~dHfB4IDqWx^gio;AUDQn6nS}$ z^n?TsfpJza>Nq%IDEO#4@U+jO{Hz0fs*>QxtXsQ4n6>=uuC~l3hnCFd=MrW^u^0$q z2=EE%z!!@+R6gKnAFS+e#HanCY?AWF-bC+eSe#KJ4j2%L7#YTELk;I%357#)Xfo*I zHEx$TH!Osc(lIfuJybkj3Bqf)KU|*l6NhISwY*Wm>8pCgnH=yPwLYy9bDxzAh?{E_)T-X%%6gvKT25Q@Ng_pQ+Vji#t;i=TDII@< zYDDf4Ca5j;J0ag!91u?j@D&QDusLUNn8th^mP#;s)4!etZ8;1E{%tt~M1!}#LX-QC z&EGDU%d3ufe(x;07DW4hk|=QxasG|bC@3$bo|1-!gibScu=&2??5fL&L50L!6l(o8 z%8yXicdy^wIbqT8=N(4imjH`C#NIj>x-T3kf=wr-nY0U%UiJ=d4XF4uefGwUGG`iATTo{yF2Lx8=& zgE$Kai^Y5S<%D*5Z^fn zOan;AS&j3y7<)Ua5B{@0MD{MmLzk9+J;+6`-&I%ldkDjv*Wd#HM?yaW(`t#FqeRUa2kS*k&if(Ei9N3r`d>J0JkN4eCc-{XMqjx z6KsCV{_q`mvTjq^O&}E%4g4I$j+P& z5rpg-e)gwRa$d7jocibRvp74V5Hx8d;xwu$3Q^=RGBw}Zd#8N)_u-e3v8kx#M$j#* z_Vh>rVq>{;wN5P92>}WqeSDI7p)eWls2Fen0gb{-*O*kk2oj6%y1q0Ut4!M`@!3=3 zKO!5iyeM%a@BA^KZJ=&tY_Rq+w-iT0^yc>>E4<-dP1VtNT%W1cd8o7ATYdX|Y*ZwEBOHM3ntuJLD>Wdgf8;okR9mA5N0Cu7 zl7`z=JNmsPwmY+AB*Foq3=xrl-3R=Th2vnMlV_HT65R7o_(_LFoOV7m?WWWXF(l;7v#w%GKgy%H*P;bqFJ1X8h(E6;eD5pLUd z1!Ayv!n`lncfL1!{x8=B;6-KnA~17cP!{p5XiW1iNN#IG7dt~mH7o*umzgg!P{GH| zIo{(&Sdb+bfG3Wyw&LxY_mEXi6c8>1Kv_so4IF!q?iuP&8QLLdqb*=&EeEu7fnGMG zl?y?6V-)_fLaMDd4Ncqg0T~NeIv6HD;+O=4wJR_fEO6J+;yLJEPF*D^)x zgm$;KvcxR@K)zl;TQV(;re+*F%zS=hJ;(Ff!vv;Pd6fTk-&uD;$$7uOL;2|cVgcA8 zKOe|!OR^Z>EBIs`qW~)G#Ssmm)oqJQ8OSlHq_o_6AWOWF@DPFrLr!M=W=$#3Z--%Y;w9&Q0J(>@3B<+Wtb`(v&-Vl3!dL$ZUIH~>O^Ags9lUI+E%~LbK-eLQu^l9>M(5DR^=RDT0Iq_!-(K?^WBD`$LSy@ty7(!iRgc;MVa*JRi6n@s9s?OD) zXmRehzrk~qnJF?)1YGDq#WjGK2Ph!ZjcjdZ1--Flwe0mRSr9smW`=yb{@o?0-Rupt z03bGc{hs(g#--y``cR5%{4~;~S7>omn#17I5LR9;2=dB3ncOwtaD%@9)XlE}u~b0- zD>C`!oDJ3Gg&;q@91{WhrihTxLKn=;ohM15_9zIKcmm^T18Ieg)8W>ZL&|&;YIw*adodd9C1#kqWiEKir-G z2qr+XUaA6K_mGQTZ+!q}w;po7@C2Q~)o(6yGN3>LKMGuZcSxi)IUoD^^K;NYDXs%b z(E4@YN(KIx5N!%_)5@c!vERcL6=-nwe~piK zH+gS!nJJD21xNs`YG&xZ7y&REcqE9;5eQlG$zR|AS5@Y=I%lVuHISK;Fe%(KKmk%s zOYT4g`XdNGu?GJNx~>91Yk=*BOVegi5)+{$$k+%VoLvo+CLv265TZJPNcDj!ZIlO7 z1q$3KfbI1vZ~3GCcyuMlb8s=7R1id=6D56wFBo}tjbX^&IBjg3ZLO9B!77Y&4rbbT z{n?$cHW78=)d{g*3t#GEIx1t4nwRDQLi4auaOk}0~;Ju$1&cHRzMkuC^73JDe*}qQC@2~8k#a{ z|Jc9H+$r`n^QGl|o{mLfh}cdXZqmobNHRP!t**fzz3nemo=qCdp2(8nBTqYl4v$(3 za!nhr`RE||mQ6HRT%%Sy8@0%X`_Qq*YQd%?X;eKi-jTe}O`f*%30d)3{=RUo4qw{o_v`GXlYd9auJ682@pV4 zC~%Rqp4IkJQjE5j7w6#GT+v18j=h?tjq4eZMD|0b1Xln+6D`2^)j`Bp%a`WQ{5~<&XYS#x)sK%_D2>7+N78+h}xT`^d zKE^oh!8DKgt}JlFoIKp>%V{`MnKn+)f6ZG+6r&6#f;&%$0J2{%_L0&=~w(3omi;EhWKBQ?lF{X0bfzG z_-L**K(a4gh>(RQ4gk+RCT`2W5;Kgl@3)Fp(a<0TRRMr9O42I-c&z)h9AKjXS{)cy z_Ra~RQ3$Y|`%&8<;055y2auJgDTrhlMVZ;RrL!UX&>6(}%s-@hd8$ksMDQ>+Hun2F z{P2xx0Tg;O#0>q45a~O;bnli|lozn5`}~hJ()g{=YXgviKG3?x_I}>BZFU_xI++2y zGGJcjVZjVesU9!qG0#)|sja_d%_w+w40CV>A(LO|{5+5gk!s`lk|R$t>9PV9 z8-R_7|1+Qkg2jWhf`!b2ZICGd8d3xr$}pC{LEr91Bu16wIZt-`;OnZ3(#N)(!kg|J9N3<9x12N`)OO^#_G5G=?C5| z-ml$<*y7=O5i;|sb6$kUpW?;|+4AkB0H!o&P-+QlCIivyZK+0HGuHw7*<9HOpFw|E zM%b*{>pEw`#R><4u{QO^Q-$9CyR1?l4=yW@*PbT5I1ECq&okU;9Ge~+!~89iCuLV1 z#UgZ;ZtC4v*Ma7)dNf@oX5Pa?@EQcNK4g?k=9@%!(O zaB3?F?mn)LwTaH$9O0L5eGF@S@V)i;+?~CuszjvvsHAKQBmG6o&_-2N#a30{ZtV^n zX;C7s#`yfLJH}B!Cb>(d)Vr>m7};Xu1WZ@BHF+N15YfE*>s2s&0Z(bD2u|apr#~JlbO3Q-p`cBTtA0n-`2)aM!Q!gh-mJ93VX=1YI3P<7e*ccAmQ?1T zxYx8TI1hlxKziAK>CK&!Uoi?bdCjYhIFFJdRSSmC)RQ8ivjv4@Ah3r9G|7Xo>w%%n z=flkSvv-dcBCh`dDDE5%H6WbjQuxx&&dz_lIxk8m77CwGd)nuM7`AuY`pq*B=8At} z4O^_+y@AagB%P3=&Izn>AmS5^siK0ye3oKMhKXxyDqwq}LFiAAdUv`+i}=BOvB>NJ zl6}Rh)t?;}=*Rx))ecUotSl5-3b+m6}LA5Vd&6}l$$T{Ke{Z5Q|6V-sh{eS_q z`iiSL8at>FQl)a?Q|eD3i9DX)Ht({#CLi+PkD!@hrXVcYh=we&Im|{cWau{;1Z6c=mB5keMFga3~Dt zTNTk!2g>Nw@0fdxw<(*(KcxVx*G8Fj{?nPa&zEeIZIAqw8GBgpR2|D|zq`L3&f-w} z^=c9R^ReJIzflg=1N?5jo4m^RcILBhx~n0B#=i|26O2Tv2*^KW)f}zM$73NXQ&N93 zo+U*!KqPGSIwfgLlWmS^>mI0aKHhg*&z%G|ybWlrV^7sXSJZkUEqroJKH#*OjVUE5 zKb{1><SKe;3K<`G{`#e zpYbv&{ruPU129%X1A@ zqo{=SpKBnLV8PH!9P-A5Je?|Djg=aBH3OoY0(S9wy_TPp+rkyai)F<@sCx+2KW`np z+=HegbYULS%HJ*w3>=QtVyKB$?{DB#4w&x+Y_7D=gXM2QMlUUq}TWk z$gT{gs(LCNp0$_yOu2qC{W+o@?|G1Hn!NN=Z zL`TO}?1@fYQo9b3@#)lK8b?^7GE3^GC)^)KsbSuwE=^Gsu-yk%8($cFUJ3eyYNou@x9AzIQScUf*i#^jFK`uR5xY zqzIEeRlk83W`fWu50}g8Djvi1%HHJN6pZec{|&J#Tkj;J+^ryhkVYT?dPUl>Mc8(u+=+41Yb5K-gl(RBd5sJ=-p6YZnTx^CRl4 zV_0y8C%BX4#W#^37YAU(rFJv&Z{fMqM>`35ruR2<@sQL(E~duOARwL|PV!gyKh+c>ZE7=7X``Aog6s2PG>CiwVBay)z`5#jss^-nttm&1sIzQ#t%mA%NM z*mm`(&Bj|gutvWFoB-7$7Qz^A8j|ueBOU@mLX$W1%EggMNn%vZUF&i&Cl?qsAv2HK zq3#C%=F>pULgDTY;in1XdK46r*?39|coh^Ij|ENK!lg7w860zexukoJvxR1QL@Cd5 z#4f)(780XpzxhV*tC*D(nOfX~8VNAg!&81TXv;#1M{uv9r<*H0YlEHVWOlu&qN|28 z*e)z}We%f{Q}OVk+<++n97v8K1eNE?ntmK|hKt!ceuwGz)$+z`{YC|qB zw-3}-P_VwEm9y}7b9AOvHoLpLEc6Jv$yQiR$5$1;>@N2{_YVw3z_m2 z5F!P&n|hilZcaAaU5~lWWaTtO7o~iahf{~hc75&JxCk()>m7mPe4W_t2g}0Vbi~ez zYtn~s7IdlLYH4keX>mU)`z{?!Eh$nsmX4lY*$y;nd5*B!(hq|iZi1l?1Y@dKzooV6 z4n27!qhT3ZL_!p=RHy&Ik@bmlul4g;32~fku5tpIca`qRcGXQ&KN++n4=`=GdyY4* z3fFY#TfFi9WsY?bTKl27(J7e-Um!FLngQ=_sjfFh)_g(}dzJ<2fn_5_=yh!j7nlf! z)tBH*lUn}w?%KsH<9}OMFOuKo8zlX%+Yx6mlqKz!ZM&88`EKi9I%C*hd_T3_nUZt0L_|O%~JHfQeT@^jcQ!ppP z5`}!iz_tENftjNGt2_Vitz*(A+_@Sjzwx~S936?I?i$OLmz}2-gQUH%EEHyJn8B|} zYW#Rfl1w@FX&8IVyZ)ggOt{a745Q-2{He-n4_IUG5z!A2 zY<@cYy(NBy-W~TQH+bj*_5!(}MY))3Ohv=?6w$0Y>cI8Uosm8AgMnv#r}2o`14G`g z1rP61QNg^|I}CVNDO;wn7O=yXeSH#VGUeBtqTvoy9i({LTm>eVIJ7Yjr9Cz`%ZDC* z(9Pog@L{yPk7zNnX)NnE{fjg?xaH3Hz*X}vCj)9>w+y(#FtyiS6`Z(H>@V^k>>0^V zm8gPI4oU$S2%;|L_9E5p~6JfdtKkUJH&`sqh{M0{!-Ii3pjFe3JbJ(p*c^?3`W*qJ)i zl+j6J|9PiY025T87wdk36r_Dq@yzw{|2BHA(=jrB*5hTBX=yw5tBY%)FCMlR2JXc` zdSuSqD1{bYWfDi74)X@%sfhXfJE*xjNdIl7UM-CQ4wgr0^v>DqjUu1lGV$)Du z!2)}i$y%Jd~&)b*U$@n^U(& z#0vGeb$HX;jk{Hk-@nxSKwYSl3Cx9wn}HjV?9^35;YuD*NRwWt*8w zUTvK?AKi!d-_1CM@3GA-Q~11Z8*lLM?56X|`c%uMDK7D*QRz#{3YT1dHcK$A?oYTu zhgL79uJzls%wn|>F&pHG!U%^F z!!o@?*@G)q)E{eomi+C1=o^I$9k)rs!*X*uW7+P6xWibv+|dc7Q8?J3$EfN~M zab>*5zwT1ZDHB~aau&TO`t}u9*!_aLI^LQ%>ocBXqcp5!#S|RYtCZdkoWf29itR4T zUt9|PrYBQjO?6v;+=(8kSDbV?$ga-89xhFQbU5Av@+Gi_&XIDr)>yyl%2oPmY`OH7 zylmL&J6&*&d`K>yfg^-<-p`f)|tY7n~dbI+?yH;>QN7i zY#Uu(d_!@5qeYl#fAMeYMWZ-^+OLnC|>X--)Qq-GvT>5VmZNP$fb?BCvPrPQ9(Wr*3R^8GC~V` zR#Rce_sjshW-I9VruDn4V34FW+|}*!@}B&`uE0%%W9BZy9rqsZ+CF60n|VfOvXY3& z*pBz#^i+wI3Z__`y)x})!j7E9mrsNERPbNc@`9UqkB2f>hb-2Grd)@Jr_t+_?U_>X z6AoT#`|i6sJUXx&#RZdf8Qp3I(f60ql2jE^NM{%Lx51-Q*2!| z8?mW(f+0d<;X2_}=4*knBL>NR$ivS;$C84s#V6#7=%*bRg{G|;v)&W`4)De}bN)Al z4Bu9~-k@l)``=m(YQ6>_oiWh7yB@pn_bp}F9rCPpRoIO_bDpMM;H-5;k4*cfnZidM z^9-|&obM3fjEI?eH1?~kC-qgUxZd%q!!Fgh*23X`-KvM5vE+CgTo=IOa8R#&(q^oY zRiw37#4`qFO!gvj!YY-|zK2pZsy{6?C?+GLz}s7{7BhKh%nK}DNzUg`*40}Z+@-;F z<7`p)aG%BL#EPjIPZ&KnwuoExlYGIIiuP~oQ?ss(V)TLo{G8-G z#T7o+_G!lDaGw;{;JHW|=n~GkQl2RBNM{!Y%g=P${+7dilyhR%zm&Bek^25iNiT?2 z4#>mBRZxc*@%+#55n9uk`%DD~qvn_^y#A+{1p~30af%Ef%bOFDAEbB1hyIkQ1Ws!p z$9@eli~MCb(MPwWF4gOrZF+3zfdnY+wZD*M3kVdp53Mr4n0j9)ZaMLJN=F%WqnmDt z!#wF|H#~H9 zQ|;vpLgL;)Lu~#@&&sj%@}l~@2TaA;7wsysi+&Eg2FI4rdn}D|k}OHJPk836j8NLv zuxcJ$>oLsnH3#Dx`w9zwFhFeHOo~@gAxouFCWVpxE_2NGOJbk+oF1tjtL$%6%R^G1 zB7Z@p>vfK2fvz4ISZ7)jFtyInb0gJTpQD{4!}N=}YZy4QWXd00f$&~Db#G(i$Nz<^ zgLRcBq1UHQRf4(wHYO&BHV@xk8^-@=0X&d3B4F%iVPT@{KN zr{H0AYDX zHPRgjBM*Xg?I{7hV}dQA3t&g(g#_u>%TYxrm{alM*bydbXvBP=Cm<3Pw&M(!>YmZM zAB>d%>9$tM(=8Mclt22#Ba=b;Ze~tI#o%=O6;r@;g`CI_yQ1)?jslVR;c@5H52Y0C zVXH4R=)Qb{kc()(SF-!5{izI8P2N8Ip7AWa3pZFjD!Rtv8w?K(BztpRwv2~$gYtr| zo+7BAwvO%y8NW_v`u1!kVP}>hAhkCdo*f+cWO<(B+NHidOV~Anj9GPe)4R(U&G$cx zDu-Lda6>OKfHKDwfS1C>I3P<={KOU>N| zlG@>G(g^LZz@X3FBuNQiixtcpPTRw0-;XFPsY(f^*8Q#XhheS1-&!_iDgBsF%t~RC z@!IYmsGA~rM5TXLRu1GfJ&11a=QF+|N*PI$!_2f*r-y0=eS~Z!syXA1On->`URI3# zIy>`O48y;5VGM3=Aq8?-a^nlBZ6N47>W{8kdBhw7Oqlx3CdCEx3zDR`O_bUxWdvHA zjN(ja=`8$wY74L)#11Hif5x||J8?d{rm-_X1Z{-98zSF%%oG4CU6nXAgyy}^!TN&_ zIsvqxh~s)RrA`lv41iv94O&LQv(GZ#GA}(*QQc zL%b)-`vVyp^~5;z(wL#Uj~|;mJAcx&Tj6`PIbP?FNfGpA)gJD6lF(J`(BS0zyK(mG zIr$*Qs||TS*5=pRijy(s+p%&xBEgxbnNB6TEDX*Gb%o@N*)JTWWfH!Ge=#Mr9t%n$ zuQzRZ{m#cSqRcDmyKbQ-7bfuYNXyCsq2U{@RJ@QNZi3R89bG#T9i#AO=WcNv{eoC} z5L@^bx%Fu6%&z86kQ?8Z!cE0;Ok8h=eB;g#!o{l$SGL|r5HZQsj*3tP&W5K5VCJg# z_R|`pGe1<&2m|EdBHGW~f+;vN#qLz69$qh%ofjou#O8k#iu2667;7dqCflWqdm=eL zUuV_mD<~#P`#f+?O@ioRq1jbgS=s)4zXJbx5V$P=r-We?B$)}HCgPy%+}5zwi88rE z&Pv)RU)*eO5{eno?kF8)miQCxOa3@q;#OBwUliYisg|`yn=o3iW4ER`;>{XfQ`@B$ z`uj$%8XpU)wNggQ;=k$E(q-mp$uk&Qa}?v{AF99iz|_jBRQD_S;$C>t7k*^eOXw@% zxO5d#9I)~AlWX|awz^*xzj(u5^llbf ztAjeeKm?!4=R73_P?lI%VCDJt5@RBXJx0w_)%oERR;5%0AFjFnpzJMU_)`hDk1L3r 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 Hr-UW|x$$H* literal 0 HcmV?d00001 diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/index.html b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/index.html new file mode 100644 index 00000000000..28966e6fac6 --- /dev/null +++ b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/index.html @@ -0,0 +1,5829 @@ + + + + + + + + + + + + + + + + + + + + + + + + Detection area element - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Detection area element#

    +

    Behavior velocity planner's detection area plans velocity +when if pointcloud is detected in a detection area defined on a map, the stop planning will be executed at the predetermined point. +In order to operate that, we will add a detection area element to our lanelet2 map.

    +

    Creating a detection area element#

    +

    In order to create a detection area on your map, please follow these steps:

    +
      +
    1. Click Lanelet2Maps button on top panel.
    2. +
    3. Select Detection Area from the panel.
    4. +
    5. Please select lanelet which stop line to be added.
    6. +
    7. Click and insert Detection Area on your pointcloud map.
    8. +
    9. You can change the dimensions of the detection area with clicking points on the corners of the detection area. For more information, you can check the demonstration video.
    10. +
    +

    You can see these steps in the detection area creating demonstration video:

    +

    +

    Testing created detection area with planning simulator#

    +

    After the completing of creating the map, we need to save it. +To that please click File --> Export Lanelet2Maps then download.

    +

    After the download is finished, +we need to put lanelet2 map and pointcloud map on the same location. +The directory structure should be like this:

    +
    + <YOUR-MAP-DIRECTORY>/
    ++  ├─ pointcloud_map.pcd
    ++  └─ lanelet2_map.osm
    +
    +

    If your .osm or .pcd map file's name is different from these names, +you need to update autoware.launch.xml:

    +
      <!-- Map -->
    +-  <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
    ++  <arg name="lanelet2_map_file" default="<YOUR-LANELET-MAP-NAME>.osm" description="lanelet2 map file name"/>
    +-  <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
    ++  <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-NAME>.pcd" description="pointcloud map file name"/>
    +
    +

    Now we are ready to launch the planning simulator:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>
    +
    +

    Example for tutorial_vehicle:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle
    +
    +
      +
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. +
    3. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    4. +
    5. We need to add pedestrians to detection area, so activate interactive pedestrians from Tool Properties panel on rviz.
    6. +
    7. After that, please press Shift, then click right click button for inserting pedestrians.
    8. +
    9. You can control inserted pedestrian via dragging right click. So, you should put pedestrian on the detection area for testing.
    10. +
    +

    Stop detection area on rviz:

    +
    +

    detection-area-test +

    +
    + Detection area test on the created map. +
    +
    +

    You can check your detection area elements in the planning simulator as this demonstration video:

    +

    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/index.html b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/index.html new file mode 100644 index 00000000000..caec932f43d --- /dev/null +++ b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/index.html @@ -0,0 +1,5791 @@ + + + + + + + + + + + + + + + + + + + + + + + + Creating a vector map - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Creating a vector map#

    +

    Overview#

    +

    In this section, we will explain how to create Lanelet2 maps with TIER IV's Vector Map Builder tool.

    +

    There are alternative tools such as +Unity-based app MapToolbox and +Java-based app JOSM that you may use for creating a Lanelet2 map. +We will be using TIER IV's Vector Map Builder in the tutorial +since it works on a browser without installation of extra dependency applications.

    +

    Vector Map Builder#

    +

    You need a TIER IV account for using Vector Map Builder tool. +If it is the first time to use the tool, +create a TIER IV account +in order to use Vector Map Builder tool. +For more information about this tool, +please check the official guide.

    +

    You can follow these pages for creating a Lanelet2 map and understanding its regulatory elements.

    + +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/images/planning-simulator-map-test.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/images/planning-simulator-map-test.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a547ff8266ead2a5b4469c333f140c85e52e78 GIT binary patch literal 741122 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 z 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

    ))C+;@|2mTn0N=0>? z^5P4I^*SJIWVsxxc<9o$g@@|Zdv!Oc$lgk}IZ+DDR!KpnN~SyYLg%x`c(hP?Th*B= zQHlT6;8(j>B>tjeb0Z6D_SkhkeaSM;=b)+7=tOrNJAmSO`|H=QlrO(}f`WonfcT_Y zR7fJ4{d-168QAQG#>N*u^qD`Uc!{$|_cG;wKilAtPd4V*IRqTY z5GeCdQ>nn^lW0P|iuD<9p|cRZE!u2{VzU1mAy!cGQl(PeO(Fj=m*yhr&sIwlu|yRI zS9nU9Wf%g_p6iaG(T#ZWc0C;#PK-E9k6;f7Oh} zPTv_*?MXAg7F{B9QJx23<{KeyScC6BJ5ej+O@DI8)T?ddZ7uL%^{Z#5tJis2q_6oK zM*j@E2wgcm?)|d@syz1W%sNaYHyQb$LK!#AD|-o#D5+_18{CRDG&Hu|kfeZ=&W*Oh z(9rN3qzI^v7c}SeUA+0n{@5#V=56-0O8xo%_R!R2*oQd(`nZwYE<1Lx!ASlU5G9v3 zr@|A+J&c^tnf;}C+;iSo;;e(Z<I&T-H-mT9S*6<9BabU9zIgF={C1Z%4{>THb3n3!evP z+h4MxHnA1TS?q<7)%#G&48y2_H0+*ecZ7K@G?sy-0u7viqM~`vI&2s}8t%WC>NdP^ zZ{Ulx7jMT)mq+!j4gTw8sq=<<<2l!i_*PAQ@>!gtk!^WQEFfSI+o{5y5bC8=L#HDa z)T8(4Z}#WmDT|4c#nc{|D>rax-88RJq|iQC1Ysg9*zzNFK^p%SkSOZfU6>hEF0^XZ zX4!R>a-R!d7%SEq-m6CTX>qS>qVE#*pgRpCV~FyiU)}i|F)=ZIvVJn825X#x&8E;) zH}1cP@Nlx%-JUjx4rtxRjlpQO$<>bT2bJjhk<387)T#gm7K)B$d3IMvPgC`ty?cq# zGNmrK1H1+e1cKqz5X;mUOwannh&f2ZO;6zt*yOluU>Vdo#tH$WAxV# zQOj0;7E&h%AZ$ELlZ4eOn&x*vL=iCKPeZqYR6zitCj_pw44(qQvF`-P3m$OJ5^9nw(LR77mo7=8Dv#l71g#-i=)gEO3$gxr;A*^69;eX_nC3#k87AchJKR;OF4>CfV zmHjCsRA>hd_sCkyfxg7p$fi4?NLY)KJx-jhvyRlZ=VHCD1CdT=xi`=$7KrZq6MeT} zGKtEQlbMZdTTcP4=B}R=;++#1gB^evj#J00;=Qu0FBhOngZ~5i-nZOSAsX8b>x~=? z*!e@oyTWLt8lk|-#(9d0Sse<{IL8)DEtX_1qAaZR&MVJ}6x?h-pDpI@sja28!&E|b z&5?3mgH5LaAt$i#TE7ix#_t53szHXy26?x1Ar{IH(Nvwsm&eXjFe`l%R8-vD={;jn zX_2bu9W->A|I~Xrd&;xCF07#%2Hh|f7fWTEqjaGx08fv(yyQjSSXRTBXyC`56(+g- zabUxXH|&!2nxy^oBEWeAgkU_Tr`8;DT%pca=AO|5$e!U&Jy)@0w(^ULepgYh<=l z{IKo%Sw8>gH8KXnkWuz5*jmZECtB~&_bnzlQ0<~|w#A>rPfzBR3+F*WV@K#Ya^n4( z9W((A_!a1OVbBHf?it7D6<28x%zbvXzHscl$gYNtloyTF6V$p#yXCJ21azULIQfCi z4YwG)xbR$96h;%57eo<*F6G(jS!M~8gboN)q+d51(h7q)G8BDlNJd1P-HY!Hh3BnAV#e3(w=_?=JgYympY|Z+Cki6lw?_n* z;qON-UFm(#ij2pA;A~)dN*6_295giO0oMXSxl5@D`QmmKy&qcX8!(UW!Q?^QVR4`v zvX1Y?OdnU|1AX#^hbtHvU*vuHyIK0zix_uTW9rhiHAp-GXB?vwSez8x%lNNJrC!j~ zWJtI?Bn}zoBZ%Pe=@DKwP#9>KU;l}{)`%6E>}IFot)TQk;Q}C7uRU5w>lfM&?Q+H2 zJAFsJQ0Ql+=uxfYfUgo&0d~+IUL+~KQ+@|C^+Y?7LpKgg<$gaKsX|*m(kt!Lapn`t zI2=e^rAJT4vb2@Hc;GH-v=6$d6T3FS?ycXL*L7-AV9)K<#i5ot#Qz+33pk|kid%un z%(Cnnqm_OAhH2!u7UhOO;S;pP97a4rkY+0lSiZd+}kd$$GJi{$>?tf zx0T)9-8AfzGJz`0mGKNR(->klD|)OWwr>r4PB=i|K7S~!sT+D$b$ffUx#^J*Oe!$l ztF+$c_CePOn_5IK!VlsECLZ+Cu%(&><(lRn6M?;7$GZE?fqU)JVq%rJQ4t^rV11i& zmkOEDFPB;NWIM_PX0k1PH8qh4Nlf>Fx(vPRhZwq~dZv7{+qhdn``8~Z-)!gfn|NUS zQ1Bfg0kNpUV@1+39cVJ~qs+eS?j1CV);KBbabg&MtkS~$M3HwSx_dbL)!|^ zCstEy(zgF9j7WcbsH15#Z-vxoGBT3)%hI)W^t;LYZJ)YaR=rhk`t9RMh$-JF7%Qw0n$+XnA4Cyg~rSS1PYuBIE3E)dGybovUMP;fGBv> zdv?l`+OK+7QKxGGEfX@NZz5uk3G)KMe&IhvR%XOVjI_-_zpjDf^zcxk62?`y93bvp z=s53#wR)(IQX@M?w>_>T-utL@!NZYOzHy_DDA6vZ5ej9`pR)pa+OXp!lh&;b{Hzyx z>+gJhnmV^mFF-Ptn%YUF(3hK2=4*B;Ok|<6;!yYt3S)!d|S(fzKo+Ge9 zMNS*)Iw2aGenH55=Jwl%Wo|v3YqV!g`GMV=ZbNp4)+77+IzNX0X{ZA-A7l$G7~Sm0 ze$_HRIVY0B9(2*Kge|^k#W_3YtRLs?ieFMqLQzXWfrr&8nR)?P;2wpkfWfh2%qT2~ zt^@dkLQYx_yqoBl$HWVFHi=B!=>vlFao=HJ8EAe;Xdk7uQDrj2nrF?8u%yZmu`fq} z+1iL-6&DP!%$Z?T^8EZEQB1GpXVYJaV8ey#e9Ig=H7*Jy>5&YpK+s=}gm__?xCpgS zA^g4$I9ua+7Mfwa?!(6CE$xM$U#d^o*UxD-u-WIn`K{#Lr_Mw!BBFd22tOl*bRi8d z><$Ib)+mTGcd+VJ?Mu8Ir?GKP@j}TDOs_;^2q#Gd+lSx1%S-{rU~0}C^)(P59Pan1 zpt`8mxVlI6(OdRiPRhs#4$d&KgB=TMJbK6^_tB2CStEcwC{Ailo}O|PJ`Bd2ZeI^h zj1|ahxX?Q+$Q7*fOt>%$B0{`rGVRW* z&*L>f4D&Z=!~HHeR@TgixA&cUeiW|EZD3&C{kDaB8>0UAGrFs>V^$ovrmO*-b-2;p4t-2`}?w=e?O z!fzO01gQu!ubobH(rA;aSN@Y zNP(7?R<6(6L@+VQ!V@1E9>y<&uftQ3Q`g(L-QoWC^f&4|wmd3XM{L0mhezVx@W{vj z%;X=A8qLLzxo<@k!)$@XdVM2dNq(8D6>Aub#$IjKYsot*wSOUP2S%pX0b;YRG9s&Y zc{4ul3WwbsXxcknV%tBN>{+&igd=jskgw5TvOzX^cp}?*izm0mN`I+g2md*Xq{KuO zzFALaSVz|S-2StDyBcLZfs@H0MyISvdCV*Wx&Qh=tJL5JPzU=x{n>W6C;oxT4`Wl! z%x3Z#GOb=cvg>m!lgT<&Gz(Q#RkQ|=Dpl0p!?*Dk?mE1z1?NEp4+;%^i{}s#6?F{~ zARDAx0-pVo%bvRM%@+~u;2xnclR@~u-Kka zr~Z97!n|i>#2AE))nHM*hS9|L0@5BxWo;u)4DDW%pWvHEP@KgWq}L%c9R;b4^P3L6 z2$#4F?HxYVGv3tth|mrzB;^p^J!aL{SQsnW6}FKd4xPBj$MK#+K;wx#1WCwv2@55w zKNQkf4~9^eq|Y-7yI2mEr&|EXrUlf5B1>ihjX(r(tOQVjA_gHOKl_U4p)2BQ^fFa! z|G^-ky+Tde1|0F&+lY#VJ{jV{j#pYMbaOD~-7eFLIZmME7?qhZU4UT>T=^jirt-oV z9U@L8Dd8y&zXJ7qN4~JOI$oWoH@*6blG!XVcoi55Y5p7?CEMy+4rly`%GMSrtElH& zxjyN_KnZ7XWoi0HD=YD%YJcKlDiV7I_sZ*5a?`gi1XpW4VudRT`Vu99XQke4?9E(KM=7Ysn0{WL-0@t6 zcBuoU^68Px&T&32tu}6jiTNJi)2C18?(WWrk8ZsmuvbUOY1BK(q$M;I;?-OD*gou8 z^5!0>x7wsG5v@1gksdFuqRRJjGZU+&^KR9}!~Y9eJM{}UCHR=8=0CId;ev+9YE3WW(tjX-aVWBO#DTUWUxIetvA^yfAB^tRNP`^P z#7WE4+w-GVrs5XKQaDgxck-kP_f9^y|8fCxS_B0IXwweHSAmoB906s}g)kv?@zn4M z$>5{$w?Er!VCV-z@7bX6sNa1#a;wm;cz&>-|(P`$A0$LJ15G zAMR_J5|cTu%MpJ5QU6q{W6t(hGYB((jod;Jxg5AJLbq}<@kU-jsWSg8m}8aTfYZ#% z%M7}AIK5L)keM!;l-BDqcNl<-lUU~eD85MeRG%9g1v0og*GIL!MEhx>s;2u}&`vmU zPxOPBD7_;egeBZLnml`-q+I@l=L@`pjdcTs9BTL{c};(}JNwBN#u7v6O@l%Qds)2e zKLirA4dorTYbD;ry%p5efMDP){~UJ#D9*UQl7R)HiK;~C1>BczqK>L%9U%^{=$?<3 zUEU4)59|8%*O6C_bPrNl;hPKKoAeCj%S%@(>MWK-yR1%{u6#N$up#n%e_Mct^-!Vf zyY2fJeNREhp=y=AV!OTjOS9R^zAuC#CR zMQA5`&SUDtk1W$_xLz!~xm>-f36$`0%wGCNy>N?q7JQqG6WFZb2Cu4%S0Ecz5o`0h zymqb~-}g@?nLI(%J)R(e9S|G}^yyn!wpqU3^Hup~pN#HIc!$=+gvh( z&_jb9kh_OZx^PU-Nouso&)IGzt-hUa8W$67;QyMyYMD|cN;yarK*9Qsd?Cv6=0?TD zwW%KhRf0VLuruNF)H&uaV6djSP6X>HB;rx(4!mTnF}(0Rub?2oz3g>p<6(MhhvTk1 zjS7O0x1|0y$K8lxg&21lFgMUpKSKG#00(sUuZz{CRAw7CIub5i`nORZlp->9KSK#F z1sRa|(s(^M?l)2Vg3I+#DbvH2;k)b3Zrec8ATB+KRF8C5mzbi0F}Moer>Z#OEJOSx zUGu4V5u4v=i43eLm{lop>l9(XC{p*n<>p~F!;G`SuU;pLX}{aBY6U)Bw04Qib*{1f zIGG@;g#ZOC#a2T~SSr=`S4;C@vqDqpgZZKYn{L0o)TCW&JSD+g?Nwt=QBqxpYnY7h zNATt6hOcmG+l0Q{2S&yO1+Gcof$8}KTS@1*% zmW&#K7dQWuXLpU&a@V_?MslU$OkxU(R6csBlR7LW?Dl{Now(bdI@veYQZZ7{h7WLh za%HPt--LMhVye1Q;-kAYA;H0~p!t0Ux-h!^uUxYf77Cl)e{JD~8kMlOlHlM~QKqVz;{fC{GJ+>fZnU6Z4l!m*0VU(d7~IlqCy0vHa}-MCm-qhWhxXvulEh}dW0OaNCz)s5Rym(jjI{kRa;flsaF6Q>kBgke zjqY6jD$W;G5(ocJL4|>Cweg{S!r#A|o8I^lvi?=krL7IEHA`>OQcv{mtmhNjVdT1i z^%oZzZYkNTY2q|CtGx7%ruS0`PN|KRd3WAt^1ievE%ct-BKjSKcI=2e;K2sOU?iKy zqv(v2Qy@0qo}N_U*f$|<@yyD5#1;p@F2WgMiPjUod-jly4k_q>@=)}XnjOd&3fr;< zI))`60Z7ixWrM45C1_fX6errBzy_U%zKH)F?X>E-r)=f$Yg(gwvS=Dm4$ak9e(-Uk z*tc-DcTAB1h!{sQ0`ZS_-&Vss6GPM?l zmVo0R=f{o5_S{%k<7Z$w__#gLBWXg7PmUwP05?Fp9(nEo{TbmCV_w7gHGynP3!zLd zBdH$3+TyFPmAtPta2tJLA`1GK`7R^h4ZKOKgTx zY;pE;#lCW7|F4}2*R${6y&H`2XS=8Z&t5EHv0)o89kubi%XOzNp39#3Kfon{nU$Aj z1H7Tev3r8GLD(Dp}n^$P;%sJJ6TD#HD z>b7}p{eHfeM(^pqiyctP;`NmqbftBMRt39!B`=IX@fPsq_@7Pk8sFQZWcBY9sCBkwO%&9f#-=UM}Msp2xmG}y-1!{z? z@Wlxporjn2Y?#4~%=3@4zXa+cd38Jh*FHb}X%nS?)U^M?0yehO9jWf23!)9bKEj|v z0|Xy{Uf{ran^)=yAa`&RWY*UqsImd?BGU0ZJZ6zP5b3n^wMWQ<-vboKm#`rcp3%i{ z48p|@*6?e)EBB5_Fz4WsJ3DgFQmilR(UjU^G)aKyL8n8wH7?iy3MwmGjeCZ_)N#CC z(_}b*TsvlTm`7K1|NAByc0FzoaA! zR2;7XZGayfh9n+qjP7Jj)_YIS<`q>#Q;GA^m2=Kr5Bz+~-4&t_)c^GoxPCD0HN1@p z1G;F<+SIFGq5sc?dw_`qCp&xeTZ1c(?Gx-(l!a`kkGzOhu9|yV(ZwPF6GmL@AHT26 zV-COv(l9&)U@oyU|JkCPY#YnzG57Nme0T9H(c0^?=N!o#ha+u4$+@ljYC~V@WgKEH zJr2q0PD6Lh-v~tCM`#+rCBSvp$@Y~CxZ_q_;5Hp~sjTezh35uc2d?x?y}>r)IxNH2 z$2CRM7Sj7a%4FzcrZ<(;OS}rs8pF87oi$w~k`1gMax)9HfsXnN30UBZFO#9g1+p}& zh`Ikl2tMTq(qsQe?ez<>^4Vy3>QvC`)tVMzTkOT9SC}1V-E(fUTIgog{MtZJy($N| zEGZ2ll#21U+@@I+scW5+k2tcfU?+=qjWJ~*JF?C+I8&2JDN*c+P@cIiZS)>R0Rgq# z(~hPp zmKh6#Ajl*5cJDsy8rmqNBy*PGCd)C=xT8={Aaz&#`w>G!f1no_X!??e$aSr}G#*Ak zv32X$e?51z4RFKH;^Ayt$BIUmyiq)7sZURoKZj^2TJj}-Dd-Jd(W^0%fz=QoK z?gGEp-S&Im34^pBc$M`fX6dbQDi&38Bs>HH^1}h%=X4` z?QA<9X0l}N`R=(g*D^%G1Z8WPMD@%4FWE+F+B8->XK1nnf z4kUm-dR$?%J+}-#LZF2}S~eg66}=IdW}hV^v*SdTG2Gl9X)Ao85{in(Vp%`$)!>fN zZN>Ah>n#4fcL*^8#>Y=Q_M6VOuQ%URHF%{@*6I?=t9jbpI-rn8Yd2Ogy_xC=Z z%{xOvX!4jV0nq$9EJ_L4RnK+ZOHC-e%HGt?ZDQA+J$jApmv(!^wo;Qg()%yOGDNC8 z{_>c)Z z9njS!h7!&&$s>zG`!i>N+i0O>MXN*pPt=*8=&b!LbI7La8X7Se&izDwgKFWqA42CG zmJ%pB=66cfk26ze?du0yJE$X0u?l|Fes`r=jw-i$x5Ue3TL><2_UyIVzKJ&N-ab~n z7Ujf8@Xsei=csnB#i+2Yo;CJLI({9WgoP^XamZ)Zof*_4-jEC6mp#!T% z0Ru-l95zcC?l6(MJT(-E%KT>B^dYQOStCQ??~MzqjV zfB^0lpe@arZ?+m(8}Q>*2$&)m!#P_eoy;;viK5a#9kBta?EG@=jjpY=F9lv+J|i<9 z^x?dlZWpnLM1 ze>f!#Opjb&5yoim5Seg+Q`M0g;RsiC=5b`a?G~dGuY$xG%2>Z>E_>k9>v(u>>wIr* zi9djSX!4^+3Q|k7APKLb=sfU?WzT8hZkUQHNuI4`NkyK)$-1Ks{b>6>!lwc|MqI$y zhRA&Dog|FS{t0CTmM4W;k6_EH3Bq)yF`g5!XkQx2pVG;Lyn7|%^_4$FGvx(~N6E+d zO!Tba)sab*>Y0}s5qvd+z~R8x-8gGEkTmbVfITK^d`bOWIXXYooheq|rluy)c0v#+ zl{*Yue3IzH+~rE-0anXXR3$XwIpyxINzy=@~0G0#txsn0NQJ~adL}5=l z5GA60tJGr9XLgTqO#{~PWYq}$!K#fr=wU+rFGC1POe$$j&o9{9)Qw!yZ!LhhbD!uF z#)`zviFqIckbrk@rLl|2owv0F+1+PHa5L?>e_QS+{x#DU3_}ubNg>HVHxT!^8KfmL z+k&x3$bg_hz`B1U{tEtqukIThi%??KgD#4^gP3s<<#T-v&rQJX`|s{xz{|HwKtO;5 za*+0IurYNOpXzOB!K|@H$3r0G60+IBg%z`+1ivf5Cu}4mFQvIlbYdGV)v#x+J{70Q{eFV!f4XBV{eAFuk#Q?{$ zRizaiq)DN=C)_+Zv5j#0K;9^l8M zsFu@0^kf7|#k+m|_wTd8v-(pocO=%KF4Mn{UD}$OU#vj8{0Fxm{*kgMf@s+5-Q1P5 zhO!#Nm1YA>*ea2(75bDFSx2s@4%@hMpdG>@A6I)1^yfjhZfSru3XOJ3MZAoTdik;$ zTNk}4SBqI^8}J96XXo|XMnQ&%S{!?WL>A#e=19=01RR&D6Iuu!qQcpkPbYmdUS0>_v9?Y`Pr zI?DC6ymiS!gwa-JDMR(eA)pY`&?<61U_ZKw$V5XH*#6s2dR4c7J;EnIdqRZ0%0%KC zBcpnJWI)WbZM)>-?OlqpSo+1*GGLxUvr7*Wx%TPPB5v|L<+D93 z0Mv;V37k2bceULN8?n&CmZ0KHwr+Tm&(PZPGHSUwm=yG)~@&3zz>6y!!L*Tp@N@>W@C_ z)ci8;Fp`@{R1{Kt^X}aXC#)~X{J+KfuOaaWE80$?en%(flR27%&WT%uaVhKT>BS`p zaHaWQP}?4S(`{AJ_CZB9HbA7XINo;Q*M3aB-9)m89*wcw$OHRf!nCc4UzIq1 zf-!yq+U{=%(!$KQ0>36M&W#}62@*_TW9X|L0 zIo_n>OP7#k|Do9mAqWmkycjsKn`3y zTCkrBe4d&6rA94IEJ@yIjcF9SbH@i?B%?GyiqEiG#;0=v%W=HT`C)fVq@OnKhBl!A zgng`Y=gWMw!x^s_cKNeSRML9#D42zXu856}i9v|W8cd~-V~#WPbq~9V8!ST(2DT_V z_G#wFV>fgLr3R$xX7&x3`R_0R$x;8l#Q`*Oj}OqQ0JXuX!%T_C3#sv!6Ir|0J(!WP zbER|NwPVri-GO*{PUtz*VbA1O5LBOGoF=hleyYXlCz@Vu;EZ^(F37{Ou8rABX{GOi z4ujS{}P=#;Hcyb|_f#@js_9znHx!C5eYW%yLaYv(!pIA2I-sD#-Pygnvz(@P) zyTbZiUW*qs)@-0?Xg;L&>gMg)t6w)*!_>WZTZ8-+`S{QSzxJS+T}m(Ez}6_|o^=2Y z{H1%`vRJ+mpF)`$X8q(Uh#{oaKY0OxTOCK)jMWlgMZc(va$O8EsA|wYlG*!g8>+@l zXhnJ9`^$q`J+?U0`5M|4P};DqGI+o;aF%f!)HS3d#=(SYNl-z7n~)!YML&bmIo(8} zbj;VWiruv(t)26I$U4254{5fC*_5c$ziLww7w%PJz5Arz!y?a~72hBDX1&5INNmQy zUKf;?-$b-WZPHw7@X>IbEq8i@rFn~XjNodDe;d@1kEjkIJubh435vmBJdkK0!f(o?J0;y^ zQ8H1`KRmQ{i8^5;6mPd}!?!(Dp_io=9?#o5FV4E;PcO$5JyKaimH${edH)b+JUsqg z%39Cvf#QL57^Ad*o4TEoQ0lO`*-sx+7;L^j)pk}%Mw%!E|k?fUeDI)Jt1d+<4%b#(qQD5dcGmN=T z!s8MP>y-dd36%-%#9>GSWllSkcsjHPJ117cyn{A51TG+IkzdXJ`_A$0JwKDT>j5n# zlQR@+z@{ss4;==L7RG9=l25cq=UKY*B#Z1HnD}GGzp!GfMTH(-FRdNS-f{%G$CoN=j5ADVBqbZh>b7p;#ZH&NxkQ769RQ>~-H-#RVeJ4Q zaBmV&0u&|irK&OEf7f6-Wa>;|2U-D%BYHg8ZoZwH8pb;p9vvNs{Hq@L?7vGleDrPH zwJfUPVXgZ zzqgS}4k*Y@FA#7IX(_>O$y-8XpXW-)wY)Gl5Xk1Z-Pb->Xa?yq17ex?hRkvxF2yWu zv}adLH{XVN!Jkl1XIN{44fEO^FXHMU)q$)5c^RUQo9ui7juETC5XDhzu+Uts=J;6&K;c$Fw6 z=8pn~&vOW|2{@)JJH^Pm3v|qHvdP7cyEY}x;|WHZbaHfQioY174x;hpOk;^b2g@4GawY&<^Tca|cQQYN5zdWKb+%%SI}jS2zvt zS(SI;F9%?eEFhg2+0Kiun~jgyCo4{WvjvxXgRCoG71|ny{5jcz=l~Jv7+Be z5;vOcilxhVU#Xkfw`^H+Tk9%8IB^3KFRd};RG&aP4OX3M;BP+sY(IvGAM4q%ZX)6$ zdODPBJhj}*WSAnBpzuY$4VPh}-sdS^`~Sz+wTX3}v&M%W`qXed82QfLt*ROn6s)RI zc#a9%W`nRT&WGY}em-B;e9BnGilyqjsmszudY_R-eI#*i+!7{g-Dh!7UY}C_WjIoQ z%r$K{;st09EN^D&o_AHH4a3+D3JQ2BxTA^baWKmTj8-1VBzukoHH0WLk_r#gg6&Y3 zfUqC`R#Z@F;_g!FrTBD0RbMM!;4T9hBg)EobqW6U`Z!Vz9P>-}DIx z-iY%7PW?UR@Sh^&)&g$Xfx~f$+!`$WC!-2m+;t6j>b?F-ecbSWK}V zsjlF*SBoBv71~2Lrdx6!d@mg0ZQ42Qni)c^P0N{2o_yQs1_AB9D|>vfccY^ab`%z1 z-6X!*8|P3E?-J&7!tet91OpC$5Cl431$l5Iug@$$rkjSeL%gtsVj_$f6r-gX-{n|2 zZOB1|N*LrGOkLimAF(>G$bzcmRc_L+*LH?CICf$Ox>QCqCir+NS|(;Jy8=(Sp1l*2 z@Krh#(;5ud!yXl3BA3hO2`$*|j8^^IHO0hGZoiZJEQ;op(8>Ut_$R0FyPEhw)Koh4 z^+A1obwCn;Oi3#UI2m9T$NKep0jlpkp`g79OlaB*wHYhR zmZT%>*0Z`vb2Kohu*v>$mL>fdy6fqEKlSXsOw6|kZC#g`kPr$K<}WZNb%sm5FYli# zX2z2L6)^IVy^A|3g!Xr|*iGDLZcvos6mb#j;FI$=*7Am;!o>XX#O?`>q9?3+(0)Gy zmkC-MzFoUG07HVS`hVV1nO{!?1h%34b^}D``+rn@2RPSn+xL$on@NQ*891-pZk5^=RW?&bN`>?PJZM1p4WMP z)+xPV{o1t;Zv`nFQK35>DRgeGpoRaSP{whFYJ-9wZk0u!%K0T*k$gVboO`pH^|_rA z$3xDLu}5(N6R)!piBk|$H_QsWa5do^wW7(Z4ds;=Clws7}8ebAZN%*zqAf1S3qYc)0g_tbOs_!z?*xm3bf3zD zfO1@ae{1~Yk0&!pCo2hj5(e?762t%k+UVfips!UgGQhm#mnO7?g@wJ~;KOZ5MIi$# zY9-0VamW7B&+z@@y4(eX38FE6e9%O4gi#u|QveBbdHfcXDRCDgf#xOA;h|67hA4|{ zgD2)TMwVI%<;&S`#v;-@GAb2b@V^u4fb<1ZG%D4+bP?6rd@T6Pn{CB;1Q=wNf|h0* zxjV_Q_3O(AO3$Yn_>RE-5g{6W5g-0$pubQ!*TX3P19{7<38#*>_+9ETR?gGvBN%p|$t1zEoD%X89Qo92cy2t~!rwms*Jb`-hcCE^JW#P@c*!|Iy!W^nWn zw~%hHH$y-B-d8B&gFc*`IAl@KjnP8zkNPA#4-d%LS|8Sj?ygeq8{MBF7$otM;-tC6 zJz}XM1r92H*jCT|T16BCz{ym5B50hJyMHM1rN>s@p2`3whK>eKv*+J-4en$v>SdK* zq=2sn-VRTTu!sDekg=H?<6tyvtfW$H2Pz4@j*-y)%i;PnDrG*|@jE9Dt~>2fdw0?u z#tM{gF(Wx;Fg^9R@&R*|o&R-momb;8Sr7rmp&e_dxx6=T-pu4%^DZ~(I0%_lSXK~N zKT;FAzyI@}Qbd8QLEEKuaGHiJ!y!GFw8JP}FUgz$tSv-g<&oQr+v6Lf6%Y?HM)d(H zCY}yrZ%#p~$p2iWCT|7TN{_wbvTytTvGnqQTpD~xmPQ+GTo$bTEG6aYudUBLI>aTt z{kGH9sFZAYjpO3tns=t0rYkBc!W>Ptb84Jv;E4tG)en#KVsonCn)@WeM1yXQoo`4j zRdQ|4=!UWID*)Uc>17iZINw^*8P}j4IOo*o&o_gXIE?9;IH>Va!a4%b&bh2TLg3&> zkXVFe#S%>Ve=3cph+-RxQiuibU5=*Jm=sWco%ks*Dat|2b90p{?4-2S%f= zVhPufO>F4G-Y$ zoU<-=`(v{>6I-PWi5zk8LE*OsMk5`vY6k9~;N3f}?VqvH#mW#LUP2dj$jTAD~?8$uCWKOJOMDvFEh6u3256;kmmB3o?aJ&N&aex;` zq#(r75Ew~4U7U^y4q;N5NIUUjy38XPs5HX%Hv%wK$uSwKq_zgCu7Pu#| z0KyLecNyLjuELbFRUU+_fYd7)&*0BZ(&M7~4hPzP-o8Ya?9@gkHiyxmwEJ`Il}>Wj zsb&q#8k0c%?sXlfk`ak!fFqS$?;MWv)f|;uMzcPvqF{cQ%!sjJ6?s-#x&fx4ICk%e ze#jwk2}61yYCpWwen-s}a6#~~`d|;5d;Pc1f0A<}?kTZJ=N4CSt@g?GCeWZ+2z4u9 z=LK1!wl#QcbJN-Idadxg-+~h)k+OQ%B2+aCRw3cx^~kZln(M&FM`BRy0Ne=2?7=E? zg77VQ;{B7tw&1C(>^FS%e?MEncC0k5zy9Sme#PBwr=!Pl|z@Oa*{ymsz%j%UMJ z=3#MG@ptc(w^Vr;^MaTC^8Rb3iP&x7>OXtfhj#_Ok-U95(YyKVg281gk#rA%6US3q zcV|ujKmgB&kc@j@ZD6Fq1yPN0kL+0>&Ofq@on#La_0g`_uMwS!jFRnSPbrA-Y8>-D zfHSe@cD+LH!l3-hJnL4sZ+nQ=k)$*@*0p+gY|)%w@EvGjyzDS8AYRE<7#fy{xEW%7 zU2BE-1bZaCJ-vEnex$Li9O<-}JxDtWBu~y763)?*8y3_d^0}baK$YX!_(1w%#ANf^-$t8mVZX@4M}gwbx?fJ5qC_LjiyJ3;par-yj;sm&v2dW5288y zc@(IGGw)`!4B?3jb~#!>oXb>D1B7UfycY`;WAFL^h85=*@+t7Bf%_F>i6*?aTHqrpg zhLW-Nefn`DwPkc-uP%LIoi9K@&4#_^Oe8o3hy8BTr{jP7tkFY)X9xU9!n1q6TL$Vl zv_R4b&nhyR(Y(kVR-PFM4x>E*APIM$Qo2qu#2wJ2RB%N5Y;0(1`m>|v!oc)c@K3ZtJP-ts!U#Cq)jIUGgudKYb zmu}9vXpE^C#s=u;lTuQAwxoWrBno19`GI{AsV}5YfHa7NNBPHh%gg1eR``!!{m5Yq zDPF}35bwD_mrq5(lbkTR_i$xhO5exy!hyuOoq=3*fVl~3$5TH?GzR!MQN#WQ*}2~! z5GIbi^VWesGCfZwN-?)1nw_9e^wsSq2hp7=dw5g|ymA8TgR(+|Y`C{NzQclEjgF|R z3h~#;s92OdEHtE4gVtq9vi7k?)BN}?Sh}RVJd)!3cD@X&C}K9+AoG%}QS)+C0{>iG}2ULO~wyows5sogVtZ=`BE%Ol+x_>g%q-Aa(F{Pbe_LVERf2ir}d zN1+aWj&N2|@R8_Z4=GPFJ{4R6TuU1pOS19)K_D|)B`YKy$FjD(UtUjEPjgv(<*1r_ zB~JKeh_5koBt3tg5V|pa`N{0Y_jkVH`9~z?IjH1Gz5}D$?eI&+ngM@rs;qba#jnLE z&PJC;bKc6O!UT^9%bJmQ3y2~vy1DV_E-r(Xv(f);hYnMcgYz+65t%aAtT;wN^f?BS zSHqJWr^nq9iH%YFgu;^#U0oaOj!m>s2~zo7t3S(<`5YM-UlVC>5^)HX*pymzCXd*T z9fyJU{2+^qgVz>TUPL27&;+aQr>jw@tAWIHxkf3(pM1JgL;s7DjF1$tl?1sP#!p4p zQwa99l2{=g9`dMf#j{|qbZRvllMSzQ@=>!98HPB$~SXJb$=uO?3Rk6#v+@|4HZd znuG)6-7OL=3)idU5xt@WL}nTwTH8{ZX7l+lh8rzDTD5r`(|*$5APqq#^U&9?Zw^R- zVMQJ+twy4j>%=eDghOsIX7g`)-p=GC3$h2BZk)f!%D~`|_qL?lDoS8msofBDl$szG zHtc9!0KPYZ`NU6G#J|b>B`^Sb3ZYh!7cWHu$H)YVPAzM-6PEFy;$Utff>~Fl!vKap zulRk_6VYkPZA*P3_q@E7_-I=`8bBdYCmC&NoN=*67VOTj^7^5>sJYcmA*P(17+}ms~r5X zb0Owk_DWWjMz2Kewte44m4Aj)jdk#mfvOQuJB?U9IgTUDe0%3bT<@vV^6>D)9Rpwv zGT^h}$j-5O=W*pbUzr3vi*x3zk41f8#aaP(clRV+krO&PJ^}u0tOOY-&mn+YL_R-v-aPleo(XHiI z4q~(KRZP}SLZ`Pu&fTS;7~^2@=#({`oc*fymD|ryin6n7;7XU#OPI)|R7Qk)2{#*W za(=c2wxyi73}yZaoiAtQy5z{d#Lm?d;UL6@G4hgo7rK3-D=g`EWdui~ExZn^1}N{Y zpJ!oz8pS3eCntAXMId2%{knC2knO#&EE*>J6K?A0YrO84RoQe$mACRs=f?k0-hdi{(rj;??>@pV9Yn9{i1X=|8fB@O+40(FbqOy zri7EwU|4oq^Xpzv?=W4N4OV;K-FJo4{l<-#$3=;aAacB1v+Y0=VTH(vHy0>A`nLqONaQx=Uw9uQ_|j14 zE?cq8{pQ14)O!L#<<-9=>xw`c`2*bYdEmDj;BGA991qXJg-uCfTovSyV5`?uGA#Iq zOR?w9^tufj=#Vpm?@lpG_r;qxjL^uzGDS_=7VJ`?RXyb4KK+TU)Vji@9s{&_!AFVj zvN)aqS_9w(gyx>W`(`lKLaqWaK8tc5Tb$a=j%YO)_-b$*i2o1V;OC!W`}cE!{)U+w z(@4ORC$mQNEh{>O6q2ik{UsbK2|Sm0_lTZiw6U@IF*7q<`|BGM837SA-k*Ej8JJLGy%eY8 z(|r)<^(tq5OmKBRdi!?=y!6=dX5u!v@9%xQ35eU_4BkWem3AKY!r+%LH?gXl0p?AQ*cG1|4X~6>Ln}GcqzFnH8j-V z_X1fNL>8lsFQBLH!{Ts_I9(l)Xv7+>mRp)VSz2DsP-n`*!g3Uo35qI^hhsUs>o!Hy z)(Y;q4~Y%&U{6+vCZ_(Tx{~ z3mh^OFOy^|J{BGV*nZprp5wZY zR=Tb#8(CWL_?5WqgD$iCMIpvH0rByh^okgZm}Qey>8$k+e7m(F4xd3_f{le}!Bxm> z(gdWw3h?SW11Tx9>2m6lkX==^m?p0>Fm3i%O@JLZR%=&_PF7T%JLjVoEJ**yR$EE6 zmHYYmCBY8m;o&g{G5+NqnhWQsvZ^#QM{2VZ0ewR#^YvYZ081`HrJzcnUbSi(HKGx)c!k&8dUdYuNJ$O7U}JPNEajieNFmBY&s~u;$h`($R`}F7G@dz z(74O+K@L6qUqA%(w|m;I){BJX5lt$X~S^rAd85V?;yQ&bR;)M&Lnw`HpV<_NFNG!r!^HI4y)AalmqwBzS{~oj zR$&&UnOTA;WkO*YNqoa#5>^jBv{GH)sep? z@2TrvJcvCH<*XDz&-tbHYy)wqk`zUv$xub6E+S)tCIM-GVQohhr6R3X^7OmUP+1)u z%%xf0r^Xxm#vU9jfe64bhRLT0K~@)K$E)V@yDvjd9AzHa=iaD0v&hYYsm=u-3aWS> zqBT(|NNy!GJ!1Tx-T@z8^M9!+nf#99YFvxzSt4O`RJCtyXJE*dyx23(I=*iVVf(** z0bj~hyKG@E*fHSkka=9h4aP7k6Q?EPHcZF={jM& zyRN?ec_h^$h{WFFWXvoJ6B87NTQ$C$ou43|7gAHN}!(~ok-25!o$_Iym%sNsSHF-HIa_X`haZBCRA$3pKEY}eg- zO}3_~i5V`4m)LJ8TP~bKjm!l+3S?KDwCD1{BAxNGSMVJ6m!FMF_^%e=r1#$=yj;6Z zTRioNukgUh%uv7Q106wDqsVZ^u=B|~&imHiIF-6{@c{>4N|tHjxL4lDaYu#zBd|VP zCnACzJ@rhs_0^;={qI5iEcsb2a`j@V+l8~IZo6P~yRSyy*RSk!@~4?zwe^u@eSQ66 znR&*fH<48oHmESsErOtiP;G8uAr<~4BId;E#8HO>@7vn)Jy$$rg85_L5D*Ymh%gYz z+NQu}bq{nKC3SwapP#u%+K=8|RQrHOWnBvj(D@Wie?(|5K09ftY?^On0yh-rAo?$t z$7=Fasm-A3p|t(B+k~_Qhi77i=~Z3Rn9|gNWk@4a-Gci=bEA4 zw)Q$@f7RwyU(70>?y(O3@EuL*G;nHaiWDvdm=U-O_Ve@mr1ov==ojG3QB3v<3|u1^ zzPR=S4GUDo+%%eYC*n3aiXOeyW`XgTtfcg5n=b(N4+@<#$&QcNvsIBBB)2D2Yo8P33gF9 zG+!g4B+HHY@3vYx9UYy5q2UJP@2u8)wrkfeA~1!J*B;g(q7_H8QZ;de9@pZF+%wPc zjJ)oy0-r$)BD0Q;Q3jABIh1WijAue=s)jcvd37O2ZJNltXeN9C`(PEkai z6Zd+;T=lo>ihH!WrSp~bnjd{oJ%A~XFtS((!9}`DB20!`*zr9*ZbfX?PMXofO$XGF zG?~XLRHLd#rBR{5M(@9iH3A;X^Os1-QR<@g!ed|DVA5QnHl=ho~q7hkr;YGr2$EL#wb}GuVVs&wKMZ=cbJzmto`m4D=_Wo+WTYMen zC?p`>c%Vxlm;%y)iC_xfCsg;iW`F$oQ$JO;5(e7<=1rn-#AQaQKB4Q(NgPQe{`Jd; z?0o164iD2kw1!T3=au0fMd&cMvVjJVZVR?e$doVao~}r z)s|m7{^=9;0V=B_P75L>!%Fu9xV~EQnLnMPDp*pXQ^dd@yvbvkn95N(?0$XG13Z(^ zaYsx0r(T7-L-Z^U-`U1J?je>jNf+DB{p4jl74-Doz4Sc?2JY!e%zM1>qld+0eW8cY zpEWujay2_8Th)S2JmszJmcG<0v3oZg3||m9d10Od?ELw~I;myJXLQ~?97e)7iu;+n zO=V9tkWgPh&F}Zv<{J{N0O?ksIhl$79h21#}pK`z!Wkww=@bDOVH=yE$9?2Lod) zaux&^D&L#XTqQ0et6Y>5SW*GGlN%#W3F#GR)2Z*y4G^F#h`^N2mrUrN@(tm_?Xi*3tGT4S{578Bdhh#s= z0|AT7OiZJNT*u#^!STcCBwGI(g*HJ(*@pbbu7*K(`K_BHl9{mzBvX^fAF<~f*-FCmZ!$PII95fg zt@V_REWH1)`@ z;e)6L*Eb#`|Eel^A|-__k(gZe>wWJ%_q?!#+5Y6ajc?l5^C~a*=W_P)_pCv2Vy+CC zZf$ovwDK|e5HI`xY6aO^sq^gluq#YjKb!)MM~PJauHtShL|ua`wzlWqznAKR9-S$t z*!&&qB4fPt>nA6_G2yml)-=4PhY=Q@R8oF)vWPa47$SjG;`{L>4{2!vTy@FUG#0Q_b7wRNflF zg!r}d$p|D&n;G34SmB8xSN=a91rHN@@W1d?k40&cfKkxR1WhS!*;N$1$%5$}2($LV zHa*L-gop^m=nzp%o(}ksCJ!ronFXsfh#qC+7Aw9N&E7l39@sg*2l8ve)(|5GmL}3> z>E1+Z|0qsy9B8a58og5INp2Fe0uNG~1T?mcn$iV(?ltI~x?-W} zgy5xIK(vg>hNrFovQ)Tz=WpJ~omr@&Gxo&H-!v``qdb&}X!nGCg2*oK=Lxo4jM0_9 z_I)$N0**%o{?*k%jeq zN&$n=dEnL|CM&Vj0#$SU`z^mOUlN)&{`;V&u41)KVU}WY(qwg5X5BCq16upfM}Z}QK*B$+tiE(=u$j;HIOiE~{lGB4la-F#uK zdY%0xk&_10Zalnf>udOX*g>*3m0zRxFR-JXS?)IZEW!B>39EQL5ISu+vkqu{pW^K| zW5l$3hW=mmMylSmoKMLGhvbzRKR1UI7qZeC+l0ICMKv5zw<*~tz)pYq%&B7MvUJWs zYiq|FJB{QS`7pEMxZr*z*aB*@O7x>zZYiK9IA5f!pyrdM4!8ycgoMaiM-eTY^*rQa zvE-gOgtJ3%dzg*^(DKX6^I(Hll)_l}eggvok^xJAa}eretu-jW%!!}DRmg~ATbXb1 zlpYzt)yk% z3n(2!i5GxigJhW#=2ha5gQ?gLi{;1u%+A&VawTjHNC^xQ=kSzDBV!ox1;L2lzz!mA zT+S%bi(c|8iyZi0Q-9q+)h4S%80zu_E#G7BJ@iL%WTaXK4oKF|7iVgJJ6~MU_$O_0 z)v8tYa7dFbe$Sq@@TLnvcr?;}GrCBVlb^9`ipoy(q3R(+Hul(CC*>NhDJ(67{@Sa921vOm$6n@mCP1vpZPY)6s>lI%Qu*< zHO6!*7+3XSOUp;TscMdGm%nYmmonh7kaJ|rnx$NwiR81FmX-#+_rNhOq}RMJvl?B# zOrrp4LP|E_7{?^<#WAKXU25$b-MDZDk`WWv2|=4)(!$FMfc+)X-C7~`gDC$T^ystXRlR$s zP4>y4Q-m-A{cmQ+GXec8m%Med(xx@A=*%BoV_>7Zoa*T0WGIl2K`afcfkA`V3D8(c zaob9wIlvJp@YQjLT(bSBA)Q$88gAU7U<3iA6JpyS_p~>f0+?`oaogIzew8s#;#a0T zS7eb%PL^#@_S2cNhhHN>gy31a|~Xj?JZydN}oL=7m~NPH^mD_ixyaA+ISeA0&oSwpe~V_-^RPK z09jPz6D5`o^oPgI4iuR7`mvpjzTT~AP`h2b&|*1+l63F6WB`@S4M`1;S1(9+&XiAuTNOv#^dFISYh?_ zX+&f!26MbBP&`Bs4%lND;|1F-4$bCGfK*83`nc9uar4!6$=%(9BO|_$DLRL*>0@{5 zxSMfdbHVh}BS99dKg_!J(@s}zPZ3k-x9*u)R_||8roMX^yfF+Uy{)f+Bh`wLjNChO z(*a0zkl28PpM3;*?!La z?Oku!(r}H4m%7hOpz#B|r0a^dd54~88BVK)34xJ1N{g2(ITCWi6Cn$~`E8-tc;o zQPgED+5majWVOf;hE@Qp(kSqPUa`PZkW6`=Y}LYq0R;59pNQg}Msu__3tau zUlx$R&BvR-d|A(@}*#-nOpR% ztjErsOI~&T%_9w10nXg5Hb|eThmtyl#!^YmELhnGLu3+kW@OOpOfR(mkr{PKQ7*Q^ri5b041Ybf4 zKAvzaY`oJqstFEw^sJz;142R=X_>kG?#o`o?gYo-xu^5=zfi6NU!5PS)wiLKQ{ufQ zIHMfY&LvU>0Gwnxw|qJy0$Eb{3O2q7gcY^XQcTDef1uJLFem2%K$ zQHw7H)8^kpMh^unF}Lb}mY}hN_ZGKM_kT|-Lg7K)WTb}t!$7xC|Gy*qog0pJji*A- zjSAPCGd^*mHDjW{bp7o^uCo@iF6YPSDV3F#6fcs!3DGv!p^V3mZ!MoSFzDPBsfE@W zpP21WcbQcxr{5wGiMVK2(K3-ec6e4vbSK$RM3m}4V}p^S`q-p`8-iqlE}-ASvkj$v zA4{(PwuTF=e67SXf-eGAQg zv2##NN!l2iap<~V(fciK=i7iKZNR|25&c9`FUVGLKo?-l5vY-5TArJm3zsGVB*-pQ zgvuD_+P%T)-ybv6Q!Sve7#ghc zg?mI8SVkbEB(lPq_luSgPeB^w5sXP2kg@|co%H1b&UVF{dLC!1`I>#Umxt$O9x#@ZjL!(aF|siF}dq(o$(a0&siMq8-OTUUm6dAL<8S`*lF*#MCk? zRLh&y7+kMk2ZWz}B!aEXgAWglPRJ5}XQB?DvW_6>6(uaJU+NUKk? zWpx32Ett{4HZM4ys_ATDJyUn>wM|J#d}(leX;HV(zl&T}=C53z-u|^E`|0jgd*}Ju9~J9V%!HD&V* z7v+!^L?^|?#Z6xaCnm1<-mU_cN)`zY^=%YBTve2Rd6I zro?N8stfL0Zhkb9B{z6mLz)((PM}&q3~3I6CrvPe&?Zf12PJpOhJZGWD-oTU>|M zk$9xzY+zx>r*h0*?L6<#k*)Rh^~gfdUO1;{7vU%l{08L})1BrLo#D>QzirWy;16qr zvmJMLh_7vidYkaN)-SeOqcZ2n8o6X@3lrjkhs|HSF)`uI?*g4HVll2bsw#7V{Vt?J zkj~)3K_UY97c8dnCE*X?aPSz^lbj-iaP|DQl50AG4N#z0fYN<1Ph{-N+hV)R*ny?- z$-WvMC9&1{UP61k;~9!qPNi7N)25`kk@q7Hhl&;Ij#G_4wFP%Ep)G&08N>cVDD4RYi{QBAQ%&L3kOc&qxV?)WdQr~%~Y!^jD(~GDvI4+!?!y~ z-Hu2p%Z9te3<-2|WG@EJ8R10nch;TtT=FM;BI@=r9Cw6=*aOBSq9K5fgh0iVPaF-X zfFrQ;PZdVi;xPj73l^B9^o?(Yv-rsN$hixh7_WYSCW1fD3@xZ3*6-d|e{Wet{)KE; z)--{~9mIpv(+8pZ8SSRzL)S{AZFW~=qM%Qi9*xwZrkJ=-A8B?B+q?oxAwLEj%tuN@ z3kk81%;;g=YZzro^dVJy@9~0Uq1-*YoCNg62e$l21a+$b`w9jjCwK){FBCPGZ#3|; zqhN9*?bNKIh0Iw9A!c1)1K<*Y6$YiO-McvV|!dfKa>?KliEFUCc z_zqu=KlVg30cr^S#3jW&($aT#v5+SRtnR2dqhj9EGz;9Uh!C`16WNHZEdEHkdFS-< z<;%^~p8 zs8(TXrhVH);Za#=feA;9<&ze_T%9{KhzQH(n$zr!(rg=k8(X%Bz(s|2%c39C)0cH? zTDJ=9*4Cl{woszNtlrQFei2tT{t07`Wuvzag=r&Kwf>G2SKR60sqE}*B_wwpI?EeVswQ@v>u@=B;1W3 ze;T?=qA4bsO!$IHHZT!^L$r@&10;MOy8FQ3m(A3eCo$jg0q=)6>Ih)#q{+v(nZ+q2 zZP{faJ=V0yc=`pS_+U||i7!qONsn2?2KLd>i#Vjf`&&zkszd2L6zvXdi&GhRYX8N* zC-QbOo-}fWf!GOs^+wad9{@j|N{UU_PL7=iu|%;;ACDuL3#>wgc7bT)1dd~O7;%RL zYSZExVd=bu3jwPg2n(utV@|}wV{0|@MF$+K0}L06!_u}seiW})CBeJbJ@aTJdb zp|5(*Hx8T_hHEuC6>MbL!fzghtKqxdPLpa3Sj z1Njda@V|@O1PYtX9q(>vYG_DO-kpEdJowaaW4@~=u)YT=3ONNB2m$}Sz7kU_@W>{~ zW18ynP90~5&6|#&7K&{BY6cH8X%N)XF{=8YO+a7xZ#M&y$FNpn4x<$LO_1e!oh%9X zo~R*cG>>Z$|Db))km=tzXK5OC4N!TrkKg3B<*D1u_d^}{n8cYAM|H0g)k{QSvwWmck29@+JAv> zYgzcdS-G6fuc%hCleUp{)ze8xS9f$B1cfp2r74Ue+h|^7yvd!{1KtI(n_QBJMS@tW z`qit|PuSxvoLpS+gdAAh zU9qvxY5@=G!uAj^y!4bYb5m<2Grh+`4G0&9&{s7 z7Q6ylsB_~5Y^P73M(2iME!;VuM`-j8t~(T_!7s*DEO!MtZ``;sap~;YvzoX1aG$MV zFF*hp&?4*j*c%9Q$GmDYTUw{P8cjJshRws7IT*wai&cSD+_cnGT`YeXz2nPDgy6+- zE_fcdE3jlz{ES(Q1xKIgIRM2I1tnY=hat8jZvvpHJtFi-XbPVBV_3YGd%DaAAsJ3n z{abJ;LL&#c#T=X)M5xoRTh_xqS`IlJq^Ec_pH5F%-P(Q0-Ua&({n26(tua|2L6#X~ z`VZ{-h^0RgxC&S21RMQmTVvDZ&K~jJsPCA=BHUMNC}ey97ArXJhtFh(#if?S)5j5{ zcys;EAJEsC;w@v!1n)J>)qL$~xj2eVQS0#EMKq-iCfLz$HdwLOxC~R_FWsci%j~zUC@CPJ>=K)6%zaCj$ z0>guAr$>YVWKqj}Wdn{nXfA*u=-+T9;3oI%0F~e1umF|GPYYXFr8IICDEQW8) zopt1a&a*$kbKV{hUu4kqAR_o=@$(Cc2XHF_AWfZwN|^YRfwQ@a0ntb>ix*1^ z&=-lu7A`2f2fJ=TnTNYOQ0|F}>>dAg_}uZrvDJHH-lgTCD@`1Y$SN;(StGZGje)&0Ug?M2_U zQ1GteetUd{R?)0cKev5?ZHxk~O-^Zwb#QaXQT`z}x1@s5XE8ooGHc%(eU@FWL|02# zDbwAO+}leFd|p~UUC)DMGek856x^HP|nC9yhwrD0LWPfIV#*fY1mO#rOion+#HdiHU*i${|1tIgel_^DIAz^m(oSeTx;(nl zp;?e_k>l)vi+4AC?nEQCKRWE6a{n{81uHe#g);d3B~>*JsL%F9cM_s*;k+DL;TFW! zx|Nrsy*f0wu%ST(N*T$&Be#XUdwpqWzcfan6GALDov>+0K0|5#d$I&Z+E5jl9@$;u|jVY0y7VQ)l7RJAr$45QehcyNHKrX+1 ze8z=)4;W{Z`nso`7q+W5j+2-l;8JyJw9Q<7xv}+jKe4 zZ0}zon)~bz=P^Nmj%HCNp=5w%J{8&s;5NR{Y!4ccAgi#MGC_?8unq=D>+ zV|G>#J zh8=A)I@_aW^abQL+svMD`!5N+^6~X0+6uDBnD~RpseoOGY@@&rfwWLWqD0XVO)af@ zh$%4UPrUO?JKg-3<>B^s=-Yr0M_czv>cm?!|y5>zhE z9EVUbg-`NmVZPs|CU#>nK5wHLgP`34R|m!IOu76Ex38`5Kg-R}-(A{Gqal{sWS%xKwu|(@yFHiP z$*&;D7-DNmnTNlS<3sjaL%XjG$AbqFwGyQ5sqxCvk7HPaR12+ zvT+*a{e8K5yc9E#|5~6?(;cU5&%vNiA_DN|b^~WI&cu>7vK0dm8azPN0IDXg5ep;g z)LOV~Q0ERjP7}=Q{VEn)e`}-CpXoQm&xnaMa_>2($)0_4^YgGxku=|$e@gRkzK$MI zw7x)!ZSq>4oUICjA!ajfQ#7lN!dI|A1Zs1Ys_h&HN&Xhmwqmb@z?FeDEvhtY~r2IV>d{{%p&D>Y{$q^RuX6}qD0!6fzT z5Az9X#vKzq4CsNx$n!_a8jyo1LkzyQ5o*y%6}bhUJ}D)nSV?U{pf@HznhxlSREVw1r7x7ywGC zhi^{`ufy;XWjE~m@fyTjBu)>nWQeWRYJoU_A#6Yb2TAs#4C15o1L&SvN$_GgJ}7;8 zx#oJ|G*<4;PuE7owtvO(B1|!X+L2an|An@_DxB`sb+l0b)@2|P4&X1@d`=9!t=*fq+)n4EHFGQ(UOC(5dagKn`YnYYUEPu&z)BI=9Et>{OH z^%yI%34;u7?G-X(h+h)go7+>0*3|=A%a<0i_tA*~&d}0oF@Ht#DO+itjh~DDMDv3I z{lQap4AG2UgTMN8Zo57%g-Fc%x21+#r3UQEv&yzdeOHdC9i3CjWKoxG#V<|> zWbXj9gYm+(4+Y;JlAjUy@QIxS4+RUX48Q>XzeVqZI15D#EhOIy4Wm?7i+IH>I|;^u z9Ug3-T0rllGpR#lvmFk<-SqGgk|;^i7Qis%o7Pa1JP_1D5~7V5i9iIx5PAk_29TK3 zz~n+go7U((dAGr=sux4S^XJbAB#8kCL}5~meH=n$$i)MU9kHo3P*n^`YF(P|wUX*F zAQT(|CA8Ey8SkGmF(GdqHDm~ZAS52%4s#?v{(rweL%jwshfJ0vohIR6@Kv3YBfQSD zpQff*@l$Y41cokECQA`_X;AO_$r~-X2tULL+Jie38OMKCJ}(oF2Vl%GEIz@IdrsnB z9%#^J#~i3utCs)nB>ua>XGU&T{K{;3@*+43P~BmVnxD}9uR}wvd>oO0k8zb8g)E@J zYJ;`ZsZB9oKF#cnZ<73N@78mO!{z$*t3hs@i5p117k-J})m6W~4Aljlt9(TEYiU*! zUQ{<&itIzhXNqo<=rTH}i4F#b21!DchgG{8ZS|?0+0`2! z7=D(%bp5HoSyY|I>fxW<@KuwO}xaygD8}- z;%8|oB=aZg^PA@8qn9sdDSgChCE{6uoW=h9c*OMU0JeAp0_Aw(n8311LAwFjlLG&p zcOzZ?2Ww|yAEuyBCoxozEfGmAW;*=M2uT_eW$3{^aHYPJ{)&gqKIVcb0mvMcV7@Q` z*+4RkXW16zWtYm(?SLf)>*~X%vZ?5I?Z`b7LY7j4(I!TRW!RA4PZ1jgfCoHx#8ZyyRf{7c&Ec{*3kCxs{tk=3 zzz_+YkMJB~xFsQiM6?Q74cT9bzUZAKl8b_I`2q7MRzQ>r!VRP30qX&jC{iT|>&hu++-@pA)l7hnJwGZL5v-PX;F z5`3-D6%YUxjTR}JFhXlB#K>!srWS&B2w%3L!y`Hi7^DXCLvPqvxj*eimv#%6CO#lS zhoGJWB1%QQ&FBGXkVwA_+@<=%hxO>BK$JwZIezTxBdK}#0h-mTTe}X!!4CbRG~|S+ z?G#p4RwQOdMP}-XSlf9kU+Tj_#}b>~&vMKELwxoucvRr$(UlKlz#aLvg2hinCb|v% zF-S=g1qn&miv9P_mAQKP&nux73q`+#6lt`P`YjcYR7^^Hb{41z_<%o-Htxaz;o{~t z61@F^#hVlc?AJyd3N`QzVsHjTDpNV>EPJ*2vN-C{e#5PJjN!pH4h+k?E|7myHeT$| zaVCzU-H987oF9@)!PJx&8jIr}12KvVmla?epy=sRww8lGnQ&pP($dl*S-ZGAi9xjd z+Ef^TH9Y@>tb$&k6bG5iMda9$C207@f$)G_zloa(Ey{^!Ly*Tg-)l5hq+Lx*%MTI* zL$65mYwxbn`V;HT>rg&6=Lk*OE3UI!~L;L<%Vj7*CtDyd+K%hL7JMH&Ux$CD2$H=3GU^yF~X^2nPBuX z`Re|GVPX^elY66)k&&w~2jB@OS2d<`0A3iY3lGg-{$a)e=hh=-^WM4aCzSxgnSM=A zLve;!899>E03wtHf*C#U|stQ#WAPf^4Zke|IB8zhkMG8 z#J)0m>*&#=7;?cdZ`y0qs0-~g%lL*x+OS`O>K!ivU1KRY`2E{6zN zFNRP!D2ib)cF!zn$`}@gkX~r0RmmLF74NjH+n2U!A{dr=J->7P`DM!aHj|OYbnu-BfOnR``H92S=#bmd3m{Wh{0RP zoxCA-y{b!X({-?} zA{}yZKq^L10d!?Gm^uN&LwRp!Z(oDv{{))f=l|kA2l1zX#1la$yujF1b%J!i$W^V` z7Jkqt*2FdVWNt3ILD=oXaFxK2i~oz}WHU95-D6h1yMFC2Nau)#o&+dAidk>T$hUfT zc8r0`>M+&U7>>iDzr(c9tkt2 z%N+cTxmXcajFXLjR8>_eHnmR#O?xpHIh=pUP_!oB6C3LB=p(0!2d*PlR9H1#wqE(- z6))HQ&mor^0dh#R#W|Z!UDL6Z+O<TTluF^rYc9jY<)bXp4T|H0 zp^r6;thg^w+0)rwyE$wU4STTadGj-$7=)jl}{c$!nU2K zzQeJH0v-olJt{EM0w5!yoQ*%4t?pX~{QD%k6A1u5m-8>Wd`=F8zSRru&=5dsUlb0} z7Bp*w<{89R7jbl3+~3UJ|Hf}iUTFAYs#6Khb{JTV(;MWiLZ!R&?w`1QSBStBQMZs6 z4}ql0cytk3V+fWsmmkl>X&ispw23?O+uTlZae_P1)F+~cLdBu^iC`ulxP>4cT2K)k z3ZT1?+=5*@b5LxMxsBk?$74jj@h9;1n>zqL+`46@vn12Y31*Ry>nFySW z-{tZ=@*bP9#zBN6Wi-E#!fGTm^N4nEhaO<|IyfkQq=N%K@|SaKoYuI$|H@bJ`<#|V zaU82ugd+JQB%aogJuBY-;qh;6k>w}kb z6seX@dZGZ9Ew4{3Q@_}wgurquka+3pRS+pqcU7OW+jsbhy;M^r63U`DbWc)KQ;+5PYAW#HJx zEE34H*a6iV=9$Zz?zoir(Y0Y+*1*bgAaNWhEba9YtP6Sy>9x*kI|#M5{K2OHyaA>0 zE`o3c1K_CNzU5LaOK_1!nBZtGvTK-265vuOn~8FPs0u*}LHZI=r8r&M z{kM=d?tI&uMCtLfT1{p8Vw{XP-Fn6arVD8YF3+s*xp0Syw@+U=ed_U+U_GfTH^ifO z7%%dTLdj{dMCDz=HQse4?{ zEPr&<8!c!>a>8>}mhs80$>bRP6g4qgu@5m%pj0J*2SnH> zk8}H=(;GtDh4b|iAb%i^s2NtC5TF(k1R(vZAn3p}LUPS=U!bPG!1E@Zug9%u#$oI1 zR`KdPK|#?IpDuTzhgnt*ZXu0uF;P*H8-V!=sdE1K6-%DK`w!-3?Oa*$6jboLyMg9b zaMI!3{5OSzxI-CrdQJqKFN%=~>v1mcx|mTs&~Z8Q&8@`CvTe;y-z1z{Z92koj8A=i z-?2J2h3;yqva+O)m721`?zI=1rdU13T^!1~cPl*pGw*h))S93yO-Mt0Z6@w+XUstiHTGv5E41{l2h_UZTi`JhCI5SX~TkbO$liIYuKm;?Hy z&>v?U2%U`9=&=ASMPhuhUt(*&HQ8?p{M#MU1~}@jUiP{Ay|0X@)Xx<;k1~_?WWo*j z0@*fBs){6b-T}%*@Iea4i#|DBtcL}7!NL4u-TfjRRH&(H6Yap=izaD4bsCj{WD z`73uy6HgX$Sc&2D{Q&~vKnrrj(Q$8#_*oWMVLnz_m4T?pNG^rr`$zYs#MVFHDnk*8 zK%8zQ+M58d+Op;S?oX`ypWkDcK(q#1$SdTh`G4qHYbk?P7RBmozN(Yf3Z|pjVh%R^ z=X27t`ilT^fc_8JdM<1t)u^uS=wBtdDiZfi!d4(bV#zMrHuDOD`8T=Fgd0*{n|Y|H zI3YO01~3^uRws9Q!E8TomV5)C&)BifP${rti9sCp93t&Sr8zw!JkKfnr{Beep*Xud1 z$93JW`%p*3HMvJ(GNic+kcldYt_ua^{6R&B`2||YVOq74#W2ZSpd}_Do!idEV=xuN zmuEs(4K)J!^}$f@GOpBNgD*Q=wcPC<7Za()QW_}P$hq{1KVVuNpiny z=Ip9+^SSEd;^KmN$~N|y314QW^G{Z(FQ4DmDWbVUnozsKB9UqMa*)vEM}a`Fqw14q zb*pRzzsem4o?H9nOCX?n{yRbbDqvu26HYU-mJ}4N*}AUGV&nUb6`~mpct7O=de+qN zd^uCa`}3dmye(m|dT;=x9JHtUd-;STe1ILE$dAbNgO<1Hgj!Pt+dcEEn{~u^boi_{ zM{{A*2Ffl})wQ!m*_+nYM5|nx7bL1ThQ-tZxS`?PAcHfg29?nb(<&3|h<$gWpGwGH z91NARZ2!R95$v@q;#9@c1O*K3XpGOOS=bk@WItu{YTKlL6MP1+Y=%58!7Lx!Z@K5=@nfE6hwyF+!Al^)9ZqNIhn-vMhdyohiF~D^HG#U44a8 zvuE4o&PdSKU7F7*=3dZE%H;3pQh&*lQ5+`eERyh#mgtHiw&>QtH_W6FAQT#u9$mo< z2N;BtlO0|a(z*o@vLaz@LY*(x2zy_jSlhYv{NeX2nCn*el*~Tx?27zOv zyWyL6Q(7uIst(Xy1?hzb_=i4(11IrT&g56KXRwE*h^C9ZR8@?~E(h?Zj{RZx8Olkc zPL2>EvwQ{rXlcykYCKVM3SYzA^s@InQ_qg zEKmUGL#83H8O|92H@?Cj5H2C@Kz0<)j>ojM0{|<<6nQ4~IwZ~UXL^>C!3JbGVElU2 z>%saa2wl}ew6|*|CCd@rR^D_24cMJC-7ufA>la@df~B%Kg@-M}vWNa?^37Nr?4K=J zRHXi=`t|ElyryK!k7Y&|bh|2GB_N?H9p61B?dyw4)D@<4#&Pk>PQ5_x4gi7Q5MBlz zc=YV2QJMu4>Sa8fbhP7l61m_!QWinRhA!d1s>Bm7$gIFQvu2~LY@PZjlo#)9WMsro zp+tZ`i@*8@2EI*+k^~x%yVtKJtR_n9uiu61eW59*8NldotgLn4_(5m|GKpi!s^@Jq zIum;4DtG-k2fm^O&RRo!49K1Q0oajeJ~So-9T0ASs-!8pn6&=1M$%6;3%zk;DOSLO zP@6mFHa|#ZsT05>5P*%LjlF#!tiXUY5EzuSL#Qy0h&AXVw_}H!>eBYv-`BzK4Q5%iJ_q2F-``u@1`flK%b?Pny3s-CI3*t`ON`}@RW(caXiq%!D znrw_qHG9Hx(;*+%5C^TFl)JD`n5mNTOYX^5=R?w)dmLS+zK8zx)&=$`FP3v_QN2Lk z=CP3{(s>eBPOE5s;AdCE!m&VKDR;R=!YO9v)=Qba2MvTn0;fg7n%Dm4^8haeFhiYI zbhb8e88MxTo6juCxGcD975Vy8n!&F|q6dKc0++Lt{CF#S_o=qw`R{QuQLbPgXZVZ z`Rg;iG{!Z%ub=a-y+et>DSOenu~c^Z6nBG{-l(Tc`lCZBGbNEzjlgac4uq{{o|*D! zVfu|T<@TdT!9D%oPVD^pzRxbIp*R9JVLbX2_5$2lcxect9VlJ`Tr2*L zb8+`lQ&Tn2o8mkG%@GlQ8f~ZS>;eE~V{|8?6H!Cb(<3fvlrKNCrMQPR5|2%o-^4@7gI{n#A9|)ZnBKtE(rm+i zZsRiU3ycg~OL)~TvtQ!nHl@G6CN69E@#^bM)(*$Uq8uby?OXdGo@!wV z7A*;V)%ne;*>*ZFqt?`;B>?MxZ`gfsg_wT1tZ+$Otl`z4(xY)xSK%={K9nJ8UbGSg zVklrm?#0AkUd|cQ*wm9Z287mleTlz%Yp+qUkH0%jLZff3pBi)CDYQ2Q*@e@Af7!Ai z%+xEs7(F^fef}XO$7^NPrtnlo^U&g)JnuAIML5jOqly$g_<^Egx|7kCioPt~sRLvK z-2^vm8d3B`aF4OdBmpI)X0(d~u1+>l|M}07w(&FNN)62ayB;b-Mj+;-RuPQ#X zb8Ra)gQpeSula~yCVCoB@6gattY+ZU@od0*LcLxt(BJ>x(6-KCapE7>x>$%OH=I(7 zJv}LApF1-ae7$+|biaDmnv`{l*`iZ7ZBN4@Hx;v%$Kuh!T-}DcpZ#u4cGBh6RNi$cm+*+UUXpACj0XTx58%t6?2n zZn+5tRakso0LP<-kU^oyDhg%wkn=qt_+|F3_~hiaC#!2eTJdF@q|7+M92+W56+|IJ zdac~}-ps~&^VuseHY^Q!r=Y%cb9aj(xaFpTyTQOJe*XE4Pn#qntH?xwupPA1OG7HYJwM8KU^|DwTaL$1*1|sx z+7#4!JAVVX>NZ8TMETzmvr{V7&z$Izn%8c|uQ606Wn&S}>9^{|)2EzxhwxLdaYge9 z$ug zIl+aP3L&UE^qk_o2iL>)rLvwWpGJsoUWRm3O5pjPK((oEw~=pWKSiE?Z2tRJlcrL8 zU7)N&QekjB2h&jIO2e~5KYR0MEo4gpWZgkqfpvRQ0A^+l?vM%)ck#56O}J;i92BI? zh37|&-uM&@{X|snrPh?v)P-2I0PrW9Q;cO8JLz=8TJ1szpL8b_R5IQ|aI6NMXan9t z=#}!Ho)w9hM<6&M&4iIRg}EeuM<_ZI`jru?k7^GWb`L+nKf`8uLgX&o28^H}T5;iq3-{_`eJ;nh#rbS%Trwyndo zVHSUGb-cpfnio%=EWjUvMZ^yiuvv%9c)(W#1`AAriUgj{2TzUaXZB!Y082m8>)=d; zfgxJYhvS=Jz5)v$`s#<)S728HFvlP6#;6>%1DY$d1}9kLN)sYuOA+-TQy?>N8EY&I zvXmW+uMXBMwqF~u!p2!P7qPZ704z}O+A+xExPs7H7yrI6Pl)0hH9mhPOj7V>ULkx?N|boFLDb{XP6YZ5AE3z zZ{q?0A^whd+zVMA5Ja@I1}(|yO&nJAnvx?b%92^- z8bR;sJ@&7<_?_hP`dJYlI=G~NIRgL<8AD;c*7)=k6pr|1^0)@7JXrVW#61Y>uN1$U z*L4*dc=Q%Fr%q*7slAh{G^~^0hQy z+$(oXAYg&mNDE{^wCu*75X*D2i-v0yR$?3|ypWH7dai&)c7J>CsYR2r76T8y&foiv z)AXIaMt^197eK7Qw^q^G8H>5!1LlAGWjgqANr9;X6Bsp<_44&#v$yF_XH=c(7|D>lQD)hGf3nMW8sLRio$S>Ei8u*I1?>aQU4J z8x;mB=alzL6VrIH03E6U${oCsQ~ws}U=(Qu6lvjk#ikb}eti#cbHCWSK&$S<2a%v+ zSrT@NF4oExyy$P=!*N`6aPv16kOhh7+nnnX5gpBrDV%t`2)tFnNQvo>;=%~Bq+)`h zTybV_OL=+u?V_Spm?kJEfs$wNdpuX#n|*GD#W5Qi(ub+3m9Wae)0D#Xm_V()=gR zo5r$@W_uU}tSA~6Ikw}?^4C(z919kdLtRvOfHA3GYl`E44~ASA1T{8&cDy9Sn2&b( zf4_44g&6r4lhn+m2Jac^<@y=npv68xET}~4{lPGEuQNxqUIF zXeuyN*s)qhYpZ8(1;4{U+G!42Im)+%O5#D2W9lPdHfU$azXvvNuI5Mi zyE@p|V8);qhKcbX1O0AgcMm6GLmmwKfOd>#7nO!a$kkA45TCuvrz6FJ_~Mi&$F{wW3U;>I8Q0M=$|!sV{xSNH^0-?^x5D-z6%#F z;QX*%&FnJOG1C^Ezl!m63Q#$`e?w84^4cqEw=0kSVBS&0#vywNvx%{B6K9e@yGwii z7PB2qHMPBa^?X_nJvtOO>@Zw7SXBe~N3b<^etpbgedmRuqcQ zE2cv7zh6?QBh?)|K1`<%O|MB4R;wyMVQDE6H#q!A`ri4~^_y^_prvRzkOg4v^y%%8 z*4di%>JF263=%CE04}%yxuZY88`D7^Zh$_BEr{ebw}CH^ER2!H1WF0=MZ{@@msD6z zZUx|eCD5G2r&hHWc5rFU!U0ZEX4^IrDa!b-PUw2I>dCTZ<7x|M1v~>bH_Z&hW?Os` z^t9bs4Mh7c8Qwkch^}`BNSDv^Ik^v*Zt#T(2ss~_j&b#IMK?7zg2S)Z6!|nVf9Nr0 z%T_Dr)GKvAOLz0s2dhrTiyTQc((u8nLa!j4`g~p3tkA!ZAENo$pKFGsl`6MbqWdH9 z2}X`k3!Ul!RW_laC!bG(wbkcSX6Gxi`RWi3y1t*^C)Q+e1-Km+7Zamgc5?VXY-~J+ zkG7-mWr|4xu#2d;V%szKTI1(&4-FRqmuWL7qebK2p<<$+8UHAkcy@3-Y90ivVH~XMQV{W8EqLXDnG32L9m+Y#ub}8x*ka#CVZjTie&E1j!Yt9Bl8S^p zS-})cjq9_}+Pjw=o*_visy&1BMGl(V+b@+2_lyp&w>{k{KT^O0Em@-QWq|;1u{3)9 z(@OeKwaei_@a?S0m@fz>__%=pJmIng zQ0+YaP@K)hmgzqXhduPzOC}q$<^6kx7qSiYE3Y#6bwT`BX8y4sFRc%IBwGJi+A1m2 zGI)CCIbYwZJZHU#wL7VugHcHmT>5bu{6B|-xyGG+48PFPrh|8-Lln60%2rt5Ya+|W z_yezGgyu$@_d;NKR9PKs%)eo)t9RS#!+KB;$gavQI5?QX{m5Pvb+{d#88lgbTW)%zzDMpPXF22ptqj0$@< zw#ZWq6A!j(u-vh(OfkK4rADCtp|^FIti~Oc7EZl4E#jaB*jv@4zsb{X`0iKj1DC1J zXzTbAxRJhJr@_zuNIUkS>VmId5;#xkI`g|^YatXLr48jvS99!SQpLR*P4PoUSj z@a87K7I0X(BeKz`yF@{@Xuuqc1Z=(ULgwa-~X=5`dTg&xdIT_)}3Cr^n6?T5jnrr`7_>HO1SDhb|%z8}c%;mc? zWAbaR0I*L4t_H{twI*$*;dwSUs|BF<|N9k{^O?;;|Hn{DL6Kw5wT5|REFkFoI{a0kf(BqG#83P;AO9~GtSlLCa(0Zg8p zqoA}_$UFQ(Tv;`9heqPvyZiL@$&VQ|F6w)P+-p9q*rYJAcSF~Q`Uk?kKVR&$1;8jE zMAL;6RSMZ8ZHB?EDyZX0198``v7!?L%0_#AjE%TAH}~FgYvEoN58-#ipqqZh>6=Eb(rhq$Bu&_)Rnq!ElZb;{g!| z(3Rr>U9n=tJ`k1ADtCb)szy};g@hm_q#3Pd2*D;9tv<8AgFkT4JVZ;E+`Q#qSGyWi$RGw+=;Q(1qB^Yfs2yeLPIAcfw?o`fCNRsRfiz;+bW~oJ#%~IJ&MM=@}4ymz2!Wjqk5#1foKkygc0bfL6g-S z=gX}8+UikVzS8-rmX9fKmC;UN=BX^l_P6XqZ>wserea6V)`3A97WP26s;YZi)e%_U zkkKh|))Uo3l`(<`E)onwkQyy)Um|)jZgQ7HnQ3|`=c%@TG}rbaTk?#p6YE}&JPn0H z&A0#Xc{sFPi1!a2RHE6jT2HC{c**Cngq_mVGGE_=If(@$?k%Yj{{Q!#zRqglu+(R$ zgu?^zg#+SdPxU3xoz;H&?(n+zgX|Wv* z@6+H0rdGC@MF~Omqz?r^Nb;AgCi@FGr+|b|*ZS$xA)>EML$FF3DZ*mFn%eI9V=aaS z8^Z>4-Nw$&`@v|Iky(PBE<8Xk9<01CKI$4|^Pv~xHEGsht#kzaV8NY;pOeqU`{fpE zoEs3nV#+IT>h{q|ycw7y=hgwujqb_S zXT|DtL>E&BlacX3OjJhJWV4s8moH`kOnK-ymBk|AsJj>pF?CSD;s(3aFA7!mxXj9( zG}gZ<{+0RmT?e8MnHOD#n32jQ4bG6mMJa!G&z|l`nP;nKSQyRs=1S4XT7xa$4lYvo z!G$Kduat*D9DY0?WQq@+xFvD>ps&V1>hOuTXb*k(tmu)*ymmPs+3h@dAeJv>;nCl< zR&@HEwqEevqfZ8dt#Z9|hwXhc<%-!@J?DE2FQ0Vb`YBc4GC!k1&1+cb|KG$C6 z2@GXMR+ZX(SM9ZAmC#$0Pzm80Em==|d_YWB9FP9+)&W8Q=Yk*%fxlt04_pDek_v3c zDM`r^Lox6h*DtA%lI}*dWmM;%z1V;e5!wmo6`McpUuCWsF`zyZEHA8Wg(O%&Jx@$> zKMWi8=swg3umN5J1A4&>`A4Y-9zB#;nPz%>cXODjf`Q_u=*v9iJKor*e*A`AfkoHN zHJzLW{_*g)C$r?T0A>NpZoK&fDSrZ-D-y9Uoli+TTe^<>^%rix(5@Q_eCScxdBob$ zkdiJBKqJz?E+JAHSVPvqnXBK2o@*G4yJtk+86K<=XKpg~?@D=7|FJ&bw?!Dn5+K~u zP8xU%l}X(0iz38RMjwGWoCYRLQBZW;nvxY4zxZVhkXBHx|Fic?(w%Dce3`SjsO7VJ zx0LFbs*RbH=#n2WB`|4>|8(v$=WzEf_hWBe*L+gUzscGssqK0{F3;1!t+Kaucn!}{NAsQ!gM)AVuI8Rw1|8<(EZv84cBD5DJAB)mz;aa{(QNMjoUT*)hj zal5ckKuKfm3Gir>Klk4-ehEKYk%%CSG1->C67o7U6rj?9!5Uf? ztgzYWwTA)$Y*BCihj!w}LwJZ-Q%md~`r2OX0$Pc?HVz$h8$1g}UGW!9JLWu>n<`O(dTwkyI z_9S%_>re89LVE*V8rfB&&6GLMVlJ2_{wcp-vssL+K2pB-a30SX_+TJGfg z&nc?lhhvEnNCarMLch27)emzRQ)qDVXPHGCt7>&b)`NEd%a_IY>g4Z&b>dzZ#+2xA z&_r{3a`OH;3?a;jIJ9NG3$@nv1qKH4udiGcc6Vov*VDlbdz{>#7_)!R9nt??utvyn zOIP)Dh5FTCls1rA6t1o)HY#iu$o4W}{CVea_T$i8>=?0SBy~Mb>5-w6gg*W5$FZ;o zt?F(yNyZO{BEj!x_4RKEF}$vrUl`qsAdu%ym)D4kHw8ttUPej6y}?e89FQoh0MQE? zFo;Oq5j0&cv{>=F_EHvsTq#he``k?~CMaxLma|GsQbD2RWr-202VDLafVGB>9-9>+ z5<)DM4jTwuR-96BT;`?e6GaR}5bPH5I+A2PhU?RR9b8M3g)BS3OM1!x6Nk6`?vW)x z2c|m8YLTtT=-lU#mMnZX*bj17K)}TQKsX62<@W+7Fpe}B)?S+%DHy7!lrUAuTR>&M{-MhG`H zB@U4@V`Pbi+btLTVDKh304KJ4=yO@utONYUc*t{eeRz}WNZDU-yc1=}9 zX9Uzh$W!UO1-edIO4zoHn(ZyxHgIWmTK?+8Sgf-sCCRW(F5Q|lu->gVRv_S3RxbnU z`3js^C`a!Hmd zkAl%!&MMKcaxR6|53rnVO#waHuQ)Xx+zg`d{_xf4l>W&btV+&HhK7czpS>`H7P{N& z-QBkq5S1ER6c_^SSY_IrJlQ|=*ex0cBK1KFfMk;y`urE4iBBg;j3DEYxvF70B`68@?*nSkm0Pqc`09;OGaY&>)brA)R=1{=wFqg^k zoLG-);|N_OaR^|SVqG1(+sSDYy*>DsphlT2J+Ns%K`&V6UCUd23jR2zrY*@+8UW7e z)BY6%UgOiU3LlK*V6fUi7oB2O$bpq3no$)B z2)1MJcDdhpfZT={wkex-I5<}i9$lNy znf)$jNVDlj@PUj2u7T5*H-T*P8Z`Nr` zd!Kjx)O6#mMOm{A?v7uL202=PFE;~CG|>BHRZUG&$S>Rgrqh!}Yif2ZUKcW>@Nqe| zqn9iDEf@WjZS~7(3KwB8z;Hc>b>>QMf}PC*aR#c2aKGEyyAJ04?7qH#`OS>J2u!?r z^~z6Ev=oMJCavOdp2aa62&6+*Btk>~?L>KIx_qMpsMEk1saeo?9kbm@1lP!?#k7C3&R8Ne^ ztA+FjO^4SrMNyek;LFmJhRz~HF&w7^y`6aZ*IOW99r!iaOe#qqnfh+t69bnU2?}%n z#~24A33D|ZS6C&Dvlc*erKGMt2YZNgM5hwYfj~Bj^xNdztx1C)pfhluX+!`c)Q^0E z(4~W3heub&f5UFa-`_JayHeI5ev}_@A4AD3ry*DI>eu4KZGZt7x2^ElwYRiFk^*)Y zU;-2ciUdI5!>&Phn1gL|YnNM6-xd~|x;gr7&sKLq}0ln%N0w3&z(^Eo)cNR7Qw<+eIgO7;4l&yP5({vO>m=?h&C zXg(c8Uu!;=8Vvg-GRUvSIs@Py*plh9umpGL+ZM?abJ%vx@2UkY~j zD3nfJP#aZ%%}c4v@Z$xiJt0g2(9fr#sxaxv(v6WWM_aB-dROaAZgqd_*1KwrPYbVR z%&(t6nHZ+;%jSCNw9KAWP7ycuP073#E8jF_lIua~3RuhH#0L<|iLvv?&%dB ziwu_H>dFe2usbQU;@i&=XthvZ0npKo0$nB6b>Ey`ok5w(t1tfNRc@qH;1J8bVNuDQ zUYxHKN<4JEr!qj4_c6VHpmwt3hQlIvrwa!jbqg4nocpu`O%xU^%M?6alQvH~A98U@ za*%s0nA-zl*BU-!Jp~Pi?q%Lm_KNkr5fUjr!$p(vk>@WMD7E*LUa#R9Tn3g={s#XS zu;*>C?a>MC)cNs{5ewBQ;oYEvppBws5^(XJ(J~VUXLK#MLLR52gn7hJjRNlmN``~W zuA`8sh%P>YC@Ea_o7pDd7=yXk`{oN_B-RpM96b8zpq`tT!XhZ8KtQyF{k6SMNw*c` zEBK>CAQ0}l)94nuYxbKSkz^^`8D4vCdv#A5#OJpvxw^{G>3ap_hXOLmX@H>$ z2jcyT-!XHah2=ez6ac2Ck{6#f(pex-dV=s@xLHy#x_q@r4`E=~Bi)+M*Qcom z@x13VGw|qfxZ=(?1Zv5=OcA7V|c)f8`lcJT@vjsZhry-5Nj+%8O& zrTC1FgiwI5h7%hAFMbS+{}5rg9h)p-MxzbFkhyrv@wZB#Qz9^&2{abar9Wt?yNf)N zEnC(`PKyxI-T`+9qc!=gKeB0S>DZGSSsG>$&<;l#3U@CkX&#!hXw?FwXP{Q2QRU|j zRQmqHS#8I*og04Ym{|uSAmENJyJ)v~N$aw*z&N&)wy7t^@xS%5LPA3;K&-TTePkw2 zTP!hbzSmEMDu=}%CP-FCR!|$4J^Xl0;)aI0dLwV#&)3!izN@)}Z#=sWr-$CXrMW!f zqG#fQ(tz}CJLXiDz4*v}k%(d&nNnnqVEqj?mpXQSMZfwbU^p=sW5O$VB*Do6l5q&2 z!l5PyNQ#px>0pebK+R<9YS*vJ%d@win_0o9DE!$h_ers)vQp%g_sv5saaL9XRlI*1 zGFCp9Fpo)}vH`~cKZbaY!~h1Yx(t-cQM`{IGSHgZrYtfz?a`Ze#qO)~4qlMfC4jx+ zeJmK#s=lDNlSQuW;L*$O+3~i~gHE{<$7fUwzCVBY@+I6F?xKTGjA`MVtqOaG*AA`A zc?i25d>z#oZpZBXQhmAVof?hS+PVAU_Rma(R_oO#CMQ_8w^GsgcY4d<3$=!MjEsh%OBpWy=zLqMNY_#^Fx6JKVGtXbs3#$}J$g$dJaP)ZUqPFKE^Y?W-=js^lcUE|% z%(gj;=UhxsS-0Fpe2#YTZPyzm3EglrD)Z|OOfxxfzmU>|@JtYN`#RC9ECgeLh72=ker?qDPLU$7An zWBi~)0FTvQOAL8X;V|AuXrAdP4VVYYJ9Ib{sx5c!-Hj=75QmKud5sWM_2I(-m_juL ztp(NTqNZrSYc-Bd$_jWd?94;!JX|7@6oIr*a6}4WsW?3-7#?gw%c`quWPW$SE0HZi z(;w=@C5%yU7Cz)L7w`HrwkSwdgb1cmrYx97%@>iUE4EqG_x);wv?(0mYA28gn&ik< z3RD9$S!fb3OFa{|!b-0M{zgIgKL`%Tvif*Z7uk9da)2o<2t2)23}ldGJHvvNA;i#9 z-F?X6gY;=&HWZMz(YAggk^j&wzl5e8n#bDK)-ZhT73=E}Er!SjfR7+TX`DJGf%`c> z-S9H(>ANQC%yAJ)N$da{g(;w7FTqpndkp~AlcbSz-gn%P1W8#}cOh)k8Mjy43PmsL z^wMtzwoC4Y48};o_(HVt(7)PMd*CKwzY&OBM)=Tx&7$3Aj2^vZ+gD5EJU|Tu&bL+n zr$;~BiacQ$%#14!7gyJOkVL@9u9bdmJI^YlqIBR_JSk8W4RrbU~qREWf% zqtFKG`Ny;);1X+q9Efg%1=W)fM*uzdj$Q4YMt8*UQykz~y!iA$-)onsfFCjVA*%tV zqIfRb;Ve2N>z#8T34f+Aj(?o=i)jHb87 z@6x`1paZg1|5}@S`@`W{$@pQ`0;x3^yJudwVoiMS-o5tg24<8CflZlXovB9$NEgJr zBDCBBPaWB#!}*L9pFalb7X8ot66wUF#H%LC2wD}0mFDB20>>U7@H~eFn20E9KW37X z&tLZQ!N^M<&uC;m)zvix^*<@gknihfmB|lc>oXLp?zy0+rL`M~z!HuC)3Hd26^;Q+ z!)Kdk!s5DndCmsEDqD3?LUNSdbFw_(=FOYBJC6Kpzw~y}#2H`^o(4UUr^cLbFn+d zxLd^Kp=3(z-A=;{fshUwtPxL#RnFQ4%~|bbtpg?oJK82q?%XUc3}n2hugty@yy0W? zyrI{k8@SKq=1xq<-fQj}{Tw}Swq?_9?O%71hS3%ZS~YcXfMtQvw&Oj@`X;Tg{BhJL z9f%Of+A*^(!cJpz52m_?d5=;!dThJbimYlX`&g%v{P}>(!uPlWw%3;MTgX$#avuD zKiiE>aMk+U0+%N-k7BZgNyItb&Jh$llWKv}aEt)FyjEgij*v-c-z56Q?@#@4G z5`Ute!a02ogjBzN!R#gkeF90Q(e32SPBu{lBA|S-$%n#23C&c}O0U1*V$!z-{f6cp zdRXvNMjKkN(`gqUi@$d zEJHMSm{V>Q?tFss1 zftY!;VaG0kA}HX7`*3v!5Jio2JbEyXf}n5R_)Yedj-Won7uEtD}W6$$XBT0 zQ;d&3uG0F^P#Ee!SY3f7v|Z*bwC$TvH37_7AZ3(<|IH^4Dx>9vGtli?o6`n!Gbi?F zX`TCbK{hAuEy8+MGc1re6gRmhjEu@VNg_DAk1(6oJT6L?A*XW8X=D)#{)=6!$E5b* zJlA#b6Jfae&l3-c1j-eFy(r}>lg@!8cV?R!uUqHK*O*EXg9K`jrILnzu(l%aTs~D^n!>NIpBYM$tio?#$5?%UNvk5043^_$7LF0;HqUVo zme6ED^gVE0E@I>y26qxEqFV%Y;hVoF>I7K=pstejJwzc%%;!Ot!~!OalYblKchfQ- z-vxHGVL(yo-+<9AeCx18oE~B&wAuu(0(w`(FCqcXkg$REK3RWgpMDFT{maj zyDxv$g{{OBUa2)w1R4mFN zdn}y3803&hhS4`=HEDR%Jmq$E>wIi~f!D|=l!wlX2rIpjIjW#C{km_xth4mk2AOZ{ z1;PhHvUAhfSncN&3{moO()`~*#o*u?j#SV_;hDL=iwQzEUU)Z8=NR_I9OPE96JE-&Y3Q!WaRj#JT7`U1mS{-WW zXd8(41kDD1=g66wBgnWQqYb#K`tzBcW)k!sWx^>xiU>FyHI~rE&jX>*kk)o6AX8pn{wgGxsha$>(Tjh|b)u#8tqGw^QGYw(Ep4IcQ z7ye?OYngsC%on61^j}HL-;mN9L^*zB?BExswzYVIZ9VOd^!1k#atKBUs9sm3j(12| zViU0dUqO|x7WAq_^xaY^V-phAOX3mPA=igY)=iFotn6vX?)U4w+2_NATJWY@zs4sQ)G)sH94L4cy4L7xqK z9k;z)9$N&DXGUK#z|SkAWZZv6yZqKQ_wd_dbf3K-V?f0HFu7`fN;&+TgPJMo6!CN5 zJ?egv&mewic&A4$d1{cm66FrT4+#uGiuGAIm2Qwk<|`1qpre$f+XW?;(8i7LPY5t( zW}_s{09K=mISm;u`5K}#uk{J$xiWB)tIsscwn4e2Qxc_ZWy)w%%iYv$AMWl8rkceS z#^Qe18sXr_EC?P;2p*F=MMd#}18gY?2710#3J@*<1_mq}5fc*v!8sWsB=}4&k3ZeX zu6;{}J>Pw(^x27zX=vVY_Oyf8HjUgqVg`5v1jBBC(yK{vjTwv9s-Q|F&F9@_-)!Sz z7ABTb7!mU*rFdeJ6DvGiuwYz@1C{!EvGXNm;M3H+nvJlNG>+j{69ij=8x5 z&zI7%S~yWHkLPjp{DyG<^J0H9BluqxZH~TN_w`NQOv5}T(~{3>HurP~U4lOSROeG_ zSzEZKymdjF002+9va|XVbFiJ%`5P4*3w4^h+L2=Umn)*28JQw!`JK}5$I|A?DIdFb z{d#UeLSb_dToiT9#gm^S0%H@LcCdf*)BTiw)BEkbn)np69Dreu6iIb+WM9iSklbBmQhpHM-n z-7{u!(C8^?RheuvbV-5?GVS@a+Y>MD_P1Yu)4ivW4zCY@pdLr#4~oSTr)2QKW9(uT zBBvprq*Mj4E`=jBLETm@JML0(TG`{PrI^pn*{1!z?uW!X-wWG)hMHE+sC@x?6s#r4 z`W5@@KxD3gx(sdlhX;0AzM0vMO1C{IIvYv?9&glk;);y{A)yjYaje5YdsC@b7rHD8dEEH-FaMm}t*be(lOQ z+FI{aPG=}@IjHw#M@wecjt8b;rh}GIBat`G{5sydSO0kT&*-DatArExiMXD>V5rNr zda*I<5^Kw4+|#oqnKw>-8C2jKu0N}=Xwk+@Yfu-=yoMA83Kd5dHN>|B&J#T<@4PT5 zhawI0zkmGjff9NET{p1bF6ir#l#5)+b0&Nc4C({Ia*B%a>g?lp$j!uco4`@0u77lOT9ay)athWLkzKgZq}ofPqKN-`VHveMNJi{sqd zG*$7Wx#d{ePV2MOU==yaDgLZyOy)4Y!{HI@)=V#VwrL-icJJ_E=sV^YKj1_sYxt>F={E!uno#AXsq9a^?mPcP}% z^X%-8F~cAT4o$kCqLGvfet#7dR zK%G{e+68KVe#W#H+wzb1UydUxVf!GT;|m>jhzr+%8U_)_i6{-j$7X;u1kl`%LJxBU zFf5~dD1jZr+@aGgFMMCT@!EW9k&fzqvmE!{cv1aun4}j1M0cP0%=f?^i00W1RI)lY>V8S{q^*25J1y$lpKV z_TzAKVRBs3d+g|(`Gve=Ub))USGxK}*3Q?nNEEiRw8R*o9CsDN1?44CQ3YD>b2c7K zDomD?0)b5p2ILh_W3Y)M7>=qryayctT?1-wM;ir80!5-yys4_Leh`^CXt-;i*pfWv zwik1n(y`!Ix__Vqx0SAMoJXtH>KzrT>#TDkKmNF3Y=7t2WVx!seD1u!1U6H?LnS<2FOM z%W%yyg#p6`gQxl`T&yR{-VUog)-7H$rvB*Ahw*9-IY{-$#%o}Hx2#s;om!KO+8(~C zq@*Nbw4$0}2I68pCpB&1GVj#$!{ntj362XU4S&3!SnRg=0%U^Bw_|816eP7~(AQx@ ziA`l7Y?D!ALO?wrGi7W#G9S*S8!8^3oVot_WPtLW(T5}Xhp(xKBsBPBxGm1q=vn>T zsQj)@%hS|D_BN}`MD2lqD=GQei00*6sree#$mQD`1ud%+*k5gmg)DTNYU2)G=j+q2 z6d9VD+IfUkO}y+)7!I};O@DRTl0|279o)`bPhNaG6(x~cuo%kn2e&Lij&jU5PY*d? zez&nXH$2}fwRiQ^208aiw#4MRE8=yJpgg>sX+87j{B|#FtKld=@4O$h>+{Yl9sDpU zYd^nODQVu|qv`psifILZehnbzQXQ*5KrA$(g5ER-{VRg{NW;*M784Z6-!KC%LEzg; z=LyeJAgkd(QQAQoI*oZ?44A_axWnfFpD^iR6NT8;|8OW+zl*VeTpagyt{;|xH0THj z2oTE_zG?P_6Z%ydBQWzquo#h`Q7=mXh>*uYGtxR`>gESup24al;^xgDiIf~lMI(N1 z%M6LH{Q)@(Dp~6iMU*&`44jLdFBz^Ju0%C~F8iU|mKQc(fhm=t6{RfNic!F*vKW{_ zwA|l&0m_h%n-(+Pb?u2=fPx04)_bwCDtOr$3;@b6D8zTi^UkAA**fgNTER)oaqM7zzSbo$DvFPCf57S?1OTF}g{9j& zz~?c{vR#g&U?Uh56l;XbgURT|(Vy$DUs7K$h0PHJ8|7PSc3NeJ%1?=|a%Y~!BvOX> zAU_nie7jeCePkgB2bu@H`#AK5^CiKYD}!O7BNj`E;78%$TDT*=<>^NOk7g!mX=&;^ z$aU|z{oq2-CvI*&#u0z^*9kBMF>tLYzHc**PKvzAC}VKri4XVehxV#JNc}cHxwk~* zX5RTAg`>4PaJpsPy)3Qfhv@lziM1etQilLi|9QL`WXTR5BZhY&Ma3fXqSM&Wb^_S- zKk%p=U^^)z@a8lYfqzAq5JjLN%SrkEfjjX2Kw}Sy$n9ahDE{A~wt5=RC%0iM2BsRe z;>Az1;U#BX^I@tS^(2UWLxB?H_fp|+CYE43je|%S@E=}m8NuUtbFr&q+J0Dp=T%OL z@xbDeP~P1?HI2=F3pJ&uMoxmO#rFQ^@3ZIvA^MIttD_V1#w(@XoouJL1&Abf8!OhC#H8p&HLWFsV#P5uutH`uzx@b6= z(fJ$O^)$;04)WW?QWT;v73fL+^!ompOYIwwZVE`JxHMe-XSS_9F)u2|?s}skfE^=> zu-mND)}FlnnkTQ`-dHoaW8MC6-x?#ce>{e}OpTs611k89An?2H@2eaAK0TM1xpvZP z)14bDv#$k79N+uSyvx*S?H~tQMLa$|ER(F(%5q+&h$X*RAz2W)TQ96)aO(|lu`mMW zZ@N)m75U<4y8im4tux?YWVpCp&5Jkv9JwJsd#ODlD={SmOIcbEe2CHvy&!2hRNHnw zd>Ko+E(=?(-BC}Dv$b3dd5@I_KY9wzBVYlhaL@qNcpgp3dhsIUj3~q7B4LJvaiE(* zj)Eg>LeVf;5FF8YNdm7RMVcc9$pYE6(4wPv9sK@>dQ$+z&3LcK^o}rK2npci6y10| zuZ)D3fLA*s^%P4W#E8{Z&Fria{4+Wi?hq!eP+{E4@hy0U{tOmjkfg2oe` z7j_d+CY4dWLn`Ylsb7IBGjDf(-tJ^MF0N`Hz08 zXfK&7SPrQR8C7CyiRqB|zOavZ{PA~%KhaW9GRVIJ9@DzwZ6+P|F&UKM#Av_bV#Z;~ z!s*&7{d4V6Wjro!wG^R7gf65X1nVBxN=G^)GV2l{H>EI9k{9Pswd9JAHM=+2QJJBY z%GOg~XdXGT*#{sn_WMY0Z*PW_B_UAYq~dri1&LmG9`kVFlv!R51v{z&v4%sd zJ)fH7>Md8ky;=Dp#r9jQ+NlMim|2unR2~f}ItdAdv9R!dXZr%LH#nVv2#kYN3(E|pyFlH2BMPTJiRmrv=L3j zYC*Ewa^v~Fo~N-@r(bC#fB#ZBIHtv3;#cUn1@)SUbmaU4R`^AnGVk53)Ydw0K>lB2 z7W|Naag_oU7q}awRW9YYPFng*!nM!M%?lWxjz>Q~__bz3%&iM67oCvb)?XK0AtAw) zG1ES!)~`ag6@co=GZ7n2{CEzKqIZEJL}GHJdMD7J2ny_Af4Rt-;Zg3A!DXL8#DJ|c z1j^fWW<~Vl4e#w}(tGvi+MfF=qT7X}x-Y4*$iH#x4O=ELY2-01k)#`^421aIt_@-` zIbI7*d~OV7ddFnc&1=)GUb-e{{IEIY)!|v++r#1>D9-)(XnJa9%~i#wgS9p1g(wG@ zlzIZ;2OiyX|E}tPypnl0S6}I}O`w;fE29?%u$Az}jaSZwtz_}?{$0B8K%k*%!_fUK zp5$)A_^ zx}r^!OS^MJ??v+%+kP^iZA)h9o3{LWcJ6>SUdiRr=Ty-6hT42vh+_iSw7RS7kK3_a zE48rzA%h9nTo>3TUj7vWERP$lcp2_UoceCBJ$Nh?tWhT+#3J=N)-X7M{Z}OfJd z#L^Y9DjgfwiF};;4L9u)w>r~{c)w3t>;73fBRs;lWQhe9yR-Tu*u*O~=mALzT?r0j zq1dlW&@~{+=37+3A2Y3{f9ks!<*WVXZ~$)xE$`4X&!1nT_G4hd+7c&ZJMz-YNat*1 z^zBM`rfluNgv?yg6K?<<>IW;Gal-`PhQP^e(? zIu}??4j);xeN{3TiI62?Fc``jkk*{V8t??GZ`-WiVL396_L4(3JumE3o%9DD$<+`P45OiAMsaoz{SwjF8$mj-#9n@-hrtwRv8}G{Yz5YIGw&?%3 z09)7TSK>7$3C z!rCwQ-r@qo&_ljicG@N3>Q&2Zi-4A;j)M|tmXI*-+L`co!3!Tf!PRXE6~CNO_<)>} zLD#L<$a#$R7jW1X1+JT4)On^>N}vhZvVf(W?G`q zvPZJhP*zm7N@*b?l*-I3do+yf5Lsy|nc1`KB%-piLdeLZCFpB`3vp~m%#BM9>`y>c=q=bdgfr?6Eir8d(a-{iTMn7 zr+V{V03g3LR~9!(Qd#c8PE8`LF#-}*BT-%Al*LF3!+z(Od6B}RutKl6gF6zDlDC-b zj;6FGXieol;Qp!6Xyf?J;wDBvfCGCAy1Ki$2yBkzMfQVH_yLK6JrB|~UOBmM;?{fo zv@csGw>hh|O=ectEATN-wzOR@bSWAohh=nhG`>I*sRu%m2>i>}@8^b!10&OOw-eWz z9%es9A)XX|Wq!WZZ7T(QO`D)*G|JYC^DpZx=9>Mza(dJi_BrYPkLTeyCb9cO{;#L- z{MoZ4%#}C?phvLRVQ-9({M6a!^tEBpj#=YewKU4TK+j?wBGx{~B(cK4)BUMgQV7xq z41c`imgOF^F~Mw!b1m|I+XVV{ooDpm03<@fs6bMRZ(c<>et(hFGF%?=oE}eu>N_Vt zaHyRRQ}zXk26P!@-aj~L`6kGJ92e*D;Qm$q3iNUQZLSF06|0A^==>$9LGxr(l*H?U(EZ5Ixf68 zb6(bl$P9=%6>?9!i;H_;QYXmVDYS56%|JVvl85-U8h1~AL5H7sbZ=5KemChP<(XaM8~m>`#yJs1)>KkLYLptkaXwy9*dW9#11buRFSPFV?G(Uaz=%w3KUsYm86E+*P#YREW%HZMQ zfnN=!dc+WdS4^kSQS1-4u0Bj{j~4vfY+?2oV~aqSfH9&uW;`;rzDmWgZxC6=SGMYv z+-#ou$8PMMFbouw`P|K|`w<+jXfXn-2XItGm`+q|(&7fz_i(>;)%yM4JRt%l5a`}* zMNsaMvI(FdS4{aIZg`N}w&Uz)JOB`%!}8^HZBF>|Q_;(t)kaOsuU#X8F8r&DoYvCy zv!SWqOy-x8AKbP)*E<&ev_dRQ*lQ4{x-x{ppk(kK8)da6!kGha999_V&z;SZq1nzm zCM^#u=d*aUL2BtSmdZLauzXKS$LJKDTAWtg@%=*y`<7_F z`s+M13;h}VM0Mp|2S;1VL9HHg#=Qu&x&Ev2@@IyjsZ5wBD9F2?}z z^H%u-Y*X&yyBR1`wFLc~fATL{Hw&vRTVP{Ha7 z|Aik0$X-0mG(Gw!uG9M&YeEfVU|^7-RR!0H(NupeBH-TmtnB3G%tz2}Ae1x&=!KSE zg_b5>b$)6|8%5V0;yURRgovXLW$Ux!acdCPfSN7xuppd|C<1V0f;JgDn2UXoP{4Tb zaoDQ>v?4VJ1ro& zZ}5~MD&h{({fI6RBlZz<^H=BlZa=RUc38=CVRviG(f(TQ30OFDSD>8iB~w%K5<^wN z`OC*6xbu!ul7?GQ@PqHwDj5woH(ou)mZGex`Zy)!L+XVJ@dPK)9=`XhjU8ekTR^Rq z>`9R;$tJ&NH`~w4lm<^rt zI{V)a${`k3;knrGffHa%b$LyPj<_2|)0InnP*#PbPt=nnpdU=q!Rtk9HPDsnkuMv|dJ7 z^m;6q82n)9ByY6AgL2gep$w7-V}fqKiKsNb?yEsrFg)53(Nh4KzUQ5lBy{4tTAZwDG*5=>gi_=GbcIk|Rh zLZ1=_X#OnPeTf7xLrN7;fdl##G`SBXqBsmdB=E?} zZpW{T?6{c=0`xANoze4`_=anL^PSn@!frg+8h+*dIPZ@SxSz(@&QfMiYA8`&BNPW$ z0jy}>?PFQa`@So!wmM?_Xu2by4KAW;S>F@JmRhuz*pf#AT;oMw)YjA_Uc!G2$2>;V zYjhF}-kmxXhcB3o%mY#E#Z4RHDsG&1%w6uj%<+t!N6q@=3|0TchD?j@c$3Mv&v?o1 z`7g&aN14qxJ1N*ne+sXzP?-+<`}Dn8!$Z+O@AZ#kxLRbd40;ZIg`2b1xRxnZUKHYi z?#GP{g2}ylA+{?qw+@|u|NWKky7k^WiHy~BPXr&f`i6M198*+cKa9r!Y>)HkTEse< zgA9>8>07o&?8}!gSFT>A`q#J&@emDVu`n0kRx85d0IGZ9U?7t1Vd6&24QaMhbl&GPmaOQ-_b~4;;EQrFD^F;AA##dZJFUc>gm-61gE-RuRk?bAdYD z`iPT~q%oZvL|26^l@{OI=3=wAi!^HbJ&E_7@tl9Rjau35ebA&lqeq zr*FzCW=XYZiSzqA&bzNFJhMipp?kZjsk;Q=ofvQB(e+|cZClXmbvCm(_<6S7R zKqMF7hdRw1NXZ;ddXl__JO`mu&wB8vvv$ssx{enoAIo)BBZ=!u$q^*b5Sb8=5M_{e z)dObG>Oi~B*>Xrl<#G>klR)3m_nZ_eHsNN#^ zsgR#K;1KO;Gz{aD{tjmdDcT@Sq?EW#=i}Qm9B+@L7Lr|@u!DfLU#v(=ADm@x`7bgE z|4D=~)Xp&Ci20`r58^;UQve7!NMC)eULk3&Wdy$nQBNo{zCJrLv68ON5at8Y$HVIN`s}ODgEa^Yws`j4?*W67k+RyudU|;E0Eyhao`{Lb zo14VLgJ~c?6zP@$Jx)FJ=2J5|ZHDdh7Jt5CW??ZkE0>6@i(oaYk<7fAvTs|UPqCcH z{912MWD5HS>7thBEl_m|1@eJ%f(9V|4*=;!G%D$U+9ZhSHMr#W~N|M!GZmVe;m`)VEOs7 zvsm_$nzAIY?&RiSNKX~OzkiDZNVJD ztuFNW<4FySiqraD1Gw=bpl_^N_}&LuUU@k*$+{b2GQMo zsa5N7CZP$1TT+r)ad2N>GEJ?KS>qazPM!5@C5jqHmhx{*CY75LF)uL-ql=65_uzUX z(l;cT^XOFp6~lq@bwGx!YV)8W38D;r^(yk+pq#=b#T9_i+e)&Z5Cts)av}ARgz^3^ zya@hQOGIe_d=WwiW#AE{`i!V&OBCQuCDr3PnWpMoUoMc9>{;pX+TNBg{&V9!*S=?p zB#fA2ejWYU4noL8suGMo2~NdPh1WqA?fw3JiKiZH zLsJ5jfBh$%v|C7l3dRP~l7-cS)yR*@a@Q8}xEvTgCz=UA*4NbaHy)ZCVj^|0va#kl z$18s9N8thyJ41kl2Z2PRlL{)z1e88Kp{ksZnBTh=YU+OQ*LBERVhfnJzqI*SPzOGd zm#4rrG+^T2aK)BnEv4JR&+|;-u_Mb@6LzRY^AM7@y^h(edP8o z#a;9p9!y z=agnPzyS_Kz4K0KRcAJ*VD*Qu4_8uJ9a_GanX+9-XIqLDZ1_BGCE}Q7qwGXG7=Nqy zYk|4X*l0<)#PQIvm`m=z^0pb)>;pB$S>WdJV`XdueKuv8unBlbs~~F^Ui^bMnuyE^ zaIi`6IAIosTne3jsQ_GpasbQ!XvJsv$u1%>NvFhB8kxWWuv^I7FNWm(8_*Dv$gvBn z968^KI2cM)3BAoiLhg9iDfPvtL1G>N zoX96kP;f$|0Qtv~M+ZMiX)h=Tk`a?_Zu^{rgxSMTOvnjCx8JO8-Iud^GpaeuaUbnM z3IuN87?&#D4w%>Ng8}o9+7KcVQ@OXr3#U0rxP_u9siPFT&^+qj?%~f;0u6{iBCEp@ zt|d~?fcJap2ZeAkri&4zBy7hH%(ltr_}mR%-}rTmKCDrMPWBN(M_~12Pg*F@fW{1~ zoBCtU^XJdI9Ho^)(;;XWVl5}}P2C=Umj(_W}IA{nA70*^#U0vNr;SSd2{Jw@W zc&Z`qhtBAtAocX8l8^8CF%fI|>s}~4)zY=`B6cKVLBBR~;q2KRKi82D3x)$;Vd3|e zqEj5w1@rui`X1+0CiTiY?3twPiuTF&c8Cy+(ocg42E?|v&(j={3bwByCJ3*vxw6Oc zP_V{RZ*GPgz%-S``a99#z`qif{hKWyUf`YF!vq71i$V7T7Xc7LD}@~T!OubMTa8nx zmoqY|m6;xzNY1mlnglz9&_d zKjRKL%tXrq93IX!d>0YlQqxLS&8+g#qj1VQ?*;Tt{I_@KK%7XLePkz=5y+9NaT#1k zIm^im9dy}ZNdmJ>B-o@ZknF`X(;%S9`{$18qJO5-OHR;ufm4KG*s(PY(A;^42Ivw% zFOudN5|N7D%!&TS>vdweJs>&}x^Vr*FXEJdY>`N2pkyX+2GGD80}esTSsUqyV$WL>~dSdMv(3J_(KB@|E1^3WKq#;9X<(*r6d zLPjQaaLGD;xOhIimOqWh;?A&MsEz_z>jiYZ|fXrH%}u6Hqlwj zP1W#W|0xIeg+%Qi>0(!9clQ<}QUp6|`_qz;t*yRoqhG&#>BX&84YM#e12yYkxwmm6 zFLU{}AX^;rQ1}uCZP-(`lm|EfpWD00Iux6NUhNB8tvAMyRzMQ`NM;?~quYNYhki z*Er@WlV$MZBHb^%VcaO%0Z?jnEOqLV|8Lz_Uo@0^0Qfy0n2gLHXZI<5w{Ezw*h{D9 zcB?enCerm@6U(cq>63D^)}0@_+#QXUB4w?(Qm5V(AU^PrhK9c>*N;lgCeDf`jv@V! zw<_y4iCl5Ak?JNAlQg@pB?;N42{;7~E)MY(D$5&WY`mPHsdjo#M&9M#*F$Y3;sXpl zM;}NDeVUMf|84!&@_+(pEASa$DKU*2 zDTXQ9*~b+v=w#BgJDNv=@o)+enCtEw{vVR~OOlL$eftInM~POSktOAku*6V2;k$lo zy1N${nysVbOj1KxFy zl@Y_vmuV~r+k4kl>_U3b;B)~w+dVvMJo{?5&nk4yrdji@gIvf2S6trTKTGKP4Z_n& zDo;2Q44rmdbU_BKemL>ULRE~ApdqFV5w@{Qd$)1W8fC7JPT9R>-CosQjnOnw3~#mb zkJdgZzRw!}S*I?y8B6~iOol{2O_ckjfSVAU`#bG7fx;)0A`Ih1r-fw?{cBI8I*S^^ zu-l?g?{x|E`dW0+xHuS~G|cP0vwb3}beRq@V{pk$Za}+zv$$=DYxTvBrf~He8AUd( zU8fGd`?%?oH>-Ya(pIcf5)x^gbskq?Yn^UT;6ny7#6DrMc>`j0Pq9%mu4Vb=cYj!7 z(nleZ92c+8;TBmNz zt=8I_k|e}6CJ_)`9Pl|S@Mr^H_Qcat8wV}!j`XWMHA&^&B0d)=K|w)P_@*Wx&g>|* z!hQtw4hvyZ0zT!F0pB5@BjYeMB=7-Op-=1{jKqsK&7|bOB*G{5>#UN4Jtl36F9A5(EArl$Hqo~Xy}8gKHMb0Z9p0$>aXecPt)tJ zSduYFGr{gQCk^BmLn?H=jg>!$lm`(iLnoYgn|zgj`S}SJjqO=@DCV>LV{?1vY=*0g zU$1D|WB8RF1m3PP9@Kr_tR63@xLjy}@d*au=GZb<`AXZrYrKujIF2^4ty6mPk&4+% zD_(B+bII4ZrCSev%b7=yft*|ez5LzfB4b~%sYnfvGW?Nn4vbY%Y%Kvew*A)SWy=~v z-xUB-MBm`9roz}q!atQA1C)bt32vLz3_69vC~yr}n2=Kfpyadog*69%HtC*DE%e^` zF!!8=zT>%mzN# z>|a;$%OQ%de?j|svqPGPkI*5@qO>CUS{SA!EDo5Ic0b9KWmeTkbrsd_-ER1;Sk z%s-3B`eI2f9G6)JHaYVghO8f6wa}+PPKn$xs{eY<+m3l2$g-WCntBIjpST&Miw4K} z-y@;>@L#KI*C17Ttjb(T#F3KN9AfIC1mKV$nqrJ**CA3g0bN6(SX);&kG zRK#~2!uu5G>A>2%qj_4*PlR7s3~7aMB#0qViy0+=WMsq#MS|KOV+OUA;V^O*GBI+k z0a^XoR1sb{m@6?w40MN*PlJZ{zVLTcNzy#`eQEXJ3)<1gM!v0J;V01NQU*8)vnAd& zN=4}+CcuErk@K`HN7f=kCPLg(r zcV2}K847{;V948!P4Et4;t+;wgDKMl9d(dJD?yeTXA%RU!C|)O#!YpyS~<*hZ`E^5 z=vaizudoUAK3I_pevrLa#0YX~XV(gqhiT8>8ila1sM$+1zhZiWU zx~AoBtVqs=jhi=SxIxt@+xy@HABlfqqTN>iUiHV6T3Z@T;`9S_sQ<@^J`$%wP!a_0 zI6ScY+c6z@I#r)JCU&X!_)ng**6yM7E*$B`yGl1WRp>vgSE)8Kn{aE1&igPPRr+z> zMa?O}`bkPc=Ofv}p@qMHG&9)KCA&^gM#tqdhYsutNoaFf)zzu=>dQL|DTJe;aO%MN z$kAg@nw;{y4R#`k3544Z`;?yG72AR?iM3QWU|1y?Fq4q&HML+vnFKuW9q@}1oSTpw zm!P6MW@Hpg1PPYH>rF}};GC>@>;~)IG=ZE@gH3=m@S5w1ybR*&Z;P&wX%h(Ve|`rX zv)7$@m`6fz8WGny;mAq->)pG);BiQDEaovxiboK62MsUj%~9LSa(8kM6wx3SOK}3;8x}Q=WtBXp`w67Vflw4;DV!gUaE^k zGy9weX{v(CJaGH|CQGV+iIZ2aKH5}?h{%~NqS@Z<6VR<0Z>T7+4j6Gf&Et2{7NloK3!k!tN=ycH;og);>0osIlPU{GD~3nb1jK zSbo9qLG@(V!Nax>3QWG#jVHtk8vm-dRwYCeBjX)z20TuVYlY{h{J86I{po*gIAe7+ zpz=HSE{y52OJ<3CIAU>xtYkiVM1@}kI?JSiDe?71502B0B3`Y1brVES*&`CBvKe%e zDFXSQuG}vQs^rzt9Wm8rELHQ#)s8%@aph9=x=c?oAnBRxk~P0SMAmmD)VLT2C{(bG z+eeHmWjYQz&!Kzf^GQ+XhpzETNrmRY63q%VgHN1{rtfY#$Le@d$56(@-fWb6PB`QA ztD-ZqYrE3`aTe;|^{TqWL!l`va6p=hRbsR80%B^)z;%(ZY6RHG;Z2;WLWIj%B2gx0 zK7ucAx5|6_ctwDppQs~o;^1i@4JI&x+5m0H|Ghxs;dHXEvEo@GZ$;EXib^nNAY|A_ z<78L?2bUAq-d#@Tnu~>y8IoKD#ITWg8uHKaEU!`=-240TopU7-ZhKANsqy( z8tG*u)q!9YU~C=!dsPP!ui}N4O5EOf%O<|rHC)7#LXol7BXZTaRs%?+#`6a`i4FLi zfdlIft@wKwUSlJ(u~CC{>j~W7r3imEzHT_$+W#C7{in4Qx6L0|a9EYWko;B!BxvBg zK#2N>@mK|8s(Mu_nlhwjOcGcaXMp3{Bk~zOJ1qZVZXh)o{}4*p?x4Br1D|MHBR#~3 z8XBTA{3qWGITCcr6Ks2V$RmoIoBy@8P&FhYZ^fBXpEhV&|df&A3gQYHfEvIzIa0 zrif{xi{p%Qar{TY^mjCd2bp{4)o9ON;hng7tyU>cJNXte32RLcgVK*%Ym~cw!v@l* z1}z74;KL`(Btws+h%s`?F;K{9NCMK{)zz&94RHv9VWKX<2K%G=2-2 z!EIzb(G0!G-S@B_s-e$++OB0cNg<$%rsvOhri^L+%e{46;Schv;`z?Gg|Z4P%x*H* zI;+%wTRNc98<6TJUl#Ynkvcyz2hP7f%PwQjfaik{*UiqGZhUI_GO4lpnQO&yYklO) zyepqQ$D0Fo$O!&}Fv~;j_Ze(Hz8C1Ain?_`vd%Fc(W)3zfzuScxw?5Rn{K+1*Ol(e zbwVN{K0xo#d4+uZ@&z8Y23p7E9Vg2a&DIoP@hqIw_^>9XSn7#|Z|%HBm*Cn1HT!C3 zH(!X2*v2LAWuY}YXu-}bEBG;~!R!s*n$&J6!vKD_o zB=YF^d&{!u8otQ7!ct!LOY~Bucj=NwvyK1JQykw|7sJNyaX_4l^#$^(=i(xiQEdre zuGJSaICuazU=Fj)4Sef)ZdK!C<)0OxSXLe_15V{&h`@o|I`iu6Z>KXD2I*I0h(bEa z@ULtC_M}C4X$V1k zAiy_bUy`BDAjlBxIJXWzN_Xkj6=siwmmNnmVhV|WncRj*ZM+&sID1maGC-1!;GnAl zRzi$HkBW+7BbyCMR%Xuws>jRcqjE^bhe2X@D$h#LQJe6;X7w?*{|mH5fDry*lt&ps zfJ1CD(qgqwNp)V3U3n4mcDI?II@_g1hM9vm*mbJ@W_mczOCnyYCY4 zCbu{E`=uHLTG*W{8&D|ErE>|Ym|_fXd1~?GX}c#ACub1;qlDjA-e-_+2#KBWXBi#yUPn-BVlak(De261LKhK5=4?x)5akH@_ zU3@KJpMO_=ZEJR~X@8vcJtr%pB5vf=%XJwtVY{hmXp#&0mZWVtM{ybeeTVK~ zqDfPt7n9zb?FlspsAuY_BO!6V&|RJ0TP~5nU_?&We}6@Hi+}=yno|vxFMGK-MGl}P zxcl{)7UNBNuC%+X>DE&uiYBO$z4KPQ?GR1eNm*c7M96@Y1W%xD97vXV8ak9(VQ9Qi zgfIuhc^tynh5=rF#~;VrfAj_pZn^lFrme;oj~OLyr5#Ki@ar-hp#Nn_A5#7dlkiAFBe4R?M z`s%##_)S{8wF_>cm5iPy{fRoqkN=VLwG_Fes`H<&9Eg-2XY~DkF(ax*dsCp?1k4*t zy5Jizftku1N&(m%Opp~aljXY7TBBi{-Fb@ngz+b-@ilwmRfNN2!rjjTudD-(iPk0+ zRHzS`wXME*aAQoMYs7n@I@PqWzilQ0k)x1gC5>sulFMPIj5}3&VM`|Sqh-g@`NOF~ znT=I#+4qsD23@@D3>DDA*NHdHZ)U7ahxl5QN!rE~Rq?T{7LC~SV3{pob}%^VZ#T!1 zb+V+=s6(c8*vnwiFrE&l>SKpTt({ViRSqSq8FdLHiR5H_{3+sK6+2)RRcROZ9vPO-g>*5EoIZ>Ibqg10!bpOH>-}<2GknKKI$xV z>O;uwJ0#Co<1@cDyoHNPVo@5h7Lou1ypf>9$j#~uk{cIumVIZri#PII__7+2B&5M?2S*P&|EIcQGbV8a!n&nuHc8~TS%FVktY#wSx{Xyk+j6H^d@1c}s zSc;E`=1C`|?M_vva=JBj8~n!}Dr>Mio>g!(H1z;_LtdlQf}g_ZHg9&hrE{SV_YH~S z1%&|Rs3#^3z1NPu8gD=nK#P0$5tJUD1}l5F1;!;xMDk_H`nCxLv~^`J%~sse8=daA zGhVw5M}5lKS3YCX-CC`FMrZT-y9dSgF8rlxRSsNdtEzy}N%8G6AoMz!3-6ACL zvCwCa9vfD{&i1F(*y3)9!jrssSA=Az0t&)%inZiCA&4!phy~d3`Gk+9%2SM zf`gJUZpcLSci)d)9ovM@AK4^P${YwTQt!=ad{ZJPSTNpCL~?E|=eRqvI4|gzDBaLNSS`WEy4~h3!emTRk4PyZ z_%Sls-q~)Yh}jix9cl`3b%1vD!Vd$12uR)aWlu|rJ^udTRAB3x4OCD`9?>{DN-vZ4 z346M*x0-UVvvw}dp>3f-&?wX0aO$uD1pzHm4Y_MF zN1TqmWWecSgr?nt@nbc#{Px|1Fa(-If_Pz_Ny^XPihhI)5yO{bZ5by=59sKxrZMJS z|M$G`x!0#x^os@0C?wDF4MzKBfCUpg9*gHu31@h{Ngb#ImB)^#K?ZS0E*G2@7#d?V zeDz)UHC0{N_4_a>`v$M4Ix-48LnI3Yq`%eT&6?{0Xl^I1=mQ+t`>B>-dMmGx_xYZOwmIvZ9^1qjoHK4v|M-#aZQH)S)#Go} z&nd^G_J>DKuG8Awl^^inh^nFF13Q|mhAQ|{NUsAZfFUPYlz>fVXAM&qtQiq*GKA<5 z&ks5km{A1@5(Mf`FKz}x^`W|@^vmnqP&*3r5jE?m``Q1Uscz*)^;GPL{IFh%9Nr52 z2d!bp{yGU7ZjJW*d}Z%v;U?7m;Hu8UOL6s&q10v@v~WSC#IO4dK8v^q_N)<_6@IXH zkoIqUv!HTr3_p!x&-o4L1FI&993%RGix)3Ktv4M0O*Pf#vYn%JpXi`u_YQupv^EQ( z)`J8B-dm8bcdUBOx()qg%6d}g zByo81V5fw?(Vh!O#pw`-2=l1=t2IBycie1LSLhR5JR{7Ck%;hA7$x;oOS+w1Tu4!D zGRNNYTC)qv8vO#isn5N=vZi~EE0}hCiQ6sTiQRh-5Vyxk&gXs(3CaJCEsyN0%^&_K z`Fn1U_lKUOw8c83pHcmK0}0V;j5lo?&<9ICqJBGVYc7c;xo^#C@_fX~gO?w!f|00S zKDLbiX2xi760uZxrs99MH4V~L`OX20wqmto8aHBj7MF2G)wk-7&NtSJnCd-jBXmB*b+M5@GsEf{};8lw$N5%y^w z!-4;AM~|~=IrT}%XT9V1$o@z4;>wHEafiDAh=3dg$HBa13j>-Hk;9BvnAq0;X+DFw zf|1q&INjj0)LD(?OS!}AztumkSMl=K4PE2yiG97$q@&QuI!e&L=65{u>*3Xt<+&B? z&Kl6~z$Q5=+AX@YjjMO$*RNolm)Ie=Wn{KNH#FnMD>qdQlxd8XBQdK1b19g@lNr&k zRgp7TR8&M-JLQ%q$|3VxO|m91{4}RpWR~4x&w4N>B5^BoOpw(;t%UaMifI}0tha%&0TPYK4ye5v)GGsK5-{&Yrma(CHKH zKdjVv0^nf6-w=4hJ+Kx{h=nqlE9aSLWks&U9T#k4bT!>CBJTT}&g|rKZOiwOLfIZ> z34-4xy8jv|#})d!@92QQ{}2p94GmiM+qL+{zP05%kGE?ze_j~sI?icg=w~56?8x2h zkr!_J==tms+j1F~@gZxSb9C-+zadwLO5Zk&r{QM*0pcB_#5Fj?k7tSCVuTQ5#{bxx z&(mk183*OF%3*J=>^d2$d5m}yQ&VBfweR2m40ldJJ~EQ=lKPi$h1tD$_{wh;HlpbG z9;l!*v!=p8mf^3ht=NhYE8eD?$A<4W`82PPkouHe3U`J3b%A%*2wEV<8e*8AZz=tA z8_F~y!y=e2up0!qh%NSsV~$k9XU_=7H(;7a2))3~xkbi)CrSnIYA$@Z!s zMe#bUqL8EuU<21dry{OMT8UxiT&e_hMjFi%JFU#`yt0RsD)=%j)zlbBY#QV%*#C2F zg=LN)Tm$Y!qQ7u368yRFM=i&0N0s_&%hBtT9aLrbNeC!_Vs<`sitY$sjo0AwvxvA+ z!2vx{HrZD;=oEgu)AxX&)K(D&YGTX*6ev&p&TvH`w$KyQRYBnWOF|Ow)dm!I{F)rB z?Tn3=TOO3F9TEAh(3a4eG3C8w!9rDa70l!YC}8=Zggc3XUD{i`31~SntBd7+qkdTb zBi)y3h@}wgF1wOZNy)fxTWU~(hdd9@qn0Gg)<1e+-GFvdf=o7w?BJBPrG@O3ag6)U z1GVF98oq(+wWVLKr>6mMGH6u)q5V>3z>(HTubH=)t%MiN_in>CfXzUARR&N4KqvSc zaQVkaqH)Jp;dB8DUzn+$s)yh9w(*~vKE%F`Ou=j0-{+Kyh+N84aQC{?I}5*yn4QHyU<@}DWpe_<=Z$9m7(Kp%uG2EQA0Z?Q(gxYp5 zxKTO{cd1~|d6K+t(cjDYk8{`|LCVtnd>L@R1h_#!TQ&YA<*T{xhXdJ9854^2jTLUt zm9rc0;CF98609=%yGlpTb2k6ev6vQAL9+RRp-iQQc$ec+_`>gxDy{OPbY)&z%jq&I z2@OjR3Er;1d<5SZ8DwSG+RfhWInJMsxej13ibxv~DgdU4Xf2U-K$vk*fkS_Mk1YbI z>iV+7_Tl(ZD@Hci{aU@}er0_!>X!#ejCl?kkxl!%Zt#Jpf}M^E{}94lBE%*ld{8!o zJjDtJfUWVMj-KAnM)#Gt^U>Ka`UM?h2et_CGCvH?K*AO@2|%B=K+=Wo*Df)yhYSM1 ze4w9jJj~E29j%hI`^I*o*?nfxB5fvi`+}I%XrJJ>fe#6CFKF0*+S)c;*~<$b3NG)Y zrGa2&6kmhdFN4E%5*}xQmO+8{7WlUx%UZ;iL`|ElvQyVmOnj zDEL9}zM^3jVgj7)=9|5a9~9i@$O-umVqV&-vlebWW!fI~^q`3wuMAO2fj8J3D9!HN~sV{C*PRVm?Q>&SzC->7X-Ph-^! zH1M^S&Scd6UgEmgxVnte^9v$K&yVaJNPC>eV{*0n9#W#A(jPVh4tWPGxG{Ktax9XS z8r#J;=aJXM!c5w75VQ2w>NW`%CYtHRKVCGeC=`-g3o_z1=tN%RrjsZPfsvnsgQ_E| zE2a$ouNDCR;4Z`kTZv5r$BE?i?@FSECG1#|DzFb?E|G+x5B*XNRu0Ohro<-Wjk)rl zg&QL@W=9`lV8LTb^1O$lgv@@!%bzbtw3{SS{L^?g(B3{Ar8Gv?RGsbZ{@_j6Ar}Mf zm4| zu7-BUf;U={VS)kAp#IpV!l-mrI?`QMqZwKbv|05{`x|%`ToKR#)#t_C(KcVsocomF%UYs)=ne3CED19* zCUrZK*bIN+2-5dh`F#VLL-IwFg7F*Rwcw<(IM?vEp)0p~zi#K>(hfz^Jee$PsPMmuNHf=vht}#IzBdbP`$}z@@DA;w`@1tc)Npxi*nMx8V23w zWhNi`V1o#|dRTo=_;Qm|mAJMGRctz_-SpD-(v9K^*dIyD4Sr*&r#wNs zV4uMOO>#GML?aXBlurishLpLwwbKa6Dh;XKm*;6v?=JzFgqMhlHdjdY?uxqt#s%W~ z7~cCX+!yi~p2zCydL6|)6gB7bo(|_lE zJN?kYV7gyh4u6#{@$fw=vbO1~E%%7fh$8FwbkMnYrcPA`qX-RF{v~$5b#Fd9^O}KN`siJMnFN;g*vllpQMf6-ak%f^ zy>-sxzwmn^OQqMbaM(`o)feE-YdC{f0UpOr9TF?69i*jbI{mtEY2@yA?#8s|>xYiw z*(D4Oo>&s}V^uV%LINbg#nLxAK0}0_M-U;?q3|Kn%CNalsV2$Q*vW~4f#k82%zs}?r~v$M$iN{RV8+eq%fu~DV%$kEDpFxKC{DyYQ}m*y zTf?%`m)+DZ%Hn_wJ0l^MfrAn8gi&rs@ASgZW{auYaUokrbsvEI*?}<{u0=W^yl`*; zQ0$2|i+@YdTf_;InVy&x0;#PeYA$;>58uMCkKZ{MG>tJTAtr9fO)RZYnX+oV3A?gm zR%Ux|#baDk79A)IybB@I-hKP%^rLuP`NVQlQ^kkuX7!xB-Y6{8Z?t+cwi#*W_`Khl z?*3GhhA|N@l)lSYHu+FUc_yR;-w^>oOx0M3gszvVM$>d|>Z}Wjn@udvw31V=KqCRn9x zldmt1pA8xGd?c5wPD62etX%VCVW-u_8KH+(_{~VrF1CIj(Cr#8CaSv1HTp99uf4d= zry&?|fxobRkn7`t2;NOke^zV0&HOZK!3nYx4LyJDyQQn}yJ zfjB8OnO9%7ot6l$_9-YR@Z3301ZY?spy*n+Qx!;t6CH1MERd))sCy5@9ml9itE3a| z`w~V}+E|*==>^D`*wPPasr8^~Nrq9~IeCxkYS33mhY2J;Qk?%xL3SnUTle}OXHV1g!+0>PbrW^_&%Z1JY&k_G)lc)FT`^yHEr+VTv z`==tEtFlaPAMjCcdmkJgbg;Qx`Gu`>R-fJzqmCkZ69E<_%Qn^ldpcig+Fu9ejvz6D zFXH$9hxIeonK_ru%*qFB2|Nl5mI{thOTj7j-eCLW)YNBFAC?P~+2>sc6yvozzZfdq zmt_93=8b#7rL~vqW4<)!yjj~{*NQvQ=OCh(mUe-2AkGGov2_7Ai{~D(nzqv<-@zc_(wQbr@(_?%$q+}86N!n|h&qw$(HtS^ z>~If~DlwuShXRx2*%JW-l-Td^C#(mTfum&`<}eh@k5Jy!?(W3yOO#pq;+p}Kk?Jwx zP-UtW)!1ZyN?i|auyQiebl6-*1H8|ItUe*8n6 z4Xd~xs0rLk{`|X(l00M-xogMOR&!qMyvItCg*?2uRMi_x;jCli{(w+#jLxK{1#t=x zx)MYj-W#ir6Wb-^GumK#rYi03HhFk&nLY~fg_XuYR1fKlF@OBQsyVA3T9A~f#J|%c zu2d`N0CU@0Zvieed=Z2os*bMs0+&q!tc2KxaRm!J4PDJ#*#V?914bfZ(k8X1!R|AB zMKBlN=nqvj?KtuNIP-i?AZ@6HivQH$r6O57{qSEVICF@aOGt=RiGpt@_Wr!QJjy$f z`<)QTT+1#ff4N?pDKt?#{SMb#UA6ry5C zE2*drFu1E;0_+6-wj)TxLZr?~#0%M{>Hmdd5{NZ~A5BGm$81ebUNZ=ZF&m9>z`6{w zmG*$qH5aGt0m=ZeiTw%iYC+%J&$G##P-BpnuYS)_0TX`}?}Ta|{)938<=4iMg|0Jvbm>?P9{wTOTve<3TUpPD&ZN+~y1@mQx>~g*?~z>~+K75#Wcg z&?>d~khBnN=s@~Oc@=gtBH1LHF%+iIU6P*S2`u0w8jjNbH3C%#(nbbUB_7wmx9la? z>WM_fLrasbCc!7w&tL?=hg*a`i9^G9tdVO1vj``Dc&*BxusI)Grlk3b)EJ_N!{*0_ ztrUh6zZjnOAL2Cw@^?n>JxpjYZ{CB{uQ$d#6%Q^IF*L(sZG4+U-Yg zB7U(q95-)Xqn2(vANpB9Isl3ipu?LWf5z<%C)MpvtGlSeL4E=8g$iGi10c=9%1Rf) z-K!$vxMRM6%uk@o-Zd0%dLo8|=?MMxUpP}fXRyZ}7vyvv;=xZMocq3RZGfp+n|acZ zRA`_pKl{Vy&BIFghzWDbFCakYcAVGOE9XTRHWf@QUSYBp_oK>tL+(E_+dt;(*3W)E zbM;viVWZ%w7ra}QNw7RT47V{E@j`s9*c01Red~VFE{Rq~*5RDBimZ zf7SE(4U?r6lO}*+zD6cb-}9SmK&HLyPI4nv>MjdpKAmFNjOqTc z?gi#=<2idASGSh1C?{t9zBtXTO3g$a-!GuOpS!`xmJ?b5#-D4cd1XJy>ZCJrh%VH% zE5}b$PUz`rtiHzkI2B0;S#5}Hp}t%01+O6YREvdFb5<)A_x}Bx>5n|@mtT+tF0%98 z{R1Ky4a_-dwPsJmQ#wagkqPn1_9?RFR=^n3ORi-o~C~%Qi3kzMZZGO7ZTkpg@ zuNizTG@z9)uKFX7m7Hkm0p2`T0LeiNn3TpBT_->Tt7&K)1~@{$ejAJFDhjFXsKQZm z2g;~K04_M^>6x5qRBoLhmu1iUGK3s^5tS?sRbqRFv1L4QZ$-F$Usa&JJQ2#kD>b}L z3RD2GEKfKWlj8+0;D03`Ser1TQ#a54Xj6$v5LRr@tdBW_Tm4Eqe#FP8F%YmpB3T1g98Fi9L-BjH9t`3wOWAL z3iXQE8ouMxC#efG_H@u98Ep6Rb46agmE1gehFX*xHL1ad`jZX z2(HQAh*!8dOKd>#Nmh9!{GLMB1y>!k4Jxg&*4K>7Q1_*k(%W!_?-u?QnxKe_3TA#{ zQFY1#PukX-Ig0vox4+@DtW?=`_VnqV$H4~=!=Xv+qhvK8#&R}s{Vj?;8BKF?$$ZN9 z?za2d%fx*S^}c`PiNj6adkx`ZPG6IiJ`0LI>9_Rjdd3nxI3K&1WUh8dH( z9!u^^OdIoHO>zHN*Y0S#DF+}%%98pMW-k_9&8De7)++(twg=eXj2GF_ZOD9k^dn6? z7?Wdl3L;9{r52@Xabw3~<<&|c1*LxtMCR?VJuyZw-sQVuY1AT+BaWN&fb+~w%o6x} ztPnV4V*b00wW9|%Dcfl%-*~UiuxXI#_1W!?hS1c%=kd$d{0Uq*;0ODXxbhFSk$&E6 z6($!YJK4_#ytX|&=zpQ7I9JJ7i!9WuL{EpvrbXqRp*{Q7D|%PFk%Y2p}{Z#^yib~uGowm7;)Uq2~-ZQ7|;kKR4Z-R&iPN!A4WRYss;3Bvt6o?8j zi&J{Q=_WBAp~d42R$n}7ExnJIj9_SyvU&QD?v`O!-jyeaKYxE$+)0w%w{_Pnu zpad`?KGIHxug42y;R&e~Xl?%0EgnqRfOir~-9LvE9x8YoELon?BpGLU_QM;IT0yqk zJbiJBrGyzCz)_Y$NWDOz4eLsyiBG$5dd;O=jF748Fh(E}yAP{uC8Q+ir4~Orhq3rO zc$$3BM=ap(Efl4eL*sMC<$q0n>!Bg@D&ScgyjQE$FC27^Qp)K1OQf-(2ocLRGI8Ke z)@eGw$$eBPwe?2Q0|8$N!;+)T85I+jxt(`NraLHVCIx;Szmj^{+Q|c7a2U8)dgdoTR3Otk4-P&dAa@R6TJ^lS^jOU@+i11j_`RM z;R$o#4|Ax-kNBc*64M4m-G^=opJ$UUsIh_{wznN^8Xn~9g8sr@{C2_JvCYBNG+1_7 z#Omf8aAA>A)Uhy`WtV12#;ia4QJtykzR9v-dy*ar*o}($lxykjD($VHAcoLiqtX(8(4C)vbUX%8c71e@dm*ZEy5u9$!EeGz8bGe@G*y)@y^ zhJP#a1@sw{BnBd3LhA7Z%z{Fpr5KF!c=14^-xZ5-Yq~qxNO4Wgy=hyM%Cu#jr5SS= zgBFaT$Z`6Yy?~FP(~}D{FnObT4gW4~F1{Nvae6|&U+M^8 zd=ABRvT?`BtWT%}lA#4n1EN!i3`_?&w@To)+mLyq)n^;998`6#4zbzvXuo=LhHW{< zMR38tSedtD-NR3hYaAaBHe&R6tn;_^<$r(QdKwrO&nMNUj9VLcbO+Q#lc!#vHTQh- zoF#ed_yY_Vz?_Jb(DN5x>--#a7Mz%)2 zTzj<|5H7s21nj|aL)44%)2L!w4_m3;>qr@@H>)^88}A3GneYwiB*nyb3i6if3etoY z9Y`p_#tm$9eE=;Z>+PC$HQv!9p<=ft?mOSf>$C#Jrxtb}QxBxa_`ygnYO%@`fZZ$Fah7?q``Rcfb1 zeU>NjRri2W(DpUXTsH=o66+_cO?T6!B;$T8Q3a+4W&#H&K#Xz=sZ(^TDKqjIft2qn zGCIXG-R0-bl+<7esc~Dr5ukKcm5S;AgOO$q5K#!3v2ZkwTs=j0J#GpTVowLD{)1HQ zImpF?1@Z9fvv(s(Am76KMFtBzsNX8Ts`JGL>e9K<;LLaWc70Xn3;K2`-I`~qomQ&Y z;X5hEV4h~)jvw^BcxGm5|JoAlM=(u>eEvUFy>~d*eg8ggWi^Z@$`+M~ifqc3L?y}! zr7{!BmMD_UsH{RmDO)L7AtQvc6CugooA3GTx<9|;`2BI;N7r%beR;oL&+&Mik8`YV z&aj4`9nmU`1(_~U5fUV-!I}`8TG$D#_g?DZ5(6&`X1>Q8-hT)zCw2}fhCjhEm#vGU znS;BTV2}E*?z8GzW~sjV-f-nHrcXO|tcSQ4#{qBw66r!PBLU%-{hT)>9G_&>o*ucJ zUT>zyn&fEP5;lGz=Zt`4R7;)^-L9CvbjLnTtdOE^hvSR$KNbIEY-Gq&X`r;VE`y?q z%r<~->b0yqnK+7(#IV}QiVC?WZTAIjRL+M@-+HlauSxzkq%Z|rew@qQcz-PgBtOLk zo{NxS1j4_NYR)T394>zwZd042ZN+9n$+N?xI@#uO-Mg^r>cMHf0n-#GKj95)4*P~@ zJ?i6bZhlhqR>?|EMqO_2mbDABqdM*W*A%%|Cx;XNn*}`vPu@hU|df_eMu9g>qYonBrtZfx3&An(SEWmR zBjzD-0wX!1K!PF8rv(Ap*CcH;Jgd@eKd(R!N+3e=CjtW4;wkkXla4!v1IWC{hmwTx zf&Amo`b5}(_d%$!v6%dO#$g_BnYDV!Mbu2PKE#^><_@YTca&ZHv^sBHE!?hgtU)7e zorekUhvb0b_8o^%}cpH!1g=Lgrf{9sQ2hEiY?$d2W2ldFa{XpQ)YJ zj3k^hF500lsq^B2V}bVBd~(+Z<>eS8Lg$>(7I-A%Tf6N@x2(lsm15Py?^kBy&< z>8C3Nm+a?-~KF$l*bOv|_127|Txka-ai^eK{o<4t0{ypdnB^Z#8fu%whSA7vm zE%Aq65s&n9>9-_7d#n3O@E&;Y-2E#|lp3&0dbT(WNaQqy($?K~9*w%M ztU|)M1OtvTOvpf7^@Y%$6GCprOI!&d;JE-zMgeqV&Dt%b!cH0>E^t7jP{F^F3vIp$*#~W^-|al}T1eX9WkKT9lZC^P`fp@+sRcV!gP(Cj|J76R zX2rSwr)sRj+h6|R+r_s%RBV$5=aX1tjHW@z_Pa+r>?xvZZuRcGvUqvh&EvJ(8Qo}? z&U}4%XA5I;JDz_XaHx&x4MRqmrVPw7S>4XEn983DBao8iMK*gB-W1 z1(2Op(!4?TyN;CGaa^Cg+{>hA#BdamHsah>k1FnYVMg+{=O=c`TstP=JtqTz3%E~Lv|B)S1)yA#3! zWwWGx=UpsUf{YTP;YTl6S)P+W_WXpnw_}`K{}c*3I*Pko3MLQYMX%v7ZOO6TO0W`# zWq8N0p=fn%9i(I8EXAkuX{C?pUgzaa&BzE-y-Q)+^92o)&F*lQZocZdg1%LIgbCpw zzv=<24I-5xC^1$qn!jJbV;D0ZwtQAAgYcq(egF#9PlMA9>e0k1ctR5ABnlX%emfWb z#IyXLw%K*s#I;NPPMuPjWQ{u^!aLWRsX}vbe((9U?fQ<%7l03g%kH~fQJJ4r%Sk<$ zZiZ9$Lr`r_pRM`g;cv(E%o@{OZiU~yVB25ZCS})g=;cJoTUQ}p6PjO#l&Uu5Nci`d zv21wKQ9nzUvdE{aulsert69yl{H;(Nl^8G2zWJ=O)@d=;@cX7c8VPK{s&1uaL?+if zNQ6o7q(Up=6W`W$gEbIa%8MA!&?9x1x?jim#1`2n2>qRWF>UBS|yYrC+Z3)Eo=yQ@ta2Rx5kLh2f*?M zW5M|Gp=lf{1OuQT{wD~nhn}Q+ws2Jr<2Vp6FtH(Cb&z+GCJsmgWDG@^q>O`Duoh=C z*#HhJOY_GvCga^ll#tYbOeYa{muPi~_pcbb!Pfwc54WbX>Qqi^h}}NHFNmN9&4F!N z!phWh7^FWPAQCaaH9ms~`XCrHA+O4eyrahOla}J->C+Za!V}{rBA`X(`PhSe6vj+$ z@fU$(Zr?yR0=^`61t&flRx3AtjuJz^Fn9zh-K0H-xjU$>9zJoHh$f0xk0OIgk;F!l z86*BWVb%g@#=>v#FmNXc`rDu57^=(#?neK%i51k{a-*5OkzH@OOpZ6#BDl;hA_Wg2#9%SmNg*Fvu6y z(GQot{o&TzYa;2n2!v&U#^$jLm_LS8f|0i1sNMWI%5;c2UhcWk%MFR|$2L$nX5NQQ zs~Rj_4C)*6H(em})VCG!vMfZMND9&;ZExVqztW{{=aTEQJ3t70|5$5SM(DJDd4y~ ze(e63xoF~eLDx0;fY@g+Zg$K^M-Q-zM00=L*;nT^vmcZ(=SvDk&fiawy!9){l%%FW zuJ6GmSe0(JYq>)dAFLru}z2`x?^b(tF2X=%G;k2uDubX+K5V;kk3b+ zes{Cx2n#-))!K31iXIwz5GII}9DKacoTpjsFXSfTa5mxBz=_79a#!OVmOJU0we8^< z1ns9}J5lUJM{niU*=}d(*f-hWw&V5f$oxHFe)=gVTM9hg4KlNM19L@ohAH2{7e6>atsF=UM1joTkkKRi50&=h5M*gU!!lH`PZCE_OZp0e#!S74#$K!JR4Zfs`YhTB7OIo#JafvQj$U#%~99 z4cWy2-TzE4q;IB@)+&&S^h}*(Vm6HNzv)nJ#Q*2@sQ%Cco?}v;Y#(#t+&8wo_%Y&m zpsRUjqQnW9{lVJ+_D&c|mzZZ1jn496U`LuC!q!5ugnpcKlb3UTLEBGKHAF>kqe%H_ z%%E#zV$!*5u#0KU4;6~p)=zeYD+|`d{sH$AOzhtw!!!e1IbK5R->JKvqHUTtuXz3*yD}Yg;DiGphX;~Qw86nL!1Nb)>z=`A* z3^HHt=`h>Z1qVI>^dthCd`30AKwam%$q+`O4*?>$1ociJrF0*NSr3jr3m6s9dj#HF zAtTeVdc$&kc%a zWvGjY4IWAfk`{n+7!$O^sB010hs23Q)0ZnWHigQJ`a2CFX?f1f>A1|Z25dvv=3y1= zUbBO-S5|=qV$~}smCzfI)Abu?m~AqoHypstD0}y4?D>9=KLH)+gPPwI51lgafu#mm ziv7k>b-B)+;c2Q#438x9wP|eRTBP*!^=X0BV^6Ug9|e;e6t;m?{_t2q&Uvi=x=Xyx zyV&bIcC;K=I#YJjo_d#*wM%V8U5k8gd+bLwWTRzgN49-x8*q|F_}=z!`oiawiXsa0 zT=`F`n0@xU zxIL>c9rH{|3qf?Ae%@XI3o@($Bb#3{bbIVv6V)}U4aFQq+uv`|l|S!It=`|T@-Z}D zYumb8KK-hveNCUQWn{$dPjC?U5MhY`xhHw8xM+wk6lAYD-+claRG?16XgC!5UeLF2 z#~1fck{Cz)ho=ld^4dG^q4#zFp9mTUpc!Oh0b=kkj6c!AecGra`y`Yd`(Un^q%aZ> z-*NDno?y%hW|RoH$Gq-!;MfZ<3Yh$Zw6I|g!aqN9O2Cgz>&0+umfALrN;_^f&2VLM z9*~GAGReh#lR<(BQ1?RGe?oaaGOVf{-N+6dt!ScaeYz>0Lxw(o`tFr5kDy*bvaW)HM@YJfteY z)*N<^CC?>N`mHlAby9%fXSZhuick%x9WH%uB=U$$sy{09xQDCWYSyK|IMlE>F^K6t zVRBDwSB@&8@D1GW@|t^=+0oBqr;75Jawxs*fYL~Jd&FH=)_F*gSjMDM6k3_@SKr@oZ{imE9(yLs5<)97pu ze1E=G`oE2?i7_*-=n-X_f&NJ~B z*Kd(J9x6VUXLR=LTG-`)4oKm6eXOe(v$150Smo59sxWFDqpZ@cT3g0@wkOmlt~_Db@S`{9|Ozg03%0)|4}=*%>n3q0ii zJ}^$>b8a%9><@GWw0^ zcs9AkYa2rCSTbfg3tvPIvxZc z?r>CtL}u_8QRK)xlW;D{?hJ~v^-*Cd=8JkDF8&DE>>BTc(!$A@GNy(<`~q=+@&QCiq-hk20veSU_OzCs z=lifIjV=m3Kn4hW;0rYlg7ZTX2{3)4km6sH$)XQN2W~Gkg)XqWuzdAR)#x2Zw4bp4 ztM3>PVJZju+LMH!0Hzs}_>bkCmMBYQ{fa(+dPZ717}Y&!RZO|2C-hfmMg7rdU!g+I11sjP7A zujMPQ{0S6&B)W3?!_U#%KS$NzYMA4`Znos{_Q|1kycQG40 zwh|ToZIgx;_0N#CyI3P_&mN8pk{5Jg9lKh4Ifpho>!Rl`+q9IFCt*cP?4P2vdP7_D z17c_3PW@te$X;*D&jem(z350Va|POYHa*z50iZ2k)vgEYu4W^23w(NWI^Z;`;-RN_0j+q(p8b%b1+S4Y-2qpDh2;t zEN~Kk0)9K@WH;(B(om4s4YUtVLf2sp4T2EWoJYZ9aa?8l5WBhbYipq*M*I4&&-nkF zWKt78j*?C{YC^*FCx|CFZD^~OCZY@d04C)36Iub0;b8l?Bt89C-AS^H%wyO%X7)6$ za_2Kp(UB<0pXAX8AZKH`ZfJD0S|3ZGjgcCOKh}bVW9IUWD#tOM0QmX-rTn-rejP8 z5M6njp+4-c9h0)tl0NFyC(98!oNUzPq&I-Ic~4&tJ%9=aVboU4Y`o2HZHQf(cd!q0 z)R5KCwn#pE*9im7s8cVsU0rqJDb9^XTg$NI{c+4A7QIkDuq)N{@4dV=eqT5|=BObI zpaRX21WLoO3fjNO)Hvuv4Bp!9KpT?*4l{)x8FD2KfhwR zcth~Ze6A^el62byu7yW*h(M)UgO04yE-I;wursWubO~&`oz3yeL8&2}p4YMPhaJ<4 zvnW1L4uYWYbfNY9T{u?NrN^)-tmQlJ6 ztR8pG@UE6q_>`g3```%o(?pgOK4bfEgPns9Dh!qV3MOj*{Nt|H4<^3mQ*!?=%3yf@mTrCbM9bkfGvMrmJ|O^eDomID1nM21I`;APL0~+N#okT zO{593oWR%2zdlxiNDPl;4oY|kTaIw*ym-7=FUZh^X$C4f^NLU&BGw=xuhuN96AaIY z(hP2Sz8C_+iw2ov`!0VIq9`KW1U4E7jsjXy+<-@sd$)df53tQoXc~xxBvdFod-kj) z?~OYD(Z7yckoe}{fsoKp@(YX;77Zu}5E^9fTPEEW>X4^~VIy*23E9Ut+2#Xdn7T?<@?{vBK|g89;s0TvdR9`$92_NNICky|3-sw%^r82@|0$T&Tg0%57c+}~+EcC=O;)OFgYm7b~0C7MXynoOJzAWeax;ru93&! z7n&dnkZ#*0diU2qtm<{`AHPmQ8bJ^JOr24GA&USI*_}%dB7$MnW6}|tFzWjk<0z<}mR9zsDobcJO(t_H ztX4Y9pNTR3U~r#0ERH`8dlC+ZM~@yY>fjx&YA==X9=l8_tX#@C`hdG?kCD?ezL<*E zBfA+7os4|FDNu)7&y!w|@zAC)k!G*%(CBVy=J8dv1-a$nks+3Ov+=-GFZB&r2#k_J`$rch`z`l z#jYS%6DZ#I&?;cAn+Q>2)69MCgyTCSi_w3oDcrQzkTi`=^#981=gwJtkJ3%l% z_uMEmFNS;qvtP(Q$3cT@SPDpXcIRLBVPkLp**uHT_l&$L7o*l)kW7=bZR20MC*s>t z&dwy!5LnS3el_eNQCj=i8dI-a}MLCwaCt%i%4Ay|@%LsX{pA zq+i$p)FNprZ|#g*k~K*GeEHyg&uG5j7K?Qi>_s!6n$vU7sJr2snjUP1Nm7yB+Y{z@ zTk14JGnILDM$Wv}e>nv0(N2Cd72QXvKkQ~_9aoZTdxx$mc53*9bp947d%AG??~=am zlw^wF{N8Z!s4QJ45fSDVc@J#yH&s%K|FKmbql+K;nK^%F=vSPAvP8z!Xwef@JX%!` zl}B7lWK=4iu0P%M!)zZtLmSRVqXG{$V8)aZT4CKw2Y1Q1240m4nD~{Z!k#B$byg@e zZ^wYUwf*(2FsAkeAaY7&V7HT%tEG{%+QZ>172G`sK~KO_JrHud^q}F{5;+M!on{Vt zy-b&^I+dI=D3BEI9|CW@hZRI*g7)C%UU;Lb_)QQvj8HrVHM((VXRezpC*e*JVkPK}s`sPaE>9lG-bGTY*q6&xIm55gc~2#A6~kXJ zIoZ$cV^(;Qu-m6+_qGGh@&lnjLt5*aAU)er-kbLD0)&2>2~9igO{MFlb5`r8;fR{qvetjcH~22AbLGlaolRP1d>E7d!RUwio<2garZOm$5Pinr-G zoAIbz)@0e|=*m)|a#u5lY&Dhu964P2pZ?2g8C7G+D`;d3cvns(N2E}EZBYjF` z!V!&z3YB+R5*wfHMhgx;5TnMS%v!gPCbEe6&KBWsYs4<#xC$Flr-cZUIykw`Dq1t9C8I6be z`3Jd2ICQxxa~OVd=_#juV{6c3`IYE4X+@b;U*FAalbS?nofWya+t>c{y-?4v{3991 zsJbh@%}NmIM=Xbkf9=l3_lt7h&E`ye3-<&n&9JfCNm=G^0h9~2%^|jNZnZ6AqnzE+ zoBSr%4b!*npRKqW-GKlr5(kNriOeGl_5kZONsEr`zxJX1o-X%>^&g8X4=e5aU;q9S zi2{T_MJNLhW~QFWVI)dl3c@cWwpi)zvvY=Acm9tHV25}+5P7?S>JtAGoJDfcez7(D zCGhhehuG~G+LyAYTG1#_0*pVntZ|hgMUaxtKg)BlDM>&Lj+1-{^hno9(FN3u2x*Co z7_(wl(3VTkYdBy_=TFwk0FQtQNij{vTZh~tZq%?edxPPT5mZH(7EM_pVj2WsW!zX^ zSohuNhn^yb5OYGN!wcc+Wp8$Rx(3{PMVTyMe1r#r5O}+wd`H>Q^4{6n>H!V@8@M0724|@A78%lQNU3nD|CstMVS8R_HKnG?lkkJewNLyC%hkFvo0BKHHSBbg zliG(>G0TE4W&p@3Q1#K?R~tDWxPwJ`9=yu!@*dkTZy@YZ5Ghrjb{Mv|c(l4iKDwIB z#4x`{<(EB* z6>!%8D8n6rXI!n#`NwmYBRMg*mt-zFW zjaK4)lqug_;nVm)Js0YqvuQ%&b2xW5IGpLWz0Z5HkM~P!9a^KBnCyp}c=kFPgi_fj zY^vw@>$Sz^x$DjQ>Ctxaum^?tT$>0uc}L$;D|x_h`c45A-X*#Xvb8Fv zCh0eq{b(<)&3VI53rZU>+%cjjvx;+2EMLZ42vg#V?Pr9eeELOPN3HF5RJd2OJ-3gEcwlIdN#Q-!(KLQ=B zkA&z5`U6fd2SsT&Y!86qta#W?ro#;(K7=3)3v@EqMOQ>$P10-Rm#0pontWtO*ekKa zCN}n1c-O2>{c9@%5R*xKQcwaBTxG~bh7&VC3R|Wgn0`<~Nsr)(MAM7wX^#}CYJyhd zp2_&Hc^8CH*6zi|hq@7rZcJ{Erp`lzbhGxz`o25qxb9mzS(HK2vzgMR%{IG*e_Lmzqgn*UD&m>`qD)1#B92P6S^6gXrSeovS}h$ z4Quf0n3E^hYdKBwx1(~*uxS-18X1Ct;X)!`j(u4((R@BLS>2<-g?FIoILEZ(Jz8O9 zKMsx0b}hGXaDre(_gH%+JoPHRZR0cTq=6O*!CXz1>F}SR{NngHqm)>+_TRk#eqOVWk7{-4Ptd4RYNo&bD{@udA7G->`@Cl9 zD+z!>Kbva&LBet|-Fj`Y4<$7j7(?HIHX|}J(&^FrYF(=71r@zpDJl(kW>^_j$?Dm}eH~dh(g@u&8;T-WPwoTB3G$ikha4!{b8U$n6=c!(-#2VQNrH4| zl5GL60D?QAJZR94L=C>%vu&&7wx|Dmr-|eSeT{P5b9Z*$L^vkVsvHP&)!@A)b0!`X z6rz4337Jrnmf}C=+Yqpz08I;!^GG9Z8fEvykdhsy9vm4n8MbBNTRB72#4`=D^8`2h zSN*PRV?Gww*Cu9!6-+Kf+(T3lt2no z9;n91(9x<4_x1Iq5D(>=)SEt^)(?(5hDns?BW9wkMVo3J7UFv!Vg!H;;d79|WV(bE zw#sjQeKU+VR%*`~??B^3FIFj=0L7|sjyjJOV4L8ksAy?vg;K8_EakN-e8HJ03pu4N z)AQ}RhGAYJYf^H1p4Q1E9n~$oR@yo9ySSZqLE+m+8qa|rd-0&arLXz}$)3^7vWXHm z(eWA^uZKRI<>3aJ0&0xnQOsx-CRX{Iw|7+;W6Y7PP8poJ)Na@Y~P?3qP$Rbj;tY; z6F5lF4Tp!_Dhl8MrTA0k@ZM;dbPzY-0JOsfv}(enS=n84`4P$g!6mV~=#F z0X;~^3+HA&R=bw5|u62D*8J$;%E^#XIT&cfX<`&s2`?hON{I<$QQ&IKBqKU%@A zE_cU!VvLZZy7tcTXlbiQ{sA@@itBcWOCF1p_D7YeXLu|nKv&{Xbg+3}bFo8W=+oNY z0xlUY0kOLbKFn1(CUW97C_mKRKeT8;i3Tt{kS7+WPIH3swO#j1^pHJtD`sT zK!2?Bg6>I?)rXtJw3+|P9p0@OGb}nI?Y$-ag^`pM?TjSXx%JtmjE`(3bve5^70TN= zE8Vy0a{sX&wF6X)xgEUTZbAxh{`}K@#-`z3Bgep&P<-|M@bkvX-GyU+sg#$gF3Qk4 zmH06@{XiDwx%+!1O+ik}L(X z0sK3|9`z|$6z*#ub|FO`@E%N5P;OP!)qMv4P*Xrb1-j6=0Dh{JniIeB6jq$6VR<&{3 zT(awCa5x{!0~(v`fN!gou@m(!HZ+#W_0CWJ(s&dGwuVXcR@YTjJPs@Jc=)7>$Cl?z zzfbOq_syo>J3s&e2?>tLq;SEz-kkAcN6Oo8ABPRE9#;8GRYb_bh{9mMqM8_ha*i~c z(A1e8;yO}uLS8(ExoGHW)LprxdUd{gDi*q$n|(q!FANHQr|njqytS~7K1#0Nma@%K zV{v-$Hb`D{eOpJ)2xj^RM{bGpu6pbJ?tISa8bwBB?VB}cH?@|(+#(ET5#oC0ByD{B zo6)p!8bAz7`X?Ehx2`G1)5j3!Nq?O^)FDutz$dEfW9VHsE+;V3kRRAwU@R;Rqo>-IgE$^PJ?7>(_=g0^<7;>lhYFw*P%YZ}vT+ zDB|hrqyoYOPeyNj@ef67yA6WJI`#uEp4a>bEpq}<*h~246eNwBq6-=&%1e+b|MsCT z2X_GQ9h^N=7T5KWpvtG8t46eNg+l5;ywm;|9wkcCu{;f9^gtvB26%Tjted9Z<2nN* z9R_|pA1x{!TGAE%XXO1)vIU%}2Q#Da`IwpuyWKB?y7?^e;>H^`UHE5`<49(!_?)l@ z4+5a@VtM<+g#*5-W;tg_(kJP%&}T!oRgRufS6~0ug9i^x3K;}%7rf6Cztq4Fhb6*} zgG*?{Q8kGVsLs)43i!<(=r*D*)eYv~%k!Y}9lCi&_0L}AFg3YXr9>!K%GMP%RxbN1 zkmUyK=yHy<;)s6LgberVWBBGEXlx{TM)X2Rrfl>!GQFl79OgfE0M`p8>f zzRY@WqnAiPIZYmPrHwP@pLujl#%whk!sgYuH9xP`_@*)qEqwmHiivweE?*yp7rS04 zR2pE`Ouh!OX9EuKh%1GTtvY!ff`1niOh2@^F)s!fFCF3=KGt+n!rL)8vxp|W$XIt?(#0*s_0M6ErBJc&g5o*FO%BNJGH$l>S;MG*&3?%$xuzw*WlFDhqlf3*&qPNYJRl^17ok;szA_wV zH;NXXBF8jjzg%?`E!z`)7Eab9QkIeUA( z@a40eoZ_m1Nt9aKCYftIGb@D;Mg?fg>K<(%&zvyC;RXPK7xe`5YkS#C<*aUr5?!|a z&D5QoE-Ppy>JR!F7q&>LuUx1;|9Pj@z5lX=Xg$hReKlD|haO;OCiZtc1Bw+{QzsSG z8_D}cW%46dn&Vz8?<|+B=K1WUZDBDt9j`_$A01&6!ypurM&kSpj)s!6*>E)VC7BfG z-FoSD^eLGiP3)OdKJn=Z%A|-D9XX)pzMmKqnVVBMc{#1zr=2j`y?3t)M8d=jL`HaQ z`2(h4>;8ur5L*#!EL?fmbH3<;(T$VbPT27>#IYwgEjTDPpqL@La}?dg(gUy--Uq2F zaY})wLc(t0EP_6I?V?N|oMk`vggGz#weD&rvLWnUxov{f_5xB`DOp1tH0L?Y;%)w`*70WnhzHpxIIc%RxW~b8GHT7+zZ51 zinibKQhOdmKZx3MoB6n2UqqeC)!niCTjt&eR9Q5J1=~uvg{^VteD%jGQ))|!$3Axx zK6jJUZ*18%dCHHXZeJW?o>$5J(c;DqsrRFZRSZRgLmvW{{A&2X#w0a3-|yAMqZtyy zXR?L5q@|L=lCMa|O>I}`bdlGocYU0?PRzc2)oQdoDd}bHOaebY&!=@aj&8d^|KPzs zqml=f`}~S8t{YI_RsKRqr%_VMskF0E9w-GJ1wciUs5A*REY7 z%?)hg4--rVU?iuQRnD1FgM1s$r+>?QD=-26E0%k`%XYij;w|~|@+ZFyyWi&KGG6r! zj?uaolp~PGG+DkTCjPBUpz9iLZfly4UgPDQqFd5U(q;obR0mbQ(o4zjecbo^b>)WJ zpFRys+M9&QUZ0HBroR69@%hEbw_*O*V*S%{{FgSdowTmaORkp>T$i~QY<`9#m ze7fyHW>LX2ubV8qG|s&U{DKlZO(OivVtLTkt!<}}Nl_)FwSQ`CwzZav`E=!f4i$vA z0C@)DK0fE`rJS4_%Bmw&RS3|#3zAOmu5WC-Nw^C5-l$hiEbf$Er7P`^*;MiF6}o>I zrz4;Yj@4l4;i#s5ovUC|2NkFEV=>JpSeS1d%dueV%>zPpmBEy~*Gtd9AOPS_h&+e& zwgKmh9UF^)gTNfV=kja;EDkK!(P9{S9XyAy&`=5_)q@&DSPzKbuRk4I*zlC~$U1ykD56S& z_8E)RNne5n%~!=wwBeqR)I~iwfq}391mE=fzFYD>|P8pYf=^SllQWFGx39_-(E$Y{bT` z^Hxk}rwL-8P(?NMxXp0#=`*CcEIz4EVahmrNGEOdjIDP^SDpOgQ3G$VyWSY( z`9cbth)D|ib+Yj3nl2vj?N5dqW#t8l%s1eaLHdARhXD#k)*sBLb1@E z3Vse8{_v-}%pF6MtX+8+hVyePD0uUiaW-yi{%15vCMtxB7oj81W_!gFpuL5%!}Q-% zQ`6Ju(29U$Pz+}G4Una;m%ZShgZPvb)5Oa3+qa@&7YocWDHgakjO0%qBPn^H8xw!Y zh3P@+T-H#ygkUqMa%ATqTcJJR%;LRoBApQNLKxs0sTCauKnNxq#AcRw@d1=ezfi-T zFptqaU`)tXVPD>jL7k+8ZJQr3_Al{rM7vKyNWCUweq!Ik6?y}p!7UACh}MPRjDXL8 zG+-(RZVGtPJ}YtaJsP|Em`WqxTd+YrrD$TpiECS>@vAee=)fJZDbjq?t;lVwy=Nhy zZx!NUKW!fPO(J6xpLN8uLHP5gA!rU6Cut&c1>@ol@l#luNnZ?&xG#F-#N%W(Us z(9KzTPbaMgYxvHzE=&riUCKOi$H3w>e_0i{tq4^u1Cp7aYH4U#7H}q0R~0_mQD^On zQE-pL6N!a{w~`;|<@SpL7g9B8ocrB%OIqt218IG`^OC%W@Zo`O_UNlBLcNfZVb=L&OVu*oY}h2W4KYk9egSvq~NX&e?K9z)K5Z3KFK5#l%E`@zRsG>~uV=+?SXLBm_yW^r%-SFN zq*A9YT2Pqu`0hOO$0C2?;#W^4b!N_Sc+t=do?AF%zszdQl(MqP+RBA9%a$$Rz74l! zjzQ;C?C(l&#DivLT+({XVD?uG=ug_jEY0FsGd5BH(;XuZoTzPQd;ss#k}zjPyHcJ93Jt%}nYy_qZX9%=!PvW`*8UsYei&>5BykI4LdSOS-giug_doG7Nw`uqF&(Tn!?o_%s0jvt6>y8Fshg&)reLjTw(=D(GVaK9I1@!hQcN_o{Y}cHR z+S`oLq2NMOhcg!CD{-&Kd5se8)T#Sl1jI9 zaS+@WmSA$VTQ_g+t_b5J{=`6O1m7KejhhOZ;EeOtTa4hAPJjv2WADzBq{qU!GSM-R zpEd$%uBfe5g;{Qg-E4ZZ4!NF|Zv5wxLjb>#c{MK2P3TD=`YkOB+B%LptQ#U!Ittu} zJVHVhgX}?N;;G`*|6Of2*Kqv2mflowqjbxrcHJ*oe(ahUv{ob|^(O)a@s3NQ@e2t{TD;q4Y ztwMJgfc6jQK)^Ge9!Vr~0sg>tPGn3D`}6Zg6wieTL!L|e%;8i zIX_qv5m6hGYm)f-r?Y21aXF3F~qF^c=iVUZ^NN_v%t5Qo50V9_4FGfrEAwD z2@L=pF4N$N1!=cN79MZck$Kl?p235n&vxsmHa&W{v#|8d^UuugX=a$-!}05DQ`64W zAAU!9Z54(8fC_N<@L|7#n##)VriYQ%S<~)*SS@N-u4E{#P!-{EhQihS-QxMZCtGW% zQ~meHMddmOK9)Q`mTGGFuyyddSlEEq+g4eN&PYDdwk2nrvRpHwvSru0 zWz2lPoMU9Il_FMl=Ex%Tdy(wT62_dP1$E_AobOWUdTx^C$|&ptDA#o|M$wtyc-1&?+`vHSix|o=V)Kqw zdi(Gb@;wn^=kWL2E<&QfK@5!%t^yKG31&UCme|w8h@)TAw63?b&G^-Dh8Hyj7Y=1sS6$d5!j(4=bU+=Crpi#k|NDYfvt1fTN($5R0%zO6afIl z0+pCOVvD*ZyZ#CkWM*f-gUHMd#6bI6KPS#S*zYjRqi0|!CJe;xClO`D0gVXeplen} zY!wL`!tmMcok;|0#=G^0u^dJqz=vz;u}F$z&~3rkfFz>>tw$y+u{T)rb=7x2>Nk>a zVr*=T!Ep(Akga*wUIx`9zd~_w&&(CK4&R+#@KF*P=b%^GIa4Ckw=?vVOC#fG z_hFoIga8J3gK|vY39~GGIJu~CzLS%Ma7%!@nnAxiS0Cc#2Q0fAE=jxK42U7YI+Pvo zyCGkYC>-JB_%Ao5GoOu2w`N9u>?u9Vd*wlZbJRZ%+*|)iMwT2y=CvsYA2}wAF-Jck zM&B@MqA6owvRvZCgkB;>yMa1bVcW|Yh6BeQx5y^<7^|tMbi>=S6cn?)?{3pBv`4;6 z6^QD@7KZHTe?(w3Ma5=a_pY^l=c){$4Jmq}lsa!1?IJv`me3PSZCd5v-QgGR93|jq z@akfUqamB2-p$$=myepCCAaWd{}D$6MnEdGy63!*BNkCNH4fL2PtZ*h<~oieY7pzt z^Ax}Lv*mJI37gD5dpO=-gyZJPs@-h~?%~_Q=!$|A6Gu18I(C?6JVvvI0TSLiJhlLa zfwBw?cGCo^E$k*7_(hPw5WSdPT$z{T!Go?9tw1ng%@Pnm|HR9@C-B~$9To2dRrs}7 zO7g{i*QtteDrpd0qnq(j@;T%65ze=lo+&jnUe&R&xZQH-*X!p~bICoMvRv!0-Wk~_ zR?_iv+9&Q64ZJ6TL5KH58*{Ygw;cK{`zzkZs(vU){oD_^M)8Rz+bw=`iRb%o2wtZ3I`{~XGQ07%1v*EzvEE9_k^Zpc*m`$@M;6|FKmeD8g#{uQFfk#AZpa}Vlvi*g!&rc1kU|5rGV8s%wY$3;S3MD-k~;*j3DAGy zwG6I0v&6eve62NW)&Q5f##*-S%1u?pgvDGReWyM5tFFBLu=4%1DPfNILE&l+NpSe3 zTpT48Iwfq_pJr{+jr>zY?J-dQhI~l6^|>TD{E4DsB-& z&zuj?YkulhymsxarPNTHV%6hH+ehhk%1U7VviLqV$ALo ze}vL>ddG&Xg_cGaV9<(g0~dZr2G1?UW@fg|&b8TXD`T`nvG;<5r~fc{H@6j6?aWnz zvS2;z+{Ya_3Owc=!N}l2^T@-)gJYz`bDx~t4&r@)TE)kU$}xS`mW`Uub%ZzO1zKiU z$PlL&$2?}lgDQI5tTY&W8|Fy4qnEa0tCUjD`G4z-tUfdw@?+XNeLPtT3ru=%Y2_&@ znlojL)7?%o!XQnJ)0GB*$VT%AtkqGmvD<;7So|stBykv+hu62a2jM#!$^!7~( z&P(h1^4*9I9kU=}YkwV=6Bd!MCoDS4z+MOLU`o$;6hfog+G9fZHOUMYIErtv*;x9S z@n{P6i$7?Od|7FteBUD;^J>SXm=x*f>q0AmaJK~&ruaB^Xg21hdLq8zDk zly#7Ruz?sfhwCvY#_m0Xr>CdMJo78rhQj=XKhw)%KE@)^{N1w5G>2R2Crxd(*N^{n zRW?F1j1vPx!gSQI^$YMNz_pJqA3Nd6ix=we9_n#bH_s>i4^zJE!eUV;Gir zF1u#vFNej&ZneIavGP2GM2Y}w#7}l04{z_qk`hzH3pAfY#Fn21Hg_E!BIfdnFv+mX>)S%6L0F!}z>mgZyyj*z!9FruU96aLl2PPk z;lMkz%tZBYZar7k_i^;yHry=sK?DJTu~1+j$#_ymqU-vtNN45@5$v#=`tEyahc15NVuKYES(3!~ z+0=VE$FeP>t&aNPY0KJ7^iuSUjQDL?fFe>%HOoNpjp~Pf!-jI$#0VK|1|(!o&}p~n z-3TN_olGpClJfElkMDE2c8$<9)6$rRDebbY&htAqP7Gp8OM1pS7gxSHJtdYQ@x-|A z&a^@b@)M?nV(uzPGd-ezHVM=DBWKUXIK&F_&6C&o_%Syz)I)KJF3wkA_ufK`n41KF z+~V9Oc%+mR8*FZsPoLgO@*Zm*`C~Xs(0c%ipH`RZR?R>tG9h`*Bt8|V&ta}_-@m)& z7(?BPa!ly@aUzZA2%Bh&c()~*>PLai*(_Tv%O{h`&6m#TH?iJ}3W~j&X9Sy~5`s@a zWx}YhW7&bv0|Jux;R6S{A@CuO96uiV*z&^YjeN1AinG%=_OBqS1j)N@LPuJ!RNUiZ zKOm*uresqPYHzMvl^dPre9QKPKIePS0sH%!0?8j>QGh`x?*2QNGpC8uD;%(xL!(|0_Oo$IIX@t+WEk$|CxcbzWgt@7W^_GbYQz+g1R|Q zVanr4HMeVHvZ%Gjms&A)%cB8uOcb5AHNHF6P8p=8rOjTX&aC}g$iDi;lEiPOO%1*n6t)bC}=kL7TJB33PUa5yyp+>pR7 zoG%E>yaVf#8;9=Rz3Yd90~H~$Mj)^i7}#?NI`hxBu(0?%)G{zK^1E}fAdt8^;Els+ zjvj?EK;jVhRfEqbbmR^WojTwYf;&^`_%T`~mqAQw72e!!{%m7Lw3G0AUpO%q%Q7UY~ty4m$#31Aro$_Hlwb z&&U_-&#{uVqFv~^$rMKn)EYGJ-RNJ6iMJhD;$bh*{ZysSs?%aL(a?CKl1)p3r_B zz2yj}J?f~Nf~OygoNn#OcmB$?wUIifjj?p|KKEJxEjb8(tOG_jD7>s7F3t*eB3f%8 z4LE;Fko-iHN8RI}xuQ=BZ(Pg%YvvH{7|e@|S~Wa0n*Q=1-&(M8_+@Rrc#B)um7*;E zkw1SFot<-TZw~%uKticO4MM=Dz-#+f`Ch|wyYK%$s@^-S=eGYJf45XZ%ZT<+C{hyI zdm=(Zv=K@gQnX7$yAV>5$ZD%l+B>UI8rrF(t-XGa({+E25_fqmR@0N2R&ujeH<-+i zIK_SPyE<$xmQjAnf}DZ)w*yMr@aoi)-pMmQAD4xv#`{lB@3(Uk?pu9w2d~#>UE>AO z^{a6X9{MrH#!zm}^OE*?(Xf`{LPOl@RllG2w61yg9tMLiVDFH_d5R;DRLcQWk$@+k zB!uFG1uVO1R4X7ca`NF#@1yBgC3X)KS zIx6rY00vYGjrG8v*y+`SZ^YF5mS2 zyZz8I+mr4izWbI}g%CUqFB{e&j)?-Q&vSc>BIjeIpE7RpsxfD)X{(LU)IH9&95fTpNf1EoYj3X48sEh z#duA|OXzt!Np=X~DiAu-t*JQA8vFP0&><~f3~3O|?3&Yk^%(C8*Sf$aj{ue(`Wy^L z%ig`)YNyUC=oTXrWq*yGaYDh>uY&2Mm8&i;NnrH=zZU20y|qtx zpwPP2$8^X>*Z$o)KXU(aT{p$Bf0IIn4kR*lwgLFr}6!^y8VsN5>j*goygb%bs^<%-F+OAIQs}K zi|lJm)!rDKynld* zIsmgHIchaZqP{rc9)9UFemsUh-oJz9gwaANLKQ`@dOdoG!gaX9r_CC)R*9u$P zKJ`i^_ORet{#v&E$v<;WrW(Fawic#+4D3=srrM!%3sv&>3;5*atA7J)U~UdNV*wt? zuqdlX5E4QtvKR?H1DglQ6;4T^N9zucBTL5Ie@a0%!m>%SSiZ~4GklYfJbA{WOz>Ru zqMH!q^M#`~U$Y9P1hFL)YJ9kVJ9(4fFa!-aU<~DxNBnG!F_B;#ANcd9923i*+X<-n+%2Ak6vRpC1-0?8ZiO z15yQx12R!k1vz)(>*Pvr3twuM?s=PgmMmJBYS7Fa(r)JdGv&z$|FX&-(=y9#`?PPS zW@Az?60Gs~*mYU!)8|a3`<5KoBJp|2m)^~49j46p ztW;JZDN&!8zrghP-Y5V8QrD*fY((?k>-<^BXEA*04T!uGca4KFVKY4*ES{MR42P6~ zq7?jxW}qm2FLYTr`tfNoFf(tOc(|`+%~`>+%T@)E-z5Wh9oPIn6U2c^t2O3cR*UmY zY(3RBQmb`THbQ@7D)9`W&##8t$3U@Q|uYhlz9l?J3pv&#J81As>6L zcP#K=SPDWm5_VvAzi1M>!7hA|x70$J+Xi^4)PC- zdW>F25V<;9oT2F??+2Rgu_~%*Xpp2s;5dX9gIx_*m;(Y{@Rx86asYht2hoDz5u1s> zQ4~q|Ap2Cro5AYK3S=kNx5{T(jbhkiF2zG{FT)M6)YPSZ@;V9`S= z<~rNQ2k*Xg<_=Qd%c=X_d^eo;J;nfhO_=k&{;98U0Xp=7g95a z{iGO)$u~MX%@5v_R1ad>{v9%*jaVTFlO!V}17BS~tC!L9| zUG1%~VVyeF`It>*Cw2&LKflS5+a%XCy$TmInPSV0gqk9+Z(Ix5{7vhVA%uxK0RQIq z!eNaVJBE#BLK-sidd=4|meg4`Zw?L*Uq|pb1hCG$3%?|Ot?-N0e8Q?{*H`nZH696@vhS4dj@@EL%d9ZV zhx(B1$s)r$b61Ub7iC>ChgJwLzxCn|647m#Zdw6lLBVg8S8JOcO6vk=5)1ov!}e|Y z%OP;yweRb2>hT?bUx%)&BnO|%{h0jf`*}h)5k}rX=zmT}48TH@QSSn0nM{{FQgi&= z0w!iozAsed*~>39xc6qf)!(=E#g{9@Ps4JF(bWO*wWPVjv_~9|6ofF?HdS3+->`K1 zR;zZ{!vh4d)mZzZuY*MFK{zrC3kx#jA|wQo9+IN7&6{vk=o720{ zuBvAh6qq!)a5&JGovVp)fqoIZ!1gf~4~ z&psAh4JB7Zm|vfXzMC(fI(_oszWKX%Pk1A73Wv~k1EdUKy2 zH<@ispgHhMRNO4ntYTt)h?lM>FoOResA};8$<`6U!O9Txc<&3ScZ+%Z@s8$aH`9YU z5_7KQkw5OZJ%(ajg~z6<&Enk>dd5h&3dd6O@sG) zqJ@t?_Y*C3f{7bNq0g#^LgP~rd*}C_=bl}sQ;uxIz9(Y4jSoLQwuG4j9W?h+^c|Ud z6(ny#yMf(*Vu7b$uS2^cjav`kF^;@};bHZ2=R`1%lEcK*^pgjDbSbF~=`Lr)`-CL< zwxM<zrXPs9O1nKyY_!Yuh}BS5}@bh~`}pj<`Q5pNOR z;PV^U*nA_m7vGc32FANR*(r1T_Ye& zVk+g~6e3F-?9wdPp)&Q=EraxuJe*K4S74Rj`a#ph&ICJ@(kXg@4yBrt8lfkG4-VR06Ji`cz~8CCPi3V+H?40UGi2ER2<0hLEKM=V3T5RAL$Qo!Zg){EHbp z5+H7Y>W*f6;yytAIz&_IP(|BH$89>G6hx{xF|3I@o(!GcvTgCa+4OQ*JExo57bm5g zVrS|e4e5wkK@#Q8cH7czaOxV-bqfnuUSy9}oD9q<{*`lE-1nRmLlB5j0*sw9OeqXf zG;?x!IK@8~eV|Hq(>7NpK9(#g;3E)Z``+09JVf#0Q9cI$4^w$uUPA{Wuf*{Q3DF{W zsTAYtn7XxyNni3yhF%8X57U^`15J$$HiYkf31JA3H=J3Cb` zkS9-u>Y&MzCwAX5Q=XSvl1Pol(tMo9^1O}yy<7^vj)HW+_aoj0>r#!gSHWBd22RP% z?X6NI6-|VdG*((N(-^&V+)C*LbGrv$;9LGE4>3Oj2I}tBE^O>}QaepFIHleSo!u}X zj{Onu9@bP6w1@R&^_@SEACi?FYM;w1OEW}7MP5=+@>Oj;HTzf&Q23D73|36z@zD&U z?Z~`^IoaE@sUAZdDJBNke9Ai}mjJ{lM**@VeE7k(51RS`iaqK#|2(<@)nSPOs`b@X3aHD_C6c48Y3D{zYFRHh@A>qlk>1-I97T=np$ZBP1xj`gBVO4xiNun1CUW^#9*jBI%r1G)j@b0Dn!ODwRxJ9joZU%7&i;^RN6b?lcdCGISki~0V| z`!<;sT3_*ur5Jn?xfBE6lbL(Xy7Kr9%oB3tURFw|1Iy^8^|2?a+-R$JVC&E9_0%WW zh%E@+tv5Z)8ePhDKK40Uv=_LMM;=??)lExBc8F=2k~l#eVB~hjAed%SRKmAy8v_|c ziHqEFX?}{lAUH{pXchP>v`Yg4n}KoDgkO2_qPBm$CPswtMXq?9jv|td^tJ#;g2DmY z0*ON><1Df5VS8lUzmnG0$q!&|@uroQm5t+5 zW~%*!GZ>H_j_9J)wFtBz=|LdBk7Y!^NK4cBuhfM={FGw!sgu~@e~b|`ZzcQ?H!)Vi zH6;LX4H0ZZs6e9hR=dR_gcn9B@*84R2p2U>>%@dU@cVZuHV(ZuhbnFoy+l#M1n}k! z2mLxOCHzDr@)E!4^<gZYh#kX+rHK{>Os&B14kf~! z_I3pueTgFtt%*`J{Q5Lk{66v>*JtuSo@GD9&(`En{!#R(Z${$<)urww7*y$s=04h!r^ONn zWZ8rzI!p-rMQ&qq3IZJ_0gH;r5&nTv-^kc~TqrBpiBop#BFWiA1j3@iC1~*xw42@h z$KgTw{`{VB*;TiTzK!EtVb)gAucD`sOkef#nPAh`n-{wap~6_b>n=A6G2Zs`kl`P{ zAkgT$GFNuMXs`)2cSFj zN|euYRe~RlB%?<}?^kb~N^Xr~c`GDG?Xgx@x_&N3GPv$iW{$6LYxRMa3)p8@Um^FZ znwtN>wX(R;LWW)2Ct`uMCwLU{jXybWoGh&nG{r z_E7CqKTqvNUa!hM&&@!PBbtX!KgRoKvgG>4G)vAM$rGJn@m)eM%IE!Gi}N2Fw6b2B zntIhUC=hyQ_btj+b2O|p`flI3`6mYv!7_4_+PW_3BXy9^k4HTcZ zR`h8(g#E$=4Ovt@sv1+iGUor>RenPcLLacO{!mx(Ls;;?vRSO_M(rprNjg35?-RXSwg)TZcr81F2u@gZAv;%5twz(h5gGwIxKD zKQgW8O}&<`$j!7lnd($1Nt}|1W`zG?;E|e$T9{%LzVG+pnwpxAaR>pGz)I*>+tK6@ z_fh)Q9P>ui4IyDhvuqW~Ad7(+UVgBQ%WV&SWgH14^~h^!$c*IGBc=2*+L+*8AoMn9 z(7zXBR6q?P@5Mj&0Ja3YO^DoKr*)aSa zfNl`XKvqIXC9uiwhuq8opW~x8kYEB}leoFLv4i+mIrxHN1{(l|wprARLNd-!9SL17 z6;g!prx0amNl6KUz+Ub)t(Xw00vD8le+78a?%&^Es>o8@LrzQd?an_tp>_J2e6seI zcU+)@H@uABR>bH)1jbl3iL-}_@-Jux)mL;A`&b$PS5T8qDMT2{Sw6_>MSbkV)OZ>!vy$0-$PT*OwY^s<1+VQHw*~sW_ zRW_@=``0Sho&fH$KQiim?GK7S$!67nC0sofhFjg{EB$uA*BgGi=<{r1&{7~#Z3xOO zNcira`rWe1=*yMOI{XA1fRiEO4sUwy|4)Ik`4R^ek&2L$T9 zd?hP2^`rRA)8$&5>}Ivwah49Ro=jL*$%-#OPrvAMakZg=#ZXA`!x~-+nFqktX~xN; zePR~3RyaU%xuw5f0YOxO5?34QV@9rqH=)0VUDEb)@k=sheiE#y=-xBAoLxn|naR>1 zPA(}y({mzd|Ma!oW$!n1@!#G6pFrIaFpKW!EL#t)1Gd+3Vlj?;FXeogN?BVmF@AMv zEH-k?aF>4C$<$Spl6SWis+M`SY4P|(3)(8q_gH?5EwGiLt3Oe-&?(x7ZA76M`7T&KC!Cf&cI=qLpC6gtzg48^8hT_2 znJkCa>miqc$F-A+L|ubbCh4Te&XfM_Sd$pFGFxg>H)FR1hb{wVc{0e8ZqW{p8QA2{ zeCvx=w3-q8+?P4y_WOB?zZ-zdOymwBS={o!zqZFzd2|==A6*M*gi+QZRuJihh1crl z;$Eaz=;%;?S(*4eGM!R#temQ8eFo$vz=}v51C&7-PW?n-1-_P0T^Siijy!E>@?yvC zF^&ZI4IOizu8s|+Bz6;y3p+^$3VoIPWFM@qLnQojlP(Cw zWHE#yc-0Y5n*~NC-whwkdj%v}V}k(R64wJFx{zlfC-%ZPGHkbhkb=t}4$!U{5&^E- z6h5N?s>Q zwOKUpuw%?F@jZLkq0KBqB9gxqn!-zgab=*uaIs@$i5F#I8L$mO{B-@6M5KckP<3Z# zXV-Gor)NleL$j^#70KpB^`=0hZC|YnYb|58O&RN|Y;iV;DP(tQuFDnCu4B_n*0Z^2 z_56UUNko0skB$PDCL1ZJn0(bGv{m!tH#*tt=4pdiK~-Cq^55}ZR>3RAbLA~@ITTvC z1@A@Sj#mPA&(-V1R@KEAdZMzpbN;^O$QQd$x%uh+TnI%_>-MRxi#~#l+(3FbH(sIg zsnyPuifS`y(#(By&ISRwQ1+!;705MbxlLK_yE!JEh40!DN2uw=?e_1JC%5n1i4mKP zThMYzE&MCzS>V#R(}eAxhU#&hC`cnhbrHo_R^9^_*krw(8c{VvbgNPLlY~; zKf#jCqmHd`&_QTM8~0JT?J7ikaH_*!XZ|adB>Z zdXB>@f&b~>wt9QUDmnf7u(_%BmAxdHexcUJs@Qe!TtW#d2);lw08w83#zU11J&;b~ zcI;1x=^r1kz?VOZ@7fG+I}PLrXd;sZgmbBAX`1}a95>`*t9VfEP7k^jS=8NtP%5w- zj0Gw#Qbov5|F8)WwhC1tSQFgHPrMs+hfh7ZT~-Ls5ESyEhy_72Ps!dMBQgTvJLcb( z0k=mmepl)@28I)dnuvf+X(hxIVkLmFBwYq=fLKY)E+637xG?~90%&aJiZCe5*2i=R z5nnt!FvOwV8>LBJUr=625Jf`@@pxwfJ${I-ZC9H96<#*cJ?Ho_-T{IrlsSpxOjVsx zg;otm^*d!jIk~nnohTMJa2~+h@ZbMd*m7`itRRSRzF8t*^{&);Hc;>QTQX31fcKIV zMi8xtgIa!mKK*IltmhR_^}vq}Iw5IlD+CTZv0x(tc0iee2@L6>_}Pg*2%!f_$#mQO znhNotAsVCY3T&X)tD(*V)wUMQ1gz)xr)WlJwun|1O1`&7>Nlp=(d9 zcFtA1-C6UrALhw8O$Dg__PdVpp|}wW#DAd-h~(GAF^iGW0c0>h4Ckv?%OF(+0fd{t zSDp3HmwL$z$@(fF3WWc~2Mt+mqv|ipb!20G5E` zAw5gbt+%Ki&gC7rHvX##0xHsvfm_w5{NWjkD*1ea$;!mz@zre)`#EY7Uq3&YI{nNq zeeLDHuIK6=ui*HC082I1pa(X&B&)k=yrahW=mf>YKGb>a-tM=!Z%bHdOEHaXphv3l zpDSwXu&&^}uir~OCY-;o{Umye z`t(M-D;*6D-8s4S9(w7V7*y}>cMvEoEoI^18BzAV_wg){dDjmXxr_M2(9E~-FBQrD}!VI*9zp{^CGvlasqFH;A$1=4Q8_{hYIy@U~syOw- z$TqcgD?cQXu&627+P>Od2yqX-G*&JyqSdollOdFf9Rpf$v(c->8ih3)YX&Rc2Iw6q zZ=^M`f8zJVGc)%+7s~?K!Xs>i)PaM5fv4$xnTY?Asa;T(l6MN0$+r z8G^mR9CD5zbo|0&^glZpWl7exaAj%K3aJa&o>48w+I{8y;zS)$SZSJ~8bV6?QX2z> zXi+_-u{3g(JVO8t2wa3ih=XLWK#B4X78PQN-4>AW#* zf%FBCg3$=M2?o+z4zL0#bVmDEpf5BZX?uHD+HMPZ#Np6zJ9Ql`(VfH{M1C4bNO16x zu4Z-MY`6{x_RKi=q&JdZ@JNQN$&%Z1euE;UxRLTFg+=iq>^s&WZR(*}rT}?j zuttYz(BL{Tx&cym1E6%@tjz<41`U~lKK7a)o?r(3`}eQ;f29?QctSKyl9g2vDm8Me z-?+49%w;X-z?Ii~`7*;DW#UN;3&syTAh=dYbu^YZi&r?Y+z~=e_A0!u0DR~$sr^?t0md__+dk?J$yCp)^hoh}w zb?iQ2Bhd=HYPb+D@3b;z(tUm5CUW0YwYG$|$UDZ5_o{C<1H zO5m!YVQlP%3~|x!67M|ei3TnHBL^1Uc5!NpYPHM9mxtw@Of8+wX&qL%58WI&<}r?s zZZG%PZ=B+0^$unsFn0=xSASeF2Mg#Mib^g@nq2^8el!@5k*B<7)KsJ`58os}6FxaP zE`rGeYrs?5iTaxO_~9$>A@>Dy3b~k2U3983P2isf`OA?xcRd3H6L?)s#VTcBDC!x= zMll~TqgNuP#2dwe5l#@ikcAA$2HvYMke4Kv9tHH(A3s(UdMto`R)>SAm@XopZMBb_STHf&p@z7lNi7JvTMkG0ymhku6oIhUzMPfLS5~21z zy!cRgDF#Ndx zs??FOOYkU&3t)h^KxDM97(l~9xsIv<&4fCuN!6BRT>E4!BC32ybW4U^dgv8rsX%uD zRU?+aMabofiTUusypxnzC;t1dnNgx6#pznOwa3P1t_#u+fba9bxM}Y(0c`(r+9{8{_ z;H4n4Y?qO??Qdj+-PY2fOeZo?-0+Qmb-j%gh9tBk$Z1ezgJy8Dt`ZxRRv?d((XY z!XQm~Br|DW-fgwY%1tlJLDti)Z$WmIThEPCU%!2$#f6G{L41zURcP~& zZvh5zJ3G6en>X1`Uo@I&eQjGPz3+tk}P>EP{n=)TP0?wt5`n1}?kK6T^KC}vzDyU{QHE{MB9T>cFpF8Bw$>Lmg@ds7F zl4$d4Fggeh$whr`db24m|8KU?PCXD`k$1S+g=4e_tn`KBKVzyDd9$>2mt(WU;W|k6 z=~QHq`+~!iM`$;HPq40qY5b~|@a49v9#1xhhq;ugd)HrzZeD)4Pd+k?rne0jE)@mK z1##gbl7gU?(b1(Impa2#C)zSDe1GA6itF5&GhOyx3naA?9${GjGd!2BkxVeS0<{hv z^oLCmi5hi&>+IVir;+rv;TLp32LNb-H4v7wN4Nk9wv&*M0OJ>@XRq(PjcN08S6qhj z)nw&H4Zji!oKhr`?%hxtzy{)Y1BJa!mxIHa+Lg=W-vjC~^K%wKb)ooH+dy3bF!YA* z9`gag11ykkK_)X23eP2f4OteP5OR>M6|wNtd97jMMT>0E&k;>f>+r_5#tTwgV9e_z zZRkL!q<&A`R_x|ABqEK`ws6od7hoggbzs2`DAQ-h>Q0GK&)hBk=B*hUt~~XgXbH?B@w% ziP96y{Np&|m}oO_!ZeZ-W|W3Pd_?$3$N>YwqX3*M#T%+1k{M4}JFwnCEeCT8+z>sy`VBGTEZUa_sch@Rfei7m zTaN+i2{@PFwhB#~RHrp#IK-OSI5|Z}lVZK=ZPr_UpHnr8&ONNBHcpNc4$06w8eA7zbuuXJkr1-s2FT(>owVOU-Qm5gRJR7=4w~z z+^zYWeL^i{cy=@0VOdY$Pz>uz)Y(lej$yI9KRYaY;ueKHD)L1lSC*?kRQ}l7A@oa_ z>75;xWdIfEjFj)*HrXwleUW~+Ha5=_Le+@1mwWfgHX6Nco(fvp+1M^MFr^ZD@Z2Qd zTtnkhuZ$(#L56+zmHK=>FlQdoVtHnB(KQ zwnHWjF*A%V*&K&PXqIM(-WXePNuL9#B9eWK^at=tDyZKWcWXX$*xD8cCPq9#adAC; zja(00emItPl$5^5hE0%`#&oj?!b`q?e|p=#Ba#V+I=+1qsx~`ztViMw23yF&;mrw$ z=5I~$7hAr_F2?6>yZj=sZy}-_`Y+{2NB968kc|q57KYvTjboYX?ooI&6LDmdlE`BC zHiMC1Nl1C@Fnckf;vO2q*lPv)=k231M;Qv2evWvm*ud;_Ie#IQDtKrBEGx22 zHjsE9005*u8TJWiN;wHCVR~+^?EfH6%F>oM=lpN^j@eFghCPB~n|ff&hf4Ej$toxaKq3Iu0K=C!E{?(>5wxNBz-I7BvZ zpcFNe9&0>%-^xiVBB-4gk`PQOL^VSCSujF@NT|S1hs2>BA082->bgMHH_|(H=*)6s z0Yz>@*CLV~kU8RmJ;)p|8L@-w>V`xn#82+Hy&6Q){-;N_!3w+-t-2iAc1}#W_U1*t zhqnXDYrVG}ukxcyzFX>RFyCNcju9Pdqm3?qVBx^14f@IwVsVm|k71Jp1Ld5Q7c<2e zWq5DSt_0^9Dbf*u)(Qtq8A9l9+ zbkj1>_;A>~2nw>ip_{6oo@d(n`}>8a7Y6ADCiba~4QHz@7x?~4}PJ~bzf_UAJ( zF+u2nEA(=!U7iJ|U2yILBO{gYsqNmq+nWgV5XO9bkZ((%&&F}h7diriX(oB$(Wmfj zw8zOzCDHC z2d@Xo&#`I2(M9q`@bn>LpqE_$NOaPhH+KWZu{rD-HWBi|Q3Nm!PvX}h-=9^{keG8bw~+8+G)#J7meeVHvlFQZIM;~QhDeu)J_xyW$|+xu zrU*1>*5o7F$mgd*!FOfsbV9eB`BK=B*n+bVy`H#L@W~5+90%=()La}5L}iH@4V%px z^X*kKPa>s)oanAIGf#QCJ(-C$cu3(Wqz49C?|>@$Oq+TEoNL-#Sq#Dx^Fb;Uy#_t# zTb6qimuZOo7G@n1(na(gydHm95lF8-vk@dCDHupeP7w0C`w5oKARbkQ$&? nD>qV4C{vZb``t&_vgD^27jz^4`~ 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�E*#U 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�U6+l6nF&!09NgvWvhz`{OR~)$f`%2y$ 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 literal 0 HcmV?d00001 diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/images/pointcloud-map.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/images/pointcloud-map.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f8dc6164476b56ae48b0d8757803f3049f098f GIT binary patch literal 145020 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%0DZHfl-!};t=^B1inl1epZ1QWt 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 BZkGT6 literal 0 HcmV?d00001 diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/index.html b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/index.html new file mode 100644 index 00000000000..09bb47c1cfa --- /dev/null +++ b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/index.html @@ -0,0 +1,5903 @@ + + + + + + + + + + + + + + + + + + + + + + + + Creating a Lanelet - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    + +
    +
    + + + +
    +
    + + + + + + + +

    Creating a Lanelet#

    +

    At this page, we will explain how to create a simple lanelet on your point cloud map. +If you didn't have a point cloud map before, +please check +and follow the steps on the LIO-SAM mapping page +for how to create a point cloud map for Autoware.

    +

    Creating a Lanelet2#

    +

    Firstly, we need to import our pointcloud map to Vector Map Builder tool:

    +
      +
    1. Please click File.
    2. +
    3. Then, click Import PCD.
    4. +
    5. Click Browse and select your .pcd file.
    6. +
    +

    You will display the point cloud on your Vector Map Builder tool after the upload is complete:

    +
    +

    pointcloud-map +

    +
    + Uploaded pointcloud map file on Vector Map Builder +
    +
    +

    Now, we are ready to create lanelet2 map on our pointcloud map:

    +
      +
    1. Please click Create.
    2. +
    3. Then, click Create Lanelet2Maps.
    4. +
    5. Please fill your map name
    6. +
    7. Please fill your MGRS zone. (At tutorial_vehicle, MGRS grid zone: 35T - MGRS 100,000-meter square: PF)
    8. +
    9. Click Create.
    10. +
    +

    Creating a simple lanelet#

    +

    In order to create a simple lanelet on your map, please follow these steps:

    +
      +
    1. CLick Lanelet2Maps on the bar
    2. +
    3. Enable Lanelet mode via selecting Lanelet.
    4. +
    5. Then, you can click the pointcloud map to create lanelet.
    6. +
    7. If your lanelet is finished, you can disable Lanelet.
    8. +
    9. If you want to change your lanelet width, click lanelet --> Change Lanelet Width, then you can enter the lanelet width.
    10. +
    +

    Video Demonstration:

    +

    +

    Join two lanelets#

    +

    In order to join two lanelets, please follow these steps:

    +
      +
    1. Please create two distinct lanelet.
    2. +
    3. Select a Lanelet, then press Shift and select other lanelet.
    4. +
    5. Now, you can see Join Lanelets button, just press it.
    6. +
    7. These lanelets will be joined.
    8. +
    +

    Video Demonstration:

    +

    +

    Join Multiple lanelets#

    +

    In order to add (join) two or more lanelets to another lanelet, please follow these steps:

    +
      +
    1. Create multiple lanelets.
    2. +
    3. You can join the first two lanelets like the steps before.
    4. +
    5. Please check end points ids of first lanelet.
    6. +
    7. Then you need to change these ids with third lanelet's start point. (Please change with selecting linestring of lanelet)
    8. +
    9. You will see two next lanes of the first lanelet will be appeared.
    10. +
    +

    Video Demonstration:

    +

    +

    Change Speed Limit Of Lanelet#

    +

    In order to change the speed limit of lanelet, please follow these steps:

    +
      +
    1. Select the lanelet where the speed limit will be changed
    2. +
    3. Set speed limit on the right panel.
    4. +
    +

    Test lanelets with planning simulator#

    +

    After the completing of creating lanelets, we need to save it. +To that please click File --> Export Lanelet2Maps then download.

    +

    After the download is finished, +we need to put lanelet2 map and pointcloud map on the same location. +The directory structure should be like this:

    +
    <YOUR-MAP-DIRECTORY>/
    + ├─ pointcloud_map.pcd
    + └─ lanelet2_map.osm
    +
    +

    If your .osm or .pcd map file's name is different from these names, +you need to update autoware.launch.xml:

    +
      <!-- Map -->
    +-  <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
    ++  <arg name="lanelet2_map_file" default="<YOUR-LANELET-MAP-NAME>.osm" description="lanelet2 map file name"/>
    +-  <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
    ++  <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-NAME>.pcd" description="pointcloud map file name"/>
    +
    +

    Now we are ready to launch the planning simulator:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>
    +
    +

    Example for tutorial_vehicle:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle
    +
    +
      +
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. +
    3. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    4. +
    +
    +

    planning-simulator-test +

    +
    + Testing our created vector map with planning simulator +
    +
    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/images/speed-bump-test.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/images/speed-bump-test.png new file mode 100644 index 0000000000000000000000000000000000000000..11894f768b8f44a1480cafe06c69e69cb31e6410 GIT binary patch literal 459651 zcmZs@1zc5I*EhN`0BMyDK|P|hbT^8C0s_*Fv@}SEC?Fsp(jiC+($Yw$lypdUNO!{> z>%8Cd-N$?1{X6G)gdJW2svmd!ts;|Ea zujQD?06>(|XQO@X&D#bTP|$rpZo4m9mcH+7GU zkH_KX=NE9<&4^FF^WTr;w%W=EcXKpK@$zcUD|Tyqe6GG^BWn(!*3o|x^Jja$JwvBP z=+51{*9i!`BAGPInjZgsYu_I9GJPS!y2{AJlos`rw%rliMC;^W!_UtTgPhy)!)5-U%u+A7aL# z7NYD+fA+StlzVJ^+~#=Kborzugxa9~-8K14C6m5%+`&AZJjaRU<>lyydY34vsCtS_ z6?d0s~Y%tdG(qCh?d5Ga0>_uZo$UV zu(KET8~pRvf_zue??Q1cEGBw3pC0WL7`79SmD^#spX@i4+007szV5`oB_Q(h#tJs+Fq$SKW6y!=~MpewGoAo(7)ocO*@p_%eX56S5i`vhmSAW zabw~t-o<>Bj{f#stI1F<)toJFy6oqGckix@Rk@ZvC>-i7G?vRyqAx2iPl6|7VqslE z;ZShl?CBFi_9+e&)2yu7?_e4Gl^ou$Ge;IxUNqoadWLC@7J_ihR# zY3S{}v9~hRGS?cmwN^U05LYUeR6E-ea-D(#JLakH{@Q3meSPw9yZz>rsOcFWA76cE z=d+a)D*o5H)Ac_2rKNrm5kw0eF)7?aJ#kjm*L=j#$~A-O6w{|_-&}4A{`)rR6YdCJ zK75NWRQvI^_%^Ms_U1pg1f0Bf7Q60pa44QDHUB;LqnrK zOQmaWdSxgt#LElyG(n*JK_UA$>m##>uk(Y$uF!IZq0NJvOfB41@cKMfve zZbpaW)n_I@*iv7AX=kCcq0)KB`efhY%9Sf$;Djm6Iz3lYQ!~xc>C|pgR#wh0ENsZt z`Z2Y-`l@$#W_Grxz(5jJTjhEnUurq7-z53hNheZ_5xDGhdboACTG(ZMv~7s#?bY9} zj8~?qz&wqzq^V-~P4ciWWEA1Z^cC-3ufdW1+y;A)4Ul~Z@rMa<6 znK5eg_wVJiQz#f+Ezhwoi1e{`XZ}ue$PTZBY3sZFV`}-p!qM;O%kdgV^Vx_0Yf^=^(R>s=VF&tXP({IKJG5kD7 zos);3KgyBkuS-?BrlzhozlUND2oEQOw1C4Fg9C^A9@!9sBy&`X&1`d--Ja#s!OM%1D zrH9{+Uz1Mc7?M4bU}0Dwf1%XTsX|dI%!-jw#M<)yeFh`p5pnmwm%3}~f5Cp$uH-DB z-{ki=%n15sfpT%6F6<1 zq@G%2z?Wvd^)GdG=IDf>guPZzgOBZv&El#S7bb|Qanl8>qvoj?%P#HIx+mW_kMKM_hm8@ zE~M))O6PI?FH4_I=7w%9D;qpKT1XQ1>3B}f%6rP+EUcWIld2@7XZdGfmpdGQ> z3-dhK5HIwe$U?h~^(>ZyF61KvhbRG((oj#HJ@cW#{Mh<(o|34ieKwTwnhcSKHQjx5 zl782Ae#&oC(JT?|35mJ4mrc<<)CF(gnyEB2zL2!$lm1aEn)R47G&0o3FGMk|YvzW+ zX8VBO(m;}pn%~n1Lc1V(`h|t8pwYzW%St2B21=A+%8B)z7; zrHohW0wSzS$i1oA8f@5%HJtqeHp)mp>*VvfCMGUX$xUqqpc_rO%DSPtb4e zPf%qm{@PFQR6>d1EpF|MMWVwbi9}&f6mD(PP>rW&wt6uZq}TdS_hh=^ud1r5x~szl z5Thaz5?7josj$-&t_ceZGpc=;Ag}hkIG?8yipl<1O0O&&Zi(@%w%B~g`e0qF@@#(; z>4dU#a(Z&L_@5>UQI%RvHbd{y&M%QHP4_G^ID{xs+;D(8kzxNbSqx7^6&07!i#C3a zZ(gvWLtimiQe<%{KCF$RkCs}sq)LT#Hzx5-tWIi^FLa)-=~-lo@JqVxnoK@9cAFk% z{@MAfzAb{G{jUADm(k`*&sn*3EXK|oDZlhKQ{KIkyse8qH_r9qAma1qpw-n?w~eMK zI%rIwbw$Uc#H86cs)cjZdY~Ql_3KxuAkH{03;I6v1(_)3>5droG$HEowW->twh?d`%WjOP zJBTULW2uTo4K6#H)d2m*jT^ha zH0+$9mpVK=oC4I7R#C}qHSsPeD2T8|I?emXj~_iY_U$#39w)e374~#JWn$vu*GWiJ z){o>vcODU3IXzlTj23WaL)Hu41?eX27Jo(Dx+)(YRj|fu)IrK&*8e2HW}?zrK5JmU znkr!DnDZE)@zx}6SDym1E0p}NaU?@-HM!m$)3s8$I*_HR>+Q);Dda|qPc78wnpZAP z8&>z#{qC-Vxvyb+q~5{$xXV|q*m(pc{fg&RG+Qw|+MZV}G6|JxFfufpo(&O>{G*qf zn@h@VNvUsO5J>d4s!Fi8w|CpU+F?a`cyv@|#d7Xv=o494<^xR^GP}k1i|P#g!jzFQn5bjZN~6ou^&&GR0|XYHlunO^kHaj9|jJQg`T~ z6kQQWmj_)@)Dmyvbb}v)Z?590bZ>lVQ>A9u}2;Y;lj2cW9aL|xde1jv5on}+N-Txg81 zoTnWGO|Tvy=-!jh{ElL23PhRH=CjQ~J}z7Z85u#%HD~)2(6R(@SlZ0b&51Ba89)Q7 z3fr9^=o)Di{Z%eef4(gun#TrULwTKpft6KA*nK(ai;drf7_iW3#6QwMe87RFBSD~^ zy*-D%zW!$7#VLm8`H^u?&22mR|7uCBPP#d=fHLUcy5(M7| z1c<@wXyp<#zt{aiPDnhT!?*rLgZDI;kmG8*lf(;L_RMg|Ii9!>zb-WDoC44RIZc15 zJBi2rxTwd}9s2PyhZSPW@d_VU?eIs3M@p&gsg(yIW&B&JY*r|~*Q=@-H8KmhB4eKq z-TD~1zIT1x)^2HjDtPR9xS5sa1c%0p5wko-^}vbQEn9FGFHbpZYs5V7HXk23awbwz z?s~s{o3>%`>Jp6rWjt{!rq~zoz6NTL6f4sJ!Glu-7r>FO(v9YmN z{bfgjAjR|N&*Ans@F;n_kTvUHctKo(ejs}AIw=2T>y3Zz-4i9a0#r&vy{0ezB|+A@ z8me#V3|l>t)OxUC*5+y?<0D*+$u?Rxko&W>eh|wQ5&@VPxwxYhFf z8G}kL$DylI_5}hs09hH5MLzH7>{U^yaR{)zl|eIhZYW;(3YMOfm__>oK#M3xRTRA( zo>HnE`Xk_QF0ruWUGig}ca%5G3W+ib_6Nv{EUx)bZXI9>NU|(F6&VGyuA;VfcGt#GZ2zZU>UeBqgd89j zk~tU|8Fj6!5;v-Ha&qdHOUwqa5D0B;{m>Ve!WS_9Wz=A6(P0odAm?HJy!esq*#qxyvT(xpq* zut~@ZflKm>iXw5@U-h5#yr}v)`t4~ZwLb7%y){t8^YimX&W`uc=Ju)&c6Y<8C#zh! zD;zh1;azpRzlfGOZX`^!l9MyDv){B^=y($sM20xsf}Sb-rQYQY;0;u(rfTNJl*Mn za1DT55X+GWi3$iG-1YT!q_u!jgj&*}Mr{J(*M%(Hd)OYy6jsuQtU3z|i~ZUN5oGDe zHumv(`at)_?$_D{`aVh?IFvjDF)=a7J5;=0!@|eMuRK3qIXu~@c{cv^Uj0+$vKn7P zrTu%fw09mpBmh?REl`nMuZC&djWgoQTo0IC4%V4+5HEp5yXRDRey>C$Ee7w?G(d<2+>pmm0_N`&}Q^fu7 zmL{tBEyv2<0Etv&HF*oxC{lKbbR-YTkcMW3{WZvyk~JP@*88i!Z>S~o$|oGzPSv8R zs;TL1%{1i~6ytBxjyqb)C2Q^kXTP+*sj8QTie++ z0Ed@44QBz@(b3U6z8vg`1n3wSbKuLP0+~I+_MNjruU;44gm1xRwnhm}q`SX4xU1q@!HZBE#Nd-#Tv#Z;EbJ zx#i0tthnOp>)Yq(#`2VE8^}3?Y$0aWd=G6@OvT7Qz^>L&SXJH@T$fLh*M*7>V7Lib zw$$n1TY^|{4$3MjW>P|gJ_!wV2pZTV3c3!#OHD-y*$p ztqY2aeV{hIWQ$R9R(wE+KnFsstEeS+t2QD&gwBHov#ek|38 zm-t_=exw%wAmv?LT-={u2u14EWHpuISJ|tm)bw=e`*Vfgzvnye7%62cTm{A_n#+P5 znv!XNS)LaslZVh;Z;m@oiYCcV!C^)UF08{F;M|coxZ14wsrusFm6FdMb0AAa^2rm- z_|KnN4ciF&v(*&In_<;kTU&Xor%*t?`f{2NPJ#4N4_)g+fB`wnP;ap*xL%1!OJl*w ze+$_`v)WDV_+01Wm;~8QI9`w~DVF-a;xlVkzK7pCxw_s3h$o$P18}=IqzqjHgSSKs z%C$fU*PL!+dsQ}v0JL4yP^q~%=N}v2vD8bJ8!fTeg4?Jc8>5s<6nX?*anDyd>fztN z(NMPpUEV=sdxwth8o+>-{!GO!s01|7(;+kt^q`@iK6#f;dQeQdA5c+JQf@Bw+}(w% zM*3&e6jTeOJa=cSv7faak&Ge>+9FAdF&Q&Krirv&H^-pO9(Q8u(V$4zMW%AO0ga$CsYSr5fGbb zX$t zK8DJj7KRDYc$CijYWU%U2x*jakUcRmF(xi<6ZC}gY0^YMzLQaVp0bLGiS6cwcmqX> zQRYDEo^Xlz|`i|r-m>(${mknvMM zK|<+nZlzKoe$`-z4=hH6c$sqpuNlwpBhPBkSfFNMW;dF3XP2P1$b5e`!^YI z5{J8eayCFk!bX620tk#Er||vW^7q}DChTQm(PStjbpYF;k%(lz((&_W?e20P!gQ=2 zZ+O~3Y#?c#wlgKQ-4D7k-NyIVQMyGR9xebB<#G5!2%RkkL<_4yvx&Rs*36@Ketr!= zHN%}8F2q?q^f-0O(SsZAF0(NJcuWx=l61OxaKP;p&-wzIS&zeM44@6BAP=Iiu=xJD z(;WOJE$REb`g1?-G;LbwbsK&c8Y5SM=$EjNjV;ukA0P=K7-YD_f&$Up0J%%?UI1A@ zGJIKkhsP}Ym(A)hD}wSNl=HuT7t_`K!htK^(hDoO!Za#$x+(5Y)?ZW(TF?Bg6od9~quJ@K3$x)B_f7riWT z&}>cp`4bQyPl?D{Kpj2GQ7`_`9G8%gTbfOW8*v*0Ya|5K;6P$f6Lh|p=UF#7Nu89G zg!;HaiR3S4%`z`I`zg{9^uUwjAze#%w>*c%2q9cHqQL@e{xIllZ)j+!2Z;qJ4r>R8 zCZJY!&;L_%JOMpHYMlWPfI2^_QXQ;mX}{CL0Z928010$m7x%7i>*L@JM22p4_?cII zj0HWq?~fn+9UUFkz)^|~aHgcBu(}`H=X7;+cJ?HRW8hjWss6_caC&~S(JMqmO&tOV z@fIM6rJ+3Pv9Yn#$Fts%1rRuxI5>?^3VR?A%q=Y3VPblAEcms2H9dZo;hJeo`FqcJ zJW*7?8JZc|ldc;d;}~cpnM88XV|kV0`M)iFTiv=@h0}pH$A5@&7Q9heS@|(6EM;$k zptH^IDXn;CEGMhWu8C5XGA?SjntT3R6+i@r*`|hakx7dPYXRh#p(%d=riVCO&=(;0qc~?qvX0 z?c7$P1gXZhOJR`x4<=mk0Xe-@$ZQ1A5d_R0h{tFsuq~j0&rQe13N5GiCeDc0v4QDPQA~G_v_red4svg1+l;ADs&mqr59qls* z)Q7uwB?^P$dIh$Hc3g;^i3t}0SkNosM&3+FNQf460x=V{>F^>fwwdSDN zz5hTa%7+xE#05icJ~O}k?v%z+l+(lsufWO=BKibKNI?JJ<>67?a3LT&(JW*wfs-)& z-4GjT9RL)6fxi-5K@$}f#l*vFhN6#S8CXx52ugE6bab>^B8eeCwl~Vy*qDcx7dRG# z*F4yml!Q+BHs&SR=6?kHzI{1Ux4V_jET@+73*-Wl!UIu3wxV)TDJOC@2)UGz8$?5_q6xe+0Q)x?KC? zCq`;muuEwQbb^cRs${o=v#dPNzyu9YC}Fz`e!~XM^6pCUxz&3o;LSj)k!?Apwzf91 zL6Iyvmigz&dCUsktoa;Dk(%uDcHTYNY@IhVX12sYi|Lwlu(J~fSbas*DN8MFk$Q8)QvnhF)*%==WB@8pND@EX5+ny!ira;;xTvUKql8SIyTajV z=NOkVF~plXp9ez6Xq3F7E1tb&SGa4}H*EFU+anI2^x+q!6#-yuYtDeJOAVyGdGqG< z$_m5Y4NgKwQNw2l=Foj5dj(NIKSJQ6XNRXN|Al= z13>FULM+^+hJj0TRUCCGA*0W zQywEs?NNH>NpGsgBv;YcUCH2gF)?IdG(y*zZ{BC#5ZF{gFacqzu;te6~h42dXatzC~i=d>+oR}f4Ayo)%%9)xIF zOJ;}#m}h#nF*Ac0GJx_q_UsyI&%y*2gLATMX3fhX2==hLx_YTMEpV{pp;C81&bgs;Z30O8X3yYg`JhClUNw!1IbhvMsO}Or>5g6VyG(deoqCvp*$ApAnIH;srzF6XC1PsbrYJDAvGpGki;(li1#}d?vep#4}qjXr_UcevgZcfz!yb*_+2fF}*aFU?1 z0XZfHwFJbDVCcC?{_wsz-tHfMQ6i$PZMH56wYPVtkAzA69dHR#h>r^NF+i!qZe0cp zS?-O)uLs8@kvfDxANaNJ=g(9gr(2TQ8l}IM_#V&&caj^_wFname0gKD$EvjNFZ>Uj z?C3m|fCAh4|8ZE<0_rLNc=l?v1lM(cl{FRvwH+Z&q*pV_JR0Jd<#tJwNrXrXTXMDL zoj8%}7o)maGeow6F5)df0u!b}X7Hl4N3qNTh#NSms%{>Jer;)-1%PDT|Ijw#ea!Fa zPVUNYdgNsO6Z!QYrBpXl5Dd@HHaunKjUagdp5JVyumT5JpUHSSkKq`w;M-bnESJh| zhqYRt9@=P@S)(E73nAv1vI(zvtb>irK z0nt~X5fH{#$A74-up8`=xI2V?`9kxyrM6dz%r@uCbkIDJ?y-%C-LSWB9OzUC!y+Ri z^MP7;VrrYLBBNFHvv?(n+-uN2h{|<0!U8}V`4UDz%jMP;86 zPzi@iDsg3EfR&$Lw4c47ysfuMRtpXhg%F+2gXZ^D9@u@g8cM+X4OEOn$`&jD4Q)9R8~(2WSjyet z6Cgb~OnZ@LgN%&q5Tvo9^g@Fcyv*-(w>~;7s%QiF@B_Dlxgf1n>@IA3OOG&Et* z2hPWBz|Cy}JaRjn_Umn3gC=shtrpbYFL13WFL;V6Q%YuI76oVGh9h_fs~U`qjc1{| z11BYF+r=xgxKcxeTTIUijj7aG#++T<8NSemH6cWy3Wm&m;tYy>W^LTQe zbAhNASmh89_zhs2T{ik}OG`=BWvdl_jEOPb^^0YOlA~GW@Lqh;LM!RA)kK> zG-)KWRsgU&6rfP&^sptX6&fKbAb6rsCOJE>g459BgEiGlJ%?-g622C~jluq~n)dz! zrr;;Xnyc zx}`WApcF~7>=4Bq07$P;@)4t;c*`wuLkjsagO|>O+>7%0@!|Vy*^HHJ%h#Cs=0qO7Gzac1X%1>{x%iGY$zyahguU6@{jvY;V=eG_U3Vmw60C4UEA%g9#S zKhmkUj=))FPON&6q(AfkLdMR zv59rzaO9Vi3|3I(WrBMp-)d5*BaRy%wn$u777vKMy@U=$`UurB>)VK(1w0+;&*CCS z3SZ)=RlD(4P%q*B%tl3{8SSC=E@Uamomfg^(jC(p9)NdWzurgKfp0Gu5ULBwT;+E6E32x& zz)mB0w~&#SpC5rl5Dbv!nt(&>0RawS4*{4w26+qcAT(s{V$Vu}7A-(_e2Mc2@h`dM8I6nk> z5y(}fdjc6rG-**Sl$7CQ!t=r%gw|_-Prh2K7mC|UX)Mb!0FC$DgnC`-(5N0evF&t1d)X6z8F(k>? z4h@ljNBu#+oviu5Hy@xq^}*Hv5~dhrlr&=$`3RD+8c7}6{Xs(^i!ZS}QW*|>D$%^Z z0`Z~?95hmXfc?ZO7D!9Fvk+KZ%!#yXj9??O7%6&_mUi!(N?tHDvid+=qHu;R%%E{k z{#cU-v<6MzmBcGr{_9|We70rfqo%}e-%_5nJ$_vjZ$V1FSqw1*_t3j z7TC^9Lj++!GRQA3jz~bmBmISsx~ERfsqD$BM8ay1!)QSyID|#+0k?<{{0L_csN!q4 zLuWDs^kcxGAZ7N6O_u*u{hVSoS&g70|=e+H!@d_fZExwRU zdru7i5DdomNiLpFPCWmLKw_>C8YaD|*T7AszzpgRUyB43AwRJs5jdED3ElyudctdL z=H4}IUD4vGm=2wbKiKB&H*&`*IDm%-Dz5=D*HiTpII;*1gag(HG<>Q?x97##fx08M zjjgSBO^xu4n>SejR)Y*BHR(?kgVQt)etX2A5Di_of}$ea46+^e8xw+)-{Wk9^NPy2 zasu8Oa&h1Jw)*lCP3oWJ-}J-@uvO|CkA%+;?;=+RWF-tGK!qiOg567RkG%~FBSPVW zZHRF}U&#Z~SQ(7L9Ph7bOyvW!{1_IrAM*^-9w;B_;EGmaMS>6Uo5gaPqvl?OLpibB ztuo4s2tw@d)KHa>GOc1~kO#-EEp6b?fAA8YTxHUD+Q*rSQn>iLE zA!aTPtUB6MfL0Yk%*4Syi0yD)@=;_$0v?nj08t1p2H8=}+S=OLZ%^83z&580Qt|ZK zT2PnJ2@Y^|^HjfNg38r+STrncPe^{Xmz<$3h=~455DWxLkJu>`pRAdZK||1G7a5PC zcOc_5T^dzeRJ8;CyO9B6olUVgxA0EZg|u1GXe6e!zX*KX22DYay4f)j+WqF@6d zb~$H>tLH#nzTmiYS$CEt)VE9cg7Vg_TRcFQ(LSSB-{81&Ct1a(!1!ksJ&<;9VAo$7 z8X_Vs9CnKsA^d|Eb(##fwt8sK&(9GHL>qs66qa3~6TK^P*>Z-H=P0``4~9{iJRJqw z10dbN$-w}|c>cBHHN??agmwsXNC;4b27S;q)bjE}6znEs%vj1=D8s)GPlSCeQ0QLN z9*1bCR1L}-*Yh1Ww1H+qxH$++#tm!4dHjzk!9%_JE5IDVvhI^AQXKu@Na>wKp!&TeARm; z(f`HVJ>N;`Wgiim4$^bgMyCDpD6z!L3UDJl*(etV&V8ALnArE8Oyn0tT`n}j{ic-Z z4em(+=j|&H?vgN%1OsB;u&cwv!^i*@lFtA;LS+mEJ^-%h&b@mZyh?BZ$OH%g(90AQ z6t~_=)oZ2%1e70{&F8ICXecp(V3?=Ef(yM~HTV7d_iixRqMU^@fR6|ORv)C)%fEj8 z0@rl!H9AP|h{T47he+*(!}v6o;~H|DL8pR-%m*qXqK{p>b`2D7FX=S;#e1m%-v3|! zaB_WNNlA0H`-wI9nBfTAfytZ8=r~@*#SYGXkCm2H8Fdm4aHfneetgP!7)&jkut8R< zWIx01g&?|6ijh^fc=WJlaPo|EdDcqD}4E{5rzy#q;sgNtLt^W zL(liN3&s2dD0tv@A>oC_#c9mEsgedKFSOxMB7ZG%|JSGVFk}LxLj??4K9ab2V2h6o z{WP|;AfpHmxs4@fWDtBL#@Cy3%;aO!fCSlU4+L( z1T7}@q6h!__Td2ipGU^0ZPr-6*--t@d;ia$8Kl`+O06qsZpXXJ|7RK`LtzDaCTBmeX8+G4kH;Kk zG*5K}iHraD5rMO_jrZ?tWkx09qjlPvxe6mVSeywU?ZasY+nJ7Z=>L5_5iW%nGJCNU zu?yr;GAtsHrYyaOlEIXs5aJYX{xg`7A=WdB5`a1hY679DH*`AVL;s)qO`d@lQ{KG!c0A?r8T-d_-kEqNg1k0YD@#kfa!tH; zerAzMEZcI;W4H6uU_)Yof8X=@J#ZrCD4V-ShK0VF6h68l)e?;6O;crdbes&cSPx6T zw{Zsn%Nu1l{GTO}cpO7^*4u#tyn%F@!b;v@?}4)vVrc`7?RmB-Vpar5_{_gi9C-x` zizoq5u;2Uou2-4fWK2$(9?8Ew(x35$i_`3j``K}Rg$q#+1s4s!pcZ+;fA%Ni4%;D) zZb4MuaG^?)l2}srI$E~;1DXefy~Ya*SA`XvK%_uaJ(&AMCb&R11W1RN!(jLih1d;J z0B7GT4gdF&T}-$Z9_MOaTcO~V7tfS%SsRhpsknl9Dg4*3jO)}PHNfA$R43a}B#I0EPtn_DKY#pgM)b;%O@fN= z%Cx70^8ekzfSydkPc6880wLi~NWsxa1s& zl5BH!?0`4}kWLgq{y;iRgRG9AHK0C#)|&#`3ZS(aSQDp{wNj+zLD(v2n;-;RkTJwg z7H)15#4P}Rs*iDTfdCBj!JL?(_!SR0%=a*UF@qRld?!JIfpYZ_)J%}WF_3HrZU8vz zTb>sOo+jW9m>%LlV(JBtda0dqR_Mto@4M80Ffs7!%|S5}44M=Jf++Xqw(7qQk z%&jFt-q)G9El+0S;P42<^EVB=JUle4tj~{i(iFg-R>C395E*cb8fJicnHo5S89KKW zCf&5Ov=9XzavUPeLf7I2_TF9yFEX-gP!Uqo(unw(w+_=;&=qGGI}Rl7bZXK)U59sm zlITAR^&DY`09<&1#|}}~0o(x%m*T(%?kzC=5)~8_sP_$>GOQb?J&F&>%3?qvGmjE& z6hM+oNJ?Ht!PeW%G+sk_fd^z}W~OK`ZJiHwuBHNWwJ7QARrX>b+|xpL=pYf(KGZUk zh!?Rd%xr853`SddmUv5%i|IJ#((%5&3=g^-W?94ij?=#?WCA_^#euS06R%SbP!X(R zlB1S?!%FVW&Lh}rOkl=8*|vf|6S};J?Ew%$p|&W*$Fc^tuys-@WGeL*JWEp`8!L%z zM+Pf^9?wyQ06?@!pnPCf^zNNI^;55VwOZ2Y{S9g?d6V-PZy4NYe`v#FBUlVfEjZL7 zng_uX+GNM0!6O3NM$x({~{@Vnb~B{)y*98ClmFqkHWc>)X? zmb^wy;;(CKYq$&y3{Vdm+S;(d#;Fj4J{RFRI5>!KTA*980vM=-W|KB2Yz8^qvIC{=Z_<(W%qnt0gk?89XhVmV5880fD3>F+w>Q6pUf9>^TL#4XTllxafA&S3J$;XqR!{0r^j;3#>#pf#2YZUiin9_0(BIt_Ru4T!Vf-T@Dzpkw>~YnLmV&v04KOfj<^lg z`-_#_EC|>eOeaq*PKjoFK8RDQaAP!Dr1EATs*DBC96Q?EcW_g)>NGmw&smkd$W&7A z>lyo1u|qIays%GT_mmQhV&dxPoxW1;jqyDlGH|4zt&wg|h>fLpPtT)-8M?R9X`ej0 z-XGn|WuTylb7M8heG9(Qy5{D`S)vai#E!Lhs>+_u6oJ8DXWs7BtL*-tba;1zvo=^z z;C+!P_;*q_b-v2utb!wcp`=%HQh&C@NIYwyWP5LKKz(t>{?)5jU?vN*8aFxL+uZCv zsd9=ZZYSBYvvKw3h*A_-2ppAS?1N&R>HumPV{&S0 zB_5lZD=;vE!*%{AQatvg#EI2wSUV%8@OUthM;4~Ak(L-N1a!ubdC=wt-oUvjCieuQ z@IzS{kLhnP9KfudFJu-|S3EMdDXnEg9`JR~l~K7xwRt5ZoSPyx4YQpe;I zO(js5`d#mZX);T~mcjfm4)_X+Uj0^BIRT~X5(*h<*RFDr;!mQ5UmzMU`1a-LBVhXd z6M3A4g+))byX)z8I}6GSgrWv8!UGERhIfNJjp#@KF%ZZDgbVZb{|WtM<*c-*k1^N4 zxul$e9!^iB0FY0rJ*wfGvt8{7Ij`ph?(O@M=9Fwfhbhtr5-7QDa^t1Bw}&b_SdJnW zt&BFRTV}2(7df2p;;76moyqT&PunFW^0**bqDF$qVDj+I+qaiTN-P+tjO|%CdIkKM zfVi0ugV__8b}9INhvh2E6rXBe+-Hyle{VigB0VO*jkZ>yEV`#EjvE;(sLknGOG`^D zz1ZCJm~G3h(-*6trx`5w$4?8BWM0V=84yrBz=Xdij^0Rqk*2Bek2rSC=*VPKXJYbI;_;3JH5kA(y>PwN7|EajTcRo z-BhxLj6;-8+tE5z+WaOXua4 zmAJfv;xZilyP4~(+VPP_DMjGjhx1QBMTHA97CDB4V_dPgOBE!g?~x?&gH#c?sWj8$ z<72Tj1>~C$@bK`KMvAirc>wVM*Ww?}0zY{oE$s~z5vE5jfi(NiKmQ<3Oz=#EH3tO; z`@$Xq{s@M~^)|RXWMyT6RpoN7B2jrG=!Ls?K43wh{D2T%gp!=NdzjF(>JHaiOQ1dYNt!6o}MR^{KO$3 zFxE#hy?0*Ye5qZHlcdh6>bQ2?1{b+zs80B5i7D1wR-a5G?^rfC@cwlUSE}%#lAg*N zno4SN-4y&sk0g|yn?#mYw7eF_&7zNx{v(ofG!7g%YHsh_bqYI&ji2`u8j0n81_(w$ ziYj(7^}p{RC?HVu>&SFs|3zvZNs$r$W36-!{p%5&?m@5bj8CLg%$jgLpyIWaIPQ=S zk?FK)LZ>d6mMHz2X2hb<+0|%+eS?A`@WY1>ZnNaBc@$rb3_ht^;bLQlrRR;tDVOR! zJJl%_m1p-5ud%Rq?f7GE0^e~Fc`hd-BMzd|?yt*U$_CX7Y=5eUC^ul>Od(IM)(QVr z=X`%qU-$Rr<}bgea``p&miIgQqe5bF(~rq_o0gXr0vDLVI7>s;_XjC;G%xh?RBU+M zN2PXN56n2l3T`_L$v8QcaZs_AAeTkLW%4TvJVZw>SIs>(R!%NftK6M5Ula?UOX+;# z`W2q;-^ZTD$+|3pt!G_EgyDx>l`3UId&FgWyYF3U`1$$I!q-D;g$KOGv|(IKCp!Yp zwhQs@``RZKYwm+1<~it(_;a#)Be?1~Cg%lzNt!U;3zJHF5^1j>Xd17`$A{Ux!#Z$N z|ei5E-btWt=s#@DGyj!S|DgcWxo~}b&~fF4W)ehh86ncik$Enhnczg7I?7@Kx^P# z<57EP_NtgU5w~sXOM&OJrPb9&ko?xkpT28rlh*V++dG_R@$~Nkdt4a|6h+*4{pwXm z+DGWL9)W97_Lk>yU*hIWAj=FKvZl-U0$%*lYji6`26{^(|Y-0zJ3$d z-uiFj#325S%9{t1p2CkMCAX&D;>%{_f^GPJ9*P)apLe9V$KRDkvb4nQET&|qUMZxf zf4CBD@X&5UJG}Cs>SuyGSET#JiDWUh2}_zDLG%?GpQ$G=(1|Zs^et3Whl)|-eYTDl zQO4jS6rWDSKRoQE!c6${u|7_J!CX(z#$NA^_ny9p`VE_pUN07Jg^6_iJiEX3N@2le zi|KoPvTX(vIXQWFaX)~XQ0X*+z@~6c>Qef_h&rwJ(xQCh*vU?x@&yi;ntKLoXuFtg zb!2zCUS3~L`?#@WU)rEGqUzP)$vE}eWi(LXwu?I#`hZe?frJ#E1k{8{j& zkaRGJq%H9x{q^)&$82s}#g4;!>c{g3htronQ&?3KZ*fW+7j(1`P<@)gpgP=HSTK4) z3xVmP5$t@V;St3XoDyDM8C3Y2ab}BWW~(e~LR?%N(?@I==Dk4t{MM{uZl0wet$21A zJ-3W|Y3i92t$w{78lmN3TFkNkhV;tDJ&;o{)tHh|QO z!u#cUEXc;@4L(4+m6MSXb&!WKGnJ&(PD@Hl84^GeBJS_+|58&!z2!v7$;p|KnOS%3 ze!SPjgmzI;5lvj@ow&{!aQ;2EvtvhwsngSGUrYeDLmY0D^jE&4xXRx$Gch&6mh3R^ z!grL^!K~~H`Bf{Aowz5oVXEI>O39AYoX)c#O1reQ^h3vW&G7K>3^o~Q>CM8#GaN)J zH#WYX;I=IlZ_`Z1>kM8G668x>py;8|w6yHQFgX0&c=K^&at?7MKzCIIQ%vM{9<;4CB-$%97!EV!A zbHU$6PakY{byLE?eEA*Y&CZqaE9cMgmd4A_FoaVb0`#>!Dm*xgt%R^H^k<)ZxE!Ci zQslNRc*CZQNRybj$(PW}l}_c5UEyV~V899Yz-?za=&XLRumAdu|4(+8QK5;6iG00_ z0^7%0{;<|BX=ztMZFg*X*-v-(a0GhDuj8)r**(@g+1nr2Ee)%+*K}>{>t4oSE*V_7 z(AB12da4|ykZE{HB{dq4vW+Xnd1)_!d( z-WC4No?+tSZdH(Ky={=OvVS5Ve9hD$4*!tbH#p=^bBHWj>!`oRpEj4DuNNHVH>~f` zs?et^&_xaKIfgOs3^Y|m4uxYh<W9lzE zKX0$JB|fLvX2qZsD6$@Sp^{WxeG3wZ$*Wh5@Vy0^1vblC3ZDR#WmSaUiC~y6x7DQI zXuZmzwqSdYqeo_bZ-2jHn?_~=#7PDp4@bvRtlK?F=M5RqSOFUX!F}VCb2c$lcQyPdpQWi|~DlOo?p1~V}RFshE|vbp68_IqHJs zeAxe0$R{-P`k32JCn+hZ$fHMBKehgIeo}LRm@*Y@0>J?pz~a6vQ?_2Qve^^jL5SKs zsJWm5NACUC>tp^1Uy~XpTkkNW<;QEcK-kaqpEOOZh~arMI%&ODJVZ>{?uf8pE4e>5 z>+n4YP@75k?itZ@^F9V4g2c6r?@+{w*xK%B;ogJb=4;y@63$jj8}(^_-GD&>V4bQ1o;RDAODBI zrPMxC68tZ`t`A0zo*n5}+bjigw zR8(x6n;DPXm-m2V2gOvv-CgkbidrGf{lf!_l!AevNEvh^Eij^l z(kTrpARtN(QUekq0@B@GQi32I%0nw1iuBM(cYpi({@-_fvs^A0j>6n~&pvzq>Wq9) zVR`rHj@Qo4n|BXxYH~St&;`mM)oE*Y_x5GKipBJfdRQqy64;fc;)D?g!{=`Tcs~kq zy4gJxoj{GSo=$&Egj$1*T&Ge)goc4&4Jn^#(?UEv9_&Rmmrs$$Vs9(N=l{K$LIV)% zSG2wzF_hGeC-}EhpZ&iRT2H5xJtd)Uaq36cx1q)xIv)x^_(Jk3}@7a>JO&^ zoh+=vjJ;&t5B2O2KH^WrPZlhBV`JKJ0p@u{MJ-UE2gEYO(}r#e6$+>FAEmUWHcS19 zb$S>gF3)?YvB7(wjO|%^+Bu0j1Nuch<$#)xhn0U#M3UJLmE2 z$K2O@*HSi!BUZxXxxT@NIo}{YPSYZ(sd*Ll9s*Rw-;$2*zCLf5PT5Rf!No^a)SV(C z1$d4|U?s>Aivli=kjLBG+j2d_fBpniRf)oFuxzmuqiccQ#v2quGo{}EFkfqDFPbhT z*P`sZW^HbM-`QCNF*m_~G~@o;wi(B3-&FBRtE#L1^}Z(ssxYQ5V*;`P)cV6Uc_Ocp z`KlTiEc?s;xVak=LBD--=3C^vRM*`uv24Sy>XIN&<&CUAQ zIK4d$EiHBzIeB@_s^VhaWjuzdA)n_qHW!VJjk&1L5fa+(T`23Dm`KsJ#4N`JtJUP? z$(NB2ggz{fx!Zc5u)lZJlGwIb)t2Axcq34Uw*@9Wq zK$&3ydXo4mE%i=ojll=8Vpu5tLX?rXO|59bh-uCmi<6V4VM`Ia*Dgys2FW7H?>!-Io<>N4}5TR-9i zLFnzW{y>g{$ z%C#N-N~In4KV2lz*=@cnDGQ2}qv~$UUxcf8ue;tz+&+{l7-4>3#=E3V^t0r`Ji5{= za@X0#DzRlV-0J1RXF0eyaBnUJ%3LDxp&0M4bcx*N9VpOV(%}^|Y29`3RdiV9G9Ugy}Z%iCfZvjaj^m6lanP?So}?{1i+ZDytZ!KoaEwHU2foDr@dOs#Qp z^?7i!e{k^Su5<)9nh0XNA`^rnqDy z-_gcGW@y(RJ1}bfzt@!cx1LX^ufjxV`9E!5odc0vgO@xKoIZ-)^q}}Ye|EDW^yl-(WD)??`XO z!MEud8Oa}Bg?@sC?(LDSz=_0~C;0@d@=CVsf&#_mdW@VtcT=H-#G37jP&8(edSk|M zs}PfJHC3iT<*&|B5O0b#mKgIBRHGj1@6X{4dvwRBVLYnBXp)P$pg}(wepwsWHr_-$uIfzXm0U%aq%Te zg=7*M)70GD$CjBt$T11f*ux}p8*1!lkd%!;;87BW^2`&wS3tG>&r9_Va-~ha=}OZ{ zw31I?52tK&xb-OB-&XCm;N?AATs0M9HOE8}o>@R8OwYG|hn3~r#O1I;5PX3C*0J+Y z?X&sivrGArB)Pj%k+airB1SgS7pUgto|Sh_WnA22y_0cE%Z&5M2h$P`5 z!Mhhw(mES8;J!?YF?ymvVSjX0R3>9XZz$R@s?lWmXY#^^!kx>=8f|Dmeag$@<>Q;8 zrnjqaAlKE$^hhI}ypGOwWH;=M(Z>{lyc7&H-&nH~ydWX~2WXnCFirCnWie0m(ImNZ z`Qy6JBu|mnDj;nNaN{3-RMv2j*R8%)OX9ua<)zqIU)l|#7>s@AxS#a?>*vogRV=gm z+v?Z@oyW86EIaJM)!New#~eX-#MK(+GUsoXyQ4mmT;MVXr2(erT83em47VwlP6fp$ zjVNcuem=2zCsI*L%)+!Tb03NjHyhfag06BhQX5ff;M@XI7SNt*gF_A`g7C_suyrm6 zxgc!8tr-CoCt8gCHIGp8_=qG?cix^i0<;xjR+Ry^_vatIFRYyr=bjO;`CRYK!p&@7 zx3_GhFj!%@{nFgL0Sd(u1C8UZc&u^Owf%UqHw$D-v}7?m6#MSVbLxa8pJxvnK7C^Q zks$K_;7Dk`qy*y~n%rk!M?(Js!^@AvdsN^a(pXvlA2a|d>d^m9HqxK)6oO(L8<)XQ zLD4V=T}cL&Ir4lj)5&Ur9$n2`c z<;A540{55?H|DW@OJ`q-1$NqHtK=o5_{*Kd&!=k#^grHJDDR)3#36J^2N%bhta)$CAAc5Rwe=k4|J zU!~(~?H#1p3+aM_&Rrq=ZQevRU3ej@`lK`&YH}J)@#1wc^9K?K%x{N1>6Y& zhM4u0(J)3fls@Ke`rm!_`xKE+^u{juA`ojLnUG%{kK5j!TgcU0!t0l56t3d^l4{_* z<~73ohK`Spsy=HclYb*UGTW~O2c03{RyLz(>Vq8Z&+X&s^mcTiA@UC#lUHJAIayg9 zOxr5k=L|#>WyI(RQ3yI1`Y7knu>Eekti&8HhP}f{VIajgag+YwuB2|ejcBfW%?0D) zn1CGxru25)mMZl^R4_W-E@xT6VN&joHb)c$QLseZwwZH~&+hwGYH&eeG78i*CPP3CfzY9|};Ae6yvwbD8+R=e+;nY+v77 z1(Ls^;-Z1jpm0Iy?!>aGn#_95-ZkEzrw{$GJC`ZL&m=ant+UXMXSg97WbQv!Bw zDOF9+d7-Dy+sP=C`5I26w;|LOzS0xZ7bveg{(bVZ%TOsgWxIdtLiUY6SFR70SbMQ_ z94D>633sJ9p!btPp=M@4e^gS!cPIQYumXU`wq}ZD?}Tk8Z9rW+gDUI7nf4wulk=$F z=yR9!TIo4>d^#hcT9@25j5o&kzghqj6+OMYQDd86DlzU#bh_XfvO+(K`q(|Zw=&y( zfux`6^~0Uf^9+Y_*+&BF+M^QT^fkCHPz_nu)06n{@bjN-u|?7q06=ZDr8$4$!ZUcJ zUM4@t`SeN6q3ZPH(BL&4nQx>fPuT!S*Mh+fkXlf10UD9^%T55e68Sd5jFMNZ=pWel z2_-R?r<{jIs_Fl}&9&!)>4W&OW!cfdVwsO@4Nh@u0jk&Pzi@c?)Oz^;_`|x zH4?wthR84aM6*qAE1r_w@3ao`YsMcU-p}kFmcJysjeDJQZ)A#qjTwL`Xv|O%9-}5# zGxG>N*=>pW=W@pRVim~h8P{wlwFpnJpqfCDkt{J9NG_@pW!!qiR$be`8CJ6wM*RB~ zCD>Sit9g{&*FF`};4`r9G?J+>=k*eOR;OtHXv)o|Vh~+)hK{nyH}`dA$;ZOJh0^tI zGA*YyETa+sXh*c+=r_8@XixKP(Tfl5MH7|Slc4>cbw>GgNmmWB-ZFLb3zE8(8u5CA zR-I0ao;x#GBgD>-PD9mtik_d&$#tX5n?mUb1&bkG!&Pocxi9HE|DcmI|18Fmwab@X zaR2V__cZ{QY;63^IOP5#zsr$a)@b=U%vj^=rMEJ!(3X>-aD=7{pZ}^Wi_a|Hb>|$K z1MeJwbp$Yz!kt{y0WOOvT=LH4Z$M{7q(ux%3hick#da|c_pQ~YC;SP*rKG1f?ioDZ zZ+}Qy@^e0JM;-7AxE^xPVwJK7Tw>cyx&go4d02C5;WlUd-h8%Qd;f=J9UgA{>rul) z4oda$>PZ`I+EUcWc66PatD;AKE$L&OfdoGNl z>WbaAUm_WJy`+{_zdyXKbR~6P*I-WjGA1SOa#qOg*83<f+T$w^x%fx&Uu- zaQFv?o^8--lV#x9!>i^A&C3OO0stQhkofm?;$*49>qyM45kx3~B3o8Q%rMeKnbyXJTU zp}UoZ==2_zs;a8~)qfa`=9l`ZBrG2Q;Y|7$D;` zU?MQwYjVvI>VIytNIxysR>;g0d(1)u?*J1*qwC(iEkg^7+*KEq^D6HBN`TV8beo(w zmMS&wRza_0L(?;J~#{_Z4VzioqKy?R}lt2U| z`TCU-P>^Pk%s+%qo^y922kZS-gg8bfu#i=CIrc|I`FpqzkuPj)R08QGs2Iojmf07C z)*sc$^d1cb^45!cM&D8jGI9>y6xVrk6PH-zi&5NPvva0~0te3WZTf4;hZ(;nExj>D z>=px&H&6SHvQM#!Ys10w2cCtwr{KOzxJw4x{koljA;5+&lk1@WMtfF4cLwG;5BX*#dFY@W>RI=Mj}xe3P6aW3PwD4?ML=IUFXwZ5Iy z1%mI7huki{vqIL~Ew*bAJT>*pIJgP$v6N<(z&;Qgq-A8Bg{YO6Vy*k%TVR8XCF~3{JqCaXz;ExRiwX`7 z0xvof5CAT%w3Gs}Bbl<4lY@ZAcnTh?4=p&S@xw7+s9>O0XEHladE<*!l2HOzoigXhw4d?uT zju&3jW_(8V<310xgz6=F0z0t#bsTxHHlR|AI7H*3NFA7|&3^GSV>Y|2&tDWicE<(< zUsB4>sJvz$Jrod){%xrk;!qIc=Bee3is<+~HfG3q8b5y|GP0^iIC4wh5ScsQ;9< zFb=o3xATaK`U3@ycnpy!0aH^(mA+GwDO6l+yr? zeg3Fq4WIq1Up`tKys7ueHX4hJ#@~Z*qNd%tUGbW&UU_7}1ffryuq*b-jb`XWogeU( zb`}qKXanG2m+O#K@(uD5pppEbXH`iM85!x>j^H-HWaR%Cfvk%FqoXORz38|5(KQQY zkYO5gUYp>vk55x5S>nI%q)9SC%2mN2ODv{&wPBx#e=IOYVe&xgEX|dxK@_^=2R5Cu zYtiHdk`b*wM5Ihtnle&jNG_o9mO|713Tt3Mb_-vzmmF|Td-#%N6;qld>$XlRKOG5+ zB6CL_h*MhIzqB63-j-eiA&q9WaFF*EC1Jdxnhg>-D*&J{UP$PJ{vwAUKv1e!VYWeq2thL?_R>*0%(Ut5A&jA6- zslb|>?)7prz2V=+^ny_*x2I=OYfyn~aQmD1bIy<$I0>4{mdt2Ff7p)!ZYLav3?BgF zK7ziMxJOT61TdJ2gT*}C#tTB==9&QFSlZf}8=yYb&jhQkW1Dn&N5~U_ykew~%#gBg zZvlB*gR)O6c{Y{>OFQLfdO>-s&v#v;Xx&+;d;A%ixO8?bn~drk3!ZU5`& z8F<({JjEQj5SOor@#kxxMJqL5!_CAW-2UL<-`8m@ty;rOYhbvxn9i{FWnzu3!K}{pPYZdVtRm=;an=(;}Z6^9| z&;1z{_Ek=xlNJc3X`wX>?#pD?qB;#FJz=r-kIxR6YyFmNFM2e4Al2|k_iMCPO*cb| zc7P!X?Li-FLQNrSXL67gnF!g8^&%DbnAkvMeb)M?8`U-SibJw#X|LICQr^2pFBsld z(VSpKerNR0=BebjO%{zytye#TV&_a#bw)ju1%cH+!^0YSD4fGoyAevR@_MHZ&~*OxU8PKhlN1 zVU(lP9TwALwDag-Us4) z4N{N`66GvA|5l8}2G_&;$Q7P%J9I+~85{)Xd zjpawYAL8TVH4|Zc>Gb4$Y2RWSABqznKJ#6)g(lA4SHbAk;% zDA5oK0{Hmgmi6`Ew=_^L5v>6LWxWgD#l3!3{_C9NM+m;|Pnmlp-ftJ#K=SnIbGZqm z7+M`4Gkm)J1rN1cbYbcY>DV_-vv;;HXxHrKD#n)=TVIVF97-l^4rIG+g2=xqP-yJK zs@tmT-V{~+2f#Oh2~U7zIAoOWxjF`?W(C0ysiCR)kI(@!cgDpX;E7w*fzKhswF0=z zfn(?fras>7M5GW10}4Xtvub0YKb^{oxB6aCKIY%SRec_E6q-P6vKBvnbPgEx@5=5Q zS5QdA+WLOiTRQsvR#~9dy1Tnmrd0Ipe+nSGyfl@;J5b;qO*5kNwr2q9=M=;WL@IB z0CN5tAmF#47d9P6LAM_hE5zj7Iv-Qz^$j~8_n|DcGpx19pmFju`vtd(4Y7qYArf{D z6W?ziD0>OAF^4|7wh)R>l-7vhOOP1b_k9V|kG#!OH4YcIU$f~d)0j|(`&vPTuQARS zGoGh+SKeI8O%L9^M7(_`um)Rlr<<7A!75}kRh{|o6ux|+aQb1`IqoJtVk44NRV~W$ z&NcND_2l*~NgsB@?TGzWF>j(viq5gKWb{HC;^8V!vRNYVwY`*{wM(wXI^}7&t4Smf zF1(w(!!xsh$0Fod9KN)(cNYDJZF8ZlAPSmIB#bv+?FJ~;N-TUBb4D49#Pycw3VFH;dXv>&e^V& zx9!jSU@8j&+W%&%UzxSoc7vyPldinZu+lEG#A=Xre?OJ=6L-(!e>$d!x(25o`l3!P zEfNN@>8jCoe^x!%SLxII#_|da-{U^&9X3Db)wgS7EZpY@Gt~C69`KV$Hwv3j1vqAT z%{pm-N=pHDX8}VEYR!tnmFj_KjgRh3`4e-`(a}z&2xgy2tSW997pG{I$2+f}K#c8U zelGmFt)d#IlbI=e{BC#ZZ-1Nc!f_-EYb+j0`1NB(s{^Ue1mNDj0E1@*OfYBq;2=HS z5!)8pz53HbG{Cp1`T6Iy44pGwB>4H?!5;_^0qB$;^BVo>I=$0utQnkS2|5y?`h7)^ zP2gZZ`yRku_n~^Fiv40D{Olr_P7u;j89LoWNL&YN08kJh5_DYe?YqROz?LI|ny5cn zs{d>=`QT{9u^!R(NgV#}s@iaY^^WvfQ{MDP3;+k&z^3^O5+I6IPwgkbz7E z&LM7h_yP_<>2Kn@Bi_(VP1uA-Q;}$5<2Wum&~r$>>l0Iyp!Ab$7aAR64X6m~=o)Ta ziYPOxmXq{|=4s-lPkO?<$6(3C+B#D|<2w&Z$Fi+%-@K#lS;`wnxa8giiib5=_h1ea zqAZDlvU;VqCB|Qq3y=yn-7aKAko1nD%S5CFx8EaM-}zb>5cQeIB+vY?oP!ShOJ{$I z28bngYqLdpv(VwW-3V`bN9^t|!1_u^M{kj0Ns@s;P_p;&#qmi>8vU3Kasw3MpU=g` zJ&{6Gx0Z&(%G1SczCW8&)NTKv`iFWHQo2*Ty(X# zJ}<>IUAXa(6Nfn~k@1I1GdPAf~xhy2tIKb1upWVe|>OiT^$j>r_KeFzbd2!Pys9cAb| za}|Mi8;xO_M${5Z`Cm{dBz`pX(H&$xAv$hA(Xtcl{PPqJ>OnzEb(}EX^Nfsb$d(4q zTrw!TJEscCI*&5dWIA@+?vIg7_)SEOXRMD5;-MPqj;(RZdOK5XQGrf1%cqkC#k{Bn zdp$y!TD@KiBNAJ{MKm-ta$M;Tf3@^K9VAe5hZSb~Q(y>*T}E`{uggc@!+N>8yNl>; z9qTq}LH>w{F_D#Bl7XD$1CfnEAQ6Q9b*gHqu+ivbBf0?t<_MuVK>Zwa7>uAay;RY6 zT`n`Xuu!F!F+{jWfTh*~t+8h^Gc)05N5odJBFS_3k$n;3y6{kl2*eP(E{*yZ&(e9$=~ymx_tk~TLVMMh%xi(JgMsPNOYP`!b9r{H7))>UIR zUy6%cNu}=wYrA-LC}Z_m)f8el^rtJB@f^W}MMln0$2=;IkE4{sbd|2Al!2&se(+ie zKflfmT1B~MxgiWrl?CE)yw?Y}3?~LHJoG9XhvbVIb@roVPjk@#E3@~1&_4ti+vgI2!9a%!2pI+xJD)FRJ-bU@qweF z8%OQfJjdRQ1PdV7(#ie5*Z4A+b8LkF4!ic&#mq9%|2gUg34}@zU(^sJ2pY)g$T_d6 zPyt{*zq;D>`^ML@vYT|lz%4}MZ^NuZz#}2+TnpVO9tx&nk=Lbwv1O>SF2{r%-jiUO z*Ku$tb8!bXTNPQWZGfXcv4Uav^q5zdTggTq^yHI{ee@bAU1%WW$ z!C|R#P~D!x7{55i?Y>TmAOb*y=L>@Zx56qXS6+gWS#V z&(BJfbCx1rUe-s+zGa#ur~1*8YmM(F9M{e}x>@puDfK25&m*5tVzECtgPl+GFG4hw zZo!(-5WVC(O*KE015V{6SDi=pc{)XQ&b1g8laW{sZ&Sl8C*3N$npr=MEzuz3(yfRE zuOH~d-k$z*k`ap@rxhXJ`KcSL1lQH1+8WOo?t1GMJ$7_u%G0{i$`{?v_5PM(kjPja z!l#VPtlistuEw``5K9&u!@+YrpLKLhMm=3k_Slo-t#8Yv^Z1Dq^gMbb_L7X{43U^e zcz4Sg()JBLIDomu)X>+%%Zpx);jD=Mln>U4(~-PwT%IX>(GlRyPS=s{#*ANgQWxQ1 zVihB!Wm;Iz}$yWX(N7z{6SI4ZP7}YXf;q0ISKkb*)u4kYl?g$=lgMhXH<(PuzGpF}2uJ8CUksF4Ou) z-F3cigOLGo5k)$1kAkF)+|UMSlQH_F2p6jc8tVNEy9xH2hzpVCwP&&wX=b6-1=78LsJB*UqRdzHx9sLfcRt@m5vDtIl1n z2su<($c6N|aQuV^cOpoY5C;jw^BU}qyDV{vZM5FrYn7EqTd9TKd+`8<)dtX_vb`PV zw|C@(uyI(x{{iIQU)$NKWK3h?*M*(E>vXa|2l0TOKs#ZV^u|fHlKxM7*zb|7mJ$+U z;=We$E38|G&*hu^wdYmYS3)}YYRy9^@v9sw7~WSWg<%#VI55H0k~4C6iHs#&O!-RR zNItHfW_kq7aW93oRgAXTQ9VC;%iBywmEoLN!mOefGxFXphCutgy^iV5n0tf_y6+}pO|++9GzO4F<|1;-ctSXx(tubavQ%PPKLyz zmZIBEDa5qU>SOH2R*7KLez;9SL&3H;k>iYb{YePdzKPf)?k1LrucZ+SwFi%@0(aHz z7T?uoM9dVTGau;nE)7W7=|8$DT%;^U*LD326TugY0v^w^KPkQxX@VRHl}NW zB4i`Vm5SLoo%WwSw&ML;PMCeVaX((8u+7fFU)4ZFR63EX)Ri(UkUf#VMG*%b{n5sl;l1TGns#*w!;Z?D|@sa z))i_odoX+@eLw_*4h{~&lkcvmXlX&-k~c^TpPHK!L26?6*2FZ!XMCr$cBAjPEt)CT zyLwK0zn`Cb4snPKsK-*08gw&c2S9D`)_)+oHpf<=>0J;aI$hP>7SMo z5T75>br9H$c&H$dN)T*GAhGBO`}M!7(oz4gu*+RQ#Jl)XZxyTORJW$!ccpk8`$aLM zQyeH=HVo_V?fTkWxexYoEiT`&e|9%JAh~LG296ke9AE#jZAn-uD3TJLNcNHaa8I_{ zD0!ZO9}_&^ORVH1s-9%HaCCO%a{qhL4$bg^9EIBjlpCsh&f-Fqf5ZH>xNnAF99mjZ zlJ&IFlVPO^Og`^5*4lTv%LK9&g_J8wcyd(Y-s$v`NHJ$b@-{kEmT-v8e0Q#={6Fav2ZE=6i_$4s zZKHOth2uCACFT#**-GJXi;f}rwj~9uhS}B8@$uCuSy6&Asy*FXqBdodGCJ~89 zXC`CV(7mifjd64SPfpaH$--`8VXK4)@|W&nEvEV@lrhz#o~RDOU%mJTI+#1 z8yu(uY7NE|E)3fA8E<6DJt@Xi9L%S?Ps83W?)YYj-$JixeJFpIQo6XqpT%?L$_!rB z*R>Lbb0bH=2V9^}wJf=FXRJV-X^HHPtuCODAnf@hgg!6VuBSG={`IEgC^8-WbJcLU z_!V6)nsJyO=f;X>Im9Iam;zoPhwh*uD5=UgOpgf}a$T0L-+mXr+Mg_8ce;z)x#H`K4j6 z?mhd|zCt<#am$Utu?RHg8PG3W3U1+b-FcPZFsK8#YHO-PiHaRcc+HnNsR5o~ z*GD8`po}?#Lb^-@O$B)7eEAVmf%_Sv>62KTWBnnmRrRtU(nlg%t!%U&e8XDmAlw8%)v z7FqxB?`$GL8nW)gjm1MeXvoP=*kwzjM!;t^#}I*Zblnys3Kwn#abid;sG-v&fxg@J zzdr-yXM^}W0lVorz?1_Ivi88tEPII}7WUnyP-NnD;0b9EuZt-}_H^w0L;5%@{sp4N zZGu*#>mjSIRT#-J##C<&luh|FCY3m;TazwECuAf^^odfl*?l4y({6D?>m({S4|PN6 zJ+CHfxl6?jD}Bv-l?QJXZ7NK+yhYS2RFd!aF+F9?vYf%xj-A+mmRUFWK?~E&oU~Dh zJF%RZ#2WjMb=B(8o+iP%mFp23dy4UEh8+##@n$#b!^=CQ~$yAC+qPyz|)!KXz?oKxzaywfNN{L;L&~qO=du zly|Z2@lH|~QNk%RA0u@Jx6~Eg^oKui{`E(@hBiYkf zmHC9PpPkCTDND-uM*!RtZFark=M4~m0D)RWVO&+FyTa???f=z;Z{hm;+sUGPv{|Hf z6LQhY#bkw7N&4!djpWC!Plssp4j#9?8*-1P-@zYg*XR>fz=bsH*Nulr4r0|0un|en zQnZtH!x7!!gU#U3e;mr*!iDB|wXt=Z+;6|<62@p*0DV;VyQa=n0qflkE~$q=4ZZjE z1*r*Gys?&0@!9f2!tf?IgcRZ0F{STif@{ zlb~k9yjRF)Qg?PCDQY8wf5Z+E3t3v+w^+EX>z)I_B~=pr5HmC>tkfwh?#5sz3RE>> zTiaKqZn++;31DCL*-Id8le6g=81Mnn4oI2KTsy5`6f)4S=vqiQ^^3w0C2`$9+>IzRkpL zj5+Ds{v(Okc{l;dkgl3F7dn$4c8};DPT(}NIrsy0o?@}KhSV7nOy|kS0Ezoyf3jAp z@dAN3P4ABj+Ucvfs_34O%|y#(c8`t*0;UQH>a1f$>8ic#`yKEx;4;8pTwu_e=;%m) z0~V|YAlq|Z*yGIB>t)#2W1;vyF~I z`Zt67(z@Ny($?+w<(`G&UUWR+7Un5b@Bc5`Kg?MUOOq)oxp@r>yu_~yP=7O%4pgaifuMX-XAb#3kQ*HkUh?C5H1_yCZeUKwV@#dnGBGMk{~&Ofl;Fh%(kna$l$L;jHB8oTurEVkAlZo zO{@rXtiAu%F2r@w(uzk=X%%i3$14T<7A(Mn4(C$7M?7?bc5kI!Z?{}`+@}FUsjjX+ zj0r!I(e#jG)&eRL8-T;6%7zTRal+bgniiaD6!C={l6ITH5sZ&uN)G{F0>v08^N=G) zoJwEV@+?K^fq()03jh0xiHqT|j7(v!I#znSd8H}r$>pH4oa453#@?|?vP)w^J-PR! zIaag#783dzB7z!5?b}LNIN`DA=jzN)GZXzfhX#J!b(1FvO7ObDJb~K_=vxUwBpa0)Qzt3F1EOo0H3*X zx-bS6-IR+g=#n(Zc#?!U4N$;5iJB2WN7=m3mP0S!^zv4y&43Swx5$MW_o{uSIbq52 zS-XH_d9F$+ah$`hm&K3$b>2@`nyyU0PIc8XBWCQA@1V1&qySgDT4D3}5rFtgN1lKVI1Srd>C^?m47c=oUfVWz;-6lN4sI@L2bX-#h96 z8jTlB;i{HQ$IQe3Kv%#|z|RT$)#7z}QYdFL;9)ixV{OeNapvr;#6pBJ1blqa?XuwN zwf+P#g=&Wv4Nhy|yxZow$((`$ODn!O`rDaV4oeRFy@mmXtp6!k1E5a2%7SBts44&XbD1ozChv^o>La-m6L(8x=U>HW3k(G1>{Tj ztr#(1@f{$5j4EjKdI*;Ahmn537lTLJkMG1*;XyVv8!(am`9d61t80b{5t|fmWL~wA z`RLJ8H5S*V!=FM%SC$Q5U*#uD$0#=U?Nwe5Cm}*l_l-5p$763U-H3S4uuyX#F>dEg zlSULbZt~T>+u7WOvOm(`CI)W|l$dSuoi~WN9WngM4^u-r#P7{$8W{zHQM__v!qkp# zV&?fDOT&&*Ne;}0r(Yp<&ylw`uHjF5YAPO_x7zyW0yFVOO|vSr6JRI9uO>dbu^Qm_ z!%Tz=V;kh@U6{Ln537JbX89mwUuIv0=3$Wp*|1E4V9~y$m$BMN-(7=z)s24D9LwM7 z*ZZyPtSG4aP9ELAc(P;Vt?ydn#6HJ-fBktmUWwp7yjbRTOOoT+5V?tmKUbNI zIeFI^B*@frDc-+-4?%qRs6w7AFv>xBs$EnsvZfw$=Tjgkh=;8d3CMuMc>HaIKbj>u zXXR`UJhPJaDf|DGCSmFZf=frncRn}-uapX&&WC6Jbja?4&$5brN0Ak*IC`A&q<;VV z7HWTEnBx*-1F-xWsVuIk~%U z#U?3IB%tRvvUv0Ik~^o2d><585@Sc&?J~AKYi2h;4)t`{$!U?lBwX=V(fxo@@p_!N z%`_Kn!pP7!?{0rnK)g>!QK2-En5k-Gay(0*nVXY7xYs|b;ZIb)zZ2aSSC?`$p|zI9 zH%aHsuicrGTk@oow9_s$)1RY=nS!tIb-`%qx}lJiG)tPTUYGubG7F1&!W~wA_IeRU z`@s%-cD#{&-fQrl#^B>N_a3R9xNN&gSZoj^-|!d{JvNuTcrr_nC{SR*$wsk1D`~H7 z=4^(a+=u0s+tkq=yi_rhK0>%q<7^X$5sOO#6sz>>SL$7*s$>75qoHqGoYIsDd`8X% zUz7x$>3RY=YwW`)DSYzaewk#vW__Se4QaYEi^M_ z`b)Ges;>Fq=fPbfw%IjubE|ccF^&#?=HgqI+sYO>nDjr{7&LE>)=?f{CcYM{Afw}? zCQ?vPz%|1?(6SY%KQEEwYP;?=WT+^_M0OQ3-e2YBkvw$0O4eA4tp<#mKrTbj3s>FV zb3~O;v)TDjH1SDlgL!ATPm#t6{>noYESHw1<_y*szyriu4yZanXZM-HiT`?LUK7se z_4p?l2;%zn&$}usYI1&pA%=w413;xW4zzcgGq@B1zvJB&rfK;G{(Q)m(k~8CV89bP zExKpQZA`9q!q=I~y7DZfBKRmNh^%C5-QUv0KUK!IgD6XE&&}Ug2D82=r$Nc>`~0(L z5YB&&WcsT-7%a53sGuJ~4)v0zkCfg<0&=0}0znp{0J*AM3=sja-^(g12U{m@NOxnM z?seGSyynXn?lEgw|OU>nNlcG+-sF)4QT z)88xmh57ZY^hFzr>t2;Jbip^`f(aP2gY`mG4%eM!Y}Ww+DTYjfp+m#14oq)*Nr+Rc zWbX#=#el#T(V6vS6NxH`t!lxal5I=JE4Gi|3@mjM>NM}*7FfOjtZR+HQNb!&W^^}3 zEDhB@J}~5(>kE^qQa;lDY7inJ@KZ?rUb{mhyK)kJvU)=Oy2veKO(<9(1TA~foe)~O z?kF70{}WH0=IM21_2%hm&<{eqfah>hpFPZn#z=SJ)}|pVfm=|Cbj)Z7u3wm-BGetB18o8Vr}y7w$e4?u?nBuV_BG}jbe&K#GddNF+0JTj8wD5?-vfkc4m9SVm3lHL!)WI z4`n?jww;w1i)H(g@r$W2@p2Z8i?wAsr+qMvdT>?a0qS( z92EHsfD{O%0Xsnx;5q{__#U9Q6WblJN7N79AUOqR38GV@GQjk_8|EU)dUbx{uQ_G? z+kM-u+TU+09vA;_clcTO`GjdK`=r^=M+}m_(R$AlGs8O%BKjU@rxRm1(fOEc&swF3 zB@XfrK?=>Zgbtw5U5eu%QpgTuWI><2GB%xziQiX%5K7}`Jq{p=5+i}hV zI5u$C#qsIW`CGBF@@6sMQ7r^EV4UJxDd;L50> zLpQ*knMpJcw+ep*w|L;3@mhbvN$Auv-qE5vW}CL(9$6hv1{ViT96qe znAEJHW%V1TTsw|Tg~2Bt63urY90dCLH(FIGOD`_gWuBq8#w?db0gIhmoRb$2^rGFD zBl(V#NdJ@GPalSYBf6Qo@97gW7<07m^vq;0sjobV+#{>)*geblmMwXxtiFESJkZp3 zOR{

    =7qszaqlY@Fr0^71Nmnv~vI5vyRW$m;T%RVu$8%jv6{3t~g}-$CVo`*)J4) zFDhahreq?&S9P=?3i?P0B^I$bp4xJe)cT601S?c`cL+|zcdxYcui(tjT{`{8%Jv@* z?weUCtoFDiN}CAA53G!0#_m)!RT5)qY{_}9%p9AD{FtLWUTBWwYA)D%^VTgn;5zO!>1<2;-s}fZ|8w1i$(<&Uqeqo7>V50_5$}gODVU zW+&eq@{_KVj%j8UK1tlJFTQ#w{@#AjcEw66_p{Y`L+tdst1R)Vv!`MI8o~&Ve{F+s zuWg1d3V{Q-0+_spaz_{_-(T)M@KkDP-#zBARv@9VFtwE5F0cZKhQZB>cAk$ z#=ie6JgQYx{+7gG1;HnU#uiS=pqmD@coY9!`Tv-D6L6^a|NUQzV-lAd(;QqK88WNH%x&Xw0#l$LS8IG>fAht^HfnhpF8hhH46@GWRHMPo<&w({CXZJg5> z_jVDDR2W;2zOu0}&C2r2S~LrlOvWnv8RiebaR#;pQhWVu@8{0CgHrvl7Vq>$?$?`K z{cppL+n(iFnwOwKBp%R^)Dz^f!z0{59gcf?H%ejyIOw19{oHlNEo~J!U*7&^y6&fV zcg$(NDdpSOpVTJCs`0`>=J(?8nbqe?pGWQTp=b*}^8^HG6+Ze&2WTBi-{GV$gZGPo zWC-qgwpm(%t}?|pz3qhgBECqOMlqpu%dG72r^4FS(yp?d!yrE*P{YyD(Py&h-l=;} zIcwXdi`3fgjJn3A7{@}4C^n1EjHMixjwi~N2Sp6}9wvW?T_P-BOdYnOP!Rc+3p)%X z2Zi8`4(4{fy~BESm%{h9BHuWaQ?7kYFr|0#P^Y?!%Yuv&IF)IAz?^8->B3R?SaW#M7=HWb_OX<(sMv4Z8L4)CQ!pM!0Q{f%B^SPJYk z0H37+b`c3bAzn%_gQUX628a#gfgZ#V3d;dd$?}F0n`E%}frQy7qqp1P4YH?6!*yj;@}fSy*dpL^(Q?xA6Zm6 zKfiZeBa231L}uxdhISE9Uyc82W26>8w%r?OH1zIr$otAnRm#^Y?(f%2${@euBnPMB zRy^0S*DqM)#RxNOJh21#)xdGnPS+LYosLHe;vL6$%H4%zp>Mp z4Fr}3E{?Rlx+%98m=*03wM3N>QFS{v2QO}nLOj9IWzVI}Jm#MWGG+GMk!CqvtoXi!|X+tA!RZ;H#KKVXU* z;@Mz@^+aHo=Cw=Fb;WwC2wig23P&4ur|4Z{EGjvQ!}bb3#im%`sPUwI(dq?)Lh#`ow}}_vEy9$ z6q+U8Jt+~o6F$35dc(t`Qd30Rd4b%^bX#*f{NC-}J5ypB_q`xPM>E9N&z~0?{r>F=ztoH;{+YzyC$EA?M~keqvCH z*@wim)!bbbyERD8QYj@xv|Fedn6Wh-2p*YVSj=!zzH@9QPGr-_#`@3yya24x8PkJe zfjniq+R1^YcJ9SFgB9hL?y zFVzrF*>i=Fu~8e3%$)T%owE(YWUD1N+L=9*e|o+x56eHJ+U1?L8L+NTbvM%4Lw0CT z4EBkHr{4N;w4-u)cXq8mnT1-dyf8G5nK@+Gc{w2N==DL3$MinKu|(lpUfH%I?A0@8 zE2{n5jRT`1Trv;i+ldOzcP?eRMal4--_{B*Z(>ZNtEdin8pb_7xh%LIGs#m{|K-&D zldAzLSGu25Th;qGRcP-r9qcP$Tx{A?$jT=T@w1Up$xXtux+_r`ZA&1sNDEt5;x`_} zgU2$Vkax||4JD@PX1@X^leNx zU9YgBqnVeR_v5c8dWeQS63xEc#-ldLnZP?+q24mt&leSIII>PZyXT)EH-qMEk-#L@ zJimS~oJ7O88O&EU`#gKe2~qD~Jveq}pCPZpqu`{aly_Jucs|PMBQ_t-Dw0g5h+@Kl^>GxYS z8wrcRK@9{tRn)meqbUr~Ml@b3tOvG+FRN1P8T@r10SozH2i2%dFS{HMjBJhn8jk7w zh)nN^C{>W#TnncL)^8_!*|R?y{xxq+!!1db>XwTwLEZJ)(;4PUYOmDXfih znVW5%b}*LKu(!0Yh{5W?VT+ifpF8QOq_~ohogw6oJ;^*g@jBCcm9Q~aRZ2dHBMK4O>%y#`bxY|A9 zAV~-RuP?G^yqvQ11;8ncq!U_XARhY9#XfCa4`)6{;_pZ2zmuMcW4o}bd$40*irG4P z$sx2^TzJnNg+uaZh_4BW03+s%n;^OX^%9AOL5bDCJT-1>*iO~P<}w0n{Hg0rhhSc1 zF|bX9MKK>jFe7Me(&7QIMG=VgM_8Z`c?X(7NCgxsD=NN2&xYrMrg^(@6 zqx`|N`~z^A5b?2?ck+kZok)`KEf(iZkZzoZS-L%7GmiL*?87SuQF6H5h~7RdB&Ka`#X?~-B9 z#eFL#B)@&c_ji1KzPmlSc+h=t+044Sv={()LH3Kl3U30%8R3Kf4}nZYLi}atjXd6l zf7fvC&#V5+>e->&?je?!e_db@mUY;ezlHc%+C8iuKR$|cAFQ-*yIjg2OCUKyN`CCr zxf{MDPPF`=1-mJJeQ2F{0fjX<*HqeOul8>_1S+| zLY%65lst#G@f)Wbx_Ql0o8zLGYlbMPeW1wt!@sH4SFdOsh z`>QJ9;Tksh8{Gn~+O19|x$Qo37H?{gBqp(Ld_$)3eJxTE-}vZ)pD+fq{cuX>6B$xdU|YEts@i5h;fQ|2o!Gj3hz)DIT;n3)ML z9xSuHkt7fVXl`&`P#`3y)WkZ4gk8(a7mRKsDZ=SJdIu7D2053~IsA8ktRha@FJH|Y zAA`v{AC>upPDb%~H+zT*yUgoFNX!6hC@RY^-T6mkYwDBPuAF}Fj)wtr0zQ!uGQOU2 z^Cbg#HP%@@Da{5!NjYZ^J-N);c;&2f)7W#~HLHc3ALT%*A4!OoAFS&fGq&=@Hn|d6 z6qkgAgOVAq#t>PCL9l=M^2qGz=O!_t9TdKxlAJhkf<&T{md9UoxP(!d%+cehH;|eV zN@wTiKTmsROS9UuYV_RtMS)-^qUvAbRYaJ%wcWu>X;Aep*gq zEhT>I!J}hJdr?G?cl@7`3F&^nbR1>{Fx)`02;hAQ@e*g|S37bd%9v`eaKCbO`;dsa zbEo_i!Dg5Ayyp2aVG%%Xa3|?J1gLk-I2!if4oFsV<$v5u`Cg($GV91~5@8iZOWq4CoVAP1{pxhy62=XqOd;R1mkGQ~PhJnHW5ZV&BF zGO)qEQ|*3@1Ze>PdlzP_8c-l?(l0LMc|ox46}YY$55Z41>n0~D84M*K2(m|2e&;ki zie#Q1|9591x2PV6J;f_3(_?yX`nR`vKRQdBGEbQ))bq*TPo0-%zoh-f@{h2T@RQs# z-2%tT_1^7-3fjz0#$bO1wC`QT*cE1GHm!Msc#tN9dcz`4@#(o!?v);@TiMGCU4NU2 zH)3>28P2M7Xm>r+Z`ZKLF{-~cd_rGloTz>zmp&OUMZ8TzYBl_>_oKm0HLg^0!YT1? z8$b0wmlze<_RglzkF5Lls!WiwMT)#yk;c&GoUu=hq0yIo{LCjgre~q)n`fBE%If&u zO}Q)kbD0}gs3zRZPYd@Izl}1BddTjO;9r58y;yq6J~fS;lN;tYT)sS(v+eEgxH;+O zNUazrV=@Tur^VE074YGafj1$t0hv@Z^#Zgg%LqH-W2Wj|%6T=?NT2#PQ8aAC2Zf6D z2X&sFYO4|gDHc5fQBmNUS8dk^?Du$->vehb#Hq7bt-906ryo0&NMq&`^K4>GBY-ob zDtmln;E&>seUTI{>6d$({&}g1gB8lp!q3rKuKa1k&H%p@T)vFB$=RNR$e^eT?yq@A zSsvq6iZ5vfByCL%dfKTH(ps;*oqz9v(~r(aO>FXzv3D$$@fE)^HP}DHwRnQ@%`MZ` z>Lh{I(`Va%F7c!1@9V!l;-2;(d;UVjJbQ)DK$}EI`l-ueccaatDy$}~bE!rU*M}Sb5Yc(k2~^wbh|}>t zgj_)bZ>%Pay#-tL1T^T7_+GW@n7Epw-(NZ>|qfSXGN>GlTb z1o9MF1?)$CWCwV~LBX9uTywkQhu#QjuncfWw@2*Q>4M2o>mLS@VgMwFcQ7Aza122M zrD~Itlz|@;>D@(oF(M-)k+uccK9G>W`L{A6{?;zk#Eaod!QQZ%$ic~}3Y7`SbPicTR%hb)YI&N=obEh%(*K8w0&p= z!q%2l&vyCM!6m(4^5zhvfAb=##|{ieYc*9t-PR*z0c~Q{*3W!|PVvo0QB>f|?O%QC z9(@vy-aVb`gkzLUE(>o?*PHY6R*%)`s$Y*7SP-@0XK>{ITs|uq-MloP*%v*q2P{8b zu1EUMe@dz`5#KXW3C&sR1~SIh99Rgb ze=!KvW1;iJyMvics%L&NN+W~q{^e}84(qZyzYY?pxK9O%oXT(Z_Ykx`qsmPeYO&R} zCudXT(bX5sQ#<#hF|J{UI?KPiyHi(o(#E$(U;V(8>3=vFd3Txm<;ImL%-TU@tBjnT zOFcTi8OJhncdp;KDrEaiWcXMhN(}a%l$Zp;0Qyd27Q?s!n~Gfnxj`>pU3q*DD1Gd3 z6&*=rw}KrofH(~&QHKY(L)2^?Rz|rz;tem=SdinTNJ=jAEG>^G=f>BQ1q;;U+p*W} z2NLXr6m~N~qJ!xS<3J2U!c4rH%lVqecMmhLQs&YlLs_TP(zMRbzP_>NjO|Do5(T?O zv_goO-i1|Jj=aJdH1F(vE*D8-dudgotl-Zld>fU|4SM4{Pl|~XIsDHDhu=D*z+$IP zQIwlfc0ZU^L*(()rmOVTh4V^qa+Fs5(HobwPaj}AchqUa*xWn}2DT8OfoxuJ39_pL zs}#a=zZk6u`(tFr+22%R12fO@TXv$)lXTN^;U0wvqo8f|=78T=d}90$SMSYJp%_m# z4BLFYm5)1Z&CYt>WI1z6!%5?+Be)$-+@+`!BsT#34|Q+$dqjuLzxT#>m|z_{1#p7N zcyq|6&W4_xVS$}Bi*VH{sc)j|5}Z=|a9|B{gV56v5~$OyOMxnmse(44h6}N#ezacm zO6bWnZKQ6xW+Ov*63CfnI5?X8D2}goxPDlI#nKk3{6GSQ;PI#-RO7aVG^dL5ye_X) z6Hx#1=LlhbuZfA$=5BCv#hZs|CdaCGH&7Uk zD8{dxomqIj1s44rM{PgB+b~Zk9$0^+#~+0)uM05SbAow{pNG)iTsXDtIdPOT^;gH2 zrLnOjnjBL{s`-jHbgsT+$S$$j)vsC;)tbO9zLMG7e^4bxlI5r-P775sMhZE{PpU0w zTRI)7&@rhSk5JU$@D9O%<*&eO#cRl*9B6lM;FFFZpMuVz{n+9QKR&LkxU$iPO6I; z#@TL@1qcY4pPZQ1D&1O=Ti*=BbcUoq+0PQGJ89v(%OiQ9RW)7|v@vWfYMwpceU>cz zWzbU})fDt_*CB#>t0oI61YsM_?)~P)FY!!bVPkXVFL)jHQ_zTq-IinfMomF7EPL74=FZh< zd4~A6!dUdKKTFMvvb6-oTl4Wc7x`_5UnB-=iEWDv2vTHj1}O~`v+YIV8d{5!iP>+p ztW07a+S;$Ww|WVm^}vU>?6Cjq#JVO>o~}# z_zBWHO9LG$&Hh$%L)#?#qs4pPDSWiDI90VggLmPMF*3KFROy}3;Yd!}37pZ)bf^0T zPw?+Htkcuep)TNGeBkNHrWtbyh@lRzJm+Q|C;|hg$|fN`#x*~HGB_|*P}8u$*Jo6vpT9Ezi}auSH;RC{kWU?>yE+G`_v^LBJt)BVoYk87Garh6+1wvZ~|Py`quTO1bzgzQ)yaH5@H_F1tPO zy5I{^^>NJL6X&%zsHe+mKmBqA=?W>BSqM_NQkvcEe=BL}@42mvHG$J*r`L)T5ia|G86t$73ZracpKVPxd2cpGMn*Jl?`O&$ zRSopBAzCDS(f@uJ@GrkEwyz;eV6d(yDeOAkw*FYHL5Q%k44fq-B+y~|14*=l=_OIh zh1&dZXV9x#5-A~Ixe&P25Tpx&yE!sbMM}di^$Hk(n;i(w1!*+`mjEoZ zFGecAX(F1;B#`zf!VBGYh6Zagy^)FGWno zSWl}-I8RD=GdF#F%Kd7RLeOtPsmQIvdrNG;a0>v2N z^%n+xc-Qoa(_O50TL{iw=;L(h;e8?3lfzDM+Tc~9F`Bg82Oc7R@|aeOu@x!W%PiAU zy7zQaE;Xdj13^6hCV&5K|Dzd4p^wMI)Vk13no&JWRd%2X=)ViUAxam_U(>lwnz4CY z|7HXqbqF(cgLw_o?utN6SPhinV?xuw_>Jo3dKEV>GH1>nM7>dmK=Y?#g%0%1Dn- z5>W2h=OSD+of?mYSm9p@{&@0=z=%#rfHdH>?A%-(Sw5Vx=uTG-pO|=XhZb*SmfNhg z@Y&jchWp^oBnA917-#ibPhJd~6T-UQ%!)nDuV8fo50HK`iQ$3lzCU`)j%M7-FI-*4 zfsdDZdkoIebEBu94PS?cwc&8v9(u@8VNl$5981^dYPx+PgofyvRM1auAj^YuN(eKg zF{gcWP~o+JB;7#WxpL~0d_~hydzP&QViwzQz(&Xk*)d2%KnQNSM#;D)IIHdYdYcE) zLyC+}ht0m`}{e%eT>ywzVbsIaTTH!M`L53 zQDP9jFv8LV)-RVcH+#yrZQm%g+7e-CC}PavNPr;J|)kcMbHf zuY4`@xivMYvw4UJP&CeeltRE)v$0rv@La`3@o-e-V)5^SgI{+q*l@XZdW`u~a(bQ` z-x(-199hQfwPAk9?={Fz&>l?C;(NvsxYJk6j^MvqI#}YHnw!^P+G?;5{BA_^M08)o zOR$z7=A~sKFbb?BBCM4mgVif8NMk4hBqV+kfd(N6^CBrg1O*H0BVeD-j1!y0NoFpY zfC`8p1HP{IA@x*a@Jr@mL2RM45ytF^{yRNG zC*GanXN>T^ZWBX64H@w{+|OO!1+okh^;3ZUH58#@5W&|VPeEksu|o@yOt?pOUgXX?Hv+_L_i& zCChM0zn9IUQJvY{+kF~RWdug{^lh#?gLW0yH zF(y&IHmuOVsr2q=-t@O^kFUS${&FrO*21XSO6%d%Tu5xF5`Q@Ql81Un(aZ2iPP}6{ zCu>S93wJF9lMTP}D?=f;Gn!356-lXad^VWU3}fgRB)Vma&UgF-TNXq`NXk#WhPx(A z2LHPCYh~qd>bne2b+l5lAUTRsu9H|y9;H)qGRS7Q)xg-*SbFqlbHmuWXoh_pgO&b* z*3%5G*C~>gq<}vj>8>;lZs|>EwV#g1SSMEp)H94KU!+6tI{BZ6^jN1$pq{s7Vt~6H z-S|1n3*iZ5B{pBJVk~C`@}4F^(9PlIpNUp^9r4jkDiV5n`X@Fv(1@$&6fKw#JRae9 zyrnpzgI@`+qM}*Vy~QyS=%G=L4CEw%0xzlUNX-ewS@(mvshPTV(EA>v}VS#IAzLR?mw4+ z>CAil{$ZQ5GF&Yo`ldrAIWmvnc}T6>j#h>t^xZb%-L~P-JY10u?a7lz?C~N)Z@ZEe z#Z}7cSW@HUrmD$Tc)^FA53EAr3heeJhsfM%`gi`rXYXLd zq=im{VaWM-ttse5|6*Ijm#BNezVXtP-4tn8giQD$mei+jG}OmujV$Kq2*StNWu1Y=iuw-&o^MN^k&6T=*D1t+&M;5{6{A_rHe++ z&QRXv5;y&{!=>6q(MnjEC%}>StEKn{0ognp(hUIvsIneqXT32zCbZ+haBdvo(RP)O zrm|$S@AJ|Jb-RE2hrR#j1prF36oX-vd{wK!rfaF|$k@pMMRamSO!PWGp8JQ$uj7k^ z^2Abae9Uy`Mh9#*RuS8T1S|EO=2+jv^IuC##qDTfNzJ4K6;liNeOz3G(!(?<`u&Ic z#2#0(+^up|u0Kawii{ky-cZEhHrqWkw8*lUI24VIRO7+dUs=NUbk{RZ zc+$X(0_I9 zVv>)o{XN#1JNCl~A8z1Quf@z=3h|jb=}n-Lx;tC-X^$TV&iUy&N=~uN3&crGCYqZ- zyJ3b;W3??i0v#~7mXYk*-;r{IjKMX5XMC;xX}|X~EKQ!++BOl1Zevn*CRS+*r?kOl z*>;Z^nZix1HFF9NqY4sN8)9b;8vDXLP3N1!X2JqiOx)y1S__1`yVHl4c7CRHp>Of~ zT=5c)LYZ+i*6MOpg#s`gjc2NFrk-@!d#-E=Qy;_^Ndz=ys2+cM2dj58E$7!nTo+0& zvwQg|NxLTbXa()zXL4%;Sd+29;6LZZf#b!K>6yn}kOA?HGbBkt`Fkfgh z9O^jZdd`(!%5mm3H^NxvW@n$^I@Ay;F&h?+XGMK>4K%HH{&nZ>e0!3RnCM(289r`KF8QMT z{kx${aKL!}{F{XW74#6yB&NVG^S^)n;!hZF+}s($#Yq>@UnZ!Srz@>k@20C%OqTar zs(>O036}n=V`BwuQ~r*7ZgnAi3r$7>dvBFgxi>|G^AeMrqEakPpw+_hrg2w4w1(Vw zbNgK!LUgYmXNSxaKtO0XEPayAxJ#q5Bw5)7SE7s}tP)Ta4LbvjA6Yl6-5xbnHMBZgdaBN|KMJ;>Cjw?g%G{*<@TeKmZH9t!ysdb%3tp6<`B0I;$gVkMS@VtHsJV;ZaTo=GPaB4s*OWARna>`t| zSs5ONuYb=&VgMUVxIjk*@Q(YQo~Fy|zKI1-4iEMvTo$AByZ)5q^h9}FzI-$@U$ZMo zVJ10YCnD_l=)qeo*Ps%*rmy&9r)mt})2%j~i`X?tp2K(KdRVs1^#nD~P~<7MI8da< z^J&0ms8sDku2+Yh#lhw52-t1p!Y4d@QY+ zNDmHp9P{;mKQ1(JVH$y!nPi^>G>M+IRL*FT@P(Qp*do0P3u`E`fq#Nf#~q=D4EPtT z5m+Z^@MPg{3$(n5(3{(0EUQuX$zvtnhj!xMExEd=JaL2#?nh%O)MbuZsiph!okW7Z zZ1Y_Go8NZHjdyipKa9<6&u)#Gc7H4!!)`=i8A~U0dFYT2rJMWfoe!D;+3d%QMG3nJ z9o#(d?O0fRd}Q}HlAy(9bN7vEQA+u(+%*m7_u@SSHWWL_3>U^B}t z-k(;QGo4BtMOu~& z8fnJvf0CodmaFxje5_cNT3AV)QanOxe4vk{eQ9R%R&vFKKg?F=;zu7?JX4Ld2vORi z!er@FMxOgzSlG*D(G{KbRZ#qM_y*u?f*$nIJ|7lR+g|GDARn`93^g`k>Q*1SvLVF0 zsy6h9MI7~b>Q;sK$K8rYX!1{u1>dUV9Lc($n^@t@(+Hg2#QQG%i9m zpJr92wLcke`mTregA@&CMF^yS6+_CVq5QDQW_U68F9f`rb)WtsTpe>8cNnY3Uhg!= zr#!H@oA79ZI?wAZYm#RTNr!`n+$tS=YyL_sYn9mruS|zYt9Ps3(-YRouZBHe82mUj z&!K@opFX~ArEd>z%xi;B#)^xIK5sYS7Es z6z45Y!apPd#>p?jgqB$J8V*%eX=vYgO2Kuo65gETD8^H+gI(O7;|z5`AIoD6)vhG- zDvM{VVpkR~mZatn=DhyU+CO0#W$aJsnl9iCKEi@V$}rdFVH|I%hrnV$55N zjYb+z6V&jGv&d!12y_v$7K{`((_18_^TiCY%#ldOw?T~$b*@u>9N|>gf0t(e+jHd3 zpaq~7+%kfEV^VLS=lRe2X)wQUWuQh2-3T)DzOzaHp-u3cQz|Bw8vQ$2SI^AtjTmh3~I38>$67S?x>q(QyTe_21(y zp1Gd&)A1{PDP;J$BTZ#MJ@9*)Yqkt^xmxE>vY1{an=6u%**2>5)HdRnhlOlTm@c$l zM|n$gR47fJUSox;C8jLo-pXuUbNIrjWBbePS2J7z@0kCLiJEfP_3`4%XT(dqt~>MU zwkdJ+T73#QY+6zki?26tUH#Ta1MLoF_*TK_*sj2ntVk~`YIk2YbYivC3C(GG3TrDM)M(;6DKK3jJOZW61^E5m>;`TyE$Dz5VQt#&&rY`G5{{ z`N3N)BK*A_{c;UrRvMGHoD{x>ax5Cl@3ma+D-n<>9G4ZqDmYOLSwpxR!iYu1#ghwJ zDMlX0h6n+QT#d&3H#gw$(IQ8R8kYzKgiB8_jm)R58NQPJbIppApu*6gdsijw_V;rLI-vVQ6|qG zamz!$%NtjGL2%xhpeRzT#z*brldB}pOx^KTAU#K@uY|n#WWXB1DMoZ($L0xj@n7Yz zk)@wS0Is}1<}qGEe<>{4gX`CGODPE;1XbgKWl+3_F-XUzWS}4 za-L`4gQIDP0R0b!Dq6a_Y4FhkEgAwpL9qJ*u85PzXVkUjx}?5{s*sy8 z6~4O(-x%UUMY6{%IOi=}SiZ)pJ@TQ2IVj%(1`!(@V#vf1fU>9I&A|>(5l)ah)fkM= znBomej@o~BA+ni1LRzJ9j#h&~zxTM*akEj^1q$Ajwv8Uq*kp%Jo+Qct4@hu$aG-Tprc6^5fNjhg&?@n#@ zp*I(0ww%Y&?$0>oILo>Ml-%F1<3{f3T#RuUdv2So$lH!JT^kMzsD0}#UXvk+2^X22 zGvTTZbGvJH%xgz?f&YzPM`igP_fF>dp;0j=tq3M9o8`IkhH8WK!SEB)E!AyLSKuB1 zyAr+yk0*BLcoe-@+x2>y2*IJ$v^1r)5qOwWE?2ai*mJ#s8$CMn>T{y7(+6iH^gths zqe>6DES#cPOb^Nso6GcqOVuFkgy6U4<g0@aarAA5S=|wbberA}{V{ zP3SK^A8~YjlAVl(Dy{g7Y5u;qrDybNzy!nE|0&!>U!35wBox3>Y{Lp-6gq-*YOSnc zo`wXz$Mh%Dw^Yjrxt6o_Ri#BmwFQ@EuZ{HfrZJ#obj5|u&!u313MtTeV}U|KO6tqp zJe+3xq$|*LAu8SADFMIuR(cQ(JMg6Vz_f&aaz%MoAS*V9&HM*u2DewfkZ3Q5KKww8 z-qYPR`$A6uCn%Oq%xJEadsvqz6J*Z8abp-n%E7osqW*Jl1-N_%9+3dC-IJePVR8wvh~m_UFm~xcz=tg5R?@^+W=o;~?gt7vc;KaELLqeo zZ)O$pJDiAt1Ngi7ke@y`E0;zrOuqXT6 zzDAM$#-%Ty<_iMeG_&=SDCGIUH!H=5S#ilTC_=ibQ0u|yaxx-VO=>FU;~qlIf*W8g z-F2!j{AZ`!uEmjz6G9U2wyle=t_x{JecXNN!as9hl1v*-IrC~;N|!eHLDjX_HHt&^eS8%%dwnTmSG&*2 zp6qCp@Xn~~)5$zoeP+D4?%1Jvu@La|@a;BbE7f)IFES@S)&9sg@lba7op zIwnA@pA)G1Nq@9Oz!hlLPtqbyy0?fxTQ#MupewVN)SXZ!#S@gT*nk*iK|pg7igH zga8e=A@JlGsK0>M0+^HtD5`UUUao0S(tMFSLUBI5a(tV;1*QURv>lCZU>k%(a1D+- zCj22UU2s&A>h{awgGxwBffRyvh9@c|hTC6t)Tij294DOrPD0+hTd8=*DhtZRwG)sMNW?5jJv3P!v}i2wgne*S5IHk1K%F5hkK0RndgS0ke6{EXyt06*aWagAXqiM#sY z|E`rfr5m{6Qd%VT3Fcm}L)pWH5bEnyA~&k%I5lbxIBJv88@-WG)2=w8;@mr z+pT$JH&T<4Je4Jho3Z&NCj|$(&716ZmVyLkGY-tMt;;0*?C@n-{cqnwh1NYka_c3u*x zsCs)A#J~U!?#+G=r0)s(pg-3i&+2^&byFGvX<6k0N(`;x5i!xn1uyPK2dTu|hq}|p zXsKj5sNn--)h!)Z_S`XNIBJ`Dq8r-6U@CIWcWAgs9I4)viRf&AMHE?iSMxy^M9gGs z)6Myii)0MF8@P}u_i+c*{QIymY5f}6bY{~M9y*KWi*~KT@mf-2lcYwU%$hNpw>4VU zPKBu4u09{}nmVh}ee)Rv-|3JHuS%N4i@#^!j{vSZxbd^)dOxVUL`;7%+>t=3TOaRN z3S{C{%ZML$|Jk(~P}PZjgEUgAHV$$A{4s$~_zY#xvW?&hx3($*cdxB&JNnk2b0T9{ zq|Fm`IZB4raL`C?bn!yQU@*k`;_}v;6I4>JiX)$Ex^rI6`i*q1%if217fWfPw+?Lp z&74#GfP{vs3mdFi>wf2V5n9cX>`KLwkPKwZF52n5ospFZ$xgQ2)#$Cv{F(|&P+H!6 z1!Y@-JqRTd=dHWOUg6?DLBrV;jFKemMnyLxZB5r4RxZ4?pUz;5v7ChIL1?uO$Qrpd zJI@$H%_z~c!8E|SD4YNE*8cBrk^U?gD=5K}8+ugzfBsazWM0Dt_aod*j_veQ-C$Zk z?oNZE7@uPSSD>8iom-$1~?b8i(B1o0__`61%KhvuL9WSGAKwy85Iz+up z0i&sOB)PObi_K46p0s2A*4cBr?~ZGa%pDW3An~b3CE4p|&aRt^AKmBoz@~+4vrQ5P zexfHb8Kz_|B*K17N3h58eVeP+E`dTP5b+*$h8>-r~*y zFu`t>J>Re}r~!Wn==O`8-k8hcPq>mF;N#M+M?4Ji@Q2Az#?5Hz^ZExp?zM~`=)5WB z^D>z?kX(M)L!L1%hC9SgYg;2EwVpxb(yWHDKhjyKXbYVi&%>(;sD zN0HBEOoApr5&F1pK;=1@UxF7F0K3vYXf*oaqkoEI>yoUD%wIjfRr^1tFFSFjNy*7Z zt_)#t6#9T@n=NW`LD{3_e!p*C_TlC#5Tz%zVR&~2QxTNX8eFHIzsD2Rt8J47J_hQzVl4W>7Z_! zeq)x2)t!#^b_s@G1_lOiR={@Oyq`a#+__yzlYYYS>Ya;BiOqV_aOQbFUc(O4H=0>4 z`w|>59HUO3%yO#fw4`$szKH!zB$hq=OUFru$A)&;e`A~QIFc*F$-yzOLUoMSd$N&i zhByW#kq_Iu6VFjhfJ?_ob!<IW>`?PnH=&}OwL!?Fq7>4`Kv_nA$Fu&6d z^w(@mV(t>2d;?}fDtHW?!oEpQM>+Xu*{D!2LX6C%c`adVgLjYEEPwrCx}{vj`nB-s zt3P7ld|v!>$^6hAF)|>X@kF8ov`sQ0$3eJJkq=`HFsct79qIUV5^K#|M{mctSEhcH z_Vpn)a59;7!9gQ4E9(jv72@O1!rABHvuD)ca#8`8B5cZpD*uWippQG?@)Rncp_^82 zr)y}|na-;z<{b3d87y0*H~a0`*-LEm`4iUnGx*cOg}td-s&Bi$4a%0^dT4eC{yU;b zh&VlF!W|ApmaRofUy<~hGmWJGrvzw}ndHUvei`YMZScOKnED{K@_0!fUR$i&iSG0I zZr?F@@Pu07UA+$@Jm-#TbXJprmTUMq`}y^+^-<~{T)Y}_TvI8U%e0@O$CsfzZnm>m zZO5gR`45&S?p!KYf3x!-U36XBRLa%(cemCax(Bt2jxGo+H8kWoe5jtdcHN~Y-oEA) z*6FJ>CNByCke(q1e>!>nl{ggNmj>VaEq#C~F78*Lm*xBFv!fNhu;+^vSf6zMKzgim^P~>~9-NbK=Bj(V6`c z8S>QZ6;X543jiF>3VZ%tT?59Hl#S$jAroeknqd!yFZtjbjBdj{cW!&zQ@Qp7tZi@% zhovOj+4MBkjhtJeGvb>RB%lV-1B9r%9%r6;Fy-3cdne<2BKg!L%ClqHmE(NmPFukx z)id|xQUvlq%igpFwF=xhBim{qdAfXyHI=k5iK*CS@U2kN>xqH78LuBb2KNHfXE_25 zX;PFNh2q_sJrzn*jyP_bXtV{MO}P@bUKeqYJ-p0Zru7DU^ZTU1~+KpboLXu>Szp61`I zc>Q2;ZZmYybjr0p_Ue#d`dc6I9QdFG+^e=UY*)Wfp4D0%|5^6tNycv85p4MlaU-xd zJ(Wh6^!`#eVLEFd*Wis6j>jE^m6ernEX#g(`+P)8l?RbI9n4Hri3U3z z6K(P-KdRXc%5YXzt6}n#HN=|~$lojI4Y7l*pr@XDyO_qqgR#?|Ys|-2qs=eZb6^SlETw`H@%YM5v2EJilxPb zy=|whL0}gwl zx`$a{-~Mwlb1Q-NrQi6P-hA1beoOK)&9Bu?&f(kwa8eOv-tP+$m5Pmsd{5)E;@JED+lV_ zuZ_+|wN`)=b~CAoJcUmzG}tvVqB&- zS{!PzcBv{rExKIh_p`(XW^{E0mzLe8ixTh`19`=#LmJ}`-@Rb8{kAq?5dYMd*Qh*_9BZg&W0 zy)A9A!HoPEn_)2Lz}7URo8Q+$^hWwl)R#v|)(l@i&Z&qw9)8qZ+6o=vt4w;T7H?N! zTztpA@oHxZ!=BVMnXTyzmQ4k>=1G;g9yG!kt}nt7_H{c}i?@4pH0R0OdR8L#;!xJY z7Q_l{dpLXt*!?Q*^iIHBuxW9dTw1(pz?=t`aVMNEzz zObR2r2s2_xQUS>FBnjlk|HfU7;yX*f`)9qA@#5o`e-7apB|hpLXM;}^eU4F(@{*C&$R|C^!SXLx(+$z!@w&s0`TYvEeq0|IW+ua&yW?Ez^5 z4t-bFRA!cjqXHTeEnw@?fp{USnqeyjJp$mwjz&RWBsv+#Zt29qjwh zpY5>N|8V61cb%0v;4AgBHbh*LNP(TnE10~Hl&>Bph}#)qesw6W9mZcRB<}0(lLv)8 zUi*QyZG6-Cwg`t<`)WPY3Jd8W7t8+G%F65TwxQui*_t%b6F$YshCT#>+~EuzwP$5Ebkc!o!|_( zEJV@Rb)zds*&BOGz*0q3^>&ilqzW2L1nuqZA7RG$aVvFiltDEUT^n7MKEFmEP@j`* zXavbbC3WT2KhTy2k~KG)vMM+1?%lgZ$&Tws@(w0!G+mxrTN`lP(*L|{rR^fZzpjG(?<`!3;&ILwW52)(M4wYL=wEE&@V^vonMBU~Xfs zStWELeqqRhc|KTCmEed26TsWm!LFLgDj28&WTchf`|jVozSi1yCFdbXun=2BkIhwa zcz2NeSbynBmJYr$@Mgov#)a?u_}YCxb2(JYolCBNP^(UIp9^ZkyL8+0=_ICpO2AOxaVC&uswTo&5|5?+RBs>I_*WKUW!MIZMaOO2domkJ(d zYu(?3f7eXLviaU+@(F7In@bOiZ1Z}ER|k}4Majf`I6`ff_CILByK zas&Z4Jmyxee{l4_V_?1WXAvq_7e5hp>b00I*}-m0sT-|D75>|%9EsVvq6`9F*U`=P z^NQ+gJNT}&_e!nBki0wU5#gS2#qbeBkpfT(nLDBaDWkrogT1PN)Rg+n8qheOAq z`|Wezdt-RV&~Z@_{{64D*P8R2l$NN_x#~xZd8!B2wi(T27eAfDSQ#!zn^MMAq-Eap zyLgWF2EgrJ$d>PjQMlc*$;xjd1jsEP-TLmMSc?x|UM#!CfT>uoIsojA{?;K|)E-v3 z(y)mAu(J5FnNtMyiNWlVx1vA&f&0W{+#)>ZlSqgS=*CECkFR`=XocQ3sz&@|~HR9b@Krc1$K8{Ch)u)sh9tbve% zByytoYLwBU<9DlH+$2o#LZ)Ajc0@sre-#PXIygY1G~2}=3sX5)KwNrlOcCymMsaF8 zk^6q*cdv%E>H%hOs&*+p(y7%f(Y3Ee*o<+r#{r-aaI0R3n+aEB)g#=}>r1Q*8^HYx zWt}8JthSuMnX3c-K+rb+>yj!FX*gtewhj+SvZzaz)U!oG0N__FigjMpYv<^civ*YT z?hv5EXrDyof!7)6#tzf1I<)U?RYiqb zU5l0B>juX>M9aViL97B0j>8e7)>o`58^iIE=x;?5&LFePKx1e32F+y-Lh!h5)B(jaM>u5bsC1I0$B`?UtqcK>Ak?#YL{;$rCAGu7dO z&foz|(uM;K&faaSs6$-@#{O-b?7y>ihaa$3d$IdD9h5-HyOtIDfO!yCMEJ6dZ3}N1V@}WVooAA~#Pr z>YdPzURSAcs;q@%ry>~z8(|XdZtVB2i{#01Vkj!GY8-~FwEe*2n;-|1JC)NLl&3Tx0cO-wTUX7orl-=uAw5 zspe8c{a2&ecbnPlIbG5Ne3k#O=3|&HtQTg>b%M8h+Opc3c(;D;`?VVh+sah$h@?P! zYiYVaQ^c+M&?0IJ>XKVsG8$`Ass<+(fle08&;HffkOj`)u8`>0lE`A%|7-86+-|>) zz94BM%#iWZxdU&Ae@$-X+W#~&M{d^vop5hdyYwfW3os7qzW(qD-M$tqDvyBhfDC2A zuUR3Edgyp{a?d01rw`Xmu2^&%IMJ|FqmjkM{iowd;>UNBlPpB@MurWgostd5D1YuU zuB5gllvFkHn{&$6G_A(IR_BUi&O6=wr>47goX3aI?(f860Vd(*Wl_yFfWO?|!3Tzl zsn8630z6EZl1=QoLTy_L3|*6m%~SDH<&VOpr2fJnL7l#}0)@D;B{!_vlk9@|wa0yJ zxS>*!`i<%!#eh8r{_6oBYm^$?$JApHUTaq1=kdQ|La_QgGZr>rd5vnUioJ=PQ>dw- z{`~n`Q|og`%0?S5N|KH>x3G8=CZ6-sf@4by$^B`h%dKaE^MGb}aL^=0+tiG4k zL@2@8*#o8w;SH#C5UilXv~3k9XweKO?RHHQc0-#^78c9!jR82L*J_Dz%M%>>0)`NNY}LlIY|hSz?t{DPjObL1_n9SNAaiU zk28+N@Q66$r!#3VU*bFk%bksj1vSG|(B@A~74O%qMT!`Pn#I`>dzyxLZjmMCDqW~= z-LgbpiXGX^uM`E2;8@RJV4X5T4Va}?dmbC7bIloehsC#Rz=b<{A96VW7bxA2^*x3b z0o6zo##B*&glBN{AR5up6kv)aO-JYn%nuw`~i@o+119ENlszXKjQ(Vm#B_~fA zt;ku+ga}U&PfxE@FAwkS9aSt=lbnqaOSnUET?~qlTsPnTp^;Ah{RR9sS6nwGJoq#( z2JdaX9R=8v$6iV;pBs)-=6MvMz5%XXuokX89U&jqluU4D1D6$$%K?r~?ClardoEeD z11_e;OUl~bsNOYYa)yTyD9cwnRUXlVbH7rit179~a7l>czKSUl-GJ~g-8n(vJn5;6 zB5__P9XfagyXMzU8!B?5q6sMM+qlNHkA8I>?#$YQyFvuRN+Bl*15-1D^*sn)ML}j5 zYuNB6FhZ$>w$+%FW&yDniZyh`&(AN?Vc>TwEdA?K&Boe|O+<32qO*nue`uF^_s{j5 zv~j>H1!uGp|7Fb#2N+D~<;=6s?#-aJTFi9)h$a7$1X^i zir=IBefJI#UH;&3;xC7P(>V)M3ADYn;fX^F=a)Ib4KaU>oD3`!jyDY`MwM?qM{Mz3 zT(l9s^?v`v!L&^#B-MX<$6#eTz~{x?t>4ZO+`%{o!uQBXuwLC z>>QJ{UGjG8jqkBZm0kc%W6`Lz8SINOmTnLpTg$`@@?;!t|DiGUV9kec^wxVY9(}G7 zC-=NZ_JQrfay$=)-w{|d9gH?Uc}2n&=qegK)Qze}ed8Lbna!)kroc+$zsbP$_A%}o z{oy1>pos2q2lU=;DSRnIm88I-8jhm&WR|e}glWih5d2`OBoXYkVTYmaI?-d|)gtlE zuUGTJsGUa`u0!yMW%4w0&La!;QhQsZa6)ja0S~aiPaOyziV7nHl6a$K;f;*FeDPdz ziC!R(5pqC^Ws2(x=10%C(}IO~&GsJ_WhJOgZovfu!Q^=X{(OOJ&tNTeBYcGCeb z*C*mCgxg4nOo}O#=~?7w^$xY#odIBi`s>pAII5eHE>bNgxCz>HAktT@y4O3nx+V)B z>X#(@v`H^*wIx=>xbC}l0{l?rOO22i&KD{0_nV!)C7ho+jTNL1wO{{E;Szs^!%Nw6 z16G!%rE3OFeqYFj;2;y5s(qeQq*Zs*ILVO@g=e%o_gGZN%M=U~S#_00WxSGjvHNnL z^LqfX3mCLgesqf*1-dzF+rneEm{$d#)bg(lOC@wetqhfwko2%KAE4@stOTakJOBv$ zWw+*Vw*fi{4e`_D{Lh|xAQji*X29>Gib|9=iBcN=BSjoi+z{Y(Pw92$cp?kdZQ7;D zh!Z!XuJENXiPYq|eoJlEzpgv%L(*J1T{{dd^^H!^mBW_b<(EpK15U3HvxI5O?`;*9 z1c50IsEgU&7+DE79Y0t)=(`Pxy;njvsuEbW@nyx;UzqKB7$CeZk?ymI@F*Q-l9k8d zqSkHF_-I?U`5=Sq|M(pkHgG3;M&}U*IF`$jW?s~!h zlLnod>#+JcbjtaDFy=ACL;Fx1|8w8523d&Yg28?&)VQ-At>HC{OA2hNzviP|?5PlY z^7uUq^B0XJ8!L$y@qcE)%nYtKN?DY-G8+@MSJ!*}Btr6^Bhm2Rjs1%~@?pRtk6nwpe;I8?EvBV={ok;m zoC=SP?J&a5p#0$TxdXD1%M#rrpzkz!7l>s zWy{A+<9TKV#asIyvIUt4a}_QTysC?9B8)r0-IfF4Oi?xm%8u9?MLJvU)ayo_*!JF> zx#nd%nNUn7I_`kn4{LiI(ss}gD0npLO4S?Hmpx*=S-n-4zfe^! z9w)qKkEW;WfCx+(VfDnBf7{2&*wdtsXMUSKeF zhs<3h!FCYz8uU3~m7x3YRN-OW8TLvW?(2`)IDU96U0_Ue!AGo^_nO7emlB9r@l~3B z|4zx*-p32{eNL$z3qZ4AjjmZ9zM=dJ81EHW-c){Av7uotn46vb0rVh~1VB!-Ae^gQ zq-kV?H&`^=gEibdJfA5Xnny<~ zEmbWHh1X;%0~30vz%~{v`JIAms3|DWfk(9dng&U*E5wi8WtiyPvE-$<|nyjg|~p`;;a2 zGNkHemwWbiKvefjvgM}1)F%tC{;Or5dJkq!J$D`oWK?wj|4FlEnMMu9a};t7b6lWP zw|?ir4K;>NM!QU#j57l1y!%V!}eD`-@dFr-y-M1sdUR@>DKcd%U8un`L}H z`B4aqh_V)CTC>2qb#|iR81zNgWrI?YHbGG=g?Npz;V*;V@gWiq2+>(XpzGN(2hOmF z@3~n^+U9+|kIBAdUc~O_ycJx-)@gh!0uwR781O9=j8?Cf2TC;eaC_~$Vr^EW@!a=A zY!hq5JU+V6x^JrAi}53WSDnKqRyQ>?4wH*dIl~hk6Q$E9D zS+7{z8BwczH{^c~AL~5e6oVar#iVj(jt|c@sssBByx3_COQKj2mDZg1wd2}ojo%Hz zMaMAY>67%S7yBJ*OP8K6SwY*d>NZ}1Y8tA7nsvws!y^C}y%A|#lT-RVtzTW~a{pyj9Mghsi5{!@B%WeV*ZO0$boe6b5onT1X@TAOu zC zVceNkKT#0p?k)C@sx#Ac=}UjQA=HD7jZIU_39Ib_<}Y?sRKYlY2 z%x8GhwC1RDOux8xLjQk9%Uv(0je~k=0_L6er1+n8j}|B#9^E&7 zU^i*m3;;eshR6NKZ~W@^Z&6qX1sdP?w}L$p@UT1r&DVbOv3k+X`c3XJ#c&*KQFVjs zT!N(2@Y%ORu`Tj2W1muc*LwyO+nE|nU_}oE8s(}g1qTPNchygU6lo%jVcvbt4!Acv zCniV)?B~O?MLk5e2R^QyF0Zix%yd)J?27r{Ig~zDWk8@pP60kdRT$N;0#OE5{G0dcmPW?a^4d>dRTP}oOl4{=@gAV?*D~?<4CisNm!TjZl#CjW0kz? zceA#|yzuFcs7jfOD&SBAq%YvedA^NVA`Suza-3YnrvFIdV&)p~YP8+{nUhRV{3afi z`%>dv6b6UyDtu*Uyh;9On2H-?w*55u;P{B?d;v^0$bB?@j>K6j1i_qwErYu4H3*Eo zVfinQ(E>KRbNHw4-9%M$-?u%*_)H!nSQZkrQ~{5{b{>P8>2U5OzUsjR2>ycMSS^4b7WCJ9)lQ4 zGii@0i!O_SI%?6C&d}O{Mcq6wX7FVXKG|(dLzPMG@;s?$y zLcl@=xN%cHT^XZnQ3D1;3KTH;2+O(CB`0n_K`^F{s1y;v?r zeU*(jqvj`XmEqYO%gO4R!)}2mc$dfbl!A&%?-gkX3+4u%{}iDTJF7^;SQ5KuVU7N@ zV4%cf6dE1peMiSug}rP5xfBox1+dw9aAX0ap9=|y1+!d$$pljwi?D|KyZ;h|!S4lP9iSOsNj0+nkMTH*+{GZpCrGL3X;lCfm}mjrUK#>x zBY|6Wgq$klst~ZFiAX;;r*5U2t#vn|ofcGb+F#@E553;ai4D34{#%tMF1(EY!d6>x z*v;tpdL1gigm!7C7K&G6@?mk4B+y>@O1op4=!=rq0X%C%A#d>5o3YdGcD;>=X0geQ z9W-5}8WSCMcEw8|q&EbiFBgQ|p%9{);8sT8Qj6peT7YF^SXi&`y`HMtYD>L|p7sp7 zMTz4<0A=S%I^RXu92Z{lf3q5H4P;z0NKZB%G5dP+5Q*AZZ6|b~EDnn1^ffH?U?hz? zR{Ef}m!=Hs+)pQ{;Weg?r(yar5pUy9cl~;dBLMF4bMzq9N*E*MvGFo%@6+X7*@Xi{ zj(GhKSKj0@tL%pwn@q0{aZig2RHog1@f9-|T+JuuKcM0Mw$PcDFz%DOr5|*#u^B9{ z;^gw~wdCPCcEsZ=w=pw$rfv<;M)`wkZ+qZhn_VDremSX~JV|6MxipmimwKRf1QQgW z35F=7o;YS$dgp}7(18Zf?wiOLB^=qk0*Z6reJ4|EndmfeAkpEgJTd+(oUVye3HcUIWNP9Sb6`}5| ztnm?$m2`7z7Q!V*9VX!X8kT7;1HT__p1sUkQm$gJG|u;qKQFaESpIbfQT|Qy?-!q~ z4G2I?w%WGAh2gG~l$7dnHcOs9Ux>*BOgv@XVHE%?E*bcG`Z*dNAsIiWX>bo7?cRSN zr%4p4#J^aH^FMhGIvijxKnK@XP*g$qwWio;jq_rw?t3e%qHW3il;}rb?bM@#$s^hfbbfb+?VTOaiI-h*r~eIs0*Ao^ zl%fyMt+-*b=3l%FUHmrke4^dl5(Z3%X~O-pON68axfDAXcI5ro207MeQ3e#)aFzNi zgL1_iC{(9cHJ23ViL8X={Zw{rc$#~-RBiYdlwMr6@Na;KB_Kl9PHrm}$6q#9zy=WH zT<4tL0Om!-A9hCK1zz9K_j+%}pjv+=v>|bGhFK+XuL}OveoR`UR2^wixz-r0IXvtl ze4eh_wD>~ZE>FivTAiPc{ulQzUi&JErjrunXKFwbG&)E%jJp}OyBUy!&mgkZMuw#r_l*2xj*usd-~(3nk|La>Feml zUIl|H5_};7lU^^Ij*et1pC*`_Ds>FB9ICN|DvXMf?9bVmjK^^0=$~hO#Zz-YpfQCw zfoL=U+)oL!1B*WkuIJ}3c@Y>XND@$9Nl6KaR>~1{mhJ4T1Y(NV4GN56pb zMMGraB|C5zwVpk3Ru7ZOJEqTw`xs4vTVKtQ;&anD_hu`FO9MSi&ws$N)7iKGZe#I> z>FMG4t75k%N}pdcm-$8_#0QugT+Nd4zjIE3HcA)DdIH*OiiKzSzft@fY&I5mpkY@vwQ%u3@)kaHF~Xzkcp;yC;H} z89=SaT-076DZpMkJflXC`D_ z>0{$Lfn=JBIotWb!26$NvA~NJD+@QCh#K!2+<=03Xsibh{NUDe0ziCDI#ja{RvkbA zv)%6S_|0aslUwJzPh^)A;*hl-U@aBxw-mCu+Xue6NtYZAkd}AgT^F}2S>?Uc)3ik( z(6*<*ui`nxezow+Zg;L;LmV#C1PBGQ5%p0N6~&j*OKP}iIicfHTb5Lp*CBuNfSIEC z#8<5ErgUdA@ZESfqWKkaC+Ynf%_{$S7U|vhh$N)Uo&b!-dy#<9=ufRM@?{@v^1nckh*RB*0DgUKM zo9Yw5fv;dRJvmuw4Oj-x000X(?%(+L&yCo$s+jKfh^nUTu+sn`I}aHT620c5r)S*Q6$M~Yr=QbT|j zno`*L&rf@%R_WZ*;S4H}SN%O_OE)wIE9y zcor1MPlSQDR9q8mSGxu?4q{R{4D&s$=o8v?G{lQ8rjbHaBrzH|AL{Bzt%tKZzyk%W znGwJDoA5LwZ)=-mJ@;nofHwmro&s2DDh9?ID=UZdRLKEXaM!OiVABVzgngX=bZ7Qb z;aL6-!2f{nB^rD+k=-8dP|8Tn-g zf{(zpQ1}83)_tCz1sQ92!Til0e7}K)wg>nGwDj~sklJdnJBU;_3@FQ;y9@T813rGB zd!JnV4UC3SWL)m+FClJg@zyT01$qVsqF0&u{UeKGc)rm`e(gXr4;~W&YOzh>`peg- z!#Qe_CwYXVua7&cH*Y*bra}BjxMa4LLwk|y9`95Blhe?{+m2Ezh-L}jq z+|E1fUT|TLWuOCHd^a0Epz8j2mg=UudmM@J3%{s|VnVC2ZKx4m4E7SV8| zqDq$3;OZ5^F<|5vbjBWP>@8e!9}jt1=)X!w8}+cCql?L97I!5k(2Kyu^tqP-;K-zg zf$O|MYaZS`OK&9(SZLh1QgSOiYP2Gs9Dysc1zQpz*nCr-_%_njaL$okOXU zPxB9}PQFtf&)A6V%+^kbc*l6$iF#pfiS00mC%>9v1>co@&r_XWX3w_TjL9}7Q&dc| zbR~u~5YF!ClRAP=gtNPM<8F4zRj(gs2p01c;$`9qT?cmVWuAF9F9CxIpfv;g1kbaO zLIXkQ&dv_dg#y!-mXT4pOdz^2Cii)5;rY5mFv%~uUX6e&5Z{XPIyD4{+XA}({0Y|1 z-veC1yv?tg(@2gi@O%M_PTfsH9M9GK*w_~!iYwP_neZ1u=R=8PqAg*W0VUdkaBO5G zFor@fzql9+9KatOgVpYbemVTcX%2^VWh2#`)7%90!cx;yhdj{pIWQC~i@6YyX`cOM z2gB@_ojI=V{cUDHWU)I~Eb zKK0KlDs8FVf(C$fooze3P{CVhJSTn;xRVIFqJirV^mPj2!jU`#hd&{-8lL%#Daxhs zd%k}UANBFS`X&y02AzJ;be&ekSmQTn9-LQh#zLZP(NtHbH`)8k?&f~C#mCcl(oOJY z{C1Vx!YI;r9q&nE?^|nnzJF<`Ma$SJLVvWff<*!|m#gyf`sbdsG7Qb}7Y!9DDdvbN zv3eyj4M7e^4^au$8428!;!kIp(9F4OtjL3Uc@sm@t8JB1tzBu9mT0HZ+ zeuUx=lFAP=mu|2?d&hU%e6bn@-cRi}m&YY99LPA08ytCDmZ{sTni06MfV3^R7EjR16Zi|ofm#JSNp%E1?`Omo%Ues*m>|QGR(Nf1{iW%*3oK-x+#z4Nm?Yy$Q zH&wgQ)z9pU&lm=6XKZB8-md$#51=OmjivOa=n3mC^5{cFD~Q<%g-iufAVu?Gjl4mS znDYeJ*+>K=Ap%iyMQ}h|CNR-baGbcdsD}DWhDt_X9r0%W-DEbEdb(YIuLor2O^9+3$)K1S1lhDXwNbt>;2QFFSLC-kv^SL;@qnxR8fPTQQnfvy)+;5tJL>s?|59faTfx zOHm=A4~XHSrH;3c!1pgQ4dDA%_I%c21knNyzqbIgqt@%!;UDqO&5tedJ}Hy0)SX)b#($=XQ49H9@q^zipEKc~ybpvbawpg(x%uu%;~&>BQn^DJjbF$5D*KeJ~&X{UeQ?XX5NteEgEf{)O8H&QyKWm&pWm zWJ^JZSIejJe&0$;6dGg87FRB}&IS-UVP=qXOlNXfldibJve&nb*6|Vz<_aS9yd<+a z$>lyM^Z^RU<)8->ikTX#*G;ah&d$z1fH9A!9s>>4(#k5mhlNHG)VM=WG4SIx0Oo-Y zI2>TFN<%1}`b^=t!k!y`xZOH9AUoD}aHtZZE(e^JT{UoNLI(TlBtL9TMIUap&i)Qf zj@_l>I)|nsP;!XSF2GgmB|u;XBaH)Kj)**%NQ~I!F?*()B9FQu8>7O5F=~^vnD+FbB|7$vcNMd-{yUcAup)ZY z%N7uB8YwJGfLZ1Z<=m}jlT^1v`y^kfcdPY`r1cOml7L2BP5Z>DGyTfK%8Ie3rbZPb zP2F5+8pv?FT_kb|frpA%Sx3G0=#H&Kc5QO)=xa-hNiFeYoiSJ0FE}rfYgtrOL_bf{ zuU=Rcsp`SYyoDchAygn72N~qXmmU)meE)>RHvt=-YqtJffN-?&}yaCLY^mHf-ft0 zkW*+CEUKUGH^Qkct*tHIy_3mGVJCJ5j)!-xdEOv3>9O27=y8{iJmu2#GWg;sh3RDq z#_yY0Qs0iP!}O2gi- zxnSe0N5x`R&pCL#6J!1OM44w|)d@6Tic@h;7e|FQVDl&fB z*(sy4`fr#vp`I{=^vybS9jCCn}&s^@9gEqWWHILXsF1bDb@*f?=&7XPhfOJ z5-$LT0Eo&i$U!Uwh$07-94t6L3od%118GOsAXi&7xL)g(>#Jp|BCGTY{V_Q4$U_b; zsRciNXkL#yxj!}4;Nb*$>*nTpDk#4lSKduIl@hg!G|%CfQZ+b#CW&rpTBW(WnKy1y z*gCX^wc*^DEQHml8*&CXCf3ND=CS!)Z4SuMbe%}QfCNdHS`p^!zAd>i@ESgBwt5^f zz`#zu9_Lwt@oo5dQ2ThHSifVS5APQCV}BDSnrs#c-Sge6C#)1>j8TgE1ftG*r{9eQ z-IaCOVF|?D5R;`^3Lo`FnAef><*mOo?jx^`>lddk%rKM*YDQm<0cHJ^=&jTw=tq%s zSnF@#ZUncOq_M2FLDG^N6LsyR#}K&P%YeR6N;!JqF3tzZxu5`Hy%oSpAnnScEEd+3 z7}uxnD)X*J573`}e-gdh2;;~2q5M8YX0bFsb?~qF*T#9dGR^Daak#73Fy^<7Puo>s zEnNIFuRl$x5)ROvz`dmvpaS8P2lx{dhKh=DwLlk5$>-!s_8GmKf(dQTC-?;FOhjVT zgw8H5qaex%d^1)m>KA#vCSBrQi5MgdEiNuHAjlLKA fl3g+T>mo1)3dcN} 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 z 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ț{Mz#q+mT|_tskRgcU2*CwcHh;Tx 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 literal 0 HcmV?d00001 diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/index.html b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/index.html new file mode 100644 index 00000000000..8351d2b60fc --- /dev/null +++ b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/index.html @@ -0,0 +1,5835 @@ + + + + + + + + + + + + + + + + + + + + + + + + Speed bump - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Speed bump#

    +

    Behavior velocity planner's speed bump module plans velocity +to slow down before speed bump for comfortable and safety driving. +In order to operate that, we will add speed bumps to our lanelet2 map.

    +

    Creating a speed bump element#

    +

    In order to create a speed bump on your pointcloud map, please follow these steps:

    +
      +
    1. Select Linestring from Lanelet2Maps section.
    2. +
    3. Click and draw polygon for speed bump.
    4. +
    5. Then please disable Linestring from Lanelet2Maps section.
    6. +
    7. CLick Change to Polygon from the Action panel.
    8. +
    9. Please select this Polygon and enter speed_bump as the type.
    10. +
    11. Then, please click lanelet which speed bump to be added.
    12. +
    13. Select Create General Regulatory ELement.
    14. +
    15. Go to this element, and please enter speed_bump as subtype.
    16. +
    17. Click Add refers and type your created speed bump polygon ID.
    18. +
    +

    You can see these steps in the speed bump creating demonstration video:

    +

    +

    Testing created the speed bump element with planning simulator#

    +

    After the completing of creating the map, we need to save it. +To that please click File --> Export Lanelet2Maps then download.

    +

    After the download is finished, +we need to put lanelet2 map and pointcloud map on the same location. +The directory structure should be like this:

    +
    + <YOUR-MAP-DIRECTORY>/
    ++  ├─ pointcloud_map.pcd
    ++  └─ lanelet2_map.osm
    +
    +

    If your .osm or .pcd map file's name is different from these names, +you need to update autoware.launch.xml:

    +
      <!-- Map -->
    +-  <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
    ++  <arg name="lanelet2_map_file" default="<YOUR-LANELET-MAP-NAME>.osm" description="lanelet2 map file name"/>
    +-  <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
    ++  <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-NAME>.pcd" description="pointcloud map file name"/>
    +
    +
    +

    Note

    +

    The speed bump module not enabled default. To enable that, please uncomment it your behavior_velocity_planner.param.yaml.

    +
    +

    Now we are ready to launch the planning simulator:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>
    +
    +

    Example for tutorial_vehicle:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle
    +
    +
      +
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. +
    3. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    4. +
    5. You can see the speed bump marker on the rviz screen.
    6. +
    +

    Speed bump markers on rviz:

    +
    +

    speed-bump-test +

    +
    + Speed bump test on the created map. +
    +
    +

    You can check your speed bump elements in the planning simulator as this demonstration video:

    +

    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/images/stop-line-test.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/images/stop-line-test.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7a36fc9198b39ba0adcb08266728cd02efa1fe GIT binary patch literal 486347 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 Lj$crKR%{ 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 ?&PfvVHQ-C~e~9ESCPTbCoa%w3 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¬P3ujoaCnmC^+)c;!yPLL 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

    bAY(H)C`5nFRmEsh7*s-nkcQ(7>=1VMT>}= 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 z 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 atl*$|yuQGmAq8@6)IZgZBp*6`{r>=xt(c<# literal 0 HcmV?d00001 diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/index.html b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/index.html new file mode 100644 index 00000000000..933d8d62f77 --- /dev/null +++ b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/index.html @@ -0,0 +1,5826 @@ + + + + + + + + + + + + + + + + + + + + + + + + Stop Line - Autoware Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + +
    + + + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Stop Line#

    +

    Behavior velocity planner's stop line module plans velocity +to stop right before stop lines and restart driving after stopped. +In order to operate that, we will add stop line attribute to our lanelet2 map.

    +

    Creating a stop line regulatory element#

    +

    In order to create a stop line on your pointcloud map, please follow these steps:

    +
      +
    1. Please select lanelet which stop line to be added.
    2. +
    3. Click Abstraction button on top panel.
    4. +
    5. Select Stop Line from the panel.
    6. +
    7. Click on the desired area for inserting stop line.
    8. +
    +

    You can see these steps in the stop line creating demonstration video:

    +

    +

    Testing created the stop line element with planning simulator#

    +

    After the completing of creating the map, we need to save it. +To that please click File --> Export Lanelet2Maps then download.

    +

    After the download is finished, +we need to put lanelet2 map and pointcloud map on the same location. +The directory structure should be like this:

    +
    + <YOUR-MAP-DIRECTORY>/
    ++  ├─ pointcloud_map.pcd
    ++  └─ lanelet2_map.osm
    +
    +

    If your .osm or .pcd map file's name is different from these names, +you need to update autoware.launch.xml:

    +
      <!-- Map -->
    +-  <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
    ++  <arg name="lanelet2_map_file" default="<YOUR-LANELET-MAP-NAME>.osm" description="lanelet2 map file name"/>
    +-  <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
    ++  <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-NAME>.pcd" description="pointcloud map file name"/>
    +
    +

    Now we are ready to launch the planning simulator:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>
    +
    +

    Example for tutorial_vehicle:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle
    +
    +
      +
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. +
    3. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    4. +
    5. You can see the stop line marker on the rviz screen.
    6. +
    +

    Stop line markers on rviz:

    +
    +

    stop-line-test +

    +
    + Stop line test on the created map. +
    +
    +

    You can check your stop line elements in the planning simulator as this demonstration video:

    +

    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/images/traffic-light-test.png b/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/images/traffic-light-test.png new file mode 100644 index 0000000000000000000000000000000000000000..4f231abc4ad40c3d5c6861c178d9adbe707e4fd2 GIT binary patch literal 550785 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 k6YR6{;I|>gl~LB|ntbUpE^jD{9uC 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
    +
    +
    + + Autoware Documentation + +
    +
    + + + Traffic light + + +
    +
    +
    + + +
    + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Traffic light#

    +

    Behavior velocity planner's traffic light module plans velocity +according to the traffic light status. +In order to operate that, we will add traffic light attribute to our lanelet2 map.

    +

    Creating a traffic light regulatory element#

    +

    In order to create a traffic light on your pointcloud map, please follow these steps:

    +
      +
    1. Please select lanelet which traffic light to be added.
    2. +
    3. Click Abstraction button on top panel.
    4. +
    5. Select Traffic Light from the panel.
    6. +
    7. Click on the desired area for inserting traffic light.
    8. +
    +

    You can see these steps in the traffic-light creating demonstration video:

    +

    +

    Testing created the traffic light element with planning simulator#

    +

    After the completing of creating the map, we need to save it. +To that please click File --> Export Lanelet2Maps then download.

    +

    After the download is finished, +we need to put lanelet2 map and pointcloud map on the same location. +The directory structure should be like this:

    +
    + <YOUR-MAP-DIRECTORY>/
    ++  ├─ pointcloud_map.pcd
    ++  └─ lanelet2_map.osm
    +
    +

    If your .osm or .pcd map file's name is different from these names, +you need to update autoware.launch.xml:

    +
      <!-- Map -->
    +-  <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
    ++  <arg name="lanelet2_map_file" default="<YOUR-LANELET-MAP-NAME>.osm" description="lanelet2 map file name"/>
    +-  <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
    ++  <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-NAME>.pcd" description="pointcloud map file name"/>
    +
    +

    Now we are ready to launch the planning simulator:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>
    +
    +

    Example for tutorial_vehicle:

    +
    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle
    +
    +
      +
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. +
    3. Click Panels -> Add new panel, select TrafficLightPublishPanel, and then press OK.
    4. +
    5. In TrafficLightPublishPanel, set the ID and color of the traffic light.
    6. +
    7. Then, Click SET and PUBLISH button.
    8. +
    9. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    10. +
    11. You can see the traffic light marker on the rviz screen if you set the traffic light color as RED.
    12. +
    +

    Traffic Light markers on rviz:

    +
    +

    traffic-light-test +

    +
    + Traffic light test on the created map. +
    +
    +

    You can check your traffic light elements in the planning simulator as this demonstration video:

    +

    +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/how-to-guides/integrating-autoware/creating-maps/index.html b/main/how-to-guides/integrating-autoware/creating-maps/index.html index 7ceef7ac5d0..6913147c19a 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/index.html index 3847d47b259..fb895b138d8 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/index.html index 43180987b23..eaa15ede368 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/index.html index 0b98f93aed9..5f14906732e 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/index.html index 7bc9f8abeb4..6a1b46e0d4e 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/index.html index 50de336034d..fd008fc518e 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/index.html index 46c3103e1a9..dbcf14d60c2 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/index.html index a57f8eee8d7..02b677dec30 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/index.html index 5c65084a4eb..f13ebf8101d 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + @@ -5412,13 +5848,13 @@

    Cite LeGO-LOAM diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/index.html index cf2c3f86e75..4bd4d5ee3ad 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/index.html b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/index.html index e475873f623..fef95444bd2 100644 --- a/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/index.html +++ b/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/index.html @@ -14,7 +14,7 @@ - + @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + @@ -5465,13 +5901,13 @@

    Contact diff --git a/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/index.html b/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/index.html index 95b59753dde..1e3d722c23f 100644 --- a/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/index.html +++ b/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/index.html b/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/index.html index 362bad2a70a..f55451b8d03 100644 --- a/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/index.html +++ b/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/launch-autoware/perception/index.html b/main/how-to-guides/integrating-autoware/launch-autoware/perception/index.html index f79d998c34a..56f42816df6 100644 --- a/main/how-to-guides/integrating-autoware/launch-autoware/perception/index.html +++ b/main/how-to-guides/integrating-autoware/launch-autoware/perception/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/overview/index.html b/main/how-to-guides/integrating-autoware/overview/index.html index 7d8e183c65b..14bf70eef10 100644 --- a/main/how-to-guides/integrating-autoware/overview/index.html +++ b/main/how-to-guides/integrating-autoware/overview/index.html @@ -1569,6 +1569,12 @@ + + + + + + @@ -2169,6 +2175,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/index.html b/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/index.html index 5578029563f..03edb294fdc 100644 --- a/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/index.html +++ b/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/index.html b/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/index.html index 7c99e5091a1..ea82ce766f8 100644 --- a/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/index.html +++ b/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/add-a-custom-ros-message/index.html b/main/how-to-guides/others/add-a-custom-ros-message/index.html index 9bdcaf0126d..0ae356a8e5f 100644 --- a/main/how-to-guides/others/add-a-custom-ros-message/index.html +++ b/main/how-to-guides/others/add-a-custom-ros-message/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/advanced-usage-of-colcon/index.html b/main/how-to-guides/others/advanced-usage-of-colcon/index.html index a4d95b20fb9..a32ec6317c8 100644 --- a/main/how-to-guides/others/advanced-usage-of-colcon/index.html +++ b/main/how-to-guides/others/advanced-usage-of-colcon/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/index.html b/main/how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/index.html index d039d33abeb..d1575e14ba6 100644 --- a/main/how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/index.html +++ b/main/how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/applying-clang-tidy-to-ros-packages/index.html b/main/how-to-guides/others/applying-clang-tidy-to-ros-packages/index.html index 446f6805f5d..64633f9aebb 100644 --- a/main/how-to-guides/others/applying-clang-tidy-to-ros-packages/index.html +++ b/main/how-to-guides/others/applying-clang-tidy-to-ros-packages/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/debug-autoware/index.html b/main/how-to-guides/others/debug-autoware/index.html index a3b5ba2ea7b..cde0e89bf82 100644 --- a/main/how-to-guides/others/debug-autoware/index.html +++ b/main/how-to-guides/others/debug-autoware/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/defining-temporal-performance-metrics/index.html b/main/how-to-guides/others/defining-temporal-performance-metrics/index.html index 8b0a2479882..eea8df70b18 100644 --- a/main/how-to-guides/others/defining-temporal-performance-metrics/index.html +++ b/main/how-to-guides/others/defining-temporal-performance-metrics/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/determining-component-dependencies/index.html b/main/how-to-guides/others/determining-component-dependencies/index.html index 6ae51c00cee..7c2d9bdb494 100644 --- a/main/how-to-guides/others/determining-component-dependencies/index.html +++ b/main/how-to-guides/others/determining-component-dependencies/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/fixing-dependent-package-versions/index.html b/main/how-to-guides/others/fixing-dependent-package-versions/index.html index 25e44c8f497..e1afad08ee0 100644 --- a/main/how-to-guides/others/fixing-dependent-package-versions/index.html +++ b/main/how-to-guides/others/fixing-dependent-package-versions/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/reducing-start-delays/index.html b/main/how-to-guides/others/reducing-start-delays/index.html index 37caeaec8fc..989ea10e235 100644 --- a/main/how-to-guides/others/reducing-start-delays/index.html +++ b/main/how-to-guides/others/reducing-start-delays/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/others/running-autoware-without-cuda/index.html b/main/how-to-guides/others/running-autoware-without-cuda/index.html index 61a33f7c6e1..30e1ebaece2 100644 --- a/main/how-to-guides/others/running-autoware-without-cuda/index.html +++ b/main/how-to-guides/others/running-autoware-without-cuda/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/how-to-guides/training-machine-learning-models/training-models/index.html b/main/how-to-guides/training-machine-learning-models/training-models/index.html index 580c28442fd..0adfffb8f33 100644 --- a/main/how-to-guides/training-machine-learning-models/training-models/index.html +++ b/main/how-to-guides/training-machine-learning-models/training-models/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/index.html b/main/index.html index 8ead4c04e86..a25ee837868 100644 --- a/main/index.html +++ b/main/index.html @@ -1458,6 +1458,12 @@ + + + + + + @@ -2058,6 +2064,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/additional-settings-for-developers/index.html b/main/installation/additional-settings-for-developers/index.html index e3dcebf38d6..4e521a2aa21 100644 --- a/main/installation/additional-settings-for-developers/index.html +++ b/main/installation/additional-settings-for-developers/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/autoware/docker-installation-devel/index.html b/main/installation/autoware/docker-installation-devel/index.html index 9eb03a76442..41c13f6fd46 100644 --- a/main/installation/autoware/docker-installation-devel/index.html +++ b/main/installation/autoware/docker-installation-devel/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/autoware/docker-installation-prebuilt/index.html b/main/installation/autoware/docker-installation-prebuilt/index.html index becc391e994..7b33b2866de 100644 --- a/main/installation/autoware/docker-installation-prebuilt/index.html +++ b/main/installation/autoware/docker-installation-prebuilt/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/autoware/docker-installation/index.html b/main/installation/autoware/docker-installation/index.html index 2069ed75d48..6531a434acd 100644 --- a/main/installation/autoware/docker-installation/index.html +++ b/main/installation/autoware/docker-installation/index.html @@ -1500,6 +1500,12 @@ + + + + + + @@ -2100,6 +2106,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/autoware/source-installation/index.html b/main/installation/autoware/source-installation/index.html index 8e95bff4578..80046303ca4 100644 --- a/main/installation/autoware/source-installation/index.html +++ b/main/installation/autoware/source-installation/index.html @@ -1467,6 +1467,12 @@ + + + + + + @@ -2067,6 +2073,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/index.html b/main/installation/index.html index 61e7dd61689..1229a61da17 100644 --- a/main/installation/index.html +++ b/main/installation/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/installation/related-tools/index.html b/main/installation/related-tools/index.html index 31dbdae3197..eec7a8f470a 100644 --- a/main/installation/related-tools/index.html +++ b/main/installation/related-tools/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/models/index.html b/main/models/index.html index 290cdceba35..4abd3b71dd7 100644 --- a/main/models/index.html +++ b/main/models/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/ad-computers/index.html b/main/reference-hw/ad-computers/index.html index 5200dc7885b..271dd0c460d 100644 --- a/main/reference-hw/ad-computers/index.html +++ b/main/reference-hw/ad-computers/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/ad_sensor_kit_suppliers/index.html b/main/reference-hw/ad_sensor_kit_suppliers/index.html index d794ea08a98..75dd57b0568 100644 --- a/main/reference-hw/ad_sensor_kit_suppliers/index.html +++ b/main/reference-hw/ad_sensor_kit_suppliers/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/cameras/index.html b/main/reference-hw/cameras/index.html index 73299d33ae1..a1f36ab991f 100644 --- a/main/reference-hw/cameras/index.html +++ b/main/reference-hw/cameras/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/full_drivers_list/index.html b/main/reference-hw/full_drivers_list/index.html index 35c7605f9c7..72f48678f6c 100644 --- a/main/reference-hw/full_drivers_list/index.html +++ b/main/reference-hw/full_drivers_list/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/imu_ahrs_gnss_ins/index.html b/main/reference-hw/imu_ahrs_gnss_ins/index.html index e04ea4a7aa4..bb19c1d3134 100644 --- a/main/reference-hw/imu_ahrs_gnss_ins/index.html +++ b/main/reference-hw/imu_ahrs_gnss_ins/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/index.html b/main/reference-hw/index.html index 98aeb8488c9..2692980b2ca 100644 --- a/main/reference-hw/index.html +++ b/main/reference-hw/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/lidars/index.html b/main/reference-hw/lidars/index.html index 04d3d2fcba2..c91820142d7 100644 --- a/main/reference-hw/lidars/index.html +++ b/main/reference-hw/lidars/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/radars/index.html b/main/reference-hw/radars/index.html index c9a34020ba5..02e0eec5e41 100644 --- a/main/reference-hw/radars/index.html +++ b/main/reference-hw/radars/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/remote_drive/index.html b/main/reference-hw/remote_drive/index.html index 3d93a7c25a1..4f5435c9079 100644 --- a/main/reference-hw/remote_drive/index.html +++ b/main/reference-hw/remote_drive/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/thermal_cameras/index.html b/main/reference-hw/thermal_cameras/index.html index 17c8ea23c3a..147ff39b323 100644 --- a/main/reference-hw/thermal_cameras/index.html +++ b/main/reference-hw/thermal_cameras/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/vehicle_drive_by_wire_suppliers/index.html b/main/reference-hw/vehicle_drive_by_wire_suppliers/index.html index 357844aab40..2a465e5050f 100644 --- a/main/reference-hw/vehicle_drive_by_wire_suppliers/index.html +++ b/main/reference-hw/vehicle_drive_by_wire_suppliers/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/reference-hw/vehicle_platform_suppliers/index.html b/main/reference-hw/vehicle_platform_suppliers/index.html index c23fc7d4a2e..183e8490411 100644 --- a/main/reference-hw/vehicle_platform_suppliers/index.html +++ b/main/reference-hw/vehicle_platform_suppliers/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/search/search_index.json b/main/search/search_index.json index dc1f2e0f459..463addf655b 100644 --- a/main/search/search_index.json +++ b/main/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Introduction","text":""},{"location":"#autoware-documentation","title":"Autoware Documentation","text":""},{"location":"#about-autoware","title":"About Autoware","text":"

    Autoware is the world\u2019s leading open-source software project for autonomous driving. Autoware is built on Robot Operating System (ROS) and enables commercial deployment of autonomous driving in a broad range of vehicles and applications.

    Please see here for more details.

    "},{"location":"#related-documentations","title":"Related Documentations","text":"

    This Autoware Documentation is for Autoware's general information.

    For detailed documents of Autoware Universe components, see Autoware Universe Documentation.

    "},{"location":"#getting-started","title":"Getting started","text":"
    • Installation pages explain the installation steps of Autoware and related tools.
    • Tutorials pages explain several tutorials that you should try after installation.
    • How-to guides pages explain advanced topics that you should read after you get used to Autoware.
    • Design pages explain the design concept of Autoware.
    • Contributing pages explain how to contribute to Autoware.
    • Datasets pages contain information about datasets that can be used with Autoware.
    • Support pages explain several support resources.
    • Competitions pages explain on-going challenges related to AWF
    "},{"location":"autoware-competitions/","title":"Autoware Competitions","text":""},{"location":"autoware-competitions/#autoware-competitions","title":"Autoware Competitions","text":"

    This page is a collection of the links to the competitions that are related to the Autoware Foundation.

    Title Status Description Ongoing Autoware / TIER IV Challenge 2023 Date: May 15, 2023 - Nov. 1st, 2023 As one of the main contributors of Autoware, TIER IV has been facing many difficult challenges through development, and TIER IV would like to sponsor a challenge to solve such engineering challenges. Any researchers, students, individuals or organizations are welcome to participate and submit their solution to any of the challenges we propose. Ongoing Japan Automotive AI Challenge 2023 Registration: June 5, 2023 - July 14, 2023 Qualifiers: July 3, 2023 - Aug. 31, 2023 Finals: Nov. 12, 2023 In this competition, we focus on challenging tasks posed by autonomous driving in factory environments and aim to develop Autoware-based AD software that can overcome them. The qualifiers use the digital twin autonomous driving simulator AWSIM to complete specific tasks within a virtual environment. Teams that make it to the finals have the opportunity to run their software on actual vehicles in a test course in Japan."},{"location":"autoware-competitions/#proposing-new-competition","title":"Proposing New Competition","text":"

    If you want add a new competition to this page, please propose it in a TSC meeting and get confirmation from the AWF.

    "},{"location":"contributing/","title":"Contributing","text":""},{"location":"contributing/#contributing","title":"Contributing","text":"

    Thank you for your interest in contributing! Autoware is supported by people like you, and all types and sizes of contribution are welcome.

    As a contributor, here are the guidelines that we would like you to follow for Autoware and its associated repositories.

    • Code of Conduct
    • What should I know before I get started?
      • Autoware concepts
      • Contributing to open source projects
    • How can I get help?
    • How can I contribute?
      • Participate in discussions
      • Join a working group
      • Report bugs
      • Make a pull request

    Like Autoware itself, these guidelines are being actively developed and suggestions for improvement are always welcome! Guideline changes can be proposed by creating a discussion in the Ideas category.

    "},{"location":"contributing/#code-of-conduct","title":"Code of Conduct","text":"

    To ensure the Autoware community stays open and inclusive, please follow the Code of Conduct.

    If you believe that someone in the community has violated the Code of Conduct, please make a report by emailing conduct@autoware.org.

    "},{"location":"contributing/#what-should-i-know-before-i-get-started","title":"What should I know before I get started?","text":""},{"location":"contributing/#autoware-concepts","title":"Autoware concepts","text":"

    To gain a high-level understanding of Autoware's architecture and design, the following pages provide a brief overview:

    • Autoware architecture
    • Autoware concepts

    For experienced developers, the Autoware interfaces and individual component pages should also be reviewed to understand the inputs and outputs for each component or module at a more detailed level.

    "},{"location":"contributing/#contributing-to-open-source-projects","title":"Contributing to open source projects","text":"

    If you are new to open source projects, we recommend reading GitHub's How to Contribute to Open Source guide for an overview of why people contribute to open source projects, what it means to contribute and much more besides.

    "},{"location":"contributing/#how-can-i-get-help","title":"How can I get help?","text":"

    Do not open issues for general support questions as we want to keep GitHub issues for confirmed bug reports. Instead, open a discussion in the Q&A category. For more details on the support mechanisms for Autoware, refer to the Support guidelines.

    Note

    Issues created for questions or unconfirmed bugs will be moved to GitHub discussions by the maintainers.

    "},{"location":"contributing/#how-can-i-contribute","title":"How can I contribute?","text":""},{"location":"contributing/#discussions","title":"Discussions","text":"

    You can contribute to Autoware by facilitating and participating in discussions, such as:

    • Proposing a new feature to enhance Autoware
    • Joining an existing discussion and expressing your opinion
    • Organizing discussions for other contributors
    • Answering questions and supporting other contributors
    "},{"location":"contributing/#working-groups","title":"Working groups","text":"

    The various working groups within the Autoware Foundation are responsible for accomplishing goals set by the Technical Steering Committee. These working groups are open to everyone, and joining a particular working group will allow you to gain an understanding of current projects, see how those projects are managed within each group and to contribute to issues that will help progress a particular project.

    To see the schedule for upcoming working group meetings, refer to the Autoware Foundation events calendar.

    "},{"location":"contributing/#bug-reports","title":"Bug reports","text":"

    Before you report a bug, please search the issue tracker for the appropriate repository. It is possible that someone has already reported the same issue and that workarounds exist. If you can't determine the appropriate repository, ask the maintainers for help by creating a new discussion in the Q&A category.

    When reporting a bug, you should provide a minimal set of instructions to reproduce the issue. Doing so allows us to quickly confirm and focus on the right problem.

    If you want to fix the bug by yourself that will be appreciated, but you should discuss possible approaches with the maintainers in the issue before submitting a pull request.

    Creating an issue is straightforward, but if you happen to experience any problems then create a Q&A discussion to ask for help.

    "},{"location":"contributing/#pull-requests","title":"Pull requests","text":"

    You can submit pull requests for small changes such as:

    • Minor documentation updates
    • Fixing spelling mistakes
    • Fixing CI failures
    • Fixing warnings detected by compilers or analysis tools
    • Making small changes to a single package

    If your pull request is a large change, the following process should be followed:

    1. Create a GitHub Discussion to propose the change. Doing so allows you to get feedback from other members and the Autoware maintainers and to ensure that the proposed change is in line with Autoware's design philosophy and current development plans. If you're not sure where to have that conversation, then create a new Q&A discussion.

    2. Create an issue following consensus in the discussions

    3. Create a pull request to implement the changes that references the Issue created in step 2

    4. Create documentation for the new addition (if relevant)

    Examples of large changes include:

    • Adding a new feature to Autoware
    • Adding a new documentation page or section

    For more information on how to submit a good pull request, have a read of the pull request guidelines and don't forget to review the required license notations!

    "},{"location":"contributing/license/","title":"License","text":""},{"location":"contributing/license/#license","title":"License","text":"

    Autoware is licensed under Apache License 2.0. Thus all contributions will be licensed as such as per clause 5 of the Apache License 2.0:

    5. Submission of Contributions. Unless You explicitly state otherwise,\n   any Contribution intentionally submitted for inclusion in the Work\n   by You to the Licensor shall be under the terms and conditions of\n   this License, without any additional terms or conditions.\n   Notwithstanding the above, nothing herein shall supersede or modify\n   the terms of any separate license agreement you may have executed\n   with Licensor regarding such Contributions.\n

    Here is an example copyright header to add to the top of a new file:

    Copyright [first year of contribution] The Autoware Contributors\nSPDX-License-Identifier: Apache-2.0\n

    We don't write copyright notations of each contributor here. Instead, we place them in the NOTICE file like the following.

    This product includes code developed by [company name].\nCopyright [first year of contribution] [company name]\n

    Let us know if your legal department has a special request for the copyright notation.

    Currently, the old formats explained here are also acceptable. Those old formats can be replaced by this new format if the original authors agree. Note that we won't write their copyrights to the NOTICE file unless they agree with the new format.

    References:

    • https://opensource.google/docs/copyright/#the-year
    • https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/
    • https://www.apache.org/licenses/LICENSE-2.0
    • https://www.apache.org/legal/src-headers.html
    • https://www.apache.org/foundation/license-faq.html
    • https://infra.apache.org/licensing-howto.html
    "},{"location":"contributing/coding-guidelines/","title":"Coding guidelines","text":""},{"location":"contributing/coding-guidelines/#coding-guidelines","title":"Coding guidelines","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/#common-guidelines","title":"Common guidelines","text":"

    Refer to the following links for now:

    • https://docs.ros.org/en/humble/Contributing/Developer-Guide.html

    Also, keep in mind the following concepts.

    • Keep things consistent.
    • Automate where possible, using simple checks for formatting, syntax, etc.
    • When it comes to code reviews, don't spend too much time on trivial disagreements. For details see:
      • https://en.wikipedia.org/wiki/Law_of_triviality
      • https://steemit.com/programming/@emrebeyler/code-reviews-and-parkinson-s-law-of-triviality
    "},{"location":"contributing/coding-guidelines/languages/cmake/","title":"CMake","text":""},{"location":"contributing/coding-guidelines/languages/cmake/#cmake","title":"CMake","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.ros.org/en/humble/Contributing/Code-Style-Language-Versions.html#cmake
    "},{"location":"contributing/coding-guidelines/languages/cmake/#use-the-autoware_package-macro","title":"Use the autoware_package macro","text":"

    To reduce duplications in CMakeLists.txt, there is the autoware_package() macro. See the README and use it in your package.

    "},{"location":"contributing/coding-guidelines/languages/cpp/","title":"C++","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#c","title":"C++","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/languages/cpp/#references","title":"References","text":"

    Follow the guidelines below if a rule is not defined on this page.

    1. https://docs.ros.org/en/humble/Contributing/Code-Style-Language-Versions.html
    2. https://www.autosar.org/fileadmin/standards/adaptive/22-11/AUTOSAR_RS_CPP14Guidelines.pdf
    3. https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines

    Also, it is encouraged to apply Clang-Tidy to each file. For the usage, see Applying Clang-Tidy to ROS packages.

    Note that not all rules are covered by Clang-Tidy.

    "},{"location":"contributing/coding-guidelines/languages/cpp/#style-rules","title":"Style rules","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#include-header-files-in-the-defined-order-required-partially-automated","title":"Include header files in the defined order (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale","title":"Rationale","text":"
    • Due to indirect dependencies, the include system of C++ makes different behaviors if the header order is different.
    • To reduce unintended bugs, local header files should come first.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference","title":"Reference","text":"
    • https://llvm.org/docs/CodingStandards.html#include-style
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example","title":"Example","text":"

    Include the headers in the following order:

    • Main module header
    • Local package headers
    • Other package headers
    • Message headers
    • Boost headers
    • C system headers
    • C++ system headers
    // Compliant\n#include \"my_header.hpp\"\n\n#include \"my_package/foo.hpp\"\n\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n

    If you use \"\" and <> properly, ClangFormat in pre-commit sorts headers automatically.

    Do not define macros between #include lines because it prevents automatic sorting.

    // Non-compliant\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#define EIGEN_MPL2_ONLY\n#include \"my_header.hpp\"\n#include \"my_package/foo.hpp\"\n\n#include <Eigen/Core>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n

    Instead, define macros before #include lines.

    // Compliant\n#define EIGEN_MPL2_ONLY\n\n#include \"my_header.hpp\"\n\n#include \"my_package/foo.hpp\"\n\n#include <Eigen/Core>\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n

    If there are any reasons for defining macros at a specific position, write a comment before the macro.

    // Compliant\n#include \"my_header.hpp\"\n\n#include \"my_package/foo.hpp\"\n\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n\n// For the foo bar reason, the FOO_MACRO must be defined here.\n#define FOO_MACRO\n#include <foo/bar.hpp>\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#use-lower-snake-case-for-function-names-required-partially-automated","title":"Use lower snake case for function names (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_1","title":"Rationale","text":"
    • It is consistent with the C++ standard library.
    • It is consistent with other programming languages such as Python and Rust.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#exception","title":"Exception","text":"
    • For member functions of classes inherited from external project classes such as Qt, follow that naming convention.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_1","title":"Reference","text":"
    • https://docs.ros.org/en/humble/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html#function-and-method-naming
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_1","title":"Example","text":"
    void function_name()\n{\n}\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#use-upper-camel-case-for-enum-names-required-partially-automated","title":"Use upper camel case for enum names (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_2","title":"Rationale","text":"
    • It is consistent with ROS 2 core packages.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#exception_1","title":"Exception","text":"
    • Enums defined in the rosidl file can use other naming conventions.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_2","title":"Reference","text":"
    • http://wiki.ros.org/CppStyleGuide (Refer to \"15. Enumerations\")
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_2","title":"Example","text":"
    enum class Color\n{\nRed, Green, Blue\n}\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#use-lower-snake-case-for-constant-names-required-partially-automated","title":"Use lower snake case for constant names (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_3","title":"Rationale","text":"
    • It is consistent with ROS 2 core packages.
    • It is consistent with std::numbers.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#exception_2","title":"Exception","text":"
    • Constants defined in the rosidl file can use other naming conventions.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_3","title":"Reference","text":"
    • https://en.cppreference.com/w/cpp/numeric/constants
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_3","title":"Example","text":"
    constexpr double gravity = 9.80665;\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#count-acronyms-and-contractions-of-compound-words-as-one-word-required-partially-automated","title":"Count acronyms and contractions of compound words as one word (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_4","title":"Rationale","text":"
    • To clarify the boundaries of words when acronyms are consecutive.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_4","title":"Reference","text":"
    • https://rust-lang.github.io/api-guidelines/naming.html#casing-conforms-to-rfc-430-c-case
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_4","title":"Example","text":"
    class RosApi;\nRosApi ros_api;\n
    "},{"location":"contributing/coding-guidelines/languages/docker/","title":"Docker","text":""},{"location":"contributing/coding-guidelines/languages/docker/#docker","title":"Docker","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://github.com/hadolint/hadolint
    "},{"location":"contributing/coding-guidelines/languages/github-actions/","title":"GitHub Actions","text":""},{"location":"contributing/coding-guidelines/languages/github-actions/#github-actions","title":"GitHub Actions","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.github.com/en/actions/guides
    "},{"location":"contributing/coding-guidelines/languages/markdown/","title":"Markdown","text":""},{"location":"contributing/coding-guidelines/languages/markdown/#markdown","title":"Markdown","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.ros.org/en/foxy/Contributing/Code-Style-Language-Versions.html#markdown-restructured-text-docblocks
    • https://github.com/DavidAnson/markdownlint
    "},{"location":"contributing/coding-guidelines/languages/package-xml/","title":"package.xml","text":""},{"location":"contributing/coding-guidelines/languages/package-xml/#packagexml","title":"package.xml","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://ros.org/reps/rep-0149.html
    • https://github.com/tier4/pre-commit-hooks-ros#prettier-package-xml
    "},{"location":"contributing/coding-guidelines/languages/python/","title":"Python","text":""},{"location":"contributing/coding-guidelines/languages/python/#python","title":"Python","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.ros.org/en/foxy/Contributing/Code-Style-Language-Versions.html#python
    • https://github.com/psf/black
    • https://github.com/PyCQA/isort
    "},{"location":"contributing/coding-guidelines/languages/shell-scripts/","title":"Shell scripts","text":""},{"location":"contributing/coding-guidelines/languages/shell-scripts/#shell-scripts","title":"Shell scripts","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://google.github.io/styleguide/shellguide.html
    • https://github.com/koalaman/shellcheck
    • https://github.com/mvdan/sh
    "},{"location":"contributing/coding-guidelines/ros-nodes/class-design/","title":"Class design","text":""},{"location":"contributing/coding-guidelines/ros-nodes/class-design/#class-design","title":"Class design","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/","title":"Console logging","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#console-logging","title":"Console logging","text":"

    ROS 2 logging is a powerful tool for understanding and debugging ROS nodes.

    This page focuses on how to design console logging in Autoware and shows several practical examples. To comprehensively understand how ROS 2 logging works, refer to the logging documentation.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#logging-use-cases-in-autoware","title":"Logging use cases in Autoware","text":"
    • Developers debug code by seeing the console logs.
    • Vehicle operators take appropriate risk-avoiding actions depending on the console logs.
    • Log analysts analyze the console logs that are recorded in rosbag files.

    To efficiently support these use cases, clean and highly visible logs are required. For that, several rules are defined below.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rules","title":"Rules","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#choose-appropriate-severity-levels-required-non-automated","title":"Choose appropriate severity levels (required, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale","title":"Rationale","text":"

    It's confusing if severity levels are inappropriate as follows:

    • Useless messages are marked as FATAL.
    • Very important error messages are marked as INFO.
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example","title":"Example","text":"

    Use the following criteria as a reference:

    • DEBUG: Use this level to show debug information for developers. Note that logs with this level is hidden by default.
    • INFO: Use this level to notify events (cyclic notifications during initialization, state changes, service responses, etc.) to operators.
    • WARN: Use this level when a node can continue working correctly, but unintended behaviors might happen.
      • For example, \"path optimization failed but the previous data can be used\", \"the localization score is low\", etc.
    • ERROR: Use this level when a node can't continue working correctly, and unintended behaviors would happen.
      • For example, \"path optimization failed and the path is empty\", \"the vehicle will trigger an emergency stop\", etc.
    • FATAL: Use this level when the entire system can't continue working correctly, and the system must be stopped.
      • For example, \"the vehicle control ECU doesn't respond\", \"the system storage crashed\", etc.
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#filter-out-unnecessary-logs-by-setting-logging-options-required-non-automated","title":"Filter out unnecessary logs by setting logging options (required, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale_1","title":"Rationale","text":"

    Some third-party nodes such as drivers may not follow the Autoware's guidelines. If the logs are noisy, unnecessary logs should be filtered out.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example_1","title":"Example","text":"

    Use the --log-level {level} option to change the minimum level of logs to be displayed:

    <launch>\n<!-- This outputs only FATAL level logs. -->\n<node pkg=\"demo_nodes_cpp\" exec=\"talker\" ros_args=\"--log-level fatal\" />\n</launch>\n

    If you want to disable only specific output targets, use the --disable-stdout-logs, --disable-rosout-logs, and/or --disable-external-lib-logs options:

    <launch>\n<!-- This outputs to rosout and disk. -->\n<node pkg=\"demo_nodes_cpp\" exec=\"talker\" ros_args=\"--disable-stdout-logs\" />\n</launch>\n
    <launch>\n<!-- This outputs to stdout. -->\n<node pkg=\"demo_nodes_cpp\" exec=\"talker\" ros_args=\"--disable-rosout-logs --disable-external-lib-logs\" />\n</launch>\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#use-throttled-logging-when-the-log-is-unnecessarily-shown-repeatedly-required-non-automated","title":"Use throttled logging when the log is unnecessarily shown repeatedly (required, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale_2","title":"Rationale","text":"

    If tons of logs are shown on the console, people miss important message.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example_2","title":"Example","text":"

    While waiting for some messages, throttled logs are usually enough. In such cases, wait about 5 seconds as a reference value.

    // Compliant\nvoid FooNode::on_timer() {\nif (!current_pose_) {\nRCLCPP_ERROR_THROTTLE(get_logger(), *get_clock(), 5000, \"Waiting for current_pose_.\");\nreturn;\n}\n}\n\n// Non-compliant\nvoid FooNode::on_timer() {\nif (!current_pose_) {\nRCLCPP_ERROR(get_logger(), \"Waiting for current_pose_.\");\nreturn;\n}\n}\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#exception","title":"Exception","text":"

    The following cases are acceptable even if it's not throttled.

    • The message is really worth displaying every time.
    • The message level is DEBUG.
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#do-not-depend-on-rclcppnode-in-core-library-classes-but-depend-only-on-rclcpplogginghpp-advisory-non-automated","title":"Do not depend on rclcpp::Node in core library classes but depend only on rclcpp/logging.hpp (advisory, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale_3","title":"Rationale","text":"

    Core library classes, which contain reusable algorithms, may also be used for non-ROS platforms. When porting libraries to other platforms, fewer dependencies are preferred.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example_3","title":"Example","text":"
    // Compliant\n#include <rclcpp/logging.hpp>\n\nclass FooCore {\npublic:\nexplicit FooCore(const rclcpp::Logger & logger) : logger_(logger) {}\n\nvoid process() {\nRCLCPP_INFO(logger_, \"message\");\n}\n\nprivate:\nrclcpp::Logger logger_;\n};\n\n// Compliant\n// Note that logs aren't published to `/rosout` if the logger name is different from the node name.\n#include <rclcpp/logging.hpp>\n\nclass FooCore {\nvoid process() {\nRCLCPP_INFO(rclcpp::get_logger(\"foo_core_logger\"), \"message\");\n}\n};\n\n\n// Non-compliant\n#include <rclcpp/node.hpp>\n\nclass FooCore {\npublic:\nexplicit FooCore(const rclcpp::NodeOptions & node_options) : node_(\"foo_core_node\", node_options) {}\n\nvoid process() {\nRCLCPP_INFO(node_.get_logger(), \"message\");\n}\n\nprivate:\nrclcpp::Node node_;\n};\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#tips","title":"Tips","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#use-rqt_console-to-filter-logs","title":"Use rqt_console to filter logs","text":"

    To filter logs, using rqt_console is useful:

    ros2 run rqt_console rqt_console\n

    For more details, refer to ROS 2 Documentation.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#useful-marco-expressions","title":"Useful marco expressions","text":"

    To debug program, sometimes you need to see which functions and lines of code are executed. In that case, you can use __FILE__, __LINE__ and __FUNCTION__ macro:

    void FooNode::on_timer() {\nRCLCPP_DEBUG(get_logger(), \"file: %s, line: %s, function: %s\" __FILE__, __LINE__, __FUNCTION__);\n}\n

    The example output is as follows:

    [DEBUG] [1671720414.395456931] [foo]: file: /path/to/file.cpp, line: 100, function: on_timer

    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/","title":"Coordinate system","text":""},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#coordinate-system","title":"Coordinate system","text":""},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#overview","title":"Overview","text":"

    The commonly used coordinate systems include the world coordinate system, the vehicle coordinate system, and the sensor coordinate system.

    • The world coordinate system is a fixed coordinate system that defines the physical space in the environment where the vehicle is located.
    • The vehicle coordinate system is the vehicle's own coordinate system, which defines the vehicle's position and orientation in the world coordinate system.
    • The sensor coordinate system is the sensor's own coordinate system, which is used to define the sensor's position and orientation in the vehicle coordinate system.
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#how-coordinates-are-used-in-autoware","title":"How coordinates are used in Autoware","text":"

    In Autoware, coordinate systems are typically used to represent the position and movement of vehicles and obstacles in space. Coordinate systems are commonly used for path planning, perception and control, can help the vehicle decide how to avoid obstacles and to plan a safe and efficient path of travel.

    1. Transformation of sensor data

      In Autoware, each sensor has a unique coordinate system and their data is expressed in terms of the coordinates. In order to correlate the independent data between different sensors, we need to find the position relationship between each sensor and the vehicle body. Once the installation position of the sensor on the vehicle body is determined, it will remain fixed during running, so the offline calibration method can be used to determine the precise position of each sensor relative to the vehicle body.

    2. ROS TF2

      The TF2 system maintains a tree of coordinate transformations to represent the relationships between different coordinate systems. Each coordinate system is given a unique name and they are connected by coordinate transformations. How to use TF2, refer to the TF2 tutorial.

    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#tf-tree","title":"TF tree","text":"

    In Autoware, a common coordinate system structure is shown below:

    graph TD\n    /earth --> /map\n    /map --> /base_link\n    /base_link --> /imu\n    /base_link --> /lidar\n    /base_link --> /gnss\n    /base_link --> /radar\n    /base_link --> /camera_link\n    /camera_link --> /camera_optical_link
    • earth: earth coordinate system describe the position of any point on the earth in terms of geodetic longitude, latitude, and altitude. In Autoware, the earth frame is only used in the GnssInsPositionStamped message.
    • map: map coordinate system is used to represent the location of points on a local map. Geographical coordinate system are mapped into plane rectangular coordinate system using UTM or MGRS. The map frame`s axes point to the East, North, Up directions as explained in Coordinate Axes Conventions.
    • base_link: vehicle coordinate system, the origin of the coordinate system is the center of the rear axle of the vehicle.
    • imu, lidar, gnss, radar: these are sensor frames, transfer to vehicle coordinate system through mounting relationship.
    • camera_link: camera_link is ROS standard camera coordinate system .
    • camera_optical_link: camera_optical_link is image standard camera coordinate system.
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#estimating-the-base_link-frame-by-using-the-other-sensors","title":"Estimating the base_link frame by using the other sensors","text":"

    Generally we don't have the localization sensors physically at the base_link frame. So various sensors localize with respect to their own frames, let's call it sensor frame.

    We introduce a new frame naming convention: x_by_y:

    x: estimated frame name\ny: localization method/source\n

    We cannot directly get the sensor frame. Because we would need the EKF module to estimate the base_link frame first.

    Without the EKF module the best we can do is to estimate Map[map] --> sensor_by_sensor --> base_link_by_sensor using this sensor.

    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#example-by-the-gnssins-sensor","title":"Example by the GNSS/INS sensor","text":"

    For the integrated GNSS/INS we use the following frames:

    flowchart LR\n    earth --> Map[map] --> gnss_ins_by_gnss_ins --> base_link_by_gnss_ins

    The gnss_ins_by_gnss_ins frame is obtained by the coordinates from GNSS/INS sensor. The coordinates are converted to map frame using the gnss_poser node.

    Finally gnss_ins_by_gnss_ins frame represents the position of the gnss_ins estimated by the gnss_ins sensor in the map.

    Then by using the static transformation between gnss_ins and the base_link frame, we can obtain the base_link_by_gnss_ins frame. Which represents the base_link estimated by the gnss_ins sensor.

    References:

    • https://www.ros.org/reps/rep-0105.html#earth
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#coordinate-axes-conventions","title":"Coordinate Axes Conventions","text":"

    We are using East, North, Up (ENU) coordinate axes convention by default throughout the stack.

    X+: East\nY+: North\nZ+: Up\n

    The position, orientation, velocity, acceleration are all defined in the same axis convention.

    Position by the GNSS/INS sensor is expected to be in earth frame.

    Orientation, velocity, acceleration by the GNSS/INS sensor are expected to be in the sensor frame. Axes parallel to the map frame.

    If roll, pitch, yaw is provided, they correspond to rotation around X, Y, Z axes respectively.

    Rotation around:\nX+: roll\nY+: pitch\nZ+: yaw\n

    References:

    • https://www.ros.org/reps/rep-0103.html#axis-orientation
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#how-they-can-be-created","title":"How they can be created","text":"
    1. Calibration of sensor

      The conversion relationship between every sensor coordinate system and base_link can be obtained through sensor calibration technology. How to calibrating your sensors refer to this link calibrating your sensors.

    2. Localization

      The relationship between the base_link coordinate system and the map coordinate system is determined by the position and orientation of the vehicle, and can be obtained from the vehicle localization result.

    3. Geo-referencing of map data

      The geo-referencing information can get the transformation relationship of earth coordinate system to local map coordinate system.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/","title":"Directory structure","text":""},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#directory-structure","title":"Directory structure","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#c-package","title":"C++ package","text":"
    <package_name>\n\u251c\u2500 config\n\u2502   \u251c\u2500 foo_ros.param.yaml\n\u2502   \u2514\u2500 foo_non_ros.yaml\n\u251c\u2500 doc\n\u2502   \u251c\u2500 foo_document.md\n\u2502   \u2514\u2500 foo_diagram.svg\n\u251c\u2500 include\n\u2502   \u2514\u2500 <package_name>\n\u2502       \u2514\u2500 foo_public.hpp\n\u251c\u2500 launch\n\u2502   \u251c\u2500 foo.launch.xml\n\u2502   \u2514\u2500 foo.launch.py\n\u251c\u2500 schema\n\u2502   \u2514\u2500 foo_node.schema.json\n\u251c\u2500 src\n\u2502   \u251c\u2500 foo_node.cpp\n\u2502   \u251c\u2500 foo_node.hpp\n\u2502   \u2514\u2500 foo_private.hpp\n\u251c\u2500 test\n\u2502   \u2514\u2500 test_foo.cpp\n\u251c\u2500 package.xml\n\u251c\u2500 CMakeLists.txt\n\u2514\u2500 README.md\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#directory-descriptions","title":"Directory descriptions","text":""},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#config","title":"config","text":"

    Place configuration files such as node parameters. For ROS parameters, use the extension .param.yaml. For non-ROS parameters, use the extension .yaml.

    Rationale: Since ROS parameters files are type-sensitive, they should not be the target of some code formatters and linters. In order to distinguish the file type, we use different file extensions.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#doc","title":"doc","text":"

    Place document files and link from README.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#include","title":"include","text":"

    Place header files exposed to other packages. Do not place files directly under the include directory, but place files under the directory with the package name. This directory is used for mostly library headers. Note that many headers do not need to be placed here. It is enough to place the headers under the src directory.

    Reference: https://docs.ros.org/en/rolling/How-To-Guides/Ament-CMake-Documentation.html#adding-files-and-headers

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#launch","title":"launch","text":"

    Place launch files (.launch.xml and .launch.py).

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#schema","title":"schema","text":"

    Place parameter definition files. See parameters for details.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#src","title":"src","text":"

    Place source files and private header files.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#test","title":"test","text":"

    Place source files for testing. See unit testing for details.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#python-package","title":"Python package","text":"

    T.B.D.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/","title":"Launch files","text":""},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#launch-files","title":"Launch files","text":""},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#overview","title":"Overview","text":"

    Autoware use ROS 2 launch system to startup the software. Please see the official documentation to get a basic understanding about ROS 2 Launch system if you are not familiar with it.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#guideline","title":"Guideline","text":""},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#the-organization-of-launch-files-in-autoware","title":"The organization of launch files in Autoware","text":"

    Autoware mainly has two repositories related to launch file organization: the autoware.universe and the autoware_launch.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#autowareuniverse","title":"autoware.universe","text":"

    the autoware.universe contains the code of the main Autoware modules, and its launch directory is responsible for launching the nodes of each module. Autoware software stack is organized based on the architecture, so you may find that we try to match the launch structure similar to the architecture (splitting of files, namespace). For example, the tier4_map_launch subdirectory corresponds to the map module, so do the other tier4_*_launch subdirectories.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#autoware_launch","title":"autoware_launch","text":"

    The autoware_launch is a repository referring to autoware.universe. The mainly purpose of introducing this repository is to provide the general entrance to start the Autoware software stacks, i.e, calling the launch file of each module.

    • The autoware.launch.xml is the basic launch file for road driving scenarios.

      As can be seen from the content, the entire launch file is divided into several different modules, including Vehicle, System, Map, Sensing, Localization, Perception, Planning, Control, etc. By setting the launch_* argument equals to true or false , we can determine which modules to be loaded.

    • The logging_simulator.launch.xml is often used together with the recorded ROS bag to debug if the target module (e.g, Sensing, Localization or Perception) functions normally.
    • The planning_simulator.launch.xml is based on the Planning Simulator tool, mainly used for testing/validation of Planning module by simulating traffic rules, interactions with dynamic objects and control commands to the ego vehicle.
    • The e2e_simulator.launch.xml is the launcher for digital twin simulation environment.
    graph LR\nA11[logging_simulator.launch.xml]-.->A10[autoware.launch.xml]\nA12[planning_simulator.launch.xml]-.->A10[autoware.launch.xml]\nA13[e2e_simulator.launch.xml]-.->A10[autoware.launch.xml]\n\nA10-->A21[tier4_map_component.launch.xml]\nA10-->A22[xxx.launch.py]\nA10-->A23[tier4_localization_component.launch.xml]\nA10-->A24[xxx.launch.xml]\nA10-->A25[tier4_sensing_component.launch.xml]\n\nA23-->A30[localization.launch.xml]\nA30-->A31[pose_estimator.launch.xml]\nA30-->A32[util.launch.xml]\nA30-->A33[pose_twist_fusion_filter.launch.xml]\nA30-->A34[xxx.launch.xml]\nA30-->A35[twist_estimator.launch.xml]\n\nA33-->A41[stop_filter.launch.xml]\nA33-->A42[ekf_localizer.launch.xml]\nA33-->A43[twist2accel.launch.xml]
    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#add-a-new-package-in-autoware","title":"Add a new package in Autoware","text":"

    If a newly created package has executable node, we expect sample launch file and configuration within the package, just like the recommended structure shown in previous directory structure page.

    In order to automatically load the newly added package when starting Autoware, you need to make some necessary changes to the corresponding launch file. For example, if using ICP instead of NDT as the pointcloud registration algorithm, you can modify the autoware.universe/launch/tier4_localization_launch/launch/pose_estimator/pose_estimator.launch.xml file to load the newly added ICP package.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#parameter-management","title":"Parameter management","text":"

    Another purpose of introducing the autoware_launch repository is to facilitate the parameter management of Autoware. Thinking about this situation: if we want to integrate Autoware to a specific vehicle and modify parameters, we have to fork autoware.universe which also has a lot of code other than parameters and is frequently updated by developers. By integrating these parameters in autoware_launch, we can customize the Autoware parameters just by forking autoware_launch repository. Taking the localization module as an examples:

    1. all the \u201claunch parameters\u201d for localization component is listed in the files under autoware_launch/autoware_launch/config/localization.
    2. the \"launch parameters\" file paths are set in the autoware_launch/autoware_launch/launch/components/tier4_localization_component.launch.xml file.
    3. in autoware.universe/launch/tier4_localization_launch/launch, the launch files loads the \u201claunch parameters\u201d if the argument is given in the parameter configuration file. You can still use the default parameters in each packages to launch tier4_localization_launch within autoware.universe.
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/","title":"Message guidelines","text":""},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#message-guidelines","title":"Message guidelines","text":""},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#format","title":"Format","text":"

    All messages should follow ROS message description specification.

    The accepted formats are:

    • .msg
    • .srv
    • .action
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#naming","title":"Naming","text":"

    Under Construction

    Use Array as a suffix when creating a plural type of a message. This suffix is commonly used in common_interfaces.

    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#default-units","title":"Default units","text":"

    All the fields by default have the following units depending on their types:

    type default unit distance meter (m) angle radians (rad) time second (s) speed m/s velocity m/s acceleration m/s\u00b2 angular vel. rad/s angular accel. rad/s\u00b2

    If a field in a message has any of these default units, don't add any suffix or prefix denoting the type.

    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#non-default-units","title":"Non-default units","text":"

    For non-default units, use following suffixes:

    type non-default unit suffix distance nanometer _nm distance micrometer _um distance millimeter _mm distance kilometer _km angle degree (deg) _deg time nanosecond _ns time microsecond _us time millisecond _ms time minute _min time hour (h) _hour velocity km/h _kmph

    If a unit that you'd like to use doesn't exist here, create an issue/PR to add it to this list.

    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#message-field-types","title":"Message field types","text":"

    For list of types supported by the ROS interfaces see here.

    Also copied here for convenience:

    Message Field Type C++ equivalent bool bool byte uint8_t char char float32 float float64 double int8 int8_t uint8 uint8_t int16 int16_t uint16 uint16_t int32 int32_t uint32 uint32_t int64 int64_t uint64 uint64_t string std::string wstring std::u16string"},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#arrays","title":"Arrays","text":"

    For arrays, use unbounded dynamic array type.

    Example:

    int32[] unbounded_integer_array\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#enumerations","title":"Enumerations","text":"

    ROS 2 interfaces don't support enumerations directly.

    It is possible to define integers constants and assign them to a non-constant integer parameter.

    Constants are written in CONSTANT_CASE.

    Assign a different value to each element of a constant.

    Example from shape_msgs/msg/SolidPrimitive.msg

    uint8 BOX=1\nuint8 SPHERE=2\nuint8 CYLINDER=3\nuint8 CONE=4\nuint8 PRISM=5\n\n# The type of the shape\nuint8 type\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#comments","title":"Comments","text":"

    On top of the message, briefly explain what the message contains and/or what it is used for. For an example, see sensor_msgs/msg/Imu.msg.

    If necessary, add line comments before the fields that explain the context and/or meaning.

    For simple fields like x, y, z, w you might not need to add comments.

    Even though it is not strictly checked, try not to pass 100 characters in a line.

    Example:

    # Number of times the vehicle performed an emergency brake\nuint32 count_emergency_brake\n\n# Seconds passed since the last emergency brake\nuint64 duration\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#example-usages","title":"Example usages","text":"
    • Don't use unit suffixes for default types:
      • Bad: float32 path_length_m
      • Good: float32 path_length
    • Don't prefix the units:
      • Bad: float32 kmph_velocity_vehicle
      • Good: float32 velocity_vehicle_kmph
    • Use recommended suffixes if they are available in the table:
      • Bad: float32 velocity_vehicle_km_h
      • Good: float32 velocity_vehicle_kmph
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/","title":"Parameters","text":""},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#parameters","title":"Parameters","text":"

    Autoware ROS nodes have declared parameters which values are provided during the node start up in the form of a parameter file. All the expected parameters with corresponding values should exist in the parameter file. Depending on the application, the parameter values might need to be modified.

    Find more information on parameters from the official ROS documentation:

    • Understanding ROS 2 Parameters
    • About ROS 2 Parameters
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#workflow","title":"Workflow","text":"

    A ROS package which uses the declare_parameter(...) function should:

    • use the declare_parameter(...) with out a default value
    • create a parameter file
    • create a schema file

    The rationale behind this workflow is to have a verified single source of truth to pass to the ROS node and to be used in the web documentation. The approach reduces the risk of using invalid parameter values and makes maintenance of documentation easier. This is achieved by:

    • declare_parameter(...) throws an exception if an expected parameter is missing in the parameter file
    • the schema validates the parameter file in the CI and renders a parameter table, as depicted in the graphics below

      flowchart TD\n    NodeSchema[Schema file: *.schema.json]\n    ParameterFile[Parameter file: *.param.yaml]\n    WebDocumentation[Web documentation table]\n\n    NodeSchema -->|Validation| ParameterFile\n    NodeSchema -->|Generate| WebDocumentation

    Note: a parameter value can still be modified and bypass the validation, as there is no validation during runtime.

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#declare-parameter-function","title":"Declare Parameter Function","text":"

    It is the declare_parameter(...) function which sets the parameter values during a node startup.

    declare_parameter<INSERT_TYPE>(\"INSERT_PARAMETER_1_NAME\"),\ndeclare_parameter<INSERT_TYPE>(\"INSERT_PARAMETER_N_NAME\")\n

    As there is no default_value provided, the function throws an exception if a parameter were to be missing in the provided *.param.yaml file. Use a type from the C++ Type column in the table below for the declare_parameter(...) function, replacing INSERT_TYPE.

    ParameterType Enum C++ Type PARAMETER_BOOL bool PARAMETER_INTEGER int64_t PARAMETER_DOUBLE double PARAMETER_STRING std::string PARAMETER_BYTE_ARRAY std::vector<uint8_t> PARAMETER_BOOL_ARRAY std::vector<bool> PARAMETER_INTEGER_ARRAY std::vector<int64_t> PARAMETER_DOUBLE_ARRAY std::vector<double> PARAMETER_STRING_ARRAY std::vector<std::string>

    The table has been derived from Parameter Type and Parameter Value.

    See example: Lidar Apollo Segmentation TVM Nodes declare function

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#parameter-file","title":"Parameter File","text":"

    The parameter file is minimal as there is no need to provide the user with additional information, e.g., description or type. This is because the associated schema file provides the additional information. Use the template below as a starting point for a ROS node.

    /**:\nros__parameters:\nINSERT_PARAMETER_1_NAME: INSERT_PARAMETER_1_VALUE\nINSERT_PARAMETER_N_NAME: INSERT_PARAMETER_N_VALUE\n

    Note: /** is used instead of the explicit node namespace, this allows the parameter file to be passed to a ROS node which has been remapped.

    To adapt the template to the ROS node, replace each INSERT_PARAMETER_..._NAME and INSERT_PARAMETER_..._VALUE for all parameters. Each declare_parameter(...) takes one parameter as input. All the parameter files should have the .param.yaml suffix so that the auto-format can be applied properly.

    Autoware has the following two types of parameter files for ROS packages:

    • Node parameter file
      • Node parameter files store the default parameters provided for each package in Autoware.
        • For example, the parameter of behavior_path_planner
      • All nodes in Autoware must have a parameter file if ROS parameters are declared in the node.
      • For FOO_package, the parameter is expected to be stored in FOO_package/config.
      • The launch file for individual packages must load node parameter by default:
    <launch>\n<arg name=\"foo_node_param_path\" default=\"$(find-pkg-share FOO_package)/config/foo_node.param.yaml\" />\n\n<node pkg=\"FOO_package\" exec=\"foo_node\">\n...\n    <param from=\"$(var foo_node_param_path)\" />\n</node>\n</launch>\n
    • Launch parameter file
      • When a user creates a launch package for the user's vehicle, the user should copy node parameter files for the nodes that are called in the launch file as \"launch parameter files\".
      • Launch parameter files are then customized specifically for user's vehicle.
        • For example, the customized parameter of behavior_path_planner stored under autoware_launch
      • The examples for launch parameter files are stored under autoware_launch.
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#json-schema","title":"JSON Schema","text":"

    JSON Schema is used the validate the parameter file(s) ensuring that it has the correct structure and content. Using JSON Schema for this purpose is considered best practice for cloud-native development. The schema template below shall be used as a starting point when defining the schema for a ROS node.

    {\n\"$schema\": \"http://json-schema.org/draft-07/schema#\",\n\"title\": \"INSERT_TITLE\",\n\"type\": \"object\",\n\"definitions\": {\n\"INSERT_ROS_NODE_NAME\": {\n\"type\": \"object\",\n\"properties\": {\n\"INSERT_PARAMETER_1_NAME\": {\n\"type\": \"INSERT_TYPE\",\n\"description\": \"INSERT_DESCRIPTION\",\n\"default\": \"INSERT_DEFAULT\",\n\"INSERT_BOUND_CONDITION(S)\": INSERT_BOUND_VALUE(S)\n},\n\"INSERT_PARAMETER_N_NAME\": {\n\"type\": \"INSERT_TYPE\",\n\"description\": \"INSERT_DESCRIPTION\",\n\"default\": \"INSERT_DEFAULT\",\n\"INSERT_BOUND_CONDITION(S)\": INSERT_BOUND_VALUE(S)\n}\n},\n\"required\": [\"INSERT_PARAMETER_1_NAME\", \"INSERT_PARAMETER_N_NAME\"],\n\"additionalProperties\": false\n}\n},\n\"properties\": {\n\"/**\": {\n\"type\": \"object\",\n\"properties\": {\n\"ros__parameters\": {\n\"$ref\": \"#/definitions/INSERT_ROS_NODE_NAME\"\n}\n},\n\"required\": [\"ros__parameters\"],\n\"additionalProperties\": false\n}\n},\n\"required\": [\"/**\"],\n\"additionalProperties\": false\n}\n

    The schema file path is INSERT_PATH_TO_PACKAGE/schema/ and the schema file name is INSERT_NODE_NAME.schema.json. To adapt the template to the ROS node, replace each INSERT_... and add all parameters 1..N.

    See example: Lidar Apollo Segmentation TVM Nodes schema

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#attributes","title":"Attributes","text":"

    Parameters have several attributes, some are required and some optional. The optional attributes are highly encouraged when applicable, as they provide useful information about a parameter and can ensure the value of the parameter is within its bounds.

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#required","title":"Required","text":"
    • name
    • type
      • see JSON Schema types
    • description
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#optional","title":"Optional","text":"
    • default
      • a tested and verified value, see JSON Schema default
    • bound(s)
      • type dependent, e.g., integer, range and size
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#tips-and-tricks","title":"Tips and Tricks","text":"

    Using well established standards enables the use of conventional tooling. Below is an example of how to link a schema to the parameter file(s) using VS Code. This enables a developer with convenient features such as auto-complete and parameter bound validation.

    In the root directory of where the project is hosted, create a .vscode folder with two files; extensions.json containing

    {\n\"recommendations\": [\"redhat.vscode-yaml\"]\n}\n

    and settings.json containing

    {\n\"yaml.schemas\": {\n\"./INSERT_PATH_TO_PACKAGE/schema/INSERT_NODE_NAME.schema.json\": \"**/INSERT_NODE_NAME/config/*.param.yaml\"\n}\n}\n

    The RedHat YAML extension enables validation of YAML files using JSON Schema and the \"yaml.schemas\" setting associates the *.schema.json file with all *.param.yaml files in the config/ folder.

    "},{"location":"contributing/coding-guidelines/ros-nodes/task-scheduling/","title":"Task scheduling","text":""},{"location":"contributing/coding-guidelines/ros-nodes/task-scheduling/#task-scheduling","title":"Task scheduling","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/","title":"Topic namespaces","text":""},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#topic-namespaces","title":"Topic namespaces","text":""},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#overview","title":"Overview","text":"

    ROS allows topics, parameters and nodes to be namespaced which provides the following benefits:

    • Multiple instances of the same node type will not cause naming clashes.
    • Topics published by a node can be automatically namespaced with the node's namespace providing a meaningful and easily-visible connection.
    • Keeps from cluttering the root namespace.
    • Helps to maintain separation-of-concerns.

    This page focuses on how to use namespaces in Autoware and shows some useful examples. For basic information on topic namespaces, refer to this tutorial.

    "},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#how-topics-should-be-named-in-node","title":"How topics should be named in node","text":"

    Autoware divides the node into the following functional categories, and adds the start namespace for the nodes according to the categories.

    • localization
    • perception
    • planning
    • control
    • sensing
    • vehicle
    • map
    • system

    When a node is run in a namespace, all topics which that node publishes are given that same namespace. All nodes in the Autoware stack must support namespaces by avoiding practices such as publishing topics in the global namespace.

    In general, topics should be namespaced based on the function of the node which produces them and not the node (or nodes) which consume them.

    Classify topics as input or output topics based on they are subscribed or published by the node. In the node, input topic is named input/topic_name and output topic is named output/topic_name.

    Configure the topic in the node's launch file. Take the joy_controller node as an example, in the following example, set the input and output topics and remap topics in the joy_controller.launch.xml file.

    <launch>\n<arg name=\"input_joy\" default=\"/joy\"/>\n<arg name=\"input_odometry\" default=\"/localization/kinematic_state\"/>\n\n<arg name=\"output_control_command\" default=\"/external/$(var external_cmd_source)/joy/control_cmd\"/>\n<arg name=\"output_external_control_command\" default=\"/api/external/set/command/$(var external_cmd_source)/control\"/>\n<arg name=\"output_shift\" default=\"/api/external/set/command/$(var external_cmd_source)/shift\"/>\n<arg name=\"output_turn_signal\" default=\"/api/external/set/command/$(var external_cmd_source)/turn_signal\"/>\n<arg name=\"output_heartbeat\" default=\"/api/external/set/command/$(var external_cmd_source)/heartbeat\"/>\n<arg name=\"output_gate_mode\" default=\"/control/gate_mode_cmd\"/>\n<arg name=\"output_vehicle_engage\" default=\"/vehicle/engage\"/>\n\n<node pkg=\"joy_controller\" exec=\"joy_controller\" name=\"joy_controller\" output=\"screen\">\n<remap from=\"input/joy\" to=\"$(var input_joy)\"/>\n<remap from=\"input/odometry\" to=\"$(var input_odometry)\"/>\n\n<remap from=\"output/control_command\" to=\"$(var output_control_command)\"/>\n<remap from=\"output/external_control_command\" to=\"$(var output_external_control_command)\"/>\n<remap from=\"output/shift\" to=\"$(var output_shift)\"/>\n<remap from=\"output/turn_signal\" to=\"$(var output_turn_signal)\"/>\n<remap from=\"output/gate_mode\" to=\"$(var output_gate_mode)\"/>\n<remap from=\"output/heartbeat\" to=\"$(var output_heartbeat)\"/>\n<remap from=\"output/vehicle_engage\" to=\"$(var output_vehicle_engage)\"/>\n</node>\n</launch>\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#topic-names-in-the-code","title":"Topic names in the code","text":"
    1. Have ~ so that namespace in launch configuration is applied(should not start from root /).

    2. Have ~/input ~/output namespace before topic name used to communicate with other nodes.

      e.g., In node obstacle_avoidance_planner, using topic names of type ~/input/topic_name to subscribe to topics.

      objects_sub_ = create_subscription<PredictedObjects>(\n\"~/input/objects\", rclcpp::QoS{10},\nstd::bind(&ObstacleAvoidancePlanner::onObjects, this, std::placeholders::_1));\n

      e.g., In node obstacle_avoidance_planner, using topic names of type ~/output/topic_name to publish topic.

      traj_pub_ = create_publisher<Trajectory>(\"~/output/path\", 1);\n
    3. Visualization or debug purpose topics should have ~/debug/ namespace.

      e.g., In node obstacle_avoidance_planner, in order to debug or visualizing topics, using topic names of type ~/debug/topic_name to publish information.

      debug_markers_pub_ =\ncreate_publisher<visualization_msgs::msg::MarkerArray>(\"~/debug/marker\", durable_qos);\n\ndebug_msg_pub_ =\ncreate_publisher<tier4_debug_msgs::msg::StringStamped>(\"~/debug/calculation_time\", 1);\n

      The launch configured namespace will be add the topics before, so the topic names will be as following:

      /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/calculation_time

    4. Rationale: we want to make topic names remapped and configurable from launch files.

    "},{"location":"contributing/discussion-guidelines/","title":"Discussion guidelines","text":""},{"location":"contributing/discussion-guidelines/#discussion-guidelines","title":"Discussion guidelines","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.github.com/en/discussions/guides/best-practices-for-community-conversations-on-github
    • https://opensource.guide/how-to-contribute/#communicating-effectively
    "},{"location":"contributing/documentation-guidelines/","title":"Documentation guidelines","text":""},{"location":"contributing/documentation-guidelines/#documentation-guidelines","title":"Documentation guidelines","text":""},{"location":"contributing/documentation-guidelines/#workflow","title":"Workflow","text":"

    Contributions to Autoware's documentation are welcome, and the same principles described in the contribution guidelines should be followed. Small, limited changes can be made by forking this repository and submitting a pull request, but larger changes should be discussed with the community and Autoware maintainers via GitHub Discussion first.

    Examples of small changes include:

    • Fixing spelling or grammatical mistakes
    • Fixing broken links
    • Making an addition to an existing, well-defined page, such as the Troubleshooting guide.

    Examples of larger changes include:

    • Adding new pages with a large amount of detail, such as a tutorial
    • Re-organization of the existing documentation structure
    "},{"location":"contributing/documentation-guidelines/#style-guide","title":"Style guide","text":"

    You should refer to the Google developer documentation style guide as much as possible. Reading the Highlights page of that guide is recommended, but if not then the key points below should be noted.

    • Use standard American English spelling and punctuation.
    • Use sentence case for document titles and section headings.
    • Use descriptive link text.
    • Write short sentences that are easy to understand and translate.
    "},{"location":"contributing/documentation-guidelines/#tips","title":"Tips","text":""},{"location":"contributing/documentation-guidelines/#how-to-preview-your-modification","title":"How to preview your modification","text":"

    There are two ways to preview your modification on a documentation website.

    "},{"location":"contributing/documentation-guidelines/#1-using-github-actions-workflow","title":"1. Using GitHub Actions workflow","text":"

    Follow the steps below.

    1. Create a pull request to the repository.
    2. Add the deploy-docs label from the sidebar (See below figure).
    3. Wait for a couple of minutes, and the github-actions bot will notify the URL for the pull request's preview.

    "},{"location":"contributing/documentation-guidelines/#2-running-an-mkdocs-server-in-your-local-environment","title":"2. Running an MkDocs server in your local environment","text":"

    Instead of creating a PR, you can use the mkdocs command to build Autoware's documentation websites on your local computer. Assuming that you are using Ubuntu OS, run the following to install the required libraries.

    python3 -m pip install -U $(curl -fsSL https://raw.githubusercontent.com/autowarefoundation/autoware-github-actions/main/deploy-docs/mkdocs-requirements.txt)\n

    Then, run mkdocs serve on your documentation directory.

    cd /PATH/TO/YOUR-autoware-documentation\nmkdocs serve\n

    It will launch the MkDocs server. Access http://127.0.0.1:8000/ to see the preview of the website.

    "},{"location":"contributing/pull-request-guidelines/","title":"Pull request guidelines","text":""},{"location":"contributing/pull-request-guidelines/#pull-request-guidelines","title":"Pull request guidelines","text":""},{"location":"contributing/pull-request-guidelines/#general-pull-request-workflow","title":"General pull request workflow","text":"

    Autoware uses the fork-and-pull model. For more details about the model, refer to GitHub Docs.

    The following is a general example of the pull request workflow based on the fork-and-pull model. Use this workflow as a reference when you contribute to Autoware.

    1. Create an issue.
      • Discuss the approaches to the issue with maintainers.
      • Confirm the support guidelines before creating an issue.
      • Follow the discussion guidelines when you discuss with other contributors.
    2. Create a fork repository. (for the first time only)
    3. Write code in your fork repository according to the approach agreed upon in the issue.
      • Write the tests and documentation as appropriate.
      • Follow the coding guidelines guidelines when you write code.
      • Follow the Testing guidelines guidelines when you write tests.
      • Follow the Documentation guidelines guidelines when you write documentation.
      • Follow the commit guidelines when you commit your changes.
    4. Test the code.
      • It is recommended that you summarize the test results, because you will need to explain the test results in the later review process.
      • If you are not sure what tests should be done, discuss them with maintainers.
    5. Create a pull request.
      • Follow the pull request rules when you create a pull request.
    6. Wait for the pull request to be reviewed.
      • The reviewers will review your code following the review guidelines.
        • Not only the reviewers, but also the author is encouraged to understand the review guidelines.
      • If CI checks have failed, fix the errors.
    7. Address the review comments pointed out by the reviewers.
      • If you don't understand the meaning of a review comment, ask the reviewers until you understand it.
        • Fixing without understanding the reason is not recommended because the author should be responsible for the final content of their own pull request.
      • If you don't agree with a review comment, ask the reviewers for a rational reason.
        • The reviewers are obligated to make the author understand the meanings of each comment.
      • After you have done with the review comments, re-request a review to the reviewers and back to 6.
      • If there are no more new review comments, the reviewers will approve the pull request and proceed to 8.
    8. Merge the pull request.
      • Anyone with write access can merge the pull request if there is no special request from maintainers.
        • The author is encouraged to merge the pull request to feel responsible for their own pull request.
        • If the author does not have write access, ask the reviewers or maintainers.
    "},{"location":"contributing/pull-request-guidelines/#pull-request-rules","title":"Pull request rules","text":""},{"location":"contributing/pull-request-guidelines/#use-an-appropriate-pull-request-template-required-non-automated","title":"Use an appropriate pull request template (required, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale","title":"Rationale","text":"
    • The unified style of descriptions by templates can make reviews efficient.
    "},{"location":"contributing/pull-request-guidelines/#example","title":"Example","text":"

    There are two types of templates. Select one based on the following condition.

    1. Standard change:
      • Complexity:
        • New features or significant updates.
        • Requires deeper understanding of the codebase.
      • Impact:
        • Affects multiple parts of the system.
        • Basically includes minor features, bug fixes and performance improvement.
        • Needs testing before merging.
    2. Small change:
      • Complexity:
        • Documentation, simple refactoring, or style adjustments.
        • Easy to understand and review.
      • Impact:
        • Minimal effect on the system.
        • Quicker merge with less testing needed.
    "},{"location":"contributing/pull-request-guidelines/#steps-to-use-an-appropriate-pull-request-template","title":"Steps to use an appropriate pull request template","text":"
    1. Select the appropriate template, as shown in this video.
    2. Read the selected template carefully and fill the required content.
    3. Check the checkboxes during a review.
      • There are pre-review checklist and post-review checklist for the author.
    "},{"location":"contributing/pull-request-guidelines/#set-appropriate-reviewers-after-creating-a-pull-request-required-partially-automated","title":"Set appropriate reviewers after creating a pull request (required, partially automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_1","title":"Rationale","text":"
    • Pull requests must be reviewed by appropriate reviewers to keep the quality of the codebase.
    "},{"location":"contributing/pull-request-guidelines/#example_1","title":"Example","text":"
    • For most ROS packages, reviewers will be automatically assigned based on the maintainer information in package.xml.
    • If no reviewer is assigned automatically, assign reviewers manually following the instructions in GitHub Docs.
      • You can find the reviewers by seeing the .github/CODEOWNERS file of the repository.
    • If you are not sure the appropriate reviewers, ask @autoware-maintainers.
    • If you have no rights to assign reviewers, mention reviewers instead.
    "},{"location":"contributing/pull-request-guidelines/#apply-conventional-commits-to-the-pull-request-title-required-automated","title":"Apply Conventional Commits to the pull request title (required, automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_2","title":"Rationale","text":"
    • Conventional Commits can generate categorized changelogs, for example using git-cliff.
    "},{"location":"contributing/pull-request-guidelines/#example_2","title":"Example","text":"
    feat(trajectory_follower): add an awesome feature\n

    Note

    You have to start the description part (here add an awesome feature) with a lowercase.

    If your change breaks some interfaces, use the ! (breaking changes) mark as follows:

    feat(trajectory_follower)!: remove package\nfeat(trajectory_follower)!: change parameter names\nfeat(planning)!: change topic names\nfeat(autoware_utils)!: change function names\n

    For the repositories that contain code (most repositories), use the definition of conventional-commit-types for the type.

    For documentation repositories such as autoware-documentation, use the following definition:

    • feat
      • Add new pages.
      • Add contents to the existing pages.
    • fix
      • Fix the contents in the existing pages.
    • refactor
      • Move contents to different pages.
    • docs
      • Update documentation for the documentation repository itself.
    • build
      • Update the settings of the documentation site builder.
    • ! (breaking changes)
      • Remove pages.
      • Change the URL of pages.

    perf and test are generally unused. Other types have the same meaning as the code repositories.

    "},{"location":"contributing/pull-request-guidelines/#add-the-related-component-names-to-the-scope-of-conventional-commits-advisory-non-automated","title":"Add the related component names to the scope of Conventional Commits (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_3","title":"Rationale","text":"
    • It helps contributors find pull requests that are relevant to them.
    • It makes the changelog clearer.
    "},{"location":"contributing/pull-request-guidelines/#example_3","title":"Example","text":"

    For ROS packages, adding the package name or component name is good.

    feat(trajectory_follower): add an awesome feature\nrefactor(planning, control): use common utils\n
    "},{"location":"contributing/pull-request-guidelines/#keep-a-pull-request-small-advisory-non-automated","title":"Keep a pull request small (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_4","title":"Rationale","text":"
    • Small pull requests are easy to understand for reviewers.
    • Small pull requests are easy to revert for maintainers.
    "},{"location":"contributing/pull-request-guidelines/#exception","title":"Exception","text":"

    It is acceptable if it is agreed with maintainers that there is no other way but to submit a big pull request.

    "},{"location":"contributing/pull-request-guidelines/#example_4","title":"Example","text":"
    • Avoid developing two features in one pull request.
    • Avoid mixing different types (feat, fix, refactor, etc.) of changes in the same commit.
    "},{"location":"contributing/pull-request-guidelines/#remind-reviewers-if-there-is-no-response-for-more-than-a-week-advisory-non-automated","title":"Remind reviewers if there is no response for more than a week (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_5","title":"Rationale","text":"
    • It is the author's responsibility to care about their own pull request until it is merged.
    "},{"location":"contributing/pull-request-guidelines/#example_5","title":"Example","text":"
    @{some-of-developers} Would it be possible for you to review this PR?\n@autoware-maintainers friendly ping.\n
    "},{"location":"contributing/pull-request-guidelines/ci-checks/","title":"CI checks","text":""},{"location":"contributing/pull-request-guidelines/ci-checks/#ci-checks","title":"CI checks","text":"

    Autoware has several checks for a pull request. The results are shown at the bottom of the pull request page as below.

    If the \u274c mark is shown, click the Details button and investigate the failure reason.

    If the Required mark is shown, you cannot merge the pull request unless you resolve the error. If not, it is optional, but preferably it should be fixed.

    The following sections explain about common CI checks in Autoware. Note that some repositories may have different settings.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#dco","title":"DCO","text":"

    The Developer Certificate of Origin (DCO) is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project.

    This workflow checks whether the pull request fulfills DCO. You need to confirm the required items and commit with git commit -s.

    For more information, refer to the GitHub App page.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#semantic-pull-request","title":"semantic-pull-request","text":"

    This workflow checks whether the pull request follows Conventional Commits.

    For the detailed rules, see the pull request rules.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#pre-commit","title":"pre-commit","text":"

    pre-commit is a tool to run formatters or linters when you commit.

    This workflow checks whether the pull request has no error with pre-commit.

    In the workflow pre-commit.ci - pr is enabled in the repository, it will automatically fix errors by pre-commit.ci as many as possible. If there are some errors remain, fix them manually.

    You can run pre-commit in your local environment by the following command:

    pre-commit run -a\n

    Or you can install pre-commit to the repository and automatically run it before committing:

    pre-commit install\n

    Since it is difficult to detect errors with no false positives, some jobs are split into another config file and marked as optional. To check them, use the --config option:

    pre-commit run -a --config .pre-commit-config-optional.yaml\n
    "},{"location":"contributing/pull-request-guidelines/ci-checks/#spell-check-differential","title":"spell-check-differential","text":"

    This workflow detects spelling mistakes using CSpell with our dictionary file. You can submit pull requests to tier4/autoware-spell-check-dict to update the dictionary.

    Since it is difficult to detect errors with no false positives, it is an optional workflow, but it is preferable to remove spelling mistakes as many as possible.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#build-and-test-differential","title":"build-and-test-differential","text":"

    This workflow checks colcon build and colcon test for the pull request. To make the CI faster, it doesn't check all packages but only modified packages and the dependencies.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#build-and-test-differential-self-hosted","title":"build-and-test-differential-self-hosted","text":"

    This workflow is the ARM64 version of build-and-test-differential. You need to add the ARM64 label to run this workflow.

    For reference information, since ARM machines are not supported by GitHub-hosted runners, we use self-hosted runners prepared by the AWF. For the details about self-hosted runners, refer to GitHub Docs.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#deploy-docs","title":"deploy-docs","text":"

    This workflow deploys the preview documentation site for the pull request. You need to add the deploy-docs label to run this workflow.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/","title":"Commit guidelines","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#commit-guidelines","title":"Commit guidelines","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#branch-rules","title":"Branch rules","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#start-branch-names-with-the-corresponding-issue-numbers-advisory-non-automated","title":"Start branch names with the corresponding issue numbers (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale","title":"Rationale","text":"
    • Developers can quickly find the corresponding issues.
    • It is helpful for tools.
    • It is consistent with GitHub's default behavior.
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#exception","title":"Exception","text":"

    If there are no corresponding issues, you can ignore this rule.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example","title":"Example","text":"
    123-add-feature\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#reference","title":"Reference","text":"
    • GitHub Docs
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#use-dash-case-for-the-separator-of-branch-names-advisory-non-automated","title":"Use dash-case for the separator of branch names (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale_1","title":"Rationale","text":"
    • It is consistent with GitHub's default behavior.
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example_1","title":"Example","text":"
    123-add-feature\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#reference_1","title":"Reference","text":"
    • GitHub Docs
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#make-branch-names-descriptive-advisory-non-automated","title":"Make branch names descriptive (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale_2","title":"Rationale","text":"
    • It can avoid conflicts of names.
    • Developers can understand the purpose of the branch.
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#exception_1","title":"Exception","text":"

    If you have already submitted a pull request, you do not have to change the branch name because you need to re-create a pull request, which is noisy and a waste of time. Be careful from the next time.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example_2","title":"Example","text":"

    Usually it is good to start with a verb.

    123-fix-memory-leak-of-trajectory-follower\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#commit-rules","title":"Commit rules","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#sign-off-your-commits-required-automated","title":"Sign-off your commits (required, automated)","text":"

    Developers must certify that they wrote or otherwise have the right to submit the code they are contributing to the project.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale_3","title":"Rationale","text":"

    If not, it will lead to complex license problems.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example_3","title":"Example","text":"
    git commit -s\n
    feat: add a feature\n\nSigned-off-by: Autoware <autoware@example.com>\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#reference_2","title":"Reference","text":"
    • GitHub Apps - DCO
    "},{"location":"contributing/pull-request-guidelines/review-guidelines/","title":"Review guidelines","text":""},{"location":"contributing/pull-request-guidelines/review-guidelines/#review-guidelines","title":"Review guidelines","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://google.github.io/eng-practices/review/
    • https://docs.gitlab.com/ee/development/code_review.html
    • https://www.swarmia.com/blog/a-complete-guide-to-code-reviews/
    • https://rewind.com/blog/best-practices-for-reviewing-pull-requests-in-github/
    "},{"location":"contributing/pull-request-guidelines/review-tips/","title":"Review tips","text":""},{"location":"contributing/pull-request-guidelines/review-tips/#review-tips","title":"Review tips","text":""},{"location":"contributing/pull-request-guidelines/review-tips/#toggle-annotations-or-review-comments-in-the-diff-view","title":"Toggle annotations or review comments in the diff view","text":"

    There might be some annotations or review comments in the diff view during your review.

    To toggle annotations, press the A key.

    Before:

    After:

    To toggle review comments, press the I key.

    For other keyboard shortcuts, refer to GitHub Docs.

    "},{"location":"contributing/pull-request-guidelines/review-tips/#view-code-in-the-web-based-visual-studio-code","title":"View code in the web-based Visual Studio Code","text":"

    You can open Visual Studio Code from your browser to view code in a rich UI. To use it, press the . key on any repository or pull request.

    For more detailed usage, refer to github/dev.

    "},{"location":"contributing/pull-request-guidelines/review-tips/#check-out-the-branch-of-a-pull-request-quickly","title":"Check out the branch of a pull request quickly","text":"

    If you want to check out the branch of a pull request, it's generally troublesome with the fork-and-pull model.

    # Copy the user name and the fork URL.\ngit remote add {user-name} {fork-url}\ngit checkout {user-name}/{branch-name}\ngit remote rm {user-name} # To clean up\n

    Instead, you can use GitHub CLI to simplify the steps, just run gh pr checkout {pr-number}.

    You can copy the command from the top right of the pull request page.

    "},{"location":"contributing/testing-guidelines/","title":"Testing guidelines","text":""},{"location":"contributing/testing-guidelines/#testing-guidelines","title":"Testing guidelines","text":""},{"location":"contributing/testing-guidelines/#unit-testing","title":"Unit testing","text":"

    Unit testing is a software testing method that tests individual units of source code to determine whether they satisfy the specification.

    For details, see the Unit testing guidelines.

    "},{"location":"contributing/testing-guidelines/#integration-testing","title":"Integration testing","text":"

    Integration testing combines and tests the individual software modules as a group, and is done after unit testing.

    While performing integration testing, the following subtypes of tests are written:

    1. Fault injection testing
    2. Back-to-back comparison between a model and code
    3. Requirements-based testing
    4. Anomaly detection during integration testing
    5. Random input testing

    For details, see the Integration testing guidelines.

    "},{"location":"contributing/testing-guidelines/integration-testing/","title":"Integration testing","text":""},{"location":"contributing/testing-guidelines/integration-testing/#integration-testing","title":"Integration testing","text":"

    An integration test is defined as the phase in software testing where individual software modules are combined and tested as a group. Integration tests occur after unit tests, and before validation tests.

    The input to an integration test is a set of independent modules that have been unit tested. The set of modules is tested against the defined integration test plan, and the output is a set of properly integrated software modules that is ready for system testing.

    "},{"location":"contributing/testing-guidelines/integration-testing/#value-of-integration-testing","title":"Value of integration testing","text":"

    Integration tests determine if independently developed software modules work correctly when the modules are connected to each other. In ROS 2, the software modules are called nodes. Testing a single node is a special type of integration test that is commonly referred to as component testing.

    Integration tests help to find the following types of errors:

    • Incompatible interactions between nodes, such as non-matching topics, different message types, or incompatible QoS settings.
    • Edge cases that were not touched by unit testing, such as a critical timing issue, network communication delays, disk I/O failures, and other such problems that can occur in production environments.
    • Issues that can occur while the system is under high CPU/memory load, such as malloc failures. This can be tested using tools like stress and udpreplay to test the performance of nodes with real data.

    With ROS 2, it is possible to program complex autonomous-driving applications with a large number of nodes. Therefore, a lot of effort has been made to provide an integration-test framework that helps developers test the interaction of ROS 2 nodes.

    "},{"location":"contributing/testing-guidelines/integration-testing/#integration-test-framework","title":"Integration-test framework","text":"

    A typical integration-test framework has three parts:

    1. A series of executables with arguments that work together and generate outputs.
    2. A series of expected outputs that should match the output of the executables.
    3. A launcher that starts the tests, compares the outputs to the expected outputs, and determines if the test passes.

    In Autoware, we use the launch_testing framework.

    "},{"location":"contributing/testing-guidelines/integration-testing/#smoke-tests","title":"Smoke tests","text":"

    Autoware has a dedicated API for smoke testing. To use this framework, in package.xml add:

    <test_depend>autoware_testing</test_depend>\n

    And in CMakeLists.txt add:

    if(BUILD_TESTING)\nfind_package(autoware_testing REQUIRED)\nadd_smoke_test(${PROJECT_NAME} ${NODE_NAME})\nendif()\n

    Doing so adds smoke tests that ensure that a node can be:

    1. Launched with a default parameter file.
    2. Terminated with a standard SIGTERM signal.

    For the full API documentation, refer to the package design page.

    Note

    This API is not suitable for all smoke test cases. It cannot be used when a specific file location (eg: for a map) is required to be passed to the node, or if some preparation needs to be conducted before node launch. In such cases use the manual solution from the component test section below.

    "},{"location":"contributing/testing-guidelines/integration-testing/#integration-test-with-a-single-node-component-test","title":"Integration test with a single node: component test","text":"

    The simplest scenario is a single node. In this case, the integration test is commonly referred to as a component test.

    To add a component test to an existing node, you can follow the example of the lanelet2_map_loader in the map_loader package (added in this PR).

    In package.xml, add:

    <test_depend>ros_testing</test_depend>\n

    In CMakeLists.txt, add or modify the BUILD_TESTING section:

    if(BUILD_TESTING)\nadd_ros_test(\ntest/lanelet2_map_loader_launch.test.py\nTIMEOUT \"30\"\n)\ninstall(DIRECTORY\ntest/data/\nDESTINATION share/${PROJECT_NAME}/test/data/\n)\nendif()\n

    In addition to the command add_ros_test, we also install any data that is required by the test using the install command.

    Note

    • The TIMEOUT argument is given in seconds; see the add_ros_test.cmake file for details.
    • The add_ros_test command will run the test in a unique ROS_DOMAIN_ID which avoids interference between tests running in parallel.

    To create a test, either read the launch_testing quick-start example, or follow the steps below.

    Taking test/lanelet2_map_loader_launch.test.py as an example, first dependencies are imported:

    import os\nimport unittest\n\nfrom ament_index_python import get_package_share_directory\nimport launch\nfrom launch import LaunchDescription\nfrom launch_ros.actions import Node\nimport launch_testing\nimport pytest\n

    Then a launch description is created to launch the node under test. Note that the test_map.osm file path is found and passed to the node, something that cannot be done with the smoke testing API:

    @pytest.mark.launch_test\ndef generate_test_description():\n\n    lanelet2_map_path = os.path.join(\n        get_package_share_directory(\"map_loader\"), \"test/data/test_map.osm\"\n    )\n\n    lanelet2_map_loader = Node(\n        package=\"map_loader\",\n        executable=\"lanelet2_map_loader\",\n        parameters=[{\"lanelet2_map_path\": lanelet2_map_path}],\n    )\n\n    context = {}\n\n    return (\n        LaunchDescription(\n            [\n                lanelet2_map_loader,\n                # Start test after 1s - gives time for the map_loader to finish initialization\n                launch.actions.TimerAction(\n                    period=1.0, actions=[launch_testing.actions.ReadyToTest()]\n                ),\n            ]\n        ),\n        context,\n    )\n

    Note

    • Since the node need time to process the input lanelet2 map, we use a TimerAction to delay the start of the test by 1s.
    • In the example above, the context is empty but it can be used to pass objects to the test cases.
    • You can find an example of using the context in the ROS 2 context_launch_test.py test example.

    Finally, a test is executed after the node executable has been shut down (post_shutdown_test). Here we ensure that the node was launched without error and exited cleanly.

    @launch_testing.post_shutdown_test()\nclass TestProcessOutput(unittest.TestCase):\n    def test_exit_code(self, proc_info):\n        # Check that process exits with code 0: no error\n        launch_testing.asserts.assertExitCodes(proc_info)\n
    "},{"location":"contributing/testing-guidelines/integration-testing/#running-the-test","title":"Running the test","text":"

    Continuing the example from above, first build your package:

    colcon build --packages-up-to map_loader\nsource install/setup.bash\n

    Then either execute the component test manually:

    ros2 test src/universe/autoware.universe/map/map_loader/test/lanelet2_map_loader_launch.test.py\n

    Or as part of testing the entire package:

    colcon test --packages-select map_loader\n

    Verify that the test is executed; e.g.

    $ colcon test-result --all --verbose\n...\nbuild/map_loader/test_results/map_loader/test_lanelet2_map_loader_launch.test.py.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\n
    "},{"location":"contributing/testing-guidelines/integration-testing/#next-steps","title":"Next steps","text":"

    The simple test described in Integration test with a single node: component test can be extended in numerous directions, such as testing a node's output.

    "},{"location":"contributing/testing-guidelines/integration-testing/#testing-the-output-of-a-node","title":"Testing the output of a node","text":"

    To test while the node is running, create an active test by adding a subclass of Python's unittest.TestCase to *launch.test.py. Some boilerplate code is required to access output by creating a node and a subscription to a particular topic, e.g.

    import unittest\n\nclass TestRunningDataPublisher(unittest.TestCase):\n\n    @classmethod\n    def setUpClass(cls):\n        cls.context = Context()\n        rclpy.init(context=cls.context)\n        cls.node = rclpy.create_node(\"test_node\", context=cls.context)\n\n    @classmethod\n    def tearDownClass(cls):\n        rclpy.shutdown(context=cls.context)\n\n    def setUp(self):\n        self.msgs = []\n        sub = self.node.create_subscription(\n            msg_type=my_msg_type,\n            topic=\"/info_test\",\n            callback=self._msg_received\n        )\n        self.addCleanup(self.node.destroy_subscription, sub)\n\n    def _msg_received(self, msg):\n        # Callback for ROS 2 subscriber used in the test\n        self.msgs.append(msg)\n\n    def get_message(self):\n        startlen = len(self.msgs)\n\n        executor = rclpy.executors.SingleThreadedExecutor(context=self.context)\n        executor.add_node(self.node)\n\n        try:\n            # Try up to 60 s to receive messages\n            end_time = time.time() + 60.0\n            while time.time() < end_time:\n                executor.spin_once(timeout_sec=0.1)\n                if startlen != len(self.msgs):\n                    break\n\n            self.assertNotEqual(startlen, len(self.msgs))\n            return self.msgs[-1]\n        finally:\n            executor.remove_node(self.node)\n\n    def test_message_content():\n        msg = self.get_message()\n        self.assertEqual(msg, \"Hello, world\")\n
    "},{"location":"contributing/testing-guidelines/integration-testing/#references","title":"References","text":"
    • colcon is used to build and run tests.
    • launch testing launches nodes and runs tests.
    • Testing guidelines describes the different types of tests performed in Autoware and links to the corresponding guidelines.
    "},{"location":"contributing/testing-guidelines/unit-testing/","title":"Unit testing","text":""},{"location":"contributing/testing-guidelines/unit-testing/#unit-testing","title":"Unit testing","text":"

    Unit testing is the first phase of testing and is used to validate units of source code such as classes and functions. Typically, a unit of code is tested by validating its output for various inputs. Unit testing helps ensure that the code behaves as intended and prevents accidental changes of behavior.

    Autoware uses the ament_cmake framework to build and run tests. The same framework is also used to analyze the test results.

    ament_cmake provides several convenience functions to make it easy to register tests in a CMake-based package and to ensure that JUnit-compatible result files are generated. It currently supports a few different testing frameworks like pytest, gtest, and gmock.

    In order to prevent tests running in parallel from interfering with each other when publishing and subscribing to ROS topics, it is recommended to use commands from ament_cmake_ros to run tests in isolation.

    See below for an example of using ament_add_ros_isolated_gtest with colcon test. All other tests follow a similar pattern.

    "},{"location":"contributing/testing-guidelines/unit-testing/#create-a-unit-test-with-gtest","title":"Create a unit test with gtest","text":"

    In my_cool_pkg/test, create the gtest code file test_my_cool_pkg.cpp:

    #include \"gtest/gtest.h\"\n#include \"my_cool_pkg/my_cool_pkg.hpp\"\nTEST(TestMyCoolPkg, TestHello) {\nEXPECT_EQ(my_cool_pkg::print_hello(), 0);\n}\n

    In package.xml, add the following line:

    <test_depend>ament_cmake_ros</test_depend>\n

    Next add an entry under BUILD_TESTING in the CMakeLists.txt to compile the test source files:

    if(BUILD_TESTING)\n\nament_add_ros_isolated_gtest(test_my_cool_pkg test/test_my_cool_pkg.cpp)\ntarget_link_libraries(test_my_cool_pkg ${PROJECT_NAME})\ntarget_include_directories(test_my_cool_pkg PRIVATE src)  # For private headers.\n...\nendif()\n

    This automatically links the test with the default main function provided by gtest. The code under test is usually in a different CMake target (${PROJECT_NAME} in the example) and its shared object for linking needs to be added. If the test source files include private headers from the src directory, the directory needs to be added to the include path using target_include_directories() function.

    To register a new gtest item, wrap the test code with the macro TEST (). TEST () is a predefined macro that helps generate the final test code, and also registers a gtest item to be available for execution. The test case name should be in CamelCase, since gtest inserts an underscore between the fixture name and the class case name when creating the test executable.

    gtest/gtest.h also contains predefined macros of gtest like ASSERT_TRUE(condition), ASSERT_FALSE(condition), ASSERT_EQ(val1,val2), ASSERT_STREQ(str1,str2), EXPECT_EQ(), etc. ASSERT_* will abort the test if the condition is not satisfied, while EXPECT_* will mark the test as failed but continue on to the next test condition.

    Info

    More information about gtest and its features can be found in the gtest repo.

    In the demo CMakeLists.txt, ament_add_ros_isolated_gtest is a predefined macro in ament_cmake_ros that helps simplify adding gtest code. Details can be viewed in ament_add_gtest.cmake.

    "},{"location":"contributing/testing-guidelines/unit-testing/#build-test","title":"Build test","text":"

    By default, all necessary test files (ELF, CTestTestfile.cmake, etc.) are compiled by colcon:

    cd ~/workspace/\ncolcon build --packages-select my_cool_pkg\n

    Test files are generated under ~/workspace/build/my_cool_pkg.

    "},{"location":"contributing/testing-guidelines/unit-testing/#run-test","title":"Run test","text":"

    To run all tests for a specific package, call:

    $ colcon test --packages-select my_cool_pkg\n\nStarting >>> my_cool_pkg\nFinished <<< my_cool_pkg [7.80s]\n\nSummary: 1 package finished [9.27s]\n

    The test command output contains a brief report of all the test results.

    To get job-wise information of all executed tests, call:

    $ colcon test-result --all\n\nbuild/my_cool_pkg/test_results/my_cool_pkg/copyright.xunit.xml: 8 tests, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/cppcheck.xunit.xml: 6 tests, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/lint_cmake.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/my_cool_pkg_exe_integration_test.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml: 1 test, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/xmllint.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\n\nSummary: 18 tests, 0 errors, 0 failures, 0 skipped\n

    Look in the ~/workspace/log/test_<date>/<package_name> directory for all the raw test commands, std_out, and std_err. There is also the ~/workspace/log/latest_*/ directory containing symbolic links to the most recent package-level build and test output.

    To print the tests' details while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:

    $ colcon test --event-handlers console_cohesion+ --packages-select my_cool_pkg\n\n...\ntest 1\n    Start 1: test_my_cool_pkg\n\n1: Test command: /usr/bin/python3 \"-u\" \"~/workspace/install/share/ament_cmake_test/cmake/run_test.py\" \"~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml\" \"--package-name\" \"my_cool_pkg\" \"--output-file\" \"~/workspace/build/my_cool_pkg/ament_cmake_gtest/test_my_cool_pkg.txt\" \"--command\" \"~/workspace/build/my_cool_pkg/test_my_cool_pkg\" \"--gtest_output=xml:~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml\"\n1: Test timeout computed to be: 60\n1: -- run_test.py: invoking following command in '~/workspace/src/my_cool_pkg':\n1:  - ~/workspace/build/my_cool_pkg/test_my_cool_pkg --gtest_output=xml:~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml\n1: [==========] Running 1 test from 1 test case.\n1: [----------] Global test environment set-up.\n1: [----------] 1 test from test_my_cool_pkg\n1: [ RUN      ] test_my_cool_pkg.test_hello\n1: Hello World\n1: [       OK ] test_my_cool_pkg.test_hello (0 ms)\n1: [----------] 1 test from test_my_cool_pkg (0 ms total)\n1:\n1: [----------] Global test environment tear-down\n1: [==========] 1 test from 1 test case ran. (0 ms total)\n1: [  PASSED  ] 1 test.\n1: -- run_test.py: return code 0\n1: -- run_test.py: inject classname prefix into gtest result file '~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml'\n1: -- run_test.py: verify result file '~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml'\n1/5 Test #1: test_my_cool_pkg ...................   Passed    0.09 sec\n\n...\n\n100% tests passed, 0 tests failed out of 5\n\nLabel Time Summary:\ncopyright     =   0.49 sec*proc (1 test)\ncppcheck      =   0.20 sec*proc (1 test)\ngtest         =   0.05 sec*proc (1 test)\nlint_cmake    =   0.18 sec*proc (1 test)\nlinter        =   1.34 sec*proc (4 tests)\nxmllint       =   0.47 sec*proc (1 test)\n\nTotal Test time (real) =   7.91 sec\n...\n
    "},{"location":"contributing/testing-guidelines/unit-testing/#code-coverage","title":"Code coverage","text":"

    Loosely described, a code coverage metric is a measure of how much of the program code has been exercised (covered) during testing.

    In the Autoware repositories, Codecov is used to automatically calculate coverage of any open pull request.

    More details about the code coverage metrics can be found in the Codecov documentation.

    "},{"location":"datasets/","title":"Datasets","text":""},{"location":"datasets/#datasets","title":"Datasets","text":"

    Autoware partners provide datasets for testing and development. These datasets are available for download here.

    "},{"location":"datasets/#bus-odd-operational-design-domain-datasets","title":"Bus-ODD (Operational Design Domain) datasets","text":""},{"location":"datasets/#leo-drive-isuzu-sensor-data","title":"Leo Drive - ISUZU sensor data","text":"

    This dataset contains data from the Isuzu bus used in the Bus ODD project.

    The data contains data from following sensors:

    • 1 x VLP16
    • 2 x VLP32C
    • 1 x Applanix POS LV 120 GNSS/INS
    • 3 x Lucid Vision Triton 5.4MP cameras (left, right, front)
    • Vehicle status report

    It also contains /tf topic for static transformations between sensors.

    "},{"location":"datasets/#required-message-types","title":"Required message types","text":"

    The GNSS data is available in sensor_msgs/msg/NavSatFix message type.

    But also the Applanix raw messages are also included in applanix_msgs/msg/NavigationPerformanceGsof50 and applanix_msgs/msg/NavigationSolutionGsof49 message types. In order to be able to play back these messages, you need to build and source the applanix_msgs package.

    # Create a workspace and clone the repository\nmkdir -p ~/applanix_ws/src && cd \"$_\"\ngit clone https://github.com/autowarefoundation/applanix.git\ncd ..\n\n# Build the workspace\ncolcon build --symlink-install --packages-select applanix_msgs\n\n# Source the workspace\nsource ~/applanix_ws/install/setup.bash\n\n# Now you can play back the messages\n

    Also make sure to source Autoware Universe workspace too.

    "},{"location":"datasets/#download-instructions","title":"Download instructions","text":"
    # Install awscli\n$ sudo apt update && sudo apt install awscli -y\n\n# This will download the entire dataset to the current directory.\n# (About 10.9GB of data)\n$ aws s3 sync s3://autoware-files/collected_data/2022-08-22_leo_drive_isuzu_bags/ ./2022-08-22_leo_drive_isuzu_bags  --no-sign-request\n\n# Optionally,\n# If you instead want to download a single bag file, you can get a list of the available files with following:\n$ aws s3 ls s3://autoware-files/collected_data/2022-08-22_leo_drive_isuzu_bags/ --no-sign-request\n   PRE all-sensors-bag1_compressed/\n   PRE all-sensors-bag2_compressed/\n   PRE all-sensors-bag3_compressed/\n   PRE all-sensors-bag4_compressed/\n   PRE all-sensors-bag5_compressed/\n   PRE all-sensors-bag6_compressed/\n   PRE driving_20_kmh_2022_06_10-16_01_55_compressed/\n   PRE driving_30_kmh_2022_06_10-15_47_42_compressed/\n\n# Then you can download a single bag file with the following:\naws s3 sync s3://autoware-files/collected_data/2022-08-22_leo_drive_isuzu_bags/all-sensors-bag1_compressed/ ./all-sensors-bag1_compressed  --no-sign-request\n
    "},{"location":"datasets/#autocoreai-lidar-ros-2-bag-file-and-pcap","title":"AutoCore.ai - lidar ROS 2 bag file and pcap","text":"

    This dataset contains pcap files and ros2 bag files from Ouster OS1-64 Lidar. The pcap file and ros2 bag file is recorded in the same time with slight difference in duration.

    Click here to download (~553MB)

    Reference Issue

    "},{"location":"design/","title":"Autoware's Design","text":""},{"location":"design/#autowares-design","title":"Autoware's Design","text":""},{"location":"design/#architecture","title":"Architecture","text":"

    Core and Universe.

    Autoware provides the runtimes and technology components by open-source software. The runtimes are based on the Robot Operating System (ROS). The technology components are provided by contributors, which include, but are not limited to:

    • Sensing
      • Camera Component
      • LiDAR Component
      • RADAR Component
      • GNSS Component
    • Computing
      • Localization Component
      • Perception Component
      • Planning Component
      • Control Component
      • Logging Component
      • System Monitoring Component
    • Actuation
      • DBW Component
    • Tools
      • Simulator Component
      • Mapping Component
      • Remote Component
      • ML Component
      • Annotation Component
      • Calibration Component
    "},{"location":"design/#concern-assumption-and-limitation","title":"Concern, Assumption, and Limitation","text":"

    The downside of the microautonomy architecture is that the computational performance of end applications is sacrificed due to its data path overhead attributed to functional modularity. In other words, the trade-off characteristic of the microautonomy architecture exists between computational performance and functional modularity. This trade-off problem can be solved technically by introducing real-time capability. This is because autonomous driving systems are not really designed to be real-fast, that is, low-latency computing is nice-to-have but not must-have. The must-have feature for autonomous driving systems is that the latency of computing is predictable, that is, the systems are real-time. As a whole, we can compromise computational performance to an extent that is predictable enough to meet the given timing constraints of autonomous driving systems, often referred to as deadlines of computation.

    "},{"location":"design/#design","title":"Design","text":"

    Warning

    Under Construction

    "},{"location":"design/#autoware-concepts","title":"Autoware concepts","text":"

    The Autoware concepts page describes the design philosophy of Autoware. Readers (service providers and all Autoware users) will learn the basic concepts underlying Autoware development, such as microautonomy and the Core/Universe architecture.

    "},{"location":"design/#autoware-architecture","title":"Autoware architecture","text":"

    The Autoware architecture page describes an overview of each module that makes up Autoware. Readers (all Autoware users) will gain a high-level picture of how each module that composes Autoware works.

    "},{"location":"design/#autoware-interfaces","title":"Autoware interfaces","text":"

    The Autoware interfaces page describes in detail the interface of each module that makes up Autoware. Readers (intermediate developers) will learn how to add new functionality to Autoware and how to integrate their own modules with Autoware.

    "},{"location":"design/#configuration-management","title":"Configuration management","text":""},{"location":"design/#conclusion","title":"Conclusion","text":""},{"location":"design/autoware-architecture/","title":"Architecture overview","text":""},{"location":"design/autoware-architecture/#architecture-overview","title":"Architecture overview","text":"

    This page describes the architecture of Autoware.

    "},{"location":"design/autoware-architecture/#introduction","title":"Introduction","text":"

    The current Autoware is defined to be a layered architecture that clarifies each module's role and simplifies the interface between them. By doing so:

    • Autoware's internal processing becomes more transparent.
    • Collaborative development is made easier because of the reduced interdependency between modules.
    • Users can easily replace an existing module (e.g. localization) with their own software component by simply wrapping their software to fit in with Autoware's interface.

    Note that the initial focus of this architecture design was solely on driving capability, and so the following features were left as future work:

    • Fail safe
    • Human Machine Interface
    • Real-time processing
    • Redundant system
    • State monitoring system
    "},{"location":"design/autoware-architecture/#high-level-architecture-design","title":"High-level architecture design","text":"

    Autoware's architecture consists of the following six stacks. Each linked page contains a more detailed set of requirements and use cases specific to that stack:

    • Sensing design
    • Map design
    • Localization design
    • Perception design
    • Planning design
    • Control design
    • Vehicle Interface design
    "},{"location":"design/autoware-architecture/#node-diagram","title":"Node diagram","text":"

    A diagram showing Autoware's nodes in the default configuration can be found on the Node diagram page. Detailed documents for each node are available in the Autoware Universe docs.

    Note that Autoware configurations are scalable / selectable and will vary depending on the environment and required use cases.

    "},{"location":"design/autoware-architecture/#references","title":"References","text":"
    • The architecture presentation given to the AWF Technical Steering Committee, March 2020
    "},{"location":"design/autoware-architecture/control/","title":"Control component design","text":""},{"location":"design/autoware-architecture/control/#control-component-design","title":"Control component design","text":""},{"location":"design/autoware-architecture/control/#abstract","title":"Abstract","text":"

    This document presents the design concept of the Control Component. The content is as follows:

    • Autoware Control Design
      • Outlining the policy for Autoware's control, which deals with only general information for autonomous driving systems and provides generic control commands to the vehicle.
    • Vehicle Adaptation Design
      • Describing the policy for vehicle adaptation, which utilizes adapter mechanisms to standardize the characteristics of the vehicle's drive system and integrate it with Autoware.
    • Control Feature Design
      • Demonstrating the features provided by Autoware's control.
      • Presenting the approach towards the functions installed in the vehicle such as ABS.
    "},{"location":"design/autoware-architecture/control/#autoware-control-design","title":"Autoware Control Design","text":"

    The Control Component generates the control signal to which the Vehicle Component subscribes. The generated control signals are computed based on the reference trajectories from the Planning Component.

    The Control Component consists of two modules. The trajectory_follower module generates a vehicle control command to follow the reference trajectory received from the planning module. The command includes, for example, the desired steering angle and target speed. The vehicle_command_gate is responsible for filtering the control command to prevent abnormal values and then sending it to the vehicle. This gate also allows switching between multiple sources such as the MRM (minimal risk maneuver) module or some remote control module, in addition to the trajectory follower.

    The Autoware control system is designed as a platform for automated driving systems that can be compatible with a diverse range of vehicles.

    The control process in Autoware uses general information (such as target acceleration and deceleration) and no vehicle-specific information (such as brake pressure) is used. Hence it can be adjusted independently of the vehicle's drive interface enabling easy integration or performance tuning.

    Furthermore, significant differences that affect vehicle motion constraints, such as two-wheel steering or four-wheel steering, are addressed by switching the control vehicle model, achieving control specialized for each characteristic.

    Autoware's control module outputs the necessary information to control the vehicle as a substitute for a human driver. For example, the control command from the control module looks like the following:

    - Target steering angle\n- Target steering torque\n- Target speed\n- Target acceleration\n

    Note that vehicle-specific values such as pedal positions and low-level information such as individual wheel rotation speeds are excluded from the command.

    "},{"location":"design/autoware-architecture/control/#vehicle-adaptation-design","title":"Vehicle Adaptation Design","text":""},{"location":"design/autoware-architecture/control/#vehicle-interface-adapter","title":"Vehicle interface adapter","text":"

    Autoware is designed to be an autonomous driving platform able to accommodate vehicles with various drivetrain types.

    This is an explanation of how Autoware handles the standardization of systems with different vehicle drivetrain. The interfaces for vehicle drivetrain are diverse, including steering angle, steering angular velocity, steering torque, speed, accel/brake pedals, and brake pressure. To accommodate these differences, Autoware adds an adapter module between the control component and the vehicle interface. This module performs the conversion between the proprietary message types used by the vehicle (such as brake pressure) and the generic types used by Autoware (such as desired acceleration). By providing this conversion information, the differences in vehicle drivetrain can be accommodated.

    If the information is not known in advance, an automatic calibration tool can be used. Calibration will occur within limited degrees of freedom, generating the information necessary for the drivetrain conversion automatically.

    This configuration is summarized in the following diagram.

    "},{"location":"design/autoware-architecture/control/#examples-of-several-vehicle-interfaces","title":"Examples of several vehicle interfaces","text":"

    This is an example of the several drivetrain types in the vehicle interface.

    Vehicle Lateral interface Longitudinal interface Note Lexus Steering angle Accel/brake pedal position Acceleration lookup table conversion for longitudinal JPN TAXI Steering angle Accel/brake pedal position Acceleration lookup table conversion for longitudinal GSM8 Steering EPS voltage Acceleration motor voltage, Deceleration brake hydraulic pressure lookup table and PID conversion for lateral and longitudinal YMC Golfcart Steering angle Velocity Logiee yaw rate Velocity F1 TENTH Steering angle Motor RPM interface code"},{"location":"design/autoware-architecture/control/#control-feature-design","title":"Control Feature Design","text":"

    The following lists the features provided by Autoware's Control/Vehicle component, as well as the conditions and assumptions required to utilize them effectively.

    The proper operation of the ODD is limited by factors such as whether the functions are enabled, delay time, calibration accuracy and degradation rate, and sensor accuracy.

    Feature Description\u3000 Requirements/Assumptions Note \u3000Limitation for now Lateral Control Control the drivetrain system related to lateral vehicle motion Trying to increase the number of vehicle types that can be supported in the future. Only front-steering type is supported. Longitudinal Control Control the drivetrain system related to longitudinal vehicle motion Slope Compensation Supports precise vehicle motion control on slopes Gradient information can be obtained from maps or sensors attached to the chassis If gradient information is not available, the gradient is estimated from the vehicle's pitch angle. Delay Compensation Controls the drivetrain system appropriately in the presence of time delays The drivetrain delay information is provided in advance If there is no delay information, the drivetrain delay is estimated automatically (automatic calibration). However, the effect of delay cannot be completely eliminated, especially in scenarios with sudden changes in speed. Only fixed delay times can be set for longitudinal and lateral drivetrain systems separately. It does not accommodate different delay times for the accelerator and brake. Drivetrain IF Conversion (Lateral Control) Converts the drivetrain-specific information of the vehicle into the drivetrain information used by Autoware (e.g., target steering angular velocity \u2192 steering torque) The conversion information is provided in advance If there is no conversion information, the conversion map is estimated automatically (automatic calibration). The degree of freedom for conversion is limited (2D lookup table + PID FB). Drivetrain IF Conversion (Longitudinal Control) Converts the drivetrain-specific information of the vehicle into the drivetrain information used by Autoware (e.g., target acceleration \u2192 accelerator/brake pedal value) The conversion information is provided in advance If there is no conversion information, the conversion map is estimated automatically (automatic calibration). The degree of freedom for conversion is limited (2D lookup table + PID FB). Automatic Calibration Automatically estimates and applies values such as drivetrain IF conversion map and delay time. The drivetrain status can be obtained (must) Anomaly Detection Notifies when there is a discrepancy in the calibration or unexpected drivetrain behavior The drivetrain status can be obtained (must) Steering Zero Point Correction Corrects the midpoint of the steering to achieve appropriate steering control The drivetrain status can be obtained (must) Steering Deadzone Correction Corrects the deadzone of the steering to achieve appropriate steering control The steering deadzone parameter is provided in advance If the parameter is unknown, the deadzone parameter is estimated from driving information Not available now Steering Deadzone Estimation Dynamically estimates the steering deadzone from driving data Not available now Weight Compensation Performs appropriate vehicle control according to weight Weight information can be obtained from sensors If there is no weight sensor, estimate the weight from driving information. Currently not available Weight Estimation Dynamically estimates weight from driving data Currently not available

    The list above does not cover wheel control systems such as ABS commonly used in vehicles. Regarding these features, the following considerations are taken into account.

    "},{"location":"design/autoware-architecture/control/#integration-with-vehicle-side-functions","title":"Integration with vehicle-side functions","text":"

    ABS (Anti-lock Brake System) and ESC (Electric Stability Control) are two functions that may be pre-installed on a vehicle, directly impacting its controllability. The control modules of Autoware assume that both ABS and ESC are installed on the vehicle and their absence may cause unreliable controls depending on the target ODD. For example, with low-velocity driving in a controlled environment, these functions are not necessary.

    Also, note that this statement does not negate the development of ABS functionality in autonomous driving systems.

    "},{"location":"design/autoware-architecture/control/#autoware-capabilities-and-vehicle-requirements","title":"Autoware Capabilities and Vehicle Requirements","text":"

    As an alternative to human driving, autonomous driving systems essentially aim to handle tasks that humans can perform. This includes not only controlling the steering wheel, accel, and brake, but also automatically detecting issues such as poor brake response or a misaligned steering angle. However, this is a trade-off, as better vehicle performance will lead to superior system behavior, ultimately affecting the design of ODD.

    On the other hand, for tasks that are not typically anticipated or cannot be handled by a human driver, processing in the vehicle ECU is expected. Examples of such scenarios include cases where the brake response is clearly delayed or when the vehicle rotates due to a single-side tire slipping. These tasks are typically handled by ABS or ESC.

    "},{"location":"design/autoware-architecture/localization/","title":"Index","text":"

    LOCALIZATION COMPONENT DESIGN DOC

    "},{"location":"design/autoware-architecture/localization/#abstract","title":"Abstract","text":""},{"location":"design/autoware-architecture/localization/#1-requirements","title":"1. Requirements","text":"

    Localization aims to estimate vehicle pose, velocity, and acceleration.

    Goals:

    • Propose a system that can estimate vehicle pose, velocity, and acceleration for as long as possible.
    • Propose a system that can diagnose the stability of estimation and send a warning message to the error-monitoring system if the estimation result is unreliable.
    • Design a vehicle localization function that can work with various sensor configurations.

    Non-goals:

    • This design document does not aim to develop a localization system that
      • is infallible in all environments
      • works outside of the pre-defined ODD (Operational Design Domain)
      • has better performance than is required for autonomous driving
    "},{"location":"design/autoware-architecture/localization/#2-sensor-configuration-examples","title":"2. Sensor Configuration Examples","text":"

    This section shows example sensor configurations and their expected performances. Each sensor has its own advantages and disadvantages, but overall performance can be improved by fusing multiple sensors.

    "},{"location":"design/autoware-architecture/localization/#3d-lidar-pointcloud-map","title":"3D-LiDAR + PointCloud Map","text":""},{"location":"design/autoware-architecture/localization/#expected-situation","title":"Expected situation","text":"
    • The vehicle is located in a structure-rich environment, such as an urban area
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable","title":"Situations that can make the system unstable","text":"
    • The vehicle is placed in a structure-less environment, such as a rural landscape, highway, or tunnel
    • Environmental changes have occurred since the map was created, such as snow cover or the construction/destruction of buildings.
    • Surrounding objects are occluded
    • The car is surrounded by objects undetectable by LiDAR, e.g., glass windows, reflections, or absorption (dark objects)
    • The environment contains laser beams at the same frequency as the car's LiDAR sensor(s)
    "},{"location":"design/autoware-architecture/localization/#functionality","title":"Functionality","text":"
    • The system can estimate the vehicle location on the point cloud map with the error of ~10cm.
    • The system is operable at night.
    "},{"location":"design/autoware-architecture/localization/#3d-lidar-or-camera-vector-map","title":"3D-LiDAR or Camera + Vector Map","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_1","title":"Expected situation","text":"
    • Road with clear white lines and loose curvatures, such as a highway or an ordinary local road.
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_1","title":"Situations that can make the system unstable","text":"
    • White lines are scratchy or covered by rain or snow
    • Tight curvature such as intersections
    • Large reflection change of the road surface caused by rain or paint
    "},{"location":"design/autoware-architecture/localization/#functionalities","title":"Functionalities","text":"
    • Correct vehicle positions along the lateral direction.
    • Pose correction along the longitudinal can be inaccurate, but can be resolved by fusing with GNSS.
    "},{"location":"design/autoware-architecture/localization/#gnss","title":"GNSS","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_2","title":"Expected situation","text":"
    • The vehicle is placed in an open environment with few to no surrounding objects, such as a rural landscape.
    "},{"location":"design/autoware-architecture/localization/#situation-that-can-make-the-system-unstable","title":"Situation that can make the system unstable","text":"
    • GNSS signals are blocked by surrounding objects, e.g., tunnels or buildings.
    "},{"location":"design/autoware-architecture/localization/#functionality_1","title":"Functionality","text":"
    • The system can estimate vehicle position in the world coordinate within an error of ~10m.
    • With a RKT-GNSS (Real Time Kinematic Global Navigation Satellite System) attached, the accuracy can be improved to ~10cm.
    • A system with this configuration can work without environment maps (both point cloud and vector map types).
    "},{"location":"design/autoware-architecture/localization/#camera-visual-odometry-visual-slam","title":"Camera (Visual Odometry, Visual SLAM)","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_3","title":"Expected situation","text":"
    • The vehicle is placed in an environment with rich visual features, such as an urban area.
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_2","title":"Situations that can make the system unstable","text":"
    • The vehicle is placed in a texture-less environment.
    • The vehicle is surrounded by other objects.
    • The camera observes significant illumination changes, such as those caused by sunshine, headlights from other vehicles or when approaching the exit of a tunnel.
    • The vehicle is placed in a dark environment.
    "},{"location":"design/autoware-architecture/localization/#functionality_2","title":"Functionality","text":"
    • The system can estimate odometry by tracking visual features.
    "},{"location":"design/autoware-architecture/localization/#wheel-speed-sensor","title":"Wheel speed sensor","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_4","title":"Expected situation","text":"
    • The vehicle is running on a flat and smooth road.
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_3","title":"Situations that can make the system unstable","text":"
    • The vehicle is running on a slippery or bumpy road, which can cause incorrect observations of wheel speed.
    "},{"location":"design/autoware-architecture/localization/#functionality_3","title":"Functionality","text":"
    • The system can acquire the vehicle velocity and estimate distance traveled.
    "},{"location":"design/autoware-architecture/localization/#imu","title":"IMU","text":""},{"location":"design/autoware-architecture/localization/#expected-environments","title":"Expected environments","text":"
    • Flat, smooth roads
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_4","title":"Situations that can make the system unstable","text":"
    • IMUs have a bias1 that is dependent on the surrounding temperature, and can cause incorrect sensor observation or odometry drift.
    "},{"location":"design/autoware-architecture/localization/#functionality_4","title":"Functionality","text":"
    • The system can observe acceleration and angular velocity.
    • By integrating these observations, the system can estimate the local pose change and realize dead-reckoning
    "},{"location":"design/autoware-architecture/localization/#geomagnetic-sensor","title":"Geomagnetic sensor","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_5","title":"Expected situation","text":"
    • The vehicle is placed in an environment with low magnetic noise
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_5","title":"Situations that can make the system unstable","text":"
    • The vehicle is placed in an environment with high magnetic noise, such as one containing buildings or structures with reinforced steel or other materials that generate electromagnetic waves.
    "},{"location":"design/autoware-architecture/localization/#functionality_5","title":"Functionality","text":"
    • The system can estimate the vehicle's direction in the world coordinate system.
    "},{"location":"design/autoware-architecture/localization/#magnetic-markers","title":"Magnetic markers","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_6","title":"Expected situation","text":"
    • The car is placed in an environment with magnetic markers installed.
    "},{"location":"design/autoware-architecture/localization/#situations-where-the-system-becomes-unstable","title":"Situations where the system becomes unstable","text":"
    • The markers are not maintained.
    "},{"location":"design/autoware-architecture/localization/#functionality_6","title":"Functionality","text":"
    • Vehicle location can be obtained on the world coordinate by detecting the magnetic markers.
    • The system can work even if the road is covered with snow.
    "},{"location":"design/autoware-architecture/localization/#3-requirements","title":"3. Requirements","text":"
    • By implementing different modules, various sensor configurations and algorithms can be used.
    • The localization system can start pose estimation from an ambiguous initial location.
    • The system can produce a reliable initial location estimation.
    • The system can manage the state of the initial location estimation (uninitialized, initializable, or non-initializable) and can report to the error monitor.
    "},{"location":"design/autoware-architecture/localization/#4-architecture","title":"4. Architecture","text":""},{"location":"design/autoware-architecture/localization/#abstract_1","title":"Abstract","text":"

    Two architectures are defined, \"Required\" and \"Recommended\". However, the \"Required\" architecture only contains the inputs and outputs necessary to accept various localization algorithms. To improve the reusability of each module, the required components are defined in the \"Recommended\" architecture section along with a more detailed explanation.

    "},{"location":"design/autoware-architecture/localization/#required-architecture","title":"Required Architecture","text":""},{"location":"design/autoware-architecture/localization/#input","title":"Input","text":"
    • Sensor message
      • e.g., LiDAR, camera, GNSS, IMU, CAN Bus, etc.
      • Data types should be ROS primitives for reusability
    • Map data
      • e.g., point cloud map, lanelet2 map, feature map, etc.
      • The map format should be chosen based on use case and sensor configuration
      • Note that map data is not required for some specific cases (e.g., GNSS-only localization)
    • tf, static_tf
      • map frame
      • base_link frame
    "},{"location":"design/autoware-architecture/localization/#output","title":"Output","text":"
    • Pose with covariance stamped
      • Vehicle pose, covariance, and timestamp on the map coordinate
      • 50Hz~ frequency (depending on the requirements of the Planning and Control components)
    • Twist with covariance stamped
      • Vehicle velocity, covariance, and timestamp on the base_link coordinate
      • 50Hz~ frequency
    • Accel with covariance stamped
      • Acceleration, covariance, and timestamp on the base_link coordinate
      • 50Hz~ frequency
    • Diagnostics
      • Diagnostics information that indicates if the localization module works properly
    • tf
      • tf of map to base_link
    "},{"location":"design/autoware-architecture/localization/#recommended-architecture","title":"Recommended Architecture","text":""},{"location":"design/autoware-architecture/localization/#pose-estimator","title":"Pose Estimator","text":"
    • Estimates the vehicle pose on the map coordinate by matching external sensor observation to the map
    • Provides the obtained pose and its covariance to PoseTwistFusionFilter
    "},{"location":"design/autoware-architecture/localization/#twist-accel-estimator","title":"Twist-Accel Estimator","text":"
    • Produces the vehicle velocity, angular velocity, acceleration, angular acceleration, and their covariances
      • It is possible to create a single module for both twist and acceleration or to create two separate modules - the choice of architecture is up to the developer
    • The twist estimator produces velocity and angular velocity from internal sensor observation
    • The accel estimator produces acceleration and angular acceleration from internal sensor observations
    "},{"location":"design/autoware-architecture/localization/#kinematics-fusion-filter","title":"Kinematics Fusion Filter","text":"
    • Produces the likeliest pose, velocity, acceleration, and their covariances, computed by fusing two kinds of information:
      • The pose obtained from the pose estimator.
      • The velocity and acceleration obtained from the twist-accel estimator
    • Produces tf of map to base_link according to the pose estimation result
    "},{"location":"design/autoware-architecture/localization/#localization-diagnostics","title":"Localization Diagnostics","text":"
    • Monitors and guarantees the stability and reliability of pose estimation by fusing information obtained from multiple localization modules
    • Reports error status to the error monitor
    "},{"location":"design/autoware-architecture/localization/#tf-tree","title":"TF tree","text":"frame meaning earth ECEF (Earth Centered Earth Fixed\uff09 map Origin of the map coordinate (ex. MGRS origin) viewer User-defined frame for rviz base_link Reference pose of the ego-vehicle (projection of the rear-axle center onto the ground surface) sensor Reference pose of each sensor

    Developers can optionally add other frames such as odom or base_footprint as long as the tf structure above is maintained.

    "},{"location":"design/autoware-architecture/localization/#the-localization-modules-ideal-functionality","title":"The localization module's ideal functionality","text":"
    • The localization module should provide pose, velocity, and acceleration for control, planning, and perception.
    • Latency and stagger should be sufficiently small or adjustable such that the estimated values can be used for control within the ODD (Operational Design Domain).
    • The localization module should produce the pose on a fixed coordinate frame.
    • Sensors should be independent of each other so that they can be easily replaced.
    • The localization module should provide a status indicating whether or not the autonomous vehicle can operate with the self-contained function or map information.
    • Tools or manuals should describe how to set proper parameters for the localization module
    • Valid calibration parameters should be provided to align different frame or pose coordinates and sensor timestamps.
    "},{"location":"design/autoware-architecture/localization/#kpi","title":"KPI","text":"

    To maintain sufficient pose estimation performance for safe operation, the following metrics are considered:

    • Safety
      • The distance traveled within the ODD where pose estimation met the required accuracy, divided by the overall distance traveled within the ODD, as a percentage.
      • The anomaly detection rate for situations where the localization module cannot estimate pose within the ODD
      • The accuracy of detecting when the vehicle goes outside of the ODD, as a percentage.
    • Computational load
    • Latency
    "},{"location":"design/autoware-architecture/localization/#5-interface-and-data-structure","title":"5. Interface and Data Structure","text":""},{"location":"design/autoware-architecture/localization/#6-concerns-assumptions-and-limitations","title":"6. Concerns, Assumptions, and Limitations","text":""},{"location":"design/autoware-architecture/localization/#prerequisites-of-sensors-and-inputs","title":"Prerequisites of sensors and inputs","text":""},{"location":"design/autoware-architecture/localization/#sensor-prerequisites","title":"Sensor prerequisites","text":"
    • Input data is not defective.
      • Internal sensor observation such as IMU continuously keeps the proper frequency.
    • Input data has correct and exact time stamps.
      • Estimated poses can be inaccurate or unstable if the timestamps are not exact.
    • Sensors are correctly mounted with exact positioning and accessible from TF.
      • If the sensor positions are inaccurate, estimation results may be incorrect or unstable.
      • A sensor calibration framework is required to properly obtain the sensor positions.
    "},{"location":"design/autoware-architecture/localization/#map-prerequisites","title":"Map prerequisites","text":"
    • Sufficient information is contained within the map.
      • Pose estimation might be unstable if there is insufficient information in the map.
      • A testing framework is necessary to check if the map has adequate information for pose estimation.
    • Map does not differ greatly from the actual environment.
      • Pose estimation might be unstable if the actual environment has different objects from the map.
      • Maps need updates according to new objects and seasonal changes.
    • Maps must be aligned to a uniform coordinate, or an alignment framework is in place.
      • If multiple maps with different coordinate systems are used, the misalignment between them can affect the localization performance.
    "},{"location":"design/autoware-architecture/localization/#computational-resources","title":"Computational resources","text":"
    • Sufficient computational resources should be provided to maintain accuracy and computation speed.
    1. For more details about bias, refer to the VectorNav IMU specifications page.\u00a0\u21a9

    "},{"location":"design/autoware-architecture/map/","title":"Map component design","text":""},{"location":"design/autoware-architecture/map/#map-component-design","title":"Map component design","text":""},{"location":"design/autoware-architecture/map/#1-overview","title":"1. Overview","text":"

    Autoware relies on high-definition point cloud maps and vector maps of the driving environment to perform various tasks such as localization, route planning, traffic light detection, and predicting the trajectories of pedestrians and other vehicles.

    This document describes the design of map component of Autoware, including its requirements, architecture design, features, data formats, and interface to distribute map information to the rest of autonomous driving stack.

    "},{"location":"design/autoware-architecture/map/#2-requirements","title":"2. Requirements","text":"

    Map should provide two types of information to the rest of the stack:

    • Semantic information about roads as a vector map
    • Geometric information about the environment as a point cloud map (optional)

    A vector map contains highly accurate information about a road network, lane geometry, and traffic lights. It is required for route planning, traffic light detection, and predicting the trajectories of other vehicles and pedestrians.

    A 3D point cloud map is primarily used for LiDAR-based localization and part of perception in Autoware. In order to determine the current position and orientation of the vehicle, a live scan captured from one or more LiDAR units is matched against a pre-generated 3D point cloud map. Therefore, an accurate point cloud map is crucial for good localization results. However, if the vehicle has an alternate localization method with enough accuracy, for example using camera-based localization, point cloud map may not be required to use Autoware.

    In addition to above two types of maps, Autoware also requires a supplemental file for specifying the coordinate system of the map in geodetic system.

    "},{"location":"design/autoware-architecture/map/#3-architecture","title":"3. Architecture","text":"

    This diagram describes the high-level architecture of Map component in Autoware.

    The Map component consists of the following sub-components:

    • Point Cloud Map Loading: Load and publish point cloud map
    • Vector Map Loading: Load and publish vector map
    • Projection Loading: Load and publish projection information for conversion between local coordinate (x, y, z) and geodetic coordinate (latitude, longitude, altitude)
    "},{"location":"design/autoware-architecture/map/#4-component-interface","title":"4. Component interface","text":""},{"location":"design/autoware-architecture/map/#input-to-the-map-component","title":"Input to the map component","text":"
    • From file system
      • Point cloud map and its metadata file
      • Vector map
      • Projection information
    "},{"location":"design/autoware-architecture/map/#output-from-the-map-component","title":"Output from the map component","text":"
    • To Sensing
      • Projection information: Used to convert GNSS data from geodetic coordinate system to local coordinate system
    • To Localization
      • Point cloud map: Used for LiDAR-based localization
      • Vector map: Used for localization methods based on road markings, etc
    • To Perception
      • Point cloud map: Used for obstacle segmentation by comparing LiDAR and point cloud map
      • Vector map: Used for vehicle trajectory prediction
    • To Planning
      • Vector map: Used for behavior planning
    • To API layer
      • Projection information: Used to convert localization results from local coordinate system to geodetic coordinate system
    "},{"location":"design/autoware-architecture/map/#5-map-specification","title":"5. Map Specification","text":""},{"location":"design/autoware-architecture/map/#point-cloud-map","title":"Point Cloud Map","text":"

    The point cloud map must be supplied as a file with the following requirements:

    • The point cloud map must be projected on the same coordinate defined in map_projection_loader in order to be consistent with the lanelet2 map and other packages that converts between local and geodetic coordinates. For more information, please refer to the readme of map_projection_loader.
    • It must be in the PCD (Point Cloud Data) file format, but can be a single PCD file or divided into multiple PCD files.
    • Each point in the map must contain X, Y, and Z coordinates.
    • An intensity or RGB value for each point may be optionally included.
    • It must cover the entire operational area of the vehicle. It is also recommended to include an additional buffer zone according to the detection range of sensors attached to the vehicle.
    • Its resolution should be at least 0.2 m to yield reliable localization results.
    • It can be in either local or global coordinates, but must be in global coordinates (georeferenced) to use GNSS data for localization.

    For more details on divided map format, please refer to the readme of map_loader in Autoware Universe.

    Note

    Three global coordinate systems are currently supported by Autoware, including Military Grid Reference System (MGRS), Universal Transverse Mercator (UTM), and Japan Rectangular Coordinate System. However, MGRS is a preferred coordinate system for georeferenced maps. In a map with MGRS coordinate system, the X and Y coordinates of each point represent the point's location within the 100,000-meter square, while the Z coordinate represents the point's elevation.

    "},{"location":"design/autoware-architecture/map/#vector-map","title":"Vector Map","text":"

    The vector cloud map must be supplied as a file with the following requirements:

    • It must be in Lanelet2 format, with additional modifications required by Autoware.
    • It must contain the shape and position information of lanes, traffic lights, stop lines, crosswalks, parking spaces, and parking lots.
    • Except at the beginning or end of a road, each lanelet in the map must be correctly connected to its predecessor, successors, left neighbor, and right neighbor.
    • Each lanelet in the map must contain traffic rule information including its speed limit, right of way, traffic direction, associated traffic lights, stop lines, and traffic signs.
    • It must cover the entire operational area of the vehicle.

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/map/#projection-information","title":"Projection Information","text":"

    The projection information must be supplied as a file with the following requirements:

    • It must be in YAML format, provided into map_projection_loader in current Autoware Universe implementation.
    • The file must contain the following information:
      • The name of the projection method used to convert between local and global coordinates
      • The parameters of the projection method (depending on the projection method)

    For further information, please refer to the readme of map_projection_loader in Autoware Universe.

    "},{"location":"design/autoware-architecture/node-diagram/","title":"Node diagram","text":""},{"location":"design/autoware-architecture/node-diagram/#node-diagram","title":"Node diagram","text":"

    This page depicts the node diagram designs for Autoware Core/Universe architecture.

    "},{"location":"design/autoware-architecture/node-diagram/#autoware-core","title":"Autoware Core","text":"

    TBD.

    "},{"location":"design/autoware-architecture/node-diagram/#autoware-universe","title":"Autoware Universe","text":"

    Open in draw.io for fullscreen

    Note that the diagram is for reference. We are planning to update this diagram every release and may have old information between the releases. If you wish to check the latest node diagram use rqt_graph after launching the Autoware.

    "},{"location":"design/autoware-architecture/perception/","title":"Perception component design","text":""},{"location":"design/autoware-architecture/perception/#perception-component-design","title":"Perception component design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/planning/","title":"Planning component design","text":""},{"location":"design/autoware-architecture/planning/#planning-component-design","title":"Planning component design","text":""},{"location":"design/autoware-architecture/planning/#overview","title":"Overview","text":"

    The Planning component generates the trajectory message that will be subscribed to by the Control component based on the environmental state obtained from the Localization and the Perception components.

    "},{"location":"design/autoware-architecture/planning/#requirements","title":"Requirements","text":"

    The goal of the Planning component is to generate a trajectory (path and velocity) of the ego vehicle that is safe and well-regulated while satisfying the given mission.

    Goals:

    • The basic functions are provided so that a simple ODD can be defined.
    • The functionality is modularized to accommodate the third-party components. That is, a complicated or realistic ODD needs not be defined by the basic functions provided by default.
    • The capability is extensible with the third-party components or the decision of human operators.
    • The mechanism and policy are separated to allow the system or operators to change the behavior of the ego vehicle. Ultimately speaking, the policy can be set to crash an obstacle and the mechanism always follows. Otherwise, the system is not safe from the design point of view.

    Non-goals:

    • The Planning component is not self-contained but can be extended with third parties.
    • The Planning component is not aimed at the complete functionality and capability.
    • The Planning component is not designed to always outperform human drivers.
    • The Planning component is not capable of \u201cnever crashes\u201d.
    "},{"location":"design/autoware-architecture/planning/#high-level-architecture","title":"High-level architecture","text":"

    This diagram describes the high-level architecture of the Planning Component.

    The Planning component consists of the following sub-components:

    • Mission Planning: Calculates the route based on the given goal and map information.
    • Scenario Planning: Determines the trajectory based on the current scenario, such as Lane Driving or Parking.
      • Lane Driving: Calculates the trajectory for driving within constructed lanes.
        • Behavior Planner: Calculates suitable path based on safety considerations and traffic rules.
        • Motion Planner: Calculates suitable trajectory for the vehicle by taking into account safety factors, vehicle motion considerations, and instructions from the behavior planner.
      • Parking: Calculates the trajectory for parking in unstructured areas.
    • Validation: Verifies the safety of the trajectory.

    Each component contains some modules that can be dynamically loaded and unloaded based on the situation. For instance, the Behavior Planning component includes modules such as lane change, intersection, and crosswalk modules.

    Our planning components are built based on the microautonomy architecture with Autoware. We adopt a modular system framework where the tasks are implemented as modules that can be dynamically loaded and unloaded to achieve different features depending on the given use cases.

    "},{"location":"design/autoware-architecture/planning/#component-interface","title":"Component interface","text":"

    This section describes the inputs and outputs of the Planning Component and of its internal modules. See the Planning Component Interface page for the current implementation.

    "},{"location":"design/autoware-architecture/planning/#input-to-the-planning-component","title":"Input to the planning component","text":"
    • From Map
      • Vector map: Contains all static information about the environment, including lane connection information for route planning, lane geometry for generating a reference path, and traffic rule-related information.
    • From Perception
      • Detected object information: Provides real-time information about objects that cannot be known in advance, such as pedestrians and other vehicles. The Planning Component plans maneuvers to avoid collisions with these objects.
      • Detected obstacle information: Supplies real-time information about the location of obstacles, which is more primitive than Detected Object and used for emergency stops and other safety measures.
      • Occupancy map information: Offers real-time information about the presence of pedestrians and other vehicles and occluded area information.
      • Traffic light recognition result: Provides the current state of each traffic light in real time. The Planning Component extracts relevant information for the planned path and determines whether to stop at intersections.
    • From Localization
      • Vehicle motion information: Includes the ego vehicle's position, velocity, acceleration, and other motion-related data.
    • From System
      • Operation mode: Indicates whether the vehicle is operating in Autonomous mode.
    • From Human Machine Interface (HMI)
      • Feature execution: Allows for executing/authorizing autonomous driving operations, such as lane changes or entering intersections, by human operators.
    • From API Layer
      • Goal: Represents the final position that the Planning Component aims to reach.
      • Checkpoint: Represents a midpoint along the route to the destination. This is used during route calculation.
      • Velocity limit: Sets the maximum speed limit for the vehicle.
    "},{"location":"design/autoware-architecture/planning/#output-from-the-planning-component","title":"Output from the planning component","text":"
    • To Control
      • Trajectory: Provides a smooth sequence of pose, twist, and acceleration that the Control Component must follow. The trajectory is typically 10 seconds long with a 0.1-second resolution.
      • Turn Signals: Controls the vehicle's turn indicators, such as right, left, hazard, etc. based on the planned maneuvers.
    • To System
      • Diagnostics: Reports the state of the Planning Component, indicating whether the processing is running correctly and whether a safe plan is being generated.
    • To Human Machine Interface (HMI)
      • Feature execution availability: Indicates the status of operations that can be executed or are required, such as lane changes or entering intersections.
      • Trajectory candidate: Shows the potential trajectory that will be executed after the user's execution.
    • To API Layer
      • Planning factors: Provides information about the reasoning behind the current planning behavior. This may include the position of target objects to avoid, obstacles that led to the decision to stop, and other relevant information.
    "},{"location":"design/autoware-architecture/planning/#internal-interface-in-the-planning-component","title":"Internal interface in the planning component","text":"
    • Mission Planning to Scenario Planning
      • Route: Offers guidance for the path that needs to be followed from the starting point to the destination. This path is determined based on information such as lane IDs defined on the map. At the route level, it doesn't explicitly indicate which specific lanes to take, and the route can contain multiple lanes.
    • Behavior Planning to Motion Planning
      • Path: Provides a rough position and velocity to be followed by the vehicle. These path points are usually defined with an interval of about 1 meter. Although other interval distances are possible, it may impact the precision or performance of the planning component.
      • Drivable area: Defines regions where the vehicle can drive, such as within lanes or physically drivable areas. It assumes that the motion planner will calculate the final trajectory within this defined area.
    • Scenario Planning to Validation
      • Trajectory: Defines the desired positions, velocities, and accelerations which the Control Component will try to follow. Trajectory points are defined at intervals of approximately 0.1 seconds based on the trajectory velocities.
    • Validation to Control Component
      • Trajectory: Same as above but with some additional safety considerations.
    "},{"location":"design/autoware-architecture/planning/#how-to-add-new-modules-wip","title":"How to add new modules (WIP)","text":"

    As mentioned in the goal session, this planning module is designed to be extensible by third-party components. For specific instructions on how to add new modules and expand its functionality, please refer to the provided documentation or guidelines (WIP).

    "},{"location":"design/autoware-architecture/planning/#supported-functions","title":"Supported Functions","text":"Feature Description Requirements Figure Route Planning Plan route from the ego vehicle position to the destination. Reference implementation is in Mission Planner, enabled by launching the mission_planner node. - Lanelet map (driving lanelets) Path Planning from Route Plan path to be followed from the given route. Reference implementation is in Behavior Path Planner. - Lanelet map (driving lanelets) Obstacle Avoidance Plan path to avoid obstacles by steering operation. Reference implementation is in Avoidance, Obstacle Avoidance Planner. Enable flag in parameter: launch obstacle_avoidance_planner true Demonstration Video - objects information Path Smoothing Plan path to achieve smooth steering. Reference implementation is in Obstacle Avoidance Planner. Demonstration Video - Lanelet map (driving lanelet) Narrow Space Driving Plan path to drive within the drivable area. Furthermore, when it is not possible to drive within the drivable area, stop the vehicle to avoid exiting the drivable area. Reference implementation is in Obstacle Avoidance Planner. Demonstration Video - Lanelet map (high-precision lane boundaries) Lane Change Plan path for lane change to reach the destination. Reference implementation is in Lane Change. Demonstration Video - Lanelet map (driving lanelets) Pull Over Plan path for pull over to park at the road shoulder. Reference implementation is in Goal Planner. Demonstration Videos: Simple Pull Over Arc Forward Pull Over Arc Backward Pull Over - Lanelet map (shoulder lane) Pull Out Plan path for pull over to start from the road shoulder. Reference implementation is in Pull Out Module. Demonstration Video: Simple Pull Out Backward Pull Out - Lanelet map (shoulder lane) Path Shift Plan path in lateral direction in response to external instructions. Reference implementation is in Side Shift Module. - None Obstacle Stop Plan velocity to stop for an obstacle on the path. Reference implementation is in Obstacle Stop Planner, Obstacle Cruise Planner. launch obstacle_stop_planner and enable flag: TODO, launch obstacle_cruise_planner and enable flag: TODO Demonstration Video - objects information Obstacle Deceleration Plan velocity to decelerate for an obstacle located around the path. Reference implementation is in Obstacle Stop Planner, Obstacle Cruise Planner. Demonstration Video - objects information Adaptive Cruise Control Plan velocity to follow the vehicle driving in front of the ego vehicle. Reference implementation is in Obstacle Stop Planner, Obstacle Cruise Planner. - objects information Decelerate for cut-in vehicles Plan velocity to avoid a risk for cutting-in vehicle to ego lane. Reference implementation is in Obstacle Cruise Planner. - objects information Surround Check at starting Plan velocity to prevent moving when an obstacle exists around the vehicle. Reference implementation is in Surround Obstacle Checker. Enable flag in parameter: use_surround_obstacle_check true in tier4_planning_component.launch.xml Demonstration Video - objects information Curve Deceleration Plan velocity to decelerate the speed on a curve. Reference implementation is in Motion Velocity Smoother. - None Curve Deceleration for Obstacle Plan velocity to decelerate the speed on a curve for a risk of obstacle collision around the path. Reference implementation is in Obstacle Velocity Limiter. Demonstration Video - objects information - Lanelet map (static obstacle) Crosswalk Plan velocity to stop or decelerate for pedestrians approaching or walking on a crosswalk. Reference implementation is in Crosswalk Module. Demonstration Video - objects information - Lanelet map (pedestrian crossing) Intersection Oncoming Vehicle Check Plan velocity for turning right/left at intersection to avoid a risk with oncoming other vehicles. Reference implementation is in Intersection Module. Demonstration Video - objects information - Lanelet map (intersection lane and yield lane) Intersection Blind Spot Check Plan velocity for turning right/left at intersection to avoid a risk with other vehicles or motorcycles coming from behind blind spot. Reference implementation is in Blind Spot Module. Demonstration Video - objects information - Lanelet map (intersection lane) Intersection Occlusion Check Plan velocity for turning right/left at intersection to avoid a risk with the possibility of coming vehicles from occlusion area. Reference implementation is in Intersection Module. Demonstration Video - objects information - Lanelet map (intersection lane) Intersection Traffic Jam Detection Plan velocity for intersection not to enter the intersection when a vehicle is stopped ahead for a traffic jam. Reference implementation is in Intersection Module. Demonstration Video - objects information - Lanelet map (intersection lane) Traffic Light Plan velocity for intersection according to a traffic light signal. Reference implementation is in Traffic Light Module. Demonstration Video - Traffic light color information Run-out Check Plan velocity to decelerate for the possibility of nearby objects running out into the path. Reference implementation is in Run Out Module. Demonstration Video - objects information Stop Line Plan velocity to stop at a stop line. Reference implementation is in Stop Line Module. Demonstration Video - Lanelet map (stop line) Occlusion Spot Check Plan velocity to decelerate for objects running out from occlusion area, for example, from behind a large vehicle. Reference implementation is in Occlusion Spot Module. Demonstration Video - objects information - Lanelet map (private/public lane) No Stop Area Plan velocity not to stop in areas where stopping is prohibited, such as in front of the fire station entrance. Reference implementation is in No Stopping Area Module. - Lanelet map (no stopping area) Merge from Private Area to Public Road Plan velocity for entering the public road from a private driveway to avoid a risk of collision with pedestrians or other vehicles. Reference implementation is in Merge from Private Area Module. - objects information - Lanelet map (private/public lane) WIP Speed Bump Plan velocity to decelerate for speed bumps. Reference implementation is in Speed Bump Module. Demonstration Video - Lanelet map (speed bump) Detection Area Plan velocity to stop at the corresponding stop when an object exist in the designated detection area. Reference implementation is in Detection Area Module. Demonstration Video - Lanelet map (detection area) No Drivable Lane Plan velocity to stop before exiting the area designated by ODD (Operational Design Domain) or stop the vehicle if autonomous mode started in out of ODD lane. Reference implementation is in No Drivable Lane Module. - Lanelet map (no drivable lane) Collision Detection when deviating from lane Plan velocity to avoid conflict with other vehicles driving in the another lane when the ego vehicle is deviating from own lane. Reference implementation is in Out of Lane Module. - objects information - Lanelet map (driving lane) WIP Parking Plan path and velocity for given goal in parking area. Reference implementation is in Free Space Planner. Demonstration Video - objects information - Lanelet map (parking area) Autonomous Emergency Braking (AEB) Perform an emergency stop if a collision with an object ahead is anticipated. It is noted that this function is expected as a final safety layer, and this should work even in the event of failures in the Localization or Perception system. Reference implementation is in Out of Lane Module. - Primitive objects Minimum Risk Maneuver (MRM) Provide appropriate MRM (Minimum Risk Maneuver) instructions when a hazardous event occurs. For example, when a sensor trouble found, send an instruction for emergency braking, moderate stop, or pulling over to the shoulder, depending on the severity of the situation. Reference implementation is in TODO - TODO WIP Trajectory Validation Check the planned trajectory is safe. If it is unsafe, take appropriate action, such as modify the trajectory, stop sending the trajectory or report to the autonomous driving system. Reference implementation is in Planning Validator. - None Running Lane Map Generation Generate lane map from localization data recorded in manual driving. Reference implementation is in WIP - None WIP Running Lane Optimization Optimize the centerline (reference path) of the map to make it smooth considering the vehicle kinematics. Reference implementation is in Static Centerline Optimizer. - Lanelet map (driving lanes) WIP"},{"location":"design/autoware-architecture/planning/#reference-implementation","title":"Reference Implementation","text":"

    The following diagram describes the reference implementation of the Planning component. By adding new modules or extending the functionalities, various ODDs can be supported.

    Note that some implementation does not adhere to the high-level architecture design and require updating.

    For more details, please refer to the design documents in each package.

    • mission_planner: calculate route from start to goal based on the map information.
    • behavior_path_planner: calculates path and drivable area based on the traffic rules.
      • lane_following
      • lane_change
      • avoidance
      • pull_over
      • pull_out
      • side_shift
    • behavior_velocity_planner: calculates max speed based on the traffic rules.
      • detection_area
      • blind_spot
      • cross_walk
      • stop_line
      • traffic_light
      • intersection
      • no_stopping_area
      • virtual_traffic_light
      • occlusion_spot
      • run_out
      • no_drivable_lane
    • obstacle_avoidance_planner: calculate path shape under obstacle and drivable area constraints
    • surround_obstacle_checker: keeps the vehicle being stopped when there are obstacles around the ego-vehicle. It works only when the vehicle is stopped.
    • obstacle_stop_planner: When there are obstacles on or near the trajectory, it calculates the maximum velocity of the trajectory points depending on the situation: stopping, slowing down, or adaptive cruise (following the car).
      • stop
      • slow_down
      • adaptive_cruise
    • costmap_generator: generates a costmap for path generation from dynamic objects and lane information.
    • freespace_planner: calculates trajectory considering the feasibility (e.g. curvature) for the freespace scene. Algorithms are described here.
    • scenario_selector : chooses a trajectory according to the current scenario.
    • external_velocity_limit_selector: takes an appropriate velocity limit from multiple candidates.
    • motion_velocity_smoother: calculates final velocity considering velocity, acceleration, and jerk constraints.
    "},{"location":"design/autoware-architecture/planning/#important-parameters","title":"Important Parameters","text":"Package Parameter Type Description obstacle_stop_planner stop_planner.stop_position.max_longitudinal_margin double distance between the ego and the front vehicle when stopping (when cruise_planner_type:=obstacle_stop_planner) obstacle_cruise_planner common.safe_distance_margin double distance between the ego and the front vehicle when stopping (when cruise_planner_type:=obstacle_cruise_planner) behavior_path_planner avoidance.avoidance.lateral.lateral_collision_margin double minimum lateral margin to obstacle on avoidance behavior_path_planner avoidance.avoidance.lateral.lateral_collision_safety_buffer double additional lateral margin to obstacle if possible on avoidance obstacle_avoidance_planner option.enable_outside_drivable_area_stop bool If set true, a stop point will be inserted before the path footprint is outside the drivable area."},{"location":"design/autoware-architecture/planning/#notation","title":"Notation","text":""},{"location":"design/autoware-architecture/planning/#1-self-crossing-road-and-overlapped","title":"[1] self-crossing road and overlapped","text":"

    To support the self-crossing road and overlapped road in the opposite direction, each planning module has to meet the specifications

    Currently, the supported modules are as follows.

    • lane_following (in behavior_path_planner)
    • detection_area (in behavior_velocity_planner)
    • stop_line (in behavior_velocity_planner)
    • virtual_traffic_light (in behavior_velocity_planner)
    • obstacle_avoidance_planner
    • obstacle_stop_planner
    • motion_velocity_smoother
    "},{"location":"design/autoware-architecture/planning/#2-size-of-path-points","title":"[2] Size of Path Points","text":"

    Some functions do not support paths with only one point. Therefore, each modules should generate the path with more than two path points.

    "},{"location":"design/autoware-architecture/sensing/","title":"Sensing component design","text":""},{"location":"design/autoware-architecture/sensing/#sensing-component-design","title":"Sensing component design","text":""},{"location":"design/autoware-architecture/sensing/#overview","title":"Overview","text":"

    Sensing component is a collection of modules that apply some primitive pre-processing to the raw sensor data.

    The sensor input formats are defined in this component.

    "},{"location":"design/autoware-architecture/sensing/#role","title":"Role","text":"
    • Abstraction of data formats to enable usage of sensors from various vendors
    • Perform common/primitive sensor data processing required by each component
    "},{"location":"design/autoware-architecture/sensing/#inputs","title":"Inputs","text":""},{"location":"design/autoware-architecture/sensing/#input-types","title":"Input types","text":"Sensor Data Message Type Point cloud (Lidars, depth cameras, etc.) sensor_msgs/msg/PointCloud2.msg Image (RGB, monochrome, depth, etc. cameras) sensor_msgs/msg/Image.msg Radar scan radar_msgs/msg/RadarScan.msg Radar tracks radar_msgs/msg/RadarTracks.msg GNSS-INS position sensor_msgs/msg/NavSatFix.msg GNSS-INS orientation autoware_sensing_msgs/GnssInsOrientationStamped.msg GNSS-INS velocity geometry_msgs/msg/TwistWithCovarianceStamped.msg GNSS-INS acceleration geometry_msgs/msg/AccelWithCovarianceStamped.msg Ultrasonics sensor_msgs/msg/Range.msg"},{"location":"design/autoware-architecture/sensing/#design-by-data-types","title":"Design by data-types","text":"
    • GNSS/INS data pre-processing design
    • Image pre-processing design
    • Point cloud pre-processing design
    • Radar data pre-processing design
    • Ultrasonics data pre-processing design
    "},{"location":"design/autoware-architecture/sensing/data-types/gnss-ins-data/","title":"GNSS/INS data pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/gnss-ins-data/#gnssins-data-pre-processing-design","title":"GNSS/INS data pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/sensing/data-types/image/","title":"Image pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/image/#image-pre-processing-design","title":"Image pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/","title":"Point cloud pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-pre-processing-design","title":"Point cloud pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#overview","title":"Overview","text":"

    Point cloud pre-processing is a collection of modules that apply some primitive pre-processing to the raw sensor data.

    This pipeline covers the flow of data from drivers to the perception stack.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#recommended-processing-pipeline","title":"Recommended processing pipeline","text":"
    graph TD\n    Driver[\"Lidar Driver\"] -->|\"Cloud XYZIRCADT\"| FilterPR[\"Polygon Remover Filter / CropBox Filter\"]\n\n    subgraph \"sensing\"\n    FilterPR -->|\"Cloud XYZIRCADT\"| FilterDC[\"Motion Distortion Corrector Filter\"]\n    FilterDC -->|\"Cloud XYZIRCAD\"| FilterOF[\"Outlier Remover Filter\"]\n    FilterOF -->|\"Cloud XYZIRC\"| FilterDS[\"Downsampler Filter\"]\n    FilterDS -->|\"Cloud XYZIRC\"| FilterTrans[\"Cloud Transformer\"]\n    FilterTrans -->|\"Cloud XYZIRC\"| FilterC\n\n    FilterX[\"...\"] -->|\"Cloud XYZIRC (i)\"| FilterC[\"Cloud Concatenator\"]\n    end\n\n    FilterC -->|\"Cloud XYZIRC\"| SegGr[\"Ground Segmentation\"]
    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#list-of-modules","title":"List of modules","text":"

    The modules used here are from pointcloud_preprocessor package.

    For details about the modules, see the following table.

    It is recommended that these modules are used in a single container as components. For details see ROS 2 Composition

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-fields","title":"Point cloud fields","text":"

    In the ideal case, the driver is expected to output a point cloud with the PointXYZIRCADT point type.

    name datatype derived description X FLOAT32 false X position Y FLOAT32 false Y position Z FLOAT32 false Z position I (intensity) UINT8 false Measured reflectivity, intensity of the point R (return type) UINT8 false Laser return type for dual return lidars C (channel) UINT16 false Vertical channel id of the laser that measured the point A (azimuth) FLOAT32 true atan2(Y, X), Horizontal angle from the front of the lidar to the point D (distance) FLOAT32 true hypot(X, Y, Z), Euclidean distance of the point to lidar T (time) UINT32 false Nanoseconds passed since the time of the header when this point was measured

    Note

    A (azimuth) and D (distance) fields are derived fields. They are provided by the driver to reduce the computational load on some parts of the perception stack.

    Note

    If the Motion Distortion Corrector Filter won't be used, the T (time) field can be omitted, PointXYZIRCAD point type can be used.

    Warning

    Autoware will support conversion from PointXYZI to PointXYZIRC or PointXYZIRCAD (with channel and return is set to 0) for prototyping purposes. However, this conversion is not recommended for production use since it's not efficient.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#intensity","title":"Intensity","text":"

    We will use following ranges for intensity, compatible with the VLP16 User Manual:

    Quoting from the VLP-16 User Manual:

    For each laser measurement, a reflectivity byte is returned in addition to distance. Reflectivity byte values are segmented into two ranges, allowing software to distinguish diffuse reflectors (e.g. tree trunks, clothing) in the low range from retroreflectors (e.g. road signs, license plates) in the high range. A retroreflector reflects light back to its source with a minimum of scattering. The VLP-16 provides its own light, with negligible separation between transmitting laser and receiving detector, so retroreflecting surfaces pop with reflected IR light compared to diffuse reflectors that tend to scatter reflected energy.

    • Diffuse reflectors report values from 0 to 100 for reflectivities from 0% to 100%.
    • Retroreflectors report values from 101 to 255, where 255 represents an ideal reflection.

    In a typical point cloud without retroreflectors, all intensity points will be between 0 and 100.

    Retroreflective Gradient road sign, Image Source

    But in a point cloud with retroreflectors, the intensity points will be between 0 and 255.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#intensity-mapping-for-other-lidar-brands","title":"Intensity mapping for other lidar brands","text":""},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#hesai-pandarxt16","title":"Hesai PandarXT16","text":"

    Hesai Pandar XT16 User Manual

    This lidar has 2 modes for reporting reflectivity:

    • Linear mapping
    • Non-linear mapping

    If you are using linear mapping mode, you should map from [0, 255] to [0, 100] when constructing the point cloud.

    If you are using non-linear mapping mode, you should map (hesai to autoware)

    • [0, 251] to [0, 100] and
    • [252, 254] to [101, 255]

    when constructing the point cloud.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#livox-mid-70","title":"Livox Mid-70","text":"

    Livox Mid-70 User Manual

    This lidar has 2 modes for reporting reflectivity similar to Velodyne VLP-16, only the ranges are slightly different.

    You should map (livox to autoware)

    • [0, 150] to [0, 100] and
    • [151, 255] to [101, 255]

    when constructing the point cloud.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#robosense-rs-lidar-16","title":"RoboSense RS-LiDAR-16","text":"

    RoboSense RS-LiDAR-16 User Manual

    No mapping required, same as Velodyne VLP-16.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#ouster-os-1-64","title":"Ouster OS-1-64","text":"

    Software User Manual v2.0.0 for all Ouster sensors

    In the manual it is stated:

    Reflectivity [16 bit unsigned int] - sensor Signal Photons measurements are scaled based on measured range and sensor sensitivity at that range, providing an indication of target reflectivity. Calibration of this measurement has not currently been rigorously implemented, but this will be updated in a future firmware release.

    So it is advised to map the 16 bit reflectivity to [0, 100] range.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#leishen-ch64w","title":"Leishen CH64W","text":"

    I couldn't get the english user manual, link of website

    In a user manual I was able to find it says:

    Byte 7 represents echo strength, and the value range is 0-255. (Echo strength can reflect the energy reflection characteristics of the measured object in the actual measurement environment. Therefore, the echo strength can be used to distinguish objects with different reflection characteristics.)

    So it is advised to map the [0, 255] to [0, 100] range.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#return-type","title":"Return type","text":"

    Various lidars support multiple return modes. Velodyne lidars support Strongest and Last return modes.

    In the PointXYZIRCT and PointXYZIRC types, R field represents return mode with an UINT8.

    R (return type) Description 0 Unknown / Not Marked 1 Strongest 2 Last"},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#channel","title":"Channel","text":"

    The channel field is used to identify the vertical channel of the laser that measured the point. In various lidar manuals or literature, it can also be called laser id, ring, laser line.

    For Velodyne VLP-16, there are 16 channels. Default order of channels in drivers are generally in firing order.

    In the PointXYZIRCT and PointXYZIRC types, C field represents the vertical channel id with an UINT16.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#solid-state-and-petal-pattern-lidars","title":"Solid state and petal pattern lidars","text":"

    Warning

    This section is subject to change. Following are suggestions and open for discussion.

    For solid state lidars that have lines, assign row number as the channel id.

    For petal pattern lidars, you can keep channel 0.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#time","title":"Time","text":"

    In lidar point clouds, each point measurement can have its individual time stamp. This information can be used to eliminate the motion blur that is caused by the movement of the lidar during the scan.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-header-time","title":"Point cloud header time","text":"

    The header contains a Time field. The time field has 2 components:

    Field Type Description sec int32 Unix time (seconds elapsed since January 1, 1970) nanosec uint32 Nanoseconds elapsed since the sec field

    The header of the point cloud message is expected to have the time of the earliest point it has.

    Note

    The sec field is int32 in ROS 2 humble. The largest value it can represent is 2^31 seconds, it is subject to year 2038 problems. We will wait for actions on ROS 2 community side.

    More info at: https://github.com/ros2/rcl_interfaces/issues/85

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#individual-point-time","title":"Individual point time","text":"

    Each PointXYZIRCT point type has the T field for representing the nanoseconds passed since the first-shot point of the point cloud.

    To calculate exact time each point was shot, the T nanoseconds are added to the header time.

    Note

    The T field is uint32 type. The largest value it can represent is 2^32 nanoseconds, which equates to roughly 4.29 seconds. Usual point clouds don't last more than 100ms for full cycle. So this field should be enough.

    "},{"location":"design/autoware-architecture/sensing/data-types/radar-data/","title":"Radar data pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/radar-data/#radar-data-pre-processing-design","title":"Radar data pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/sensing/data-types/ultrasonics-data/","title":"Ultrasonics data pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/ultrasonics-data/#ultrasonics-data-pre-processing-design","title":"Ultrasonics data pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/vehicle/","title":"Vehicle Interface design","text":""},{"location":"design/autoware-architecture/vehicle/#vehicle-interface-design","title":"Vehicle Interface design","text":""},{"location":"design/autoware-architecture/vehicle/#abstract","title":"Abstract","text":"

    The Vehicle Interface component provides an interface between Autoware and a vehicle that passes control signals to the vehicle\u2019s drive-by-wire system and receives vehicle information that is passed back to Autoware.

    "},{"location":"design/autoware-architecture/vehicle/#1-requirements","title":"1. Requirements","text":"

    Goals:

    • The Vehicle Interface component converts Autoware commands to a vehicle-specific format and converts vehicle status in a vehicle-specific format to Autoware messages.
    • The interface between Autoware and the Vehicle component is abstracted and independent of hardware.
    • The interface is extensible such that additional vehicle-specific commands can be easily added. For example, headlight control.

    Non-goals:

    • Accuracy of responses from the vehicle will not be defined, but example accuracy requirements from reference designs are provided as examples.
    • Response speed will not be defined.
    "},{"location":"design/autoware-architecture/vehicle/#2-architecture","title":"2. Architecture","text":"

    The Vehicle Interface component consists of the following components:

    • A Raw Vehicle Command Converter component that will pass through vehicle commands from the Control component if velocity/acceleration control is supported by the drive-by-wire system. Otherwise, the Control commands will be modified according to the control method (eg: converting a target acceleration from the Control component to a vehicle specific accel/brake pedal value through the use of an acceleration map)
    • A Vehicle Interface component (vehicle specific) that acts as an interface between Autoware and a vehicle to communicate control signals and to obtain information about the vehicle (steer output, tyre angle etc)

    Each component contains static nodes of Autoware, while each module can be dynamically loaded and unloaded (corresponding to C++ classes). The mechanism of the Vehicle Interface component is depicted by the following figures:

    "},{"location":"design/autoware-architecture/vehicle/#3-features","title":"3. Features","text":"

    The Vehicle Interface component can provide the following features in functionality and capability:

    • Basic functions

      • Converting Autoware control commands to vehicle specific command
      • Converting vehicle specific status information (velocity, steering) to Autoware status message
    • Diagnostics
      • List available features
      • Provide a warning if the Control component tries to use a feature that is not available in the Vehicle Interface component

    Additional functionality and capability features may be added, depending on the vehicle hardware. Some example features are listed below:

    • Safety features
      • Disengage autonomous driving via manual intervention.
        • This can be done through the use of an emergency disengage button, or by a safety driver manually turning the steering wheel or pressing the brake
    • Optional controls
      • Turn indicator
      • Handbrake
      • Headlights
      • Hazard lights
      • Doors
      • Horn
      • Wipers
    "},{"location":"design/autoware-architecture/vehicle/#4-interface-and-data-structure","title":"4. Interface and Data Structure","text":"

    The interface of the Vehicle Interface component for other components running in the same process space to access the functionality and capability of the Vehicle Interface component is defined as follows.

    From Control

    • Actuation Command
      • target acceleration, braking, and steering angle

    From Planning

    • Vehicle Specific Commands (optional and a separate message for each type)
      • Shift
      • Door
      • Wiper
      • etc

    From the vehicle

    • Vehicle status messages
      • Vehicle-specific format messages for conversion into Autoware-specific format messages
        • Velocity status
        • Steering status (optional)
        • Shift status (optional)
        • Turn signal status (optional)
        • Actuation status (optional)

    The output interface of the Vehicle Interface component:

    • Vehicle control messages to the vehicle
      • Control signals to drive the vehicle
      • Depends on the vehicle type/protocol, but should include steering and velocity commands at a minimum
    • Vehicle status messages to Autoware
    • Actuation Status
      • Acceleration, brake, steering status
    • Vehicle odometry (output to Localization)
      • Vehicle twist information
    • Control mode
      • Information about whether the vehicle is under autonomous control or manual control
    • Shift status (optional)
      • Vehicle shift status
    • Turn signal status (optional)
      • Vehicle turn signal status

    The data structure for the internal representation of semantics for the objects and trajectories used in the Vehicle Interface component is defined as follows:

    "},{"location":"design/autoware-architecture/vehicle/#5-concerns-assumptions-and-limitations","title":"5. Concerns, Assumptions, and Limitations","text":"

    Concerns

    • Architectural trade-offs and scalability

    Assumptions

    -

    Limitations

    "},{"location":"design/autoware-architecture/vehicle/#6-examples-of-accuracy-requirements-by-odd","title":"6. Examples of accuracy requirements by ODD","text":""},{"location":"design/autoware-concepts/","title":"Autoware concepts","text":""},{"location":"design/autoware-concepts/#autoware-concepts","title":"Autoware concepts","text":"

    Autoware is the world\u2019s first open-source software for autonomous driving systems. Autoware provides value for both The technology developers of autonomous driving systems can create new components based on Autoware. The service operators of autonomous driving systems, on the other hand, can select appropriate technology components with Autoware. This is enabled by the microautonomy architecture that modularizes its software stack into the core and universe subsystems (modules).

    "},{"location":"design/autoware-concepts/#microautonomy-architecture","title":"Microautonomy architecture","text":"

    Autoware uses a pipeline architecture to enable the development of autonomous driving systems. The pipeline architecture used in Autoware consists of components similar to three-layer-architecture. And they run in parallel. There are 2 main modules: the Core and the Universe. The components in these modules are designed to be extensible and reusable. And we call it microautonomy architecture.

    "},{"location":"design/autoware-concepts/#the-core-module","title":"The Core module","text":"

    The Core module contains basic runtimes and technology components that satisfy the basic functionality and capability of sensing, computing, and actuation required for autonomous driving systems. AWF develops and maintains the Core module with their architects and leading members through their working groups. Anyone can contribute to the Core but the PR(Pull Request) acceptance criteria is more strict compared to the Universe.

    "},{"location":"design/autoware-concepts/#the-universe-module","title":"The Universe module","text":"

    The Universe modules are extensions to the Core module that can be provided by the technology developers to enhance the functionality and capability of sensing, computing, and actuation. AWF provides the base Universe module to extend from. A key feature of the microautonomy architecture is that the Universe modules can be contributed to by any organization and individual. That is, you can even create your Universe and make it available for the Autoware community and ecosystem. AWF is responsible for quality control of the Universe modules through their development process. As a result, there are multiple types of the Universe modules - some are verified and validated by AWF and others are not. It is up to the users of Autoware which Universe modules are selected and integrated to build their end applications.

    "},{"location":"design/autoware-concepts/#interface-design","title":"Interface design","text":"

    The interface design is the most essential piece of the microautonomy architecture, which is classified into internal and external interfaces. The component interface is designed for the components in a Universe module to communicate with those in other modules, including the Core module, within Autoware internally. The AD(Autonomous Driving) API, on the other hand, is designed for the applications of Autoware to access the technology components in the Core and Universe modules of Autoware externally. Designing solid interfaces, the microautonomy architecture is made possible with AWF's partners, and at the same time is made feasible for the partners.

    "},{"location":"design/autoware-concepts/#challenges","title":"Challenges","text":"

    A grand challenge of the microautonomy architecture is to achieve real-time capability, which guarantees all the technology components activated in the system to predictably meet timing constraints (given deadlines). In general, it is difficult, if not impossible, to tightly estimate the worst-case execution times (WCETs) of components.

    In addition, it is also difficult, if not impossible, to tightly estimate the end-to-end latency of components connected by a DAG. Autonomous driving systems based on the microautonomy architecture, therefore, must be designed to be fail-safe but not never-fail. We accept that the timing constraints may be violated (the given deadlines may be missed) as far as the overrun is taken into account. The overrun handlers are two-fold: (i) platform-defined and (ii) user-defined. The platform-defined handler is implemented as part of the platform by default, while the user-defined handler can overwrite it or add a new handler to the system. This is what we call \u201cfail-safe\u201d on a timely basis.

    "},{"location":"design/autoware-concepts/#requirements-and-roadmap","title":"Requirements and roadmap","text":"

    Goals:

    • All open-source
    • Use case driven
    • Real-time (predictable) framework with overrun handling
    • Code quality
    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/","title":"How is Autoware Core/Universe different from Autoware.AI and Autoware.Auto?","text":""},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#how-is-autoware-coreuniverse-different-from-autowareai-and-autowareauto","title":"How is Autoware Core/Universe different from Autoware.AI and Autoware.Auto?","text":"

    Autoware is the world's first \"all-in-one\" open-source software for self-driving vehicles. Since it was first released in 2015, there have been multiple releases made with differing underlying concepts, each one aimed at improving the software.

    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#autowareai","title":"Autoware.AI","text":"

    Autoware.AI is the first distribution of Autoware that was released based on ROS 1. The repository contains a variety of packages covering different aspects of autonomous driving technologies - sensing, actuation, localization, mapping, perception and planning.

    While it was successful in attracting many developers and contributions, it was difficult to improve Autoware.AI's capabilities for a number of reasons:

    • A lack of concrete architecture design leading to a lot of built-up technical debt, such as tight coupling between modules and unclear module responsibility.
    • Differing coding standards for each package, with very low test coverage.

    Furthermore, there was no clear definition of the conditions under which an Autoware-enabled autonomous vehicle could operate, nor of the use cases or situations supported (eg: the ability to overtake a stationary vehicle).

    From the lessons learned from Autoware.AI development, a different development process was taken for Autoware.Auto to develop a ROS 2 version of Autoware.

    Warning

    Autoware.AI is currently in maintenance mode and will reach end-of-life at the end of 2022.

    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#autowareauto","title":"Autoware.Auto","text":"

    Autoware.Auto is the second distribution of Autoware that was released based on ROS 2. As part of the transition to ROS 2, it was decided to avoid simply porting Autoware.AI from ROS 1 to ROS 2. Instead, the codebase was rewritten from scratch with proper engineering practices, including defining target use cases and ODDs (eg: Autonomous Valet Parking [AVP], Cargo Delivery, etc.), designing a proper architecture, writing design documents and test code.

    Autoware.Auto development seemed to work fine initially, but after completing the AVP and and Cargo Delivery ODD projects, we started to see the following issues:

    • The barrier to new engineers was too high.
      • A lot of work was required to merge new features into Autoware.Auto, and so it was difficult for researchers and students to contribute to development.
      • As a consequence, most Autoware.Auto developers were from companies in the Autoware Foundation and so there were very few people who were able to add state-of-the-art features from research papers.
    • Making large-scale architecture changes was too difficult.
      • To try out experimental architecture, there was a very large overhead involved in keeping the main branch stable whilst also making sure that every change satisfied the continuous integration requirements.
    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#autoware-coreuniverse","title":"Autoware Core/Universe","text":"

    In order to address the issues with Autoware.Auto development, the Autoware Foundation decided to create a new architecture called Autoware Core/Universe.

    Autoware Core carries over the original policy of Autoware.Auto to be a stable and well-tested codebase. Alongside Autoware Core is a new concept called Autoware Universe, which acts as an extension of Autoware Core with the following benefits:

    • Users can easily replace a Core component with a Universe equivalent in order to use more advanced features, such as a new Localization or Perception algorithm.
    • Code quality requirements for Universe are more relaxed to make it easier for new developers, students and researchers to contribute, but will still be stricter than the requirements for Autoware.AI.
    • Any advanced features added to Universe that are useful to the wider Autoware community will be reviewed and considered for potential inclusion in the main Autoware Core codebase.

    This way, the primary requirement of having a stable and safe autonomous driving system can be achieved, whilst simultaneously enabling access to state-of-the-art features created by third-party contributors. For more details about the design of Autoware Core/Universe, refer to the Autoware concepts documentation page.

    "},{"location":"design/autoware-interfaces/","title":"Autoware interface design","text":""},{"location":"design/autoware-interfaces/#autoware-interface-design","title":"Autoware interface design","text":""},{"location":"design/autoware-interfaces/#abstract","title":"Abstract","text":"

    Autoware defines three categories of interfaces. The first one is Autoware AD API for operating the vehicle from outside the autonomous driving system such as the Fleet Management System (FMS) and Human Machine Interface (HMI) for operators or passengers. The second one is Autoware component interface for components to communicate with each other. The last one is the local interface used inside the component.

    "},{"location":"design/autoware-interfaces/#concept","title":"Concept","text":"
    • Applications can operate multiple and various vehicles in a common way.

    • Applications are not affected by version updates and implementation changes.

    • Developers only need to know the interface to add new features and hardware.

    "},{"location":"design/autoware-interfaces/#requirements","title":"Requirements","text":"

    Goals:

    • AD API provides functionality to create the following applications:
      • Drive the vehicle on the route or drive to the requested positions in order.
      • Operate vehicle behavior such as starting and stopping.
      • Display or announce the vehicle status to operators, passengers, and people around.
      • Control vehicle devices such as doors.
      • Monitor the vehicle or drive it manually.
    • AD API provides stable and long-term specifications. This enables unified access to all vehicles.
    • AD API hides differences in version and implementation and absorbs the impact of changes.
    • AD API has a default implementation and can be applied to some simple ODDs with options.
    • The AD API implementation is extensible with the third-party components as long as it meets the specifications.
    • The component interface provides stable and medium-term specifications. This makes it easier to add components.
    • The component interface clarifies the public and private parts of a component and improves maintainability.
    • The component interface is extensible with the third-party design to improve the sub-components' reusability.

    Non-goals:

    • AD API does not cover security. Use it with other reliable methods.
    • The component interface is just a specification, it does not include an implementation.
    "},{"location":"design/autoware-interfaces/#architecture","title":"Architecture","text":"

    The components of Autoware are connected via the component interface. Each component uses the interface to provide functionality and to access other components. AD API implementation is also a component. Since the functional elements required for AD API are defined as the component interface, other components do not need to consider AD API directly. Tools for evaluation and debugging, such as simulators, access both AD API and the component interface.

    The component interface has a hierarchical specification. The top-level architecture consists of some components. Each component has some options of the next-level architecture. Developers select one of them when implementing the component. The simplest next-level architecture is monolithic. This is an all-in-one and black box implementation, and is suitable for small group development, prototyping, and very complex functions. Others are arbitrary architecture consists of sub-components and have advantages for large group development. A sub-component can be combined with others that adopt the same architecture. Third parties can define and publish their own architecture and interface for open source development. It is desirable to propose them for standardization if they are sufficiently evaluated.

    "},{"location":"design/autoware-interfaces/#features","title":"Features","text":""},{"location":"design/autoware-interfaces/#communication-methods","title":"Communication methods","text":"

    As shown in the table below, interfaces are classified into four communication methods to define their behavior. Function Call is a request-response communication and is used for processing that requires immediate results. The others are publish-subscribe communication. Notification is used to process data that changes with some event, typically a callback. Streams handle continuously changing data. Reliable Stream expects all data to arrive without loss, Realtime Stream expects the latest data to arrive with low delay.

    Communication Method ROS Implementation Optional Implementation Function Call Service HTTP Notification Topic (reliable, transient_local) MQTT (QoS=2, retain) Reliable Stream Topic (reliable, volatile) MQTT (QoS=2) Realtime Stream Topic (best_effort, volatile) MQTT (QoS=0)

    These methods are provided as services or topics of ROS since Autoware is developed using ROS and mainly communicates with its packages. On the other hand, FMS and HMI are often implemented without ROS, Autoware is also expected to communicate with applications that do not use ROS. It is wasteful for each of these applications to have an adapter for Autoware, and a more suitable means of communication is required. HTTP and MQTT are suggested as additional options because these protocols are widely used and can substitute the behavior of services and topics. In that case, text formats such as JSON where field names are repeated in an array of objects, are inefficient and it is necessary to consider the serialization.

    "},{"location":"design/autoware-interfaces/#naming-convention","title":"Naming convention","text":"

    The name of the interface must be /<component name>/api/<interface name>, where <component name> is the name of the component. For an AD API component, omit this part and start with /api. The <interface name> is an arbitrary string separated by slashes. Note that this rule causes a restriction that the namespace api must not be used as a name other than AD API and the component interface.

    The following are examples of correct interface names for AD API and the component interface:

    • /api/autoware/state
    • /api/autoware/engage
    • /planning/api/route/set
    • /vehicle/api/status

    The following are examples of incorrect interface names for AD API and the component interface:

    • /ad_api/autoware/state
    • /autoware/engage
    • /planning/route/set/api
    • /vehicle/my_api/status
    "},{"location":"design/autoware-interfaces/#logging","title":"Logging","text":"

    It is recommended to log the interface for analysis of vehicle behavior. If logging is needed, rosbag is available for topics, and use logger in rclcpp or rclpy for services. Typically, create a wrapper for service and client classes that logs when a service is called.

    "},{"location":"design/autoware-interfaces/#restrictions","title":"Restrictions","text":"

    For each API, consider the restrictions such as following and describe them if necessary.

    Services:

    • response time
    • pre-condition
    • post-condition
    • execution order
    • concurrent execution

    Topics:

    • recommended delay range
    • maximum delay
    • recommended frequency range
    • minimum frequency
    • default frequency
    "},{"location":"design/autoware-interfaces/#data-structure","title":"Data structure","text":""},{"location":"design/autoware-interfaces/#data-type-definition","title":"Data type definition","text":"

    Do not share the types in AD API unless they are obviously the same to avoid changes in one API affecting another. Also, implementation-dependent types, including the component interface, should not be used in AD API for the same reason. Use the type in AD API in implementation, or create the same type and copy the data to convert the type.

    "},{"location":"design/autoware-interfaces/#constants-and-enumeration","title":"Constants and enumeration","text":"

    Since ROS don't support enumeration, use constants instead. The default value of type such as zero and empty string should not be used to detect that a variable is unassigned. Alternatively, assign it a dedicated name to indicate that it is undefined. If one type has multiple enumerations, comment on the correspondence between constants and variables. Do not use enumeration values directly, as assignments are subject to change when the version is updated.

    "},{"location":"design/autoware-interfaces/#time-stamp","title":"Time stamp","text":"

    Clarify what the timestamp indicates. for example, send time, measurement time, update time, etc. Consider having multiple timestamps if necessary. Use std_msgs/msg/Header when using ROS transform. Also consider whether the header is common to all data, independent for each data, or additional timestamp is required.

    "},{"location":"design/autoware-interfaces/#request-header","title":"Request header","text":"

    Currently, there is no required header.

    "},{"location":"design/autoware-interfaces/#response-status","title":"Response status","text":"

    The interfaces whose communication method is Function Call use a common response status to unify the error format. These interfaces should include a variable of ResponseStatus with the name status in the response. See autoware_adapi_v1_msgs/msg/ResponseStatus for details.

    "},{"location":"design/autoware-interfaces/#concerns-assumptions-and-limitations","title":"Concerns, assumptions and limitations","text":"
    • The applications use the version information provided by AD API to check compatibility. Unknown versions are also treated as available as long as the major versions match (excluding major version 0). Compatibility between AD API and the component interface is assumed to be maintained by the version management system.
    • If an unintended behavior of AD API is detected, the application should take appropriate action. Autoware tries to keep working as long as possible, but it is not guaranteed to be safe. Safety should be considered for the entire system, including the applications.
    "},{"location":"design/autoware-interfaces/ad-api/","title":"Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/#autoware-ad-api","title":"Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/#overview","title":"Overview","text":"

    Autoware AD API is the interface for operating the vehicle from outside the autonomous driving system. See here for the overall interface design of Autoware.

    "},{"location":"design/autoware-interfaces/ad-api/#user-stories","title":"User stories","text":"

    The user stories are service scenarios that AD API assumes. AD API is designed based on these scenarios. Each scenario is realized by a combination of use cases described later. If there are scenarios that cannot be covered, please discuss adding a user story.

    • Bus service
    • Taxi service
    "},{"location":"design/autoware-interfaces/ad-api/#use-cases","title":"Use cases","text":"

    Use cases are partial scenarios derived from the user story and generically designed. Service providers can combine these use cases to define user stories and check if AD API can be applied to their own scenarios.

    • Launch and terminate
    • Initialize the pose
    • Change the operation mode
    • Drive to the designated position
    • Get on and get off
    • Vehicle monitoring
    • Vehicle operation
    "},{"location":"design/autoware-interfaces/ad-api/#features","title":"Features","text":"
    • Interface
    • Operation Mode
    • Routing
    • Localization
    • Motion
    • Planning
    • Perception
    • Fail-safe
    • Vehicle status
    • Vehicle doors
    • Cooperation
    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/","title":"Cooperation","text":""},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#cooperation","title":"Cooperation","text":""},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#related-api","title":"Related API","text":"
    • /api/planning/velocity_factors
    • /api/planning/steering_factors
    • /api/planning/cooperation/set_commands
    • /api/planning/cooperation/set_policies
    • /api/planning/cooperation/get_policies
    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#description","title":"Description","text":"

    Request to cooperate (RTC) is a feature that enables a human operator to support the decision in autonomous driving mode. Autoware usually drives the vehicle using its own decisions, but the operator may prefer to make their decisions in experiments and complex situations.

    The planning component manages each situation that requires decision as a scene. Each scene has an ID that doesn't change until the scene is completed or canceled. The operator can override the decision of the target scene using this ID. In practice, the user interface application can hides the specification of the ID and provides an abstracted interface to the operator.

    For example, in the situation in the diagram below, vehicle is expected to make two lane changes and turning left at the intersection. Therefore the planning component generates three scene instances for each required action, and each scene instance will wait for the decision to be made, in this case \"changing or keeping lane\" and \"turning left or waiting at the intersection\". Here Autoware decides not to change lanes a second time due to the obstacle, so the vehicle will stop there. However, operator could overwrite that decision through RTC function and force the lane change so that vehicle could reach to it's goal. Using RTC, the operator can override these decisions to continue driving the vehicle to the goal.

    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#architecture","title":"Architecture","text":"

    Modules that support RTC have the operator decision and cooperation policy in addition to the module decision as shown below. These modules use the merged decision that is determined by these values when planning vehicle behavior. See decisions section for details of these values. The cooperation policy is used when there is no operator decision and has a default value set by the system settings. If the module supports RTC, these information are available in velocity factors or steering factors as cooperation status.

    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#sequence","title":"Sequence","text":"

    This is an example sequence that overrides the scene decision to force a lane change. It is for the second scene in the diagram in the architecture section. Here let's assume the cooperation policy is set to optional, see the decisions section described later for details.

    1. A planning module creates a scene instance with unique ID when approaching a place where a lane change is needed.
    2. The scene instance generates the module decision from the current situation. In this case, the module decision is not to do a lane change due to the obstacle.
    3. The scene instance generates the merged decision. At this point, there is no operator decision yet, so it is based on the module decision.
    4. The scene instance plans the vehicle to keep the lane according to the merged decision.
    5. The scene instance sends a cooperation status.
    6. The operator receives the cooperation status.
    7. The operator sends a cooperation command to override the module decision and to do a lane change.
    8. The scene instance receives the cooperation command and update the operator decision.
    9. The scene instance updates the module decision from the current situation.
    10. The scene instance updates the merged decision. It is based on the operator decision received.
    11. The scene instance plans the vehicle to change the lane according to the merged decision.
    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#decisions","title":"Decisions","text":"

    The merged decision is determined by the module decision, operator decision, and cooperation policy, each of which takes the value shown in the table below.

    Status Values merged decision deactivate, activate module decision deactivate, activate operator decision deactivate, activate, autonomous, none cooperation policy required, optional

    The meanings of these values are as follows. Note that the cooperation policy is common per module, so changing it will affect all scenes in the same module.

    Value Description deactivate An operator/module decision to plan vehicle behavior with priority on safety. activate An operator/module decision to plan vehicle behavior with priority on driving. autonomous An operator decision that follows the module decision. none An initial value for operator decision, indicating that there is no operator decision yet. required A policy that requires the operator decision to continue driving. optional A policy that does not require the operator decision to continue driving.

    The following flow is how the merged decision is determined.

    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#examples","title":"Examples","text":"

    This is an example of cooperation for lane change module. The behaviors by the combination of decisions are as follows.

    Operator decision Policy Module decision Description deactivate - - The operator instructs to keep lane regardless the module decision. So the vehicle keeps the lane by the operator decision. activate - - The operator instructs to change lane regardless the module decision. So the vehicle changes the lane by the operator decision. autonomous - deactivate The operator instructs to follow the module decision. So the vehicle keeps the lane by the module decision. autonomous - activate The operator instructs to follow the module decision. So the vehicle changes the lane by the module decision. none required - The required policy is used because no operator instruction. So the vehicle keeps the lane by the cooperation policy. none optional deactivate The optional policy is used because no operator instruction. So the vehicle keeps the lane by the module decision. none optional activate The optional policy is used because no operator instruction. So the vehicle change the lane by the module decision."},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/","title":"Fail-safe","text":""},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#fail-safe","title":"Fail-safe","text":""},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#related-api","title":"Related API","text":"
    • /api/fail_safe/mrm_state
    "},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#description","title":"Description","text":"

    This API manages the behavior related to the abnormality of the vehicle. It provides the state of Request to Intervene (RTI), Minimal Risk Maneuver (MRM) and Minimal Risk Condition (MRC). As shown below, Autoware has the gate to switch between the command during normal operation and the command during abnormal operation. For safety, Autoware switches the operation to MRM when an abnormality is detected. Since the required behavior differs depending on the situation, MRM is implemented in various places as a specific mode in a normal module or as an independent module. The fail-safe module selects the behavior of MRM according to the abnormality and switches the gate output to that command.

    "},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#states","title":"States","text":"

    The MRM state indicates whether MRM is operating. This state also provides success or failure. Generally, MRM will switch to another behavior if it fails.

    State Description NONE MRM is not operating. OPERATING MRM is operating because an abnormality has been detected. SUCCEEDED MRM succeeded. The vehicle is in a safe condition. FAILED MRM failed. The vehicle is still in an unsafe condition."},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#behavior","title":"Behavior","text":"

    There is a dependency between MRM behaviors. For example, it switches from a comfortable stop to a emergency stop, but not the other way around. This is service dependent. Autoware supports the following transitions by default.

    State Description NONE MRM is not operating or is operating but no special behavior is required. COMFORTABLE_STOP The vehicle will stop quickly with a comfortable deceleration. EMERGENCY_STOP The vehicle will stop immediately with as much deceleration as possible."},{"location":"design/autoware-interfaces/ad-api/features/interface/","title":"Interface","text":""},{"location":"design/autoware-interfaces/ad-api/features/interface/#interface","title":"Interface","text":""},{"location":"design/autoware-interfaces/ad-api/features/interface/#related-api","title":"Related API","text":"
    • /api/interface/version
    "},{"location":"design/autoware-interfaces/ad-api/features/interface/#description","title":"Description","text":"

    This API provides the interface version of the set of AD APIs. It follows Semantic Versioning in order to provide an intuitive understanding of the changes between versions.

    "},{"location":"design/autoware-interfaces/ad-api/features/localization/","title":"Localization","text":""},{"location":"design/autoware-interfaces/ad-api/features/localization/#localization","title":"Localization","text":""},{"location":"design/autoware-interfaces/ad-api/features/localization/#related-api","title":"Related API","text":"
    • /api/localization/initialization_state
    • /api/localization/initialize
    "},{"location":"design/autoware-interfaces/ad-api/features/localization/#description","title":"Description","text":"

    This API manages the initialization of localization. Autoware requires a global pose as the initial guess for localization.

    "},{"location":"design/autoware-interfaces/ad-api/features/localization/#states","title":"States","text":"State Description UNINITIALIZED Localization is not initialized. Waiting for a global pose as the initial guess. INITIALIZING Localization is initializing. INITIALIZED Localization is initialized. Initialization can be requested again if necessary."},{"location":"design/autoware-interfaces/ad-api/features/motion/","title":"Motion","text":""},{"location":"design/autoware-interfaces/ad-api/features/motion/#motion","title":"Motion","text":""},{"location":"design/autoware-interfaces/ad-api/features/motion/#related-api","title":"Related API","text":"
    • /api/motion/state
    • /api/motion/accept_start
    "},{"location":"design/autoware-interfaces/ad-api/features/motion/#description","title":"Description","text":"

    This API manages the current behavior of the vehicle. Applications can notify the vehicle behavior to the people around and visualize it for operator and passengers.

    "},{"location":"design/autoware-interfaces/ad-api/features/motion/#states","title":"States","text":"

    The motion state manages the stop and start of the vehicle. Once the vehicle has stopped, the state will be STOPPED. After this, when the vehicle tries to start (is still stopped), the state will be STARTING. In this state, calling the start API changes the state to MOVING and the vehicle starts. This mechanism can add processing such as announcements before the vehicle starts. Depending on the configuration, the state may transition directly from STOPPED to MOVING.

    State Description STOPPED The vehicle is stopped. STARTING The vehicle is stopped, but is trying to start. MOVING The vehicle is moving. BRAKING (T.B.D.) The vehicle is decelerating strongly."},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/","title":"Operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#operation-mode","title":"Operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#related-api","title":"Related API","text":"
    • /api/operation_mode/state
    • /api/operation_mode/change_to_autonomous
    • /api/operation_mode/change_to_stop
    • /api/operation_mode/change_to_local
    • /api/operation_mode/change_to_remote
    • /api/operation_mode/enable_autoware_control
    • /api/operation_mode/disable_autoware_control
    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#description","title":"Description","text":"

    As shown below, Autoware assumes that the vehicle interface has two modes, Autoware control and direct control. In direct control mode, the vehicle is operated using devices such as steering and pedals. If the vehicle does not support direct control mode, it is always treated as Autoware control mode. Autoware control mode has four operation modes.

    Mode Description Stop Keep the vehicle stopped. Autonomous Autonomously control the vehicle. Local Manually control the vehicle from nearby with some device such as a joystick. Remote Manually control the vehicle from a web application on the cloud.

    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#states","title":"States","text":""},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#autoware-control-flag","title":"Autoware control flag","text":"

    The flag is_autoware_control_enabled indicates if the vehicle is controlled by Autoware. The enable and disable APIs can be used if the control can be switched by software. These APIs will always fail if the vehicle does not support mode switching or is switched by hardware.

    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#operation-mode-and-change-flags","title":"Operation mode and change flags","text":"

    The state operation_mode indicates what command is used when Autoware control is enabled. The flags change_to_* can be used to check if it is possible to transition to each mode.

    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#transition-flag","title":"Transition flag","text":"

    Since Autoware may not be able to guarantee safety, such as switching to autonomous mode during overspeed. There is the flag is_in_transition for this situation and it will be true when changing modes. The operator who changed the mode should ensure safety while this flag is true. The flag will be false when the mode change is complete.

    "},{"location":"design/autoware-interfaces/ad-api/features/perception/","title":"Perception","text":""},{"location":"design/autoware-interfaces/ad-api/features/perception/#perception","title":"Perception","text":""},{"location":"design/autoware-interfaces/ad-api/features/perception/#related-api","title":"Related API","text":"
    • /api/perception/objects
    "},{"location":"design/autoware-interfaces/ad-api/features/perception/#description","title":"Description","text":"

    API for perception related topic.

    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/","title":"Planning factors","text":""},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#planning-factors","title":"Planning factors","text":""},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#related-api","title":"Related API","text":"
    • /api/planning/velocity_factors
    • /api/planning/steering_factors
    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#description","title":"Description","text":"

    This API manages the planned behavior of the vehicle. Applications can notify the vehicle behavior to the people around and visualize it for operator and passengers.

    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#velocity-factors","title":"Velocity factors","text":"

    The velocity factors is an array of information on the behavior that the vehicle stops or slows down. Each factor has a behavior type which is described below. Some behavior types have sequence and details as additional information.

    Behavior Description surrounding-obstacle There are obstacles immediately around the vehicle. route-obstacle There are obstacles along the route ahead. intersection There are obstacles in other lanes in the path. crosswalk There are obstacles on the crosswalk. rear-check There are obstacles behind that would be in a human driver's blind spot. user-defined-attention-area There are obstacles in the predefined attention area. no-stopping-area There is not enough space beyond the no stopping area. stop-sign A stop by a stop sign. traffic-signal A stop by a traffic signal. v2x-gate-area A stop by a gate area. It has enter and leave as sequences and v2x type as details. merge A stop before merging lanes. sidewalk A stop before crossing the sidewalk. lane-change A lane change. avoidance A path change to avoid an obstacle in the current lane. emergency-operation A stop by emergency instruction from the operator.

    Each factor also provides status, poses in the base link frame, and distance from that pose. As the vehicle approaches the stop position, this factor appears with a status of APPROACHING. And when the vehicle reaches that position and stops, the status will be STOPPED. The pose indicates the stop position, or the base link if the stop position cannot be calculated.

    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#steering-factors","title":"Steering factors","text":"

    The steering factors is an array of information on the maneuver that requires use of turn indicators, such as turning left or right. Each factor has a behavior type which is described below and steering direction. Some behavior types have sequence and details as additional information.

    Behavior Description intersection A turning left or right at an intersection. lane-change A lane change. avoidance A path change to avoid an obstacle. It has a sequence of change and return. start-planner T.B.D. goal-planner T.B.D. emergency-operation A path change by emergency instruction from the operator.

    Each factor also provides status, poses in the base link frame, and distances from that poses. As the vehicle approaches the position to start steering, this factor appears with a status of APPROACHING. And when the vehicle reaches that position, the status will be TURNING. The poses indicate the start and end position of the section where the status is TURNING.

    In cases such as lane change and avoidance, the vehicle will start steering at any position in the range depending on the situation. For these types, the section where the status is TURNING will be updated dynamically and the poses will follow that.

    "},{"location":"design/autoware-interfaces/ad-api/features/routing/","title":"Routing","text":""},{"location":"design/autoware-interfaces/ad-api/features/routing/#routing","title":"Routing","text":""},{"location":"design/autoware-interfaces/ad-api/features/routing/#related-api","title":"Related API","text":"
    • /api/routing/state
    • /api/routing/route
    • /api/routing/set_route_points
    • /api/routing/set_route
    • /api/routing/clear_route
    "},{"location":"design/autoware-interfaces/ad-api/features/routing/#description","title":"Description","text":"

    This API manages destination and waypoints. Note that waypoints are not like stops and just points passing through. In other words, Autoware does not support the route with multiple stops, the application needs to split it up and switch them. There are two ways to set the route. The one is a generic method that uses pose, another is a map-dependent.

    "},{"location":"design/autoware-interfaces/ad-api/features/routing/#states","title":"States","text":"State Description UNSET The route is not set. Waiting for a route request. SET The route is set. ARRIVED The vehicle has arrived at the destination. CHANGING Trying to change the route. Not implemented yet."},{"location":"design/autoware-interfaces/ad-api/features/routing/#goal-modification","title":"Goal modification","text":"

    Autoware tries to look for an alternate goal when goal is unreachable (e.g., when there is an obstacle on the given goal). When setting a route from the API, applications can choose whether they allow Autoware to adjust goal pose in such situation. When set false, Autoware may get stuck until the given goal becomes reachable.

    Option Description allow_goal_modification If true, allow goal modification."},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/","title":"Vehicle doors","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#vehicle-doors","title":"Vehicle doors","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#related-api","title":"Related API","text":"
    • /api/vehicle/doors/layout
    • /api/vehicle/doors/status
    • /api/vehicle/doors/command
    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#description","title":"Description","text":"

    This feature is available if the vehicle provides a software interface for the doors. It can be used to create user interfaces for passengers or to control sequences at bus stops.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#layout","title":"Layout","text":"

    Each door in a vehicle is assigned an array index. This assignment is vehicle dependent. The layout API returns this information. The description field is a string to display in the user interface, etc. This is an arbitrary string and is not recommended to use for processing in applications. Use the roles field to know doors for getting on and off. Below is an example of the information returned by the layout API.

    Index Description Roles 0 front right - 1 front left GET_ON 2 rear right GET_OFF 3 rear left GET_ON, GET_OFF"},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#status","title":"Status","text":"

    The status API provides an array of door status. This array order is consistent with the layout API.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#control","title":"Control","text":"

    Use the command API to control doors. Unlike the status and layout APIs, array index do not correspond to doors. The command has a field to specify the target door index.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/","title":"Vehicle status","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#vehicle-status","title":"Vehicle status","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#related-api","title":"Related API","text":"
    • /api/vehicle/kinematics
    • /api/vehicle/status
    • /api/vehicle/dimensions
    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#kinematics","title":"Kinematics","text":"

    This is an estimate of the vehicle kinematics. The vehicle position is necessary for applications to schedule dispatches. Also, using velocity and acceleration, applications can find vehicles that need operator assistance, such as stuck or brake suddenly.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#status","title":"Status","text":"

    This is the status provided by the vehicle. The indicators and steering are mainly used for visualization and remote control. The remaining energy can be also used for vehicle scheduling.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#dimensions","title":"Dimensions","text":"

    The vehicle dimensions are used to know the actual distance between the vehicle and objects because the vehicle position in kinematics is the coordinates of the base link. This is necessary for visualization when supporting vehicles remotely.

    "},{"location":"design/autoware-interfaces/ad-api/list/","title":"List of Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/list/#list-of-autoware-ad-api","title":"List of Autoware AD API","text":"
    • /api/fail_safe/mrm_state
    • /api/interface/version
    • /api/localization/initialization_state
    • /api/localization/initialize
    • /api/motion/accept_start
    • /api/motion/state
    • /api/operation_mode/change_to_autonomous
    • /api/operation_mode/change_to_local
    • /api/operation_mode/change_to_remote
    • /api/operation_mode/change_to_stop
    • /api/operation_mode/disable_autoware_control
    • /api/operation_mode/enable_autoware_control
    • /api/operation_mode/state
    • /api/perception/objects
    • /api/planning/cooperation/get_policies
    • /api/planning/cooperation/set_commands
    • /api/planning/cooperation/set_policies
    • /api/planning/steering_factors
    • /api/planning/velocity_factors
    • /api/routing/clear_route
    • /api/routing/route
    • /api/routing/set_route
    • /api/routing/set_route_points
    • /api/routing/state
    • /api/vehicle/dimensions
    • /api/vehicle/doors/command
    • /api/vehicle/doors/layout
    • /api/vehicle/doors/status
    • /api/vehicle/kinematics
    • /api/vehicle/status
    "},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/","title":"/api/fail_safe/mrm_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#apifail_safemrm_state","title":"/api/fail_safe/mrm_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/MrmState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#description","title":"Description","text":"

    Get the MRM state. For details, see the fail-safe.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#message","title":"Message","text":"Name Type Description state uint16 The state of MRM operation. behavior uint16 The currently selected behavior of MRM."},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/","title":"/api/interface/version","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#apiinterfaceversion","title":"/api/interface/version","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_version_msgs/srv/InterfaceVersion
    "},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#description","title":"Description","text":"

    Get the interface version. The version follows Semantic Versioning.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#response","title":"Response","text":"Name Type Description major uint16 major version minor uint16 minor version patch uint16 patch version"},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/","title":"/api/localization/initialization_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#apilocalizationinitialization_state","title":"/api/localization/initialization_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/LocalizationInitializationState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#description","title":"Description","text":"

    Get the initialization state of localization. For details, see the localization.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#message","title":"Message","text":"Name Type Description state uint16 A value of the localization initialization state."},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/","title":"/api/localization/initialize","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#apilocalizationinitialize","title":"/api/localization/initialize","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/InitializeLocalization
    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#description","title":"Description","text":"

    Request to initialize localization. For details, see the localization.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#request","title":"Request","text":"Name Type Description pose geometry_msgs/msg/PoseWithCovarianceStamped[<=1] A global pose as the initial guess. If omitted, the GNSS pose will be used."},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/","title":"/api/motion/accept_start","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#apimotionaccept_start","title":"/api/motion/accept_start","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/AcceptStart
    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#description","title":"Description","text":"

    Accept the vehicle to start. This API can be used when the motion state is STARTING.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/","title":"/api/motion/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#apimotionstate","title":"/api/motion/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/MotionState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#description","title":"Description","text":"

    Get the motion state. For details, see the motion state.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#message","title":"Message","text":"Name Type Description state uint16 A value of the motion state."},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/","title":"/api/operation_mode/change_to_autonomous","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#apioperation_modechange_to_autonomous","title":"/api/operation_mode/change_to_autonomous","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#description","title":"Description","text":"

    Change the operation mode to autonomous. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/","title":"/api/operation_mode/change_to_local","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#apioperation_modechange_to_local","title":"/api/operation_mode/change_to_local","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#description","title":"Description","text":"

    Change the operation mode to local. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/","title":"/api/operation_mode/change_to_remote","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#apioperation_modechange_to_remote","title":"/api/operation_mode/change_to_remote","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#description","title":"Description","text":"

    Change the operation mode to remote. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/","title":"/api/operation_mode/change_to_stop","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#apioperation_modechange_to_stop","title":"/api/operation_mode/change_to_stop","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#description","title":"Description","text":"

    Change the operation mode to stop. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/","title":"/api/operation_mode/disable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#apioperation_modedisable_autoware_control","title":"/api/operation_mode/disable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#description","title":"Description","text":"

    Disable vehicle control by Autoware. For details, see the operation mode. This API fails if the vehicle does not support mode change by software.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/","title":"/api/operation_mode/enable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#apioperation_modeenable_autoware_control","title":"/api/operation_mode/enable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#description","title":"Description","text":"

    Enable vehicle control by Autoware. For details, see the operation mode. This API fails if the vehicle does not support mode change by software.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/","title":"/api/operation_mode/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#apioperation_modestate","title":"/api/operation_mode/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/OperationModeState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#description","title":"Description","text":"

    Get the operation mode state. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#message","title":"Message","text":"Name Type Description mode uint8 The selected command for Autoware control. is_autoware_control_enabled bool True if vehicle control by Autoware is enabled. is_in_transition bool True if the operation mode is in transition. is_stop_mode_available bool True if the operation mode can be changed to stop. is_autonomous_mode_available bool True if the operation mode can be changed to autonomous. is_local_mode_available bool True if the operation mode can be changed to local. is_remote_mode_available bool True if the operation mode can be changed to remote."},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/","title":"/api/perception/objects","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#apiperceptionobjects","title":"/api/perception/objects","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/DynamicObjectArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#description","title":"Description","text":"

    Get the recognized objects array with label, shape, current position and predicted path For details, see the perception.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#message","title":"Message","text":"Name Type Description objects.id unique_identifier_msgs/msg/UUID The UUID of each object objects.existence_probability float64 The probability of the object exits objects.classification autoware_adapi_v1_msgs/msg/ObjectClassification[] The type of the object recognized and the confidence level objects.kinematics autoware_adapi_v1_msgs/msg/DynamicObjectKinematics Consist of the object pose, twist, acceleration and the predicted_paths objects.shape shape_msgs/msg/SolidPrimitive escribe the shape of the object with dimension, and polygon"},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/","title":"/api/planning/steering_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#apiplanningsteering_factors","title":"/api/planning/steering_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/SteeringFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#description","title":"Description","text":"

    Get the steering factors, sorted in ascending order of distance. For details, see the planning factors.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#message","title":"Message","text":"Name Type Description factors.pose geometry_msgs/msg/Pose[2] The base link pose related to the steering factor. factors.distance float32[2] The distance from the base link to the above pose. factors.direction uint16 The direction of the steering factor. factors.status uint16 The status of the steering factor. factors.behavior string The behavior type of the steering factor. factors.sequence string The sequence type of the steering factor. factors.detail string The additional information of the steering factor. factors.cooperation autoware_adapi_v1_msgs/msg/CooperationStatus[<=1] The cooperation status if the module supports."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/","title":"/api/planning/velocity_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#apiplanningvelocity_factors","title":"/api/planning/velocity_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/VelocityFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#description","title":"Description","text":"

    Get the velocity factors, sorted in ascending order of distance. For details, see the planning factors.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#message","title":"Message","text":"Name Type Description factors.pose geometry_msgs/msg/Pose The base link pose related to the velocity factor. factors.distance float32 The distance from the base link to the above pose. factors.status uint16 The status of the velocity factor. factors.behavior string The behavior type of the velocity factor. factors.sequence string The sequence type of the velocity factor. factors.detail string The additional information of the velocity factor. factors.cooperation autoware_adapi_v1_msgs/msg/CooperationStatus[<=1] The cooperation status if the module supports."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/","title":"/api/planning/cooperation/get_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#apiplanningcooperationget_policies","title":"/api/planning/cooperation/get_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#description","title":"Description","text":"

    Get the default decision that is used instead when the operator's decision is undecided. For details, see the cooperation.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status policies.behavior string The type of the target behavior. policies.sequence string The type of the target sequence. policies.policy uint8 The type of the cooporation policy."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/","title":"/api/planning/cooperation/set_commands","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#apiplanningcooperationset_commands","title":"/api/planning/cooperation/set_commands","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetCooperationCommands
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#description","title":"Description","text":"

    Set the operator's decision for cooperation. For details, see the cooperation.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#request","title":"Request","text":"Name Type Description commands.uuid unique_identifier_msgs/msg/UUID The ID in the cooperation status. commands.cooperator autoware_adapi_v1_msgs/msg/CooperationDecision The operator's decision."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/","title":"/api/planning/cooperation/set_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#apiplanningcooperationset_policies","title":"/api/planning/cooperation/set_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#description","title":"Description","text":"

    Set the default decision that is used instead when the operator's decision is undecided. For details, see the cooperation.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#request","title":"Request","text":"Name Type Description policies.behavior string The type of the target behavior. policies.sequence string The type of the target sequence. policies.policy uint8 The type of the cooporation policy."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/","title":"/api/routing/clear_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#apiroutingclear_route","title":"/api/routing/clear_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ClearRoute
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#description","title":"Description","text":"

    Clear the route.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/","title":"/api/routing/route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#apiroutingroute","title":"/api/routing/route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/Route
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#description","title":"Description","text":"

    Get the route with the waypoint segments in lanelet format. It is empty if route is not set.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#message","title":"Message","text":"Name Type Description header std_msgs/msg/Header header for pose transformation data autoware_adapi_v1_msgs/msg/RouteData[<=1] The route in lanelet format"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/","title":"/api/routing/set_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#apiroutingset_route","title":"/api/routing/set_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetRoute
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#description","title":"Description","text":"

    Set the route with the waypoint segments in lanelet format. If start pose is not specified, the current pose will be used.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#request","title":"Request","text":"Name Type Description header std_msgs/msg/Header header for pose transformation goal geometry_msgs/msg/Pose goal pose segments autoware_adapi_v1_msgs/msg/RouteSegment[] waypoint segments in lanelet format"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/","title":"/api/routing/set_route_points","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#apiroutingset_route_points","title":"/api/routing/set_route_points","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetRoutePoints
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#description","title":"Description","text":"

    Set the route with the waypoint poses. If start pose is not specified, the current pose will be used.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#request","title":"Request","text":"Name Type Description header std_msgs/msg/Header header for pose transformation goal geometry_msgs/msg/Pose goal pose waypoints geometry_msgs/msg/Pose[] waypoint poses"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/","title":"/api/routing/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#apiroutingstate","title":"/api/routing/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/RouteState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#description","title":"Description","text":"

    Get the route state. For details, see the routing.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#message","title":"Message","text":"Name Type Description state uint16 A value of the route state."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/","title":"/api/vehicle/dimensions","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#apivehicledimensions","title":"/api/vehicle/dimensions","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#description","title":"Description","text":"

    Get the vehicle dimensions. See here for the definition of each value.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status dimensions autoware_adapi_v1_msgs/msg/VehicleDimensions vehicle dimensions"},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/","title":"/api/vehicle/kinematics","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#apivehiclekinematics","title":"/api/vehicle/kinematics","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/VehicleKinematics
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#description","title":"Description","text":"

    Publish vehicle kinematics.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#message","title":"Message","text":"Name Type Description geographic_pose geographic_msgs/msg/GeoPointStamped The longitude and latitude of the vehicle. If the map uses local coordinates, it will not be available. pose geometry_msgs/msg/PoseWithCovarianceStamped The pose with covariance from the base link. twist geometry_msgs/msg/TwistWithCovarianceStamped Vehicle current twist with covariance. accel geometry_msgs/msg/AccelWithCovarianceStamped Vehicle current acceleration with covariance."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/","title":"/api/vehicle/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#apivehiclestatus","title":"/api/vehicle/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#description","title":"Description","text":"

    Publish vehicle state information.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#message","title":"Message","text":"Name Type Description gear autoware_adapi_v1_msgs/msg/Gear Gear status. turn_indicators autoware_adapi_v1_msgs/msg/TurnIndicators Turn indicators status, only either left or right will be enabled. hazard_lights autoware_adapi_v1_msgs/msg/HazardLights Hazard lights status. steering_tire_angle float64 Vehicle current tire angle in radian. energy_percentage float32 Battery percentage or fuel percentage, it will depends on the vehicle."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/","title":"/api/vehicle/doors/command","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#apivehicledoorscommand","title":"/api/vehicle/doors/command","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetDoorCommand
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#description","title":"Description","text":"

    Set the door command. This API is only available if the vehicle supports software door control.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#request","title":"Request","text":"Name Type Description doors.index uint32 The index of the target door. doors.command uint8 The command for the target door."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/","title":"/api/vehicle/doors/layout","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#apivehicledoorslayout","title":"/api/vehicle/doors/layout","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/GetDoorLayout
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#description","title":"Description","text":"

    Get the door layout. It is an array of roles and descriptions for each door.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status doors.roles uint8[] The roles of the door in the service the vehicle provides. doors.description string The description of the door for display in the interface."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/","title":"/api/vehicle/doors/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#apivehicledoorsstatus","title":"/api/vehicle/doors/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/DoorStatusArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#description","title":"Description","text":"

    The status of each door such as opened or closed.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#message","title":"Message","text":"Name Type Description doors.status uint8 current door status"},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/#user-story-of-bus-service","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/#overview","title":"Overview","text":"

    This user story is a bus service that goes around the designated stops.

    "},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/#scenario","title":"Scenario","text":"Step Operation Use Case 1 Startup the autonomous driving system. Launch and terminate 2 Drive the vehicle from the garage to the waiting position. Change the operation mode 3 Enable autonomous control. Change the operation mode 4 Drive the vehicle to the next bus stop. Drive to the designated position 5 Get on and off the vehicle. Get on and get off 6 Return to step 4 unless it's the last bus stop. 7 Drive the vehicle to the waiting position. Drive to the designated position 8 Drive the vehicle from the waiting position to the garage. Change the operation mode 9 Shutdown the autonomous driving system. Launch and terminate"},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/#user-story-of-bus-service","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/#overview","title":"Overview","text":"

    This user story is a taxi service that picks up passengers and drives them to their destination.

    "},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/#scenario","title":"Scenario","text":"Step Operation Use Case 1 Startup the autonomous driving system. Launch and terminate 2 Drive the vehicle from the garage to the waiting position. Change the operation mode 3 Enable autonomous control. Change the operation mode 4 Drive the vehicle to the position to pick up. Drive to the designated position 5 Get on the vehicle. Get on and get off 6 Drive the vehicle to the destination. Drive to the designated position 7 Get off the vehicle. Get on and get off 8 Drive the vehicle to the waiting position. Drive to the designated position 9 Return to step 4 if there is another request. 10 Drive the vehicle from the waiting position to the garage. Change the operation mode 11 Shutdown the autonomous driving system. Launch and terminate"},{"location":"design/autoware-interfaces/ad-api/types/","title":"Types of Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/types/#types-of-autoware-ad-api","title":"Types of Autoware AD API","text":"
    • autoware_adapi_v1_msgs/msg/CooperationCommand
    • autoware_adapi_v1_msgs/msg/CooperationDecision
    • autoware_adapi_v1_msgs/msg/CooperationPolicy
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    • autoware_adapi_v1_msgs/msg/DoorCommand
    • autoware_adapi_v1_msgs/msg/DoorLayout
    • autoware_adapi_v1_msgs/msg/DoorStatus
    • autoware_adapi_v1_msgs/msg/DoorStatusArray
    • autoware_adapi_v1_msgs/msg/DynamicObject
    • autoware_adapi_v1_msgs/msg/DynamicObjectArray
    • autoware_adapi_v1_msgs/msg/DynamicObjectKinematics
    • autoware_adapi_v1_msgs/msg/DynamicObjectPath
    • autoware_adapi_v1_msgs/msg/Gear
    • autoware_adapi_v1_msgs/msg/HazardLights
    • autoware_adapi_v1_msgs/msg/LocalizationInitializationState
    • autoware_adapi_v1_msgs/msg/MotionState
    • autoware_adapi_v1_msgs/msg/MrmState
    • autoware_adapi_v1_msgs/msg/ObjectClassification
    • autoware_adapi_v1_msgs/msg/OperationModeState
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/Route
    • autoware_adapi_v1_msgs/msg/RouteData
    • autoware_adapi_v1_msgs/msg/RouteOption
    • autoware_adapi_v1_msgs/msg/RoutePrimitive
    • autoware_adapi_v1_msgs/msg/RouteSegment
    • autoware_adapi_v1_msgs/msg/RouteState
    • autoware_adapi_v1_msgs/msg/SteeringFactor
    • autoware_adapi_v1_msgs/msg/SteeringFactorArray
    • autoware_adapi_v1_msgs/msg/TurnIndicators
    • autoware_adapi_v1_msgs/msg/VehicleDimensions
    • autoware_adapi_v1_msgs/msg/VehicleKinematics
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    • autoware_adapi_v1_msgs/msg/VelocityFactor
    • autoware_adapi_v1_msgs/msg/VelocityFactorArray
    • autoware_adapi_v1_msgs/srv/AcceptStart
    • autoware_adapi_v1_msgs/srv/ChangeOperationMode
    • autoware_adapi_v1_msgs/srv/ClearRoute
    • autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/GetDoorLayout
    • autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    • autoware_adapi_v1_msgs/srv/InitializeLocalization
    • autoware_adapi_v1_msgs/srv/SetCooperationCommands
    • autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/SetDoorCommand
    • autoware_adapi_v1_msgs/srv/SetRoute
    • autoware_adapi_v1_msgs/srv/SetRoutePoints
    • autoware_adapi_version_msgs/srv/InterfaceVersion
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/","title":"autoware_adapi_v1_msgs/msg/CooperationCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#autoware_adapi_v1_msgsmsgcooperationcommand","title":"autoware_adapi_v1_msgs/msg/CooperationCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#definition","title":"Definition","text":"
    unique_identifier_msgs/UUID uuid\nautoware_adapi_v1_msgs/CooperationDecision cooperator\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationDecision
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/SetCooperationCommands
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/","title":"autoware_adapi_v1_msgs/msg/CooperationDecision","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#autoware_adapi_v1_msgsmsgcooperationdecision","title":"autoware_adapi_v1_msgs/msg/CooperationDecision","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#definition","title":"Definition","text":"
    uint8 UNKNOWN = 0\nuint8 DEACTIVATE = 1\nuint8 ACTIVATE = 2\nuint8 AUTONOMOUS = 3\nuint8 UNDECIDED = 4\n\nuint8 decision\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/CooperationCommand
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/","title":"autoware_adapi_v1_msgs/msg/CooperationPolicy","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#autoware_adapi_v1_msgsmsgcooperationpolicy","title":"autoware_adapi_v1_msgs/msg/CooperationPolicy","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#definition","title":"Definition","text":"
    uint8 OPTIONAL = 1\nuint8 REQUIRED = 2\n\nstring behavior\nstring sequence\nuint8 policy\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/","title":"autoware_adapi_v1_msgs/msg/CooperationStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#autoware_adapi_v1_msgsmsgcooperationstatus","title":"autoware_adapi_v1_msgs/msg/CooperationStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#definition","title":"Definition","text":"
    unique_identifier_msgs/UUID uuid\nautoware_adapi_v1_msgs/CooperationDecision autonomous\nautoware_adapi_v1_msgs/CooperationDecision cooperator\nbool cancellable\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationDecision
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/SteeringFactor
    • autoware_adapi_v1_msgs/msg/VelocityFactor
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/","title":"autoware_adapi_v1_msgs/msg/DoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#autoware_adapi_v1_msgsmsgdoorcommand","title":"autoware_adapi_v1_msgs/msg/DoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#definition","title":"Definition","text":"
    uint8 OPEN = 1\nuint8 CLOSE = 2\n\nuint32 index\nuint8 command\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/SetDoorCommand
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/","title":"autoware_adapi_v1_msgs/msg/DoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#autoware_adapi_v1_msgsmsgdoorlayout","title":"autoware_adapi_v1_msgs/msg/DoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#definition","title":"Definition","text":"
    uint8 GET_ON = 1\nuint8 GET_OFF = 2\n\nuint8[] roles\nstring description\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/GetDoorLayout
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/","title":"autoware_adapi_v1_msgs/msg/DoorStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#autoware_adapi_v1_msgsmsgdoorstatus","title":"autoware_adapi_v1_msgs/msg/DoorStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#definition","title":"Definition","text":"
    uint8 UNKNOWN = 0\nuint8 NOT_AVAILABLE = 1\nuint8 OPENED = 2\nuint8 CLOSED = 3\nuint8 OPENING = 4\nuint8 CLOSING = 5\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DoorStatusArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/","title":"autoware_adapi_v1_msgs/msg/DoorStatusArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#autoware_adapi_v1_msgsmsgdoorstatusarray","title":"autoware_adapi_v1_msgs/msg/DoorStatusArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#definition","title":"Definition","text":"
    builtin_interfaces/Time stamp\nautoware_adapi_v1_msgs/DoorStatus[] doors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DoorStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/","title":"autoware_adapi_v1_msgs/msg/DynamicObject","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#autoware_adapi_v1_msgsmsgdynamicobject","title":"autoware_adapi_v1_msgs/msg/DynamicObject","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#definition","title":"Definition","text":"
    unique_identifier_msgs/UUID id\nfloat64 existence_probability\nautoware_adapi_v1_msgs/ObjectClassification[] classification\nautoware_adapi_v1_msgs/DynamicObjectKinematics kinematics\nshape_msgs/SolidPrimitive shape\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectKinematics
    • autoware_adapi_v1_msgs/msg/ObjectClassification
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/","title":"autoware_adapi_v1_msgs/msg/DynamicObjectArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#autoware_adapi_v1_msgsmsgdynamicobjectarray","title":"autoware_adapi_v1_msgs/msg/DynamicObjectArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/DynamicObject[] objects\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObject
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/","title":"autoware_adapi_v1_msgs/msg/DynamicObjectKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#autoware_adapi_v1_msgsmsgdynamicobjectkinematics","title":"autoware_adapi_v1_msgs/msg/DynamicObjectKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#definition","title":"Definition","text":"
    geometry_msgs/Pose pose\ngeometry_msgs/Twist twist\ngeometry_msgs/Accel accel\n\nautoware_adapi_v1_msgs/DynamicObjectPath[] predicted_paths\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectPath
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObject
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/","title":"autoware_adapi_v1_msgs/msg/DynamicObjectPath","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#autoware_adapi_v1_msgsmsgdynamicobjectpath","title":"autoware_adapi_v1_msgs/msg/DynamicObjectPath","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#definition","title":"Definition","text":"
    geometry_msgs/Pose[] path\nbuiltin_interfaces/Duration time_step\nfloat64 confidence\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectKinematics
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/","title":"autoware_adapi_v1_msgs/msg/Gear","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#autoware_adapi_v1_msgsmsggear","title":"autoware_adapi_v1_msgs/msg/Gear","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#definition","title":"Definition","text":"
    # constants\nuint8 UNKNOWN = 0\nuint8 NEUTRAL = 1\nuint8 DRIVE = 2\nuint8 REVERSE = 3\nuint8 PARK = 4\nuint8 LOW = 5\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/","title":"autoware_adapi_v1_msgs/msg/HazardLights","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#autoware_adapi_v1_msgsmsghazardlights","title":"autoware_adapi_v1_msgs/msg/HazardLights","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#definition","title":"Definition","text":"
    # constants\nuint8 UNKNOWN = 0\nuint8 DISABLE = 1\nuint8 ENABLE = 2\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/","title":"autoware_adapi_v1_msgs/msg/LocalizationInitializationState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#autoware_adapi_v1_msgsmsglocalizationinitializationstate","title":"autoware_adapi_v1_msgs/msg/LocalizationInitializationState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#definition","title":"Definition","text":"
    uint16 UNKNOWN = 0\nuint16 UNINITIALIZED = 1\nuint16 INITIALIZING = 2\nuint16 INITIALIZED = 3\n\nbuiltin_interfaces/Time stamp\nuint16 state\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/","title":"autoware_adapi_v1_msgs/msg/MotionState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#autoware_adapi_v1_msgsmsgmotionstate","title":"autoware_adapi_v1_msgs/msg/MotionState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#definition","title":"Definition","text":"
    uint16 UNKNOWN = 0\nuint16 STOPPED = 1\nuint16 STARTING = 2\nuint16 MOVING = 3\n\nbuiltin_interfaces/Time stamp\nuint16 state\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/","title":"autoware_adapi_v1_msgs/msg/MrmState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#autoware_adapi_v1_msgsmsgmrmstate","title":"autoware_adapi_v1_msgs/msg/MrmState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#definition","title":"Definition","text":"
    builtin_interfaces/Time stamp\n\n# For common use\nuint16 UNKNOWN = 0\n\n# For state\nuint16 NORMAL = 1\nuint16 MRM_OPERATING = 2\nuint16 MRM_SUCCEEDED = 3\nuint16 MRM_FAILED = 4\n\n# For behavior\nuint16 NONE = 1\nuint16 EMERGENCY_STOP = 2\nuint16 COMFORTABLE_STOP = 3\n\nuint16 state\nuint16 behavior\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/","title":"autoware_adapi_v1_msgs/msg/ObjectClassification","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#autoware_adapi_v1_msgsmsgobjectclassification","title":"autoware_adapi_v1_msgs/msg/ObjectClassification","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#definition","title":"Definition","text":"
    uint8 UNKNOWN=0\nuint8 CAR=1\nuint8 TRUCK=2\nuint8 BUS=3\nuint8 TRAILER = 4\nuint8 MOTORCYCLE = 5\nuint8 BICYCLE = 6\nuint8 PEDESTRIAN = 7\n\nuint8 label\nfloat64 probability\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObject
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/","title":"autoware_adapi_v1_msgs/msg/OperationModeState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#autoware_adapi_v1_msgsmsgoperationmodestate","title":"autoware_adapi_v1_msgs/msg/OperationModeState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#definition","title":"Definition","text":"
    # constants for mode\nuint8 UNKNOWN = 0\nuint8 STOP = 1\nuint8 AUTONOMOUS = 2\nuint8 LOCAL = 3\nuint8 REMOTE = 4\n\n# variables\nbuiltin_interfaces/Time stamp\nuint8 mode\nbool is_autoware_control_enabled\nbool is_in_transition\nbool is_stop_mode_available\nbool is_autonomous_mode_available\nbool is_local_mode_available\nbool is_remote_mode_available\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/","title":"autoware_adapi_v1_msgs/msg/ResponseStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#autoware_adapi_v1_msgsmsgresponsestatus","title":"autoware_adapi_v1_msgs/msg/ResponseStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#definition","title":"Definition","text":"
    # error code\nuint16 UNKNOWN = 50000\nuint16 SERVICE_UNREADY = 50001\nuint16 SERVICE_TIMEOUT = 50002\nuint16 TRANSFORM_ERROR = 50003\nuint16 PARAMETER_ERROR = 50004\n\n# warning code\nuint16 DEPRECATED = 60000\nuint16 NO_EFFECT = 60001\n\n# variables\nbool   success\nuint16 code\nstring message\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/AcceptStart
    • autoware_adapi_v1_msgs/srv/ChangeOperationMode
    • autoware_adapi_v1_msgs/srv/ClearRoute
    • autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/GetDoorLayout
    • autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    • autoware_adapi_v1_msgs/srv/InitializeLocalization
    • autoware_adapi_v1_msgs/srv/SetCooperationCommands
    • autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/SetDoorCommand
    • autoware_adapi_v1_msgs/srv/SetRoute
    • autoware_adapi_v1_msgs/srv/SetRoutePoints
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/","title":"autoware_adapi_v1_msgs/msg/Route","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#autoware_adapi_v1_msgsmsgroute","title":"autoware_adapi_v1_msgs/msg/Route","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/RouteData[<=1] data\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/RouteData
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/","title":"autoware_adapi_v1_msgs/msg/RouteData","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#autoware_adapi_v1_msgsmsgroutedata","title":"autoware_adapi_v1_msgs/msg/RouteData","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#definition","title":"Definition","text":"
    geometry_msgs/Pose start\ngeometry_msgs/Pose goal\nautoware_adapi_v1_msgs/RouteSegment[] segments\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/RouteSegment
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/Route
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/","title":"autoware_adapi_v1_msgs/msg/RouteOption","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#autoware_adapi_v1_msgsmsgrouteoption","title":"autoware_adapi_v1_msgs/msg/RouteOption","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#definition","title":"Definition","text":"
    bool allow_goal_modification\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/SetRoute
    • autoware_adapi_v1_msgs/srv/SetRoutePoints
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/","title":"autoware_adapi_v1_msgs/msg/RoutePrimitive","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#autoware_adapi_v1_msgsmsgrouteprimitive","title":"autoware_adapi_v1_msgs/msg/RoutePrimitive","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#definition","title":"Definition","text":"
    int64 id\nstring type  # The same id may be used for each type.\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/RouteSegment
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/","title":"autoware_adapi_v1_msgs/msg/RouteSegment","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#autoware_adapi_v1_msgsmsgroutesegment","title":"autoware_adapi_v1_msgs/msg/RouteSegment","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/RoutePrimitive   preferred\nautoware_adapi_v1_msgs/RoutePrimitive[] alternatives  # Does not include the preferred primitive.\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/RoutePrimitive
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/RouteData
    • autoware_adapi_v1_msgs/srv/SetRoute
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/","title":"autoware_adapi_v1_msgs/msg/RouteState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#autoware_adapi_v1_msgsmsgroutestate","title":"autoware_adapi_v1_msgs/msg/RouteState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#definition","title":"Definition","text":"
    uint16 UNKNOWN = 0\nuint16 UNSET = 1\nuint16 SET = 2\nuint16 ARRIVED = 3\nuint16 CHANGING = 4\n\nbuiltin_interfaces/Time stamp\nuint16 state\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/","title":"autoware_adapi_v1_msgs/msg/SteeringFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#autoware_adapi_v1_msgsmsgsteeringfactor","title":"autoware_adapi_v1_msgs/msg/SteeringFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#definition","title":"Definition","text":"
    # constants for common use\nuint16 UNKNOWN = 0\n\n# constants for direction\nuint16 LEFT = 1\nuint16 RIGHT = 2\nuint16 STRAIGHT = 3\n\n# constants for status\nuint16 APPROACHING = 1\nuint16 TURNING = 3\n\n# variables\ngeometry_msgs/Pose[2] pose\nfloat32[2] distance\nuint16 direction\nuint16 status\nstring behavior\nstring sequence\nstring detail\nautoware_adapi_v1_msgs/CooperationStatus[<=1] cooperation\n\n\n\n# deprecated constants for type\nuint16 INTERSECTION = 1\nuint16 LANE_CHANGE = 2\nuint16 AVOIDANCE_PATH_CHANGE = 3\nuint16 AVOIDANCE_PATH_RETURN = 4\nuint16 STATION = 5\nuint16 PULL_OUT = 6 # Deprecated. Use START_PLANNER.\nuint16 START_PLANNER = 6\nuint16 PULL_OVER = 7  # Deprecated. Use GOAL_PLANNER.\nuint16 GOAL_PLANNER = 7\nuint16 EMERGENCY_OPERATION = 8\n\n# deprecated constants for status\nuint16 TRYING = 2\n\n# deprecated variables\nuint16 type\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/SteeringFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/","title":"autoware_adapi_v1_msgs/msg/SteeringFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#autoware_adapi_v1_msgsmsgsteeringfactorarray","title":"autoware_adapi_v1_msgs/msg/SteeringFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/SteeringFactor[] factors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/SteeringFactor
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/","title":"autoware_adapi_v1_msgs/msg/TurnIndicators","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#autoware_adapi_v1_msgsmsgturnindicators","title":"autoware_adapi_v1_msgs/msg/TurnIndicators","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#definition","title":"Definition","text":"
    # constants\nuint8 UNKNOWN = 0\nuint8 DISABLE = 1\nuint8 LEFT = 2\nuint8 RIGHT = 3\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/","title":"autoware_adapi_v1_msgs/msg/VehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#autoware_adapi_v1_msgsmsgvehicledimensions","title":"autoware_adapi_v1_msgs/msg/VehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#definition","title":"Definition","text":"
    float32 wheel_radius\nfloat32 wheel_width\nfloat32 wheel_base\nfloat32 wheel_tread\nfloat32 front_overhang\nfloat32 rear_overhang\nfloat32 left_overhang\nfloat32 right_overhang\nfloat32 height\ngeometry_msgs/Polygon footprint\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/","title":"autoware_adapi_v1_msgs/msg/VehicleKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#autoware_adapi_v1_msgsmsgvehiclekinematics","title":"autoware_adapi_v1_msgs/msg/VehicleKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#definition","title":"Definition","text":"
    # Geographic point, using the WGS 84 reference ellipsoid.\n# This data will be invalid If Autoware does not provide projection information between geographic coordinates and local coordinates.\ngeographic_msgs/GeoPointStamped geographic_pose\n\n# Local coordinate from the autoware\ngeometry_msgs/PoseWithCovarianceStamped pose\ngeometry_msgs/TwistWithCovarianceStamped twist\ngeometry_msgs/AccelWithCovarianceStamped accel\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/","title":"autoware_adapi_v1_msgs/msg/VehicleStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#autoware_adapi_v1_msgsmsgvehiclestatus","title":"autoware_adapi_v1_msgs/msg/VehicleStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#definition","title":"Definition","text":"
    builtin_interfaces/Time stamp\nautoware_adapi_v1_msgs/Gear gear\nautoware_adapi_v1_msgs/TurnIndicators turn_indicators\nautoware_adapi_v1_msgs/HazardLights hazard_lights\nfloat64 steering_tire_angle\nfloat32 energy_percentage  # Battery percentage or fuel percentage, it will depends on the vehicle.\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/Gear
    • autoware_adapi_v1_msgs/msg/HazardLights
    • autoware_adapi_v1_msgs/msg/TurnIndicators
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/","title":"autoware_adapi_v1_msgs/msg/VelocityFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#autoware_adapi_v1_msgsmsgvelocityfactor","title":"autoware_adapi_v1_msgs/msg/VelocityFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#definition","title":"Definition","text":"
    # constants for common use\nuint16 UNKNOWN = 0\n\n# constants for status\nuint16 APPROACHING = 1\nuint16 STOPPED = 2\n\n# variables\ngeometry_msgs/Pose pose\nfloat32 distance\nuint16 status\nstring behavior\nstring sequence\nstring detail\nautoware_adapi_v1_msgs/CooperationStatus[<=1] cooperation\n\n\n\n# deprecated constants for type\nuint16 SURROUNDING_OBSTACLE = 1\nuint16 ROUTE_OBSTACLE = 2\nuint16 INTERSECTION = 3\nuint16 CROSSWALK = 4\nuint16 REAR_CHECK = 5\nuint16 USER_DEFINED_DETECTION_AREA = 6\nuint16 NO_STOPPING_AREA = 7\nuint16 STOP_SIGN = 8\nuint16 TRAFFIC_SIGNAL = 9\nuint16 V2I_GATE_CONTROL_ENTER = 10\nuint16 V2I_GATE_CONTROL_LEAVE = 11\nuint16 MERGE = 12\nuint16 SIDEWALK = 13\nuint16 LANE_CHANGE = 14\nuint16 AVOIDANCE = 15\nuint16 EMERGENCY_STOP_OPERATION = 16\nuint16 NO_DRIVABLE_LANE = 17\n\n# deprecated variables\nuint16 type\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VelocityFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/","title":"autoware_adapi_v1_msgs/msg/VelocityFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#autoware_adapi_v1_msgsmsgvelocityfactorarray","title":"autoware_adapi_v1_msgs/msg/VelocityFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/VelocityFactor[] factors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/VelocityFactor
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/","title":"autoware_adapi_v1_msgs/srv/AcceptStart","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#autoware_adapi_v1_msgssrvacceptstart","title":"autoware_adapi_v1_msgs/srv/AcceptStart","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#definition","title":"Definition","text":"
    ---\nuint16 ERROR_NOT_STARTING = 1\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/","title":"autoware_adapi_v1_msgs/srv/ChangeOperationMode","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#autoware_adapi_v1_msgssrvchangeoperationmode","title":"autoware_adapi_v1_msgs/srv/ChangeOperationMode","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#definition","title":"Definition","text":"
    ---\nuint16 ERROR_NOT_AVAILABLE = 1\nuint16 ERROR_IN_TRANSITION = 2\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/","title":"autoware_adapi_v1_msgs/srv/ClearRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#autoware_adapi_v1_msgssrvclearroute","title":"autoware_adapi_v1_msgs/srv/ClearRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/","title":"autoware_adapi_v1_msgs/srv/GetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#autoware_adapi_v1_msgssrvgetcooperationpolicies","title":"autoware_adapi_v1_msgs/srv/GetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\nautoware_adapi_v1_msgs/CooperationPolicy[] policies\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationPolicy
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/","title":"autoware_adapi_v1_msgs/srv/GetDoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#autoware_adapi_v1_msgssrvgetdoorlayout","title":"autoware_adapi_v1_msgs/srv/GetDoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\nautoware_adapi_v1_msgs/DoorLayout[] doors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DoorLayout
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/","title":"autoware_adapi_v1_msgs/srv/GetVehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#autoware_adapi_v1_msgssrvgetvehicledimensions","title":"autoware_adapi_v1_msgs/srv/GetVehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\nautoware_adapi_v1_msgs/VehicleDimensions dimensions\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/VehicleDimensions
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/","title":"autoware_adapi_v1_msgs/srv/InitializeLocalization","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#autoware_adapi_v1_msgssrvinitializelocalization","title":"autoware_adapi_v1_msgs/srv/InitializeLocalization","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#definition","title":"Definition","text":"
    geometry_msgs/PoseWithCovarianceStamped[<=1] pose\n---\nuint16 ERROR_UNSAFE = 1\nuint16 ERROR_GNSS_SUPPORT = 2\nuint16 ERROR_GNSS = 3\nuint16 ERROR_ESTIMATION = 4\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/","title":"autoware_adapi_v1_msgs/srv/SetCooperationCommands","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#autoware_adapi_v1_msgssrvsetcooperationcommands","title":"autoware_adapi_v1_msgs/srv/SetCooperationCommands","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/CooperationCommand[] commands\n---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationCommand
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/","title":"autoware_adapi_v1_msgs/srv/SetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#autoware_adapi_v1_msgssrvsetcooperationpolicies","title":"autoware_adapi_v1_msgs/srv/SetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/CooperationPolicy[] policies\n---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationPolicy
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/","title":"autoware_adapi_v1_msgs/srv/SetDoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#autoware_adapi_v1_msgssrvsetdoorcommand","title":"autoware_adapi_v1_msgs/srv/SetDoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/DoorCommand[] doors\n---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DoorCommand
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/","title":"autoware_adapi_v1_msgs/srv/SetRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#autoware_adapi_v1_msgssrvsetroute","title":"autoware_adapi_v1_msgs/srv/SetRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/RouteOption option\ngeometry_msgs/Pose goal\nautoware_adapi_v1_msgs/RouteSegment[] segments\n---\nuint16 ERROR_ROUTE_EXISTS = 1 # Deprecated. Use ERROR_INVALID_STATE.\nuint16 ERROR_INVALID_STATE = 1\nuint16 ERROR_PLANNER_UNREADY = 2\nuint16 ERROR_PLANNER_FAILED = 3\nuint16 ERROR_REROUTE_FAILED = 4\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/RouteOption
    • autoware_adapi_v1_msgs/msg/RouteSegment
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/","title":"autoware_adapi_v1_msgs/srv/SetRoutePoints","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#autoware_adapi_v1_msgssrvsetroutepoints","title":"autoware_adapi_v1_msgs/srv/SetRoutePoints","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/RouteOption option\ngeometry_msgs/Pose goal\ngeometry_msgs/Pose[] waypoints\n---\nuint16 ERROR_ROUTE_EXISTS = 1 # Deprecated. Use ERROR_INVALID_STATE.\nuint16 ERROR_INVALID_STATE = 1\nuint16 ERROR_PLANNER_UNREADY = 2\nuint16 ERROR_PLANNER_FAILED = 3\nuint16 ERROR_REROUTE_FAILED = 4\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/RouteOption
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/","title":"autoware_adapi_version_msgs/srv/InterfaceVersion","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#autoware_adapi_version_msgssrvinterfaceversion","title":"autoware_adapi_version_msgs/srv/InterfaceVersion","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#definition","title":"Definition","text":"
    ---\nuint16 major\nuint16 minor\nuint16 patch\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/","title":"Change the operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/#change-the-operation-mode","title":"Change the operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/#related-api","title":"Related API","text":"
    • Operation mode
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/#sequence","title":"Sequence","text":"
    • Change the mode with software switch.

    • Change the mode with hardware switch.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/","title":"Drive to the designated position","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/#drive-to-the-designated-position","title":"Drive to the designated position","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/#related-api","title":"Related API","text":"
    • Driving
    • Route
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/#sequence","title":"Sequence","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/","title":"Get on and get off","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/#get-on-and-get-off","title":"Get on and get off","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/#related-api","title":"Related API","text":"
    • Door
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/#sequence","title":"Sequence","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/","title":"Initialize the pose","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/#initialize-the-pose","title":"Initialize the pose","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/#related-api","title":"Related API","text":"
    • Pose
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/#sequence","title":"Sequence","text":"
    • Initialization of the pose using input.

    • Initialization of the pose using GNSS.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/","title":"Launch and terminate","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/#launch-and-terminate","title":"Launch and terminate","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/#related-api","title":"Related API","text":"
    • Interface
    • Launcher
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/#sequence","title":"Sequence","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/","title":"Vehicle monitoring","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#vehicle-monitoring","title":"Vehicle monitoring","text":"

    AD API provides current vehicle status for remote monitoring, visualization for passengers, etc. Use the API below depending on the data you want to monitor.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#vehicle-status","title":"Vehicle status","text":"

    The vehicle status provides basic information such as kinematics, indicators, and dimensions. This allows a remote operator to know the position and velocity of the vehicle. For applications such as FMS, it can help find vehicles that need assistance, such as vehicles that are stuck or brake suddenly. It is also possible to determine the actual distance to an object from the vehicle dimensions.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#planning-factors","title":"Planning factors","text":"

    The planning factors provides the planning status of the vehicle. HMI can use this to warn of sudden movements of the vehicle, and to share the stop reason with passengers for comfortable driving.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#detected-objects","title":"Detected objects","text":"

    The perception provides the objects detected by Autoware. HMI can use this to visualize objects around the vehicle.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/","title":"Vehicle operation","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/#vehicle-operation","title":"Vehicle operation","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/#request-to-intervene","title":"Request to intervene","text":"

    Request to intervene (RTI) is a feature that requires the operator to switch to manual driving mode. It is also called Take Over Request (TOR). Interfaces for RTI are currently being discussed. For now assume that manual driving is requested if the MRM state is not NORMAL. See fail-safe for details.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/#request-to-cooperate","title":"Request to cooperate","text":"

    Request to cooperate (RTC) is a feature that the operator supports the decision in autonomous driving mode. Autoware usually drives the vehicle using its own decisions, but the operator may prefer to make their own decisions in complex situations. Since RTC only overrides the decision and does not need to change operation mode, the vehicle can continue autonomous driving, unlike RTC. See cooperation for details.

    "},{"location":"design/autoware-interfaces/components/","title":"Component interfaces","text":""},{"location":"design/autoware-interfaces/components/#component-interfaces","title":"Component interfaces","text":"

    Warning

    Under Construction

    See here for an overview.

    "},{"location":"design/autoware-interfaces/components/control/","title":"Control","text":""},{"location":"design/autoware-interfaces/components/control/#control","title":"Control","text":""},{"location":"design/autoware-interfaces/components/control/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/control/#vehicle-kinematic-state","title":"Vehicle kinematic state","text":"

    Current position and orientation of ego. Published by the Localization module.

    • nav_msgs/Odometry
      • std_msgs/Header header
      • string child_frame_id
      • geometry_msgs/PoseWithCovariance pose
      • geometry_msgs/TwistWithCovariance twist
    "},{"location":"design/autoware-interfaces/components/control/#trajectory","title":"Trajectory","text":"

    trajectory to be followed by the controller. See Outputs of Planning.

    "},{"location":"design/autoware-interfaces/components/control/#steering-status","title":"Steering Status","text":"

    Current steering of the ego vehicle. Published by the Vehicle Interface.

    • Steering message (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 steering_angle
    "},{"location":"design/autoware-interfaces/components/control/#actuation-status","title":"Actuation Status","text":"

    Actuation status of the ego vehicle for acceleration, steering, and brake.

    TODO This represents the reported physical efforts exerted by the vehicle actuators. Published by the Vehicle Interface.

    • ActuationStatus (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 acceleration
      • float32 steering
    "},{"location":"design/autoware-interfaces/components/control/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/control/#vehicle-control-command","title":"Vehicle Control Command","text":"

    A motion signal to drive the vehicle, achieved by the low-level controller in the vehicle layer. Used by the Vehicle Interface.

    • autoware_auto_control_msgs/AckermannControlCommand
      • builtin_interfaces::msg::Time stamp
      • autoware_auto_control_msgs/AckermannLateralCommand lateral
        • builtin_interfaces::msg::Time stamp
        • float steering_tire_angle
        • float steering_tire_rotation_rate
      • autoware_auto_control_msgs/LongitudinalCommand longitudinal
        • builtin_interfaces::msg::Time stamp
        • builtin_interfaces::msg::Duration duration
        • builtin_interfaces::msg::Duration time_step
        • float[] speeds
        • float[] accelerations
        • float[] jerks
    "},{"location":"design/autoware-interfaces/components/localization/","title":"Localization","text":""},{"location":"design/autoware-interfaces/components/localization/#localization","title":"Localization","text":""},{"location":"design/autoware-interfaces/components/localization/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/localization/#pointcloud-map","title":"Pointcloud Map","text":"

    Environment map created with point cloud, published by the map server.

    • sensor_msgs/msg/PointCloud2

    A 3d point cloud map is used for LiDAR-based localization in Autoware.

    "},{"location":"design/autoware-interfaces/components/localization/#manual-initial-pose","title":"Manual Initial Pose","text":"

    Start pose of ego, published by the user interface.

    • geometry_msgs/msg/PoseWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msgs/msg/PoseWithCovariance pose
        • geometry_msgs/msg/Pose pose
          • geometry_msgs/msg/Point position
          • geometry_msg/msg/Quaternion orientation
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#3d-lidar-scanning","title":"3D-LiDAR Scanning","text":"

    LiDAR scanning for NDT matching, published by the LiDAR sensor.

    • sensor_msgs/msg/PointCloud2

    The raw 3D-LiDAR data needs to be processed by the point cloud pre-processing modules before being used for localization.

    "},{"location":"design/autoware-interfaces/components/localization/#automatic-initial-pose","title":"Automatic Initial pose","text":"

    Start pose of ego, calculated from INS(Inertial navigation sensor) sensing data.

    • geometry_msgs/msg/PoseWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msgs/msg/PoseWithCovariance pose
        • geometry_msgs/msg/Pose pose
          • geometry_msgs/msg/Point position
          • geometry_msg/msg/Quaternion orientation
        • double[36] covariance

    When the initial pose is not set manually, the message can be used for automatic pose initialization.

    Current Geographic coordinate of the ego, published by the GNSS sensor.

    • sensor_msgs/msg/NavSatFix
      • std_msgs/msg/Header header
      • sensor_msgs/msg/NavSatStatus status
      • double latitude
      • double longitude
      • double altitude
      • double[9] position_covariance
      • unit8 position_covariance_type

    Current orientation of the ego, published by the GNSS-INS.

    • autoware_sensing_msgs/msg/GnssInsOrientationStamped
      • std_msgs/Header header
      • autoware_sensing_msgs/msg/GnssInsOrientation orientation
        • geometry_msgs/Quaternion orientation
        • float32 rmse_rotation_x
        • float32 rmse_rotation_y
        • float32 rmse_rotation_z
    "},{"location":"design/autoware-interfaces/components/localization/#imu-data","title":"IMU Data","text":"

    Current orientation, angular velocity and linear acceleration of ego, calculated from IMU sensing data.

    • sensor_msgs/msg/Imu
      • std_msgs/msg/Header header
      • geometry_msgs/msg/Quaternion orientation
      • double[9] orientation_covariance
      • geometry_msgs/msg/Vector3 angular_velocity
      • double[9] angular_velocity_covariance
      • geometry_msgs/msg/Vector3 linear_acceleration
      • double[9] linear_acceleration_covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-velocity-status","title":"Vehicle Velocity Status","text":"

    Current velocity of the ego vehicle, published by the vehicle interface.

    • autoware_auto_vehicle_msgs/msg/VelocityReport
      • std_msgs/msg/Header header;
      • float longitudinal_velocity;
      • float lateral_velocity;
      • float heading_rate;

    Before the velocity input localization interface, module vehicle_velocity_converter converts message type autoware_auto_vehicle_msgs/msg/VelocityReport to geometry_msgs/msg/TwistWithCovarianceStamped.

    "},{"location":"design/autoware-interfaces/components/localization/#outputs","title":"Outputs","text":""},{"location":"design/autoware-interfaces/components/localization/#vehicle-pose","title":"Vehicle pose","text":"

    Current pose of ego, calculated from localization interface.

    • geometry_msgs/msg/PoseWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msg/PoseWithCovariance pose
        • geometry_msgs/msg/Pose pose
          • geometry_msgs/msg/Point position
          • geometry_msgs/msg/Quaternion orientation
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-velocity","title":"Vehicle velocity","text":"

    Current velocity of ego, calculated from localization interface.

    • geometry_msgs/msg/TwistWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msg/TwistWithCovariance twist
        • geometry_msgs/msg/Twist twist
          • geometry_msgs/msg/Vector3 linear
          • geometry_msgs/msg/Vector3 angular
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-acceleration","title":"Vehicle acceleration","text":"

    Current acceleration of ego, calculated from localization interface.

    • geometry_msgs/msg/AccelWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msg/AccelWithCovariance accel
        • geometry_msgs/msg/Accel accel
          • geometry_msgs/msg/Vector3 linear
          • geometry_msgs/msg/Vector3 angular
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-kinematic-state","title":"Vehicle kinematic state","text":"

    Current pose, velocity and acceleration of ego, calculated from localization interface.

    Note: Kinematic state contains pose, velocity and acceleration. In the future, pose, velocity and acceleration will not be used as output for localization.

    • autoware_msgs/autoware_localization_msgs/msg/KinematicState
      • std_msgs/msg/Header header
      • string child_frame_id
      • geometry_msgs/PoseWithCovariance pose_with_covariance
      • geometry_msgs/TwistWithCovariance twist_with_covariance
      • geometry_msgs/AccelWithCovariance accel_with_covariance

    The message will be subscribed by the planning and control module.

    "},{"location":"design/autoware-interfaces/components/localization/#localization-accuracy","title":"Localization Accuracy","text":"

    Diagnostics information that indicates if the localization module works properly.

    TBD.

    "},{"location":"design/autoware-interfaces/components/map/","title":"Map","text":""},{"location":"design/autoware-interfaces/components/map/#map","title":"Map","text":""},{"location":"design/autoware-interfaces/components/map/#overview","title":"Overview","text":"

    Autoware relies on high-definition point cloud maps and vector maps of the driving environment to perform various tasks. Before launching Autoware, you need to load the pre-created map files.

    "},{"location":"design/autoware-interfaces/components/map/#inputs","title":"Inputs","text":"
    • Point cloud maps (.pcd)
    • Lanelet2 maps (.osm)

    Refer to Creating maps on how to create maps.

    "},{"location":"design/autoware-interfaces/components/map/#outputs","title":"Outputs","text":""},{"location":"design/autoware-interfaces/components/map/#point-cloud-map","title":"Point cloud map","text":"

    It loads point cloud files and publishes the maps to the other Autoware nodes in various configurations. Currently, it supports the following types:

    • Raw point cloud map (sensor_msgs/msg/PointCloud2)
    • Downsampled point cloud map (sensor_msgs/msg/PointCloud2)
    • Partial point cloud map loading via ROS service (autoware_map_msgs/srv/GetPartialPointCloudMap)
    • Differential point cloud map loading via ROS service (autoware_map_msgs/srv/GetDifferentialPointCloudMap)
    "},{"location":"design/autoware-interfaces/components/map/#lanelet2-map","title":"Lanelet2 map","text":"

    It loads a Lanelet2 file and publishes the map data as autoware_auto_mapping_msgs/msg/HADMapBin message. The lan/lon coordinates are projected onto the MGRS coordinates.

    • autoware_auto_mapping_msgs/msg/HADMapBin
      • std_msgs/Header header
      • string version_map_format
      • string version_map
      • string name_map
      • uint8[] data
    "},{"location":"design/autoware-interfaces/components/map/#lanelet2-map-visualization","title":"Lanelet2 map visualization","text":"

    Visualize autoware_auto_mapping_msgs/HADMapBin messages in Rviz.

    • visualization_msgs/msg/MarkerArray
    "},{"location":"design/autoware-interfaces/components/perception-interface/","title":"Perception","text":""},{"location":"design/autoware-interfaces/components/perception-interface/#perception","title":"Perception","text":"
    graph TD\n    cmp_sen(\"Sensing\"):::cls_sen\n    cmp_loc(\"Localization\"):::cls_loc\n    cmp_per(\"Perception\"):::cls_per\n    cmp_plan(\"Planning\"):::cls_plan\n\n    msg_img(\"<font size=2><b>Camera Image</b></font size>\n    <font size=1>sensor_msgs/Image</font size>\"):::cls_sen\n\n    msg_ldr(\"<font size=2><b>Lidar Point Cloud</b></font size>\n    <font size=1>sensor_msgs/PointCloud2</font size>\"):::cls_sen\n\n    msg_lanenet(\"<font size=2><b>Lanelet2 Map</b></font size>\n    <font size=1>autoware_auto_mapping_msgs/HADMapBin</font size>\"):::cls_loc\n\n    msg_vks(\"<font size=2><b>Vehicle Kinematic State</b></font size>\n    <font size=1>nav_msgs/Odometry</font size>\"):::cls_loc\n\n    msg_obj(\"<font size=2><b>3D Object Predictions </b></font size>\n    <font size=1>autoware_auto_perception_msgs/PredictedObjects</font size>\"):::cls_per\n\n    msg_tl(\"<font size=2><b>Traffic Light Response </b></font size>\n    <font size=1>autoware_perception_msgs/TrafficSignalArray</font size>\"):::cls_per\n\n    msg_tq(\"<font size=2><b>Traffic Light Query </b></font size>\n    <font size=1>TBD</font size>\"):::cls_plan\n\n\n    cmp_sen --> msg_img --> cmp_per\n    cmp_sen --> msg_ldr --> cmp_per\n    cmp_per --> msg_obj --> cmp_plan\n    cmp_per --> msg_tl --> cmp_plan\n    cmp_plan --> msg_tq -->cmp_per\n\n    cmp_loc --> msg_vks --> cmp_per\n    cmp_loc --> msg_lanenet --> cmp_per\n\nclassDef cmp_sen fill:#F8CECC,stroke:#999,stroke-width:1px;\nclassDef cls_loc fill:#D5E8D4,stroke:#999,stroke-width:1px;\nclassDef cls_per fill:#FFF2CC,stroke:#999,stroke-width:1px;\nclassDef cls_plan fill:#5AB8FF,stroke:#999,stroke-width:1px;
    "},{"location":"design/autoware-interfaces/components/perception-interface/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/perception-interface/#pointcloud","title":"PointCloud","text":"

    PointCloud data published by Lidar.

    • sensor_msgs/msg/PointCloud2
    "},{"location":"design/autoware-interfaces/components/perception-interface/#image","title":"Image","text":"

    Image frame captured by camera.

    • sensor_msgs/msg/Image
    "},{"location":"design/autoware-interfaces/components/perception-interface/#vehicle-kinematic-state","title":"Vehicle kinematic state","text":"

    current position of ego, used in traffic signals recognition. See output of Localization.

    "},{"location":"design/autoware-interfaces/components/perception-interface/#lanelet2-map","title":"Lanelet2 Map","text":"

    map of the environment. See outputs of Map.

    "},{"location":"design/autoware-interfaces/components/perception-interface/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/perception-interface/#3d-object-predictions","title":"3D Object Predictions","text":"

    3D Objects detected, tracked and predicted by sensor fusing.

    • autoware_auto_perception_msgs/msg/PredictedObjects
      • std_msgs/Header header
      • sequence<autoware_auto_perception_msgs::msg::PredictedObject> objects
        • unique_identifier_msgs::msg::UUID uuid
        • float existence_probability
        • sequence<autoware_auto_perception_msgs::msg::ObjectClassification> classification
          • uint8 classification
          • float probability
        • autoware_auto_perception_msgs::msg::PredictedObjectKinematics kinematics
          • geometry_msgs::msg::PoseWithCovariance initial_pose
          • geometry_msgs::msg::TwistWithCovariance
          • geometry_msgs::msg::AccelWithCovariance initial_acceleration
          • sequence<autoware_auto_perception_msgs::msg::PredictedPath, 10> predicted_paths
            • sequence<geometry_msgs::msg::Pose, 100> path
            • builtin_interfaces::msg::Duration time_step
            • float confidence
        • sequence<autoware_auto_perception_msgs::msg::Shape, 5> shape
          • geometry_msgs::msg::Polygon polygon
          • float height
    "},{"location":"design/autoware-interfaces/components/perception-interface/#traffic-signals","title":"Traffic Signals","text":"

    traffic signals recognized by object detection model.

    • autoware_perception_msgs::msg::TrafficSignalArray
      • autoware_perception_msgs::msg::TrafficSignal signals
        • autoware_perception_msgs::msg::TrafficSignalElement elements
          • uint8 UNKNOWN = 0
          • uint8 Red = 1
          • uint8 AMBER = 2
          • uint8 WHITE = 4
          • uint8 CIRCLE = 1
          • uint8 LEFT_ARROW = 2
          • uint8 RIGHT_ARROW = 3
          • uint8 UP_ARROW = 4
          • uint8 UP_LEFT_ARROW=5
          • uint8 UP_RIGHT_ARROW=6
          • uint8 DOWN_ARROW = 7
          • uint8 DOWN_LEFT_ARROW = 8
          • uint8 DOWN_RIGHT_ARROW = 9
          • uint8 CROSS = 10
          • uint8 SOLID_OFF = 1
          • uint8 SOLID_ON = 2
          • uint8 FLASHING = 3
          • uint8 color
          • uint8 shape
          • uint8 status
          • float32 confidence
        • int64 traffic_signal_id
      • builtin_interfaces::msg::Time stamp
    "},{"location":"design/autoware-interfaces/components/planning/","title":"Planning","text":""},{"location":"design/autoware-interfaces/components/planning/#planning","title":"Planning","text":"

    This page provides specific specifications about the Interface of the Planning Component. Please refer to the planning architecture design document for high-level concepts and data flow.

    TODO: The detailed definitions (meanings of elements included in each topic) are not described yet, need to be updated.

    "},{"location":"design/autoware-interfaces/components/planning/#input","title":"Input","text":""},{"location":"design/autoware-interfaces/components/planning/#from-map-component","title":"From Map Component","text":"Name Topic Type Description Vector Map /map/vector_map autoware_auto_mapping_msgs/msg/HADMapBin Map of the environment where the planning takes place."},{"location":"design/autoware-interfaces/components/planning/#from-localization-component","title":"From Localization Component","text":"Name Topic Type Description Vehicle Kinematic State /localization/kinematic_state nav_msgs/msg/Odometry Current position, orientation and velocity of ego. Vehicle Acceleration /localization/acceleration geometry_msgs/msg/AccelWithCovarianceStamped Current acceleration of ego.

    TODO: acceleration information should be merged into the kinematic state.

    "},{"location":"design/autoware-interfaces/components/planning/#from-perception-component","title":"From Perception Component","text":"Name Topic Type Description Objects /perception/object_recognition/objects autoware_auto_perception_msgs/msg/PredictedObjects Set of perceived objects around ego that need to be avoided or followed when planning a trajectory. This contains semantics information such as a object class (e.g. vehicle, pedestrian, etc) or a shape of the objects. Obstacles /perception/obstacle_segmentation/pointcloud sensor_msgs/msg/PointCloud2 Set of perceived obstacles around ego that need to be avoided or followed when planning a trajectory. This only contains a primitive information of the obstacle. No shape nor velocity information. Occupancy Grid Map /perception/occupancy_grid_map/map nav_msgs/msg/OccupancyGrid Contains the presence of obstacles and blind spot information (represented as UNKNOWN). Traffic Signal /perception/traffic_light_recognition/traffic_signals autoware_auto_perception_msgs/msg/TrafficSignalArray Contains the traffic signal information such as a color (green, yellow, read) and an arrow (right, left, straight).

    TODO: The type of the Obstacles information should not depend on the specific sensor message type (now PointCloud). It needs to be fixed.

    "},{"location":"design/autoware-interfaces/components/planning/#from-api","title":"From API","text":"Name Topic Type Description Max Velocity /planning/scenario_planning/max_velocity_default autoware_adapi_v1_msgs/srv/SetRoutePoints Indicate the maximum value of the vehicle speed plan Operation Mode /system/operation_mode/state autoware_adapi_v1_msgs/msg/OperationModeState Indicates the current operation mode (automatic/manual, etc.). Route Set /planning/mission_planning/set_route autoware_adapi_v1_msgs/srv/SetRoute Indicates to set the route when the vehicle is stopped. Route Points Set /planning/mission_planning/set_route_points autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to set the route with points when the vehicle is stopped. Route Change /planning/mission_planning/change_route autoware_adapi_v1_msgs/srv/SetRoute Indicates to change the route when the vehicle is moving. Route Points Change /planning/mission_planning/change_route_points autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to change the route with points when the vehicle is moving. Route Clear /planning/mission_planning/clear_route autoware_adapi_v1_msgs/srv/ClearRoute Indicates to clear the route information. MRM Route Set Points /planning/mission_planning/mission_planner/srv/set_mrm_route autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to set the emergency route. MRM Route Clear /planning/mission_planning/mission_planner/srv/clear_mrm_route autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to clear the emergency route."},{"location":"design/autoware-interfaces/components/planning/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/planning/#to-control","title":"To Control","text":"Name Topic Type Description Trajectory /planning/trajectory autoware_auto_planning_msgs/msg/Trajectory A sequence of space and velocity and acceleration points to be followed by the controller. Turn Indicator /planning/turn_indicators_cmd autoware_auto_vehicle_msgs/msg/TurnIndicatorsCommand Turn indicator signal to be followed by the vehicle. Hazard Light /planning/hazard_lights_cmd autoware_auto_vehicle_msgs/msg/HazardLightsCommand Hazard light signal to be followed by the vehicle."},{"location":"design/autoware-interfaces/components/planning/#to-system","title":"To System","text":"Name Topic Type Description Diagnostics /planning/hazard_lights_cmd diagnostic_msgs/msg/DiagnosticArray Diagnostic status of the Planning component reported to the System component."},{"location":"design/autoware-interfaces/components/planning/#to-api","title":"To API","text":"Name Topic Type Description Path Candidate /planning/path_candidate/* autoware_auto_planning_msgs/msg/Path The path Autoware is about to take. Users can interrupt the operation based on the path candidate information. Steering Factor /planning/steering_factor/* autoware_adapi_v1_msgs/msg/SteeringFactorArray Information about the steering maneuvers performed by Autoware (e.g., steering to the right for a right turn, etc.) Velocity Factor /planning/velocity_factors/* autoware_adapi_v1_msgs/msg/VelocityFactorArray Information about the velocity maneuvers performed by Autoware (e.g., stop for an obstacle, etc.)"},{"location":"design/autoware-interfaces/components/planning/#planning-internal-interface","title":"Planning internal interface","text":"

    This section explains the communication between the different planning modules shown in the Planning Architecture Design.

    "},{"location":"design/autoware-interfaces/components/planning/#from-mission-planning-to-scenario-planning","title":"From Mission Planning to Scenario Planning","text":"Name Topic Type Description Route /planning/mission_planning/route autoware_planning_msgs/msg/LaneletRoute A sequence of lane IDs on a Lanelet map, from the starting point to the destination."},{"location":"design/autoware-interfaces/components/planning/#from-behavior-planning-to-motion-planning","title":"From Behavior Planning to Motion Planning","text":"Name Topic Type Description Path /planning/scenario_planning/lane_driving/behavior_planning/path autoware_auto_planning_msgs/msg/Path A sequence of approximate vehicle positions for driving, along with information on the maximum speed and the drivable areas. Modules receiving this message are expected to make changes to the path within the constraints of the drivable areas and the maximum speed, generating the desired final trajectory."},{"location":"design/autoware-interfaces/components/planning/#from-scenario-planning-to-validation","title":"From Scenario Planning to Validation","text":"Name Topic Type Description Trajectory /planning/scenario_planning/trajectory autoware_auto_planning_msgs/msg/Trajectory A sequence of precise vehicle positions, speeds, and accelerations required for driving. It is expected that the vehicle will follow this trajectory."},{"location":"design/autoware-interfaces/components/sensing/","title":"Sensing","text":""},{"location":"design/autoware-interfaces/components/sensing/#sensing","title":"Sensing","text":"
    graph TD\n    cmp_drv(\"Drivers\"):::cls_drv\n    cmp_loc(\"Localization\"):::cls_loc\n    cmp_per(\"Perception\"):::cls_per\n    cmp_sen(\"Preprocessors\"):::cls_sen\n    msg_ult(\"<font size=2><b>Ultrasonics</b></font size>\n    <font size=1>sensor_msgs/Range</font size>\"):::cls_drv\n    msg_img(\"<font size=2><b>Camera Image</b></font size>\n    <font size=1>sensor_msgs/Image</font size>\"):::cls_drv\n    msg_ldr(\"<font size=2><b>Lidar Point Cloud</b></font size>\n    <font size=1>sensor_msgs/PointCloud2</font size>\"):::cls_drv\n    msg_rdr_t(\"<font size=2><b>Radar Tracks</b></font size>\n    <font size=1>radar_msgs/RadarTracks</font size>\"):::cls_drv\n    msg_rdr_s(\"<font size=2><b>Radar Scan</b></font size>\n    <font size=1>radar_msgs/RadarScan</font size>\"):::cls_drv\n    msg_gnss(\"<font size=2><b>GNSS-INS Position</b></font size>\n    <font size=1>sensor_msgs/NavSatFix</font size>\"):::cls_drv\n    msg_gnssori(\"<font size=2><b>GNSS-INS Orientation</b></font size>\n    <font size=1>autoware_sensing_msgs/GnssInsOrientationStamped</font size>\"):::cls_drv\n    msg_gnssvel(\"<font size=2><b>GNSS Velocity</b></font size>\n    <font size=1>geometry_msgs/TwistWithCovarianceStamped</font size>\"):::cls_drv\n    msg_gnssacc(\"<font size=2><b>GNSS Acceleration</b></font size>\n    <font size=1>geometry_msgs/AccelWithCovarianceStamped</font size>\"):::cls_drv\n    msg_ult_sen(\"<font size=2><b>Ultrasonics</b></font size>\n    <font size=1>sensor_msgs/Range</font size>\"):::cls_sen\n    msg_img_sen(\"<font size=2><b>Camera Image</b></font size>\n    <font size=1>sensor_msgs/Image</font size>\"):::cls_sen\n    msg_pc_combined_rdr(\"<font size=2><b>Combined Radar Tracks</b></font size>\n    <font size=1>radar_msgs/RadarTracks</font size>\"):::cls_sen\n    msg_pc_rdr(\"<font size=2><b>Radar Pointcloud</b></font size>\n    <font size=1>radar_msgs/RadarScan</font size>\"):::cls_sen\n    msg_pc_combined_ldr(\"<font size=2><b>Combined Lidar Point Cloud</b></font size>\n    <font size=1>sensor_msgs/PointCloud2</font size>\"):::cls_sen\n    msg_pose_gnss(\"<font size=2><b>GNSS-INS Pose</b></font size>\n    <font size=1>geometry_msgs/PoseWithCovarianceStamped</font size>\"):::cls_sen\n    msg_gnssori_sen(\"<font size=2><b>GNSS-INS Orientation</b></font size>\n    <font size=1>sensor_msgs/Imu</font size>\"):::cls_sen\n    msg_gnssvel_sen(\"<font size=2><b>GNSS Velocity</b></font size>\n    <font size=1>geometry_msgs/TwistWithCovarianceStamped</font size>\"):::cls_sen\n    msg_gnssacc_sen(\"<font size=2><b>GNSS-INS Acceleration</b></font size>\n    <font size=1>geometry_msgs/AccelWithCovarianceStamped</font size>\"):::cls_sen\n\n    cmp_drv --> msg_ult --> cmp_sen\n    cmp_drv --> msg_img --> cmp_sen\n    cmp_drv --> msg_rdr_t --> cmp_sen\n    cmp_drv --> msg_rdr_s --> cmp_sen\n    cmp_drv --> msg_ldr --> cmp_sen\n    cmp_drv --> msg_gnss --> cmp_sen\n    cmp_drv --> msg_gnssori --> cmp_sen\n    cmp_drv --> msg_gnssvel --> cmp_sen\n    cmp_drv --> msg_gnssacc --> cmp_sen\n\n    cmp_sen --> msg_ult_sen\n    cmp_sen --> msg_img_sen\n    cmp_sen --> msg_gnssori_sen\n    cmp_sen --> msg_gnssvel_sen\n    cmp_sen --> msg_pc_combined_rdr\n    cmp_sen --> msg_pc_rdr\n    cmp_sen --> msg_pc_combined_ldr\n    cmp_sen --> msg_pose_gnss\n    cmp_sen --> msg_gnssacc_sen\n    msg_ult_sen --> cmp_per\n    msg_img_sen --> cmp_per\n    msg_pc_combined_rdr --> cmp_per\n    msg_pc_rdr --> cmp_per\n    msg_pc_combined_ldr --> cmp_per\n    msg_pc_combined_ldr --> cmp_loc\n    msg_pose_gnss --> cmp_loc\n    msg_gnssori_sen --> cmp_loc\n    msg_gnssvel_sen --> cmp_loc\n    msg_gnssacc_sen --> cmp_loc\nclassDef cls_drv fill:#F8CECC,stroke:#999,stroke-width:1px;\nclassDef cls_loc fill:#D5E8D4,stroke:#999,stroke-width:1px;\nclassDef cls_per fill:#FFF2CC,stroke:#999,stroke-width:1px;\nclassDef cls_sen fill:#FFE6CC,stroke:#999,stroke-width:1px;
    "},{"location":"design/autoware-interfaces/components/sensing/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/sensing/#ultrasonics","title":"Ultrasonics","text":"

    Distance data from ultrasonic radar driver.

    • sensor_msgs/Range
    "},{"location":"design/autoware-interfaces/components/sensing/#camera-image","title":"Camera Image","text":"

    Image data from camera driver.

    • sensor_msgs/Image
    "},{"location":"design/autoware-interfaces/components/sensing/#radar-tracks","title":"Radar Tracks","text":"

    Tracks from radar driver.

    • radar_msgs/RadarTracks
    "},{"location":"design/autoware-interfaces/components/sensing/#radar-scan","title":"Radar Scan","text":"

    Scan from radar driver.

    • radar_msgs/RadarScan
    "},{"location":"design/autoware-interfaces/components/sensing/#lidar-point-cloud","title":"Lidar Point Cloud","text":"

    Pointcloud from lidar driver.

    • sensor_msgs/PointCloud2
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-position","title":"GNSS-INS Position","text":"

    Initial pose from GNSS driver.

    • geometry_msgs/NavSatFix
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-orientation","title":"GNSS-INS Orientation","text":"

    Initial orientation from GNSS driver.

    • autoware_sensing_msgs/GnssInsOrientationStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-velocity","title":"GNSS Velocity","text":"

    Initial velocity from GNSS driver.

    • geometry_msgs/TwistWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-acceleration","title":"GNSS Acceleration","text":"

    Initial acceleration from GNSS driver.

    • geometry_msgs/AccelWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/sensing/#ultrasonics_1","title":"Ultrasonics","text":"

    Distance data from ultrasonic radar. Used by the Perception.

    • sensor_msgs/Range
    "},{"location":"design/autoware-interfaces/components/sensing/#camera-image_1","title":"Camera Image","text":"

    Image data from camera. Used by the Perception.

    • sensor_msgs/Image
    "},{"location":"design/autoware-interfaces/components/sensing/#combined-radar-tracks","title":"Combined Radar Tracks","text":"

    Radar tracks from radar. Used by the Perception.

    • radar_msgs/RadarTracks.msg
    "},{"location":"design/autoware-interfaces/components/sensing/#radar-point-cloud","title":"Radar Point Cloud","text":"

    Pointcloud from radar. Used by the Perception.

    • radar_msgs/RadarScan.msg
    "},{"location":"design/autoware-interfaces/components/sensing/#combined-lidar-point-cloud","title":"Combined Lidar Point Cloud","text":"

    Lidar pointcloud after preprocessing. Used by the Perception and Localization.

    • sensor_msgs/PointCloud2
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-pose","title":"GNSS-INS pose","text":"

    Initial pose of the ego vehicle from GNSS. Used by the Localization.

    • geometry_msgs/PoseWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-orientation_1","title":"GNSS-INS Orientation","text":"

    Orientation info from GNSS. Used by the Localization.

    • sensor_msgs/Imu
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-velocity_1","title":"GNSS velocity","text":"

    Velocity of the ego vehicle from GNSS. Used by the Localization.

    • geometry_msgs/TwistWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-acceleration_1","title":"GNSS Acceleration","text":"

    Acceleration of the ego vehicle from GNSS. Used by the Localization.

    • geometry_msgs/AccelWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/","title":"Vehicle dimensions","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle-dimensions","title":"Vehicle dimensions","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle-axes-and-base_link","title":"Vehicle axes and base_link","text":"

    The base_link frame is used very frequently throughout the Autoware stack, and is a projection of the rear-axle center onto the ground surface.

    • Localization module outputs the map to base_link transformation.
    • Planning module plans the poses for where the base_link frame should be in the future.
    • Control module tries to fit base_link to incoming poses.
    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle-dimensions_1","title":"Vehicle dimensions","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheelbase","title":"wheelbase","text":"

    The distance between front and rear axles.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#track_width","title":"track_width","text":"

    The distance between left and right wheels.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#overhangs","title":"Overhangs","text":"

    Overhangs are part of the minimum safety box calculation.

    When measuring overhangs, side mirrors, protruding sensors and wheels should be taken into consideration.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#left_overhang","title":"left_overhang","text":"

    The distance between the axis centers of the left wheels and the left-most point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#right_overhang","title":"right_overhang","text":"

    The distance between the axis centers of the right wheels and the right-most point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#front_overhang","title":"front_overhang","text":"

    The distance between the front axle and the foremost point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#rear_overhang","title":"rear_overhang","text":"

    The distance between the rear axle and the rear-most point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle_length","title":"vehicle_length","text":"

    Total length of the vehicle. Calculated by front_overhang + wheelbase + rear_overhang

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle_width","title":"vehicle_width","text":"

    Total width of the vehicle. Calculated by left_overhang + track_width + right_overhang

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel-parameters","title":"Wheel parameters","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel_width","title":"wheel_width","text":"

    The lateral width of a wheel tire, primarily used for dead reckoning.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel_radius","title":"wheel_radius","text":"

    The radius of the wheel, primarily used for dead reckoning.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#polygon_footprint","title":"polygon_footprint","text":"

    The polygon defines the minimum collision area for the vehicle.

    The points should be ordered clockwise, with the origin on the base_link.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel-orientations","title":"Wheel orientations","text":"

    If the vehicle is going forward, a positive wheel angle will result in the vehicle turning left.

    Autoware assumes the rear wheels don't turn on z axis.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#notice","title":"Notice","text":"

    The vehicle used in the illustrations was created by xvlblo22 and is from https://www.turbosquid.com/3d-models/modular-sedan-3d-model-1590886.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/","title":"Vehicle Interface","text":""},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-interface","title":"Vehicle Interface","text":"

    The Vehicle Interface receives the Vehicle Signal Commands and Vehicle Control Commands and publishes the vehicle status. It also communicates with vehicle by the vehicle-specific protocol.

    The Gate switches multiple Vehicle Control Commands. These signals include autonomous diving command, joystick, remote control, and emergency operation, etc. The Adapter converts generalized control command (target steering, steering rate, velocity, acceleration, jerk) into vehicle-specific control values (steering-torque, wheel-torque, voltage, pressure, accel pedal position, etc).

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/vehicle-interface/#error-status","title":"Error status","text":"

    (See Inputs of Planning.)

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-control-command","title":"Vehicle Control Command","text":"

    (See Output of Control.)

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-signals-commands","title":"Vehicle Signals Commands","text":"

    Commands for various elements of the vehicle unrelated to motion. Published by the Planning module.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#outputs","title":"Outputs","text":""},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-signal-reports","title":"Vehicle Signal Reports","text":"

    Reports for various elements of the vehicle unrelated to motion. Published by the Vehicle Interface.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-odometry","title":"Vehicle Odometry","text":"

    Odometry of the vehicle. Used by the Localization module to update the pose of the vehicle in the map.

    • geometry_msgs/TwistWithCovarianceStamped odometry
    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#steering-status","title":"Steering Status","text":"

    Steering of the ego vehicle. Published by the Vehicle Interface.

    • Steering message (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 steering_angle
    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#actuation-status","title":"Actuation Status","text":"

    Actuation status of the ego vehicle for acceleration, steering, and brake. This represents the reported physical efforts exerted by the vehicle actuators. Published by the Vehicle Interface.

    • ActuationStatus (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 acceleration
      • float32 steering
      • float32 brake

    The message definition is under discussion.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#actuation-command","title":"Actuation Command","text":"

    Actuation command sent to the ego vehicle. This represents the requested physical efforts to be exerted by the vehicle actuators. Published by the Vehicle Interface as generated by the adapter.

    • ActuationCommand (github discussion.)
      • builtin_interfaces::msg::Time stamp
      • float32 acceleration
      • float32 steering
      • float32 brake

    The message definition is under discussion.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-communication","title":"Vehicle Communication","text":"

    Vehicle specific messages protocol like CAN (Controller Area Network).

    "},{"location":"design/configuration-management/","title":"Configuration management","text":""},{"location":"design/configuration-management/#configuration-management","title":"Configuration management","text":"

    Warning

    Under Construction

    "},{"location":"design/configuration-management/development-process/","title":"Development process","text":""},{"location":"design/configuration-management/development-process/#development-process","title":"Development process","text":"

    Warning

    Under Construction

    "},{"location":"design/configuration-management/release-process/","title":"Release process","text":""},{"location":"design/configuration-management/release-process/#release-process","title":"Release process","text":"

    Warning

    Under Construction

    "},{"location":"design/configuration-management/repository-structure/","title":"Repository structure","text":""},{"location":"design/configuration-management/repository-structure/#repository-structure","title":"Repository structure","text":"

    Warning

    Under Construction

    "},{"location":"how-to-guides/","title":"How-to guides","text":""},{"location":"how-to-guides/#how-to-guides","title":"How-to guides","text":""},{"location":"how-to-guides/#integrating-autoware","title":"Integrating Autoware","text":"
    • Overview
    "},{"location":"how-to-guides/#training-machine-learning-models","title":"Training Machine Learning Models","text":"
    • Training and Deploying Models
    "},{"location":"how-to-guides/#others","title":"Others","text":"
    • Debug Autoware
    • Running Autoware without CUDA
    • Fixing dependent package versions
    • Add a custom ROS message
    • Determining component dependencies
    • Advanced usage of colcon
    • Applying Clang-Tidy to ROS packages
    • Defining temporal performance metrics on components
    • An example procedure for adding and evaluating a new node

    TODO: Write the following contents.

    • Create an Autoware package
    • etc.
    "},{"location":"how-to-guides/integrating-autoware/overview/","title":"Overview","text":""},{"location":"how-to-guides/integrating-autoware/overview/#overview","title":"Overview","text":""},{"location":"how-to-guides/integrating-autoware/overview/#requirement-prepare-your-real-vehicle-hardware","title":"Requirement: prepare your real vehicle hardware","text":"

    Prerequisites for the vehicle:

    • An onboard computer that satisfies the Autoware installation prerequisites
    • The following devices attached
      • Drive-by-wire interface
      • LiDAR
      • Optional: Inertial measurement unit
      • Optional: Camera
      • Optional: GNSS
    "},{"location":"how-to-guides/integrating-autoware/overview/#1-creating-your-autoware-meta-repository","title":"1. Creating your Autoware meta-repository","text":"

    Create your Autoware meta-repository. One easy way is to fork autowarefoundation/autoware and clone it. For how to fork a repository, refer to GitHub Docs.

    git clone https://github.com/YOUR_NAME/autoware.git\n

    If you set up multiple types of vehicles, adding a suffix like \"autoware.vehicle_A\" or \"autoware.vehicle_B\" is recommended.

    "},{"location":"how-to-guides/integrating-autoware/overview/#2-creating-the-your-vehicle-and-sensor-description","title":"2. Creating the your vehicle and sensor description","text":"

    Next, you need to create description packages that define the vehicle and sensor configuration of your vehicle.

    Create the following two packages:

    • YOUR_VEHICLE_launch (see here for example)
    • YOUR_SENSOR_KIT_launch (see here for example)

    Once created, you need to update the autoware.repos file of your cloned Autoware repository to refer to these two description packages.

    -  # sensor_kit\n-  sensor_kit/sample_sensor_kit_launch:\n-    type: git\n-    url: https://github.com/autowarefoundation/sample_sensor_kit_launch.git\n-    version: main\n-  # vehicle\n-  vehicle/sample_vehicle_launch:\n-    type: git\n-    url: https://github.com/autowarefoundation/sample_vehicle_launch.git\n-    version: main\n+  # sensor_kit\n+  sensor_kit/YOUR_SENSOR_KIT_launch:\n+    type: git\n+    url: https://github.com/YOUR_NAME/YOUR_SENSOR_KIT_launch.git\n+    version: main\n+  # vehicle\n+  vehicle/YOUR_VEHICLE_launch:\n+    type: git\n+    url: https://github.com/YOUR_NAME/YOUR_VEHICLE_launch.git\n+    version: main\n
    "},{"location":"how-to-guides/integrating-autoware/overview/#adapt-your_vehicle_launch-for-autoware-launching-system","title":"Adapt YOUR_VEHICLE_launch for autoware launching system","text":""},{"location":"how-to-guides/integrating-autoware/overview/#at-your_vehicle_description","title":"At YOUR_VEHICLE_description","text":"

    Define URDF and parameters in the vehicle description package (refer to the sample vehicle description package for an example).

    "},{"location":"how-to-guides/integrating-autoware/overview/#at-your_vehicle_launch","title":"At YOUR_VEHICLE_launch","text":"

    Create a launch file (refer to the sample vehicle launch package for example). If you have multiple vehicles with the same hardware setup, you can specify vehicle_id to distinguish them.

    "},{"location":"how-to-guides/integrating-autoware/overview/#adapt-your_sensor_kit_description-for-autoware-launching-system","title":"Adapt YOUR_SENSOR_KIT_description for autoware launching system","text":""},{"location":"how-to-guides/integrating-autoware/overview/#at-your_sensor_kit_description","title":"At YOUR_SENSOR_KIT_description","text":"

    Define URDF and extrinsic parameters for all the sensors here (refer to the sample sensor kit description package for example). Note that you need to calibrate extrinsic parameters for all the sensors beforehand.

    "},{"location":"how-to-guides/integrating-autoware/overview/#at-your_sensor_kit_launch","title":"At YOUR_SENSOR_KIT_launch","text":"

    Create launch/sensing.launch.xml that launches the interfaces of all the sensors on the vehicle. (refer to the sample sensor kit launch package for example).

    Note

    At this point, you are now able to run Autoware's Planning Simulator to do a basic test of your vehicle and sensing packages. To do so, you need to build and install Autoware using your cloned repository. Follow the steps for either Docker or source installation (starting from the dependency installation step) and then run the following command:

    ros2 launch autoware_launch planning_simulator.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP\n
    "},{"location":"how-to-guides/integrating-autoware/overview/#3-create-a-vehicle_interface-package","title":"3. Create a vehicle_interface package","text":"

    You need to create an interface package for your vehicle. The package is expected to provide the following two functions.

    1. Receive command messages from vehicle_cmd_gate and drive the vehicle accordingly
    2. Send vehicle status information to Autoware

    You can find detailed information about the requirements of the vehicle_interface package in the Vehicle Interface design documentation. You can also refer to TIER IV's pacmod_interface repository as an example of a vehicle interface package.

    "},{"location":"how-to-guides/integrating-autoware/overview/#4-create-maps","title":"4. Create maps","text":"

    You need both a pointcloud map and a vector map in order to use Autoware. For more information on map design, please click here.

    "},{"location":"how-to-guides/integrating-autoware/overview/#create-a-pointcloud-map","title":"Create a pointcloud map","text":"

    Use third-party tools such as a LiDAR-based SLAM (Simultaneous Localization And Mapping) package to create a pointcloud map in the .pcd format. For more information, please click here.

    "},{"location":"how-to-guides/integrating-autoware/overview/#create-vector-map","title":"Create vector map","text":"

    Use third-party tools such as TIER IV's Vector Map Builder to create a Lanelet2 format .osm file.

    "},{"location":"how-to-guides/integrating-autoware/overview/#5-launch-autoware","title":"5. Launch Autoware","text":"

    This section briefly explains how to run your vehicle with Autoware.

    "},{"location":"how-to-guides/integrating-autoware/overview/#install-autoware","title":"Install Autoware","text":"

    Follow the installation steps of Autoware.

    "},{"location":"how-to-guides/integrating-autoware/overview/#launch-autoware","title":"Launch Autoware","text":"

    Launch Autoware with the following command:

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP\n
    "},{"location":"how-to-guides/integrating-autoware/overview/#set-initial-pose","title":"Set initial pose","text":"

    If GNSS is available, Autoware automatically initializes the vehicle's pose.

    If not, you need to set the initial pose using the RViz GUI.

    1. Click the 2D Pose estimate button in the toolbar, or hit the P key
    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the initial pose.
    "},{"location":"how-to-guides/integrating-autoware/overview/#set-goal-pose","title":"Set goal pose","text":"

    Set a goal pose for the ego vehicle.

    1. Click the 2D Nav Goal button in the toolbar, or hit the G key
    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the goal pose. If successful, you will see the calculated planning path on RViz.
    "},{"location":"how-to-guides/integrating-autoware/overview/#engage","title":"Engage","text":"

    In your terminal, execute the following command.

    source ~/autoware.YOURS/install/setup.bash\nros2 topic pub /autoware.YOURS/engage autoware_auto_vehicle_msgs/msg/Engage \"engage: true\" -1\n

    You can also engage via RViz with \"AutowareStatePanel\". The panel can be found in Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel.

    Now the vehicle should drive along the calculated path!

    "},{"location":"how-to-guides/integrating-autoware/overview/#6-tune-parameters-for-your-vehicle-environment","title":"6. Tune parameters for your vehicle & environment","text":"

    You may need to tune your parameters depending on the domain in which you will operate your vehicle.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/","title":"Creating maps","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/#creating-maps","title":"Creating maps","text":"

    Autoware requires a pointcloud map and a vector map for the vehicle's operating environment. (Check the map design documentation page for the detailed specification).

    This page explains how users can create maps that can be used for Autoware.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/#creating-a-point-cloud-map","title":"Creating a point cloud map","text":"

    Traditionally, a Mobile Mapping System (MMS) is used in order to create highly accurate large-scale point cloud maps. However, since a MMS requires high-end sensors for precise positioning, its operational cost can be very expensive and may not be suitable for a relatively small driving environment. Alternatively, a Simultaneous Localization And Mapping (SLAM) algorithm can be used to create a point cloud map from recorded LiDAR scans. Some of the useful open-source SLAM implementations are listed in this page.

    If you prefer proprietary software that is easy to use, you can try a fully automatic mapping tool from MAP IV, Inc., MapIV Engine. They currently provide a trial license for Autoware users free of charge.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/#creating-a-vector-map","title":"Creating a vector map","text":"

    The easiest way to create an Autoware-compatible vector map is to use Vector Map Builder, a free web-based tool provided by TIER IV, Inc.. Vector Map Builder allows you to create lanes and add additional regulatory elements such as stop signs or traffic lights using a point cloud map as a reference.

    For open-source software options, MapToolbox is a plugin for Unity specifically designed to create Lanelet2 maps for Autoware. Although JOSM is another open-source tool that can be used to create Lanelet2 maps, be aware that a number of modifications must be done manually to make the map compatible with Autoware. This process can be tedious and time-consuming, so the use of JOSM is not recommended.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/#autoware-compatible-map-providers","title":"Autoware-compatible map providers","text":"

    If it is not possible to create HD maps yourself, you can use a mapping service from the following Autoware-compatible map providers instead:

    • MAP IV, Inc.
    • AISAN TECHNOLOGY CO., LTD.
    • TomTom

    The table below shows each company's mapping technology and the types of HD maps they support.

    Company Mapping technology Available maps MAP IV, Inc. SLAM Point cloud and vector maps AISAN TECHNOLOGY CO., LTD. MMS Point cloud and vector maps TomTom MMS Vector map*

    Note

    Maps provided by TomTom use their proprietary AutoStream format, not Lanelet2. The open-source AutoStreamForAutoware tool can be used to convert an AutoStream map to a Lanelet2 map. However, the converter is still in its early stages and has some known limitations.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/","title":"Available Open Source SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#available-open-source-slam","title":"Available Open Source SLAM","text":"

    This page provides the list of available open source Simultaneous Localization And Mapping (SLAM) implementation that can be used to generate a point cloud (.pcd) map file.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#selecting-which-implementation-to-use","title":"Selecting which implementation to use","text":"

    Lidar odometry drifts accumulatively as time goes by and there is solutions to solve that problem such as graph optimization, loop closure and using gps sensor to decrease accumulative drift error. Because of that, a SLAM algorithm should have loop closure feature, graph optimization and should use gps sensor. Additionally, some of the algorithms are using IMU sensor to add another factor to graph for decreasing drift error. While some of the algorithms requires 9-axis IMU sensor strictly, some of them requires only 6-axis IMU sensor or not even using the IMU sensor. Before choosing an algorithm to create maps for Autoware please consider these factors depends on your sensor setup or expected quality of generated map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#tips","title":"Tips","text":"

    Commonly used open-source SLAM implementations are lidarslam-ros2 (LiDAR, IMU*) and LIO-SAM (LiDAR, IMU, GNSS). The required sensor data for each algorithm is specified in the parentheses, where an asterisk (*) indicates that such sensor data is optional. For supported LiDAR models, please check the GitHub repository of each algorithm. While these ROS 2-based SLAM implementations can be easily installed and used directly on the same machine that runs Autoware, it is important to note that they may not be as well-tested or as mature as ROS 1-based alternatives.

    The notable open-source SLAM implementations that are based on ROS 1 include hdl-graph-slam (LiDAR, IMU*, GNSS*), LeGO-LOAM (LiDAR, IMU*), LeGO-LOAM-BOR (LiDAR), and LIO-SAM (LiDAR, IMU, GNSS).

    Most of these algorithms already have a built-in loop-closure and pose graph optimization. However, if the built-in, automatic loop-closure fails or does not work correctly, you can use Interactive SLAM to adjust and optimize a pose graph manually.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#list-of-third-party-slam-implementations","title":"List of Third Party SLAM Implementations","text":"Package Name Explanation Repository Link Loop Closure Sensors ROS Version Dependencies FAST-LIO-LC A computationally efficient and robust LiDAR-inertial odometry package with loop closure module and graph optimization https://github.com/yanliang-wang/FAST_LIO_LC &check; LidarIMUGPS [Optional] ROS 1 ROS MelodicPCL >= 1.8Eigen >= 3.3.4GTSAM >= 4.0.0 FAST_LIO_SLAM FAST_LIO_SLAM is the integration of FAST_LIO and SC-PGO which is scan context based loop detection and GTSAM based pose-graph optimization https://github.com/gisbi-kim/FAST_LIO_SLAM &check; LidarIMUGPS [Optional] ROS 1 PCL >= 1.8Eigen >= 3.3.4 FD-SLAM FD_SLAM is Feature&Distribution-based 3D LiDAR SLAM method based on Surface Representation Refinement. In this algorithm novel feature-based Lidar odometry used for fast scan-matching, and used a proposed UGICP method for keyframe matching https://github.com/SLAMWang/FD-SLAM &check; LidarIMU [Optional]GPS ROS 1 PCLg2oSuitesparse hdl_graph_slam An open source ROS package for real-time 6DOF SLAM using a 3D LIDAR. It is based on 3D Graph SLAM with NDT scan matching-based odometry estimation and loop detection. It also supports several graph constraints, such as GPS, IMU acceleration (gravity vector), IMU orientation (magnetic sensor), and floor plane (detected in a point cloud) https://github.com/koide3/hdl_graph_slam &check; LidarIMU [Optional]GPS [Optional] ROS 1 PCLg2oOpenMP IA-LIO-SAM IA_LIO_SLAM is created for data acquisition in unstructured environment and it is a framework for Intensity and Ambient Enhanced Lidar Inertial Odometry via Smoothing and Mapping that achieves highly accurate robot trajectories and mapping https://github.com/minwoo0611/IA_LIO_SAM &check; LidarIMUGPS ROS 1 GTSAM ISCLOAM ISCLOAM presents a robust loop closure detection approach by integrating both geometry and intensity information https://github.com/wh200720041/iscloam &check; Lidar ROS 1 Ubuntu 18.04ROS MelodicCeresPCLGTSAMOpenCV LeGO-LOAM-BOR LeGO-LOAM-BOR is improved version of the LeGO-LOAM by improving quality of the code, making it more readable and consistent. Also, performance is improved by converting processes to multi-threaded approach https://github.com/facontidavide/LeGO-LOAM-BOR &check; LidarIMU ROS 1 ROS MelodicPCLGTSAM LIO_SAM A framework that achieves highly accurate, real-time mobile robot trajectory estimation and map-building. It formulates lidar-inertial odometry atop a factor graph, allowing a multitude of relative and absolute measurements, including loop closures, to be incorporated from different sources as factors into the system https://github.com/TixiaoShan/LIO-SAM &check; LidarIMUGPS [Optional] ROS 1ROS 2 PCLGTSAM Optimized-SC-F-LOAM An improved version of F-LOAM and uses an adaptive threshold to further judge the loop closure detection results and reducing false loop closure detections. Also it uses feature point-based matching to calculate the constraints between a pair of loop closure frame point clouds and decreases time consumption of constructing loop frame constraints https://github.com/SlamCabbage/Optimized-SC-F-LOAM &check; Lidar ROS 1 PCLGTSAMCeres SC-A-LOAM A real-time LiDAR SLAM package that integrates A-LOAM and ScanContext. https://github.com/gisbi-kim/SC-A-LOAM &check; Lidar ROS 1 GTSAM >= 4.0 SC-LeGO-LOAM SC-LeGO-LOAM integrated LeGO-LOAM for lidar odometry and 2 different loop closure methods: ScanContext and Radius search based loop closure. While ScanContext is correcting large drifts, radius search based method is good for fine-stitching https://github.com/irapkaist/SC-LeGO-LOAM &check; LidarIMU ROS 1 PCLGTSAM"},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/","title":"FAST_LIO_LC","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#fast_lio_lc","title":"FAST_LIO_LC","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#what-is-fast_lio_lc","title":"What is FAST_LIO_LC?","text":"
    • A computationally efficient and robust LiDAR-inertial odometry package with loop closure module and graph optimization.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/yanliang-wang/FAST_LIO_LC

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne, Ouster, Livox]
    • IMU [6-AXIS, 9-AXIS]
    • GPS [Optional]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#dependencies","title":"Dependencies","text":"
    • Ubuntu 18.04
    • ROS Melodic
    • PCL >= 1.8, Follow PCL Installation.
    • Eigen >= 3.3.4, Follow Eigen Installation.
    • GTSAM >= 4.0.0, Follow GTSAM Installation.
      wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\n  cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\n  cd ~/Downloads/gtsam-4.0.0-alpha2/\n  mkdir build && cd build\n  cmake ..\n  sudo make install\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#1-build","title":"1) Build","text":"
        mkdir -p ~/ws_fastlio_lc/src\n    cd ~/ws_fastlio_lc/src\n    git clone https://github.com/gisbi-kim/FAST_LIO_SLAM.git\n    git clone https://github.com/Livox-SDK/livox_ros_driver\n    cd ..\n    catkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#2-set-parameters","title":"2) Set parameters","text":"
    • After downloading the repository, change topic and sensor settings on the config file (workspace/src/FAST_LIO_LC/FAST_LIO/config/ouster64_mulran.yaml) with the lidar topic name in your bag file.
    • For imu-lidar compatibility, extrinsic matrices from calibration must be changed.
    • To enable auto-save, pcd_save_enable must be 1 from the launch file (workspace/src/FAST_LIO_LC/FAST_LIO/launch/mapping_ouster64_mulran.launch).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#3-run","title":"3) Run","text":"
    • For Ouster OS1-64
      # open new terminal: run FAST-LIO\nroslaunch fast_lio mapping_ouster64.launch\n\n# open the other terminal tab: run SC-PGO\nroslaunch aloam_velodyne fastlio_ouster64.launch\n\n# play bag file in the other terminal\nrosbag play RECORDED_BAG.bag --clock\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#other-examples","title":"Other Examples","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#example-dataset","title":"Example dataset","text":"

    Check original repository link for example dataset.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#contact","title":"Contact","text":"
    • Maintainer: Yanliang Wang (wyl410922@qq.com)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#acknowledgements","title":"Acknowledgements","text":"
    • Thanks for FAST_LIO authors.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/","title":"FAST_LIO_SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#fast_lio_slam","title":"FAST_LIO_SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#what-is-fast_lio_slam","title":"What is FAST_LIO_SLAM?","text":"
    • FAST_LIO_SLAM is the integration of FAST_LIO and SC-PGO which is scan context based loop detection and GTSAM based pose-graph optimization.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/gisbi-kim/FAST_LIO_SLAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Livox, Velodyne, Ouster]
    • IMU [6-AXIS, 9-AXIS]
    • GPS [OPTIONAL]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM
    wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.0-alpha2/\nmkdir build && cd build\ncmake ..\nsudo make install\n
    • PCL >= 1.8, Follow PCL Installation.
    • Eigen >= 3.3.4, Follow Eigen Installation.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#1-build","title":"1) Build","text":"
        mkdir -p ~/catkin_fastlio_slam/src\n    cd ~/catkin_fastlio_slam/src\n    git clone https://github.com/gisbi-kim/FAST_LIO_SLAM.git\n    git clone https://github.com/Livox-SDK/livox_ros_driver\n    cd ..\n    catkin_make\n    source devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#2-set-parameters","title":"2) Set parameters","text":"
    • Set imu and lidar topic on Fast_LIO/config/ouster64.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#3-run","title":"3) Run","text":"
        # terminal 1: run FAST-LIO2\nroslaunch fast_lio mapping_ouster64.launch\n\n    # open the other terminal tab: run SC-PGO\ncd ~/catkin_fastlio_slam\n    source devel/setup.bash\n    roslaunch aloam_velodyne fastlio_ouster64.launch\n\n    # play bag file in the other terminal\nrosbag play xxx.bag -- clock --pause\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#other-examples","title":"Other Examples","text":"
    • Tutorial video 1 (using KAIST 03 sequence of MulRan dataset)

      • Example result captures

      • download the KAIST 03 pcd map made by FAST-LIO-SLAM, 500MB
    • Example Video 2 (Riverside 02 sequence of MulRan dataset)
      • Example result captures

      • download the Riverside 02 pcd map made by FAST-LIO-SLAM, 400MB
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#acknowledgements","title":"Acknowledgements","text":"
    • Thanks for FAST_LIO authors.
    • You may have an interest in this version of FAST-LIO + Loop closure, implemented by yanliang-wang
    • Maintainer: Giseop Kim (paulgkim@kaist.ac.kr)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/","title":"FD-SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#fd-slam","title":"FD-SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#what-is-fd-slam","title":"What is FD-SLAM?","text":"
    • FD_SLAM is Feature&Distribution-based 3D LiDAR SLAM method based on Surface Representation Refinement. In this algorithm novel feature-based Lidar odometry used for fast scan-matching, and used a proposed UGICP method for keyframe matching.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#repository-information","title":"Repository Information","text":"

    This is an open source ROS package for real-time 6DOF SLAM using a 3D LIDAR.

    It is based on hdl_graph_slam and the steps to run our system are same with hdl-graph-slam.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/SLAMWang/FD-SLAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR[VLP-16, HDL-32, HDL-64, OS1-64]
    • GPS
    • IMU [Optional]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • g2o
    • Suitesparse

    The following ROS packages are required:

    • geodesy
    • nmea_msgs
    • pcl_ros
    • ndt_omp
    • U_gicp This is modified based on fast_gicp by us. We use UGICP for keyframe matching.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/SLAMWang/FD-SLAM.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#2-services","title":"2) Services","text":"
    /hdl_graph_slam/dump  (hdl_graph_slam/DumpGraph)\n- save all the internal data (point clouds, floor coeffs, odoms, and pose graph) to a directory.\n\n/hdl_graph_slam/save_map (hdl_graph_slam/SaveMap)\n- save the generated map as a PCD file.\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#3-set-parameters","title":"3) Set parameters","text":"
    • All the configurable parameters are listed in launch/****.launch as ros params.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#4-run","title":"4) Run","text":"
    source devel/setup.bash\nroslaunch hdl_graph_slam hdl_graph_slam_400_ours.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/","title":"hdl_graph_slam","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#hdl_graph_slam","title":"hdl_graph_slam","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#what-is-hdl_graph_slam","title":"What is hdl_graph_slam?","text":"
    • An open source ROS package for real-time 6DOF SLAM using a 3D LIDAR. It is based on 3D Graph SLAM with NDT scan matching-based odometry estimation and loop detection. It also supports several graph constraints, such as GPS, IMU acceleration (gravity vector), IMU orientation (magnetic sensor), and floor plane (detected in a point cloud).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/koide3/hdl_graph_slam

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne, Ouster, RoboSense]
    • IMU [6-AXIS, 9-AXIS] [OPTIONAL]
    • GPS [OPTIONAL]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • g2o
    • OpenMP

    The following ROS packages are required:

    • geodesy
    • nmea_msgs
    • pcl_ros
    • ndt_omp
    • fast_gicp
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#1-build","title":"1) Build","text":"
    # for melodic\nsudo apt-get install ros-melodic-geodesy ros-melodic-pcl-ros ros-melodic-nmea-msgs ros-melodic-libg2o\ncd catkin_ws/src\ngit clone https://github.com/koide3/ndt_omp.git -b melodic\ngit clone https://github.com/SMRT-AIST/fast_gicp.git --recursive\ngit clone https://github.com/koide3/hdl_graph_slam\n\ncd .. && catkin_make -DCMAKE_BUILD_TYPE=Release\n\n# for noetic\nsudo apt-get install ros-noetic-geodesy ros-noetic-pcl-ros ros-noetic-nmea-msgs ros-noetic-libg2o\n\ncd catkin_ws/src\ngit clone https://github.com/koide3/ndt_omp.git\ngit clone https://github.com/SMRT-AIST/fast_gicp.git --recursive\ngit clone https://github.com/koide3/hdl_graph_slam\n\ncd .. && catkin_make -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#2-set-parameter","title":"2) Set parameter","text":"
    • Set lidar topic on launch/hdl_graph_slam_400.launch
    • Set registration settings on launch/hdl_graph_slam_400.launch
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#3-run","title":"3) Run","text":"
    rosparam set use_sim_time true\nroslaunch hdl_graph_slam hdl_graph_slam_400.launch\n
    roscd hdl_graph_slam/rviz\nrviz -d hdl_graph_slam.rviz\n
    rosbag play --clock hdl_400.bag\n

    Save the generated map by:

    rosservice call /hdl_graph_slam/save_map \"resolution: 0.05\ndestination: '/full_path_directory/map.pcd'\"\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#example2-outdoor","title":"Example2 (Outdoor)","text":"

    Bag file (recorded in an outdoor environment):

    • hdl_400.bag.tar.gz (raw data, about 900MB)
    rosparam set use_sim_time true\nroslaunch hdl_graph_slam hdl_graph_slam_400.launch\n
    roscd hdl_graph_slam/rviz\nrviz -d hdl_graph_slam.rviz\n
    rosbag play --clock dataset.bag\n

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#papers","title":"Papers","text":"

    Kenji Koide, Jun Miura, and Emanuele Menegatti, A Portable 3D LIDAR-based System for Long-term and Wide-area People Behavior Measurement, Advanced Robotic Systems, 2019 [link].

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#contact","title":"Contact","text":"

    Kenji Koide, k.koide@aist.go.jp, https://staff.aist.go.jp/k.koide

    [Active Intelligent Systems Laboratory, Toyohashi University of Technology, Japan] [Mobile Robotics Research Team, National Institute of Advanced Industrial Science and Technology (AIST), Japan]

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/","title":"IA-LIO-SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#ia-lio-sam","title":"IA-LIO-SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#what-is-ia-lio-sam","title":"What is IA-LIO-SAM?","text":"
    • IA_LIO_SLAM is created for data acquisition in unstructured environment and it is a framework for Intensity and Ambient Enhanced Lidar Inertial Odometry via Smoothing and Mapping that achieves highly accurate robot trajectories and mapping.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/minwoo0611/IA_LIO_SAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne, Ouster]
    • IMU [9-AXIS]
    • GNSS
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#dependencies","title":"Dependencies","text":"
    • ROS (tested with Kinetic and Melodic)

      • for ROS melodic:

        sudo apt-get install -y ros-melodic-navigation\nsudo apt-get install -y ros-melodic-robot-localization\nsudo apt-get install -y ros-melodic-robot-state-publisher\n
      • for ROS kinetic:

        sudo apt-get install -y ros-kinetic-navigation\nsudo apt-get install -y ros-kinetic-robot-localization\nsudo apt-get install -y ros-kinetic-robot-state-publisher\n
    • GTSAM (Georgia Tech Smoothing and Mapping library)

      wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.2/\nmkdir build && cd build\ncmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..\nsudo make install -j8\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#1-build","title":"1) Build","text":"
        mkdir -p ~/catkin_ia_lio/src\n    cd ~/catkin_ia_lio/src\n    git clone https://github.com/minwoo0611/IA_LIO_SAM\n    cd ..\n    catkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#2-set-parameters","title":"2) Set parameters","text":"
    • After downloading the repository, change topic and sensor settings on the config file (workspace/src/IA_LIO_SAM/config/params.yaml)
    • For imu-lidar compatibility, extrinsic matrices from calibration must be changed.
    • To enable autosave, savePCD must be true on the params.yaml file (workspace/src/IA_LIO_SAM/config/params.yaml).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#3-run","title":"3) Run","text":"
      # open new terminal: run IA_LIO\n  source devel/setup.bash\n  roslaunch lio_sam mapping_ouster64.launch\n\n  # play bag file in the other terminal\n  rosbag play RECORDED_BAG.bag --clock\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#sample-dataset-images","title":"Sample dataset images","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#example-dataset","title":"Example dataset","text":"

    Check original repo link for example dataset.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#contact","title":"Contact","text":"
    • Maintainer: Kevin Jung (GitHub: minwoo0611)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#paper","title":"Paper","text":"

    Thank you for citing IA-LIO-SAM(./config/doc/KRS-2021-17.pdf) if you use any of this code.

    Part of the code is adapted from LIO-SAM (IROS-2020).

    @inproceedings{legoloam2018shan,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Shan, Tixiao and Englot, Brendan},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#acknowledgements","title":"Acknowledgements","text":"
    • IA-LIO-SAM is based on LIO-SAM (T. Shan, B. Englot, D. Meyers, W. Wang, C. Ratti, and D. Rus. LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/","title":"ISCLOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#iscloam","title":"ISCLOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#what-is-iscloam","title":"What is ISCLOAM?","text":"
    • ISCLOAM presents a robust loop closure detection approach by integrating both geometry and intensity information.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/wh200720041/iscloam

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#dependencies","title":"Dependencies","text":"
    • Ubuntu 64-bit 18.04
    • ROS Melodic ROS Installation
    • Ceres Solver Ceres Installation
    • PCL PCL Installation
    • Gtsam GTSAM Installation
    • OpenCV OPENCV Installation
    • Trajectory visualization

    For visualization purpose, this package uses hector trajectory sever, you may install the package by

    sudo apt-get install ros-melodic-hector-trajectory-server\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#build-and-run","title":"Build and Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#1-clone-repository","title":"1. Clone repository","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/wh200720041/iscloam.git\ncd ..\ncatkin_make -j1\nsource ~/catkin_ws/devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#2-set-parameter","title":"2. Set Parameter","text":"

    Change the bag location and sensor parameters on launch files.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#3-launch","title":"3. Launch","text":"
    roslaunch iscloam iscloam.launch\n

    if you would like to generate the map of environment at the same time, you can run

    roslaunch iscloam iscloam_mapping.launch\n

    Note that the global map can be very large, so it may takes a while to perform global optimization, some lag is expected between trajectory and map since they are running in separate thread. More CPU usage will happen when loop closure is identified.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#example-result","title":"Example Result","text":"

    Watch demo video at Video Link

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#ground-truth-comparison","title":"Ground Truth Comparison","text":"

    Green: ISCLOAM Red: Ground Truth

                      KITTI sequence 00                                  KITTI sequence 05\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#citation","title":"Citation","text":"

    If you use this work for your research, you may want to cite the paper below, your citation will be appreciated

    @inproceedings{wang2020intensity,\n  author={H. {Wang} and C. {Wang} and L. {Xie}},\n  booktitle={2020 IEEE International Conference on Robotics and Automation (ICRA)},\n  title={Intensity Scan Context: Coding Intensity and Geometry Relations for Loop Closure Detection},\n  year={2020},\n  volume={},\n  number={},\n  pages={2095-2101},\n  doi={10.1109/ICRA40945.2020.9196764}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#acknowledgements","title":"Acknowledgements","text":"

    Thanks for A-LOAM and LOAM(J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) and LOAM_NOTED.

    Author: Wang Han, Nanyang Technological University, Singapore

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/","title":"LeGO-LOAM-BOR","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#lego-loam-bor","title":"LeGO-LOAM-BOR","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#what-is-lego-loam-bor","title":"What is LeGO-LOAM-BOR?","text":"
    • LeGO-LOAM-BOR is improved version of the LeGO-LOAM by improving quality of the code, making it more readable and consistent. Also, performance is improved by converting processes to multi-threaded approach.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/facontidavide/LeGO-LOAM-BOR

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16]
    • IMU [9-AXIS]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#dependencies","title":"Dependencies","text":"
    • ROS Melodic ROS Installation
    • PCL PCL Installation
    • Gtsam GTSAM Installation
    wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.0-alpha2/\nmkdir build && cd build\ncmake ..\nsudo make install\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/facontidavide/LeGO-LOAM-BOR.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#2-set-parameters","title":"2) Set parameters","text":"
    • Set parameters on LeGo-LOAM/loam_config.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#3-run","title":"3) Run","text":"
    source devel/setup.bash\nroslaunch lego_loam_bor run.launch rosbag:=/path/to/your/rosbag lidar_topic:=/velodyne_points\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#cite-lego-loam","title":"Cite LeGO-LOAM","text":"

    Thank you for citing our LeGO-LOAM paper if you use any of this code:

    @inproceedings{legoloam2018,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Tixiao Shan and Brendan Englot},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/","title":"LIO_SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#lio_sam","title":"LIO_SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#what-is-lio_sam","title":"What is LIO_SAM?","text":"
    • A framework that achieves highly accurate, real-time mobile robot trajectory estimation and map-building. It formulates lidar-inertial odometry atop a factor graph, allowing a multitude of relative and absolute measurements, including loop closures, to be incorporated from different sources as factors into the system
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/TixiaoShan/LIO-SAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Livox, Velodyne, Ouster]
    • IMU [9-AXIS]
    • GPS [OPTIONAL]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    • For ROS 2
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM (Georgia Tech Smoothing and Mapping library)

      sudo add-apt-repository ppa:borglab/gtsam-release-4.0\nsudo apt install libgtsam-dev libgtsam-unstable-dev\n
      sudo apt-get install -y ros-melodic-navigation\n  sudo apt-get install -y ros-melodic-robot-localization\n  sudo apt-get install -y ros-melodic-robot-state-publisher\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#1-build","title":"1) Build","text":"
        mkdir -p ~/catkin_lio_sam/src\n    cd ~/catkin_lio_sam/src\n    git clone https://github.com/TixiaoShan/LIO-SAM.git\n    cd ..\n    catkin_make\n    source devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#2-set-parameters","title":"2) Set parameters","text":"
    • Set topics and sensor settings on lio_sam/config/params.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#3-run","title":"3) Run","text":"
        # Run the Launch File\nroslaunch lio_sam run.launch\n\n    # Play bag file in the other terminal\nrosbag play xxx.bag --clock\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#paper","title":"Paper","text":"

    Thank you for citing LIO-SAM (IROS-2020) if you use any of this code.

    @inproceedings{liosam2020shan,\n  title={LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping},\n  author={Shan, Tixiao and Englot, Brendan and Meyers, Drew and Wang, Wei and Ratti, Carlo and Rus Daniela},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={5135-5142},\n  year={2020},\n  organization={IEEE}\n}\n

    Part of the code is adapted from LeGO-LOAM.

    @inproceedings{legoloam2018shan,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Shan, Tixiao and Englot, Brendan},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#acknowledgements","title":"Acknowledgements","text":"
    • LIO-SAM is based on LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/","title":"Optimized-SC-F-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#optimized-sc-f-loam","title":"Optimized-SC-F-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#what-is-optimized-sc-f-loam","title":"What is Optimized-SC-F-LOAM?","text":"
    • An improved version of F-LOAM and uses an adaptive threshold to further judge the loop closure detection results and reducing false loop closure detections. Also it uses feature point-based matching to calculate the constraints between a pair of loop closure frame point clouds and decreases time consumption of constructing loop frame constraints.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/SlamCabbage/Optimized-SC-F-LOAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16, HDL-32, HDL-64]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM
    • Ceres Solver
    • For visualization purpose, this package uses hector trajectory sever, you may install the package by
    sudo apt-get install ros-noetic-hector-trajectory-server\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/SlamCabbage/Optimized-SC-F-LOAM.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#2-create-message-file","title":"2) Create message file","text":"

    In this folder, Ground Truth information, optimized pose information, F-LOAM pose information and time information are stored

    mkdir -p ~/message/Scans\n\nChange line 383 in the laserLoopOptimizationNode.cpp to your own \"message\" folder path\n

    (Do not forget to rebuild your package)

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#3-set-parameters","title":"3) Set parameters","text":"
    • Set LIDAR topic and LIDAR properties on 'sc_f_loam_mapping.launch'
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#4-run","title":"4) Run","text":"
    source devel/setup.bash\nroslaunch optimized_sc_f_loam optimized_sc_f_loam_mapping.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#results-on-kitti-sequence-00-and-sequence-05","title":"Results on KITTI Sequence 00 and Sequence 05","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#comparison-of-trajectories-on-kitti-dataset","title":"Comparison of trajectories on KITTI dataset","text":"

    Test on KITTI sequence You can download the sequence 00 and 05 datasets from the KITTI official website and convert them into bag files using the kitti2bag open source method.

    00: 2011_10_03_drive_0027 000000 004540

    05: 2011_09_30_drive_0018 000000 002760

    See the link: https://github.com/ethz-asl/kitti_to_rosbag

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#acknowledgements","title":"Acknowledgements","text":"

    Thanks for SC-A-LOAM(Scan context: Egocentric spatial descriptor for place recognition within 3d point cloud map) and F-LOAM(F-LOAM : Fast LiDAR Odometry and Mapping).

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#citation","title":"Citation","text":"
    @misc{https://doi.org/10.48550/arxiv.2204.04932,\n  doi = {10.48550/ARXIV.2204.04932},\n\n  url = {https://arxiv.org/abs/2204.04932},\n\n  author = {Liao, Lizhou and Fu, Chunyun and Feng, Binbin and Su, Tian},\n\n  keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},\n\n  title = {Optimized SC-F-LOAM: Optimized Fast LiDAR Odometry and Mapping Using Scan Context},\n\n  publisher = {arXiv},\n\n  year = {2022},\n\n  copyright = {arXiv.org perpetual, non-exclusive license}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/","title":"SC-A-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#sc-a-loam","title":"SC-A-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#what-is-sc-a-loam","title":"What is SC-A-LOAM?","text":"
    • A real-time LiDAR SLAM package that integrates A-LOAM and ScanContext.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/gisbi-kim/SC-A-LOAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16, HDL-32, HDL-64, Ouster OS1-64]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#prerequisites-dependencies","title":"Prerequisites (dependencies)","text":"
    • ROS
    • GTSAM version 4.x.
    • If GTSAM is not installed, follow the steps below.

        wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip\n  cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\n  cd ~/Downloads/gtsam-4.0.2/\n  mkdir build && cd build\n  cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..\n  sudo make install -j8\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#1-build","title":"1) Build","text":"
    • First, install the above mentioned dependencies and follow below lines.

       mkdir -p ~/catkin_scaloam_ws/src\n cd ~/catkin_scaloam_ws/src\n git clone https://github.com/gisbi-kim/SC-A-LOAM.git\n cd ../\n catkin_make\n source ~/catkin_scaloam_ws/devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#2-set-parameters","title":"2) Set parameters","text":"
    • After downloading the repository, change topic and sensor settings on the launch files.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#scan-context-parameters","title":"Scan Context parameters","text":"
    • If encountering ghosting error or loop is not closed, change the scan context parameters.
    • Adjust the scan context settings with the parameters in the marked area.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#3-run","title":"3) Run","text":"
    roslaunch aloam_velodyne aloam_mulran.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#4-saving-as-pcd-file","title":"4) Saving as PCD file","text":"
      rosrun pcl_ros pointcloud_to_pcd input:=/aft_pgo_map\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#example-results","title":"Example Results","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#riverside-01-mulran-dataset","title":"Riverside 01, MulRan dataset","text":"
    • The MulRan dataset provides lidar scans (Ouster OS1-64, horizontally mounted, 10Hz) and consumer level gps (u-blox EVK-7P, 4Hz) data.
    • About how to use (publishing data) data: see here https://github.com/irapkaist/file_player_mulran
    • example videos on Riverside 01 sequence.

      1. with consumer level GPS-based altitude stabilization: https://youtu.be/FwAVX5TVm04\n2. without the z stabilization: https://youtu.be/okML_zNadhY\n
    • example result:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#kitti-05","title":"KITTI 05","text":"
    • For KITTI (HDL-64 sensor), run using the command

      roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch # for KITTI dataset setting\n
    • To publish KITTI scans, you can use mini-kitti publisher, a simple python script: https://github.com/gisbi-kim/mini-kitti-publisher
    • example video (no GPS used here): https://youtu.be/hk3Xx8SKkv4
    • example result:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#contact","title":"Contact","text":"
    • Maintainer: paulgkim@kaist.ac.kr
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/","title":"SC-LeGO-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#sc-lego-loam","title":"SC-LeGO-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#what-is-sc-lego-loam","title":"What is SC-LeGO-LOAM?","text":"
    • SC-LeGO-LOAM integrated LeGO-LOAM for lidar odometry and 2 different loop closure methods: ScanContext and Radius search based loop closure. While ScanContext is correcting large drifts, radius search based method is good for fine-stitching.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/irapkaist/SC-LeGO-LOAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16, HDL-32E, VLS-128, Ouster OS1-16, Ouster OS1-64]
    • IMU [9-AXIS]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM
    wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.0-alpha2/\nmkdir build && cd build\ncmake ..\nsudo make install\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/irapkaist/SC-LeGO-LOAM.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#2-set-parameters","title":"2) Set parameters","text":"
    • Set imu and lidar topic on include/utility.h
    • Set lidar properties on include/utility.h
    • Set scan context settings on include/Scancontext.h

    (Do not forget to rebuild after setting parameters.)

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#3-run","title":"3) Run","text":"
    source devel/setup.bash\nroslaunch lego_loam run.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#other-examples","title":"Other Examples","text":"
    • Video 1: DCC (MulRan dataset)
    • Video 2: Riverside (MulRan dataset)
    • Video 3: KAIST (MulRan dataset)

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#mulran-dataset","title":"MulRan dataset","text":"
    • If you want to reproduce the results as the above video, you can download the MulRan dataset and use the ROS topic publishing tool .
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#cite-sc-lego-loam","title":"Cite SC-LeGO-LOAM","text":"
    @INPROCEEDINGS { gkim-2018-iros,\n  author = {Kim, Giseop and Kim, Ayoung},\n  title = { Scan Context: Egocentric Spatial Descriptor for Place Recognition within {3D} Point Cloud Map },\n  booktitle = { Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems },\n  year = { 2018 },\n  month = { Oct. },\n  address = { Madrid }\n}\n

    and

    @inproceedings{legoloam2018,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Shan, Tixiao and Englot, Brendan},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#contact","title":"Contact","text":"
    • Maintainer: Giseop Kim (paulgkim@kaist.ac.kr)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/","title":"Calibrating your sensors","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#calibrating-your-sensors","title":"Calibrating your sensors","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#overview","title":"Overview","text":"

    Autoware expects to have multiple sensors attached to the vehicle as input to perception, localization, and planning stack. These sensors must be calibrated correctly and their positions must be defined using either urdf files (as in sample_sensor_kit) or as tf launch files.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#camera-calibration","title":"Camera calibration","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#intrinsic-calibration","title":"Intrinsic Calibration","text":"
    • Navigation2 provides a good tutorial for camera internal calibration.
    • AutoCore provides a light-weight tool.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-lidar-calibration","title":"Lidar-lidar calibration","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-lidar-calibration-tool-from-autocore","title":"Lidar-Lidar Calibration tool from Autocore","text":"

    LL-Calib on GitHub, provided by AutoCore, is a lightweight toolkit for online/offline 3D LiDAR to LiDAR calibration. It's based on local mapping and \"GICP\" method to derive the relation between main and sub lidar. Information on how to use the tool, troubleshooting tips and example rosbags can be found at the above link.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-camera-calibration","title":"Lidar-camera calibration","text":"

    Developed by MathWorks, The Lidar Camera Calibrator app enables you to interactively estimate the rigid transformation between a lidar sensor and a camera.

    https://ww2.mathworks.cn/help/lidar/ug/get-started-lidar-camera-calibrator.html

    SensorsCalibration toolbox v0.1: One more open source method for Lidar-camera calibration. This is a project for LiDAR to camera calibration,including automatic calibration and manual calibration

    https://github.com/PJLab-ADG/SensorsCalibration/blob/master/lidar2camera/README.md

    Developed by AutoCore, an easy-to-use lightweight toolkit for Lidar-camera-calibration is proposed. Only in three steps, a fully automatic calibration will be done.

    https://github.com/autocore-ai/calibration_tools/tree/main/lidar-cam-calib-related

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-imu-calibration","title":"Lidar-IMU calibration","text":"

    Developed by APRIL Lab at Zhejiang University in China, the LI-Calib calibration tool is a toolkit for calibrating the 6DoF rigid transformation and the time offset between a 3D LiDAR and an IMU, based on continuous-time batch optimization. IMU-based cost and LiDAR point-to-surfel (surfel = surface element) distance are minimized jointly, which renders the calibration problem well-constrained in general scenarios.

    AutoCore has forked the original LI-Calib tool and overwritten the Lidar input for more general usage. Information on how to use the tool, troubleshooting tips and example rosbags can be found at the LI-Calib fork on GitHub.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/","title":"Creating vehicle and sensor description","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#creating-vehicle-and-sensor-description","title":"Creating vehicle and sensor description","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#introduction","title":"Introduction","text":"

    This page introduce following topics.

    1. YOUR_VEHICLE_description
    2. YOUR_SENSOR_KIT_description
    3. individual_parameter
    4. YOUR_VEHICLE_launch
    5. YOUR_SENSOR_KIT_launch
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-your_vehicle_description","title":"1. YOUR_VEHICLE_description","text":"

    In YOUR_VEHICLE_description, the following configurations are set:

    1. vehicle_info.param.yaml (must be changed)
    2. mesh file (*.dae)
    3. mirror.param.yaml(must be changed)
    4. simulator_model.param.yaml
    5. vehicle.xacro
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-vehicle_infoparamyaml","title":"1. vehicle_info.param.yaml","text":"

    Defines the vehicle dimensions. For more details on each parameter, please click here.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-mesh-file","title":"2. mesh file","text":"

    A 3D model file used for visualization in rviz.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-mirrorparamyaml","title":"3. mirror.param.yaml","text":"

    Set according to the vehicle dimensions. Used in the crop-box-filter of PointCloudPreprocessor.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4-simulator_modelparamyaml","title":"4. simulator_model.param.yaml","text":"

    Configuration file for the simulator environment.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#5-vehiclexacro","title":"5. vehicle.xacro","text":"

    The entry point file that defines the entire URDF of the vehicle. It refers to sensors.xacro, which specifies the sensor mounting positions.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-your_sensor_kit_description","title":"2. YOUR_SENSOR_KIT_description","text":"

    In sensor_kit_description, the following files are configured:

    1. sensors.xacro (must be changed)
    2. sensor_kit.xacro (must be changed)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-sensorsxacro","title":"1. sensors.xacro","text":"

    Resolves the positions of sensors with base_link as the parent frame and defines the positions and orientations based on sensors_calibration.yaml in individual_params.

    In Autoware, <YOUR_SENSOR_KIT_description>/config/sensors_calibration.yaml is not used.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#about-sensor_kit_base_link","title":"About sensor_kit_base_link","text":"

    A sensor_kit refers to a subset that includes multiple sensors, and sensor_kit_base_link is the name of its frame. The positions and orientations within the kit are defined in sensor_kit.xacro.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-sensor_kitxacro","title":"2. sensor_kit.xacro","text":"

    Resolves the positions of sensors with sensor_kit_base_link as the parent and defines the positions and orientations based on sensor_kit_calibration.yaml in individual_params.

    In Autoware, <YOUR_SENSOR_KIT_description>/config/sensor_kit_calibration.yaml is not used.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-individual_parameter","title":"3. individual_parameter","text":"

    The individual_parameter is where parameters referenced by sensors.xacro and sensor_kit.xacro are stored. As the name imply, it is intended to manage parameters for multiple individual instances.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#introduction-to-various-parameters","title":"Introduction to Various Parameters","text":"
    1. sensors_calibration.yaml (must be changed)
    2. sensor_kit_calibration.yaml (must be changed)
    3. imu_corrector.param.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-sensors_calibrationyaml","title":"1. sensors_calibration.yaml","text":"

    A file that defines the mounting positions and orientations of sensors with base_link as the parent frame.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-sensor_kit_calibrationyaml","title":"2. sensor_kit_calibration.yaml","text":"

    A file that defines the mounting positions and orientations of sensors with sensor_kit_base_link as the parent frame.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-imu_correctorparamyaml","title":"3. imu_corrector.param.yaml","text":"

    A file used by imu_corrector.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4-folder-structure","title":"4. Folder Structure","text":"

    Below is the default directory structure.

    individual_params/\n\u2514\u2500 config/\n     \u2514\u2500 default/\n          \u2514\u2500 sample_sensor_kit/\n               \u251c\u2500 imu_corrector.param.yaml\n               \u251c\u2500 sensor_kit_calibration.yaml\n               \u2514\u2500 sensors_calibration.yaml\n

    Copy and create a folder based on your YOUR_SENSOR_KIT name.

    individual_params/\n\u2514\u2500 config/\n     \u2514\u2500 default/\n-         \u2514\u2500 sample_sensor_kit/\n+         \u2514\u2500 <YOUR_SENSOR_KIT>/\n              \u251c\u2500 imu_corrector.param.yaml\n               \u251c\u2500 sensor_kit_calibration.yaml\n               \u2514\u2500 sensors_calibration.yaml\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#41-sample-usage","title":"4.1 Sample Usage","text":"

    Here is an example of managing parameters for multiple instances. Add a <vehicle_id> directory and switch parameters using options at startup.

    # example1 (do not set vehicle_id)\n$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR_SENSOR_KIT> vehicle_mode:=<your_vehicle_model>\n# example2 (set vehicle_id as VEHICLE_1)\n$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR_SENSOR_KIT> vehicle_mode:=<your_vehicle_model> vehicle_id:=VEHICLE_1\n# example3 (set vehicle_id as VEHICLE_2)\n$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR_SENSOR_KIT> vehicle_mode:=<your_vehicle_model> vehicle_id:=VEHICLE_2\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#sample-directory-structure","title":"Sample Directory Structure","text":"
    individual_params/\n\u2514\u2500 config/\n     \u251c\u2500 default/\n     \u2502   \u2514\u2500 <YOUR_SENSOR_KIT>/                  # example1\n     \u2502        \u251c\u2500 imu_corrector.param.yaml\n     \u2502        \u251c\u2500 sensor_kit_calibration.yaml\n     \u2502        \u2514\u2500 sensors_calibration.yaml\n+    \u251c\u2500 VEHICLE_1/\n+    \u2502   \u2514\u2500 <YOUR_SENSOR_KIT>/                  # example2\n+    \u2502        \u251c\u2500 imu_corrector.param.yaml\n+    \u2502        \u251c\u2500 sensor_kit_calibration.yaml\n+    \u2502        \u2514\u2500 sensors_calibration.yaml\n+    \u2514\u2500 VEHICLE_2/\n+         \u2514\u2500 <YOUR_SENSOR_KIT>/                  # example3\n+              \u251c\u2500 imu_corrector.param.yaml\n+              \u251c\u2500 sensor_kit_calibration.yaml\n+              \u2514\u2500 sensors_calibration.yaml\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4your_vehicle_launch","title":"4.YOUR_VEHICLE_launch","text":"

    YOUR_VEHICLE_launch is where the launch file for starting the drive system devices is stored.

    1. vehicle_interface.launch.xml (must be changed)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-vehicle_interfacelaunchxml","title":"1. vehicle_interface.launch.xml","text":"

    vehicle_interface.launch.xml is the launch file related to the drive system. Please modify it according to the configuration of your vehicle's drive system.

    If you are operating multiple vehicles, use the vehicle_id to switch to the corresponding configuration for each vehicle.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#5-your_sensor_kit_launch","title":"5. YOUR_SENSOR_KIT_launch","text":"

    YOUR_SENSOR_KIT_launch is where the launch files related to sensor startup are stored.

    1. sensing.launch.xml (must be changed)
    2. lidar.launch.xml (must be changed)
    3. camera.launch.xml
    4. imu.launch.xml (must be changed)
    5. gnss.launch.xml
    6. pointcloud_preprocessor.launch.py (must be changed)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-sensinglaunchxml","title":"1. sensing.launch.xml","text":"

    sensing.launch.xml is the entry point that calls the launch files for all sensors. Modify it according to your sensor configuration.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-lidarlaunchxml","title":"2. lidar.launch.xml","text":"

    lidar.launch.xml is the launch file related to starting the LiDAR driver. Modify it according to your LiDAR configuration.

    In Autoware's initial configuration, it assumes converting the acquired data using pointcloud_preprocessor.launch.py.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#example-configuration-items","title":"Example Configuration Items","text":"
    • Setting the frame_id defined in YOUR_SENSOR_KIT_description.
    • Connection information for each device.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-cameralaunchxml","title":"3. camera.launch.xml","text":"

    camera.launch.xml is the launch file related to starting the camera driver.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4-imulaunchxml","title":"4. imu.launch.xml","text":"

    imu.launch.xml is the launch file related to starting the IMU driver.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#5-gnsslaunchxml","title":"5. gnss.launch.xml","text":"

    gnss.launch.xml is the launch file related to starting the GNSS driver.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#6-pointcloud_preprocessorlaunchpy","title":"6. pointcloud_preprocessor.launch.py","text":"

    pointcloud_preprocessor.launch.py is the launch file to convert the raw sensor data. For more information, please click here.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/","title":"Creating a vehicle interface for an Ackermann kinematic model","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#creating-a-vehicle-interface-for-an-ackermann-kinematic-model","title":"Creating a vehicle interface for an Ackermann kinematic model","text":"

    This page introduces a module vehicle interface and explains how to implement it.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#what-is-a-vehicle-interface","title":"What is a vehicle interface","text":"

    Vehicle interface is an interface that connects the control commands and your vehicle's control device. Autoware publishes control commands such as:

    • Velocity control
    • Steering control
    • Car light commands

    Then, the vehicle interface converts these commands into actuation such like:

    • Motor and brake activation
    • Steering wheel operation
    • Lighting control

    So think of the vehicle interface as a module that runs the vehicle's control device to realize the input commands provided by Autoware.

    An example of inputs and outputs for vehicle interface

    This page shows you a brief explanation how to implement your vehicle interface, but you can see further information of vehicle interface in the \"design\" page.

    Note that there is no package named \"vehicle interface\" prepared in Autoware. It is a necessary package to actuate your vehicle, but you have to create one by yourself since it is very specific to your vehicle's control device.

    For example, if you are using a by-wire kit PACMod, a vehicle interface named pacmod_interface published by TIER IV, Inc. is available. However, if you have constructed something original and haven't found an open source vehicle interface applicable, you have to implement your own vehicle interface from scratch.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#how-to-implement-a-vehicle-interface","title":"How to implement a vehicle interface","text":"

    The following instructions describe how to create a vehicle interface.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#1-create-a-directory-for-vehicle-interface","title":"1. Create a directory for vehicle interface","text":"

    It is recommended to create your vehicle interface at <your-autoware-dir>/src/vehicle/external

    cd <your-autoware-dir>/src/vehicle/external\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#2-install-or-implement-your-own-vehicle-interface","title":"2. Install or implement your own vehicle interface","text":"

    If there is an already complete vehicle interface package (like pacmod_interface), you can install it to your environment. If not, you have to implement your own vehicle interface by yourself. Let's create a new package by ros2 pkg create. The following example will show you how to create a vehicle interface package named my_vehicle_interface.

    ros2 pkg create --build-type ament_cmake my_vehicle_interface\n

    Then, you should write your implementation of vehicle interface in my_vehicle_interface/src. Again, since this implementation is so specific to the control device of your vehicle, it is beyond the scope of this document to describe how to implement your vehicle interface in detail. Here are some factors that might be considered.

    • Subscription of control command topics from Autoware
    • Communication between the vehicle interface and your vehicle's control device
    • Modification of control values if needed
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#3-prepare-a-launch-file","title":"3. Prepare a launch file","text":"

    After you implement your vehicle interface or you want to debug it by launching it, create a launch file of your vehicle interface, and include it to vehicle_interface.launch.xml.

    Do not get confused. First, you need to create a launch file for your own vehicle interface module (like my_vehicle_interface.launch.xml) and then include that to vehicle_interface.launch.xml which exists in another directory. Here are the details.

    1. Add a launch directory in the my_vehicle_interface directory, and create a launch file of your own vehicle interface in it. Take a look at Creating a launch file in the ROS 2 documentation.

    2. Next, go to <your-autoware-dir>/src/vehicle, copy the directory /sample_vehicle_launch/, and paste it to the same place (which means it should be lined up with external and sample_vehicle_launch).

    3. You have to rename each \"sample_vehicle\" to something else. For example, if you want to rename \"sample_vehicle\" to \"my_vehicle_name\", you need to change the following. Note that it is restricted to keep the \"_launch\" and \"_description\" part.

      • Rename the directories
        • sample_vehicle_launch \u2192 my_vehicle_name_launch
        • my_vehicle_name_launch/sample_vehicle_launch \u2192 my_vehicle_name_launch/my_vehicle_name_launch
        • my_vehicle_name_launch/sample_vehicle_description \u2192 my_vehicle_name_launch/my_vehicle_name_description
      • After you rename your directories, rename each \"sample_vehicle\" to \"my_vehicle_name\" in the source code.
        • my_vehicle_name_description/CMakeLists.txt
        • my_vehicle_name_description/package.xml
        • my_vehicle_name_description/urdf/vehicle.xacro (there are two parts)
        • my_vehicle_name_launch/CMakeLists.txt
        • my_vehicle_name_launch/package.xml
        • README.md
    4. Include your launch file to my_vehicle_name_launch/my_vehicle_name_launch/launch/vehicle_interface.launch.xml by opening it and add the include terms like below.

    vehicle_interface.launch.xml
    <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<launch>\n<arg name=\"vehicle_id\" default=\"$(env VEHICLE_ID default)\"/>\n\n<include file=\"$(find-pkg-share my_vehicle_interface)/launch/my_vehicle_interface.launch.xml\">\n</include>\n</launch>\n

    Finally, your directory structure may look like below. Most of the files are omitted for clarity, but the files shown here needs modification as said in the previous and current process.

    <your-autoware-dir>/\n\u2514\u2500 src/\n    \u2514\u2500 vehicle/\n        \u251c\u2500 external/\n+       \u2502   \u2514\u2500 my_vehicle_interface/\n+       \u2502       \u251c\u2500 src/\n+       \u2502       \u2514\u2500 launch/\n+       \u2502            \u2514\u2500 my_vehicle_interface.launch.xml\n       \u251c\u2500 sample_vehicle_launch/\n+       \u2514\u2500 my_vehicle_name_launch/ (COPIED FROM sample_vehicle_launch)\n+           \u251c\u2500 my_vehicle_name_launch/\n+           \u2502  \u251c\u2500 launch/\n+           \u2502  \u2502  \u2514\u2500 vehicle_interface.launch.xml\n+           \u2502  \u251c\u2500 CMakeLists.txt\n+           \u2502  \u2514\u2500 package.xml\n+           \u251c\u2500 my_vehicle_name_description/\n+           \u2502  \u251c\u2500 config/\n+           \u2502  \u251c\u2500 mesh/\n+           \u2502  \u251c\u2500 urdf/\n+           \u2502  \u2502  \u2514\u2500 vehicle.xacro\n+           \u2502  \u251c\u2500 CMakeLists.txt\n+           \u2502  \u2514\u2500 package.xml\n+           \u2514\u2500 README.md\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#4-build-the-vehicle-interface-package-and-the-launch-package","title":"4. Build the vehicle interface package and the launch package","text":"

    Build three packages my_vehicle_interface, my_vehicle_name_launch and my_vehicle_name_description by colcon build, or you can just build the entire Autoware if you have done other things.

    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select my_vehicle_interface my_vehicle_name_launch my_vehicle_name_description\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#5-when-you-launch-autoware","title":"5. When you launch Autoware","text":"

    Finally, you are done implementing your vehicle interface module! Be careful that you need to launch Autoware with the proper vehicle_model option like the example below. This example is launching planning simulator.

    ros2 launch autoware_launch planning.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=my_vehicle_name sensor_model:=sample_sensor_kit\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#tips","title":"Tips","text":"

    There are some tips that may help you.

    • You can subdivide your vehicle interface into smaller packages if you want. Then your directory structure may look like below (not the only way though). Do not forget to launch all packages in my_vehicle_interface.launch.xml.

      <your-autoware-dir>/\n\u2514\u2500 src/\n    \u2514\u2500 vehicle/\n        \u251c\u2500 external/\n        \u2502   \u2514\u2500 my_vehicle_interface/\n        \u2502       \u251c\u2500 src/\n        \u2502       \u2502   \u251c\u2500 package1/\n        \u2502       \u2502   \u251c\u2500 package2/\n        \u2502       \u2502   \u2514\u2500 package3/\n        \u2502       \u2514\u2500 launch/\n        \u2502            \u2514\u2500 my_vehicle_interface.launch.xml\n        \u251c\u2500 sample_vehicle_launch/\n        \u2514\u2500 my_vehicle_name_launch/\n
    • If you are using a vehicle interface and launch package from a open git repository, or created your own as a git repository, it is highly recommended to add those repositories to your autoware.repos file which is located to directly under your autoware folder like the example below. You can specify the branch or commit hash by the version tag.

      autoware.repos
      # vehicle (this section should be somewhere in autoware.repos and add the below)\nvehicle/my_vehicle_name_launch:\ntype: git\nurl: https://github.com/<repository-name-A>/my_vehicle_name_launch.git\nversion: main\nvehicle/external/my_vehicle_interface:\ntype: git\nurl: https://github.com/<repository-name-B>/my_vehicle_interface.git\nversion: main\n

      Then you can import your entire environment easily to another local device by using the vcs import command. (See the source installation guide)

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#ackermann-kinematic-model","title":"Ackermann kinematic model","text":"

    Autoware now supports control inputs for vehicles based on an Ackermann kinematic model. This section introduces you a brief concept of Ackermann kinematic model and explains how Autoware controls it.

    • If your vehicle does not suit the Ackermann kinematic model, you have to modified the control commands. Another document gives you an example how to convert your Ackermann kinematic model control inputs into a differential drive model.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#geometry","title":"Geometry","text":"

    The basic style of Ackermann kinematic model has four wheels with an Ackermann link on the front, and it is powered by the rear wheels. The key point of Ackermann kinematic model is that the axes of all wheels intersect at a same point, which means all wheels will trace a circular trajectory with a different radii but a common center point (See the figure below). Therefore, this model has a great advantage that it minimizes the slippage of the wheels, and prevent tires to get worn soon.

    In general, Ackermann kinematic model accepts the longitudinal speed \\(v\\) and the steering angle \\(\\phi\\) as inputs. In autoware, \\(\\phi\\) is positive if it is steered counter clockwise, so the steering angle in the figure below is actually negative.

    The basic style of an Ackermann kinematic model. The left figure shows a vehicle facing straight forward, while the right figure shows a vehicle steering to the right."},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#control","title":"Control","text":"

    Autoware publishes a ROS 2 topic named control_cmd from several types of publishers. A control_cmd topic is a AckermannControlCommand type message that contains

    AckermannControlCommand
      builtin_interfaces/Time stamp\n  autoware_auto_control_msgs/AckermannLateralCommand lateral\n  autoware_auto_control_msgs/LongitudinalCommand longitudinal\n

    where,

    AckermannLateralCommand
      builtin_interfaces/Time stamp\n  float32 steering_tire_angle\n  float32 steering_tire_rotation_rate\n
    LongitudinalCommand
      builtin_interfaces/Time stamp\n  float32 speed\n  float32 accelaration\n  float32 jerk\n

    See the AckermannLateralCommand.idl and LongitudinalCommand.idl for details.

    The vehicle interface should realize these control commands through your vehicle's control device.

    Moreover, Autoware also provides brake commands, light commands, and more (see vehicle interface design), so the vehicle interface module should be applicable to these commands as long as there are devices available to handle them.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/","title":"Customizing for differential drive vehicle","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#customizing-for-differential-drive-vehicle","title":"Customizing for differential drive vehicle","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#1-introduction","title":"1. Introduction","text":"

    Currently, Autoware assumes that vehicles use an Ackermann kinematic model with Ackermann steering. Thus, Autoware adopts the Ackermann command format for the Control module's output (see the AckermannDrive ROS message definition for an overview of Ackermann commands, and the AckermannControlCommands struct used in Autoware for more details).

    However, it is possible to integrate Autoware with a vehicle that follows a differential drive kinematic model, as commonly used by small mobile robots.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#2-procedure","title":"2. Procedure","text":"

    One simple way of using Autoware with a differential drive vehicle is to create a vehicle_interface package that translates Ackermann commands to differential drive commands. Here are two points that you need to consider:

    • Create vehicle_interface package for differential drive vehicle
    • Set an appropriate wheel_base
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#21-create-a-vehicle_interface-package-for-differential-drive-vehicle","title":"2.1 Create a vehicle_interface package for differential drive vehicle","text":"

    An Ackermann command in Autoware consists of two main control inputs:

    • steering angle (\\(\\omega\\))
    • velocity (\\(v\\))

    Conversely, a typical differential drive command consists of the following inputs:

    • left wheel velocity (\\(v_l\\))
    • right wheel velocity (\\(v_r\\))

    So, one way in which an Ackermann command can be converted to a differential drive command is by using the following equations:

    \\[ v_l = v - \\frac{l\\omega}{2}, v_r = v + \\frac{l\\omega}{2} \\]

    where \\(l\\) denotes wheel tread.

    For information about other factors that need to be considered when creating a vehicle_interface package, refer to the vehicle_interface component page.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#22-set-an-appropriate-wheel_base","title":"2.2 Set an appropriate wheel_base","text":"

    A differential drive robot does not necessarily have front and rear wheels, which means that the wheelbase (the horizontal distance between the axles of the front and rear wheels) cannot be defined. However, Autoware expects wheel_base to be set in vehicle_info.param.yaml with some value. Thus, you need to set a pseudo value for wheel_base.

    The appropriate pseudo value for wheel_base depends on the size of your vehicle. Setting it to be the same value as wheel_tread is one possible choice.

    Warning

    • If the wheel_base value is set too small then the vehicle may behave unexpectedly. For example, the vehicle may drive beyond the bounds of a calculated path.
    • Conversely, if wheel_base is set too large, the vehicle's range of motion will be restricted. The reason being that Autoware's Planning module will calculate an overly conservative trajectory based on the assumed vehicle length.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#3-known-issues","title":"3. Known issues","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#motion-model-incompatibility","title":"Motion model incompatibility","text":"

    Since Autoware assumes that vehicles use a steering system, it is not possible to take advantage of the flexibility of a differential drive system's motion model.

    For example, when planning a parking maneuver with the freespace_planner module, Autoware may drive the differential drive vehicle forward and backward, even if the vehicle can be parked with a simpler trajectory that uses pure rotational movement.

    "},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/","title":"Creating Autoware meta-repository","text":""},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#creating-autoware-meta-repository","title":"Creating Autoware meta-repository","text":""},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#what-is-meta-repository","title":"What is Meta-repository?","text":"

    A meta-repository is a repository that manages multiple repositories, and Autoware is one of them. It serves as a centralized control point for referencing, configuring, and versioning other repositories.

    By using Ansible and VCS, you can automatically set up your Autoware. autoware.repos file manages the configuration of multiple repositories.

    Note: VCS stands for Version Control System, such as Git or Subversion.

    "},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#how-to-create-and-customize-your-autoware-meta-repository","title":"How to create and customize your autoware meta-repository","text":""},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#1-create-autoware-repository","title":"1. Create autoware repository","text":"

    If you want to integrate Autoware into your vehicle, the first step is to create an Autoware meta-repository.

    One easy way is to fork autowarefoundation/autoware and clone it. For how to fork a repository, refer to GitHub Docs.

    git clone https://github.com/YOUR_NAME/autoware.git\n

    If you set up multiple types of vehicles, adding a suffix like autoware.vehicle_A or autoware.vehicle_B is recommended

    "},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#2-customize-your-autowarerepos-for-your-environment","title":"2. Customize your autoware.repos for your environment","text":"

    You need to customize autoware.repos for your own vehicle's Autoware.

    For example, if you want to customize the parameters in your individual_params or autoware_launch package to fit your vehicle, you can modify the configuration of each package and use them accordingly.

    Please edit the parameters in Autoware's autoware_individual_params and autoware_launch packages to match your vehicle's specific requirements, as these packages provide sample parameters and may not be tailored to your vehicle by default.

    If you want to fork autoware_individual_params and make modifications, it would be as follows:

    Example: If you fork individual_params and rename autoware_individual_params.vehicle_A:

    - param/autoware_individual_params:\n-   type: git\n-   url: https://github.com/autowarefoundation/autoware_individual_params\n-   version: main\n+ param/autoware_individual_params.vehicle_A:\n+   type: git\n+   url: https://github.com/YOUR_NAME/autoware_individual_params.vehicle_A\n+   version: main\n

    Please refer to the following documentation link for instructions on how to create and customize each vehicle_interface:

    • creating-vehicle-and-sensor-description
    • creating-vehicle-interface-package
    • customizing-for-differential-drive-model

    Please remember to add all your custom packages, such as interfaces and descriptions, to your autoware.repos to ensure that your packages are properly included and managed within the Autoware repository.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/","title":"Launch Autoware","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/#launch-autoware","title":"Launch Autoware","text":"

    Warning

    Under Construction

    This section explains how to run your vehicle with Autoware.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#install-autoware","title":"Install Autoware","text":"

    Follow the installation steps of Autoware.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#launch-autoware_1","title":"Launch Autoware","text":"

    Launch Autoware with the following command:

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP\n

    It is possible to specify which components to launch using command-line arguments. For example, if you don't need to launch perception, planning, and control for localization debug, you can launch the following:

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \\\nlaunch_perception:=false \\\nlaunch_planning:=false \\\nlaunch_control:=false\n

    The basic command-line options are documented in autoware.launch.xml.

    There are options available to switch between different methods for some component. For example, by specifying pose_source/twist_source or perception_mode, you can switch localization and perception methods, respectively. These options allow you to choose the desired algorithms or sensor configurations for the respective functionalities.

    For options on eagleye component, please refer to the sub-pages.

    • localization-mode
    • perception-mode
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#set-initial-pose","title":"Set initial pose","text":"

    If GNSS is available, Autoware automatically initializes the vehicle's pose.

    If not or if the automatic initialization returns an incorrect position, you need to set the initial pose using the RViz GUI.

    1. Click the 2D Pose estimate button in the toolbar, or hit the P key

    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the initial pose.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#set-goal-pose","title":"Set goal pose","text":"

    Set a goal pose for the ego vehicle.

    1. Click the 2D Nav Goal button in the toolbar, or hit the G key

    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the goal pose. If successful, you will see the calculated planning path on RViz.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#engage","title":"Engage","text":"

    In your terminal, execute the following command.

    source ~/autoware.YOURS/install/setup.bash\nros2 topic pub /autoware.YOURS/engage autoware_auto_vehicle_msgs/msg/Engage \"engage: true\" -1\n

    You can also engage via RViz with \"AutowareStatePanel\". The panel can be found in Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel.

    Once the route is computed, the \"AUTO\" button becomes active. Pressing the AUTO button engages the autonomous driving mode.

    Now the vehicle should drive along the calculated path!

    During the autonomous driving, the StatePanel appears as shown in the image below. Pressing the \"STOP\" button allows you to stop the vehicle.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/","title":"Perception mode","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#perception-mode","title":"Perception mode","text":"

    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.

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \\\nperception_mode:=lidar\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#lidar","title":"LiDAR","text":"

    perception_mode:=lidar

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#radar","title":"Radar","text":"

    perception_mode:=radar

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#camera-lidar-fusion","title":"Camera LiDAR fusion","text":"

    perception_mode:=camera_lidar_fusion

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#camera-lidar-radar-fusion","title":"Camera LiDAR Radar fusion","text":"

    perception_mode:=camera_lidar_radar_fusion

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#lidar-radar-fusion","title":"LiDAR Radar fusion","text":"

    perception_mode:=lidar_radar_fusion

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/","title":"Localization methods","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#localization-methods","title":"Localization methods","text":"

    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 supporting ndt (default), yabloc, and eagleye
    • twist_source : an argument to select twist_estimator, currently supporting gyro_odom (default), and eagleye
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#ndt-scan-matcher-a-lidar-and-pointcloud-map-based-pose-estimator-default","title":"NDT scan matcher: a LiDAR and pointcloud map based pose estimator (default)","text":"

    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 ...\n

    Note that currently pose_source is set to NDT as default, so you can skip this argument.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#gyro-odometer-an-imu-wheel-odometry-based-twist-estimator-default","title":"Gyro Odometer: an IMU & wheel odometry based twist estimator (default)","text":"

    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 ...\n

    Note that currently twist_source is set to Gyro Odometer as default, so you can skip this argument.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#yabloc-a-camera-and-vector-map-based-pose-estimator","title":"YabLoc: a camera and vector map based pose estimator","text":"

    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 ...\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#eagleye-a-gnss-imu-wheel-odometry-based-pose-and-twist-estimator","title":"Eagleye: a GNSS & IMU & wheel odometry based pose and twist estimator","text":"

    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 ...\n

    Example of using Eagleye as the twist estimator:

    ros2 launch autoware_launch autoware.launch.xml ... twist_source:=eagleye ...\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/","title":"Eagleye","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#using-eagleye-with-autoware","title":"Using Eagleye with Autoware","text":"

    This page will show you how to set up Eagleye in order to use it with Autoware. For the details of the integration proposal, please refer to this discussion.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#what-is-eagleye","title":"What is Eagleye?","text":"

    Eagleye is an open-source GNSS/IMU-based localizer initially developed by MAP IV. Inc. It provides a cost-effective alternative to LiDAR and point cloud-based localization by using low-cost GNSS and IMU sensors to provide vehicle position, orientation, and altitude information.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#dependencies","title":"Dependencies","text":"

    The below packages are automatically installed during the setup of Autoware as they are listed in autoware.repos.

    1. Eagleye (autoware-main branch)
    2. RTKLIB ROS Bridge (ros2-v0.1.0 branch)
    3. LLH Converter (ros2 branch)
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#architecture","title":"Architecture","text":"

    Eagleye can be utilized in the Autoware localization stack in two ways:

    1. Feed only twist into the EKF localizer.

    2. Feed both twist and pose from Eagleye into the EKF localizer (twist can also be used with regular gyro_odometry).

    Note: RTK positioning is required when using Eagleye as the pose estimator. On the other hand, it is not mandatory when using it as the twist estimator.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#requirements","title":"Requirements","text":"

    Eagleye requires GNSS, IMU and vehicle speed as inputs.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#imu-topic","title":"IMU topic","text":"

    sensor_msgs/msg/Imu is supported for Eagleye IMU input.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#vehicle-speed-topic","title":"Vehicle speed topic","text":"

    geometry_msgs/msg/TwistStamped and geometry_msgs/msg/TwistWithCovarianceStamped are supported for the input vehicle speed.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#gnss-topic","title":"GNSS topic","text":"

    Eagleye requires latitude/longitude height and doppler velocity generated by the GNSS receiver. Your GNSS ROS driver must publish the following messages:

    • sensor_msgs/msg/NavSatFix: This message contains latitude, longitude, and height information.
    • geometry_msgs/msg/TwistWithCovarianceStamped: This message contains gnss doppler velocity information.

      Eagleye has been tested with the following example GNSS ROS drivers: ublox_gps and septentrio_gnss_driver. The settings needed for each of these drivers are as follows:

    GNSS ROS drivers modification ublox_gps No additional settings are required. It publishes sensor_msgs/msg/NavSatFix and geometry_msgs/msg/TwistWithCovarianceStamped required by Eagleye with default settings. septentrio_gnss_driver Set publish.navsatfix and publish.twist in the config file gnss.yaml to true"},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#parameter-modifications-for-integration-into-your-vehicle","title":"Parameter Modifications for Integration into Your Vehicle","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#topic-name-topic-type","title":"topic name & topic type","text":"

    The users must correctly specify input topics for GNSS latitude, longitude, and height , GNSS doppler speed , IMU , and vehicle speed in the eagleye_config.yaml.

    # Topic\ntwist:\ntwist_type: 1 # TwistStamped : 0, TwistWithCovarianceStamped: 1\ntwist_topic: /sensing/vehicle_velocity_converter/twist_with_covariance\nimu_topic: /sensing/imu/tamagawa/imu_raw\ngnss:\nvelocity_source_type: 2 # rtklib_msgs/RtklibNav: 0, nmea_msgs/Sentence: 1, ublox_msgs/NavPVT: 2, geometry_msgs/TwistWithCovarianceStamped: 3\nvelocity_source_topic: /sensing/gnss/ublox/navpvt\nllh_source_type: 2 # rtklib_msgs/RtklibNav: 0, nmea_msgs/Sentence: 1, sensor_msgs/NavSatFix: 2\nllh_source_topic: /sensing/gnss/ublox/nav_sat_fix\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#sensor-frequency","title":"sensor frequency","text":"

    Also, the frequency of GNSS and IMU must be set in eagleye_config.yaml

    common:\nimu_rate: 50\ngnss_rate: 5\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#conversion-from-fix-to-pose","title":"Conversion from fix to pose","text":"

    The parameters for converting sensor_msgs/msg/NavSatFix to geometry_msgs/msg/PoseWithCovarianceStamped is listed in fix2pose.yaml. If you use a different geoid or projection type, change these parameters.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#other-parameters","title":"Other parameters","text":"

    The other parameters are described here. Basically, these do not need to be changed .

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#notes-on-initialization","title":"Notes on initialization","text":"

    Eagleye requires an initialization process for proper operation. Without initialization, the output for twist will be in the raw value, and the pose data will not be available.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#1-static-initialization","title":"1. Static Initialization","text":"

    The first step is static initialization, which involves allowing the Eagleye to remain stationary for approximately 5 seconds after startup to estimate the yaw-rate offset.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#2-dynamic-initialization","title":"2. Dynamic initialization","text":"

    The next step is dynamic initialization, which involves running the Eagleye in a straight line for approximately 30 seconds. This process estimates the scale factor of wheel speed and azimuth angle.

    Once dynamic initialization is complete, the Eagleye will be able to provide corrected twist and pose data.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#how-to-check-the-progress-of-initialization","title":"How to check the progress of initialization","text":"
    • TODO
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#note-on-georeferenced-maps","title":"Note on georeferenced maps","text":"

    Note that the output position might not appear to be in the point cloud maps if you are using maps that are not properly georeferenced. In the case of a single GNSS antenna, initial position estimation (dynamic initialization) can take several seconds to complete after starting to run in an environment where GNSS positioning is available.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/","title":"Evaluating the controller performance","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#evaluating-the-controller-performance","title":"Evaluating the controller performance","text":"

    This page shows how to use control_performance_analysis package to evaluate the controllers.

    control_performance_analysis is the package to analyze the tracking performance of a control module and monitor the driving status of the vehicle.

    If you need more detailed information about package, refer to the control_performance_analysis.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#how-to-use","title":"How to use","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#before-driving","title":"Before Driving","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#1-firstly-you-need-to-launch-autoware-you-can-also-use-this-tool-with-real-vehicle-driving","title":"1. Firstly you need to launch Autoware. You can also use this tool with real vehicle driving","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#2-initialize-the-vehicle-and-send-goal-position-to-create-route","title":"2. Initialize the vehicle and send goal position to create route","text":"
    • If you have any problem with launching Autoware, please see the tutorials page.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#3-launch-the-control_performance_analysis-package","title":"3. Launch the control_performance_analysis package","text":"
    ros2 launch control_performance_analysis controller_performance_analysis.launch.xml\n
    • After this command, you should be able to see the driving monitor and error variables in topics.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#4-run-the-plotjuggler-in-sourced-terminal","title":"4. Run the PlotJuggler in sourced terminal","text":"
    source ~/autoware/install/setup.bash\n
    ros2 run plotjuggler plotjuggler\n
    • If you do not have PlotJuggler in your computer, please refer here for installation guideline.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#5-increase-the-buffer-size-maximum-is-100-and-import-the-layout-from-autowareuniversecontrolcontrol_performance_analysisconfigcontroller_monitorxml","title":"5. Increase the buffer size (maximum is 100), and import the layout from /autoware.universe/control/control_performance_analysis/config/controller_monitor.xml","text":"
    • After import the layout, please specify the topics that are listed below.
    • /localization/kinematic_state
    • /vehicle/status/steering_status
    • /control_performance/driving_status
    • /control_performance/performance_vars
    • Please mark the If present, use the timestamp in the field [header.stamp] box, then select the OK.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#6-now-you-can-start-to-driving-you-should-see-all-the-performance-and-driving-variables-in-plotjuggler","title":"6. Now, you can start to driving. You should see all the performance and driving variables in PlotJuggler","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#after-driving","title":"After Driving","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#1-you-can-export-the-statistical-output-and-all-data-to-compare-and-later-usage","title":"1. You can export the statistical output and all data to compare and later usage","text":"
    • With statistical data, you can export the all statistical values like (min, max, average) to compare the controllers.
    • You can also export all data to later use. To investigate them again, after launch PlotJuggler, import the .cvs file from data section.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#tips","title":"Tips","text":"
    • You can plot the vehicle position. Select the two curve (keeping CTRL key pressed) and Drag & Drop them using the RIGHT Mouse button. Please visit the Help -> Cheatsheet in PlotJuggler to see more tips about it.
    • If you see too much noised curve in plots, you can adjust the odom_interval and low_pass_filter_gain from here to avoid noised data.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/","title":"Evaluating real-time performance","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#evaluating-real-time-performance","title":"Evaluating real-time performance","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#introduction","title":"Introduction","text":"

    Autoware should be real-time system when integrated to a service. Therefore, the response time of each callback should be as small as possible. If Autoware appears to be slow, it is imperative to conduct performance measurements and implement improvements based on the analysis. However, Autoware is a complex software system comprising numerous ROS 2 nodes, potentially complicating the process of identifying bottlenecks. To address this challenge, we will discuss methods for conducting detailed performance measurements for Autoware and provide case studies. It is worth noting that multiple factors can contribute to poor performance, such as scheduling and memory allocation in the OS layer, but our focus in this page will be on user code bottlenecks. The outline of this section is as follows:

    • Performance measurement
      • Single node execution
      • Prepare separated cores
      • Run single node separately
      • Measurement and visualization
    • Case studies
      • Sensing component
      • Planning component
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#performance-measurement","title":"Performance measurement","text":"

    Improvement is impossible without precise measurements. To measure the performance of the application code, it is essential to eliminate any external influences. Such influences include interference from the operating system and CPU frequency fluctuations. Scheduling effects also occur when core resources are shared by multiple threads. This section outlines a technique for accurately measuring the performance of the application code for a specific node. Though this section only discusses the case of Linux on Intel CPUs, similar considerations should be made in other environments.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#single-node-execution","title":"Single node execution","text":"

    To eliminate the influence of scheduling, the node being measured should operate independently, using the same logic as when the entire Autoware system is running. To accomplish this, record all input topics of the node to be measured while the whole Autoware system is running. To achieve this objective, a tool called ros2_single_node_replayer has been prepared.

    Details on how to use the tool can be found in the README. This tool records the input topics of a specific node during the entire Autoware operation and replays it in a single node with the same logic. The tool relies on the ros2 bag record command, and the recording of service/action is not supported as of ROS 2 Humble, so nodes that use service/action as their main logic may not work well.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#prepare-separated-cores","title":"Prepare separated cores","text":"

    Isolated cores running the node to be measured must meet the following conditions.

    • Fix CPU frequency and disable turbo boost
    • Minimize timer interruptions
    • Offload RCU (Read Copy Update) callback
    • Isolate the paired core if hyper-threading enabled

    To fulfill these conditions on Linux, a custom kernel build with the following kernel configurations is required. You can find many resources to instruct you on how to build a custom Linux kernel (like this one). Note that even if full tickless is enabled, timer interrupts are generated for scheduling if more than two tasks exist in one core.

    # Enable CONFIG_NO_HZ_FULL\n-> General setup\n-> Timers subsystem\n-> Timer tick handling (Full dynticks system (tickless))\n(X) Full dynticks system (tickless)\n\n# Allows RCU callback processing to be offloaded from selected CPUs\n# (CONFIG_RCU_NOCB_CPU=y)\n-> General setup\n-> RCU Subsystem\n-*- Offload RCU callback processing from boot-selected CPUs\n

    Additionally, the kernel boot parameters need to be set as follows.

    GRUB_CMDLINE_LINUX_DEFAULT=\n  \"... isolcpus=2,8 rcu_nocbs=2,8 rcu_nocb_poll nohz_full=2,8 intel_pstate=disable\u201d\n

    In the above configuration, for example, the node to be measured is assumed to run on core 2, and core 8, which is a hyper-threading pair, is also being isolated. Appropriate decisions on which cores to run the measurement target and which nodes to isolate need to be made based on the cache and core layout of the measurement machine. You can easily check if it is properly configured by running cat /proc/softirqs. Since intel_pstate=disable is specified in the kernel boot parameter, userspace can be specified in the scaling governor.

    cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor // ondemand\nsudo sh -c \"echo userspace > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor\"\n

    This allows you to freely set the desired frequency within a defined range.

    sudo sh -c \"echo <freq(kz)> > /sys/devices/system/cpu/cpu2/cpufreq/scaling_setspeed\"\n

    Turbo Boost needs to be switched off on Intel CPUs, which is often overlooked.

    sudo sh -c \"echo 0 > /sys/devices/system/cpu/cpufreq/boost\"\n
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#run-single-node-separately","title":"Run single node separately","text":"

    Following the instructions in the ros2_single_node_replayer README, start the node and play the dedicated rosbag created by the tool. Before playing the rosbag, appropriately set the CPU affinity of the thread on which the node runs, so it is placed on the isolated core prepared.

    taskset --cpu-list -p <target cpu> <pid>\n

    To avoid interference in the last level cache, minimize the number of other applications running during the measurement.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#measurement-and-visualization","title":"Measurement and visualization","text":"

    To visualize the performance of the measurement target, embed code for logging timestamps and performance counter values in the target source code. To achieve this objective, a tool called pmu_analyzer has been prepared.

    Details on how to use the tool can be found in the README. This tool can measure the turnaround time of any section in the source code, as well as various performance counters.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#case-studies","title":"Case studies","text":"

    In this section, we will present several case studies that demonstrate the performance improvements. These examples not only showcase our commitment to enhancing the system's efficiency but also serve as a valuable resource for developers who may face similar challenges in their own projects. The performance improvements discussed here span various components of the Autoware system, including sensing modules and planning modules. There are tendencies for each component regarding which points are becoming bottlenecks. By examining the methods, techniques, and tools employed in these case studies, readers can gain a better understanding of the practical aspects of optimizing complex software systems like Autoware.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#sensing-component","title":"Sensing component","text":"

    First, we will explain the procedure for performance improvement, taking the node ring_outlier_filter as an example. Refer to the Pull Request for details.

    The following figure is a time-series plot of the turnaround time of the main processing part of ring_outlier_filter, analyzed as described in the \"Performance Measurement\" section above.

    The horizontal axis indicates the number of callbacks called (i.e., callback index), and the vertical axis indicates the turnaround time.

    When analyzing the performance of the sensing module from the viewpoint of performance counter, pay attention to instructions, LLC-load-misses, LLC-store-misses, cache-misses, and minor-faults.

    Analysis of the performance counter shows that the largest fluctuations come from minor-faults (i.e., soft page faults), the second largest from LLC-store-misses and LLC-load-misses (i.e., cache misses in the last level cache), and the slowest fluctuations come from instructions (i.e., message data size fluctuations). For example, when we plot minor-faults on the horizontal axis and turnaround time on the vertical axis, we can see the following dominant proportional relationship.

    To achieve zero soft page faults, heap allocations must only be made from areas that have been first touched in advance. We have developed a library called heaphook to avoid soft page faults while running Autoware callback. If you are interested, refer to the GitHub discussion and the issue.

    To reduce LLC misses, it is necessary to reduce the working set and to use cache-efficient access patterns.

    In the sensing component, which handles large message data such as LiDAR point cloud data, minimizing copying is important. A callback that takes sensor data message types as input and output should be written in an in-place algorithm as much as possible. This means that in the following pseudocode, when generating output_msg from input_msg, it is crucial to avoid using buffers as much as possible to reduce the number of memory copies.

    void callback(const PointCloudMsg &input_msg) {\nauto output_msg = allocate_msg<PointCloudMsg>(output_size);\nfill(input_msg, output_msg);\npublish(std::move(output_msg));\n}\n

    To improve cache efficiency, implement an in-place style as much as possible, instead of touching memory areas sporadically. In ROS applications using PCL, the code shown below is often seen.

    void callback(const sensor_msgs::PointCloud2ConstPtr &input_msg) {\npcl::PointCloud<PointT>::Ptr input_pcl(new pcl::PointCloud<PointT>);\npcl::fromROSMsg(*input_msg, *input_pcl);\n\n// Algorithm is described for point cloud type of pcl\npcl::PointCloud<PointT>::Ptr output_pcl(new pcl::PointCloud<PointT>);\nfill_pcl(*input_pcl, *output_pcl);\n\nauto output_msg = allocate_msg<sensor_msgs::PointCloud2>(output_size);\npcl::toROSMsg(*output_pcl, *output_msg);\npublish(std::move(output_msg));\n}\n

    To use the PCL library, fromROSMsg() and toROSMsg() are used to perform message type conversion at the beginning and end of the callback. This is a wasteful copying process and should be avoided. We should eliminate unnecessary type conversions by removing dependencies on PCL (e.g., https://github.com/tier4/velodyne_vls/pull/39). For large message types such as map data, there should be only one instance in the entire system in terms of physical memory.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#planning-component","title":"Planning component","text":"

    First, we will pick up detection_area module in behavior_velocity_planner node, which tends to have long turnaround time. We have followed the performance analysis steps above to obtain the following graph. Axises are the same as the graphs in the sensing case study.

    Using pmu_analyzer tool to further identify the bottleneck, we have found that the following multiple loops were taking up a lot of processing time:

    for ( area : detection_areas )\nfor ( point : point_clouds )\nif ( boost::geometry::within(point, area) )\n// do something with O(1)\n

    It checks whether each point cloud is contained in each detection area. Let N be the size of point_clouds and M be the size of detection_areas, then the computational complexity of this program is O(N^2 * M), since the complexity of within is O(N). Here, given that most of the point clouds are located far away from a certain detection area, a certain optimization can be achieved. First, calculate the minimum enclosing circle that completely covers the detection area, and then check whether the points are contained in that circle. Most of the point clouds can be quickly ruled out by this method, we don\u2019t have to call the within function in most cases. Below is the pseudocode after optimization.

    for ( area : detection_areas )\ncircle = calc_minimum_enclosing_circle(area)\nfor ( point : point_clouds )\nif ( point is in circle )\nif ( boost::geometry::within(point, area) )\n// do something with O(1)\n

    By using O(N) algorithm for minimum enclosing circle, the computational complexity of this program is reduced to almost O(N * (N + M)) (note that the exact computational complexity does not really change). If you are interested, refer to the Pull Request.

    Similar to this example, in the planning component, we take into consideration thousands to tens of thousands of point clouds, thousands of points in a path representing our own route, and polygons representing obstacles and detection areas in the surroundings, and we repeatedly create paths based on them. Therefore, we access the contents of the point clouds and paths multiple times using for-loops. In most cases, the bottleneck lies in these naive for-loops. Here, understanding Big O notation and reducing the order of computational complexity directly leads to performance improvements.

    "},{"location":"how-to-guides/others/add-a-custom-ros-message/","title":"Add a custom ROS message","text":""},{"location":"how-to-guides/others/add-a-custom-ros-message/#add-a-custom-ros-message","title":"Add a custom ROS message","text":""},{"location":"how-to-guides/others/add-a-custom-ros-message/#overview","title":"Overview","text":"

    During the Autoware development, you will probably need to define your own messages. Read the following instructions before adding a custom message.

    1. Message in autoware_msgs define interfaces of Autoware Core.

      • If a contributor wishes to make changes or add new messages to autoware_msgs, they should first create a new discussion post under the Design category.
    2. Any other minor or proposal messages used for internal communication within a component(such as planning) should be defined in another repository.

      • tier4_autoware_msgs is an example of that.

    The following is a simple tutorial of adding a message package to autoware_msgs. For the general ROS 2 tutorial, see Create custom msg and srv files.

    "},{"location":"how-to-guides/others/add-a-custom-ros-message/#how-to-create-custom-message","title":"How to create custom message","text":"

    Make sure you are in the Autoware workspace, and then run the following command to create a new package. As an example, let's create a package to define sensor messages.

    1. Create a package

      cd ./src/core/autoware_msgs\nros2 pkg create --build-type ament_cmake autoware_sensing_msgs\n
    2. Create custom messages

      You should create .msg files and place them in the msg directory.

      NOTE: The initial letters of the .msg and .srv files must be capitalized.

      As an example, let's make .msg files GnssInsOrientation.msg and GnssInsOrientationStamped.msg to define GNSS/INS orientation messages:

      mkdir msg\ncd msg\ntouch GnssInsOrientation.msg\ntouch GnssInsOrientationStamped.msg\n

      Edit GnssInsOrientation.msg with your editor to be the following content:

      geometry_msgs/Quaternion orientation\nfloat32 rmse_rotation_x\nfloat32 rmse_rotation_y\nfloat32 rmse_rotation_z\n

      In this case, the custom message uses a message from another message package geometry_msgs/Quaternion.

      Edit GnssInsOrientationStamped.msg with your editor to be the following content:

      std_msgs/Header header\nGnssInsOrientation orientation\n

      In this case, the custom message uses a message from another message package std_msgs/Header.

    3. Edit CMakeLists.txt

      In order to use this custom message in C++ or Python languages, we need to add the following lines to CMakeList.txt:

      rosidl_generate_interfaces(${PROJECT_NAME}\n\"msg/GnssInsOrientation.msg\"\n\"msg/GnssInsOrientationStamped.msg\"\nDEPENDENCIES\ngeometry_msgs\nstd_msgs\nADD_LINTER_TESTS\n)\n

      The ament_cmake_auto tool is very useful and is more widely used in Autoware, so we recommend using ament_cmake_auto instead of ament_cmake.

      We need to replace

      find_package(ament_cmake REQUIRED)\n\nament_package()\n

      with

      find_package(ament_cmake_auto REQUIRED)\n\nament_auto_package()\n
    4. Edit package.xml

      We need to declare relevant dependencies in package.xml. For the above example we need to add the following content:

      <buildtool_depend>rosidl_default_generators</buildtool_depend>\n\n<exec_depend>rosidl_default_runtime</exec_depend>\n\n<depend>geometry_msgs</depend>\n<depend>std_msgs</depend>\n\n<member_of_group>rosidl_interface_packages</member_of_group>\n

      We need to replace <buildtool_depend>ament_cmake</buildtool_depend> with <buildtool_depend>ament_cmake_auto</buildtool_depend> in the package.xml file.

    5. Build the custom message package

      You can build the package in the root of your workspace, for example by running the following command:

      colcon build --packages-select autoware_sensing_msgs\n

      Now the GnssInsOrientationStamped message will be discoverable by other packages in Autoware.

    "},{"location":"how-to-guides/others/add-a-custom-ros-message/#how-to-use-custom-messages-in-autoware","title":"How to use custom messages in Autoware","text":"

    You can use the custom messages in Autoware by following these steps:

    • Add dependency in package.xml.
      • For example, <depend>autoware_sensing_msgs</depend>.
    • Include the .hpp file of the relevant message in the code.
      • For example, #include <autoware_sensing_msgs/msg/gnss_ins_orientation_stamped.hpp>.
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/","title":"Advanced usage of colcon","text":""},{"location":"how-to-guides/others/advanced-usage-of-colcon/#advanced-usage-of-colcon","title":"Advanced usage of colcon","text":"

    This page shows some advanced and useful usage of colcon. If you need more detailed information, refer to the colcon documentation.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#common-mistakes","title":"Common mistakes","text":""},{"location":"how-to-guides/others/advanced-usage-of-colcon/#do-not-run-from-other-than-the-workspace-root","title":"Do not run from other than the workspace root","text":"

    It is important that you always run colcon build from the workspace root because colcon builds only under the current directory. If you have mistakenly built in a wrong directory, run rm -rf build/ install/ log/ to clean the generated files.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#do-not-unnecessarily-overlay-workspaces","title":"Do not unnecessarily overlay workspaces","text":"

    colcon overlays workspaces if you have sourced the setup.bash of other workspaces before building a workspace. You should take care of this especially when you have multiple workspaces.

    Run echo $COLCON_PREFIX_PATH to check whether workspaces are overlaid. If you find some workspaces are unnecessarily overlaid, remove all built files, restart the terminal to clean environment variables, and re-build the workspace.

    For more details about workspace overlaying, refer to the ROS 2 documentation.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#cleaning-up-the-build-artifacts","title":"Cleaning up the build artifacts","text":"

    colcon sometimes causes errors of because of the old cache. To remove the cache and rebuild the workspace, run the following command:

    rm -rf build/ install/\n

    In case you know what packages to remove:

    rm -rf {build,install}/{package_a,package_b}\n
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#selecting-packages-to-build","title":"Selecting packages to build","text":"

    To just build specified packages:

    colcon build --packages-select <package_name1> <package_name2> ...\n

    To build specified packages and their dependencies recursively:

    colcon build --packages-up-to <package_name1> <package_name2> ...\n

    You can also use these options for colcon test.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#changing-the-optimization-level","title":"Changing the optimization level","text":"

    Set DCMAKE_BUILD_TYPE to change the optimization level.

    Warning

    If you specify DCMAKE_BUILD_TYPE=Debug or no DCMAKE_BUILD_TYPE is given for building the entire Autoware, it may be too slow to use.

    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug\n
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo\n
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#changing-the-default-configuration-of-colcon","title":"Changing the default configuration of colcon","text":"

    Create $COLCON_HOME/defaults.yaml to change the default configuration.

    mkdir -p ~/.colcon\ncat << EOS > ~/.colcon/defaults.yaml\n{\n\"build\": {\n\"symlink-install\": true\n}\n}\n

    For more details, see here.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#generating-compile_commandsjson","title":"Generating compile_commands.json","text":"

    compile_commands.json is used by IDEs/tools to analyze the build dependencies and symbol relationships.

    You can generate it with the flag DCMAKE_EXPORT_COMPILE_COMMANDS=1:

    colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1\n
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#seeing-compiler-commands","title":"Seeing compiler commands","text":"

    To see the compiler and linker invocations for a package, use VERBOSE=1 and --event-handlers console_cohesion+:

    VERBOSE=1 colcon build --packages-up-to <package_name> --event-handlers console_cohesion+\n

    For other options, see here.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#using-ccache","title":"Using Ccache","text":"

    Ccache can speed up recompilation. It is recommended to use it to save your time unless you have a specific reason not to do so.

    1. Install Ccache:

      sudo apt update && sudo apt install ccache\n
    2. Write the following in your .bashrc:

      export CC=\"/usr/lib/ccache/gcc\"\nexport CXX=\"/usr/lib/ccache/g++\"\n
    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/","title":"An example procedure for adding and evaluating a new node","text":""},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#an-example-procedure-for-adding-and-evaluating-a-new-node","title":"An example procedure for adding and evaluating a new node","text":""},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#overview","title":"Overview","text":"

    This page provides a guide for evaluating Autoware when a new node is implemented, especially about developing a novel localization node.

    The workflow involves initial testing and rosbag recording using a real vehicle or AWSIM, implementing the new node, subsequent testing using the recorded rosbag, and finally evaluating with a real vehicle or AWSIM.

    It is assumed that the method intended for addition has already been verified well with public datasets and so on.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#1-running-autoware-in-its-standard-configuration","title":"1. Running Autoware in its standard configuration","text":"

    First of all, it is important to be able to run the standard Autoware to establish a basis for performance and behavior comparison.

    Autoware constantly incorporates new features. It is crucial to initially confirm that it operates as expected with the current version, which helps in problem troubleshooting.

    In this context, AWSIM is presumed. Therefore, AWSIM simulator can be useful. If you are using actual hardware, please refer to the How-to guides.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#2-recording-a-rosbag-using-autoware","title":"2. Recording a rosbag using Autoware","text":"

    Before developing a new node, it is recommended to record a rosbag in order to evaluate. If you need a new sensor, you should add it to your vehicle or AWSIM.

    In this case, it is recommended to save all topics regardless of whether they are necessary or not. For example, in Localization, since the initial position estimation service is triggered by the input to rviz and the GNSS topic, the initial position estimation does not start when playing back data unless those topics are saved.

    Consider the use of the mcap format if data capacity becomes a concern.

    It is worth noting that using ros2 bag record increases computational load and might affect performance. After data recording, verifying the smooth flow of sensor data and unchanged time series is advised. This verification can be accomplished, for example, by inspecting the image data with rqt_image_view during ros2 bag play.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#3-developing-the-new-node","title":"3. Developing the new node","text":"

    When developing a new node, it could be beneficial to reference a package that is similar to the one you intend to create.

    It is advisable to thoroughly read the Design page, contemplate the addition or replacement of nodes in Autoware, and then implement your solution.

    For example, a node doing NDT, a LiDAR-based localization method, is ndt_scan_matcher. If you want to replace this with a different approach, implement a node which produces the same topics and provides the same services.

    ndt_scan_matcher is launched as pose_estimator, so it is necessary to replace the launch file as well.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#4-evaluating-by-a-rosbag-based-simulator","title":"4. Evaluating by a rosbag-based simulator","text":"

    Once the new node is implemented, it is time to evaluate it. logging_simulator is a tool of how to evaluate the new node using the rosbag captured in step 2.

    When you run the logging_simulator, you can set planning:=false or control:=false to disable the launch of specific component nodes.

    ros2 launch autoware_launch logging_simulator.launch.xml ... planning:=false control:=false

    After launching logging_simulator, the rosbag file obtained in step 2 should be replayed using ros2 bag play <rosbag_file>.

    If you remap the topics related to the localization that you want to verify this time, Autoware will use the data it is calculating this time instead of the data it recorded. Also, using the --topics option of ros2 bag play, you can publish only specific topics in rosbag.

    There is ros2bag_extensions available to filter the rosbag file and create a new rosbag file that contains only the topics you need.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#5-evaluating-in-a-realtime-environment","title":"5. Evaluating in a realtime environment","text":"

    Once you have sufficiently verified the behavior in the logging_simulator, let's run it as Autoware with new nodes added in the realtime environment.

    To debug Autoware, the method described at debug-autoware is useful.

    For reproducibility, you may want to fix the GoalPose. In such cases, consider using the tier4_automatic_goal_rviz_plugin.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#6-sharing-the-results","title":"6. Sharing the results","text":"

    If your implementation works successfully, please consider a pull request to Autoware.

    It is also a good idea to start by presenting your ideas in Discussion at Show and tell.

    For localization, YabLoc's Proposal may provide valuable insights.

    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/","title":"Applying Clang-Tidy to ROS packages","text":""},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#applying-clang-tidy-to-ros-packages","title":"Applying Clang-Tidy to ROS packages","text":"

    Clang-Tidy is a powerful C++ linter.

    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#preparation","title":"Preparation","text":"

    You need to generate build/compile_commands.json before using Clang-Tidy.

    colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1\n
    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#usage","title":"Usage","text":"
    clang-tidy -p build/ path/to/file1 path/to/file2 ...\n

    If you want to apply Clang-Tidy to all files in a package, using the fd command is useful. To install fd, see the installation manual.

    clang-tidy -p build/ $(fd -e cpp -e hpp --full-path \"/autoware_utils/\")\n
    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#ide-integration","title":"IDE integration","text":""},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#clion","title":"CLion","text":"

    Refer to the CLion Documentation.

    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#visual-studio-code","title":"Visual Studio Code","text":"

    Use either one of the following extensions:

    • C/C++
    • clangd
    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#troubleshooting","title":"Troubleshooting","text":"

    If you encounter clang-diagnostic-error, try installing libomp-dev.

    Related: https://github.com/autowarefoundation/autoware-github-actions/pull/172

    "},{"location":"how-to-guides/others/debug-autoware/","title":"Debug Autoware","text":""},{"location":"how-to-guides/others/debug-autoware/#debug-autoware","title":"Debug Autoware","text":"

    This page provides some methods for debugging Autoware.

    "},{"location":"how-to-guides/others/debug-autoware/#print-debug-messages","title":"Print debug messages","text":"

    The essential thing for debug is to print the program information clearly, which can quickly judge the program operation and locate the problem. Autoware uses ROS 2 logging tool to print debug messages, how to design console logging refer to tutorial Console logging.

    "},{"location":"how-to-guides/others/debug-autoware/#using-ros-tools-debug-autoware","title":"Using ROS tools debug Autoware","text":""},{"location":"how-to-guides/others/debug-autoware/#using-command-line-tools","title":"Using command line tools","text":"

    ROS 2 includes a suite of command-line tools for introspecting a ROS 2 system. The main entry point for the tools is the command ros2, which itself has various sub-commands for introspecting and working with nodes, topics, services, and more. How to use the ROS 2 command line tool refer to tutorial CLI tools.

    "},{"location":"how-to-guides/others/debug-autoware/#using-rviz2","title":"Using rviz2","text":"

    Rviz2 is a port of Rviz to ROS 2. It provides a graphical interface for users to view their robot, sensor data, maps, and more. You can run Rviz2 tool easily by:

    rviz2\n

    When Autoware launch the simulators, the Rviz2 tool is opened by default to visualize the autopilot graphic information.

    "},{"location":"how-to-guides/others/debug-autoware/#using-rqt-tools","title":"Using rqt tools","text":"

    RQt is a graphical user interface framework that implements various tools and interfaces in the form of plugins. You can run any RQt tools/plugins easily by:

    rqt\n

    This GUI allows you to choose any available plugins on your system. You can also run plugins in standalone windows. For example, RQt Console:

    ros2 run rqt_console rqt_console\n
    "},{"location":"how-to-guides/others/debug-autoware/#common-rqt-tools","title":"Common RQt tools","text":"
    1. rqt_graph: view node interaction

      In complex applications, it may be helpful to get a visual representation of the ROS node interactions.

      ros2 run rqt_graph rqt_graph\n
    2. rqt_console: view messages

      rqt_console is a great gui for viewing ROS topics.

      ros2 run rqt_console rqt_console\n
    3. rqt_plot: view data plots

      rqt_plot is an easy way to plot ROS data in real time.

      ros2 run rqt_plot rqt_plot\n
    "},{"location":"how-to-guides/others/debug-autoware/#using-ros2_graph","title":"Using ros2_graph","text":"

    ros2_graph can be used to generate mermaid description of ROS 2 graphs to add on your markdown files.

    It can also be used as a colorful alternative to rqt_graph even though it would require some tool to render the generated mermaid diagram.

    It can be installed with:

    pip install ros2-graph\n

    Then you can generate a mermaid description of the graph with:

    ros2_graph your_node\n\n# or like with an output file\nros2_graph /turtlesim -o turtle_diagram.md\n\n# or multiple nodes\nros2_graph /turtlesim /teleop_turtle\n

    You can then visualize these graphs with:

    • Mermaid Live Editor
    • Visual Studio Code extension mermaid preview
    • JetBrains IDEs with native support
    "},{"location":"how-to-guides/others/debug-autoware/#using-ros2doctor","title":"Using ros2doctor","text":"

    When your ROS 2 setup is not running as expected, you can check its settings with the ros2doctor tool.

    ros2doctor checks all aspects of ROS 2, including platform, version, network, environment, running systems and more, and warns you about possible errors and reasons for issues.

    It's as simple as just running ros2 doctor in your terminal.

    It has the ability to list \"Subscribers without publishers\" for all topics in the system.

    And this information can help you find if a necessary node isn't running.

    For more details, see the following official documentation for Using ros2doctor to identify issues.

    "},{"location":"how-to-guides/others/debug-autoware/#using-a-debugger-with-breakpoints","title":"Using a debugger with breakpoints","text":"

    Many IDE(e.g. Visual Studio Code, CLion) supports debugging C/C++ executable with GBD on linux platform. The following lists some references for using the debugger:

    • https://code.visualstudio.com/docs/cpp/cpp-debug
    • https://www.jetbrains.com/help/clion/debugging-code.html#useful-debugger-shortcuts
    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/","title":"Defining temporal performance metrics on components","text":""},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#defining-temporal-performance-metrics-on-components","title":"Defining temporal performance metrics on components","text":""},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#motivation-to-defining-temporal-performance-metrics","title":"Motivation to defining temporal performance metrics","text":""},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#objective-of-the-page","title":"Objective of the page","text":"

    This page introduces policies to define metrics to evaluate temporal performance on components of Autoware. The term \"temporal performance\" is often used throughout the page in order to distinguish between functional performance, which referred to as accuracy as well, and time-related performance.

    It is expected that most algorithms employed for Autoware are executed with as high frequency and short response time as possible. In order to achieve safe autonomous driving, one of the desired outcomes is no time gap between perceived and actual situation. The time gap is commonly referred to as delay. If the delay is significant, the system may determine trajectory and maneuver based on outdated situation. Consequently, if the actual situation differs from the perceived one due to the delay, the system may make unexpected decisions.

    As mentioned above, this page presents the policies to define metrics. Besides, the page contains lists of sample metrics that are crucial for the main functionalities of Autoware: Localization, Perception, Planning, and Control.

    Note

    Other functionalities, such as system components for diagnosis, are excluded currently. However they will be taken into account in the near future.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#contribution-of-the-temporal-performance-metrics","title":"Contribution of the temporal performance metrics","text":"

    Temporal performance metrics are important for evaluating Autoware. These metrics are particularly useful for assessing delays caused by new algorithms and logic. They can be employed when comparing the temporal performance of software on a desktop computer with that on a vehicle during the vehicle integration phase.

    In addition, these metrics are useful for designers and evaluators of middleware, operating systems, and computers. They are selected based on user and product requirements. One of these requirements is to provide sufficient temporal performance for executing Autoware. \"Sufficient temporal performance\" is defined as a temporal performance requirement, but it can be challenging to define the requirement because it varies depending on the product type, Operational Design Domain (ODD), and other factors. Then, this page specifically focuses on temporal performance metrics rather than requirements.

    Temporal performance metrics are important for evaluating the reliability of Autoware. However, ensuring the reliability of Autoware requires consideration of not only temporal performance metrics but also other metrics.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#tools-for-evaluating-the-metrics","title":"Tools for evaluating the metrics","text":"

    There are several tools available for evaluating Autoware according to the metrics listed in the page. For example, both CARET and ros2_tracing are recommended options when evaluating Autoware on Linux and ROS 2. If you want to measure the metrics with either of these tools, refer to the corresponding user guide for instructions. It's important to note that if you import Autoware to a platform other than Linux and ROS 2, you will need to choose a supported tool for evaluation.

    Note

    TIER IV plans to measure Autoware, which is running according to the tutorial, and provide a performance evaluation report periodically. An example of such a report can be found here, although it may not include all of the metrics listed.

    The page does not aim to provide instructions on how to use these tools or measure the metrics. Its primary focus is on the metrics themselves, as they are more important than the specific tools used. These metrics retain their relevance regardless of the employed platform.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#policies-to-define-temporal-performance-metrics","title":"Policies to define temporal performance metrics","text":"

    As mentioned above, the configuration of Autoware varies by the product type, ODD, and other factors. The variety of configurations makes it difficult to define the uniform metrics for evaluating Autoware. However, the policies used to define them are basically reused even when the configuration changes. Each of temporal performance metrics is categorized into two types: execution frequency and response time. Although there are many types of metrics, such as communication latency, the only two types are considered for simplicity. Execution frequency is observed using rate of Inter-Process Communication (IPC) messages. You will find an enormous number of messages in Autoware, but you don't have to take care of all. Some messages might be critical to functionality and they should be chosen for evaluation. Response time is duration elapsed through a series of processing. A series of processing is referred to as a path. Response time is calculated from timestamps of start and end of a path. Although many paths can be defined in Autoware, you have to choose significant paths.

    As a hint, here are some characteristics of message and path in order to choose metrics.

    1. Messages and paths on boundaries where observed values from sensors are consumed
    2. Messages and paths on boundaries of functions, e.g., a boundary of perception and planning
    3. Messages and paths on boundaries where timer-based frequency is switched
    4. Messages and paths on boundaries where two different messages are synchronized and merged
    5. Messages that must be transmitted at expected frequency, e.g., vehicle command messages

    Those hints would be helpful for most configurations but there may be exclusions. Defining metrics precisely requires an understanding of configuration.

    In addition, it is recommended that metrics be determined incrementally from the architectural level to the detailed design and implementation level. Mixing metrics at different levels of granularity can be confusing.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#list-of-sample-metrics","title":"List of sample metrics","text":"

    This section demonstrates how to define metrics according to the policies explained and has lists of the metrics for Autoware launched according to the tutorial. The section is divided into multiple subsections, each containing a model diagram and an accompanying list that explains the important temporal performance metrics. Each model is equipped with checkpoints that serve as indicators for these metrics.

    The first subsection presents the top-level temporal performance metrics, which are depicted in the abstract structure of Autoware as a whole. The detailed metrics are not included in the model as they would add complexity to it. Instead, the subsequent section introduces the detailed metrics. The detailed metrics are subject to more frequent updates compared to the top-level ones, which is another reason for categorizing them separately.

    Each list includes a column for the reference value. The reference value represents the observed value of each metric when Autoware is running according to the tutorial. It is important to note that the reference value is not a required value, meaning that Autoware does not necessarily fail in the tutorial execution if certain metrics do not fulfill the reference value.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#top-level-temporal-performance-metrics-for-autoware","title":"Top-level temporal performance metrics for Autoware","text":"

    The diagram below introduces the model for top-level temporal performance metrics.

    The following three policies assist in selecting the top-level performance metrics:

    • Splitting Autoware based on components that consume observed values, such as sensor data, and considering the processing frequency and response time around these components
    • Dividing Autoware based on the entry point of Planning and Control and considering the processing frequency and response time around these components
    • Showing the minimum metrics for the Vehicle Interface, as they may vary depending on the target vehicle

    Additionally, it is assumed that algorithms are implemented as multiple nodes and function as a pipeline processing system.

    ID Representation in the model Metric meaning Related functionality Reference value Reason to choose it as a metric Note AWOV-001 Message rate from CPA #9 to CPA #18 Update rate of result from Prediction to Planning. Perception 10 Hz Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. AWOV-002 Response time from CPA #0 to CPA #20 via CPA #18 Response time in main body of Perception. Perception N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is used if delay compensation is disabled in Tracking. AWOV-003 Response time from CPA #7 to CPA #20 Response time from Tracking output of Tracking to its data consumption in Planning. Perception N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is used if delay compensation is enabled in Tracking. AWOV-004 Response time from CPA #0 to CPA #6 Duration to process pointcloud data in Sensing and Detection. Perception N/A Tracking relies on detection to provide real-time and up-to-date sensed data for accurate tracking. The metric is used if delay compensation is enabled in Tracking. AWOV-005 Message rate from CPA #4 to CPA #5 Update rate of Detection result received by Tracking. Perception 10 Hz Tracking relies on detection to provide real-time and up-to-date sensed data for accurate tracking. AWOV-006 Response time from CPA #0 to CPA #14 Response time from output of observed data from LiDARs to its consumption in EKF Localizer via NDT Scan Matcher. Localization N/A EKF Localizer relies on fresh and up-to-date observed data from sensors for accurate estimation of self pose. AWOV-007 Message rate from CPA #11 to CPA #13 Update rate of pose estimated by NDT Scan Matcher. Localization 10 Hz EKF Localizer relies on fresh and up-to-date observed data from sensors for accurate estimation of self pose. AWOV-008 Message rate from CPA #15 to CPA #12 Update rate of feed backed pose estimated by EKF Localizer. Localization 50 Hz NDT Scan Matcher relies on receiving estimated pose from EKF Localizer smoothly for linear interpolation. AWOV-009 Message rate from CPA #17 to CPA #19 Update rate of Localization result received by Planning. Localization 50 Hz Planning relies on Localization to update the estimated pose frequently. AWOV-010 Response time from CPA #20 to CPA #23 Processing time from beginning of Planning to consumption of Trajectory message in Control. Planning N/A A vehicle relies on Planning to update trajectory within a short time frame to achieve safe driving behavior. AWOV-011 Message rate from CPA #21 to CPA #22 Update rate of Trajectory message from Planning. Planning 10 Hz A vehicle relies on Planning to update trajectory frequently to achieve safe driving behavior. AWOV-012 Message rate from CPA #24 to CPA #25 Update rate of Control command. Control 33 Hz Control stability and comfort relies on sampling frequency of Control. AWOV-013 Message rate between CPA #26 and Vehicle Communication rate between Autoware and Vehicle. Vehicle Interface N/A A vehicle requires Autoware to communicate with each other at predetermined frequency. Temporal performance requirement varies depending on vehicle type.

    Note

    There is an assumption that each of sensors, such as LiDARs and cameras, outputs a set of pointcloud with a timestamp. CPA #0 is observed with the timestamp. If the sensors are not configured to output the timestamp, the time when Autoware receives the pointcloud is used instead. That is represented by CPA #1 in the model. The detailed metrics employs the idea as well.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#detailed-temporal-performance-metrics-for-perception","title":"Detailed temporal performance metrics for Perception","text":"

    The diagram below introduces the model for temporal performance metrics for Perception.

    The following two policies assist in selecting the performance metrics:

    • Regarding the frequency and response time at which Recognition results from Object Recognition and Traffic Light Recognition are consumed in Planning
    • Splitting Perception component on merging points of data from multiple processing paths and considering the frequency and response time around that point

    The following list shows the temporal performance metrics for Perception.

    ID Representation in the model Metric meaning Related functionality Reference value Reason to choose it as a metric Note APER-001 Message rate from CPP #2 to CPP #26 Update rate of Traffic Light Recognition. Traffic Light Recognition 10 Hz Planning relies on fresh and up-to-date perceived data from Traffic Light Recognition for making precise decisions. APER-002 Response time from CPP #0 to CPP #30 Response time from camera input to consumption of the result in Planning. Traffic Light Recognition N/A Planning relies on fresh and up-to-date perceived data from Traffic Light Recognition for making precise decisions. APER-003 Message rate from CPP #25 to CPP #28 Update rate of result from Prediction (Object Recognition) to Planning. Object Recognition 10 Hz Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is same as AWOV-001. APER-004 Response time from CPP #6 to CPP #30 Response time from Tracking output of Tracking to its data consumption in Planning. Object Recognition N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is same as AWOV-002 and used if delay compensation is disabled in Tracking. APER-005 Response time from CPP #23 to CPP #30 Response time from Tracking output of Tracking to its data consumption in Planning. Object Recognition N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is same as AWOV-003 and used if delay compensation is enabled in Tracking. APER-006 Response time from CPP #6 to CPP #21 Duration to process pointcloud data in Sensing and Detection. Object Recognition N/A Tracking relies on Detection to provide real-time and up-to-date perceived data. The metrics is same as AWOV-004 and used if delay compensation is enabled in Tracking. APER-007 Message rate from CPP #20 to CPP #21 Update rate of Detection result received by Tracking. Object Recognition 10 Hz Tracking relies on detection to provide real-time and up-to-date sensed data for accurate tracking. The metric is same as AWOV-005 APER-008 Message rate from CPP #14 to CPP #19 Update rate of data sent from Sensor Fusion. Object Recognition 10 Hz Association Merger relies on the data to be updated at expected frequency for data synchronization. APER-009 Message rate from CPP #16 to CPP #19 Update rate of data sent from Detection by Tracker. Object Recognition 10 Hz Association Merger relies on the data to be updated at expected frequency for data synchronization. APER-010 Message rate from CPP #18 to CPP #19 Update rate of data sent from Validation Object Recognition. 10 Hz Association Merger relies on the data to be updated at expected frequency for data synchronization. APER-011 Response time from CPP #6 to CPP #19 via CPP #14 Response time to consume data sent from Sensor Fusion after LiDARs output pointcloud. Object Recognition N/A Association Merger relies on fresh and up-to-date data for data synchronization. APER-012 Response time from CPP #6 to CPP #19 via CPP #16 Response time to consume data sent from Detection by Tracker after LiDARs output pointcloud. Object Recognition N/A Association Merger relies on fresh and up-to-date data for data synchronization. APER-013 Response time from CPP #6 to CPP #19 via CPP #18 Response time to consume data sent from Validator after LiDARs output pointcloud. Object Recognition N/A Association Merger relies on fresh and up-to-date data for data synchronization. APER-014 Message rate from CPP #10 to CPP #13 Update rate of data sent from Clustering. Object Recognition 10 Hz Sensor Fusion relies on the data to be updated at expected frequency for data synchronization. APER-015 Message rate from CPP #5 to CPP #13 Update rate of data sent from Camera-based Object detection. Object Recognition 10 Hz Sensor Fusion relies on the data to be updated at expected frequency for data synchronization. APER-016 Response time from CPP #6 to CPP #13 Response time to consume data sent from Clustering after LiDARs output pointcloud. Object Recognition N/A Sensor Fusion relies on fresh and up-to-date data for data synchronization. APER-017 Response time from CPP #3 to CPP #13 Response time to consume data sent from Camera-based Object detection after Cameras output images. Object Recognition N/A Sensor Fusion relies on fresh and up-to-date data for data synchronization. APER-018 Message rate from CPP #10 to CPP #17 Update rate of data sent from Clustering. Object Recognition 10 Hz Validator relies on the data to be updated at expected frequency for data synchronization. It seems similar to APER-014, but the topic message is different. APER-019 Message rate from CPP #12 to CPP #17 Update rate of data sent from DNN-based Object Recognition. Object Recognition 10 Hz Validator relies on the data to be updated at expected frequency for data synchronization. APER-020 Response time from CPP #6 to CPP #17 via CPP #10 Response time to consume data sent from Clustering after LiDARs output pointcloud. Object Recognition N/A Validator relies on fresh and update-date data for data synchronization. It seems similar to APER-015, but the topic message is different. APER-021 Response time from CPP #6 to CPP #17 via CPP #12 Response time to consume data sent from DNN-based Object Recognition after LiDARs output pointcloud. Object Recognition N/A Validator relies on fresh and update-date data for data synchronization."},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#detailed-temporal-performance-metrics-for-paths-between-obstacle-segmentation-and-planning","title":"Detailed temporal performance metrics for Paths between Obstacle segmentation and Planning","text":"

    Obstacle segmentation, which is a crucial part of Perception, transmits data to Planning. The figure below illustrates the model that takes into account performance metrics related to Obstacle segmentation and Planning.

    Note

    Both the Obstacle grid map and Obstacle segmentation transmit data to multiple sub-components of Planning. However, not all of these sub-components are described in the model. This is because our primary focus is on the paths from LiDAR to Planning via Obstacle segmentation.

    The following list shows the temporal performance metrics around Obstacle segmentation and Planning.

    ID Representation in the model Metric meaning Related functionality Reference value Reason to choose it as a metric Note OSEG-001 Message rate from CPS #4 to CPS #7 Update rate of Occupancy grid map received by Planning (behavior_path_planner) Obstacle segmentation 10 Hz Planning relies on Occupancy grid map to be updated frequently and smoothly for creating accurate trajectory. OSEG-002 Response time from CPS #0 to CPS #9 via CPS #7 Response time to consume Occupancy grid map after LiDARs output sensing data. Obstacle segmentation N/A Planning relies on fresh and up-to-date perceived data from Occupancy grid map for creating accurate trajectory.. OSEG-003 Message rate from CPS #6 to CPS #11 Update rate of obstacle segmentation received by Planning (behavior_velocity_planner). Obstacle segmentation 10 Hz Planning relies on Obstacle segmentation to be updated frequently and smoothly for creating accurate trajectory. OSEG-004 Response time from CPS #0 to CPS #13 via CPS #11 Response time to consume Obstacle segmentation after LiDARs output sensing data. Obstacle segmentation N/A Planning relies on fresh and up-to-date perceived data from Obstacle segmentation for creating accurate trajectory.."},{"location":"how-to-guides/others/determining-component-dependencies/","title":"Determining component dependencies","text":""},{"location":"how-to-guides/others/determining-component-dependencies/#determining-component-dependencies","title":"Determining component dependencies","text":"

    For any developers who wish to try and deploy Autoware as a microservices architecture, it is necessary to understand the software dependencies, communication, and implemented features of each ROS package/node.

    As an example, the commands necessary to determine the dependencies for the Perception component are shown below.

    "},{"location":"how-to-guides/others/determining-component-dependencies/#perception-component-dependencies","title":"Perception component dependencies","text":"

    To generate a graph of package dependencies, use the following colcon command:

    colcon graph --dot --packages-up-to tier4_perception_launch | dot -Tpng -o graph.png\n

    To generate a list of dependencies, use:

    colcon list --packages-up-to tier4_perception_launch --names-only\n
    colcon list output
    autoware_auto_geometry_msgs\nautoware_auto_mapping_msgs\nautoware_auto_perception_msgs\nautoware_auto_planning_msgs\nautoware_auto_vehicle_msgs\nautoware_cmake\nautoware_lint_common\nautoware_point_types\ncompare_map_segmentation\ndetected_object_feature_remover\ndetected_object_validation\ndetection_by_tracker\neuclidean_cluster\ngrid_map_cmake_helpers\ngrid_map_core\ngrid_map_cv\ngrid_map_msgs\ngrid_map_pcl\ngrid_map_ros\nground_segmentation\nimage_projection_based_fusion\nimage_transport_decompressor\ninterpolation\nkalman_filter\nlanelet2_extension\nlidar_apollo_instance_segmentation\nmap_based_prediction\nmulti_object_tracker\nmussp\nobject_merger\nobject_range_splitter\noccupancy_grid_map_outlier_filter\npointcloud_preprocessor\npointcloud_to_laserscan\nshape_estimation\ntensorrt_yolo\ntier4_autoware_utils\ntier4_debug_msgs\ntier4_pcl_extensions\ntier4_perception_launch\ntier4_perception_msgs\ntraffic_light_classifier\ntraffic_light_map_based_detector\ntraffic_light_ssd_fine_detector\ntraffic_light_visualization\nvehicle_info_util\n

    Tip

    To output a list of modules with their respective paths, run the command above without the --names-only parameter.

    To see which ROS topics are being subscribed and published to, use rqt_graph as follows:

    ros2 launch tier4_perception_launch perception.launch.xml mode:=lidar\nros2 run rqt_graph rqt_graph\n
    "},{"location":"how-to-guides/others/fixing-dependent-package-versions/","title":"Fixing dependent package versions","text":""},{"location":"how-to-guides/others/fixing-dependent-package-versions/#fixing-dependent-package-versions","title":"Fixing dependent package versions","text":"

    Autoware manages dependent package versions in autoware.repos. For example, let's say you make a branch in autoware.universe and add new features. Suppose you update other dependencies with vcs pull after cutting a branch from autoware.universe. Then the version of autoware.universe you are developing and other dependencies will become inconsistent, and the entire Autoware build will fail. We recommend saving the dependent package versions by executing the following command when starting the development.

    vcs export src --exact > my_autoware.repos\n
    "},{"location":"how-to-guides/others/reducing-start-delays/","title":"Reducing start delays on real vehicles","text":""},{"location":"how-to-guides/others/reducing-start-delays/#reducing-start-delays-on-real-vehicles","title":"Reducing start delays on real vehicles","text":"

    In simulation, the ego vehicle reacts nearly instantly to the control commands generated by Autoware. However, with a real vehicle, some delays occur that may make ego feel less responsive.

    This page presents start delays experienced when using Autoware on a real vehicle. We define the start delay as the time between (a) when Autoware decides to make the ego vehicle start and (b) when the vehicle actually starts moving. More precisely:

    • (a) is the time when the speed or acceleration command output by Autoware switches to a non-zero value.
    • (b) is the time when the measured velocity of the ego vehicle switches to a positive value.
    "},{"location":"how-to-guides/others/reducing-start-delays/#start-delay-with-manual-driving","title":"Start delay with manual driving","text":"

    First, let us look at the start delay when a human is driving.

    The following figure shows the start delay when a human driver switches the gear from parked to drive and instantly releases the brake to push the throttle pedal and make the velocity of the vehicle increase.

    There are multiple things to note from this figure.

    • Brake (red): despite the driver instantly releasing the brake pedal, we see that the measured brake takes around 150ms to go from 100% to 0%.
    • Gear (orange): the driver switches gear before releasing the brake pedal, but the gear is measured to switch after the brake is released.
    • Throttle (green) and velocity (blue): the driver pushes the throttle pedal and the vehicle is measured to start moving around 500ms later.
    "},{"location":"how-to-guides/others/reducing-start-delays/#filter-delay","title":"Filter delay","text":"

    To guarantee passenger comfort, some Autoware modules implement filters on the jerk of the vehicle, preventing sudden changes in acceleration.

    For example, the vehicle_cmd_gate filters the acceleration command generated by the controller and was previously introducing significant delays when transitioning between a stop command where the acceleration is negative, and a move command where the acceleration is positive. Because of the jerk filter, the transition between negative and positive was not instantaneous and would take several hundreds of milliseconds.

    "},{"location":"how-to-guides/others/reducing-start-delays/#gear-delay","title":"Gear delay","text":"

    In many vehicles, it is necessary to change gear before first starting to move the vehicle. When performed autonomously, this gear change can take some significant time. Moreover, as seen from the data recorded with manual driving, the measured gear value may be delayed.

    In Autoware, the controller sends a stopping control command until the gear is changed to the drive state. This means that delays in the gear change and its reported value can greatly impact the start delay. Note that this is only an issue when the vehicle is initially in the parked gear.

    The only way to reduce this delay is by tuning the vehicle to increase the gear change speed or to reduce the delay in the gear change report.

    "},{"location":"how-to-guides/others/reducing-start-delays/#brake-delay","title":"Brake delay","text":"

    In vehicles with a brake pedal, the braking system will often be made of several moving parts which cannot move instantly. Thus, when Autoware sends brake commands to a vehicle, some delays should be expected in the actual brake applied to the wheels.

    This lingering brake may prevent or delay the initial motion of the ego vehicle.

    This delay can be reduced by tuning the vehicle.

    "},{"location":"how-to-guides/others/reducing-start-delays/#throttle-response","title":"Throttle response","text":"

    For vehicles with throttle control, one of the main cause of start delays is due to the throttle response of the vehicle. When pushing the throttle pedal, the wheels of the vehicle do not instantly start rotating. This is partly due to the inertia of the vehicle, but also to the motor which may take a significant time to start applying some torque to the wheels.

    It may be possible to tune some vehicle side parameters to reduce this delay, but it is often done at the cost of reduced energy efficiency.

    On the Autoware side, the only way to decrease this delay is to increase the initial throttle but this can cause uncomfortably high initial accelerations.

    "},{"location":"how-to-guides/others/reducing-start-delays/#initial-acceleration-and-throttle","title":"Initial acceleration and throttle","text":"

    As we just discussed, for vehicles with throttle control, an increased initial throttle value can reduce the start delay.

    Since Autoware outputs an acceleration value, the conversion module raw_vehicle_cmd_converter is used to map the acceleration value from Autoware to a throttle value to be sent to the vehicle. Such mapping is usually calibrated automatically using the accel_brake_map_calibrator module, but it may produce a low initial throttle which leads to high start delays.

    In order to increase the initial throttle, there are two options: increase the initial acceleration output by Autoware, or modify the acceleration to throttle mapping.

    The initial acceleration output by Autoware can be tuned in the motion_velocity_smoother with parameters engage_velocity and engage_acceleration. However, the vehicle_cmd_gate applies a filter on the control command to prevent too sudden changes in jerk and acceleration, limiting the maximum allowed acceleration while the ego vehicle is stopped.

    Alternatively, the mapping of acceleration can be tuned to increase the throttle corresponding to the initial acceleration. If we look at an example acceleration map, it does the following conversion: when the ego velocity is 0 (first column), acceleration values between 0.631 (first row) and 0.836 (second row) are converted to a throttle between 0% and 10%. This means that any initial acceleration bellow 0.631m/s\u00b2 will not produce any throttle. Keep in mind that after tuning the acceleration map, it may be necessary to also update the brake map.

    default 0 1.39 2.78 4.17 5.56 6.94 8.33 9.72 11.11 12.5 13.89 0 0.631 0.11 -0.04 -0.04 -0.041 -0.096 -0.137 -0.178 -0.234 -0.322 -0.456 0.1 0.836 0.57 0.379 0.17 0.08 0.07 0.068 0.027 -0.03 -0.117 -0.251 0.2 1.129 0.863 0.672 0.542 0.4 0.38 0.361 0.32 0.263 0.176 0.042 0.3 1.559 1.293 1.102 0.972 0.887 0.832 0.791 0.75 0.694 0.606 0.472 0.4 2.176 1.909 1.718 1.588 1.503 1.448 1.408 1.367 1.31 1.222 1.089 0.5 3.027 2.76 2.57 2.439 2.354 2.299 2.259 2.218 2.161 2.074 1.94"},{"location":"how-to-guides/others/running-autoware-without-cuda/","title":"Running Autoware without CUDA","text":""},{"location":"how-to-guides/others/running-autoware-without-cuda/#running-autoware-without-cuda","title":"Running Autoware without CUDA","text":"

    Although CUDA installation is recommended to achieve better performance for object detection and traffic light recognition in Autoware Universe, it is possible to run these algorithms without CUDA. The following subsections briefly explain how to run each algorithm in such an environment.

    "},{"location":"how-to-guides/others/running-autoware-without-cuda/#running-2d3d-object-detection-without-cuda","title":"Running 2D/3D object detection without CUDA","text":"

    Autoware Universe's object detection can be run using one of five possible configurations:

    • lidar_centerpoint
    • lidar_apollo_instance_segmentation
    • lidar-apollo + tensorrt_yolo
    • lidar-centerpoint + tensorrt_yolo
    • euclidean_cluster

    Of these five configurations, only the last one (euclidean_cluster) can be run without CUDA. For more details, refer to the euclidean_cluster module's README file.

    "},{"location":"how-to-guides/others/running-autoware-without-cuda/#running-traffic-light-detection-without-cuda","title":"Running traffic light detection without CUDA","text":"

    For traffic light recognition (both detection and classification), there are two modules that require CUDA:

    • traffic_light_ssd_fine_detector
    • traffic_light_classifier

    To run traffic light detection without CUDA, set enable_fine_detection to false in the traffic light launch file. Doing so disables the traffic_light_ssd_fine_detector such that traffic light detection is handled by the map_based_traffic_light_detector module instead.

    To run traffic light classification without CUDA, set use_gpu to false in the traffic light classifier launch file. Doing so will force the traffic_light_classifier to use a different classification algorithm that does not require CUDA or a GPU.

    "},{"location":"how-to-guides/training-machine-learning-models/training-models/","title":"Training and Deploying Models","text":""},{"location":"how-to-guides/training-machine-learning-models/training-models/#training-and-deploying-models","title":"Training and Deploying Models","text":""},{"location":"how-to-guides/training-machine-learning-models/training-models/#overview","title":"Overview","text":"

    The Autoware offers a comprehensive array of machine learning models, tailored for a wide range of tasks including 2D and 3D object detection, traffic light recognition and more. These models have been meticulously trained utilizing open-mmlab's extensive repositories. By leveraging the provided scripts and following the training steps, you have the capability to train these models using your own dataset, tailoring them to your specific needs.

    Furthermore, you will find the essential conversion scripts to deploy your trained models into Autoware using the mmdeploy repository.

    "},{"location":"how-to-guides/training-machine-learning-models/training-models/#training-traffic-light-classifier-model","title":"Training traffic light classifier model","text":"

    The traffic light classifier model within the Autoware has been trained using the mmlab/pretrained repository. The Autoware offers pretrained models based on EfficientNet-b1 and MobileNet-v2 architectures. To fine-tune these models, a total of 83,400 images were employed, comprising 58,600 for training, 14,800 for evaluation, and 10,000 for testing. These images represent Japanese traffic lights and were trained using TIER IV's internal dataset.

    Name Input Size Test Accuracy EfficientNet-b1 128 x 128 99.76% MobileNet-v2 224 x 224 99.81%

    Comprehensive training instructions for the traffic light classifier model are detailed within the readme file accompanying \"traffic_light_classifier\" package. These instructions will guide you through the process of training the model using your own dataset. To facilitate your training, we have also provided an example dataset containing three distinct classes (green, yellow, red), which you can leverage during the training process.

    Detailed instructions for training the traffic light classifier model can be found here.

    "},{"location":"installation/","title":"Installation","text":""},{"location":"installation/#installation","title":"Installation","text":""},{"location":"installation/#target-platforms","title":"Target platforms","text":"

    Autoware targets the platforms listed below. It may change in future versions of Autoware.

    The Autoware Foundation provides no support on other platforms than those listed below.

    "},{"location":"installation/#architecture","title":"Architecture","text":"
    • amd64
    • arm64
    "},{"location":"installation/#minimum-hardware-requirements","title":"Minimum hardware requirements","text":"

    Info

    Autoware is scalable and can be customized to work with distributed or less powerful hardware. The minimum hardware requirements given below are just a general recommendation. However, performance will be improved with more cores, RAM and a higher-spec graphics card or GPU core.

    • CPU with 8 cores
    • 16GB RAM
    • [Optional] NVIDIA GPU (4GB RAM)

    Although GPU is not required to run basic functionality, it is mandatory to enable the following neural network related functions:

    • LiDAR based object detection
    • Camera based object detection
    • Traffic light detection and classification

    For details of how to enable object detection and traffic light detection/classification without a GPU, refer to the Running Autoware without CUDA.

    "},{"location":"installation/#installing-autoware","title":"Installing Autoware","text":"

    There are two ways to set up Autoware. Choose one according to your preference.

    If any issues occur during installation, refer to the Support page.

    "},{"location":"installation/#1-docker-installation","title":"1. Docker installation","text":"

    Docker can ensure that all developers in a project have a common, consistent development environment. It is recommended for beginners, casual users, people who are unfamiliar with Ubuntu.

    For more information, refer to the Docker installation guide.

    "},{"location":"installation/#2-source-installation","title":"2. Source installation","text":"

    Source installation is for the cases where more granular control of the installation environment is needed. It is recommended for experienced users or people who want to customize their environment. Note that some problems may occur depending on your local environment.

    For more information, refer to the source installation guide.

    "},{"location":"installation/#installing-related-tools","title":"Installing related tools","text":"

    Some other tools are required depending on the evaluation you want to do. For example, to run an end-to-end simulation you need to install an appropriate simulator.

    For more information, see here.

    "},{"location":"installation/#additional-settings-for-developers","title":"Additional settings for developers","text":"

    There are also tools and settings for developers, such as Shells or IDEs.

    For more information, see here.

    "},{"location":"installation/additional-settings-for-developers/","title":"Additional settings for developers","text":""},{"location":"installation/additional-settings-for-developers/#additional-settings-for-developers","title":"Additional settings for developers","text":""},{"location":"installation/additional-settings-for-developers/#console-settings-for-ros-2","title":"Console settings for ROS 2","text":""},{"location":"installation/additional-settings-for-developers/#colorizing-logger-output","title":"Colorizing logger output","text":"

    By default, ROS 2 logger doesn't colorize the output. To colorize it, write the following in your .bashrc:

    export RCUTILS_COLORIZED_OUTPUT=1\n
    "},{"location":"installation/additional-settings-for-developers/#customizing-the-format-of-logger-output","title":"Customizing the format of logger output","text":"

    By default, ROS 2 logger doesn't output detailed information such as file name, function name, or line number. To customize it, write the following in your .bashrc:

    export RCUTILS_CONSOLE_OUTPUT_FORMAT=\"[{severity} {time}] [{name}]: {message} ({function_name}() at {file_name}:{line_number})\"\n

    For more options, see here.

    "},{"location":"installation/additional-settings-for-developers/#network-settings-for-ros-2","title":"Network settings for ROS 2","text":"

    ROS 2 employs DDS, and the configuration of ROS 2 and DDS is described separately. For ROS 2 networking concepts, refer to the official documentation.

    "},{"location":"installation/additional-settings-for-developers/#ros-2-network-setting","title":"ROS 2 network setting","text":"

    ROS 2 multicasts data on the local network by default. Therefore, when you develop in an office, the data flows over the local network of your office. It may cause collisions of packets or increases in network traffic.

    To avoid these, there are two options.

    • Localhost-only communication
    • Same domain only communication on the local network

    Unless you plan to use multiple host computers on the local network, localhost-only communication is recommended. For details, refer to the sections below.

    "},{"location":"installation/additional-settings-for-developers/#enabling-localhost-only-communication","title":"Enabling localhost-only communication","text":"

    Write the following in your .bashrc: For more information, see the ROS 2 documentation.

    export ROS_LOCALHOST_ONLY=1\n

    If you export ROS_LOCALHOST_ONLY=1, MULTICAST must be enabled at the loopback address. To verify that MULTICAST is enabled, use the following command.

    $ ip link show lo\n1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n

    If the word MULTICAST is not printed, use the following command to enable it.

    sudo ip link set lo multicast on\n
    "},{"location":"installation/additional-settings-for-developers/#same-domain-only-communication-on-the-local-network","title":"Same domain only communication on the local network","text":"

    ROS 2 uses ROS_DOMAIN_ID to create groups and communicate between machines in the groups. Since all ROS 2 nodes use domain ID 0 by default, it may cause unintended interference.

    To avoid it, set a different domain ID for each group in your .bashrc:

    # Replace X with the Domain ID you want to use\n# Domain ID should be a number in range [0, 101] (inclusive)\nexport ROS_DOMAIN_ID=X\n

    Also confirm that ROS_LOCALHOST_ONLY is 0 by using the following command.

    echo $ROS_LOCALHOST_ONLY # If the output is 1, localhost has priority.\n

    For more information, see the ROS 2 Documentation.

    "},{"location":"installation/additional-settings-for-developers/#dds-settings","title":"DDS settings","text":"

    Autoware uses DDS for inter-node communication. ROS 2 documentation recommends users to tune DDS to utilize its capability. Especially, receive buffer size is the critical parameter for Autoware. If the parameter is not large enough, Autoware will failed in receiving large data like point cloud or image.

    "},{"location":"installation/additional-settings-for-developers/#tuning-dds","title":"Tuning DDS","text":"

    Unless customized, CycloneDDS is adopted by default. For example, to execute Autoware with CycloneDDS, prepare a config file. A sample config file is given below. Save it as cyclonedds_config.xml.

    <?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<CycloneDDS xmlns=\"https://cdds.io/config\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"https://cdds.io/config https://raw.githubusercontent.com/eclipse-cyclonedds/cyclonedds/master/etc/cyclonedds.xsd\">\n<Domain Id=\"any\">\n<General>\n<Interfaces>\n<NetworkInterface autodetermine=\"true\" priority=\"default\" multicast=\"default\" />\n</Interfaces>\n<AllowMulticast>default</AllowMulticast>\n<MaxMessageSize>65500B</MaxMessageSize>\n</General>\n<Internal>\n<SocketReceiveBufferSize min=\"10MB\"/>\n<Watermarks>\n<WhcHigh>500kB</WhcHigh>\n</Watermarks>\n</Internal>\n</Domain>\n</CycloneDDS>\n

    This configuration is mostly taken from Eclipse Cyclone DDS:Run-time configuration documentation. You can see why each value is set as such under the documentation link.

    Set the config file path and enlarge the Linux kernel maximum buffer size before launching Autoware.

    export CYCLONEDDS_URI=file:///absolute/path/to/cyclonedds_config.xml\nsudo sysctl -w net.core.rmem_max=2147483647\n

    For more information, Refer to ROS 2 documentation. Reading user guide for chosen DDS is helpful for more understanding.

    "},{"location":"installation/additional-settings-for-developers/#tuning-dds-for-multiple-host-computers-for-advanced-users","title":"Tuning DDS for multiple host computers (for advanced users)","text":"

    When Autoware runs on multiple host computers, IP Fragmentation should be taken into account. As ROS 2 documentation recommends, parameters for IP Fragmentation should be set as shown in the following example.

    sudo sysctl -w net.ipv4.ipfrag_time=3\nsudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728     # (128 MB)\n
    "},{"location":"installation/autoware/docker-installation-devel/","title":"Docker installation for development","text":""},{"location":"installation/autoware/docker-installation-devel/#docker-installation-for-development","title":"Docker installation for development","text":""},{"location":"installation/autoware/docker-installation-devel/#prerequisites","title":"Prerequisites","text":"
    • Git
    • For NVIDIA Jetson devices, install JetPack >= 5.0
    "},{"location":"installation/autoware/docker-installation-devel/#how-to-set-up-a-development-environment","title":"How to set up a development environment","text":"
    1. Clone autowarefoundation/autoware and move to the directory.

      git clone https://github.com/autowarefoundation/autoware.git\ncd autoware\n
    2. You can install the dependencies either manually or using the provided Ansible script.

    Note: Before installing NVIDIA libraries, confirm and agree with the licenses.

    • CUDA
    "},{"location":"installation/autoware/docker-installation-devel/#installing-dependencies-manually","title":"Installing dependencies manually","text":"
    • Install Nvidia CUDA
    • Install Docker Engine
    • Install NVIDIA Container Toolkit
    • Install rocker
    "},{"location":"installation/autoware/docker-installation-devel/#installing-dependencies-using-ansible","title":"Installing dependencies using Ansible","text":"

    Be very careful with this method. Make sure you read and confirmed all the steps in the Ansible configuration before using it.

    If you've manually installed the dependencies, you can skip this section.

    ./setup-dev-env.sh docker\n

    You might need to log out and log back to make the current user able to use docker.

    "},{"location":"installation/autoware/docker-installation-devel/#how-to-set-up-a-workspace","title":"How to set up a workspace","text":"

    Warning

    Before proceeding, confirm and agree with the NVIDIA Deep Learning Container license. By pulling and using the Autoware Universe images, you accept the terms and conditions of the license.

    1. Create the autoware_map directory for map data later.

      mkdir ~/autoware_map\n
    2. Pull the Docker image

      docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
    3. Launch a Docker container.

      • For amd64 architecture computers with NVIDIA GPU:

        rocker --nvidia --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
      • If you want to run container without using NVIDIA GPU, or for arm64 architecture computers:

        rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n

        For detailed reason could be found here

      For more advanced usage, see here.

      After that, move to the workspace in the container:

      cd autoware\n
    4. Create the src directory and clone repositories into it.

      mkdir src\nvcs import src < autoware.repos\n
    5. Update dependent ROS packages.

      The dependency of Autoware may change after the Docker image was created. In that case, you need to run the following commands to update the dependency.

      sudo apt update\nrosdep update\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    6. Build the workspace.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

      If there is any build issue, refer to Troubleshooting.

    "},{"location":"installation/autoware/docker-installation-devel/#how-to-update-a-workspace","title":"How to update a workspace","text":"
    1. Update the Docker image.

      docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
    2. Launch a Docker container.

      • For amd64 architecture computers:

        rocker --nvidia --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
      • If you want to run container without using NVIDIA GPU, or for arm64 architecture computers:

        rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
    3. Update the .repos file.

      cd autoware\ngit pull\n
    4. Update the repositories.

      vcs import src < autoware.repos\nvcs pull src\n
    5. Build the workspace.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"installation/autoware/docker-installation-prebuilt/","title":"Docker installation for quick start","text":""},{"location":"installation/autoware/docker-installation-prebuilt/#docker-installation-for-quick-start","title":"Docker installation for quick start","text":""},{"location":"installation/autoware/docker-installation-prebuilt/#how-to-set-up-a-development-environment","title":"How to set up a development environment","text":"
    1. Installing dependencies manually

      • Install Docker Engine
      • Install NVIDIA Container Toolkit
      • Install rocker
    "},{"location":"installation/autoware/docker-installation-prebuilt/#how-to-set-up-a-workspace","title":"How to set up a workspace","text":"
    1. Create the autoware_map directory for map data later.

      mkdir ~/autoware_map\n
    2. Launch a Docker container.

      rocker --nvidia --x11 --user --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:humble-latest-prebuilt\n

      For more advanced usage, see here.

    3. Run Autoware simulator

      Inside the container, you can run the Autoware simulation by following this tutorial:

      planning simulation

      rosbag replay simulation.

    "},{"location":"installation/autoware/docker-installation/","title":"Docker installation","text":""},{"location":"installation/autoware/docker-installation/#docker-installation","title":"Docker installation","text":"

    Info

    Since this page explains Docker-specific information, it is recommended to see Source installation as well if you need detailed information.

    Here are two ways to install Autoware by docker:

    • The first way is to start Autoware with prebuilt image, this is a quick start, this way you can only run Autoware simulator and not develop Autoware, it is only suitable for beginners
    • The second way is to start Autoware with devel image, which supports developing and running Autoware using docker
    "},{"location":"installation/autoware/docker-installation/#docker-installation-for-quick-start","title":"Docker installation for quick start","text":"

    docker installation for quick start

    "},{"location":"installation/autoware/docker-installation/#docker-installation-for-development","title":"Docker installation for development","text":"

    docker installation for development

    "},{"location":"installation/autoware/docker-installation/#troubleshooting","title":"Troubleshooting","text":"

    Here are solutions for a few specific errors:

    "},{"location":"installation/autoware/docker-installation/#cuda-error-forward-compatibility-was-attempted-on-non-supported-hw","title":"cuda error: forward compatibility was attempted on non supported hw","text":"

    When starting Docker with GPU support enabled for NVIDIA graphics, you may sometimes receive the following error:

    docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused \"process_linux.go:449: container init caused \\\"process_linux.go:432: running prestart hook 0 caused \\\\\\\"error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: cuda error: forward compatibility was attempted on non supported hw\\\\\\\\n\\\\\\\"\\\"\": unknown.\nERROR: Command return non-zero exit code (see above): 125\n

    This usually indicates that a new NVIDIA graphics driver has been installed (usually via apt) but the system has not yet been restarted. A similar message may appear if the graphics driver is not available, for example because of resuming after suspend.

    To fix this, restart your system after installing the new NVIDIA driver.

    "},{"location":"installation/autoware/docker-installation/#docker-with-nvidia-gpu-fails-to-start-autoware-on-arm64-devices","title":"Docker with NVIDIA gpu fails to start Autoware on arm64 devices","text":"

    When starting Docker with GPU support enabled for NVIDIA graphics on arm64 devices, e.g. NVIDIA jetson AGX xavier, you may receive the following error:

    nvidia@xavier:~$ rocker --nvidia --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda-arm64\n...\n\nCollecting staticx==0.12.3\nDownloading https://files.pythonhosted.org/packages/92/ff/d9960ea1f9db48d6044a24ee0f3d78d07bcaddf96eb0c0e8806f941fb7d3/staticx-0.12.3.tar.gz (68kB)\nComplete output from command python setup.py egg_info:\nTraceback (most recent call last):\nFile \"\", line 1, in\nFile \"/tmp/pip-install-m_nm8mya/staticx/setup.py\", line 4, in\nfrom wheel.bdist_wheel import bdist_wheel\nModuleNotFoundError: No module named 'wheel'\n\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-install-m_nm8mya/staticx/\n...\n

    This error exists in current version of rocker tool, which relates to the os_detection function of rocker.

    To fix this error, temporary modification of rocker source code is required, which is not recommended.

    At current stage, it is recommended to run docker without NVIDIA gpu enabled for arm64 devices:

    rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n

    This tutorial will be updated after official fix from rocker.

    "},{"location":"installation/autoware/docker-installation/#tips","title":"Tips","text":""},{"location":"installation/autoware/docker-installation/#non-native-arm64-system","title":"Non-native arm64 System","text":"

    This section describes a process to run arm64 systems on amd64 systems using qemu-user-static.

    Initially, your system is usually incompatible with arm64 systems. To check that:

    $ docker run --rm -t arm64v8/ubuntu uname -m\nWARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested\nstandard_init_linux.go:228: exec user process caused: exec format error\n

    Installing qemu-user-static enables us to run arm64 images on amd64 systems.

    $ sudo apt-get install qemu-user-static\n$ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes\n$ docker run --rm -t arm64v8/ubuntu uname -m\nWARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested\naarch64\n

    To run Autoware's Docker images of arm64 architecture, add the suffix -arm64.

    $ docker run --rm -it ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda-arm64\nWARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested\nroot@5b71391ad50f:/autoware#\n
    "},{"location":"installation/autoware/source-installation/","title":"Source installation","text":""},{"location":"installation/autoware/source-installation/#source-installation","title":"Source installation","text":""},{"location":"installation/autoware/source-installation/#prerequisites","title":"Prerequisites","text":"
    • OS

      • Ubuntu 22.04
    • ROS

      • ROS 2 Humble

      For ROS 2 system dependencies, refer to REP-2000.

    • Git
      • Registering SSH keys to GitHub is preferable.
    sudo apt-get -y update\nsudo apt-get -y install git\n

    Note: If you wish to use ROS 2 Galactic on Ubuntu 20.04, refer to installation instruction from galactic branch, but be aware that Galactic version of Autoware might not have latest features.

    "},{"location":"installation/autoware/source-installation/#how-to-set-up-a-development-environment","title":"How to set up a development environment","text":"
    1. Clone autowarefoundation/autoware and move to the directory.

      git clone https://github.com/autowarefoundation/autoware.git\ncd autoware\n
    2. If you are installing Autoware for the first time, you can automatically install the dependencies by using the provided Ansible script.

      ./setup-dev-env.sh\n

      If you encounter any build issues, please consult the Troubleshooting section for assistance.

    Info

    Before installing NVIDIA libraries, please ensure that you have reviewed and agreed to the licenses.

    • CUDA
    • cuDNN
    • TensorRT

    Note

    The following items will be automatically installed. If the ansible script doesn't work or if you already have different versions of dependent libraries installed, please install the following items manually.

    • Install ROS 2
    • Install ROS 2 Dev Tools
    • Install the RMW Implementation
    • Install pacmod
    • Install Autoware Core dependencies
    • Install Autoware Universe dependencies
    • Install pre-commit dependencies
    • Install Nvidia CUDA
    • Install Nvidia cuDNN and TensorRT

    If you didn't use ansible script you will need to download some package artifacts as explained in Manual loading of artifacts. Otherwise some packages (mostly from perception) will not be able to run as they need these artifacts for the inference.

    "},{"location":"installation/autoware/source-installation/#how-to-set-up-a-workspace","title":"How to set up a workspace","text":"
    1. Create the src directory and clone repositories into it.

      Autoware uses vcstool to construct workspaces.

      cd autoware\nmkdir src\nvcs import src < autoware.repos\n
    2. Install dependent ROS packages.

      Autoware requires some ROS 2 packages in addition to the core components. The tool rosdep allows an automatic search and installation of such dependencies. You might need to run rosdep update before rosdep install.

      source /opt/ros/humble/setup.bash\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    3. Build the workspace.

      Autoware uses colcon to build workspaces. For more advanced options, refer to the documentation.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

      If there is any build issue, refer to Troubleshooting.

    "},{"location":"installation/autoware/source-installation/#how-to-update-a-workspace","title":"How to update a workspace","text":"
    1. Update the .repos file.

      cd autoware\ngit pull <remote> <your branch>\n

      <remote> is usually git@github.com:autowarefoundation/autoware.git

    2. Update the repositories.

      vcs import src < autoware.repos\nvcs pull src\n

      For Git users:

      • vcs import is similar to git checkout.
        • Note that it doesn't pull from the remote.
      • vcs pull is similar to git pull.
        • Note that it doesn't switch branches.

      For more information, refer to the official documentation.

    3. Install dependent ROS packages.

      source /opt/ros/humble/setup.bash\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    4. Build the workspace.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"installation/related-tools/","title":"Installation of related tools","text":""},{"location":"installation/related-tools/#installation-of-related-tools","title":"Installation of related tools","text":"

    Warning

    Under Construction

    "},{"location":"models/","title":"Machine learning models","text":""},{"location":"models/#machine-learning-models","title":"Machine learning models","text":"

    The Autoware perception stack uses models for inference. These models are automatically downloaded if using ansible, but they can also be downloaded manually.

    "},{"location":"models/#onnx-model-files","title":"ONNX model files","text":""},{"location":"models/#download-instructions","title":"Download instructions","text":"

    The ONNX model files are stored in a common location, hosted by Web.Auto

    Any tool that can download files from the web (e.g. wget or curl) is the only requirement for downloading these files:

    # yabloc_pose_initializer\n\n$ mkdir -p ~/autoware_data/yabloc_pose_initializer/\n$ wget -P ~/autoware_data/yabloc_pose_initializer/ \\\nhttps://s3.ap-northeast-2.wasabisys.com/pinto-model-zoo/136_road-segmentation-adas-0001/resources.tar.gz\n\n\n# image_projection_based_fusion\n\n$ mkdir -p ~/autoware_data/image_projection_based_fusion/\n$ wget -P ~/autoware_data/image_projection_based_fusion/ \\\nhttps://awf.ml.dev.web.auto/perception/models/pointpainting/v4/pts_voxel_encoder_pointpainting.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/pointpainting/v4/pts_backbone_neck_head_pointpainting.onnx\n\n\n# lidar_apollo_instance_segmentation\n\n$ mkdir -p ~/autoware_data/lidar_apollo_instance_segmentation/\n$ wget -P ~/autoware_data/lidar_apollo_instance_segmentation/ \\\nhttps://awf.ml.dev.web.auto/perception/models/lidar_apollo_instance_segmentation/vlp-16.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/lidar_apollo_instance_segmentation/hdl-64.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/lidar_apollo_instance_segmentation/vls-128.onnx\n\n\n# lidar_centerpoint\n\n$ mkdir -p ~/autoware_data/lidar_centerpoint/\n$ wget -P ~/autoware_data/lidar_centerpoint/ \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_voxel_encoder_centerpoint.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_backbone_neck_head_centerpoint.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_voxel_encoder_centerpoint_tiny.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_backbone_neck_head_centerpoint_tiny.onnx\n\n\n# tensorrt_yolo\n\n$ mkdir -p ~/autoware_data/tensorrt_yolo/\n$ wget -P ~/autoware_data/tensorrt_yolo/ \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov3.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov4-tiny.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5s.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5m.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5l.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5x.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/coco.names\n\n\n# tensorrt_yolox\n\n$ mkdir -p ~/autoware_data/tensorrt_yolox/\n$ wget -P ~/autoware_data/tensorrt_yolox/ \\\nhttps://awf.ml.dev.web.auto/perception/models/yolox-tiny.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolox-sPlus-opt.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolox-sPlus-opt.EntropyV2-calibration.table \\\nhttps://awf.ml.dev.web.auto/perception/models/object_detection_yolox_s/v1/yolox-sPlus-T4-960x960-pseudo-finetune.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/object_detection_yolox_s/v1/yolox-sPlus-T4-960x960-pseudo-finetune.EntropyV2-calibration.table \\\nhttps://awf.ml.dev.web.auto/perception/models/label.txt\n\n\n# traffic_light_classifier\n\n$ mkdir -p ~/autoware_data/traffic_light_classifier/\n$ wget -P ~/autoware_data/traffic_light_classifier/ \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_mobilenetv2_batch_1.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_mobilenetv2_batch_4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_mobilenetv2_batch_6.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_efficientNet_b1_batch_1.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_efficientNet_b1_batch_4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_efficientNet_b1_batch_6.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/lamp_labels.txt\n\n\n# traffic_light_fine_detector\n\n$ mkdir -p ~/autoware_data/traffic_light_fine_detector/\n$ wget -P ~/autoware_data/traffic_light_fine_detector/ \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_yolox_s_batch_1.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_yolox_s_batch_4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_yolox_s_batch_6.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_labels.txt\n\n\n# traffic_light_ssd_fine_detector\n\n$ mkdir -p ~/autoware_data/traffic_light_ssd_fine_detector/\n$ wget -P ~/autoware_data/traffic_light_ssd_fine_detector/ \\\nhttps://awf.ml.dev.web.auto/perception/models/mb2-ssd-lite-tlr.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/voc_labels_tl.txt\n
    "},{"location":"reference-hw/","title":"Reference HW Design","text":""},{"location":"reference-hw/#reference-hw-design","title":"Reference HW Design","text":"

    This document is created to describe and give additional information of the sensors and systems supported by Autoware.Universe software.

    All equipment listed in this document has available ROS 2 drivers and has been tested by one or more of the community members on field in autonomous vehicle and robotics applications.

    The listed sensors and systems are not sold, developed or given direct technical support by the Autoware community. Having said that any ROS 2 and Autoware related issue regarding the hardware usage could be asked using the community guidelines which found here.

    The documents consists of the sections listed below:

    • AD COMPUTERs

      • ADLINK In-Vehicle Computers
        • NXP In-Vehicle Computers
        • Neousys In-Vehicle Computers
        • Crystal Rugged In-Vehicle Computers
    • LiDARs

      • Velodyne 3D LiDAR Sensors
      • Robosense 3D LiDAR Sensors
      • HESAI 3D LiDAR Sensors
      • Leishen 3D LiDAR Sensors
      • Livox 3D LiDAR Sensors
      • Ouster 3D LiDAR Sensors
    • RADARs

      • Smartmicro Automotive Radars
      • Aptiv Automotive Radars
      • Continental Engineering Radars
    • CAMERAs

      • FLIR Machine Vision Cameras
      • Lucid Vision Cameras
      • Allied Vision Cameras
      • Tier IV Cameras
      • Neousys Technology Cameras
    • Thermal CAMERAs

      • FLIR Thermal Automotive Dev. Kit
    • IMU, AHRS & GNSS/INS

      • NovAtel GNSS/INS Sensors
      • XSens GNSS/INS & IMU Sensors
      • SBG GNSS/INS & IMU Sensors
      • Applanix GNSS/INS Sensors
      • PolyExplore GNSS/INS Sensors
      • Fix Position GNSS/INS Sensors
    • Vehicle Drive By Wire Suppliers

      • Dataspeed DBW Solutions
      • AStuff Pacmod DBW Solutions
      • Schaeffler-Paravan Space Drive DBW Solutions
    • Vehicle Platform Suppliers

      • PIX MOVING Autonomous Vehicle Solutions
      • Autonomoustuff AV Solutions
      • NAVYA AV Solutions
    • Remote Drive

      • FORT ROBOTICS
      • LOGITECH
    • Full Drivers List
    • AD Sensor Kit Suppliers

      • LEO Drive AD Sensor Kit
      • TIER IV AD Kit
      • RoboSense AD Sensor Kit
    "},{"location":"reference-hw/ad-computers/","title":"AD Computers","text":""},{"location":"reference-hw/ad-computers/#ad-computers","title":"AD Computers","text":""},{"location":"reference-hw/ad-computers/#adlink-in-vehicle-computers","title":"ADLINK In-Vehicle Computers","text":"

    ADLINK solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) AVA-3510 Intel\u00ae Xeon\u00ae E-2278GE Dual MXM RTX 5000 64GB RAM,CAN, USB, 10G Ethernet, DIO, Hot-Swap SSD, USIM 9~36 VDC, MIL-STD-810H,ISO 7637-2 Y SOAFEE\u2019s AVA Developer Platform Ampere Altra ARMv8 optional USB, Ethernet, DIO, M.2 NVMe SSDs 110/220 AC Y RQX-58G 8-core Arm Nvidia Jetson AGX Xavier USB, Ethernet, M.2 NVME SSD, CAN, USIM, GMSL2 Camera support 9~36VDC, IEC 60068-2-64: Operating 3Grms, 5-500 Hz, 3 axes Y RQX-59G 8-core Arm Nvidia Jetson AGX Orin USB, Ethernet, M.2 NVME SSD, CAN, USIM, GMSL2 Camera support 9~36VDC, IEC 60068-2-64: Operating 3Grms, 5-500 Hz, 3 axes -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#nxp-in-vehicle-computers","title":"NXP In-Vehicle Computers","text":"

    NXP solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) BLUEBOX 3.0 16 x Arm\u00ae Cortex\u00ae-A72 Dual RTX 8000 or RTX A6000 16 GB RAM CAN, FlexRay, USB, Ethernet, DIO, SSD ASIL-D -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#neousys-in-vehicle-computers","title":"Neousys In-Vehicle Computers","text":"

    Neousys solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) 8805-GC AMD\u00ae EPYC\u2122 7003 NVIDIA\u00ae RTX A6000/ A4500 512GB CAN, USB, Ethernet, Serial, Easy-Swap SSD 8-48 Volt, Vibration:MIL-STD810G, Method 514.6, Category 4 Y 10208-GC Intel\u00ae 13th/12th-Gen Core\u2122 Dual 350W NVIDIA\u00ae RTX GPU 64GB CAN, USB, Ethernet, Serial, M2 NVMe SSD 8~48 Volt, Vibration: MIL-STD-810H, Method 514.8, Category 4 Y 9160-GC Intel\u00ae 13th/12th-Gen Core\u2122 NVIDIA\u00ae RTX series up to 130W TDP 64GB CAN, USB, Ethernet, PoE, Serial, two 2.5\" SATA HDD/SSD with RAID, M2 NVMe SSD 8~48, Vibration: Volt,MIL-STD-810G, Method 514.6, Category 4 -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#crystal-rugged-in-vehicle-computers","title":"Crystal Rugged In-Vehicle Computers","text":"

    Crystal Rugged solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) AVC 0161-AC Intel\u00ae Xeon\u00ae Scalable Dual GPU RTX Series 2TB RAM,CAN, USB, Ethernet, Serial, Hot-Swap SSD 10-32 VoltVibration:2 G RMS 10-1000 Hz, 3 axes - AVC0403 Intel\u00ae Xeon\u00ae Scalable or AMD EPYC\u2122 Optional (5 GPU) 2TB RAM, CAN, USB, Ethernet, Serial, Hot-Swap SSD 10-32 Volt, Vibration: 2 G RMS 10-1000 Hz, 3 axes - AVC1322 Intel\u00ae Xeon\u00ae D-1718T or Gen 12/13 Core\u2122 i3/i5/i7 NVIDIA\u00ae Jetson AGX Orin 128 GB DDR4 RAM, USB, Ethernet, Serial, SATA 2.5\u201d SSD 10-36 Volt, Vibration: 5.5g, 5-2,000Hz, 60 min/axis, 3 axis - AVC1753 10th Generation Intel\u00ae Core\u2122 and Xeon\u00ae Optional (1 GPU) 128 GB DDR4 RAM, USB, Ethernet, NVMe U.2 SSD/ 3 SATA SSD 8-36 VDC/ 120-240VAC 50/60Hz, Vibration: 5.5g, 5-2,000Hz, 60 min/axis, 3 axis -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#vecow-in-vehicle-computers","title":"Vecow In-Vehicle Computers","text":"

    Vecow solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) ECX-3800 PEG Intel\u00ae 13th/12th-Gen Core\u2122 200W power of NVIDIA\u00ae or AMD graphics 64GB RAM, CAN, USB, Ethernet, PoE, Serial, M.2/SATA SSD, SIM Card 12-50 Volt, Vibration:MIL-STD810G, Procedure I, 20\u00b0C to 45\u00b0C - IVX-1000 Intel\u00ae 13th/12th-Gen Core\u2122 NVIDIA Quadro\u00ae MXM Graphics 64GB RAM, Ethernet, PoE, Serial, M.2/SATA/mSATA SSD, SIM Card 16-160 Volt, Vibration: IEC 61373 : 2010, 40\u00b0C to 85\u00b0C -

    Link to company website is here.

    "},{"location":"reference-hw/ad_sensor_kit_suppliers/","title":"AD Sensor Kit Suppliers","text":""},{"location":"reference-hw/ad_sensor_kit_suppliers/#ad-sensor-kit-suppliers","title":"AD Sensor Kit Suppliers","text":""},{"location":"reference-hw/ad_sensor_kit_suppliers/#leo-drive-ad-sensor-kit","title":"LEO Drive AD Sensor Kit","text":"

    LEO Drive Autonomy Essentials Kit contents are listed below:

    Supported Products List Camera Lidar GNSS/INS ROS 2 Support Autoware Tested (Y/N) Autonomy Essentials Kit 8x Lucid Vision TRI054S 4x Velodyne Puck1x Velodyne Alpha Prime1x RoboSense Bpearl 1x SBG Ellipse-D Y Y

    Link to company website: https://leodrive.ai/

    "},{"location":"reference-hw/ad_sensor_kit_suppliers/#tier-iv-ad-kit","title":"TIER IV AD Kit","text":"

    TIER IV sensor fusion system contents are listed below:

    Supported Products List Camera Lidar ECU ROS 2 Support Autoware Tested (Y/N) TIER IV ADK TIER IV C1, C2 HESAI (AT-128,XT-32)Velodyne ADLINK (RQX-58G, AVA-3510) Y Y

    Link to company website: https://sensor.tier4.jp/sensor-fusion-system

    "},{"location":"reference-hw/ad_sensor_kit_suppliers/#robosense-ad-sensor-kit","title":"RoboSense AD Sensor Kit","text":"

    RoboSense L4 sensor fusion solution system contents are listed below:

    Supported Products List Camera Lidar ECU ROS 2 Support Autoware Tested (Y/N) P6 - 4x Automotive Grade Solid-state Lidar Optional - -

    Link to company website: https://www.robosense.ai/en/rslidar/RS-Fusion-P6

    "},{"location":"reference-hw/cameras/","title":"CAMERAs","text":""},{"location":"reference-hw/cameras/#cameras","title":"CAMERAs","text":""},{"location":"reference-hw/cameras/#tier-iv-automotive-hdr-cameras","title":"TIER IV Automotive HDR Cameras","text":"

    TIER IV's Automotive HDR cameras which have ROS 2 driver and tested by TIER IV are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) C1 2.5 30 GMSL2 / USB3 Y (120dB) Y Y IP69K Y Y C2 5.4 30 GMSL2 / USB3 Y (120dB) Y Y IP69K Y Y C3 (to be released in 2024) 8.3 30 GMSL2 / TBD Y (120dB) Y Y IP69K Y Y

    Link to ROS 2 driver: https://github.com/tier4/ros2_v4l2_camera

    Link to product support site: TIER IV Edge.Auto documentation

    Link to product web site: TIER IV Automotive Camera Solution

    "},{"location":"reference-hw/cameras/#flir-machine-vision-cameras","title":"FLIR Machine Vision Cameras","text":"

    FLIR Machine Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) Blackfly S 2.0 5.0 22 95 USB-GigE N/A N/A Y N/A Y - Grasshopper3 2.3 5.0 26 90 USB-GigE N/A N/A Y N/A Y -

    Link to ROS 2 driver: https://github.com/berndpfrommer/flir_spinnaker_ros2

    Link to company website: https://www.flir.eu/iis/machine-vision/

    "},{"location":"reference-hw/cameras/#lucid-vision-cameras","title":"Lucid Vision Cameras","text":"

    Lucid Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) TRITON 054S 5.4 22 GigE Y Y Y up to IP67 Y Y TRITON 032S 3.2 35.4 GigE N/A N/A Y up to IP67 Y Y

    Link to ROS 2 driver: https://gitlab.com/leo-drive/Drivers/arena_camera Link to company website: https://thinklucid.com/triton-gige-machine-vision/

    "},{"location":"reference-hw/cameras/#allied-vision-cameras","title":"Allied Vision Cameras","text":"

    Allied Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) Mako G319 3.2 37.6 GigE N/A N/A Y N/A Y -

    Link to ROS 2 driver: https://github.com/neil-rti/avt_vimba_camera

    Link to company website: https://www.alliedvision.com/en/products/camera-series/mako-g

    "},{"location":"reference-hw/cameras/#neousys-technology-camera","title":"Neousys Technology Camera","text":"

    Neousys Technology cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface Sensor Format Lens ROS 2 Driver Autoware Tested (Y/N) AC-IMX390 2.0 30 GMSL2 (over PCIe-GL26 Grabber Card) 1/2.7\u201d 5-axis active adjustment with adhesive dispense Y Y

    Link to ROS 2 driver: https://github.com/ros-drivers/gscam

    Link to company website: https://www.neousys-tech.com/en/

    "},{"location":"reference-hw/full_drivers_list/","title":"Drivers List","text":""},{"location":"reference-hw/full_drivers_list/#drivers-list","title":"Drivers List","text":"

    The list of all drivers listed above for easy access as a table with additional information:

    Type Maker Driver links License Maintainer Lidar VelodyneHesai Link Apache 2 david.wong@tier4.jpabraham.monrroy@map4.jp Lidar Velodyne Link BSD jwhitley@autonomoustuff.com Lidar Robosense Link BSD zdxiao@robosense.cn Lidar Hesai Link Apache 2 wuxiaozhou@hesaitech.com Lidar Leishen Link - - Lidar Livox Link MIT dev@livoxtech.com Lidar Ouster Link Apache 2 stevenmacenski@gmail.comtom@boxrobotics.ai Radar smartmicro Link Apache 2 opensource@smartmicro.de Radar Continental Engineering Link Apache 2 abraham.monrroy@tier4.jpsatoshi.tanaka@tier4.jp Camera Flir Link Apache 2 bernd.pfrommer@gmail.com Camera Lucid Vision Link - kcolak@leodrive.ai Camera Allied Vision Link Apache 2 at@email.com Camera Tier IV Link GPL - Camera Neousys Technology Link BSD jbo@jhu.edu GNSS NovAtel Link BSD preed@swri.org GNSS SBG Systems Link MIT support@sbg-systems.com GNSS PolyExplore Link - support@polyexplore.com"},{"location":"reference-hw/imu_ahrs_gnss_ins/","title":"IMU, AHRS & GNSS/INS","text":""},{"location":"reference-hw/imu_ahrs_gnss_ins/#imu-ahrs-gnssins","title":"IMU, AHRS & GNSS/INS","text":""},{"location":"reference-hw/imu_ahrs_gnss_ins/#novatel-gnssins-sensors","title":"NovAtel GNSS/INS Sensors","text":"

    NovAtel GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) PwrPak7D-E2 200 Hz R (0.013\u00b0)P (0.013\u00b0)Y (0.070\u00b0) 20 HzL1 / L2 / L5 555 Channels Y - Span CPT7 200 Hz R (0.01\u00b0)\u00a0P (0.01\u00b0)\u00a0Y (0.03\u00b0) 20 Hz L1 / L2 / L5 555 Channels Y -

    Link to ROS 2 driver: https://github.com/swri-robotics/novatel_gps_driver/tree/dashing-devel

    Link to company website: https://hexagonpositioning.com/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#xsens-gnssins-imu-sensors","title":"XSens GNSS/INS & IMU Sensors","text":"

    XSens GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) MTi-680G 2 kHz R (0.2\u00b0)P (0.2\u00b0)Y (0.5\u00b0) 5 HzL1 / L2\u00a0184 Channels Y - MTi-300 AHRS 2 kHz R (0.2\u00b0)P (0.2\u00b0)Y (1\u00b0) Not Applicable Y -

    Link to ROS 2 driver: http://wiki.ros.org/xsens_mti_driver

    Link to company website: https://www.xsens.com/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#sbg-gnssins-imu-sensors","title":"SBG GNSS/INS & IMU Sensors","text":"

    SBG GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) Ellipse-D 200 Hz, 1 kHz (IMU) R (0.1\u00b0)P (0.1\u00b0)Y (0.05\u00b0) 5 HzL1 / L2184 Channels Y Y Ellipse-A (AHRS) 200 Hz, 1 kHz (IMU) R (0.1\u00b0)P (0.1\u00b0)Y (0.8\u00b0) Not Applicable Y -

    Link to ROS 2 driver: https://github.com/SBG-Systems/sbg_ros2

    Link to company website: https://www.sbg-systems.com/products/ellipse-series/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#applanix-gnssins-sensors","title":"Applanix GNSS/INS Sensors","text":"

    SBG GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) POSLVX 200 Hz R (0.03\u00b0)P (0.03\u00b0)Y (0.09\u00b0) L1 / L2 / L5336 Channels Y Y POSLV220 200 Hz R (0.02\u00b0)P (0.02\u00b0)Y (0.05\u00b0) L1 / L2 / L5336 Channels Y Y

    Link to ROS 2 driver: http://wiki.ros.org/applanix_driver

    Link to company website: https://www.applanix.com/products/poslv.htm

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#polyexplore-gnssins-sensors","title":"PolyExplore GNSS/INS Sensors","text":"

    PolyExplore GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) POLYNAV 2000P 100 Hz R (0.01\u00b0)P (0.01\u00b0)Y (0.1\u00b0) L1 / L2240 Channels Y - POLYNAV 2000S 100 Hz R (0.015\u00b0)P (0.015\u00b0)Y (0.08\u00b0) L1 / L240 Channels Y -

    Link to ROS 2 driver: https://github.com/polyexplore/ROS2_Driver

    Link to company website: https://www.polyexplore.com/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#fix-position-gnssins-sensors","title":"Fix Position GNSS/INS Sensors","text":"Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) Vision-RTK 2 200Hz - 5 HzL1 / L2 Y -

    Link to ROS 2 driver: https://github.com/fixposition/fixposition_driver

    Link to company website: https://www.fixposition.com/

    "},{"location":"reference-hw/lidars/","title":"LIDARs","text":""},{"location":"reference-hw/lidars/#lidars","title":"LIDARs","text":""},{"location":"reference-hw/lidars/#velodyne-3d-lidar-sensors","title":"Velodyne 3D LIDAR Sensors","text":"

    Velodyne Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) Alpha Prime 245m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y Ultra Puck 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y Puck 100m (+15\u00b0)/(-15\u00b0), (360\u00b0) Y Y Puck Hi-res 100m (+10\u00b0)/(-10\u00b0), (360\u00b0) Y Y

    Link to ROS 2 drivers: https://github.com/tier4/nebula https://github.com/ros-drivers/velodyne/tree/ros2/velodyne_pointcloud https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto/-/tree/master/src/drivers/velodyne_nodes https://github.com/autowarefoundation/awf_velodyne/tree/tier4/universe

    Link to company website: https://velodynelidar.com/

    "},{"location":"reference-hw/lidars/#robosense-3d-lidar-sensors","title":"RoboSense 3D LIDAR Sensors","text":"

    RoboSense Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) M1 200m 25\u00b0/120\u00b0 - - E1 30m 90\u00b0/120\u00b0 - - Bpearl 100m 90\u00b0/360\u00b0 Y Y Ruby Plus 250m 40\u00b0/360\u00b0 Y ? Helios 32 150m 70\u00b0/360\u00b0 31\u00b0/360\u00b0 26\u00b0/360\u00b0 Y Y Helios 16 150m 30\u00b0/360\u00b0 Y ?

    Link to ROS 2 driver: https://github.com/RoboSense-LiDAR/rslidar_sdk

    Link to company website: https://www.robosense.ai/

    "},{"location":"reference-hw/lidars/#hesai-3d-lidar-sensors","title":"HESAI 3D LIDAR Sensors","text":"

    Hesai Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) Pandar 128 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y - Pandar 64 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y Pandar 40P 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y QT 128 50m (-52.6\u00b0/+52.6\u00b0), (360\u00b0) Y Y QT 64 20m (-52.1\u00b0/+52.1\u00b0), (360\u00b0) Y Y AT128 200m (25.4\u00b0), (120\u00b0) Y Y XT32 120m (-16\u00b0/+15\u00b0), (360\u00b0) Y Y XT16 120m (-15\u00b0/+15\u00b0), (360\u00b0) Y - FT120 100m (75\u00b0), (100\u00b0) - - ET25 250m (25\u00b0), (120\u00b0) - -

    Link to ROS 2 drivers: https://github.com/tier4/nebula https://github.com/HesaiTechnology/HesaiLidar_General_ROS

    Link to company website: https://www.hesaitech.com/en/

    "},{"location":"reference-hw/lidars/#leishen-3d-lidar-sensors","title":"Leishen 3D LIDAR Sensors","text":"

    Leishen Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) LS C16 150m (+15\u00b0/-15\u00b0), (360\u00b0) Y - LS C32\u00a0 150m (+15\u00b0/-15\u00b0), (360\u00b0) Y - CH 32 120m (+3.7\u00b0/-6.7\u00b0),(120\u00b0) Y - CH 128 20m (+14\u00b0/-17\u00b0)/(150\u00b0) Y - C32W 160m (+15\u00b0/-55\u00b0), (360\u00b0) Y -

    Link to ROS 2 driver: https://github.com/leishen-lidar

    Link to company website: http://www.lslidar.com/

    "},{"location":"reference-hw/lidars/#livox-3d-lidar-sensors","title":"Livox 3D LIDAR Sensors","text":"

    Livox Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) Horizon 260m (81.7\u00b0), (25.1\u00b0) Y Y Mid-40 260m (38.4\u00b0), Circular Y - Mid-70 90m (70.4\u00b0), (77.2\u00b0) Y - Mid-100 260m (38.4\u00b0), (98.4\u00b0) Y - Mid-360 70m (+52\u00b0/-7\u00b0), (360\u00b0) Y - Avia 190m (70.4\u00b0), Circular Y - HAP 150m (25\u00b0), (120\u00b0) - - Tele-15 320m (16.2\u00b0), (14.5\u00b0) - -

    Link to ROS 2 driver: https://github.com/Livox-SDK/livox_ros2_driver

    Link to company website: https://www.livoxtech.com/

    "},{"location":"reference-hw/lidars/#ouster-3d-lidar-sensors","title":"Ouster 3D LIDAR Sensors","text":"

    Ouster Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) OSDome 45m (180\u00b0), (360\u00b0) Y - OS0 100m (90\u00b0), (360\u00b0) Y - OS1 200m (45\u00b0), (360\u00b0) Y - OS2 400m (22,5\u00b0), (360\u00b0) Y Y

    Link to ROS 2 driver: https://github.com/ros-drivers/ros2_ouster_drivers

    Link to company website: https://ouster.com/

    "},{"location":"reference-hw/radars/","title":"RADARs","text":""},{"location":"reference-hw/radars/#radars","title":"RADARs","text":""},{"location":"reference-hw/radars/#smartmicro-automotive-radars","title":"Smartmicro Automotive Radars","text":"

    Smartmicro Radars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (Azimuth), (Elevation) ROS 2 Driver Autoware Tested (Y/N) DRVEGRD 152 (Dual Mode Medium, Long) M: 0.33...66 m L: 0.9\u2026180 m (100\u00b0), (20\u00b0) Y - DRVEGRD 169 (Ultra-Short, Short, Medium, Long) US: 0.1\u20269.5 m S: 0.2\u202619 m M: 0.6...56 m L: 1.3...130 m US: (140\u00b0), (28\u00b0) S/M/L: (130\u00b0), (15\u00b0) Y - DRVEGRD 171 (Triple Mode Short, Medium Long) S: 0.2...40 m M: 0.5...100 m L: 1.2...240 m (100\u00b0), (20\u00b0) Y -

    Link to ROS 2 driver: https://github.com/smartmicro/smartmicro_ros2_radars

    Link to company website: https://www.smartmicro.com/automotive-radar

    "},{"location":"reference-hw/radars/#aptiv-automotive-radars","title":"Aptiv Automotive Radars","text":"

    Aptiv Radars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (Azimuth), (Elevation) ROS 2 Driver Autoware Tested (Y/N) Aptiv MMR (Dual Mode Short, Long) S: 1...40 m L: 3...160 m Short.: (90), (90\u00b0) Long: (90\u00b0), (90\u00b0) Y - Aptiv ESR 2.5 (Dual Mode (Medium, Long)) M: 1...60 m L: 1...175 m Med.: (90\u00b0), (4.4\u00b0) Long: (20\u00b0), (4.4\u00b0) Y -

    Link to company website: https://autonomoustuff.com/products

    "},{"location":"reference-hw/radars/#continental-engineering-radars","title":"Continental Engineering Radars","text":"

    Continental Engineering Radars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (Azimuth), (Elevation) ROS 2 Driver Autoware Tested (Y/N) ARS404 Near: 70m Far: 170m Near: (90\u00b0), (18\u00b0) Far: (18\u00b0), (18\u00b0) - - ARS408 Near: 20m Far: 250m Near: (120\u00b0), (20\u00b0) Far: (18\u00b0), (14\u00b0) - -

    Link to ROS 2 driver: https://github.com/tier4/ars408_driver

    Link to company website: https://conti-engineering.com/components/ars430/

    "},{"location":"reference-hw/remote_drive/","title":"Remote Drive","text":""},{"location":"reference-hw/remote_drive/#remote-drive","title":"Remote Drive","text":""},{"location":"reference-hw/remote_drive/#fort-robotics","title":"FORT ROBOTICS","text":"

    Fort Robotics remote control & E-stop devices which are used for autonomous driving and tested by one or more community members are listed below:

    Supported Products Op.Frequency Controller ROS 2 Support Autoware Tested (Y/N) Vehicle Safety Controller with E-stop 900 Mhz radio: up to 2km LOS2.4Ghz radio: up to 500m LOS IP 66 EnclosureBuilt-in emergency stop safety control(2) 2-axis joysticks(2) 1-axis finger sticks(8) buttons - -

    Link to company website: https://fortrobotics.com/vehicle-safety-controller/

    "},{"location":"reference-hw/remote_drive/#logitech","title":"LOGITECH","text":"

    Logitech joysticks which are used for autonomous driving and tested by one or more community members are listed below:

    Supported Products Op.Frequency Controller ROS 2 Support Autoware Tested (Y/N) Logitech F-710 2.4 GHz Wireless, 10m range (2) 2-axis joysticks (18) buttons Y Y

    Link to ROS driver: http://wiki.ros.org/joy

    Link to company website: https://www.logitechg.com/en-us/products/gamepads/f710-wireless-gamepad.html

    "},{"location":"reference-hw/thermal_cameras/","title":"Thermal CAMERAs","text":""},{"location":"reference-hw/thermal_cameras/#thermal-cameras","title":"Thermal CAMERAs","text":""},{"location":"reference-hw/thermal_cameras/#flir-thermal-automotive-dev-kit","title":"FLIR Thermal Automotive Dev. Kit","text":"

    FLIR ADK Thermal Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface Spectral Band FOV ROS 2 Driver Autoware Tested (Y/N) FLIR ADK 640x512 30 USB-GMSL,Ethernet 8-14 um (LWIR) 75\u02da, 50\u02da, 32\u02da, and 24\u02da - -"},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/","title":"Vehicle Drive By Wire Suppliers","text":""},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#vehicle-drive-by-wire-suppliers","title":"Vehicle Drive By Wire Suppliers","text":""},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#dataspeed-dbw-solutions","title":"Dataspeed DBW Solutions","text":"

    Dataspeed DBW Controllers which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Vehicles Power Remote Control ROS 2 Support Autoware Tested (Y/N) Lincoln MKZ, NautilusFord Fusion, F150, Transit Connect, RangerChrysler PacificaJeep CherokeePolaris GEM, RZR, Lincoln Aviator, Jeep Grand Cherokee 12 Channel PDS,15 A Each at 12 V Optional, Available Y -

    Link to company website: https://www.dataspeedinc.com/

    "},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#astuff-pacmod-dbw-solutions","title":"AStuff Pacmod DBW Solutions","text":"

    Autonomous Stuff Pacmod DBW Controllers which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Vehicles Power Remote Control ROS 2 Support Autoware Tested (Y/N) Polaris GEM SeriesPolaris eLXD MY 2016+Polaris Ranger X900International ProStarLexus RX-450h MYFord RangerToyota MinivanFord TransitHonda CR-V Power distribution panel Optional, Available Y Y

    Link to company website: https://autonomoustuff.com/platform/pacmod

    "},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#schaeffler-paravan-space-drive-dbw-solutions","title":"Schaeffler-Paravan Space Drive DBW Solutions","text":"

    Schaeffler-Paravan Space Drive DBW Controllers which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Vehicles Power Remote Control ROS 2 Support Autoware Tested (Y/N) Custom Integration with Actuators - Optional, Available Y Y

    Link to company website: https://www.schaeffler-paravan.de/en/products/space-drive-system/

    "},{"location":"reference-hw/vehicle_platform_suppliers/","title":"Vehicle Platform Suppliers","text":""},{"location":"reference-hw/vehicle_platform_suppliers/#vehicle-platform-suppliers","title":"Vehicle Platform Suppliers","text":""},{"location":"reference-hw/vehicle_platform_suppliers/#pix-moving-autonomous-vehicle-solutions","title":"PIX MOVING Autonomous Vehicle Solutions","text":"

    PIX Moving AV solutions which is used for autonomous development and tested by one or more community members are listed below:

    Vehicle Types Sensors Integrated Autoware Installed ROS 2 Support Autoware Tested (Y/N) Electric DBW Chassis and Platforms Y Y Y -

    Link to company website: https://www.pixmoving.com/pixkit

    Different sizes of platforms

    "},{"location":"reference-hw/vehicle_platform_suppliers/#autonomoustuff-av-solutions","title":"Autonomoustuff AV Solutions","text":"

    Autonomoustuff platform solutions which is used for autonomous development and tested by one or more community members are listed below:

    Vehicle Types Sensors Integrated Autoware Installed ROS 2 Support Autoware Tested (Y/N) Road Vehicles, Golf Carts & Trucks Y Y Y -

    Link to company website: https://autonomoustuff.com/platform

    "},{"location":"support/","title":"Support","text":""},{"location":"support/#support","title":"Support","text":"

    This page explains several support resources.

    • Support guidelines pages explain the support mechanisms and guidelines.
    • Troubleshooting pages explain solutions for common issues.
    • Docs guide pages explain related documentation sites.
    "},{"location":"support/docs-guide/","title":"Docs guide","text":""},{"location":"support/docs-guide/#docs-guide","title":"Docs guide","text":"

    This page explains several documentation sites that are useful for Autoware and ROS development.

    • The Autoware Foundation is the official site of the Autoware Foundation. You can learn about the Autoware community here.
    • Autoware Documentation (this site) is the central documentation site for Autoware maintained by the Autoware community. General software-related information of Autoware is aggregated here.
    • Autoware Universe Documentation has READMEs and design documents of software components.
    • ROS Docs Guide explains the ROS 1 and ROS 2 documentation infrastructure.
    "},{"location":"support/support-guidelines/","title":"Support guidelines","text":""},{"location":"support/support-guidelines/#support-guidelines","title":"Support guidelines","text":"

    This page explains the support mechanisms we provide.

    Warning

    Before asking for help, search and read this documentation site carefully. Also, follow the discussion guidelines for discussions.

    Choose appropriate resources depending on what kind of help you need and read the detailed description in the sections below.

    • Documentation sites
      • Various information
    • GitHub Discussions
      • Questions
      • Unconfirmed bugs
      • Feature requests
      • Design discussions
    • GitHub Issues
      • Confirmed bugs
    • Discord
      • Instant messaging between contributors
    • ROS Discourse
      • General topics that should be widely announced
    "},{"location":"support/support-guidelines/#documentation-sites","title":"Documentation sites","text":"

    Docs guide shows the list of useful documentation sites. Visit them and see if there is any information related to your problem.

    Note that the documentation sites aren't always up-to-date and perfect. If you find out that some information is wrong, unclear, or missing in Autoware docs, feel free to submit a pull request following the contribution guidelines.

    Warning

    Since this documentation site is still under construction, there are some empty pages.

    "},{"location":"support/support-guidelines/#github-discussions","title":"GitHub Discussions","text":"

    If you encounter a problem with Autoware, check existing issues and questions and search for similar issues first.

    • Issues

      Note that Autoware has multiple repositories listed in autoware.repos. It is recommended to search across the repositories.

    • Questions

    If no answer was found, create a new question thread here. If your question is not answered within a week, then @mention the maintainers to remind them.

    Also, there are other discussion types such as feature requests or design discussions. Feel free to open or join such discussions.

    If you don't know how to create a discussion, refer to GitHub Docs.

    "},{"location":"support/support-guidelines/#github-issues","title":"GitHub Issues","text":"

    If you have a problem and you have confirmed it is a bug, find the appropriate repository and create a new issue there. If you can't determine the appropriate repository, ask the maintainers for help by creating a new discussion in the Q&A category.

    Warning

    Do not create issues for questions or unconfirmed bugs. If such issues are created, maintainers will transfer them to GitHub Discussions.

    If you want to fix the bug by yourself, discuss the approach with maintainers and submit a pull request.

    "},{"location":"support/support-guidelines/#discord","title":"Discord","text":"

    Autoware has a Discord server for casual communication between contributors.

    The Autoware Discord server is a good place for the following activities:

    • Introduce yourself to the community.
    • Chat with contributors.
    • Take a quick straw poll.

    Note that it is not the right place to get help for your issues.

    "},{"location":"support/support-guidelines/#ros-discourse","title":"ROS Discourse","text":"

    If you want to widely discuss a topic with the general Autoware and ROS community or ask a question not related to Autoware's bugs, post to the Autoware category on ROS Discourse.

    Warning

    Do not post questions about bugs to ROS Discourse!

    "},{"location":"support/troubleshooting/","title":"Troubleshooting","text":""},{"location":"support/troubleshooting/#troubleshooting","title":"Troubleshooting","text":""},{"location":"support/troubleshooting/#setup-issues","title":"Setup issues","text":""},{"location":"support/troubleshooting/#cuda-related-errors","title":"CUDA-related errors","text":"

    When installing CUDA, errors may occur because of version conflicts. To resolve these types of errors, try one of the following methods:

    • Unhold all CUDA-related libraries and rerun the setup script.

      sudo apt-mark unhold  \\\n\"cuda*\"             \\\n\"libcudnn*\"         \\\n\"libnvinfer*\"       \\\n\"libnvonnxparsers*\" \\\n\"libnvparsers*\"     \\\n\"tensorrt*\"         \\\n\"nvidia*\"\n\n./setup-dev-env.sh\n
    • Uninstall all CUDA-related libraries and rerun the setup script.

      sudo apt purge        \\\n\"cuda*\"             \\\n\"libcudnn*\"         \\\n\"libnvinfer*\"       \\\n\"libnvonnxparsers*\" \\\n\"libnvparsers*\"     \\\n\"tensorrt*\"         \\\n\"nvidia*\"\n\nsudo apt autoremove\n\n./setup-dev-env.sh\n

    Warning

    Note that this may break your system and run carefully.

    • Run the setup script without installing CUDA-related libraries.

      ./setup-dev-env.sh --no-nvidia\n

    Warning

    Note that some components in Autoware Universe require CUDA, and only the CUDA version in the env file is supported at this time. Autoware may work with other CUDA versions, but those versions are not supported and functionality is not guaranteed.

    "},{"location":"support/troubleshooting/#build-issues","title":"Build issues","text":""},{"location":"support/troubleshooting/#insufficient-memory","title":"Insufficient memory","text":"

    Building Autoware requires a lot of memory, and your machine can freeze or crash if memory runs out during a build. To avoid this problem, 16-32GB of swap should be configured.

    # Optional: Check the current swapfile\nfree -h\n\n# Remove the current swapfile\nsudo swapoff /swapfile\nsudo rm /swapfile\n\n# Create a new swapfile\nsudo fallocate -l 32G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\n\n# Optional: Check if the change is reflected\nfree -h\n

    For more detailed configuration steps, along with an explanation of swap, refer to Digital Ocean's \"How To Add Swap Space on Ubuntu 20.04\" tutorial

    If there are too many CPU cores (more than 64) in your machine, it might requires larger memory. A workaround here is to limit the job number while building.

    MAKEFLAGS=\"-j4\" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

    You can adjust -j4 to any number based on your system. For more details, see the manual page of GNU make.

    By reducing the number of packages built in parallel, you can also reduce the amount of memory used. In the following example, the number of packages built in parallel is set to 1, and the number of jobs used by make is limited to 1.

    MAKEFLAGS=\"-j1\" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 1\n

    Note

    By lowering both the number of packages built in parallel and the number of jobs used by make, you can reduce the memory usage. However, this also means that the build process takes longer.

    "},{"location":"support/troubleshooting/#errors-when-using-the-latest-version-of-autoware","title":"Errors when using the latest version of Autoware","text":"

    If you are working with the latest version of Autoware, issues can occur due to out-of-date software or old build files.

    To resolve these types of problems, first try cleaning your build artifacts and rebuilding:

    rm -rf build/ install/ log/\ncolcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

    If the error is not resolved, remove src/ and update your workspace according to installation type (Docker / source).

    Warning

    Before removing src/, confirm that there are no modifications in your local environment that you want to keep!

    If errors still persist after trying the steps above, delete the entire workspace, clone the repository once again and restart the installation process.

    rm -rf autoware/\ngit clone https://github.com/autowarefoundation/autoware.git\n
    "},{"location":"support/troubleshooting/#errors-when-using-a-fixed-version-of-autoware","title":"Errors when using a fixed version of Autoware","text":"

    In principle, errors should not occur when using a fixed version. That said, possible causes include:

    • ROS 2 has been updated with breaking changes.
      • For confirmation, check the Packaging and Release Management tag on ROS Discourse.
    • Your local environment is broken.
      • Confirm your .bashrc file, environment variables, and library versions.

    In addition to the causes listed above, there are two common misunderstandings around the use of fixed versions.

    1. You used a fixed version for autowarefoundation/autoware only. All of the repository versions in the .repos file must be specified in order to use a completely fixed version.

    2. You didn't update the workspace after changing the branch of autowarefoundation/autoware. Changing the branch of autowarefoundation/autoware does not affect the files under src/. You have to run the vcs import command to update them.

    "},{"location":"support/troubleshooting/#error-when-building-python-package","title":"Error when building python package","text":"

    During building the following issue can occurs

    pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '0.23ubuntu1'\n

    The error is due to the fact that for versions between 66.0.0 and 67.5.0 setuptools enforces the python packages to be PEP-440 conformant. Since version 67.5.1 setuptools has a fallback that makes it possible to work with old packages again.

    The solution is to update setuptools to the newest version with the following command

    pip install --upgrade setuptools\n
    "},{"location":"support/troubleshooting/#dockerrocker-issues","title":"Docker/rocker issues","text":"

    If any errors occur when running Autoware with Docker or rocker, first confirm that your Docker installation is working correctly by running the following commands:

    docker run --rm -it hello-world\ndocker run --rm -it ubuntu:latest\n

    Next, confirm that you are able to access the base Autoware image that is stored on the GitHub Packages website

    docker run --rm -it ghcr.io/autowarefoundation/autoware-universe:latest\n
    "},{"location":"support/troubleshooting/#runtime-issues","title":"Runtime issues","text":""},{"location":"support/troubleshooting/#performance-related-issues","title":"Performance related issues","text":"

    Symptoms:

    • Autoware is running slower than expected
    • Messages show up late in RViz2
    • Point clouds are lagging
    • Camera images are lagging behind
    • Point clouds or markers flicker on RViz2
    • When multiple subscribers use the same publishers, the message rate drops

    If you have any of these symptoms, please the Performance Troubleshooting page.

    "},{"location":"support/troubleshooting/#map-does-not-display-when-running-the-planning-simulator","title":"Map does not display when running the Planning Simulator","text":"

    When running the Planning Simulator, the most common reason for the map not being displayed in RViz is because the map path has not been specified correctly in the launch command. You can confirm if this is the case by searching for Could not find lanelet map under {path-to-map-dir}/lanelet2_map.osm errors in the log.

    Another possible reason is that map loading is taking a long time due to poor DDS performance. For this, please visit the Performance Troubleshooting page.

    "},{"location":"support/troubleshooting/performance-troubleshooting/","title":"Performance Troubleshooting","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#performance-troubleshooting","title":"Performance Troubleshooting","text":"

    Overall symptoms:

    • Autoware is running slower than expected
    • Messages show up late in RViz2
    • Point clouds are lagging
    • Camera images are lagging behind
    • Point clouds or markers flicker on RViz2
    • When multiple subscribers use the same publishers, the message rate drops
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnostic-steps","title":"Diagnostic Steps","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#check-if-multicast-is-enabled","title":"Check if multicast is enabled","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms","title":"Target symptoms","text":"
    • When multiple subscribers use the same publishers, the message rate drops
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis","title":"Diagnosis","text":"

    Make sure that the multicast is enabled for your interface.

    For example when you run following:

    source /opt/ros/humble/setup.bash\nros2 run demo_nodes_cpp talker\n

    If you get the error message selected interface \"{your-interface-name}\" is not multicast-capable: disabling multicast, this should be fixed.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution","title":"Solution","text":"

    Run the following command to allow multicast:

    sudo ip link set multicast on {your-interface-name}\n

    This way DDS will function as intended and multiple subscribers can receive data from a single publisher without any significant degradation in performance.

    This is a temporary solution. And will be reverted once the computer restarts.

    To make it permanent either,

    • Create a service to run this on startup (recommended)
    • OR put following lines to the ~/.bashrc file:

      if [ ! -e /tmp/multicast_is_set ]; then\nsudo ip link set lo multicast on\ntouch /tmp/multicast_is_set\nfi\n
      • This will probably ask for password on the terminal every time you restart the computer.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-compilation-flags","title":"Check the compilation flags","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms_1","title":"Target symptoms","text":"
    • Autoware is running slower than expected
    • Point clouds are lagging
    • When multiple subscribers use the same publishers, the message rate drops even further
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_1","title":"Diagnosis","text":"

    Check the ~/.bash_history file to see if there are any colcon build directives without -DCMAKE_BUILD_TYPE=Release or -DCMAKE_BUILD_TYPE=RelWithDebInfo flags at all.

    Even if a build starts with these flags but same workspace gets compiled without these flags, it will still be a slow build in the end.

    In addition, the nodes will run slow in general, especially the pointcloud_preprocessor nodes.

    Example issue: issue2597

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_1","title":"Solution","text":"
    • Remove the build, install and optionally log folders in the main autoware folder.
    • Compile the Autoware with either Release or RelWithDebInfo tags:

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n# Or build with debug flags too (comparable performance but you can debug too)\ncolcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo\n
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-dds-settings","title":"Check the DDS settings","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms_2","title":"Target symptoms","text":"
    • Autoware is running slower than expected
    • Messages show up late in RViz2
    • Point clouds are lagging
    • Camera images are lagging behind
    • When multiple subscribers use the same publishers, the message rate drops
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-rmw-ros-middleware-implementation","title":"Check the RMW (ROS Middleware) implementation","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_2","title":"Diagnosis","text":"

    Run following to check the middleware used:

    echo $RMW_IMPLEMENTATION\n

    The return line should be rmw_cyclonedds_cpp. If not, apply the solution.

    If you are using a different DDS middleware, we might not have official support for it just yet.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_2","title":"Solution","text":"

    Add export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp as a separate line in you ~/.bashrc file.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-if-the-cyclonedds-is-configured-correctly","title":"Check if the CycloneDDS is configured correctly","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_3","title":"Diagnosis","text":"

    Run following to check the configuration .xml file of the CycloneDDS:

    echo $CYCLONEDDS_URI\n

    The return line should be a valid path pointing to an .xml file with CycloneDDS configuration.

    Also check if the file is configured correctly:

    cat !{echo $CYCLONEDDS_URI}\n

    This should print the .xml file on the terminal.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_3","title":"Solution","text":"

    Follow DDS settings:Tuning DDS documentation and make sure:

    • you have export CYCLONEDDS_URI=/absolute_path_to_your/cyclonedds_config.xml as a line on your ~/.bashrc file.
    • you have the cyclonedds_config.xml with the configuration provided in the documentation.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-linux-kernel-maximum-buffer-size","title":"Check the Linux kernel maximum buffer size","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_4","title":"Diagnosis","text":"
    • Run: sysctl net.core.rmem_max, it should return at least net.core.rmem_max = 2147483647.
      • This parameter specifies the maximum size of the \"receive buffer\" for each network connection, which determines the maximum amount of data that can be held in memory at any given time. By increasing the maximum buffer size, the operating system can accommodate larger bursts of data, which can help prevent network congestion and reduce packet loss, resulting in faster and more reliable data transfers.
    • Run: sysctl net.ipv4.ipfrag_time, it should return around: net.ipv4.ipfrag_time = 3
      • The \"net.ipv4.ipfrag_time\" parameter specifies the maximum time in seconds that the kernel should retain partially fragmented IP packets before discarding them. The default value for this parameter is usually set to 30 seconds, but it may vary depending on the specific operating system and configuration.
      • By setting this parameter to a lower value, such as 3 seconds, the kernel can free up memory resources more quickly by discarding partially fragmented packets that are no longer needed, which can help improve the overall performance and stability of the system.
    • Run: sysctl net.ipv4.ipfrag_high_thresh, it should return at around: net.ipv4.ipfrag_high_thresh = 134217728
      • The \"net.ipv4.ipfrag_high_thresh\" parameter specifies the high watermark threshold for the number of partially fragmented packets allowed in the kernel IP packet reassembly queue. When the number of partially fragmented packets in the queue exceeds this threshold, the kernel will start to drop newly arrived packets until the number of partially fragmented packets drops below the threshold.
      • By setting this parameter to a higher value, such as 134217728 (128 MB), the kernel can accommodate a larger number of partially fragmented packets in the queue, which can help improve the performance of network applications that transfer large amounts of data, such as file transfer protocols and multimedia streaming applications.

    More info on these values: Cross-vendor tuning

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_4","title":"Solution","text":"

    Either:

    • Create the following file: sudo touch /etc/sysctl.d/10-cyclone-max.conf (recommended)

      • Edit the file to contain (sudo gedit /etc/sysctl.d/10-cyclone-max.conf):

        net.core.rmem_max=2147483647\nnet.ipv4.ipfrag_time=3\nnet.ipv4.ipfrag_high_thresh=134217728 # (128 MB)\n
        • Either restart the computer or run following to enable the changes:

          sudo sysctl -w net.core.rmem_max=2147483647\nsudo sysctl -w net.ipv4.ipfrag_time=3\nsudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728\n
    • OR put following lines to the ~/.bashrc file:

      if [ ! -e /tmp/kernel_network_conf_is_set ]; then\nsudo sysctl -w net.core.rmem_max=2147483647\nsudo sysctl -w net.ipv4.ipfrag_time=3\nsudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728 # (128 MB)\nfi\n
      • This will probably ask for password on the terminal every time you restart the computer.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-if-ros-localhost-only-communication-is-enabled","title":"Check if ROS localhost only communication is enabled","text":"
    • If you are using multi computer setup, please skip this check.
    • Enabling ROS localhost only communication can help improve the performance of ROS by reducing network traffic and avoiding potential conflicts with other devices on the network.
    • Also check Enable localhost-only communication
    "},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms_3","title":"Target symptoms","text":"
    • You see topics that shouldn't exist
    • You see point clouds that don't belong to your machine
      • They might be from another computer running ROS 2 on your network
    • Point clouds or markers flicker on RViz2
      • Another publisher (on another machine) may be publishing on the same topic as your node does.
      • Causing the flickering.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_5","title":"Diagnosis","text":"

    Run following to check it:

    echo $ROS_LOCALHOST_ONLY\n

    The return line should be 1. If not, apply the solution.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_5","title":"Solution","text":"
    • Add export $ROS_LOCALHOST_ONLY=1 as a separate line in you ~/.bashrc file.
      • This environment variable tells ROS to only use the loopback network interface (i.e., localhost) for communication, rather than using the network interface card (NIC) for Ethernet or Wi-Fi. This can reduce network traffic and potential conflicts with other devices on the network, resulting in better performance and stability.
    "},{"location":"tutorials/","title":"Simulation tutorials","text":""},{"location":"tutorials/#simulation-tutorials","title":"Simulation tutorials","text":"

    Simulations provide a way of verifying Autoware's functionality before field testing with an actual vehicle. There are three main types of simulation that can be run ad hoc or via a scenario runner.

    "},{"location":"tutorials/#simulation-methods","title":"Simulation methods","text":""},{"location":"tutorials/#ad-hoc-simulation","title":"Ad hoc simulation","text":"

    Ad hoc simulation is a flexible method for running basic simulations on your local machine, and is the recommended method for anyone new to Autoware.

    "},{"location":"tutorials/#scenario-simulation","title":"Scenario simulation","text":"

    Scenario simulation uses a scenario runner to run more complex simulations based on predefined scenarios. It is often run automatically for continuous integration purposes, but can also be run on a local machine.

    "},{"location":"tutorials/#simulation-types","title":"Simulation types","text":""},{"location":"tutorials/#planning-simulation","title":"Planning simulation","text":"

    Planning simulation uses simple dummy data to test the Planning and Control components - specifically path generation, path following and obstacle avoidance. It verifies that a vehicle can reach a goal destination while avoiding pedestrians and surrounding cars, and is another method for verifying the validity of Lanelet2 maps. It also allows for testing of traffic light handling.

    "},{"location":"tutorials/#how-does-planning-simulation-work","title":"How does planning simulation work?","text":"
    1. Generate a path to the goal destination
    2. Control the car along the generated path
    3. Detect and avoid any humans or other vehicles on the way to the goal destination
    "},{"location":"tutorials/#rosbag-replay-simulation","title":"Rosbag replay simulation","text":"

    Rosbag replay simulation uses prerecorded rosbag data to test the following aspects of the Localization and Perception components:

    • Localization: Estimation of the vehicle's location on the map by matching sensor and vehicle feedback data to the map.
    • Perception: Using sensor data to detect, track and predict dynamic objects such as surrounding cars, pedestrians, and other objects

    By repeatedly playing back the data, this simulation type can also be used for endurance testing.

    "},{"location":"tutorials/#digital-twin-simulation","title":"Digital twin simulation","text":"

    Digital twin simulation is a simulation type that is able to produce realistic data and simulate almost the entire system. It is also commonly referred to as end-to-end simulation.

    "},{"location":"tutorials/ad-hoc-simulation/","title":"Ad hoc simulation","text":""},{"location":"tutorials/ad-hoc-simulation/#ad-hoc-simulation","title":"Ad hoc simulation","text":"

    Warning

    Under Construction

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/","title":"Planning simulation","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#planning-simulation","title":"Planning simulation","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#preparation","title":"Preparation","text":"

    Download and unpack a sample map.

    • You can also download the map manually.
    gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1499_nsbUbIeturZaDj7jhUownh5fvXHd'\nunzip -d ~/autoware_map ~/autoware_map/sample-map-planning.zip\n

    Note

    Sample map: Copyright 2020 TIER IV, Inc.

    Check if you have ~/autoware_data folder and files in it.

    $ cd ~/autoware_data\n$ ls -C -w 30\nimage_projection_based_fusion\nlidar_apollo_instance_segmentation\nlidar_centerpoint\ntensorrt_yolo\ntensorrt_yolox\ntraffic_light_classifier\ntraffic_light_fine_detector\ntraffic_light_ssd_fine_detector\nyabloc_pose_initializer\n

    If not, please, follow Manual downloading of artifacts.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#basic-simulations","title":"Basic simulations","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#lane-driving-scenario","title":"Lane driving scenario","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#1-launch-autoware","title":"1. Launch Autoware","text":"
    source ~/autoware/install/setup.bash\nros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n

    Warning

    Note that you cannot use ~ instead of $HOME here.

    If ~ is used, the map will fail to load.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#2-set-an-initial-pose-for-the-ego-vehicle","title":"2. Set an initial pose for the ego vehicle","text":"

    a) Click the 2D Pose estimate button in the toolbar, or hit the P key.

    b) In the 3D View pane, click and hold the left-mouse button, and then drag to set the direction for the initial pose. An image representing the vehicle should now be displayed.

    Warning

    Remember to set the initial pose of the car in the same direction as the lane.

    To confirm the direction of the lane, check the arrowheads displayed on the map.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#3-set-a-goal-pose-for-the-ego-vehicle","title":"3. Set a goal pose for the ego vehicle","text":"

    a) Click the 2D Goal Pose button in the toolbar, or hit the G key.

    b) In the 3D View pane, click and hold the left-mouse button, and then drag to set the direction for the goal pose. If done correctly, you will see a planned path from initial pose to goal pose.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#4-start-the-ego-vehicle","title":"4. Start the ego vehicle","text":"

    Now you can start the ego vehicle driving by clicking the AUTO button on OperationMode in AutowareStatePanel. Alteratively, you can manually start the vehicle by running the following command:

    source ~/autoware/install/setup.bash\nros2 service call /api/operation_mode/change_to_autonomous autoware_adapi_v1_msgs/srv/ChangeOperationMode {}\n

    After that, you can see AUTONOMOUS sign on OperationMode and AUTO button is grayed out.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#parking-scenario","title":"Parking scenario","text":"
    1. Set an initial pose and a goal pose, and engage the ego vehicle.

    2. When the vehicle approaches the goal, it will switch from lane driving mode to parking mode.

    3. After that, the vehicle will reverse into the destination parking spot.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#lane-change-scenario","title":"Lane change scenario","text":"
    1. Download and unpack Nishishinjuku map.

      gdown -O ~/autoware_map/ 'https://github.com/tier4/AWSIM/releases/download/v1.1.0/nishishinjuku_autoware_map.zip'\nunzip -d ~/autoware_map ~/autoware_map/nishishinjuku_autoware_map.zip\n
    2. Launch autoware with Nishishinjuku map with following command:

      source ~/autoware/install/setup.bash\nros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/nishishinjuku_autoware_map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n

    3. Set an initial pose and a goal pose in adjacent lanes.

    4. Engage the ego vehicle. It will make a lane change along the planned path.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#avoidance-scenario","title":"Avoidance scenario","text":"
    1. Set an initial pose and a goal pose in the same lane. A path will be planned.

    2. Set a \"2D Dummy Bus\" on the roadside. A new path will be planned.

    3. Engage the ego vehicle. It will avoid the obstacle along the newly planned path.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#advanced-simulations","title":"Advanced Simulations","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#placing-dummy-objects","title":"Placing dummy objects","text":"
    1. Click the 2D Dummy Car or 2D Dummy Pedestrian button in the toolbar.
    2. Set the pose of the dummy object by clicking and dragging on the map.
    3. Set the velocity of the object in Tool Properties -> 2D Dummy Car/Pedestrian panel.

      !!! note

      Changes to the velocity parameter will only affect objects placed after the parameter is changed.

    4. Delete any dummy objects placed in the view by clicking the Delete All Objects button in the toolbar.

    5. Click the Interactive button in the toolbar to make the dummy object interactive.

    6. For adding an interactive dummy object, press SHIFT and click the right click.

    7. For deleting an interactive dummy object, press ALT and click the right click.
    8. For moving an interactive dummy object, hold the right click drag and drop the object.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#traffic-light-recognition-simulation","title":"Traffic light recognition simulation","text":"

    By default, traffic lights on the map are all treated as if they are set to green. As a result, when a path is created that passed through an intersection with a traffic light, the ego vehicle will drive through the intersection without stopping.

    The following steps explain how to set and reset traffic lights in order to test how the Planning component will respond.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#set-traffic-light","title":"Set traffic light","text":"
    1. Go to Panels -> Add new panel, select TrafficLightPublishPanel, and then press OK.

    2. In TrafficLightPublishPanel, set the ID and color of the traffic light.

    3. Click the SET button.

    4. Finally, click the PUBLISH button to send the traffic light status to the simulator. Any planned path that goes past the selected traffic light will then change accordingly.

    By default, Rviz should display the ID of each traffic light on the map. You can have a closer look at the IDs by zooming in the region or by changing the View type.

    In case the IDs are not displayed, try the following troubleshooting steps:

    a) In the Displays panel, find the traffic_light_id topic by toggling the triangle icons next to Map > Lanelet2VectorMap > Namespaces.

    b) Check the traffic_light_id checkbox.

    c) Reload the topic by clicking the Map checkbox twice.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#updatereset-traffic-light","title":"Update/Reset traffic light","text":"

    You can update the color of the traffic light by selecting the next color (in the image it is GREEN) and clicking SET button. In the image the traffic light in front of the ego vehicle changed from RED to GREEN and the vehicle restarted.

    To remove a traffic light from TrafficLightPublishPanel, click the RESET button.

    Reference video tutorials

    "},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/","title":"Rosbag replay simulation","text":""},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#rosbag-replay-simulation","title":"Rosbag replay simulation","text":""},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#steps","title":"Steps","text":"
    1. Download and unpack a sample map.

      • You can also download the map manually.
      gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1A-8BvYRX3DhSzkAnOcGWFw5T30xTlwZI'\nunzip -d ~/autoware_map/ ~/autoware_map/sample-map-rosbag.zip\n
    2. Download the sample rosbag files.

      • You can also download the rosbag files manually.
      gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1VnwJx9tI3kI_cTLzP61ktuAJ1ChgygpG'\nunzip -d ~/autoware_map/ ~/autoware_map/sample-rosbag.zip\n
    3. Check if you have ~/autoware_data folder and files in it.

      $ cd ~/autoware_data\n$ ls -C -w 30\nimage_projection_based_fusion\nlidar_apollo_instance_segmentation\nlidar_centerpoint\ntensorrt_yolo\ntensorrt_yolox\ntraffic_light_classifier\ntraffic_light_fine_detector\ntraffic_light_ssd_fine_detector\nyabloc_pose_initializer\n

      If not, please, follow Manual downloading of artifacts.

    "},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#note","title":"Note","text":"
    • Sample map and rosbag: Copyright 2020 TIER IV, Inc.
    • Due to privacy concerns, the rosbag does not contain image data, which will cause:
      • Traffic light recognition functionality cannot be tested with this sample rosbag.
      • Object detection accuracy is decreased.
    "},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#how-to-run-a-rosbag-replay-simulation","title":"How to run a rosbag replay simulation","text":"
    1. Launch Autoware.

      source ~/autoware/install/setup.bash\nros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n

      Note that you cannot use ~ instead of $HOME here.

    2. Play the sample rosbag file.

      source ~/autoware/install/setup.bash\nros2 bag play ~/autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3\n

    3. To focus the view on the ego vehicle, change the Target Frame in the RViz Views panel from viewer to base_link.

    4. To switch the view to Third Person Follower etc, change the Type in the RViz Views panel.

    Reference video tutorials

    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/","title":"MORAI Sim: Drive","text":""},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#morai-sim-drive","title":"MORAI Sim: Drive","text":"

    Note

    Any kind of for-profit activity with the trial version of the MORAI SIM:Drive is strictly prohibited.

    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#hardware-requirements","title":"Hardware requirements","text":"Minimum PC Specs OS Windows 10, Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04 CPU Intel i5-9600KF or AMD Ryzen 5 3500X RAM DDR4 16GB GPU RTX2060 Super Required PC Specs OS Windows 10, Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04 CPU Intel i9-9900K or AMD Ryzen 7 3700X (or higher) RAM DDR4 64GB (or higher) GPU RTX2080Ti or higher"},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#application-and-download","title":"Application and Download","text":"

    Only for AWF developers, trial license for 3 months can be issued. Download the application form and send to Hyeongseok Jeon

    After the trial license is issued, you can login to MORAI Sim:Drive via Launchers (Windows/Ubuntu)

    CAUTION: Do not use the Launchers in the following manual

    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#technical-documents","title":"Technical Documents","text":"

    as Oct. 2022, our simulation version is ver.22.R3 but the english manual is under construction.

    Be aware that the following manuals are for ver.22.R2

    • MORAI Sim:Drive Manual
    • ITRI BUS Odd tutorial
    • Tutorial for rosbag replay with Tacoma Airport
    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#technical-support","title":"Technical Support","text":"

    Hyeongseok Jeon will give full technical support

    • hsjeon@morai.ai
    • Hyeongseok Jeon#2355 in Discord
    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/","title":"AWSIM simulator","text":""},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/#awsim-simulator","title":"AWSIM simulator","text":"

    AWSIM is a simulator for Autoware development and testing. To get started, please follow the official instruction provided by TIER IV.

    "},{"location":"tutorials/scenario-simulation/","title":"Scenario simulation","text":""},{"location":"tutorials/scenario-simulation/#scenario-simulation","title":"Scenario simulation","text":"

    Warning

    Under Construction

    "},{"location":"tutorials/scenario-simulation/planning-simulation/installation/","title":"Installation","text":""},{"location":"tutorials/scenario-simulation/planning-simulation/installation/#installation","title":"Installation","text":"

    This document contains step-by-step instruction on how to build AWF Autoware Core/Universe with scenario_simulator_v2.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/installation/#prerequisites","title":"Prerequisites","text":"
    1. Autoware has been built and installed
    "},{"location":"tutorials/scenario-simulation/planning-simulation/installation/#how-to-build","title":"How to build","text":"
    1. Navigate to the Autoware workspace:

      cd autoware\n
    2. Import Simulator dependencies:

      vcs import src < simulator.repos\n
    3. Install dependent ROS packages:

      source /opt/ros/humble/setup.bash\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    4. Build the workspace:

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"tutorials/scenario-simulation/planning-simulation/random-test-simulation/","title":"Random test simulation","text":""},{"location":"tutorials/scenario-simulation/planning-simulation/random-test-simulation/#random-test-simulation","title":"Random test simulation","text":"

    Note

    Running the Scenario Simulator requires some additional steps on top of building and installing Autoware, so make sure that Scenario Simulator installation has been completed first before proceeding.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/random-test-simulation/#running-steps","title":"Running steps","text":"
    1. Move to the workspace directory where Autoware and the Scenario Simulator have been built.

    2. Source the workspace setup script:

      source install/setup.bash\n
    3. Run the simulation:

      ros2 launch random_test_runner random_test.launch.py \\\narchitecture_type:=awf/universe \\\nsensor_model:=sample_sensor_kit \\\nvehicle_model:=sample_vehicle\n

    For more information about supported parameters, refer to the random_test_runner documentation.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/","title":"Scenario test simulation","text":""},{"location":"tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/#scenario-test-simulation","title":"Scenario test simulation","text":"

    Note

    Running the Scenario Simulator requires some additional steps on top of building and installing Autoware, so make sure that Scenario Simulator installation has been completed first before proceeding.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/#running-steps","title":"Running steps","text":"
    1. Move to the workspace directory where Autoware and the Scenario Simulator have been built.

    2. Source the workspace setup script:

      source install/setup.bash\n
    3. Run the simulation:

      ros2 launch scenario_test_runner scenario_test_runner.launch.py \\\narchitecture_type:=awf/universe \\\nrecord:=false \\\nscenario:='$(find-pkg-share scenario_test_runner)/scenario/sample.yaml' \\\nsensor_model:=sample_sensor_kit \\\nvehicle_model:=sample_vehicle\n

    Reference video tutorials

    "},{"location":"tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/","title":"Driving Log Replayer","text":""},{"location":"tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/#driving-log-replayer","title":"Driving Log Replayer","text":"

    Driving Log Replayer is an evaluation tool for Autoware. To get started, follow the official instruction provided by TIER IV.

    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Introduction","text":""},{"location":"#autoware-documentation","title":"Autoware Documentation","text":""},{"location":"#about-autoware","title":"About Autoware","text":"

    Autoware is the world\u2019s leading open-source software project for autonomous driving. Autoware is built on Robot Operating System (ROS) and enables commercial deployment of autonomous driving in a broad range of vehicles and applications.

    Please see here for more details.

    "},{"location":"#related-documentations","title":"Related Documentations","text":"

    This Autoware Documentation is for Autoware's general information.

    For detailed documents of Autoware Universe components, see Autoware Universe Documentation.

    "},{"location":"#getting-started","title":"Getting started","text":"
    • Installation pages explain the installation steps of Autoware and related tools.
    • Tutorials pages explain several tutorials that you should try after installation.
    • How-to guides pages explain advanced topics that you should read after you get used to Autoware.
    • Design pages explain the design concept of Autoware.
    • Contributing pages explain how to contribute to Autoware.
    • Datasets pages contain information about datasets that can be used with Autoware.
    • Support pages explain several support resources.
    • Competitions pages explain on-going challenges related to AWF
    "},{"location":"autoware-competitions/","title":"Autoware Competitions","text":""},{"location":"autoware-competitions/#autoware-competitions","title":"Autoware Competitions","text":"

    This page is a collection of the links to the competitions that are related to the Autoware Foundation.

    Title Status Description Ongoing Autoware / TIER IV Challenge 2023 Date: May 15, 2023 - Nov. 1st, 2023 As one of the main contributors of Autoware, TIER IV has been facing many difficult challenges through development, and TIER IV would like to sponsor a challenge to solve such engineering challenges. Any researchers, students, individuals or organizations are welcome to participate and submit their solution to any of the challenges we propose. Ongoing Japan Automotive AI Challenge 2023 Registration: June 5, 2023 - July 14, 2023 Qualifiers: July 3, 2023 - Aug. 31, 2023 Finals: Nov. 12, 2023 In this competition, we focus on challenging tasks posed by autonomous driving in factory environments and aim to develop Autoware-based AD software that can overcome them. The qualifiers use the digital twin autonomous driving simulator AWSIM to complete specific tasks within a virtual environment. Teams that make it to the finals have the opportunity to run their software on actual vehicles in a test course in Japan."},{"location":"autoware-competitions/#proposing-new-competition","title":"Proposing New Competition","text":"

    If you want add a new competition to this page, please propose it in a TSC meeting and get confirmation from the AWF.

    "},{"location":"contributing/","title":"Contributing","text":""},{"location":"contributing/#contributing","title":"Contributing","text":"

    Thank you for your interest in contributing! Autoware is supported by people like you, and all types and sizes of contribution are welcome.

    As a contributor, here are the guidelines that we would like you to follow for Autoware and its associated repositories.

    • Code of Conduct
    • What should I know before I get started?
      • Autoware concepts
      • Contributing to open source projects
    • How can I get help?
    • How can I contribute?
      • Participate in discussions
      • Join a working group
      • Report bugs
      • Make a pull request

    Like Autoware itself, these guidelines are being actively developed and suggestions for improvement are always welcome! Guideline changes can be proposed by creating a discussion in the Ideas category.

    "},{"location":"contributing/#code-of-conduct","title":"Code of Conduct","text":"

    To ensure the Autoware community stays open and inclusive, please follow the Code of Conduct.

    If you believe that someone in the community has violated the Code of Conduct, please make a report by emailing conduct@autoware.org.

    "},{"location":"contributing/#what-should-i-know-before-i-get-started","title":"What should I know before I get started?","text":""},{"location":"contributing/#autoware-concepts","title":"Autoware concepts","text":"

    To gain a high-level understanding of Autoware's architecture and design, the following pages provide a brief overview:

    • Autoware architecture
    • Autoware concepts

    For experienced developers, the Autoware interfaces and individual component pages should also be reviewed to understand the inputs and outputs for each component or module at a more detailed level.

    "},{"location":"contributing/#contributing-to-open-source-projects","title":"Contributing to open source projects","text":"

    If you are new to open source projects, we recommend reading GitHub's How to Contribute to Open Source guide for an overview of why people contribute to open source projects, what it means to contribute and much more besides.

    "},{"location":"contributing/#how-can-i-get-help","title":"How can I get help?","text":"

    Do not open issues for general support questions as we want to keep GitHub issues for confirmed bug reports. Instead, open a discussion in the Q&A category. For more details on the support mechanisms for Autoware, refer to the Support guidelines.

    Note

    Issues created for questions or unconfirmed bugs will be moved to GitHub discussions by the maintainers.

    "},{"location":"contributing/#how-can-i-contribute","title":"How can I contribute?","text":""},{"location":"contributing/#discussions","title":"Discussions","text":"

    You can contribute to Autoware by facilitating and participating in discussions, such as:

    • Proposing a new feature to enhance Autoware
    • Joining an existing discussion and expressing your opinion
    • Organizing discussions for other contributors
    • Answering questions and supporting other contributors
    "},{"location":"contributing/#working-groups","title":"Working groups","text":"

    The various working groups within the Autoware Foundation are responsible for accomplishing goals set by the Technical Steering Committee. These working groups are open to everyone, and joining a particular working group will allow you to gain an understanding of current projects, see how those projects are managed within each group and to contribute to issues that will help progress a particular project.

    To see the schedule for upcoming working group meetings, refer to the Autoware Foundation events calendar.

    "},{"location":"contributing/#bug-reports","title":"Bug reports","text":"

    Before you report a bug, please search the issue tracker for the appropriate repository. It is possible that someone has already reported the same issue and that workarounds exist. If you can't determine the appropriate repository, ask the maintainers for help by creating a new discussion in the Q&A category.

    When reporting a bug, you should provide a minimal set of instructions to reproduce the issue. Doing so allows us to quickly confirm and focus on the right problem.

    If you want to fix the bug by yourself that will be appreciated, but you should discuss possible approaches with the maintainers in the issue before submitting a pull request.

    Creating an issue is straightforward, but if you happen to experience any problems then create a Q&A discussion to ask for help.

    "},{"location":"contributing/#pull-requests","title":"Pull requests","text":"

    You can submit pull requests for small changes such as:

    • Minor documentation updates
    • Fixing spelling mistakes
    • Fixing CI failures
    • Fixing warnings detected by compilers or analysis tools
    • Making small changes to a single package

    If your pull request is a large change, the following process should be followed:

    1. Create a GitHub Discussion to propose the change. Doing so allows you to get feedback from other members and the Autoware maintainers and to ensure that the proposed change is in line with Autoware's design philosophy and current development plans. If you're not sure where to have that conversation, then create a new Q&A discussion.

    2. Create an issue following consensus in the discussions

    3. Create a pull request to implement the changes that references the Issue created in step 2

    4. Create documentation for the new addition (if relevant)

    Examples of large changes include:

    • Adding a new feature to Autoware
    • Adding a new documentation page or section

    For more information on how to submit a good pull request, have a read of the pull request guidelines and don't forget to review the required license notations!

    "},{"location":"contributing/license/","title":"License","text":""},{"location":"contributing/license/#license","title":"License","text":"

    Autoware is licensed under Apache License 2.0. Thus all contributions will be licensed as such as per clause 5 of the Apache License 2.0:

    5. Submission of Contributions. Unless You explicitly state otherwise,\n   any Contribution intentionally submitted for inclusion in the Work\n   by You to the Licensor shall be under the terms and conditions of\n   this License, without any additional terms or conditions.\n   Notwithstanding the above, nothing herein shall supersede or modify\n   the terms of any separate license agreement you may have executed\n   with Licensor regarding such Contributions.\n

    Here is an example copyright header to add to the top of a new file:

    Copyright [first year of contribution] The Autoware Contributors\nSPDX-License-Identifier: Apache-2.0\n

    We don't write copyright notations of each contributor here. Instead, we place them in the NOTICE file like the following.

    This product includes code developed by [company name].\nCopyright [first year of contribution] [company name]\n

    Let us know if your legal department has a special request for the copyright notation.

    Currently, the old formats explained here are also acceptable. Those old formats can be replaced by this new format if the original authors agree. Note that we won't write their copyrights to the NOTICE file unless they agree with the new format.

    References:

    • https://opensource.google/docs/copyright/#the-year
    • https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/
    • https://www.apache.org/licenses/LICENSE-2.0
    • https://www.apache.org/legal/src-headers.html
    • https://www.apache.org/foundation/license-faq.html
    • https://infra.apache.org/licensing-howto.html
    "},{"location":"contributing/coding-guidelines/","title":"Coding guidelines","text":""},{"location":"contributing/coding-guidelines/#coding-guidelines","title":"Coding guidelines","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/#common-guidelines","title":"Common guidelines","text":"

    Refer to the following links for now:

    • https://docs.ros.org/en/humble/Contributing/Developer-Guide.html

    Also, keep in mind the following concepts.

    • Keep things consistent.
    • Automate where possible, using simple checks for formatting, syntax, etc.
    • When it comes to code reviews, don't spend too much time on trivial disagreements. For details see:
      • https://en.wikipedia.org/wiki/Law_of_triviality
      • https://steemit.com/programming/@emrebeyler/code-reviews-and-parkinson-s-law-of-triviality
    "},{"location":"contributing/coding-guidelines/languages/cmake/","title":"CMake","text":""},{"location":"contributing/coding-guidelines/languages/cmake/#cmake","title":"CMake","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.ros.org/en/humble/Contributing/Code-Style-Language-Versions.html#cmake
    "},{"location":"contributing/coding-guidelines/languages/cmake/#use-the-autoware_package-macro","title":"Use the autoware_package macro","text":"

    To reduce duplications in CMakeLists.txt, there is the autoware_package() macro. See the README and use it in your package.

    "},{"location":"contributing/coding-guidelines/languages/cpp/","title":"C++","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#c","title":"C++","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/languages/cpp/#references","title":"References","text":"

    Follow the guidelines below if a rule is not defined on this page.

    1. https://docs.ros.org/en/humble/Contributing/Code-Style-Language-Versions.html
    2. https://www.autosar.org/fileadmin/standards/adaptive/22-11/AUTOSAR_RS_CPP14Guidelines.pdf
    3. https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines

    Also, it is encouraged to apply Clang-Tidy to each file. For the usage, see Applying Clang-Tidy to ROS packages.

    Note that not all rules are covered by Clang-Tidy.

    "},{"location":"contributing/coding-guidelines/languages/cpp/#style-rules","title":"Style rules","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#include-header-files-in-the-defined-order-required-partially-automated","title":"Include header files in the defined order (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale","title":"Rationale","text":"
    • Due to indirect dependencies, the include system of C++ makes different behaviors if the header order is different.
    • To reduce unintended bugs, local header files should come first.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference","title":"Reference","text":"
    • https://llvm.org/docs/CodingStandards.html#include-style
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example","title":"Example","text":"

    Include the headers in the following order:

    • Main module header
    • Local package headers
    • Other package headers
    • Message headers
    • Boost headers
    • C system headers
    • C++ system headers
    // Compliant\n#include \"my_header.hpp\"\n\n#include \"my_package/foo.hpp\"\n\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n

    If you use \"\" and <> properly, ClangFormat in pre-commit sorts headers automatically.

    Do not define macros between #include lines because it prevents automatic sorting.

    // Non-compliant\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#define EIGEN_MPL2_ONLY\n#include \"my_header.hpp\"\n#include \"my_package/foo.hpp\"\n\n#include <Eigen/Core>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n

    Instead, define macros before #include lines.

    // Compliant\n#define EIGEN_MPL2_ONLY\n\n#include \"my_header.hpp\"\n\n#include \"my_package/foo.hpp\"\n\n#include <Eigen/Core>\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n

    If there are any reasons for defining macros at a specific position, write a comment before the macro.

    // Compliant\n#include \"my_header.hpp\"\n\n#include \"my_package/foo.hpp\"\n\n#include <package1/foo.hpp>\n#include <package2/bar.hpp>\n\n#include <std_msgs/msg/header.hpp>\n\n#include <iostream>\n#include <vector>\n\n// For the foo bar reason, the FOO_MACRO must be defined here.\n#define FOO_MACRO\n#include <foo/bar.hpp>\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#use-lower-snake-case-for-function-names-required-partially-automated","title":"Use lower snake case for function names (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_1","title":"Rationale","text":"
    • It is consistent with the C++ standard library.
    • It is consistent with other programming languages such as Python and Rust.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#exception","title":"Exception","text":"
    • For member functions of classes inherited from external project classes such as Qt, follow that naming convention.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_1","title":"Reference","text":"
    • https://docs.ros.org/en/humble/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html#function-and-method-naming
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_1","title":"Example","text":"
    void function_name()\n{\n}\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#use-upper-camel-case-for-enum-names-required-partially-automated","title":"Use upper camel case for enum names (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_2","title":"Rationale","text":"
    • It is consistent with ROS 2 core packages.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#exception_1","title":"Exception","text":"
    • Enums defined in the rosidl file can use other naming conventions.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_2","title":"Reference","text":"
    • http://wiki.ros.org/CppStyleGuide (Refer to \"15. Enumerations\")
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_2","title":"Example","text":"
    enum class Color\n{\nRed, Green, Blue\n}\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#use-lower-snake-case-for-constant-names-required-partially-automated","title":"Use lower snake case for constant names (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_3","title":"Rationale","text":"
    • It is consistent with ROS 2 core packages.
    • It is consistent with std::numbers.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#exception_2","title":"Exception","text":"
    • Constants defined in the rosidl file can use other naming conventions.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_3","title":"Reference","text":"
    • https://en.cppreference.com/w/cpp/numeric/constants
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_3","title":"Example","text":"
    constexpr double gravity = 9.80665;\n
    "},{"location":"contributing/coding-guidelines/languages/cpp/#count-acronyms-and-contractions-of-compound-words-as-one-word-required-partially-automated","title":"Count acronyms and contractions of compound words as one word (required, partially automated)","text":""},{"location":"contributing/coding-guidelines/languages/cpp/#rationale_4","title":"Rationale","text":"
    • To clarify the boundaries of words when acronyms are consecutive.
    "},{"location":"contributing/coding-guidelines/languages/cpp/#reference_4","title":"Reference","text":"
    • https://rust-lang.github.io/api-guidelines/naming.html#casing-conforms-to-rfc-430-c-case
    "},{"location":"contributing/coding-guidelines/languages/cpp/#example_4","title":"Example","text":"
    class RosApi;\nRosApi ros_api;\n
    "},{"location":"contributing/coding-guidelines/languages/docker/","title":"Docker","text":""},{"location":"contributing/coding-guidelines/languages/docker/#docker","title":"Docker","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://github.com/hadolint/hadolint
    "},{"location":"contributing/coding-guidelines/languages/github-actions/","title":"GitHub Actions","text":""},{"location":"contributing/coding-guidelines/languages/github-actions/#github-actions","title":"GitHub Actions","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.github.com/en/actions/guides
    "},{"location":"contributing/coding-guidelines/languages/markdown/","title":"Markdown","text":""},{"location":"contributing/coding-guidelines/languages/markdown/#markdown","title":"Markdown","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.ros.org/en/foxy/Contributing/Code-Style-Language-Versions.html#markdown-restructured-text-docblocks
    • https://github.com/DavidAnson/markdownlint
    "},{"location":"contributing/coding-guidelines/languages/package-xml/","title":"package.xml","text":""},{"location":"contributing/coding-guidelines/languages/package-xml/#packagexml","title":"package.xml","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://ros.org/reps/rep-0149.html
    • https://github.com/tier4/pre-commit-hooks-ros#prettier-package-xml
    "},{"location":"contributing/coding-guidelines/languages/python/","title":"Python","text":""},{"location":"contributing/coding-guidelines/languages/python/#python","title":"Python","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.ros.org/en/foxy/Contributing/Code-Style-Language-Versions.html#python
    • https://github.com/psf/black
    • https://github.com/PyCQA/isort
    "},{"location":"contributing/coding-guidelines/languages/shell-scripts/","title":"Shell scripts","text":""},{"location":"contributing/coding-guidelines/languages/shell-scripts/#shell-scripts","title":"Shell scripts","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://google.github.io/styleguide/shellguide.html
    • https://github.com/koalaman/shellcheck
    • https://github.com/mvdan/sh
    "},{"location":"contributing/coding-guidelines/ros-nodes/class-design/","title":"Class design","text":""},{"location":"contributing/coding-guidelines/ros-nodes/class-design/#class-design","title":"Class design","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/","title":"Console logging","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#console-logging","title":"Console logging","text":"

    ROS 2 logging is a powerful tool for understanding and debugging ROS nodes.

    This page focuses on how to design console logging in Autoware and shows several practical examples. To comprehensively understand how ROS 2 logging works, refer to the logging documentation.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#logging-use-cases-in-autoware","title":"Logging use cases in Autoware","text":"
    • Developers debug code by seeing the console logs.
    • Vehicle operators take appropriate risk-avoiding actions depending on the console logs.
    • Log analysts analyze the console logs that are recorded in rosbag files.

    To efficiently support these use cases, clean and highly visible logs are required. For that, several rules are defined below.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rules","title":"Rules","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#choose-appropriate-severity-levels-required-non-automated","title":"Choose appropriate severity levels (required, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale","title":"Rationale","text":"

    It's confusing if severity levels are inappropriate as follows:

    • Useless messages are marked as FATAL.
    • Very important error messages are marked as INFO.
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example","title":"Example","text":"

    Use the following criteria as a reference:

    • DEBUG: Use this level to show debug information for developers. Note that logs with this level is hidden by default.
    • INFO: Use this level to notify events (cyclic notifications during initialization, state changes, service responses, etc.) to operators.
    • WARN: Use this level when a node can continue working correctly, but unintended behaviors might happen.
      • For example, \"path optimization failed but the previous data can be used\", \"the localization score is low\", etc.
    • ERROR: Use this level when a node can't continue working correctly, and unintended behaviors would happen.
      • For example, \"path optimization failed and the path is empty\", \"the vehicle will trigger an emergency stop\", etc.
    • FATAL: Use this level when the entire system can't continue working correctly, and the system must be stopped.
      • For example, \"the vehicle control ECU doesn't respond\", \"the system storage crashed\", etc.
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#filter-out-unnecessary-logs-by-setting-logging-options-required-non-automated","title":"Filter out unnecessary logs by setting logging options (required, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale_1","title":"Rationale","text":"

    Some third-party nodes such as drivers may not follow the Autoware's guidelines. If the logs are noisy, unnecessary logs should be filtered out.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example_1","title":"Example","text":"

    Use the --log-level {level} option to change the minimum level of logs to be displayed:

    <launch>\n<!-- This outputs only FATAL level logs. -->\n<node pkg=\"demo_nodes_cpp\" exec=\"talker\" ros_args=\"--log-level fatal\" />\n</launch>\n

    If you want to disable only specific output targets, use the --disable-stdout-logs, --disable-rosout-logs, and/or --disable-external-lib-logs options:

    <launch>\n<!-- This outputs to rosout and disk. -->\n<node pkg=\"demo_nodes_cpp\" exec=\"talker\" ros_args=\"--disable-stdout-logs\" />\n</launch>\n
    <launch>\n<!-- This outputs to stdout. -->\n<node pkg=\"demo_nodes_cpp\" exec=\"talker\" ros_args=\"--disable-rosout-logs --disable-external-lib-logs\" />\n</launch>\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#use-throttled-logging-when-the-log-is-unnecessarily-shown-repeatedly-required-non-automated","title":"Use throttled logging when the log is unnecessarily shown repeatedly (required, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale_2","title":"Rationale","text":"

    If tons of logs are shown on the console, people miss important message.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example_2","title":"Example","text":"

    While waiting for some messages, throttled logs are usually enough. In such cases, wait about 5 seconds as a reference value.

    // Compliant\nvoid FooNode::on_timer() {\nif (!current_pose_) {\nRCLCPP_ERROR_THROTTLE(get_logger(), *get_clock(), 5000, \"Waiting for current_pose_.\");\nreturn;\n}\n}\n\n// Non-compliant\nvoid FooNode::on_timer() {\nif (!current_pose_) {\nRCLCPP_ERROR(get_logger(), \"Waiting for current_pose_.\");\nreturn;\n}\n}\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#exception","title":"Exception","text":"

    The following cases are acceptable even if it's not throttled.

    • The message is really worth displaying every time.
    • The message level is DEBUG.
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#do-not-depend-on-rclcppnode-in-core-library-classes-but-depend-only-on-rclcpplogginghpp-advisory-non-automated","title":"Do not depend on rclcpp::Node in core library classes but depend only on rclcpp/logging.hpp (advisory, non-automated)","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#rationale_3","title":"Rationale","text":"

    Core library classes, which contain reusable algorithms, may also be used for non-ROS platforms. When porting libraries to other platforms, fewer dependencies are preferred.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#example_3","title":"Example","text":"
    // Compliant\n#include <rclcpp/logging.hpp>\n\nclass FooCore {\npublic:\nexplicit FooCore(const rclcpp::Logger & logger) : logger_(logger) {}\n\nvoid process() {\nRCLCPP_INFO(logger_, \"message\");\n}\n\nprivate:\nrclcpp::Logger logger_;\n};\n\n// Compliant\n// Note that logs aren't published to `/rosout` if the logger name is different from the node name.\n#include <rclcpp/logging.hpp>\n\nclass FooCore {\nvoid process() {\nRCLCPP_INFO(rclcpp::get_logger(\"foo_core_logger\"), \"message\");\n}\n};\n\n\n// Non-compliant\n#include <rclcpp/node.hpp>\n\nclass FooCore {\npublic:\nexplicit FooCore(const rclcpp::NodeOptions & node_options) : node_(\"foo_core_node\", node_options) {}\n\nvoid process() {\nRCLCPP_INFO(node_.get_logger(), \"message\");\n}\n\nprivate:\nrclcpp::Node node_;\n};\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#tips","title":"Tips","text":""},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#use-rqt_console-to-filter-logs","title":"Use rqt_console to filter logs","text":"

    To filter logs, using rqt_console is useful:

    ros2 run rqt_console rqt_console\n

    For more details, refer to ROS 2 Documentation.

    "},{"location":"contributing/coding-guidelines/ros-nodes/console-logging/#useful-marco-expressions","title":"Useful marco expressions","text":"

    To debug program, sometimes you need to see which functions and lines of code are executed. In that case, you can use __FILE__, __LINE__ and __FUNCTION__ macro:

    void FooNode::on_timer() {\nRCLCPP_DEBUG(get_logger(), \"file: %s, line: %s, function: %s\" __FILE__, __LINE__, __FUNCTION__);\n}\n

    The example output is as follows:

    [DEBUG] [1671720414.395456931] [foo]: file: /path/to/file.cpp, line: 100, function: on_timer

    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/","title":"Coordinate system","text":""},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#coordinate-system","title":"Coordinate system","text":""},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#overview","title":"Overview","text":"

    The commonly used coordinate systems include the world coordinate system, the vehicle coordinate system, and the sensor coordinate system.

    • The world coordinate system is a fixed coordinate system that defines the physical space in the environment where the vehicle is located.
    • The vehicle coordinate system is the vehicle's own coordinate system, which defines the vehicle's position and orientation in the world coordinate system.
    • The sensor coordinate system is the sensor's own coordinate system, which is used to define the sensor's position and orientation in the vehicle coordinate system.
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#how-coordinates-are-used-in-autoware","title":"How coordinates are used in Autoware","text":"

    In Autoware, coordinate systems are typically used to represent the position and movement of vehicles and obstacles in space. Coordinate systems are commonly used for path planning, perception and control, can help the vehicle decide how to avoid obstacles and to plan a safe and efficient path of travel.

    1. Transformation of sensor data

      In Autoware, each sensor has a unique coordinate system and their data is expressed in terms of the coordinates. In order to correlate the independent data between different sensors, we need to find the position relationship between each sensor and the vehicle body. Once the installation position of the sensor on the vehicle body is determined, it will remain fixed during running, so the offline calibration method can be used to determine the precise position of each sensor relative to the vehicle body.

    2. ROS TF2

      The TF2 system maintains a tree of coordinate transformations to represent the relationships between different coordinate systems. Each coordinate system is given a unique name and they are connected by coordinate transformations. How to use TF2, refer to the TF2 tutorial.

    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#tf-tree","title":"TF tree","text":"

    In Autoware, a common coordinate system structure is shown below:

    graph TD\n    /earth --> /map\n    /map --> /base_link\n    /base_link --> /imu\n    /base_link --> /lidar\n    /base_link --> /gnss\n    /base_link --> /radar\n    /base_link --> /camera_link\n    /camera_link --> /camera_optical_link
    • earth: earth coordinate system describe the position of any point on the earth in terms of geodetic longitude, latitude, and altitude. In Autoware, the earth frame is only used in the GnssInsPositionStamped message.
    • map: map coordinate system is used to represent the location of points on a local map. Geographical coordinate system are mapped into plane rectangular coordinate system using UTM or MGRS. The map frame`s axes point to the East, North, Up directions as explained in Coordinate Axes Conventions.
    • base_link: vehicle coordinate system, the origin of the coordinate system is the center of the rear axle of the vehicle.
    • imu, lidar, gnss, radar: these are sensor frames, transfer to vehicle coordinate system through mounting relationship.
    • camera_link: camera_link is ROS standard camera coordinate system .
    • camera_optical_link: camera_optical_link is image standard camera coordinate system.
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#estimating-the-base_link-frame-by-using-the-other-sensors","title":"Estimating the base_link frame by using the other sensors","text":"

    Generally we don't have the localization sensors physically at the base_link frame. So various sensors localize with respect to their own frames, let's call it sensor frame.

    We introduce a new frame naming convention: x_by_y:

    x: estimated frame name\ny: localization method/source\n

    We cannot directly get the sensor frame. Because we would need the EKF module to estimate the base_link frame first.

    Without the EKF module the best we can do is to estimate Map[map] --> sensor_by_sensor --> base_link_by_sensor using this sensor.

    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#example-by-the-gnssins-sensor","title":"Example by the GNSS/INS sensor","text":"

    For the integrated GNSS/INS we use the following frames:

    flowchart LR\n    earth --> Map[map] --> gnss_ins_by_gnss_ins --> base_link_by_gnss_ins

    The gnss_ins_by_gnss_ins frame is obtained by the coordinates from GNSS/INS sensor. The coordinates are converted to map frame using the gnss_poser node.

    Finally gnss_ins_by_gnss_ins frame represents the position of the gnss_ins estimated by the gnss_ins sensor in the map.

    Then by using the static transformation between gnss_ins and the base_link frame, we can obtain the base_link_by_gnss_ins frame. Which represents the base_link estimated by the gnss_ins sensor.

    References:

    • https://www.ros.org/reps/rep-0105.html#earth
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#coordinate-axes-conventions","title":"Coordinate Axes Conventions","text":"

    We are using East, North, Up (ENU) coordinate axes convention by default throughout the stack.

    X+: East\nY+: North\nZ+: Up\n

    The position, orientation, velocity, acceleration are all defined in the same axis convention.

    Position by the GNSS/INS sensor is expected to be in earth frame.

    Orientation, velocity, acceleration by the GNSS/INS sensor are expected to be in the sensor frame. Axes parallel to the map frame.

    If roll, pitch, yaw is provided, they correspond to rotation around X, Y, Z axes respectively.

    Rotation around:\nX+: roll\nY+: pitch\nZ+: yaw\n

    References:

    • https://www.ros.org/reps/rep-0103.html#axis-orientation
    "},{"location":"contributing/coding-guidelines/ros-nodes/coordinate-system/#how-they-can-be-created","title":"How they can be created","text":"
    1. Calibration of sensor

      The conversion relationship between every sensor coordinate system and base_link can be obtained through sensor calibration technology. How to calibrating your sensors refer to this link calibrating your sensors.

    2. Localization

      The relationship between the base_link coordinate system and the map coordinate system is determined by the position and orientation of the vehicle, and can be obtained from the vehicle localization result.

    3. Geo-referencing of map data

      The geo-referencing information can get the transformation relationship of earth coordinate system to local map coordinate system.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/","title":"Directory structure","text":""},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#directory-structure","title":"Directory structure","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#c-package","title":"C++ package","text":"
    <package_name>\n\u251c\u2500 config\n\u2502   \u251c\u2500 foo_ros.param.yaml\n\u2502   \u2514\u2500 foo_non_ros.yaml\n\u251c\u2500 doc\n\u2502   \u251c\u2500 foo_document.md\n\u2502   \u2514\u2500 foo_diagram.svg\n\u251c\u2500 include\n\u2502   \u2514\u2500 <package_name>\n\u2502       \u2514\u2500 foo_public.hpp\n\u251c\u2500 launch\n\u2502   \u251c\u2500 foo.launch.xml\n\u2502   \u2514\u2500 foo.launch.py\n\u251c\u2500 schema\n\u2502   \u2514\u2500 foo_node.schema.json\n\u251c\u2500 src\n\u2502   \u251c\u2500 foo_node.cpp\n\u2502   \u251c\u2500 foo_node.hpp\n\u2502   \u2514\u2500 foo_private.hpp\n\u251c\u2500 test\n\u2502   \u2514\u2500 test_foo.cpp\n\u251c\u2500 package.xml\n\u251c\u2500 CMakeLists.txt\n\u2514\u2500 README.md\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#directory-descriptions","title":"Directory descriptions","text":""},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#config","title":"config","text":"

    Place configuration files such as node parameters. For ROS parameters, use the extension .param.yaml. For non-ROS parameters, use the extension .yaml.

    Rationale: Since ROS parameters files are type-sensitive, they should not be the target of some code formatters and linters. In order to distinguish the file type, we use different file extensions.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#doc","title":"doc","text":"

    Place document files and link from README.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#include","title":"include","text":"

    Place header files exposed to other packages. Do not place files directly under the include directory, but place files under the directory with the package name. This directory is used for mostly library headers. Note that many headers do not need to be placed here. It is enough to place the headers under the src directory.

    Reference: https://docs.ros.org/en/rolling/How-To-Guides/Ament-CMake-Documentation.html#adding-files-and-headers

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#launch","title":"launch","text":"

    Place launch files (.launch.xml and .launch.py).

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#schema","title":"schema","text":"

    Place parameter definition files. See parameters for details.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#src","title":"src","text":"

    Place source files and private header files.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#test","title":"test","text":"

    Place source files for testing. See unit testing for details.

    "},{"location":"contributing/coding-guidelines/ros-nodes/directory-structure/#python-package","title":"Python package","text":"

    T.B.D.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/","title":"Launch files","text":""},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#launch-files","title":"Launch files","text":""},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#overview","title":"Overview","text":"

    Autoware use ROS 2 launch system to startup the software. Please see the official documentation to get a basic understanding about ROS 2 Launch system if you are not familiar with it.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#guideline","title":"Guideline","text":""},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#the-organization-of-launch-files-in-autoware","title":"The organization of launch files in Autoware","text":"

    Autoware mainly has two repositories related to launch file organization: the autoware.universe and the autoware_launch.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#autowareuniverse","title":"autoware.universe","text":"

    the autoware.universe contains the code of the main Autoware modules, and its launch directory is responsible for launching the nodes of each module. Autoware software stack is organized based on the architecture, so you may find that we try to match the launch structure similar to the architecture (splitting of files, namespace). For example, the tier4_map_launch subdirectory corresponds to the map module, so do the other tier4_*_launch subdirectories.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#autoware_launch","title":"autoware_launch","text":"

    The autoware_launch is a repository referring to autoware.universe. The mainly purpose of introducing this repository is to provide the general entrance to start the Autoware software stacks, i.e, calling the launch file of each module.

    • The autoware.launch.xml is the basic launch file for road driving scenarios.

      As can be seen from the content, the entire launch file is divided into several different modules, including Vehicle, System, Map, Sensing, Localization, Perception, Planning, Control, etc. By setting the launch_* argument equals to true or false , we can determine which modules to be loaded.

    • The logging_simulator.launch.xml is often used together with the recorded ROS bag to debug if the target module (e.g, Sensing, Localization or Perception) functions normally.
    • The planning_simulator.launch.xml is based on the Planning Simulator tool, mainly used for testing/validation of Planning module by simulating traffic rules, interactions with dynamic objects and control commands to the ego vehicle.
    • The e2e_simulator.launch.xml is the launcher for digital twin simulation environment.
    graph LR\nA11[logging_simulator.launch.xml]-.->A10[autoware.launch.xml]\nA12[planning_simulator.launch.xml]-.->A10[autoware.launch.xml]\nA13[e2e_simulator.launch.xml]-.->A10[autoware.launch.xml]\n\nA10-->A21[tier4_map_component.launch.xml]\nA10-->A22[xxx.launch.py]\nA10-->A23[tier4_localization_component.launch.xml]\nA10-->A24[xxx.launch.xml]\nA10-->A25[tier4_sensing_component.launch.xml]\n\nA23-->A30[localization.launch.xml]\nA30-->A31[pose_estimator.launch.xml]\nA30-->A32[util.launch.xml]\nA30-->A33[pose_twist_fusion_filter.launch.xml]\nA30-->A34[xxx.launch.xml]\nA30-->A35[twist_estimator.launch.xml]\n\nA33-->A41[stop_filter.launch.xml]\nA33-->A42[ekf_localizer.launch.xml]\nA33-->A43[twist2accel.launch.xml]
    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#add-a-new-package-in-autoware","title":"Add a new package in Autoware","text":"

    If a newly created package has executable node, we expect sample launch file and configuration within the package, just like the recommended structure shown in previous directory structure page.

    In order to automatically load the newly added package when starting Autoware, you need to make some necessary changes to the corresponding launch file. For example, if using ICP instead of NDT as the pointcloud registration algorithm, you can modify the autoware.universe/launch/tier4_localization_launch/launch/pose_estimator/pose_estimator.launch.xml file to load the newly added ICP package.

    "},{"location":"contributing/coding-guidelines/ros-nodes/launch-files/#parameter-management","title":"Parameter management","text":"

    Another purpose of introducing the autoware_launch repository is to facilitate the parameter management of Autoware. Thinking about this situation: if we want to integrate Autoware to a specific vehicle and modify parameters, we have to fork autoware.universe which also has a lot of code other than parameters and is frequently updated by developers. By integrating these parameters in autoware_launch, we can customize the Autoware parameters just by forking autoware_launch repository. Taking the localization module as an examples:

    1. all the \u201claunch parameters\u201d for localization component is listed in the files under autoware_launch/autoware_launch/config/localization.
    2. the \"launch parameters\" file paths are set in the autoware_launch/autoware_launch/launch/components/tier4_localization_component.launch.xml file.
    3. in autoware.universe/launch/tier4_localization_launch/launch, the launch files loads the \u201claunch parameters\u201d if the argument is given in the parameter configuration file. You can still use the default parameters in each packages to launch tier4_localization_launch within autoware.universe.
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/","title":"Message guidelines","text":""},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#message-guidelines","title":"Message guidelines","text":""},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#format","title":"Format","text":"

    All messages should follow ROS message description specification.

    The accepted formats are:

    • .msg
    • .srv
    • .action
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#naming","title":"Naming","text":"

    Under Construction

    Use Array as a suffix when creating a plural type of a message. This suffix is commonly used in common_interfaces.

    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#default-units","title":"Default units","text":"

    All the fields by default have the following units depending on their types:

    type default unit distance meter (m) angle radians (rad) time second (s) speed m/s velocity m/s acceleration m/s\u00b2 angular vel. rad/s angular accel. rad/s\u00b2

    If a field in a message has any of these default units, don't add any suffix or prefix denoting the type.

    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#non-default-units","title":"Non-default units","text":"

    For non-default units, use following suffixes:

    type non-default unit suffix distance nanometer _nm distance micrometer _um distance millimeter _mm distance kilometer _km angle degree (deg) _deg time nanosecond _ns time microsecond _us time millisecond _ms time minute _min time hour (h) _hour velocity km/h _kmph

    If a unit that you'd like to use doesn't exist here, create an issue/PR to add it to this list.

    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#message-field-types","title":"Message field types","text":"

    For list of types supported by the ROS interfaces see here.

    Also copied here for convenience:

    Message Field Type C++ equivalent bool bool byte uint8_t char char float32 float float64 double int8 int8_t uint8 uint8_t int16 int16_t uint16 uint16_t int32 int32_t uint32 uint32_t int64 int64_t uint64 uint64_t string std::string wstring std::u16string"},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#arrays","title":"Arrays","text":"

    For arrays, use unbounded dynamic array type.

    Example:

    int32[] unbounded_integer_array\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#enumerations","title":"Enumerations","text":"

    ROS 2 interfaces don't support enumerations directly.

    It is possible to define integers constants and assign them to a non-constant integer parameter.

    Constants are written in CONSTANT_CASE.

    Assign a different value to each element of a constant.

    Example from shape_msgs/msg/SolidPrimitive.msg

    uint8 BOX=1\nuint8 SPHERE=2\nuint8 CYLINDER=3\nuint8 CONE=4\nuint8 PRISM=5\n\n# The type of the shape\nuint8 type\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#comments","title":"Comments","text":"

    On top of the message, briefly explain what the message contains and/or what it is used for. For an example, see sensor_msgs/msg/Imu.msg.

    If necessary, add line comments before the fields that explain the context and/or meaning.

    For simple fields like x, y, z, w you might not need to add comments.

    Even though it is not strictly checked, try not to pass 100 characters in a line.

    Example:

    # Number of times the vehicle performed an emergency brake\nuint32 count_emergency_brake\n\n# Seconds passed since the last emergency brake\nuint64 duration\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/message-guidelines/#example-usages","title":"Example usages","text":"
    • Don't use unit suffixes for default types:
      • Bad: float32 path_length_m
      • Good: float32 path_length
    • Don't prefix the units:
      • Bad: float32 kmph_velocity_vehicle
      • Good: float32 velocity_vehicle_kmph
    • Use recommended suffixes if they are available in the table:
      • Bad: float32 velocity_vehicle_km_h
      • Good: float32 velocity_vehicle_kmph
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/","title":"Parameters","text":""},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#parameters","title":"Parameters","text":"

    Autoware ROS nodes have declared parameters which values are provided during the node start up in the form of a parameter file. All the expected parameters with corresponding values should exist in the parameter file. Depending on the application, the parameter values might need to be modified.

    Find more information on parameters from the official ROS documentation:

    • Understanding ROS 2 Parameters
    • About ROS 2 Parameters
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#workflow","title":"Workflow","text":"

    A ROS package which uses the declare_parameter(...) function should:

    • use the declare_parameter(...) with out a default value
    • create a parameter file
    • create a schema file

    The rationale behind this workflow is to have a verified single source of truth to pass to the ROS node and to be used in the web documentation. The approach reduces the risk of using invalid parameter values and makes maintenance of documentation easier. This is achieved by:

    • declare_parameter(...) throws an exception if an expected parameter is missing in the parameter file
    • the schema validates the parameter file in the CI and renders a parameter table, as depicted in the graphics below

      flowchart TD\n    NodeSchema[Schema file: *.schema.json]\n    ParameterFile[Parameter file: *.param.yaml]\n    WebDocumentation[Web documentation table]\n\n    NodeSchema -->|Validation| ParameterFile\n    NodeSchema -->|Generate| WebDocumentation

    Note: a parameter value can still be modified and bypass the validation, as there is no validation during runtime.

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#declare-parameter-function","title":"Declare Parameter Function","text":"

    It is the declare_parameter(...) function which sets the parameter values during a node startup.

    declare_parameter<INSERT_TYPE>(\"INSERT_PARAMETER_1_NAME\"),\ndeclare_parameter<INSERT_TYPE>(\"INSERT_PARAMETER_N_NAME\")\n

    As there is no default_value provided, the function throws an exception if a parameter were to be missing in the provided *.param.yaml file. Use a type from the C++ Type column in the table below for the declare_parameter(...) function, replacing INSERT_TYPE.

    ParameterType Enum C++ Type PARAMETER_BOOL bool PARAMETER_INTEGER int64_t PARAMETER_DOUBLE double PARAMETER_STRING std::string PARAMETER_BYTE_ARRAY std::vector<uint8_t> PARAMETER_BOOL_ARRAY std::vector<bool> PARAMETER_INTEGER_ARRAY std::vector<int64_t> PARAMETER_DOUBLE_ARRAY std::vector<double> PARAMETER_STRING_ARRAY std::vector<std::string>

    The table has been derived from Parameter Type and Parameter Value.

    See example: Lidar Apollo Segmentation TVM Nodes declare function

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#parameter-file","title":"Parameter File","text":"

    The parameter file is minimal as there is no need to provide the user with additional information, e.g., description or type. This is because the associated schema file provides the additional information. Use the template below as a starting point for a ROS node.

    /**:\nros__parameters:\nINSERT_PARAMETER_1_NAME: INSERT_PARAMETER_1_VALUE\nINSERT_PARAMETER_N_NAME: INSERT_PARAMETER_N_VALUE\n

    Note: /** is used instead of the explicit node namespace, this allows the parameter file to be passed to a ROS node which has been remapped.

    To adapt the template to the ROS node, replace each INSERT_PARAMETER_..._NAME and INSERT_PARAMETER_..._VALUE for all parameters. Each declare_parameter(...) takes one parameter as input. All the parameter files should have the .param.yaml suffix so that the auto-format can be applied properly.

    Autoware has the following two types of parameter files for ROS packages:

    • Node parameter file
      • Node parameter files store the default parameters provided for each package in Autoware.
        • For example, the parameter of behavior_path_planner
      • All nodes in Autoware must have a parameter file if ROS parameters are declared in the node.
      • For FOO_package, the parameter is expected to be stored in FOO_package/config.
      • The launch file for individual packages must load node parameter by default:
    <launch>\n<arg name=\"foo_node_param_path\" default=\"$(find-pkg-share FOO_package)/config/foo_node.param.yaml\" />\n\n<node pkg=\"FOO_package\" exec=\"foo_node\">\n...\n    <param from=\"$(var foo_node_param_path)\" />\n</node>\n</launch>\n
    • Launch parameter file
      • When a user creates a launch package for the user's vehicle, the user should copy node parameter files for the nodes that are called in the launch file as \"launch parameter files\".
      • Launch parameter files are then customized specifically for user's vehicle.
        • For example, the customized parameter of behavior_path_planner stored under autoware_launch
      • The examples for launch parameter files are stored under autoware_launch.
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#json-schema","title":"JSON Schema","text":"

    JSON Schema is used the validate the parameter file(s) ensuring that it has the correct structure and content. Using JSON Schema for this purpose is considered best practice for cloud-native development. The schema template below shall be used as a starting point when defining the schema for a ROS node.

    {\n\"$schema\": \"http://json-schema.org/draft-07/schema#\",\n\"title\": \"INSERT_TITLE\",\n\"type\": \"object\",\n\"definitions\": {\n\"INSERT_ROS_NODE_NAME\": {\n\"type\": \"object\",\n\"properties\": {\n\"INSERT_PARAMETER_1_NAME\": {\n\"type\": \"INSERT_TYPE\",\n\"description\": \"INSERT_DESCRIPTION\",\n\"default\": \"INSERT_DEFAULT\",\n\"INSERT_BOUND_CONDITION(S)\": INSERT_BOUND_VALUE(S)\n},\n\"INSERT_PARAMETER_N_NAME\": {\n\"type\": \"INSERT_TYPE\",\n\"description\": \"INSERT_DESCRIPTION\",\n\"default\": \"INSERT_DEFAULT\",\n\"INSERT_BOUND_CONDITION(S)\": INSERT_BOUND_VALUE(S)\n}\n},\n\"required\": [\"INSERT_PARAMETER_1_NAME\", \"INSERT_PARAMETER_N_NAME\"],\n\"additionalProperties\": false\n}\n},\n\"properties\": {\n\"/**\": {\n\"type\": \"object\",\n\"properties\": {\n\"ros__parameters\": {\n\"$ref\": \"#/definitions/INSERT_ROS_NODE_NAME\"\n}\n},\n\"required\": [\"ros__parameters\"],\n\"additionalProperties\": false\n}\n},\n\"required\": [\"/**\"],\n\"additionalProperties\": false\n}\n

    The schema file path is INSERT_PATH_TO_PACKAGE/schema/ and the schema file name is INSERT_NODE_NAME.schema.json. To adapt the template to the ROS node, replace each INSERT_... and add all parameters 1..N.

    See example: Lidar Apollo Segmentation TVM Nodes schema

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#attributes","title":"Attributes","text":"

    Parameters have several attributes, some are required and some optional. The optional attributes are highly encouraged when applicable, as they provide useful information about a parameter and can ensure the value of the parameter is within its bounds.

    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#required","title":"Required","text":"
    • name
    • type
      • see JSON Schema types
    • description
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#optional","title":"Optional","text":"
    • default
      • a tested and verified value, see JSON Schema default
    • bound(s)
      • type dependent, e.g., integer, range and size
    "},{"location":"contributing/coding-guidelines/ros-nodes/parameters/#tips-and-tricks","title":"Tips and Tricks","text":"

    Using well established standards enables the use of conventional tooling. Below is an example of how to link a schema to the parameter file(s) using VS Code. This enables a developer with convenient features such as auto-complete and parameter bound validation.

    In the root directory of where the project is hosted, create a .vscode folder with two files; extensions.json containing

    {\n\"recommendations\": [\"redhat.vscode-yaml\"]\n}\n

    and settings.json containing

    {\n\"yaml.schemas\": {\n\"./INSERT_PATH_TO_PACKAGE/schema/INSERT_NODE_NAME.schema.json\": \"**/INSERT_NODE_NAME/config/*.param.yaml\"\n}\n}\n

    The RedHat YAML extension enables validation of YAML files using JSON Schema and the \"yaml.schemas\" setting associates the *.schema.json file with all *.param.yaml files in the config/ folder.

    "},{"location":"contributing/coding-guidelines/ros-nodes/task-scheduling/","title":"Task scheduling","text":""},{"location":"contributing/coding-guidelines/ros-nodes/task-scheduling/#task-scheduling","title":"Task scheduling","text":"

    Warning

    Under Construction

    "},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/","title":"Topic namespaces","text":""},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#topic-namespaces","title":"Topic namespaces","text":""},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#overview","title":"Overview","text":"

    ROS allows topics, parameters and nodes to be namespaced which provides the following benefits:

    • Multiple instances of the same node type will not cause naming clashes.
    • Topics published by a node can be automatically namespaced with the node's namespace providing a meaningful and easily-visible connection.
    • Keeps from cluttering the root namespace.
    • Helps to maintain separation-of-concerns.

    This page focuses on how to use namespaces in Autoware and shows some useful examples. For basic information on topic namespaces, refer to this tutorial.

    "},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#how-topics-should-be-named-in-node","title":"How topics should be named in node","text":"

    Autoware divides the node into the following functional categories, and adds the start namespace for the nodes according to the categories.

    • localization
    • perception
    • planning
    • control
    • sensing
    • vehicle
    • map
    • system

    When a node is run in a namespace, all topics which that node publishes are given that same namespace. All nodes in the Autoware stack must support namespaces by avoiding practices such as publishing topics in the global namespace.

    In general, topics should be namespaced based on the function of the node which produces them and not the node (or nodes) which consume them.

    Classify topics as input or output topics based on they are subscribed or published by the node. In the node, input topic is named input/topic_name and output topic is named output/topic_name.

    Configure the topic in the node's launch file. Take the joy_controller node as an example, in the following example, set the input and output topics and remap topics in the joy_controller.launch.xml file.

    <launch>\n<arg name=\"input_joy\" default=\"/joy\"/>\n<arg name=\"input_odometry\" default=\"/localization/kinematic_state\"/>\n\n<arg name=\"output_control_command\" default=\"/external/$(var external_cmd_source)/joy/control_cmd\"/>\n<arg name=\"output_external_control_command\" default=\"/api/external/set/command/$(var external_cmd_source)/control\"/>\n<arg name=\"output_shift\" default=\"/api/external/set/command/$(var external_cmd_source)/shift\"/>\n<arg name=\"output_turn_signal\" default=\"/api/external/set/command/$(var external_cmd_source)/turn_signal\"/>\n<arg name=\"output_heartbeat\" default=\"/api/external/set/command/$(var external_cmd_source)/heartbeat\"/>\n<arg name=\"output_gate_mode\" default=\"/control/gate_mode_cmd\"/>\n<arg name=\"output_vehicle_engage\" default=\"/vehicle/engage\"/>\n\n<node pkg=\"joy_controller\" exec=\"joy_controller\" name=\"joy_controller\" output=\"screen\">\n<remap from=\"input/joy\" to=\"$(var input_joy)\"/>\n<remap from=\"input/odometry\" to=\"$(var input_odometry)\"/>\n\n<remap from=\"output/control_command\" to=\"$(var output_control_command)\"/>\n<remap from=\"output/external_control_command\" to=\"$(var output_external_control_command)\"/>\n<remap from=\"output/shift\" to=\"$(var output_shift)\"/>\n<remap from=\"output/turn_signal\" to=\"$(var output_turn_signal)\"/>\n<remap from=\"output/gate_mode\" to=\"$(var output_gate_mode)\"/>\n<remap from=\"output/heartbeat\" to=\"$(var output_heartbeat)\"/>\n<remap from=\"output/vehicle_engage\" to=\"$(var output_vehicle_engage)\"/>\n</node>\n</launch>\n
    "},{"location":"contributing/coding-guidelines/ros-nodes/topic-namespaces/#topic-names-in-the-code","title":"Topic names in the code","text":"
    1. Have ~ so that namespace in launch configuration is applied(should not start from root /).

    2. Have ~/input ~/output namespace before topic name used to communicate with other nodes.

      e.g., In node obstacle_avoidance_planner, using topic names of type ~/input/topic_name to subscribe to topics.

      objects_sub_ = create_subscription<PredictedObjects>(\n\"~/input/objects\", rclcpp::QoS{10},\nstd::bind(&ObstacleAvoidancePlanner::onObjects, this, std::placeholders::_1));\n

      e.g., In node obstacle_avoidance_planner, using topic names of type ~/output/topic_name to publish topic.

      traj_pub_ = create_publisher<Trajectory>(\"~/output/path\", 1);\n
    3. Visualization or debug purpose topics should have ~/debug/ namespace.

      e.g., In node obstacle_avoidance_planner, in order to debug or visualizing topics, using topic names of type ~/debug/topic_name to publish information.

      debug_markers_pub_ =\ncreate_publisher<visualization_msgs::msg::MarkerArray>(\"~/debug/marker\", durable_qos);\n\ndebug_msg_pub_ =\ncreate_publisher<tier4_debug_msgs::msg::StringStamped>(\"~/debug/calculation_time\", 1);\n

      The launch configured namespace will be add the topics before, so the topic names will be as following:

      /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/calculation_time

    4. Rationale: we want to make topic names remapped and configurable from launch files.

    "},{"location":"contributing/discussion-guidelines/","title":"Discussion guidelines","text":""},{"location":"contributing/discussion-guidelines/#discussion-guidelines","title":"Discussion guidelines","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://docs.github.com/en/discussions/guides/best-practices-for-community-conversations-on-github
    • https://opensource.guide/how-to-contribute/#communicating-effectively
    "},{"location":"contributing/documentation-guidelines/","title":"Documentation guidelines","text":""},{"location":"contributing/documentation-guidelines/#documentation-guidelines","title":"Documentation guidelines","text":""},{"location":"contributing/documentation-guidelines/#workflow","title":"Workflow","text":"

    Contributions to Autoware's documentation are welcome, and the same principles described in the contribution guidelines should be followed. Small, limited changes can be made by forking this repository and submitting a pull request, but larger changes should be discussed with the community and Autoware maintainers via GitHub Discussion first.

    Examples of small changes include:

    • Fixing spelling or grammatical mistakes
    • Fixing broken links
    • Making an addition to an existing, well-defined page, such as the Troubleshooting guide.

    Examples of larger changes include:

    • Adding new pages with a large amount of detail, such as a tutorial
    • Re-organization of the existing documentation structure
    "},{"location":"contributing/documentation-guidelines/#style-guide","title":"Style guide","text":"

    You should refer to the Google developer documentation style guide as much as possible. Reading the Highlights page of that guide is recommended, but if not then the key points below should be noted.

    • Use standard American English spelling and punctuation.
    • Use sentence case for document titles and section headings.
    • Use descriptive link text.
    • Write short sentences that are easy to understand and translate.
    "},{"location":"contributing/documentation-guidelines/#tips","title":"Tips","text":""},{"location":"contributing/documentation-guidelines/#how-to-preview-your-modification","title":"How to preview your modification","text":"

    There are two ways to preview your modification on a documentation website.

    "},{"location":"contributing/documentation-guidelines/#1-using-github-actions-workflow","title":"1. Using GitHub Actions workflow","text":"

    Follow the steps below.

    1. Create a pull request to the repository.
    2. Add the deploy-docs label from the sidebar (See below figure).
    3. Wait for a couple of minutes, and the github-actions bot will notify the URL for the pull request's preview.

    "},{"location":"contributing/documentation-guidelines/#2-running-an-mkdocs-server-in-your-local-environment","title":"2. Running an MkDocs server in your local environment","text":"

    Instead of creating a PR, you can use the mkdocs command to build Autoware's documentation websites on your local computer. Assuming that you are using Ubuntu OS, run the following to install the required libraries.

    python3 -m pip install -U $(curl -fsSL https://raw.githubusercontent.com/autowarefoundation/autoware-github-actions/main/deploy-docs/mkdocs-requirements.txt)\n

    Then, run mkdocs serve on your documentation directory.

    cd /PATH/TO/YOUR-autoware-documentation\nmkdocs serve\n

    It will launch the MkDocs server. Access http://127.0.0.1:8000/ to see the preview of the website.

    "},{"location":"contributing/pull-request-guidelines/","title":"Pull request guidelines","text":""},{"location":"contributing/pull-request-guidelines/#pull-request-guidelines","title":"Pull request guidelines","text":""},{"location":"contributing/pull-request-guidelines/#general-pull-request-workflow","title":"General pull request workflow","text":"

    Autoware uses the fork-and-pull model. For more details about the model, refer to GitHub Docs.

    The following is a general example of the pull request workflow based on the fork-and-pull model. Use this workflow as a reference when you contribute to Autoware.

    1. Create an issue.
      • Discuss the approaches to the issue with maintainers.
      • Confirm the support guidelines before creating an issue.
      • Follow the discussion guidelines when you discuss with other contributors.
    2. Create a fork repository. (for the first time only)
    3. Write code in your fork repository according to the approach agreed upon in the issue.
      • Write the tests and documentation as appropriate.
      • Follow the coding guidelines guidelines when you write code.
      • Follow the Testing guidelines guidelines when you write tests.
      • Follow the Documentation guidelines guidelines when you write documentation.
      • Follow the commit guidelines when you commit your changes.
    4. Test the code.
      • It is recommended that you summarize the test results, because you will need to explain the test results in the later review process.
      • If you are not sure what tests should be done, discuss them with maintainers.
    5. Create a pull request.
      • Follow the pull request rules when you create a pull request.
    6. Wait for the pull request to be reviewed.
      • The reviewers will review your code following the review guidelines.
        • Not only the reviewers, but also the author is encouraged to understand the review guidelines.
      • If CI checks have failed, fix the errors.
    7. Address the review comments pointed out by the reviewers.
      • If you don't understand the meaning of a review comment, ask the reviewers until you understand it.
        • Fixing without understanding the reason is not recommended because the author should be responsible for the final content of their own pull request.
      • If you don't agree with a review comment, ask the reviewers for a rational reason.
        • The reviewers are obligated to make the author understand the meanings of each comment.
      • After you have done with the review comments, re-request a review to the reviewers and back to 6.
      • If there are no more new review comments, the reviewers will approve the pull request and proceed to 8.
    8. Merge the pull request.
      • Anyone with write access can merge the pull request if there is no special request from maintainers.
        • The author is encouraged to merge the pull request to feel responsible for their own pull request.
        • If the author does not have write access, ask the reviewers or maintainers.
    "},{"location":"contributing/pull-request-guidelines/#pull-request-rules","title":"Pull request rules","text":""},{"location":"contributing/pull-request-guidelines/#use-an-appropriate-pull-request-template-required-non-automated","title":"Use an appropriate pull request template (required, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale","title":"Rationale","text":"
    • The unified style of descriptions by templates can make reviews efficient.
    "},{"location":"contributing/pull-request-guidelines/#example","title":"Example","text":"

    There are two types of templates. Select one based on the following condition.

    1. Standard change:
      • Complexity:
        • New features or significant updates.
        • Requires deeper understanding of the codebase.
      • Impact:
        • Affects multiple parts of the system.
        • Basically includes minor features, bug fixes and performance improvement.
        • Needs testing before merging.
    2. Small change:
      • Complexity:
        • Documentation, simple refactoring, or style adjustments.
        • Easy to understand and review.
      • Impact:
        • Minimal effect on the system.
        • Quicker merge with less testing needed.
    "},{"location":"contributing/pull-request-guidelines/#steps-to-use-an-appropriate-pull-request-template","title":"Steps to use an appropriate pull request template","text":"
    1. Select the appropriate template, as shown in this video.
    2. Read the selected template carefully and fill the required content.
    3. Check the checkboxes during a review.
      • There are pre-review checklist and post-review checklist for the author.
    "},{"location":"contributing/pull-request-guidelines/#set-appropriate-reviewers-after-creating-a-pull-request-required-partially-automated","title":"Set appropriate reviewers after creating a pull request (required, partially automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_1","title":"Rationale","text":"
    • Pull requests must be reviewed by appropriate reviewers to keep the quality of the codebase.
    "},{"location":"contributing/pull-request-guidelines/#example_1","title":"Example","text":"
    • For most ROS packages, reviewers will be automatically assigned based on the maintainer information in package.xml.
    • If no reviewer is assigned automatically, assign reviewers manually following the instructions in GitHub Docs.
      • You can find the reviewers by seeing the .github/CODEOWNERS file of the repository.
    • If you are not sure the appropriate reviewers, ask @autoware-maintainers.
    • If you have no rights to assign reviewers, mention reviewers instead.
    "},{"location":"contributing/pull-request-guidelines/#apply-conventional-commits-to-the-pull-request-title-required-automated","title":"Apply Conventional Commits to the pull request title (required, automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_2","title":"Rationale","text":"
    • Conventional Commits can generate categorized changelogs, for example using git-cliff.
    "},{"location":"contributing/pull-request-guidelines/#example_2","title":"Example","text":"
    feat(trajectory_follower): add an awesome feature\n

    Note

    You have to start the description part (here add an awesome feature) with a lowercase.

    If your change breaks some interfaces, use the ! (breaking changes) mark as follows:

    feat(trajectory_follower)!: remove package\nfeat(trajectory_follower)!: change parameter names\nfeat(planning)!: change topic names\nfeat(autoware_utils)!: change function names\n

    For the repositories that contain code (most repositories), use the definition of conventional-commit-types for the type.

    For documentation repositories such as autoware-documentation, use the following definition:

    • feat
      • Add new pages.
      • Add contents to the existing pages.
    • fix
      • Fix the contents in the existing pages.
    • refactor
      • Move contents to different pages.
    • docs
      • Update documentation for the documentation repository itself.
    • build
      • Update the settings of the documentation site builder.
    • ! (breaking changes)
      • Remove pages.
      • Change the URL of pages.

    perf and test are generally unused. Other types have the same meaning as the code repositories.

    "},{"location":"contributing/pull-request-guidelines/#add-the-related-component-names-to-the-scope-of-conventional-commits-advisory-non-automated","title":"Add the related component names to the scope of Conventional Commits (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_3","title":"Rationale","text":"
    • It helps contributors find pull requests that are relevant to them.
    • It makes the changelog clearer.
    "},{"location":"contributing/pull-request-guidelines/#example_3","title":"Example","text":"

    For ROS packages, adding the package name or component name is good.

    feat(trajectory_follower): add an awesome feature\nrefactor(planning, control): use common utils\n
    "},{"location":"contributing/pull-request-guidelines/#keep-a-pull-request-small-advisory-non-automated","title":"Keep a pull request small (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_4","title":"Rationale","text":"
    • Small pull requests are easy to understand for reviewers.
    • Small pull requests are easy to revert for maintainers.
    "},{"location":"contributing/pull-request-guidelines/#exception","title":"Exception","text":"

    It is acceptable if it is agreed with maintainers that there is no other way but to submit a big pull request.

    "},{"location":"contributing/pull-request-guidelines/#example_4","title":"Example","text":"
    • Avoid developing two features in one pull request.
    • Avoid mixing different types (feat, fix, refactor, etc.) of changes in the same commit.
    "},{"location":"contributing/pull-request-guidelines/#remind-reviewers-if-there-is-no-response-for-more-than-a-week-advisory-non-automated","title":"Remind reviewers if there is no response for more than a week (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/#rationale_5","title":"Rationale","text":"
    • It is the author's responsibility to care about their own pull request until it is merged.
    "},{"location":"contributing/pull-request-guidelines/#example_5","title":"Example","text":"
    @{some-of-developers} Would it be possible for you to review this PR?\n@autoware-maintainers friendly ping.\n
    "},{"location":"contributing/pull-request-guidelines/ci-checks/","title":"CI checks","text":""},{"location":"contributing/pull-request-guidelines/ci-checks/#ci-checks","title":"CI checks","text":"

    Autoware has several checks for a pull request. The results are shown at the bottom of the pull request page as below.

    If the \u274c mark is shown, click the Details button and investigate the failure reason.

    If the Required mark is shown, you cannot merge the pull request unless you resolve the error. If not, it is optional, but preferably it should be fixed.

    The following sections explain about common CI checks in Autoware. Note that some repositories may have different settings.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#dco","title":"DCO","text":"

    The Developer Certificate of Origin (DCO) is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project.

    This workflow checks whether the pull request fulfills DCO. You need to confirm the required items and commit with git commit -s.

    For more information, refer to the GitHub App page.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#semantic-pull-request","title":"semantic-pull-request","text":"

    This workflow checks whether the pull request follows Conventional Commits.

    For the detailed rules, see the pull request rules.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#pre-commit","title":"pre-commit","text":"

    pre-commit is a tool to run formatters or linters when you commit.

    This workflow checks whether the pull request has no error with pre-commit.

    In the workflow pre-commit.ci - pr is enabled in the repository, it will automatically fix errors by pre-commit.ci as many as possible. If there are some errors remain, fix them manually.

    You can run pre-commit in your local environment by the following command:

    pre-commit run -a\n

    Or you can install pre-commit to the repository and automatically run it before committing:

    pre-commit install\n

    Since it is difficult to detect errors with no false positives, some jobs are split into another config file and marked as optional. To check them, use the --config option:

    pre-commit run -a --config .pre-commit-config-optional.yaml\n
    "},{"location":"contributing/pull-request-guidelines/ci-checks/#spell-check-differential","title":"spell-check-differential","text":"

    This workflow detects spelling mistakes using CSpell with our dictionary file. You can submit pull requests to tier4/autoware-spell-check-dict to update the dictionary.

    Since it is difficult to detect errors with no false positives, it is an optional workflow, but it is preferable to remove spelling mistakes as many as possible.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#build-and-test-differential","title":"build-and-test-differential","text":"

    This workflow checks colcon build and colcon test for the pull request. To make the CI faster, it doesn't check all packages but only modified packages and the dependencies.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#build-and-test-differential-self-hosted","title":"build-and-test-differential-self-hosted","text":"

    This workflow is the ARM64 version of build-and-test-differential. You need to add the ARM64 label to run this workflow.

    For reference information, since ARM machines are not supported by GitHub-hosted runners, we use self-hosted runners prepared by the AWF. For the details about self-hosted runners, refer to GitHub Docs.

    "},{"location":"contributing/pull-request-guidelines/ci-checks/#deploy-docs","title":"deploy-docs","text":"

    This workflow deploys the preview documentation site for the pull request. You need to add the deploy-docs label to run this workflow.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/","title":"Commit guidelines","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#commit-guidelines","title":"Commit guidelines","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#branch-rules","title":"Branch rules","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#start-branch-names-with-the-corresponding-issue-numbers-advisory-non-automated","title":"Start branch names with the corresponding issue numbers (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale","title":"Rationale","text":"
    • Developers can quickly find the corresponding issues.
    • It is helpful for tools.
    • It is consistent with GitHub's default behavior.
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#exception","title":"Exception","text":"

    If there are no corresponding issues, you can ignore this rule.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example","title":"Example","text":"
    123-add-feature\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#reference","title":"Reference","text":"
    • GitHub Docs
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#use-dash-case-for-the-separator-of-branch-names-advisory-non-automated","title":"Use dash-case for the separator of branch names (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale_1","title":"Rationale","text":"
    • It is consistent with GitHub's default behavior.
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example_1","title":"Example","text":"
    123-add-feature\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#reference_1","title":"Reference","text":"
    • GitHub Docs
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#make-branch-names-descriptive-advisory-non-automated","title":"Make branch names descriptive (advisory, non-automated)","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale_2","title":"Rationale","text":"
    • It can avoid conflicts of names.
    • Developers can understand the purpose of the branch.
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#exception_1","title":"Exception","text":"

    If you have already submitted a pull request, you do not have to change the branch name because you need to re-create a pull request, which is noisy and a waste of time. Be careful from the next time.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example_2","title":"Example","text":"

    Usually it is good to start with a verb.

    123-fix-memory-leak-of-trajectory-follower\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#commit-rules","title":"Commit rules","text":""},{"location":"contributing/pull-request-guidelines/commit-guidelines/#sign-off-your-commits-required-automated","title":"Sign-off your commits (required, automated)","text":"

    Developers must certify that they wrote or otherwise have the right to submit the code they are contributing to the project.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#rationale_3","title":"Rationale","text":"

    If not, it will lead to complex license problems.

    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#example_3","title":"Example","text":"
    git commit -s\n
    feat: add a feature\n\nSigned-off-by: Autoware <autoware@example.com>\n
    "},{"location":"contributing/pull-request-guidelines/commit-guidelines/#reference_2","title":"Reference","text":"
    • GitHub Apps - DCO
    "},{"location":"contributing/pull-request-guidelines/review-guidelines/","title":"Review guidelines","text":""},{"location":"contributing/pull-request-guidelines/review-guidelines/#review-guidelines","title":"Review guidelines","text":"

    Warning

    Under Construction

    Refer to the following links for now:

    • https://google.github.io/eng-practices/review/
    • https://docs.gitlab.com/ee/development/code_review.html
    • https://www.swarmia.com/blog/a-complete-guide-to-code-reviews/
    • https://rewind.com/blog/best-practices-for-reviewing-pull-requests-in-github/
    "},{"location":"contributing/pull-request-guidelines/review-tips/","title":"Review tips","text":""},{"location":"contributing/pull-request-guidelines/review-tips/#review-tips","title":"Review tips","text":""},{"location":"contributing/pull-request-guidelines/review-tips/#toggle-annotations-or-review-comments-in-the-diff-view","title":"Toggle annotations or review comments in the diff view","text":"

    There might be some annotations or review comments in the diff view during your review.

    To toggle annotations, press the A key.

    Before:

    After:

    To toggle review comments, press the I key.

    For other keyboard shortcuts, refer to GitHub Docs.

    "},{"location":"contributing/pull-request-guidelines/review-tips/#view-code-in-the-web-based-visual-studio-code","title":"View code in the web-based Visual Studio Code","text":"

    You can open Visual Studio Code from your browser to view code in a rich UI. To use it, press the . key on any repository or pull request.

    For more detailed usage, refer to github/dev.

    "},{"location":"contributing/pull-request-guidelines/review-tips/#check-out-the-branch-of-a-pull-request-quickly","title":"Check out the branch of a pull request quickly","text":"

    If you want to check out the branch of a pull request, it's generally troublesome with the fork-and-pull model.

    # Copy the user name and the fork URL.\ngit remote add {user-name} {fork-url}\ngit checkout {user-name}/{branch-name}\ngit remote rm {user-name} # To clean up\n

    Instead, you can use GitHub CLI to simplify the steps, just run gh pr checkout {pr-number}.

    You can copy the command from the top right of the pull request page.

    "},{"location":"contributing/testing-guidelines/","title":"Testing guidelines","text":""},{"location":"contributing/testing-guidelines/#testing-guidelines","title":"Testing guidelines","text":""},{"location":"contributing/testing-guidelines/#unit-testing","title":"Unit testing","text":"

    Unit testing is a software testing method that tests individual units of source code to determine whether they satisfy the specification.

    For details, see the Unit testing guidelines.

    "},{"location":"contributing/testing-guidelines/#integration-testing","title":"Integration testing","text":"

    Integration testing combines and tests the individual software modules as a group, and is done after unit testing.

    While performing integration testing, the following subtypes of tests are written:

    1. Fault injection testing
    2. Back-to-back comparison between a model and code
    3. Requirements-based testing
    4. Anomaly detection during integration testing
    5. Random input testing

    For details, see the Integration testing guidelines.

    "},{"location":"contributing/testing-guidelines/integration-testing/","title":"Integration testing","text":""},{"location":"contributing/testing-guidelines/integration-testing/#integration-testing","title":"Integration testing","text":"

    An integration test is defined as the phase in software testing where individual software modules are combined and tested as a group. Integration tests occur after unit tests, and before validation tests.

    The input to an integration test is a set of independent modules that have been unit tested. The set of modules is tested against the defined integration test plan, and the output is a set of properly integrated software modules that is ready for system testing.

    "},{"location":"contributing/testing-guidelines/integration-testing/#value-of-integration-testing","title":"Value of integration testing","text":"

    Integration tests determine if independently developed software modules work correctly when the modules are connected to each other. In ROS 2, the software modules are called nodes. Testing a single node is a special type of integration test that is commonly referred to as component testing.

    Integration tests help to find the following types of errors:

    • Incompatible interactions between nodes, such as non-matching topics, different message types, or incompatible QoS settings.
    • Edge cases that were not touched by unit testing, such as a critical timing issue, network communication delays, disk I/O failures, and other such problems that can occur in production environments.
    • Issues that can occur while the system is under high CPU/memory load, such as malloc failures. This can be tested using tools like stress and udpreplay to test the performance of nodes with real data.

    With ROS 2, it is possible to program complex autonomous-driving applications with a large number of nodes. Therefore, a lot of effort has been made to provide an integration-test framework that helps developers test the interaction of ROS 2 nodes.

    "},{"location":"contributing/testing-guidelines/integration-testing/#integration-test-framework","title":"Integration-test framework","text":"

    A typical integration-test framework has three parts:

    1. A series of executables with arguments that work together and generate outputs.
    2. A series of expected outputs that should match the output of the executables.
    3. A launcher that starts the tests, compares the outputs to the expected outputs, and determines if the test passes.

    In Autoware, we use the launch_testing framework.

    "},{"location":"contributing/testing-guidelines/integration-testing/#smoke-tests","title":"Smoke tests","text":"

    Autoware has a dedicated API for smoke testing. To use this framework, in package.xml add:

    <test_depend>autoware_testing</test_depend>\n

    And in CMakeLists.txt add:

    if(BUILD_TESTING)\nfind_package(autoware_testing REQUIRED)\nadd_smoke_test(${PROJECT_NAME} ${NODE_NAME})\nendif()\n

    Doing so adds smoke tests that ensure that a node can be:

    1. Launched with a default parameter file.
    2. Terminated with a standard SIGTERM signal.

    For the full API documentation, refer to the package design page.

    Note

    This API is not suitable for all smoke test cases. It cannot be used when a specific file location (eg: for a map) is required to be passed to the node, or if some preparation needs to be conducted before node launch. In such cases use the manual solution from the component test section below.

    "},{"location":"contributing/testing-guidelines/integration-testing/#integration-test-with-a-single-node-component-test","title":"Integration test with a single node: component test","text":"

    The simplest scenario is a single node. In this case, the integration test is commonly referred to as a component test.

    To add a component test to an existing node, you can follow the example of the lanelet2_map_loader in the map_loader package (added in this PR).

    In package.xml, add:

    <test_depend>ros_testing</test_depend>\n

    In CMakeLists.txt, add or modify the BUILD_TESTING section:

    if(BUILD_TESTING)\nadd_ros_test(\ntest/lanelet2_map_loader_launch.test.py\nTIMEOUT \"30\"\n)\ninstall(DIRECTORY\ntest/data/\nDESTINATION share/${PROJECT_NAME}/test/data/\n)\nendif()\n

    In addition to the command add_ros_test, we also install any data that is required by the test using the install command.

    Note

    • The TIMEOUT argument is given in seconds; see the add_ros_test.cmake file for details.
    • The add_ros_test command will run the test in a unique ROS_DOMAIN_ID which avoids interference between tests running in parallel.

    To create a test, either read the launch_testing quick-start example, or follow the steps below.

    Taking test/lanelet2_map_loader_launch.test.py as an example, first dependencies are imported:

    import os\nimport unittest\n\nfrom ament_index_python import get_package_share_directory\nimport launch\nfrom launch import LaunchDescription\nfrom launch_ros.actions import Node\nimport launch_testing\nimport pytest\n

    Then a launch description is created to launch the node under test. Note that the test_map.osm file path is found and passed to the node, something that cannot be done with the smoke testing API:

    @pytest.mark.launch_test\ndef generate_test_description():\n\n    lanelet2_map_path = os.path.join(\n        get_package_share_directory(\"map_loader\"), \"test/data/test_map.osm\"\n    )\n\n    lanelet2_map_loader = Node(\n        package=\"map_loader\",\n        executable=\"lanelet2_map_loader\",\n        parameters=[{\"lanelet2_map_path\": lanelet2_map_path}],\n    )\n\n    context = {}\n\n    return (\n        LaunchDescription(\n            [\n                lanelet2_map_loader,\n                # Start test after 1s - gives time for the map_loader to finish initialization\n                launch.actions.TimerAction(\n                    period=1.0, actions=[launch_testing.actions.ReadyToTest()]\n                ),\n            ]\n        ),\n        context,\n    )\n

    Note

    • Since the node need time to process the input lanelet2 map, we use a TimerAction to delay the start of the test by 1s.
    • In the example above, the context is empty but it can be used to pass objects to the test cases.
    • You can find an example of using the context in the ROS 2 context_launch_test.py test example.

    Finally, a test is executed after the node executable has been shut down (post_shutdown_test). Here we ensure that the node was launched without error and exited cleanly.

    @launch_testing.post_shutdown_test()\nclass TestProcessOutput(unittest.TestCase):\n    def test_exit_code(self, proc_info):\n        # Check that process exits with code 0: no error\n        launch_testing.asserts.assertExitCodes(proc_info)\n
    "},{"location":"contributing/testing-guidelines/integration-testing/#running-the-test","title":"Running the test","text":"

    Continuing the example from above, first build your package:

    colcon build --packages-up-to map_loader\nsource install/setup.bash\n

    Then either execute the component test manually:

    ros2 test src/universe/autoware.universe/map/map_loader/test/lanelet2_map_loader_launch.test.py\n

    Or as part of testing the entire package:

    colcon test --packages-select map_loader\n

    Verify that the test is executed; e.g.

    $ colcon test-result --all --verbose\n...\nbuild/map_loader/test_results/map_loader/test_lanelet2_map_loader_launch.test.py.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\n
    "},{"location":"contributing/testing-guidelines/integration-testing/#next-steps","title":"Next steps","text":"

    The simple test described in Integration test with a single node: component test can be extended in numerous directions, such as testing a node's output.

    "},{"location":"contributing/testing-guidelines/integration-testing/#testing-the-output-of-a-node","title":"Testing the output of a node","text":"

    To test while the node is running, create an active test by adding a subclass of Python's unittest.TestCase to *launch.test.py. Some boilerplate code is required to access output by creating a node and a subscription to a particular topic, e.g.

    import unittest\n\nclass TestRunningDataPublisher(unittest.TestCase):\n\n    @classmethod\n    def setUpClass(cls):\n        cls.context = Context()\n        rclpy.init(context=cls.context)\n        cls.node = rclpy.create_node(\"test_node\", context=cls.context)\n\n    @classmethod\n    def tearDownClass(cls):\n        rclpy.shutdown(context=cls.context)\n\n    def setUp(self):\n        self.msgs = []\n        sub = self.node.create_subscription(\n            msg_type=my_msg_type,\n            topic=\"/info_test\",\n            callback=self._msg_received\n        )\n        self.addCleanup(self.node.destroy_subscription, sub)\n\n    def _msg_received(self, msg):\n        # Callback for ROS 2 subscriber used in the test\n        self.msgs.append(msg)\n\n    def get_message(self):\n        startlen = len(self.msgs)\n\n        executor = rclpy.executors.SingleThreadedExecutor(context=self.context)\n        executor.add_node(self.node)\n\n        try:\n            # Try up to 60 s to receive messages\n            end_time = time.time() + 60.0\n            while time.time() < end_time:\n                executor.spin_once(timeout_sec=0.1)\n                if startlen != len(self.msgs):\n                    break\n\n            self.assertNotEqual(startlen, len(self.msgs))\n            return self.msgs[-1]\n        finally:\n            executor.remove_node(self.node)\n\n    def test_message_content():\n        msg = self.get_message()\n        self.assertEqual(msg, \"Hello, world\")\n
    "},{"location":"contributing/testing-guidelines/integration-testing/#references","title":"References","text":"
    • colcon is used to build and run tests.
    • launch testing launches nodes and runs tests.
    • Testing guidelines describes the different types of tests performed in Autoware and links to the corresponding guidelines.
    "},{"location":"contributing/testing-guidelines/unit-testing/","title":"Unit testing","text":""},{"location":"contributing/testing-guidelines/unit-testing/#unit-testing","title":"Unit testing","text":"

    Unit testing is the first phase of testing and is used to validate units of source code such as classes and functions. Typically, a unit of code is tested by validating its output for various inputs. Unit testing helps ensure that the code behaves as intended and prevents accidental changes of behavior.

    Autoware uses the ament_cmake framework to build and run tests. The same framework is also used to analyze the test results.

    ament_cmake provides several convenience functions to make it easy to register tests in a CMake-based package and to ensure that JUnit-compatible result files are generated. It currently supports a few different testing frameworks like pytest, gtest, and gmock.

    In order to prevent tests running in parallel from interfering with each other when publishing and subscribing to ROS topics, it is recommended to use commands from ament_cmake_ros to run tests in isolation.

    See below for an example of using ament_add_ros_isolated_gtest with colcon test. All other tests follow a similar pattern.

    "},{"location":"contributing/testing-guidelines/unit-testing/#create-a-unit-test-with-gtest","title":"Create a unit test with gtest","text":"

    In my_cool_pkg/test, create the gtest code file test_my_cool_pkg.cpp:

    #include \"gtest/gtest.h\"\n#include \"my_cool_pkg/my_cool_pkg.hpp\"\nTEST(TestMyCoolPkg, TestHello) {\nEXPECT_EQ(my_cool_pkg::print_hello(), 0);\n}\n

    In package.xml, add the following line:

    <test_depend>ament_cmake_ros</test_depend>\n

    Next add an entry under BUILD_TESTING in the CMakeLists.txt to compile the test source files:

    if(BUILD_TESTING)\n\nament_add_ros_isolated_gtest(test_my_cool_pkg test/test_my_cool_pkg.cpp)\ntarget_link_libraries(test_my_cool_pkg ${PROJECT_NAME})\ntarget_include_directories(test_my_cool_pkg PRIVATE src)  # For private headers.\n...\nendif()\n

    This automatically links the test with the default main function provided by gtest. The code under test is usually in a different CMake target (${PROJECT_NAME} in the example) and its shared object for linking needs to be added. If the test source files include private headers from the src directory, the directory needs to be added to the include path using target_include_directories() function.

    To register a new gtest item, wrap the test code with the macro TEST (). TEST () is a predefined macro that helps generate the final test code, and also registers a gtest item to be available for execution. The test case name should be in CamelCase, since gtest inserts an underscore between the fixture name and the class case name when creating the test executable.

    gtest/gtest.h also contains predefined macros of gtest like ASSERT_TRUE(condition), ASSERT_FALSE(condition), ASSERT_EQ(val1,val2), ASSERT_STREQ(str1,str2), EXPECT_EQ(), etc. ASSERT_* will abort the test if the condition is not satisfied, while EXPECT_* will mark the test as failed but continue on to the next test condition.

    Info

    More information about gtest and its features can be found in the gtest repo.

    In the demo CMakeLists.txt, ament_add_ros_isolated_gtest is a predefined macro in ament_cmake_ros that helps simplify adding gtest code. Details can be viewed in ament_add_gtest.cmake.

    "},{"location":"contributing/testing-guidelines/unit-testing/#build-test","title":"Build test","text":"

    By default, all necessary test files (ELF, CTestTestfile.cmake, etc.) are compiled by colcon:

    cd ~/workspace/\ncolcon build --packages-select my_cool_pkg\n

    Test files are generated under ~/workspace/build/my_cool_pkg.

    "},{"location":"contributing/testing-guidelines/unit-testing/#run-test","title":"Run test","text":"

    To run all tests for a specific package, call:

    $ colcon test --packages-select my_cool_pkg\n\nStarting >>> my_cool_pkg\nFinished <<< my_cool_pkg [7.80s]\n\nSummary: 1 package finished [9.27s]\n

    The test command output contains a brief report of all the test results.

    To get job-wise information of all executed tests, call:

    $ colcon test-result --all\n\nbuild/my_cool_pkg/test_results/my_cool_pkg/copyright.xunit.xml: 8 tests, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/cppcheck.xunit.xml: 6 tests, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/lint_cmake.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/my_cool_pkg_exe_integration_test.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml: 1 test, 0 errors, 0 failures, 0 skipped\nbuild/my_cool_pkg/test_results/my_cool_pkg/xmllint.xunit.xml: 1 test, 0 errors, 0 failures, 0 skipped\n\nSummary: 18 tests, 0 errors, 0 failures, 0 skipped\n

    Look in the ~/workspace/log/test_<date>/<package_name> directory for all the raw test commands, std_out, and std_err. There is also the ~/workspace/log/latest_*/ directory containing symbolic links to the most recent package-level build and test output.

    To print the tests' details while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:

    $ colcon test --event-handlers console_cohesion+ --packages-select my_cool_pkg\n\n...\ntest 1\n    Start 1: test_my_cool_pkg\n\n1: Test command: /usr/bin/python3 \"-u\" \"~/workspace/install/share/ament_cmake_test/cmake/run_test.py\" \"~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml\" \"--package-name\" \"my_cool_pkg\" \"--output-file\" \"~/workspace/build/my_cool_pkg/ament_cmake_gtest/test_my_cool_pkg.txt\" \"--command\" \"~/workspace/build/my_cool_pkg/test_my_cool_pkg\" \"--gtest_output=xml:~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml\"\n1: Test timeout computed to be: 60\n1: -- run_test.py: invoking following command in '~/workspace/src/my_cool_pkg':\n1:  - ~/workspace/build/my_cool_pkg/test_my_cool_pkg --gtest_output=xml:~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml\n1: [==========] Running 1 test from 1 test case.\n1: [----------] Global test environment set-up.\n1: [----------] 1 test from test_my_cool_pkg\n1: [ RUN      ] test_my_cool_pkg.test_hello\n1: Hello World\n1: [       OK ] test_my_cool_pkg.test_hello (0 ms)\n1: [----------] 1 test from test_my_cool_pkg (0 ms total)\n1:\n1: [----------] Global test environment tear-down\n1: [==========] 1 test from 1 test case ran. (0 ms total)\n1: [  PASSED  ] 1 test.\n1: -- run_test.py: return code 0\n1: -- run_test.py: inject classname prefix into gtest result file '~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml'\n1: -- run_test.py: verify result file '~/workspace/build/my_cool_pkg/test_results/my_cool_pkg/test_my_cool_pkg.gtest.xml'\n1/5 Test #1: test_my_cool_pkg ...................   Passed    0.09 sec\n\n...\n\n100% tests passed, 0 tests failed out of 5\n\nLabel Time Summary:\ncopyright     =   0.49 sec*proc (1 test)\ncppcheck      =   0.20 sec*proc (1 test)\ngtest         =   0.05 sec*proc (1 test)\nlint_cmake    =   0.18 sec*proc (1 test)\nlinter        =   1.34 sec*proc (4 tests)\nxmllint       =   0.47 sec*proc (1 test)\n\nTotal Test time (real) =   7.91 sec\n...\n
    "},{"location":"contributing/testing-guidelines/unit-testing/#code-coverage","title":"Code coverage","text":"

    Loosely described, a code coverage metric is a measure of how much of the program code has been exercised (covered) during testing.

    In the Autoware repositories, Codecov is used to automatically calculate coverage of any open pull request.

    More details about the code coverage metrics can be found in the Codecov documentation.

    "},{"location":"datasets/","title":"Datasets","text":""},{"location":"datasets/#datasets","title":"Datasets","text":"

    Autoware partners provide datasets for testing and development. These datasets are available for download here.

    "},{"location":"datasets/#bus-odd-operational-design-domain-datasets","title":"Bus-ODD (Operational Design Domain) datasets","text":""},{"location":"datasets/#leo-drive-isuzu-sensor-data","title":"Leo Drive - ISUZU sensor data","text":"

    This dataset contains data from the Isuzu bus used in the Bus ODD project.

    The data contains data from following sensors:

    • 1 x VLP16
    • 2 x VLP32C
    • 1 x Applanix POS LV 120 GNSS/INS
    • 3 x Lucid Vision Triton 5.4MP cameras (left, right, front)
    • Vehicle status report

    It also contains /tf topic for static transformations between sensors.

    "},{"location":"datasets/#required-message-types","title":"Required message types","text":"

    The GNSS data is available in sensor_msgs/msg/NavSatFix message type.

    But also the Applanix raw messages are also included in applanix_msgs/msg/NavigationPerformanceGsof50 and applanix_msgs/msg/NavigationSolutionGsof49 message types. In order to be able to play back these messages, you need to build and source the applanix_msgs package.

    # Create a workspace and clone the repository\nmkdir -p ~/applanix_ws/src && cd \"$_\"\ngit clone https://github.com/autowarefoundation/applanix.git\ncd ..\n\n# Build the workspace\ncolcon build --symlink-install --packages-select applanix_msgs\n\n# Source the workspace\nsource ~/applanix_ws/install/setup.bash\n\n# Now you can play back the messages\n

    Also make sure to source Autoware Universe workspace too.

    "},{"location":"datasets/#download-instructions","title":"Download instructions","text":"
    # Install awscli\n$ sudo apt update && sudo apt install awscli -y\n\n# This will download the entire dataset to the current directory.\n# (About 10.9GB of data)\n$ aws s3 sync s3://autoware-files/collected_data/2022-08-22_leo_drive_isuzu_bags/ ./2022-08-22_leo_drive_isuzu_bags  --no-sign-request\n\n# Optionally,\n# If you instead want to download a single bag file, you can get a list of the available files with following:\n$ aws s3 ls s3://autoware-files/collected_data/2022-08-22_leo_drive_isuzu_bags/ --no-sign-request\n   PRE all-sensors-bag1_compressed/\n   PRE all-sensors-bag2_compressed/\n   PRE all-sensors-bag3_compressed/\n   PRE all-sensors-bag4_compressed/\n   PRE all-sensors-bag5_compressed/\n   PRE all-sensors-bag6_compressed/\n   PRE driving_20_kmh_2022_06_10-16_01_55_compressed/\n   PRE driving_30_kmh_2022_06_10-15_47_42_compressed/\n\n# Then you can download a single bag file with the following:\naws s3 sync s3://autoware-files/collected_data/2022-08-22_leo_drive_isuzu_bags/all-sensors-bag1_compressed/ ./all-sensors-bag1_compressed  --no-sign-request\n
    "},{"location":"datasets/#autocoreai-lidar-ros-2-bag-file-and-pcap","title":"AutoCore.ai - lidar ROS 2 bag file and pcap","text":"

    This dataset contains pcap files and ros2 bag files from Ouster OS1-64 Lidar. The pcap file and ros2 bag file is recorded in the same time with slight difference in duration.

    Click here to download (~553MB)

    Reference Issue

    "},{"location":"design/","title":"Autoware's Design","text":""},{"location":"design/#autowares-design","title":"Autoware's Design","text":""},{"location":"design/#architecture","title":"Architecture","text":"

    Core and Universe.

    Autoware provides the runtimes and technology components by open-source software. The runtimes are based on the Robot Operating System (ROS). The technology components are provided by contributors, which include, but are not limited to:

    • Sensing
      • Camera Component
      • LiDAR Component
      • RADAR Component
      • GNSS Component
    • Computing
      • Localization Component
      • Perception Component
      • Planning Component
      • Control Component
      • Logging Component
      • System Monitoring Component
    • Actuation
      • DBW Component
    • Tools
      • Simulator Component
      • Mapping Component
      • Remote Component
      • ML Component
      • Annotation Component
      • Calibration Component
    "},{"location":"design/#concern-assumption-and-limitation","title":"Concern, Assumption, and Limitation","text":"

    The downside of the microautonomy architecture is that the computational performance of end applications is sacrificed due to its data path overhead attributed to functional modularity. In other words, the trade-off characteristic of the microautonomy architecture exists between computational performance and functional modularity. This trade-off problem can be solved technically by introducing real-time capability. This is because autonomous driving systems are not really designed to be real-fast, that is, low-latency computing is nice-to-have but not must-have. The must-have feature for autonomous driving systems is that the latency of computing is predictable, that is, the systems are real-time. As a whole, we can compromise computational performance to an extent that is predictable enough to meet the given timing constraints of autonomous driving systems, often referred to as deadlines of computation.

    "},{"location":"design/#design","title":"Design","text":"

    Warning

    Under Construction

    "},{"location":"design/#autoware-concepts","title":"Autoware concepts","text":"

    The Autoware concepts page describes the design philosophy of Autoware. Readers (service providers and all Autoware users) will learn the basic concepts underlying Autoware development, such as microautonomy and the Core/Universe architecture.

    "},{"location":"design/#autoware-architecture","title":"Autoware architecture","text":"

    The Autoware architecture page describes an overview of each module that makes up Autoware. Readers (all Autoware users) will gain a high-level picture of how each module that composes Autoware works.

    "},{"location":"design/#autoware-interfaces","title":"Autoware interfaces","text":"

    The Autoware interfaces page describes in detail the interface of each module that makes up Autoware. Readers (intermediate developers) will learn how to add new functionality to Autoware and how to integrate their own modules with Autoware.

    "},{"location":"design/#configuration-management","title":"Configuration management","text":""},{"location":"design/#conclusion","title":"Conclusion","text":""},{"location":"design/autoware-architecture/","title":"Architecture overview","text":""},{"location":"design/autoware-architecture/#architecture-overview","title":"Architecture overview","text":"

    This page describes the architecture of Autoware.

    "},{"location":"design/autoware-architecture/#introduction","title":"Introduction","text":"

    The current Autoware is defined to be a layered architecture that clarifies each module's role and simplifies the interface between them. By doing so:

    • Autoware's internal processing becomes more transparent.
    • Collaborative development is made easier because of the reduced interdependency between modules.
    • Users can easily replace an existing module (e.g. localization) with their own software component by simply wrapping their software to fit in with Autoware's interface.

    Note that the initial focus of this architecture design was solely on driving capability, and so the following features were left as future work:

    • Fail safe
    • Human Machine Interface
    • Real-time processing
    • Redundant system
    • State monitoring system
    "},{"location":"design/autoware-architecture/#high-level-architecture-design","title":"High-level architecture design","text":"

    Autoware's architecture consists of the following six stacks. Each linked page contains a more detailed set of requirements and use cases specific to that stack:

    • Sensing design
    • Map design
    • Localization design
    • Perception design
    • Planning design
    • Control design
    • Vehicle Interface design
    "},{"location":"design/autoware-architecture/#node-diagram","title":"Node diagram","text":"

    A diagram showing Autoware's nodes in the default configuration can be found on the Node diagram page. Detailed documents for each node are available in the Autoware Universe docs.

    Note that Autoware configurations are scalable / selectable and will vary depending on the environment and required use cases.

    "},{"location":"design/autoware-architecture/#references","title":"References","text":"
    • The architecture presentation given to the AWF Technical Steering Committee, March 2020
    "},{"location":"design/autoware-architecture/control/","title":"Control component design","text":""},{"location":"design/autoware-architecture/control/#control-component-design","title":"Control component design","text":""},{"location":"design/autoware-architecture/control/#abstract","title":"Abstract","text":"

    This document presents the design concept of the Control Component. The content is as follows:

    • Autoware Control Design
      • Outlining the policy for Autoware's control, which deals with only general information for autonomous driving systems and provides generic control commands to the vehicle.
    • Vehicle Adaptation Design
      • Describing the policy for vehicle adaptation, which utilizes adapter mechanisms to standardize the characteristics of the vehicle's drive system and integrate it with Autoware.
    • Control Feature Design
      • Demonstrating the features provided by Autoware's control.
      • Presenting the approach towards the functions installed in the vehicle such as ABS.
    "},{"location":"design/autoware-architecture/control/#autoware-control-design","title":"Autoware Control Design","text":"

    The Control Component generates the control signal to which the Vehicle Component subscribes. The generated control signals are computed based on the reference trajectories from the Planning Component.

    The Control Component consists of two modules. The trajectory_follower module generates a vehicle control command to follow the reference trajectory received from the planning module. The command includes, for example, the desired steering angle and target speed. The vehicle_command_gate is responsible for filtering the control command to prevent abnormal values and then sending it to the vehicle. This gate also allows switching between multiple sources such as the MRM (minimal risk maneuver) module or some remote control module, in addition to the trajectory follower.

    The Autoware control system is designed as a platform for automated driving systems that can be compatible with a diverse range of vehicles.

    The control process in Autoware uses general information (such as target acceleration and deceleration) and no vehicle-specific information (such as brake pressure) is used. Hence it can be adjusted independently of the vehicle's drive interface enabling easy integration or performance tuning.

    Furthermore, significant differences that affect vehicle motion constraints, such as two-wheel steering or four-wheel steering, are addressed by switching the control vehicle model, achieving control specialized for each characteristic.

    Autoware's control module outputs the necessary information to control the vehicle as a substitute for a human driver. For example, the control command from the control module looks like the following:

    - Target steering angle\n- Target steering torque\n- Target speed\n- Target acceleration\n

    Note that vehicle-specific values such as pedal positions and low-level information such as individual wheel rotation speeds are excluded from the command.

    "},{"location":"design/autoware-architecture/control/#vehicle-adaptation-design","title":"Vehicle Adaptation Design","text":""},{"location":"design/autoware-architecture/control/#vehicle-interface-adapter","title":"Vehicle interface adapter","text":"

    Autoware is designed to be an autonomous driving platform able to accommodate vehicles with various drivetrain types.

    This is an explanation of how Autoware handles the standardization of systems with different vehicle drivetrain. The interfaces for vehicle drivetrain are diverse, including steering angle, steering angular velocity, steering torque, speed, accel/brake pedals, and brake pressure. To accommodate these differences, Autoware adds an adapter module between the control component and the vehicle interface. This module performs the conversion between the proprietary message types used by the vehicle (such as brake pressure) and the generic types used by Autoware (such as desired acceleration). By providing this conversion information, the differences in vehicle drivetrain can be accommodated.

    If the information is not known in advance, an automatic calibration tool can be used. Calibration will occur within limited degrees of freedom, generating the information necessary for the drivetrain conversion automatically.

    This configuration is summarized in the following diagram.

    "},{"location":"design/autoware-architecture/control/#examples-of-several-vehicle-interfaces","title":"Examples of several vehicle interfaces","text":"

    This is an example of the several drivetrain types in the vehicle interface.

    Vehicle Lateral interface Longitudinal interface Note Lexus Steering angle Accel/brake pedal position Acceleration lookup table conversion for longitudinal JPN TAXI Steering angle Accel/brake pedal position Acceleration lookup table conversion for longitudinal GSM8 Steering EPS voltage Acceleration motor voltage, Deceleration brake hydraulic pressure lookup table and PID conversion for lateral and longitudinal YMC Golfcart Steering angle Velocity Logiee yaw rate Velocity F1 TENTH Steering angle Motor RPM interface code"},{"location":"design/autoware-architecture/control/#control-feature-design","title":"Control Feature Design","text":"

    The following lists the features provided by Autoware's Control/Vehicle component, as well as the conditions and assumptions required to utilize them effectively.

    The proper operation of the ODD is limited by factors such as whether the functions are enabled, delay time, calibration accuracy and degradation rate, and sensor accuracy.

    Feature Description\u3000 Requirements/Assumptions Note \u3000Limitation for now Lateral Control Control the drivetrain system related to lateral vehicle motion Trying to increase the number of vehicle types that can be supported in the future. Only front-steering type is supported. Longitudinal Control Control the drivetrain system related to longitudinal vehicle motion Slope Compensation Supports precise vehicle motion control on slopes Gradient information can be obtained from maps or sensors attached to the chassis If gradient information is not available, the gradient is estimated from the vehicle's pitch angle. Delay Compensation Controls the drivetrain system appropriately in the presence of time delays The drivetrain delay information is provided in advance If there is no delay information, the drivetrain delay is estimated automatically (automatic calibration). However, the effect of delay cannot be completely eliminated, especially in scenarios with sudden changes in speed. Only fixed delay times can be set for longitudinal and lateral drivetrain systems separately. It does not accommodate different delay times for the accelerator and brake. Drivetrain IF Conversion (Lateral Control) Converts the drivetrain-specific information of the vehicle into the drivetrain information used by Autoware (e.g., target steering angular velocity \u2192 steering torque) The conversion information is provided in advance If there is no conversion information, the conversion map is estimated automatically (automatic calibration). The degree of freedom for conversion is limited (2D lookup table + PID FB). Drivetrain IF Conversion (Longitudinal Control) Converts the drivetrain-specific information of the vehicle into the drivetrain information used by Autoware (e.g., target acceleration \u2192 accelerator/brake pedal value) The conversion information is provided in advance If there is no conversion information, the conversion map is estimated automatically (automatic calibration). The degree of freedom for conversion is limited (2D lookup table + PID FB). Automatic Calibration Automatically estimates and applies values such as drivetrain IF conversion map and delay time. The drivetrain status can be obtained (must) Anomaly Detection Notifies when there is a discrepancy in the calibration or unexpected drivetrain behavior The drivetrain status can be obtained (must) Steering Zero Point Correction Corrects the midpoint of the steering to achieve appropriate steering control The drivetrain status can be obtained (must) Steering Deadzone Correction Corrects the deadzone of the steering to achieve appropriate steering control The steering deadzone parameter is provided in advance If the parameter is unknown, the deadzone parameter is estimated from driving information Not available now Steering Deadzone Estimation Dynamically estimates the steering deadzone from driving data Not available now Weight Compensation Performs appropriate vehicle control according to weight Weight information can be obtained from sensors If there is no weight sensor, estimate the weight from driving information. Currently not available Weight Estimation Dynamically estimates weight from driving data Currently not available

    The list above does not cover wheel control systems such as ABS commonly used in vehicles. Regarding these features, the following considerations are taken into account.

    "},{"location":"design/autoware-architecture/control/#integration-with-vehicle-side-functions","title":"Integration with vehicle-side functions","text":"

    ABS (Anti-lock Brake System) and ESC (Electric Stability Control) are two functions that may be pre-installed on a vehicle, directly impacting its controllability. The control modules of Autoware assume that both ABS and ESC are installed on the vehicle and their absence may cause unreliable controls depending on the target ODD. For example, with low-velocity driving in a controlled environment, these functions are not necessary.

    Also, note that this statement does not negate the development of ABS functionality in autonomous driving systems.

    "},{"location":"design/autoware-architecture/control/#autoware-capabilities-and-vehicle-requirements","title":"Autoware Capabilities and Vehicle Requirements","text":"

    As an alternative to human driving, autonomous driving systems essentially aim to handle tasks that humans can perform. This includes not only controlling the steering wheel, accel, and brake, but also automatically detecting issues such as poor brake response or a misaligned steering angle. However, this is a trade-off, as better vehicle performance will lead to superior system behavior, ultimately affecting the design of ODD.

    On the other hand, for tasks that are not typically anticipated or cannot be handled by a human driver, processing in the vehicle ECU is expected. Examples of such scenarios include cases where the brake response is clearly delayed or when the vehicle rotates due to a single-side tire slipping. These tasks are typically handled by ABS or ESC.

    "},{"location":"design/autoware-architecture/localization/","title":"Index","text":"

    LOCALIZATION COMPONENT DESIGN DOC

    "},{"location":"design/autoware-architecture/localization/#abstract","title":"Abstract","text":""},{"location":"design/autoware-architecture/localization/#1-requirements","title":"1. Requirements","text":"

    Localization aims to estimate vehicle pose, velocity, and acceleration.

    Goals:

    • Propose a system that can estimate vehicle pose, velocity, and acceleration for as long as possible.
    • Propose a system that can diagnose the stability of estimation and send a warning message to the error-monitoring system if the estimation result is unreliable.
    • Design a vehicle localization function that can work with various sensor configurations.

    Non-goals:

    • This design document does not aim to develop a localization system that
      • is infallible in all environments
      • works outside of the pre-defined ODD (Operational Design Domain)
      • has better performance than is required for autonomous driving
    "},{"location":"design/autoware-architecture/localization/#2-sensor-configuration-examples","title":"2. Sensor Configuration Examples","text":"

    This section shows example sensor configurations and their expected performances. Each sensor has its own advantages and disadvantages, but overall performance can be improved by fusing multiple sensors.

    "},{"location":"design/autoware-architecture/localization/#3d-lidar-pointcloud-map","title":"3D-LiDAR + PointCloud Map","text":""},{"location":"design/autoware-architecture/localization/#expected-situation","title":"Expected situation","text":"
    • The vehicle is located in a structure-rich environment, such as an urban area
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable","title":"Situations that can make the system unstable","text":"
    • The vehicle is placed in a structure-less environment, such as a rural landscape, highway, or tunnel
    • Environmental changes have occurred since the map was created, such as snow cover or the construction/destruction of buildings.
    • Surrounding objects are occluded
    • The car is surrounded by objects undetectable by LiDAR, e.g., glass windows, reflections, or absorption (dark objects)
    • The environment contains laser beams at the same frequency as the car's LiDAR sensor(s)
    "},{"location":"design/autoware-architecture/localization/#functionality","title":"Functionality","text":"
    • The system can estimate the vehicle location on the point cloud map with the error of ~10cm.
    • The system is operable at night.
    "},{"location":"design/autoware-architecture/localization/#3d-lidar-or-camera-vector-map","title":"3D-LiDAR or Camera + Vector Map","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_1","title":"Expected situation","text":"
    • Road with clear white lines and loose curvatures, such as a highway or an ordinary local road.
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_1","title":"Situations that can make the system unstable","text":"
    • White lines are scratchy or covered by rain or snow
    • Tight curvature such as intersections
    • Large reflection change of the road surface caused by rain or paint
    "},{"location":"design/autoware-architecture/localization/#functionalities","title":"Functionalities","text":"
    • Correct vehicle positions along the lateral direction.
    • Pose correction along the longitudinal can be inaccurate, but can be resolved by fusing with GNSS.
    "},{"location":"design/autoware-architecture/localization/#gnss","title":"GNSS","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_2","title":"Expected situation","text":"
    • The vehicle is placed in an open environment with few to no surrounding objects, such as a rural landscape.
    "},{"location":"design/autoware-architecture/localization/#situation-that-can-make-the-system-unstable","title":"Situation that can make the system unstable","text":"
    • GNSS signals are blocked by surrounding objects, e.g., tunnels or buildings.
    "},{"location":"design/autoware-architecture/localization/#functionality_1","title":"Functionality","text":"
    • The system can estimate vehicle position in the world coordinate within an error of ~10m.
    • With a RKT-GNSS (Real Time Kinematic Global Navigation Satellite System) attached, the accuracy can be improved to ~10cm.
    • A system with this configuration can work without environment maps (both point cloud and vector map types).
    "},{"location":"design/autoware-architecture/localization/#camera-visual-odometry-visual-slam","title":"Camera (Visual Odometry, Visual SLAM)","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_3","title":"Expected situation","text":"
    • The vehicle is placed in an environment with rich visual features, such as an urban area.
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_2","title":"Situations that can make the system unstable","text":"
    • The vehicle is placed in a texture-less environment.
    • The vehicle is surrounded by other objects.
    • The camera observes significant illumination changes, such as those caused by sunshine, headlights from other vehicles or when approaching the exit of a tunnel.
    • The vehicle is placed in a dark environment.
    "},{"location":"design/autoware-architecture/localization/#functionality_2","title":"Functionality","text":"
    • The system can estimate odometry by tracking visual features.
    "},{"location":"design/autoware-architecture/localization/#wheel-speed-sensor","title":"Wheel speed sensor","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_4","title":"Expected situation","text":"
    • The vehicle is running on a flat and smooth road.
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_3","title":"Situations that can make the system unstable","text":"
    • The vehicle is running on a slippery or bumpy road, which can cause incorrect observations of wheel speed.
    "},{"location":"design/autoware-architecture/localization/#functionality_3","title":"Functionality","text":"
    • The system can acquire the vehicle velocity and estimate distance traveled.
    "},{"location":"design/autoware-architecture/localization/#imu","title":"IMU","text":""},{"location":"design/autoware-architecture/localization/#expected-environments","title":"Expected environments","text":"
    • Flat, smooth roads
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_4","title":"Situations that can make the system unstable","text":"
    • IMUs have a bias1 that is dependent on the surrounding temperature, and can cause incorrect sensor observation or odometry drift.
    "},{"location":"design/autoware-architecture/localization/#functionality_4","title":"Functionality","text":"
    • The system can observe acceleration and angular velocity.
    • By integrating these observations, the system can estimate the local pose change and realize dead-reckoning
    "},{"location":"design/autoware-architecture/localization/#geomagnetic-sensor","title":"Geomagnetic sensor","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_5","title":"Expected situation","text":"
    • The vehicle is placed in an environment with low magnetic noise
    "},{"location":"design/autoware-architecture/localization/#situations-that-can-make-the-system-unstable_5","title":"Situations that can make the system unstable","text":"
    • The vehicle is placed in an environment with high magnetic noise, such as one containing buildings or structures with reinforced steel or other materials that generate electromagnetic waves.
    "},{"location":"design/autoware-architecture/localization/#functionality_5","title":"Functionality","text":"
    • The system can estimate the vehicle's direction in the world coordinate system.
    "},{"location":"design/autoware-architecture/localization/#magnetic-markers","title":"Magnetic markers","text":""},{"location":"design/autoware-architecture/localization/#expected-situation_6","title":"Expected situation","text":"
    • The car is placed in an environment with magnetic markers installed.
    "},{"location":"design/autoware-architecture/localization/#situations-where-the-system-becomes-unstable","title":"Situations where the system becomes unstable","text":"
    • The markers are not maintained.
    "},{"location":"design/autoware-architecture/localization/#functionality_6","title":"Functionality","text":"
    • Vehicle location can be obtained on the world coordinate by detecting the magnetic markers.
    • The system can work even if the road is covered with snow.
    "},{"location":"design/autoware-architecture/localization/#3-requirements","title":"3. Requirements","text":"
    • By implementing different modules, various sensor configurations and algorithms can be used.
    • The localization system can start pose estimation from an ambiguous initial location.
    • The system can produce a reliable initial location estimation.
    • The system can manage the state of the initial location estimation (uninitialized, initializable, or non-initializable) and can report to the error monitor.
    "},{"location":"design/autoware-architecture/localization/#4-architecture","title":"4. Architecture","text":""},{"location":"design/autoware-architecture/localization/#abstract_1","title":"Abstract","text":"

    Two architectures are defined, \"Required\" and \"Recommended\". However, the \"Required\" architecture only contains the inputs and outputs necessary to accept various localization algorithms. To improve the reusability of each module, the required components are defined in the \"Recommended\" architecture section along with a more detailed explanation.

    "},{"location":"design/autoware-architecture/localization/#required-architecture","title":"Required Architecture","text":""},{"location":"design/autoware-architecture/localization/#input","title":"Input","text":"
    • Sensor message
      • e.g., LiDAR, camera, GNSS, IMU, CAN Bus, etc.
      • Data types should be ROS primitives for reusability
    • Map data
      • e.g., point cloud map, lanelet2 map, feature map, etc.
      • The map format should be chosen based on use case and sensor configuration
      • Note that map data is not required for some specific cases (e.g., GNSS-only localization)
    • tf, static_tf
      • map frame
      • base_link frame
    "},{"location":"design/autoware-architecture/localization/#output","title":"Output","text":"
    • Pose with covariance stamped
      • Vehicle pose, covariance, and timestamp on the map coordinate
      • 50Hz~ frequency (depending on the requirements of the Planning and Control components)
    • Twist with covariance stamped
      • Vehicle velocity, covariance, and timestamp on the base_link coordinate
      • 50Hz~ frequency
    • Accel with covariance stamped
      • Acceleration, covariance, and timestamp on the base_link coordinate
      • 50Hz~ frequency
    • Diagnostics
      • Diagnostics information that indicates if the localization module works properly
    • tf
      • tf of map to base_link
    "},{"location":"design/autoware-architecture/localization/#recommended-architecture","title":"Recommended Architecture","text":""},{"location":"design/autoware-architecture/localization/#pose-estimator","title":"Pose Estimator","text":"
    • Estimates the vehicle pose on the map coordinate by matching external sensor observation to the map
    • Provides the obtained pose and its covariance to PoseTwistFusionFilter
    "},{"location":"design/autoware-architecture/localization/#twist-accel-estimator","title":"Twist-Accel Estimator","text":"
    • Produces the vehicle velocity, angular velocity, acceleration, angular acceleration, and their covariances
      • It is possible to create a single module for both twist and acceleration or to create two separate modules - the choice of architecture is up to the developer
    • The twist estimator produces velocity and angular velocity from internal sensor observation
    • The accel estimator produces acceleration and angular acceleration from internal sensor observations
    "},{"location":"design/autoware-architecture/localization/#kinematics-fusion-filter","title":"Kinematics Fusion Filter","text":"
    • Produces the likeliest pose, velocity, acceleration, and their covariances, computed by fusing two kinds of information:
      • The pose obtained from the pose estimator.
      • The velocity and acceleration obtained from the twist-accel estimator
    • Produces tf of map to base_link according to the pose estimation result
    "},{"location":"design/autoware-architecture/localization/#localization-diagnostics","title":"Localization Diagnostics","text":"
    • Monitors and guarantees the stability and reliability of pose estimation by fusing information obtained from multiple localization modules
    • Reports error status to the error monitor
    "},{"location":"design/autoware-architecture/localization/#tf-tree","title":"TF tree","text":"frame meaning earth ECEF (Earth Centered Earth Fixed\uff09 map Origin of the map coordinate (ex. MGRS origin) viewer User-defined frame for rviz base_link Reference pose of the ego-vehicle (projection of the rear-axle center onto the ground surface) sensor Reference pose of each sensor

    Developers can optionally add other frames such as odom or base_footprint as long as the tf structure above is maintained.

    "},{"location":"design/autoware-architecture/localization/#the-localization-modules-ideal-functionality","title":"The localization module's ideal functionality","text":"
    • The localization module should provide pose, velocity, and acceleration for control, planning, and perception.
    • Latency and stagger should be sufficiently small or adjustable such that the estimated values can be used for control within the ODD (Operational Design Domain).
    • The localization module should produce the pose on a fixed coordinate frame.
    • Sensors should be independent of each other so that they can be easily replaced.
    • The localization module should provide a status indicating whether or not the autonomous vehicle can operate with the self-contained function or map information.
    • Tools or manuals should describe how to set proper parameters for the localization module
    • Valid calibration parameters should be provided to align different frame or pose coordinates and sensor timestamps.
    "},{"location":"design/autoware-architecture/localization/#kpi","title":"KPI","text":"

    To maintain sufficient pose estimation performance for safe operation, the following metrics are considered:

    • Safety
      • The distance traveled within the ODD where pose estimation met the required accuracy, divided by the overall distance traveled within the ODD, as a percentage.
      • The anomaly detection rate for situations where the localization module cannot estimate pose within the ODD
      • The accuracy of detecting when the vehicle goes outside of the ODD, as a percentage.
    • Computational load
    • Latency
    "},{"location":"design/autoware-architecture/localization/#5-interface-and-data-structure","title":"5. Interface and Data Structure","text":""},{"location":"design/autoware-architecture/localization/#6-concerns-assumptions-and-limitations","title":"6. Concerns, Assumptions, and Limitations","text":""},{"location":"design/autoware-architecture/localization/#prerequisites-of-sensors-and-inputs","title":"Prerequisites of sensors and inputs","text":""},{"location":"design/autoware-architecture/localization/#sensor-prerequisites","title":"Sensor prerequisites","text":"
    • Input data is not defective.
      • Internal sensor observation such as IMU continuously keeps the proper frequency.
    • Input data has correct and exact time stamps.
      • Estimated poses can be inaccurate or unstable if the timestamps are not exact.
    • Sensors are correctly mounted with exact positioning and accessible from TF.
      • If the sensor positions are inaccurate, estimation results may be incorrect or unstable.
      • A sensor calibration framework is required to properly obtain the sensor positions.
    "},{"location":"design/autoware-architecture/localization/#map-prerequisites","title":"Map prerequisites","text":"
    • Sufficient information is contained within the map.
      • Pose estimation might be unstable if there is insufficient information in the map.
      • A testing framework is necessary to check if the map has adequate information for pose estimation.
    • Map does not differ greatly from the actual environment.
      • Pose estimation might be unstable if the actual environment has different objects from the map.
      • Maps need updates according to new objects and seasonal changes.
    • Maps must be aligned to a uniform coordinate, or an alignment framework is in place.
      • If multiple maps with different coordinate systems are used, the misalignment between them can affect the localization performance.
    "},{"location":"design/autoware-architecture/localization/#computational-resources","title":"Computational resources","text":"
    • Sufficient computational resources should be provided to maintain accuracy and computation speed.
    1. For more details about bias, refer to the VectorNav IMU specifications page.\u00a0\u21a9

    "},{"location":"design/autoware-architecture/map/","title":"Map component design","text":""},{"location":"design/autoware-architecture/map/#map-component-design","title":"Map component design","text":""},{"location":"design/autoware-architecture/map/#1-overview","title":"1. Overview","text":"

    Autoware relies on high-definition point cloud maps and vector maps of the driving environment to perform various tasks such as localization, route planning, traffic light detection, and predicting the trajectories of pedestrians and other vehicles.

    This document describes the design of map component of Autoware, including its requirements, architecture design, features, data formats, and interface to distribute map information to the rest of autonomous driving stack.

    "},{"location":"design/autoware-architecture/map/#2-requirements","title":"2. Requirements","text":"

    Map should provide two types of information to the rest of the stack:

    • Semantic information about roads as a vector map
    • Geometric information about the environment as a point cloud map (optional)

    A vector map contains highly accurate information about a road network, lane geometry, and traffic lights. It is required for route planning, traffic light detection, and predicting the trajectories of other vehicles and pedestrians.

    A 3D point cloud map is primarily used for LiDAR-based localization and part of perception in Autoware. In order to determine the current position and orientation of the vehicle, a live scan captured from one or more LiDAR units is matched against a pre-generated 3D point cloud map. Therefore, an accurate point cloud map is crucial for good localization results. However, if the vehicle has an alternate localization method with enough accuracy, for example using camera-based localization, point cloud map may not be required to use Autoware.

    In addition to above two types of maps, Autoware also requires a supplemental file for specifying the coordinate system of the map in geodetic system.

    "},{"location":"design/autoware-architecture/map/#3-architecture","title":"3. Architecture","text":"

    This diagram describes the high-level architecture of Map component in Autoware.

    The Map component consists of the following sub-components:

    • Point Cloud Map Loading: Load and publish point cloud map
    • Vector Map Loading: Load and publish vector map
    • Projection Loading: Load and publish projection information for conversion between local coordinate (x, y, z) and geodetic coordinate (latitude, longitude, altitude)
    "},{"location":"design/autoware-architecture/map/#4-component-interface","title":"4. Component interface","text":""},{"location":"design/autoware-architecture/map/#input-to-the-map-component","title":"Input to the map component","text":"
    • From file system
      • Point cloud map and its metadata file
      • Vector map
      • Projection information
    "},{"location":"design/autoware-architecture/map/#output-from-the-map-component","title":"Output from the map component","text":"
    • To Sensing
      • Projection information: Used to convert GNSS data from geodetic coordinate system to local coordinate system
    • To Localization
      • Point cloud map: Used for LiDAR-based localization
      • Vector map: Used for localization methods based on road markings, etc
    • To Perception
      • Point cloud map: Used for obstacle segmentation by comparing LiDAR and point cloud map
      • Vector map: Used for vehicle trajectory prediction
    • To Planning
      • Vector map: Used for behavior planning
    • To API layer
      • Projection information: Used to convert localization results from local coordinate system to geodetic coordinate system
    "},{"location":"design/autoware-architecture/map/#5-map-specification","title":"5. Map Specification","text":""},{"location":"design/autoware-architecture/map/#point-cloud-map","title":"Point Cloud Map","text":"

    The point cloud map must be supplied as a file with the following requirements:

    • The point cloud map must be projected on the same coordinate defined in map_projection_loader in order to be consistent with the lanelet2 map and other packages that converts between local and geodetic coordinates. For more information, please refer to the readme of map_projection_loader.
    • It must be in the PCD (Point Cloud Data) file format, but can be a single PCD file or divided into multiple PCD files.
    • Each point in the map must contain X, Y, and Z coordinates.
    • An intensity or RGB value for each point may be optionally included.
    • It must cover the entire operational area of the vehicle. It is also recommended to include an additional buffer zone according to the detection range of sensors attached to the vehicle.
    • Its resolution should be at least 0.2 m to yield reliable localization results.
    • It can be in either local or global coordinates, but must be in global coordinates (georeferenced) to use GNSS data for localization.

    For more details on divided map format, please refer to the readme of map_loader in Autoware Universe.

    Note

    Three global coordinate systems are currently supported by Autoware, including Military Grid Reference System (MGRS), Universal Transverse Mercator (UTM), and Japan Rectangular Coordinate System. However, MGRS is a preferred coordinate system for georeferenced maps. In a map with MGRS coordinate system, the X and Y coordinates of each point represent the point's location within the 100,000-meter square, while the Z coordinate represents the point's elevation.

    "},{"location":"design/autoware-architecture/map/#vector-map","title":"Vector Map","text":"

    The vector cloud map must be supplied as a file with the following requirements:

    • It must be in Lanelet2 format, with additional modifications required by Autoware.
    • It must contain the shape and position information of lanes, traffic lights, stop lines, crosswalks, parking spaces, and parking lots.
    • Except at the beginning or end of a road, each lanelet in the map must be correctly connected to its predecessor, successors, left neighbor, and right neighbor.
    • Each lanelet in the map must contain traffic rule information including its speed limit, right of way, traffic direction, associated traffic lights, stop lines, and traffic signs.
    • It must cover the entire operational area of the vehicle.

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/map/#projection-information","title":"Projection Information","text":"

    The projection information must be supplied as a file with the following requirements:

    • It must be in YAML format, provided into map_projection_loader in current Autoware Universe implementation.
    • The file must contain the following information:
      • The name of the projection method used to convert between local and global coordinates
      • The parameters of the projection method (depending on the projection method)

    For further information, please refer to the readme of map_projection_loader in Autoware Universe.

    "},{"location":"design/autoware-architecture/node-diagram/","title":"Node diagram","text":""},{"location":"design/autoware-architecture/node-diagram/#node-diagram","title":"Node diagram","text":"

    This page depicts the node diagram designs for Autoware Core/Universe architecture.

    "},{"location":"design/autoware-architecture/node-diagram/#autoware-core","title":"Autoware Core","text":"

    TBD.

    "},{"location":"design/autoware-architecture/node-diagram/#autoware-universe","title":"Autoware Universe","text":"

    Open in draw.io for fullscreen

    Note that the diagram is for reference. We are planning to update this diagram every release and may have old information between the releases. If you wish to check the latest node diagram use rqt_graph after launching the Autoware.

    "},{"location":"design/autoware-architecture/perception/","title":"Perception component design","text":""},{"location":"design/autoware-architecture/perception/#perception-component-design","title":"Perception component design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/planning/","title":"Planning component design","text":""},{"location":"design/autoware-architecture/planning/#planning-component-design","title":"Planning component design","text":""},{"location":"design/autoware-architecture/planning/#overview","title":"Overview","text":"

    The Planning component generates the trajectory message that will be subscribed to by the Control component based on the environmental state obtained from the Localization and the Perception components.

    "},{"location":"design/autoware-architecture/planning/#requirements","title":"Requirements","text":"

    The goal of the Planning component is to generate a trajectory (path and velocity) of the ego vehicle that is safe and well-regulated while satisfying the given mission.

    Goals:

    • The basic functions are provided so that a simple ODD can be defined.
    • The functionality is modularized to accommodate the third-party components. That is, a complicated or realistic ODD needs not be defined by the basic functions provided by default.
    • The capability is extensible with the third-party components or the decision of human operators.
    • The mechanism and policy are separated to allow the system or operators to change the behavior of the ego vehicle. Ultimately speaking, the policy can be set to crash an obstacle and the mechanism always follows. Otherwise, the system is not safe from the design point of view.

    Non-goals:

    • The Planning component is not self-contained but can be extended with third parties.
    • The Planning component is not aimed at the complete functionality and capability.
    • The Planning component is not designed to always outperform human drivers.
    • The Planning component is not capable of \u201cnever crashes\u201d.
    "},{"location":"design/autoware-architecture/planning/#high-level-architecture","title":"High-level architecture","text":"

    This diagram describes the high-level architecture of the Planning Component.

    The Planning component consists of the following sub-components:

    • Mission Planning: Calculates the route based on the given goal and map information.
    • Scenario Planning: Determines the trajectory based on the current scenario, such as Lane Driving or Parking.
      • Lane Driving: Calculates the trajectory for driving within constructed lanes.
        • Behavior Planner: Calculates suitable path based on safety considerations and traffic rules.
        • Motion Planner: Calculates suitable trajectory for the vehicle by taking into account safety factors, vehicle motion considerations, and instructions from the behavior planner.
      • Parking: Calculates the trajectory for parking in unstructured areas.
    • Validation: Verifies the safety of the trajectory.

    Each component contains some modules that can be dynamically loaded and unloaded based on the situation. For instance, the Behavior Planning component includes modules such as lane change, intersection, and crosswalk modules.

    Our planning components are built based on the microautonomy architecture with Autoware. We adopt a modular system framework where the tasks are implemented as modules that can be dynamically loaded and unloaded to achieve different features depending on the given use cases.

    "},{"location":"design/autoware-architecture/planning/#component-interface","title":"Component interface","text":"

    This section describes the inputs and outputs of the Planning Component and of its internal modules. See the Planning Component Interface page for the current implementation.

    "},{"location":"design/autoware-architecture/planning/#input-to-the-planning-component","title":"Input to the planning component","text":"
    • From Map
      • Vector map: Contains all static information about the environment, including lane connection information for route planning, lane geometry for generating a reference path, and traffic rule-related information.
    • From Perception
      • Detected object information: Provides real-time information about objects that cannot be known in advance, such as pedestrians and other vehicles. The Planning Component plans maneuvers to avoid collisions with these objects.
      • Detected obstacle information: Supplies real-time information about the location of obstacles, which is more primitive than Detected Object and used for emergency stops and other safety measures.
      • Occupancy map information: Offers real-time information about the presence of pedestrians and other vehicles and occluded area information.
      • Traffic light recognition result: Provides the current state of each traffic light in real time. The Planning Component extracts relevant information for the planned path and determines whether to stop at intersections.
    • From Localization
      • Vehicle motion information: Includes the ego vehicle's position, velocity, acceleration, and other motion-related data.
    • From System
      • Operation mode: Indicates whether the vehicle is operating in Autonomous mode.
    • From Human Machine Interface (HMI)
      • Feature execution: Allows for executing/authorizing autonomous driving operations, such as lane changes or entering intersections, by human operators.
    • From API Layer
      • Goal: Represents the final position that the Planning Component aims to reach.
      • Checkpoint: Represents a midpoint along the route to the destination. This is used during route calculation.
      • Velocity limit: Sets the maximum speed limit for the vehicle.
    "},{"location":"design/autoware-architecture/planning/#output-from-the-planning-component","title":"Output from the planning component","text":"
    • To Control
      • Trajectory: Provides a smooth sequence of pose, twist, and acceleration that the Control Component must follow. The trajectory is typically 10 seconds long with a 0.1-second resolution.
      • Turn Signals: Controls the vehicle's turn indicators, such as right, left, hazard, etc. based on the planned maneuvers.
    • To System
      • Diagnostics: Reports the state of the Planning Component, indicating whether the processing is running correctly and whether a safe plan is being generated.
    • To Human Machine Interface (HMI)
      • Feature execution availability: Indicates the status of operations that can be executed or are required, such as lane changes or entering intersections.
      • Trajectory candidate: Shows the potential trajectory that will be executed after the user's execution.
    • To API Layer
      • Planning factors: Provides information about the reasoning behind the current planning behavior. This may include the position of target objects to avoid, obstacles that led to the decision to stop, and other relevant information.
    "},{"location":"design/autoware-architecture/planning/#internal-interface-in-the-planning-component","title":"Internal interface in the planning component","text":"
    • Mission Planning to Scenario Planning
      • Route: Offers guidance for the path that needs to be followed from the starting point to the destination. This path is determined based on information such as lane IDs defined on the map. At the route level, it doesn't explicitly indicate which specific lanes to take, and the route can contain multiple lanes.
    • Behavior Planning to Motion Planning
      • Path: Provides a rough position and velocity to be followed by the vehicle. These path points are usually defined with an interval of about 1 meter. Although other interval distances are possible, it may impact the precision or performance of the planning component.
      • Drivable area: Defines regions where the vehicle can drive, such as within lanes or physically drivable areas. It assumes that the motion planner will calculate the final trajectory within this defined area.
    • Scenario Planning to Validation
      • Trajectory: Defines the desired positions, velocities, and accelerations which the Control Component will try to follow. Trajectory points are defined at intervals of approximately 0.1 seconds based on the trajectory velocities.
    • Validation to Control Component
      • Trajectory: Same as above but with some additional safety considerations.
    "},{"location":"design/autoware-architecture/planning/#how-to-add-new-modules-wip","title":"How to add new modules (WIP)","text":"

    As mentioned in the goal session, this planning module is designed to be extensible by third-party components. For specific instructions on how to add new modules and expand its functionality, please refer to the provided documentation or guidelines (WIP).

    "},{"location":"design/autoware-architecture/planning/#supported-functions","title":"Supported Functions","text":"Feature Description Requirements Figure Route Planning Plan route from the ego vehicle position to the destination. Reference implementation is in Mission Planner, enabled by launching the mission_planner node. - Lanelet map (driving lanelets) Path Planning from Route Plan path to be followed from the given route. Reference implementation is in Behavior Path Planner. - Lanelet map (driving lanelets) Obstacle Avoidance Plan path to avoid obstacles by steering operation. Reference implementation is in Avoidance, Obstacle Avoidance Planner. Enable flag in parameter: launch obstacle_avoidance_planner true Demonstration Video - objects information Path Smoothing Plan path to achieve smooth steering. Reference implementation is in Obstacle Avoidance Planner. Demonstration Video - Lanelet map (driving lanelet) Narrow Space Driving Plan path to drive within the drivable area. Furthermore, when it is not possible to drive within the drivable area, stop the vehicle to avoid exiting the drivable area. Reference implementation is in Obstacle Avoidance Planner. Demonstration Video - Lanelet map (high-precision lane boundaries) Lane Change Plan path for lane change to reach the destination. Reference implementation is in Lane Change. Demonstration Video - Lanelet map (driving lanelets) Pull Over Plan path for pull over to park at the road shoulder. Reference implementation is in Goal Planner. Demonstration Videos: Simple Pull Over Arc Forward Pull Over Arc Backward Pull Over - Lanelet map (shoulder lane) Pull Out Plan path for pull over to start from the road shoulder. Reference implementation is in Pull Out Module. Demonstration Video: Simple Pull Out Backward Pull Out - Lanelet map (shoulder lane) Path Shift Plan path in lateral direction in response to external instructions. Reference implementation is in Side Shift Module. - None Obstacle Stop Plan velocity to stop for an obstacle on the path. Reference implementation is in Obstacle Stop Planner, Obstacle Cruise Planner. launch obstacle_stop_planner and enable flag: TODO, launch obstacle_cruise_planner and enable flag: TODO Demonstration Video - objects information Obstacle Deceleration Plan velocity to decelerate for an obstacle located around the path. Reference implementation is in Obstacle Stop Planner, Obstacle Cruise Planner. Demonstration Video - objects information Adaptive Cruise Control Plan velocity to follow the vehicle driving in front of the ego vehicle. Reference implementation is in Obstacle Stop Planner, Obstacle Cruise Planner. - objects information Decelerate for cut-in vehicles Plan velocity to avoid a risk for cutting-in vehicle to ego lane. Reference implementation is in Obstacle Cruise Planner. - objects information Surround Check at starting Plan velocity to prevent moving when an obstacle exists around the vehicle. Reference implementation is in Surround Obstacle Checker. Enable flag in parameter: use_surround_obstacle_check true in tier4_planning_component.launch.xml Demonstration Video - objects information Curve Deceleration Plan velocity to decelerate the speed on a curve. Reference implementation is in Motion Velocity Smoother. - None Curve Deceleration for Obstacle Plan velocity to decelerate the speed on a curve for a risk of obstacle collision around the path. Reference implementation is in Obstacle Velocity Limiter. Demonstration Video - objects information - Lanelet map (static obstacle) Crosswalk Plan velocity to stop or decelerate for pedestrians approaching or walking on a crosswalk. Reference implementation is in Crosswalk Module. Demonstration Video - objects information - Lanelet map (pedestrian crossing) Intersection Oncoming Vehicle Check Plan velocity for turning right/left at intersection to avoid a risk with oncoming other vehicles. Reference implementation is in Intersection Module. Demonstration Video - objects information - Lanelet map (intersection lane and yield lane) Intersection Blind Spot Check Plan velocity for turning right/left at intersection to avoid a risk with other vehicles or motorcycles coming from behind blind spot. Reference implementation is in Blind Spot Module. Demonstration Video - objects information - Lanelet map (intersection lane) Intersection Occlusion Check Plan velocity for turning right/left at intersection to avoid a risk with the possibility of coming vehicles from occlusion area. Reference implementation is in Intersection Module. Demonstration Video - objects information - Lanelet map (intersection lane) Intersection Traffic Jam Detection Plan velocity for intersection not to enter the intersection when a vehicle is stopped ahead for a traffic jam. Reference implementation is in Intersection Module. Demonstration Video - objects information - Lanelet map (intersection lane) Traffic Light Plan velocity for intersection according to a traffic light signal. Reference implementation is in Traffic Light Module. Demonstration Video - Traffic light color information Run-out Check Plan velocity to decelerate for the possibility of nearby objects running out into the path. Reference implementation is in Run Out Module. Demonstration Video - objects information Stop Line Plan velocity to stop at a stop line. Reference implementation is in Stop Line Module. Demonstration Video - Lanelet map (stop line) Occlusion Spot Check Plan velocity to decelerate for objects running out from occlusion area, for example, from behind a large vehicle. Reference implementation is in Occlusion Spot Module. Demonstration Video - objects information - Lanelet map (private/public lane) No Stop Area Plan velocity not to stop in areas where stopping is prohibited, such as in front of the fire station entrance. Reference implementation is in No Stopping Area Module. - Lanelet map (no stopping area) Merge from Private Area to Public Road Plan velocity for entering the public road from a private driveway to avoid a risk of collision with pedestrians or other vehicles. Reference implementation is in Merge from Private Area Module. - objects information - Lanelet map (private/public lane) WIP Speed Bump Plan velocity to decelerate for speed bumps. Reference implementation is in Speed Bump Module. Demonstration Video - Lanelet map (speed bump) Detection Area Plan velocity to stop at the corresponding stop when an object exist in the designated detection area. Reference implementation is in Detection Area Module. Demonstration Video - Lanelet map (detection area) No Drivable Lane Plan velocity to stop before exiting the area designated by ODD (Operational Design Domain) or stop the vehicle if autonomous mode started in out of ODD lane. Reference implementation is in No Drivable Lane Module. - Lanelet map (no drivable lane) Collision Detection when deviating from lane Plan velocity to avoid conflict with other vehicles driving in the another lane when the ego vehicle is deviating from own lane. Reference implementation is in Out of Lane Module. - objects information - Lanelet map (driving lane) WIP Parking Plan path and velocity for given goal in parking area. Reference implementation is in Free Space Planner. Demonstration Video - objects information - Lanelet map (parking area) Autonomous Emergency Braking (AEB) Perform an emergency stop if a collision with an object ahead is anticipated. It is noted that this function is expected as a final safety layer, and this should work even in the event of failures in the Localization or Perception system. Reference implementation is in Out of Lane Module. - Primitive objects Minimum Risk Maneuver (MRM) Provide appropriate MRM (Minimum Risk Maneuver) instructions when a hazardous event occurs. For example, when a sensor trouble found, send an instruction for emergency braking, moderate stop, or pulling over to the shoulder, depending on the severity of the situation. Reference implementation is in TODO - TODO WIP Trajectory Validation Check the planned trajectory is safe. If it is unsafe, take appropriate action, such as modify the trajectory, stop sending the trajectory or report to the autonomous driving system. Reference implementation is in Planning Validator. - None Running Lane Map Generation Generate lane map from localization data recorded in manual driving. Reference implementation is in WIP - None WIP Running Lane Optimization Optimize the centerline (reference path) of the map to make it smooth considering the vehicle kinematics. Reference implementation is in Static Centerline Optimizer. - Lanelet map (driving lanes) WIP"},{"location":"design/autoware-architecture/planning/#reference-implementation","title":"Reference Implementation","text":"

    The following diagram describes the reference implementation of the Planning component. By adding new modules or extending the functionalities, various ODDs can be supported.

    Note that some implementation does not adhere to the high-level architecture design and require updating.

    For more details, please refer to the design documents in each package.

    • mission_planner: calculate route from start to goal based on the map information.
    • behavior_path_planner: calculates path and drivable area based on the traffic rules.
      • lane_following
      • lane_change
      • avoidance
      • pull_over
      • pull_out
      • side_shift
    • behavior_velocity_planner: calculates max speed based on the traffic rules.
      • detection_area
      • blind_spot
      • cross_walk
      • stop_line
      • traffic_light
      • intersection
      • no_stopping_area
      • virtual_traffic_light
      • occlusion_spot
      • run_out
      • no_drivable_lane
    • obstacle_avoidance_planner: calculate path shape under obstacle and drivable area constraints
    • surround_obstacle_checker: keeps the vehicle being stopped when there are obstacles around the ego-vehicle. It works only when the vehicle is stopped.
    • obstacle_stop_planner: When there are obstacles on or near the trajectory, it calculates the maximum velocity of the trajectory points depending on the situation: stopping, slowing down, or adaptive cruise (following the car).
      • stop
      • slow_down
      • adaptive_cruise
    • costmap_generator: generates a costmap for path generation from dynamic objects and lane information.
    • freespace_planner: calculates trajectory considering the feasibility (e.g. curvature) for the freespace scene. Algorithms are described here.
    • scenario_selector : chooses a trajectory according to the current scenario.
    • external_velocity_limit_selector: takes an appropriate velocity limit from multiple candidates.
    • motion_velocity_smoother: calculates final velocity considering velocity, acceleration, and jerk constraints.
    "},{"location":"design/autoware-architecture/planning/#important-parameters","title":"Important Parameters","text":"Package Parameter Type Description obstacle_stop_planner stop_planner.stop_position.max_longitudinal_margin double distance between the ego and the front vehicle when stopping (when cruise_planner_type:=obstacle_stop_planner) obstacle_cruise_planner common.safe_distance_margin double distance between the ego and the front vehicle when stopping (when cruise_planner_type:=obstacle_cruise_planner) behavior_path_planner avoidance.avoidance.lateral.lateral_collision_margin double minimum lateral margin to obstacle on avoidance behavior_path_planner avoidance.avoidance.lateral.lateral_collision_safety_buffer double additional lateral margin to obstacle if possible on avoidance obstacle_avoidance_planner option.enable_outside_drivable_area_stop bool If set true, a stop point will be inserted before the path footprint is outside the drivable area."},{"location":"design/autoware-architecture/planning/#notation","title":"Notation","text":""},{"location":"design/autoware-architecture/planning/#1-self-crossing-road-and-overlapped","title":"[1] self-crossing road and overlapped","text":"

    To support the self-crossing road and overlapped road in the opposite direction, each planning module has to meet the specifications

    Currently, the supported modules are as follows.

    • lane_following (in behavior_path_planner)
    • detection_area (in behavior_velocity_planner)
    • stop_line (in behavior_velocity_planner)
    • virtual_traffic_light (in behavior_velocity_planner)
    • obstacle_avoidance_planner
    • obstacle_stop_planner
    • motion_velocity_smoother
    "},{"location":"design/autoware-architecture/planning/#2-size-of-path-points","title":"[2] Size of Path Points","text":"

    Some functions do not support paths with only one point. Therefore, each modules should generate the path with more than two path points.

    "},{"location":"design/autoware-architecture/sensing/","title":"Sensing component design","text":""},{"location":"design/autoware-architecture/sensing/#sensing-component-design","title":"Sensing component design","text":""},{"location":"design/autoware-architecture/sensing/#overview","title":"Overview","text":"

    Sensing component is a collection of modules that apply some primitive pre-processing to the raw sensor data.

    The sensor input formats are defined in this component.

    "},{"location":"design/autoware-architecture/sensing/#role","title":"Role","text":"
    • Abstraction of data formats to enable usage of sensors from various vendors
    • Perform common/primitive sensor data processing required by each component
    "},{"location":"design/autoware-architecture/sensing/#inputs","title":"Inputs","text":""},{"location":"design/autoware-architecture/sensing/#input-types","title":"Input types","text":"Sensor Data Message Type Point cloud (Lidars, depth cameras, etc.) sensor_msgs/msg/PointCloud2.msg Image (RGB, monochrome, depth, etc. cameras) sensor_msgs/msg/Image.msg Radar scan radar_msgs/msg/RadarScan.msg Radar tracks radar_msgs/msg/RadarTracks.msg GNSS-INS position sensor_msgs/msg/NavSatFix.msg GNSS-INS orientation autoware_sensing_msgs/GnssInsOrientationStamped.msg GNSS-INS velocity geometry_msgs/msg/TwistWithCovarianceStamped.msg GNSS-INS acceleration geometry_msgs/msg/AccelWithCovarianceStamped.msg Ultrasonics sensor_msgs/msg/Range.msg"},{"location":"design/autoware-architecture/sensing/#design-by-data-types","title":"Design by data-types","text":"
    • GNSS/INS data pre-processing design
    • Image pre-processing design
    • Point cloud pre-processing design
    • Radar data pre-processing design
    • Ultrasonics data pre-processing design
    "},{"location":"design/autoware-architecture/sensing/data-types/gnss-ins-data/","title":"GNSS/INS data pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/gnss-ins-data/#gnssins-data-pre-processing-design","title":"GNSS/INS data pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/sensing/data-types/image/","title":"Image pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/image/#image-pre-processing-design","title":"Image pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/","title":"Point cloud pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-pre-processing-design","title":"Point cloud pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#overview","title":"Overview","text":"

    Point cloud pre-processing is a collection of modules that apply some primitive pre-processing to the raw sensor data.

    This pipeline covers the flow of data from drivers to the perception stack.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#recommended-processing-pipeline","title":"Recommended processing pipeline","text":"
    graph TD\n    Driver[\"Lidar Driver\"] -->|\"Cloud XYZIRCADT\"| FilterPR[\"Polygon Remover Filter / CropBox Filter\"]\n\n    subgraph \"sensing\"\n    FilterPR -->|\"Cloud XYZIRCADT\"| FilterDC[\"Motion Distortion Corrector Filter\"]\n    FilterDC -->|\"Cloud XYZIRCAD\"| FilterOF[\"Outlier Remover Filter\"]\n    FilterOF -->|\"Cloud XYZIRC\"| FilterDS[\"Downsampler Filter\"]\n    FilterDS -->|\"Cloud XYZIRC\"| FilterTrans[\"Cloud Transformer\"]\n    FilterTrans -->|\"Cloud XYZIRC\"| FilterC\n\n    FilterX[\"...\"] -->|\"Cloud XYZIRC (i)\"| FilterC[\"Cloud Concatenator\"]\n    end\n\n    FilterC -->|\"Cloud XYZIRC\"| SegGr[\"Ground Segmentation\"]
    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#list-of-modules","title":"List of modules","text":"

    The modules used here are from pointcloud_preprocessor package.

    For details about the modules, see the following table.

    It is recommended that these modules are used in a single container as components. For details see ROS 2 Composition

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-fields","title":"Point cloud fields","text":"

    In the ideal case, the driver is expected to output a point cloud with the PointXYZIRCADT point type.

    name datatype derived description X FLOAT32 false X position Y FLOAT32 false Y position Z FLOAT32 false Z position I (intensity) UINT8 false Measured reflectivity, intensity of the point R (return type) UINT8 false Laser return type for dual return lidars C (channel) UINT16 false Vertical channel id of the laser that measured the point A (azimuth) FLOAT32 true atan2(Y, X), Horizontal angle from the front of the lidar to the point D (distance) FLOAT32 true hypot(X, Y, Z), Euclidean distance of the point to lidar T (time) UINT32 false Nanoseconds passed since the time of the header when this point was measured

    Note

    A (azimuth) and D (distance) fields are derived fields. They are provided by the driver to reduce the computational load on some parts of the perception stack.

    Note

    If the Motion Distortion Corrector Filter won't be used, the T (time) field can be omitted, PointXYZIRCAD point type can be used.

    Warning

    Autoware will support conversion from PointXYZI to PointXYZIRC or PointXYZIRCAD (with channel and return is set to 0) for prototyping purposes. However, this conversion is not recommended for production use since it's not efficient.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#intensity","title":"Intensity","text":"

    We will use following ranges for intensity, compatible with the VLP16 User Manual:

    Quoting from the VLP-16 User Manual:

    For each laser measurement, a reflectivity byte is returned in addition to distance. Reflectivity byte values are segmented into two ranges, allowing software to distinguish diffuse reflectors (e.g. tree trunks, clothing) in the low range from retroreflectors (e.g. road signs, license plates) in the high range. A retroreflector reflects light back to its source with a minimum of scattering. The VLP-16 provides its own light, with negligible separation between transmitting laser and receiving detector, so retroreflecting surfaces pop with reflected IR light compared to diffuse reflectors that tend to scatter reflected energy.

    • Diffuse reflectors report values from 0 to 100 for reflectivities from 0% to 100%.
    • Retroreflectors report values from 101 to 255, where 255 represents an ideal reflection.

    In a typical point cloud without retroreflectors, all intensity points will be between 0 and 100.

    Retroreflective Gradient road sign, Image Source

    But in a point cloud with retroreflectors, the intensity points will be between 0 and 255.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#intensity-mapping-for-other-lidar-brands","title":"Intensity mapping for other lidar brands","text":""},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#hesai-pandarxt16","title":"Hesai PandarXT16","text":"

    Hesai Pandar XT16 User Manual

    This lidar has 2 modes for reporting reflectivity:

    • Linear mapping
    • Non-linear mapping

    If you are using linear mapping mode, you should map from [0, 255] to [0, 100] when constructing the point cloud.

    If you are using non-linear mapping mode, you should map (hesai to autoware)

    • [0, 251] to [0, 100] and
    • [252, 254] to [101, 255]

    when constructing the point cloud.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#livox-mid-70","title":"Livox Mid-70","text":"

    Livox Mid-70 User Manual

    This lidar has 2 modes for reporting reflectivity similar to Velodyne VLP-16, only the ranges are slightly different.

    You should map (livox to autoware)

    • [0, 150] to [0, 100] and
    • [151, 255] to [101, 255]

    when constructing the point cloud.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#robosense-rs-lidar-16","title":"RoboSense RS-LiDAR-16","text":"

    RoboSense RS-LiDAR-16 User Manual

    No mapping required, same as Velodyne VLP-16.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#ouster-os-1-64","title":"Ouster OS-1-64","text":"

    Software User Manual v2.0.0 for all Ouster sensors

    In the manual it is stated:

    Reflectivity [16 bit unsigned int] - sensor Signal Photons measurements are scaled based on measured range and sensor sensitivity at that range, providing an indication of target reflectivity. Calibration of this measurement has not currently been rigorously implemented, but this will be updated in a future firmware release.

    So it is advised to map the 16 bit reflectivity to [0, 100] range.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#leishen-ch64w","title":"Leishen CH64W","text":"

    I couldn't get the english user manual, link of website

    In a user manual I was able to find it says:

    Byte 7 represents echo strength, and the value range is 0-255. (Echo strength can reflect the energy reflection characteristics of the measured object in the actual measurement environment. Therefore, the echo strength can be used to distinguish objects with different reflection characteristics.)

    So it is advised to map the [0, 255] to [0, 100] range.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#return-type","title":"Return type","text":"

    Various lidars support multiple return modes. Velodyne lidars support Strongest and Last return modes.

    In the PointXYZIRCT and PointXYZIRC types, R field represents return mode with an UINT8.

    R (return type) Description 0 Unknown / Not Marked 1 Strongest 2 Last"},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#channel","title":"Channel","text":"

    The channel field is used to identify the vertical channel of the laser that measured the point. In various lidar manuals or literature, it can also be called laser id, ring, laser line.

    For Velodyne VLP-16, there are 16 channels. Default order of channels in drivers are generally in firing order.

    In the PointXYZIRCT and PointXYZIRC types, C field represents the vertical channel id with an UINT16.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#solid-state-and-petal-pattern-lidars","title":"Solid state and petal pattern lidars","text":"

    Warning

    This section is subject to change. Following are suggestions and open for discussion.

    For solid state lidars that have lines, assign row number as the channel id.

    For petal pattern lidars, you can keep channel 0.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#time","title":"Time","text":"

    In lidar point clouds, each point measurement can have its individual time stamp. This information can be used to eliminate the motion blur that is caused by the movement of the lidar during the scan.

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-header-time","title":"Point cloud header time","text":"

    The header contains a Time field. The time field has 2 components:

    Field Type Description sec int32 Unix time (seconds elapsed since January 1, 1970) nanosec uint32 Nanoseconds elapsed since the sec field

    The header of the point cloud message is expected to have the time of the earliest point it has.

    Note

    The sec field is int32 in ROS 2 humble. The largest value it can represent is 2^31 seconds, it is subject to year 2038 problems. We will wait for actions on ROS 2 community side.

    More info at: https://github.com/ros2/rcl_interfaces/issues/85

    "},{"location":"design/autoware-architecture/sensing/data-types/point-cloud/#individual-point-time","title":"Individual point time","text":"

    Each PointXYZIRCT point type has the T field for representing the nanoseconds passed since the first-shot point of the point cloud.

    To calculate exact time each point was shot, the T nanoseconds are added to the header time.

    Note

    The T field is uint32 type. The largest value it can represent is 2^32 nanoseconds, which equates to roughly 4.29 seconds. Usual point clouds don't last more than 100ms for full cycle. So this field should be enough.

    "},{"location":"design/autoware-architecture/sensing/data-types/radar-data/","title":"Radar data pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/radar-data/#radar-data-pre-processing-design","title":"Radar data pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/sensing/data-types/ultrasonics-data/","title":"Ultrasonics data pre-processing design","text":""},{"location":"design/autoware-architecture/sensing/data-types/ultrasonics-data/#ultrasonics-data-pre-processing-design","title":"Ultrasonics data pre-processing design","text":"

    Warning

    Under Construction

    "},{"location":"design/autoware-architecture/vehicle/","title":"Vehicle Interface design","text":""},{"location":"design/autoware-architecture/vehicle/#vehicle-interface-design","title":"Vehicle Interface design","text":""},{"location":"design/autoware-architecture/vehicle/#abstract","title":"Abstract","text":"

    The Vehicle Interface component provides an interface between Autoware and a vehicle that passes control signals to the vehicle\u2019s drive-by-wire system and receives vehicle information that is passed back to Autoware.

    "},{"location":"design/autoware-architecture/vehicle/#1-requirements","title":"1. Requirements","text":"

    Goals:

    • The Vehicle Interface component converts Autoware commands to a vehicle-specific format and converts vehicle status in a vehicle-specific format to Autoware messages.
    • The interface between Autoware and the Vehicle component is abstracted and independent of hardware.
    • The interface is extensible such that additional vehicle-specific commands can be easily added. For example, headlight control.

    Non-goals:

    • Accuracy of responses from the vehicle will not be defined, but example accuracy requirements from reference designs are provided as examples.
    • Response speed will not be defined.
    "},{"location":"design/autoware-architecture/vehicle/#2-architecture","title":"2. Architecture","text":"

    The Vehicle Interface component consists of the following components:

    • A Raw Vehicle Command Converter component that will pass through vehicle commands from the Control component if velocity/acceleration control is supported by the drive-by-wire system. Otherwise, the Control commands will be modified according to the control method (eg: converting a target acceleration from the Control component to a vehicle specific accel/brake pedal value through the use of an acceleration map)
    • A Vehicle Interface component (vehicle specific) that acts as an interface between Autoware and a vehicle to communicate control signals and to obtain information about the vehicle (steer output, tyre angle etc)

    Each component contains static nodes of Autoware, while each module can be dynamically loaded and unloaded (corresponding to C++ classes). The mechanism of the Vehicle Interface component is depicted by the following figures:

    "},{"location":"design/autoware-architecture/vehicle/#3-features","title":"3. Features","text":"

    The Vehicle Interface component can provide the following features in functionality and capability:

    • Basic functions

      • Converting Autoware control commands to vehicle specific command
      • Converting vehicle specific status information (velocity, steering) to Autoware status message
    • Diagnostics
      • List available features
      • Provide a warning if the Control component tries to use a feature that is not available in the Vehicle Interface component

    Additional functionality and capability features may be added, depending on the vehicle hardware. Some example features are listed below:

    • Safety features
      • Disengage autonomous driving via manual intervention.
        • This can be done through the use of an emergency disengage button, or by a safety driver manually turning the steering wheel or pressing the brake
    • Optional controls
      • Turn indicator
      • Handbrake
      • Headlights
      • Hazard lights
      • Doors
      • Horn
      • Wipers
    "},{"location":"design/autoware-architecture/vehicle/#4-interface-and-data-structure","title":"4. Interface and Data Structure","text":"

    The interface of the Vehicle Interface component for other components running in the same process space to access the functionality and capability of the Vehicle Interface component is defined as follows.

    From Control

    • Actuation Command
      • target acceleration, braking, and steering angle

    From Planning

    • Vehicle Specific Commands (optional and a separate message for each type)
      • Shift
      • Door
      • Wiper
      • etc

    From the vehicle

    • Vehicle status messages
      • Vehicle-specific format messages for conversion into Autoware-specific format messages
        • Velocity status
        • Steering status (optional)
        • Shift status (optional)
        • Turn signal status (optional)
        • Actuation status (optional)

    The output interface of the Vehicle Interface component:

    • Vehicle control messages to the vehicle
      • Control signals to drive the vehicle
      • Depends on the vehicle type/protocol, but should include steering and velocity commands at a minimum
    • Vehicle status messages to Autoware
    • Actuation Status
      • Acceleration, brake, steering status
    • Vehicle odometry (output to Localization)
      • Vehicle twist information
    • Control mode
      • Information about whether the vehicle is under autonomous control or manual control
    • Shift status (optional)
      • Vehicle shift status
    • Turn signal status (optional)
      • Vehicle turn signal status

    The data structure for the internal representation of semantics for the objects and trajectories used in the Vehicle Interface component is defined as follows:

    "},{"location":"design/autoware-architecture/vehicle/#5-concerns-assumptions-and-limitations","title":"5. Concerns, Assumptions, and Limitations","text":"

    Concerns

    • Architectural trade-offs and scalability

    Assumptions

    -

    Limitations

    "},{"location":"design/autoware-architecture/vehicle/#6-examples-of-accuracy-requirements-by-odd","title":"6. Examples of accuracy requirements by ODD","text":""},{"location":"design/autoware-concepts/","title":"Autoware concepts","text":""},{"location":"design/autoware-concepts/#autoware-concepts","title":"Autoware concepts","text":"

    Autoware is the world\u2019s first open-source software for autonomous driving systems. Autoware provides value for both The technology developers of autonomous driving systems can create new components based on Autoware. The service operators of autonomous driving systems, on the other hand, can select appropriate technology components with Autoware. This is enabled by the microautonomy architecture that modularizes its software stack into the core and universe subsystems (modules).

    "},{"location":"design/autoware-concepts/#microautonomy-architecture","title":"Microautonomy architecture","text":"

    Autoware uses a pipeline architecture to enable the development of autonomous driving systems. The pipeline architecture used in Autoware consists of components similar to three-layer-architecture. And they run in parallel. There are 2 main modules: the Core and the Universe. The components in these modules are designed to be extensible and reusable. And we call it microautonomy architecture.

    "},{"location":"design/autoware-concepts/#the-core-module","title":"The Core module","text":"

    The Core module contains basic runtimes and technology components that satisfy the basic functionality and capability of sensing, computing, and actuation required for autonomous driving systems. AWF develops and maintains the Core module with their architects and leading members through their working groups. Anyone can contribute to the Core but the PR(Pull Request) acceptance criteria is more strict compared to the Universe.

    "},{"location":"design/autoware-concepts/#the-universe-module","title":"The Universe module","text":"

    The Universe modules are extensions to the Core module that can be provided by the technology developers to enhance the functionality and capability of sensing, computing, and actuation. AWF provides the base Universe module to extend from. A key feature of the microautonomy architecture is that the Universe modules can be contributed to by any organization and individual. That is, you can even create your Universe and make it available for the Autoware community and ecosystem. AWF is responsible for quality control of the Universe modules through their development process. As a result, there are multiple types of the Universe modules - some are verified and validated by AWF and others are not. It is up to the users of Autoware which Universe modules are selected and integrated to build their end applications.

    "},{"location":"design/autoware-concepts/#interface-design","title":"Interface design","text":"

    The interface design is the most essential piece of the microautonomy architecture, which is classified into internal and external interfaces. The component interface is designed for the components in a Universe module to communicate with those in other modules, including the Core module, within Autoware internally. The AD(Autonomous Driving) API, on the other hand, is designed for the applications of Autoware to access the technology components in the Core and Universe modules of Autoware externally. Designing solid interfaces, the microautonomy architecture is made possible with AWF's partners, and at the same time is made feasible for the partners.

    "},{"location":"design/autoware-concepts/#challenges","title":"Challenges","text":"

    A grand challenge of the microautonomy architecture is to achieve real-time capability, which guarantees all the technology components activated in the system to predictably meet timing constraints (given deadlines). In general, it is difficult, if not impossible, to tightly estimate the worst-case execution times (WCETs) of components.

    In addition, it is also difficult, if not impossible, to tightly estimate the end-to-end latency of components connected by a DAG. Autonomous driving systems based on the microautonomy architecture, therefore, must be designed to be fail-safe but not never-fail. We accept that the timing constraints may be violated (the given deadlines may be missed) as far as the overrun is taken into account. The overrun handlers are two-fold: (i) platform-defined and (ii) user-defined. The platform-defined handler is implemented as part of the platform by default, while the user-defined handler can overwrite it or add a new handler to the system. This is what we call \u201cfail-safe\u201d on a timely basis.

    "},{"location":"design/autoware-concepts/#requirements-and-roadmap","title":"Requirements and roadmap","text":"

    Goals:

    • All open-source
    • Use case driven
    • Real-time (predictable) framework with overrun handling
    • Code quality
    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/","title":"How is Autoware Core/Universe different from Autoware.AI and Autoware.Auto?","text":""},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#how-is-autoware-coreuniverse-different-from-autowareai-and-autowareauto","title":"How is Autoware Core/Universe different from Autoware.AI and Autoware.Auto?","text":"

    Autoware is the world's first \"all-in-one\" open-source software for self-driving vehicles. Since it was first released in 2015, there have been multiple releases made with differing underlying concepts, each one aimed at improving the software.

    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#autowareai","title":"Autoware.AI","text":"

    Autoware.AI is the first distribution of Autoware that was released based on ROS 1. The repository contains a variety of packages covering different aspects of autonomous driving technologies - sensing, actuation, localization, mapping, perception and planning.

    While it was successful in attracting many developers and contributions, it was difficult to improve Autoware.AI's capabilities for a number of reasons:

    • A lack of concrete architecture design leading to a lot of built-up technical debt, such as tight coupling between modules and unclear module responsibility.
    • Differing coding standards for each package, with very low test coverage.

    Furthermore, there was no clear definition of the conditions under which an Autoware-enabled autonomous vehicle could operate, nor of the use cases or situations supported (eg: the ability to overtake a stationary vehicle).

    From the lessons learned from Autoware.AI development, a different development process was taken for Autoware.Auto to develop a ROS 2 version of Autoware.

    Warning

    Autoware.AI is currently in maintenance mode and will reach end-of-life at the end of 2022.

    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#autowareauto","title":"Autoware.Auto","text":"

    Autoware.Auto is the second distribution of Autoware that was released based on ROS 2. As part of the transition to ROS 2, it was decided to avoid simply porting Autoware.AI from ROS 1 to ROS 2. Instead, the codebase was rewritten from scratch with proper engineering practices, including defining target use cases and ODDs (eg: Autonomous Valet Parking [AVP], Cargo Delivery, etc.), designing a proper architecture, writing design documents and test code.

    Autoware.Auto development seemed to work fine initially, but after completing the AVP and and Cargo Delivery ODD projects, we started to see the following issues:

    • The barrier to new engineers was too high.
      • A lot of work was required to merge new features into Autoware.Auto, and so it was difficult for researchers and students to contribute to development.
      • As a consequence, most Autoware.Auto developers were from companies in the Autoware Foundation and so there were very few people who were able to add state-of-the-art features from research papers.
    • Making large-scale architecture changes was too difficult.
      • To try out experimental architecture, there was a very large overhead involved in keeping the main branch stable whilst also making sure that every change satisfied the continuous integration requirements.
    "},{"location":"design/autoware-concepts/difference-from-ai-and-auto/#autoware-coreuniverse","title":"Autoware Core/Universe","text":"

    In order to address the issues with Autoware.Auto development, the Autoware Foundation decided to create a new architecture called Autoware Core/Universe.

    Autoware Core carries over the original policy of Autoware.Auto to be a stable and well-tested codebase. Alongside Autoware Core is a new concept called Autoware Universe, which acts as an extension of Autoware Core with the following benefits:

    • Users can easily replace a Core component with a Universe equivalent in order to use more advanced features, such as a new Localization or Perception algorithm.
    • Code quality requirements for Universe are more relaxed to make it easier for new developers, students and researchers to contribute, but will still be stricter than the requirements for Autoware.AI.
    • Any advanced features added to Universe that are useful to the wider Autoware community will be reviewed and considered for potential inclusion in the main Autoware Core codebase.

    This way, the primary requirement of having a stable and safe autonomous driving system can be achieved, whilst simultaneously enabling access to state-of-the-art features created by third-party contributors. For more details about the design of Autoware Core/Universe, refer to the Autoware concepts documentation page.

    "},{"location":"design/autoware-interfaces/","title":"Autoware interface design","text":""},{"location":"design/autoware-interfaces/#autoware-interface-design","title":"Autoware interface design","text":""},{"location":"design/autoware-interfaces/#abstract","title":"Abstract","text":"

    Autoware defines three categories of interfaces. The first one is Autoware AD API for operating the vehicle from outside the autonomous driving system such as the Fleet Management System (FMS) and Human Machine Interface (HMI) for operators or passengers. The second one is Autoware component interface for components to communicate with each other. The last one is the local interface used inside the component.

    "},{"location":"design/autoware-interfaces/#concept","title":"Concept","text":"
    • Applications can operate multiple and various vehicles in a common way.

    • Applications are not affected by version updates and implementation changes.

    • Developers only need to know the interface to add new features and hardware.

    "},{"location":"design/autoware-interfaces/#requirements","title":"Requirements","text":"

    Goals:

    • AD API provides functionality to create the following applications:
      • Drive the vehicle on the route or drive to the requested positions in order.
      • Operate vehicle behavior such as starting and stopping.
      • Display or announce the vehicle status to operators, passengers, and people around.
      • Control vehicle devices such as doors.
      • Monitor the vehicle or drive it manually.
    • AD API provides stable and long-term specifications. This enables unified access to all vehicles.
    • AD API hides differences in version and implementation and absorbs the impact of changes.
    • AD API has a default implementation and can be applied to some simple ODDs with options.
    • The AD API implementation is extensible with the third-party components as long as it meets the specifications.
    • The component interface provides stable and medium-term specifications. This makes it easier to add components.
    • The component interface clarifies the public and private parts of a component and improves maintainability.
    • The component interface is extensible with the third-party design to improve the sub-components' reusability.

    Non-goals:

    • AD API does not cover security. Use it with other reliable methods.
    • The component interface is just a specification, it does not include an implementation.
    "},{"location":"design/autoware-interfaces/#architecture","title":"Architecture","text":"

    The components of Autoware are connected via the component interface. Each component uses the interface to provide functionality and to access other components. AD API implementation is also a component. Since the functional elements required for AD API are defined as the component interface, other components do not need to consider AD API directly. Tools for evaluation and debugging, such as simulators, access both AD API and the component interface.

    The component interface has a hierarchical specification. The top-level architecture consists of some components. Each component has some options of the next-level architecture. Developers select one of them when implementing the component. The simplest next-level architecture is monolithic. This is an all-in-one and black box implementation, and is suitable for small group development, prototyping, and very complex functions. Others are arbitrary architecture consists of sub-components and have advantages for large group development. A sub-component can be combined with others that adopt the same architecture. Third parties can define and publish their own architecture and interface for open source development. It is desirable to propose them for standardization if they are sufficiently evaluated.

    "},{"location":"design/autoware-interfaces/#features","title":"Features","text":""},{"location":"design/autoware-interfaces/#communication-methods","title":"Communication methods","text":"

    As shown in the table below, interfaces are classified into four communication methods to define their behavior. Function Call is a request-response communication and is used for processing that requires immediate results. The others are publish-subscribe communication. Notification is used to process data that changes with some event, typically a callback. Streams handle continuously changing data. Reliable Stream expects all data to arrive without loss, Realtime Stream expects the latest data to arrive with low delay.

    Communication Method ROS Implementation Optional Implementation Function Call Service HTTP Notification Topic (reliable, transient_local) MQTT (QoS=2, retain) Reliable Stream Topic (reliable, volatile) MQTT (QoS=2) Realtime Stream Topic (best_effort, volatile) MQTT (QoS=0)

    These methods are provided as services or topics of ROS since Autoware is developed using ROS and mainly communicates with its packages. On the other hand, FMS and HMI are often implemented without ROS, Autoware is also expected to communicate with applications that do not use ROS. It is wasteful for each of these applications to have an adapter for Autoware, and a more suitable means of communication is required. HTTP and MQTT are suggested as additional options because these protocols are widely used and can substitute the behavior of services and topics. In that case, text formats such as JSON where field names are repeated in an array of objects, are inefficient and it is necessary to consider the serialization.

    "},{"location":"design/autoware-interfaces/#naming-convention","title":"Naming convention","text":"

    The name of the interface must be /<component name>/api/<interface name>, where <component name> is the name of the component. For an AD API component, omit this part and start with /api. The <interface name> is an arbitrary string separated by slashes. Note that this rule causes a restriction that the namespace api must not be used as a name other than AD API and the component interface.

    The following are examples of correct interface names for AD API and the component interface:

    • /api/autoware/state
    • /api/autoware/engage
    • /planning/api/route/set
    • /vehicle/api/status

    The following are examples of incorrect interface names for AD API and the component interface:

    • /ad_api/autoware/state
    • /autoware/engage
    • /planning/route/set/api
    • /vehicle/my_api/status
    "},{"location":"design/autoware-interfaces/#logging","title":"Logging","text":"

    It is recommended to log the interface for analysis of vehicle behavior. If logging is needed, rosbag is available for topics, and use logger in rclcpp or rclpy for services. Typically, create a wrapper for service and client classes that logs when a service is called.

    "},{"location":"design/autoware-interfaces/#restrictions","title":"Restrictions","text":"

    For each API, consider the restrictions such as following and describe them if necessary.

    Services:

    • response time
    • pre-condition
    • post-condition
    • execution order
    • concurrent execution

    Topics:

    • recommended delay range
    • maximum delay
    • recommended frequency range
    • minimum frequency
    • default frequency
    "},{"location":"design/autoware-interfaces/#data-structure","title":"Data structure","text":""},{"location":"design/autoware-interfaces/#data-type-definition","title":"Data type definition","text":"

    Do not share the types in AD API unless they are obviously the same to avoid changes in one API affecting another. Also, implementation-dependent types, including the component interface, should not be used in AD API for the same reason. Use the type in AD API in implementation, or create the same type and copy the data to convert the type.

    "},{"location":"design/autoware-interfaces/#constants-and-enumeration","title":"Constants and enumeration","text":"

    Since ROS don't support enumeration, use constants instead. The default value of type such as zero and empty string should not be used to detect that a variable is unassigned. Alternatively, assign it a dedicated name to indicate that it is undefined. If one type has multiple enumerations, comment on the correspondence between constants and variables. Do not use enumeration values directly, as assignments are subject to change when the version is updated.

    "},{"location":"design/autoware-interfaces/#time-stamp","title":"Time stamp","text":"

    Clarify what the timestamp indicates. for example, send time, measurement time, update time, etc. Consider having multiple timestamps if necessary. Use std_msgs/msg/Header when using ROS transform. Also consider whether the header is common to all data, independent for each data, or additional timestamp is required.

    "},{"location":"design/autoware-interfaces/#request-header","title":"Request header","text":"

    Currently, there is no required header.

    "},{"location":"design/autoware-interfaces/#response-status","title":"Response status","text":"

    The interfaces whose communication method is Function Call use a common response status to unify the error format. These interfaces should include a variable of ResponseStatus with the name status in the response. See autoware_adapi_v1_msgs/msg/ResponseStatus for details.

    "},{"location":"design/autoware-interfaces/#concerns-assumptions-and-limitations","title":"Concerns, assumptions and limitations","text":"
    • The applications use the version information provided by AD API to check compatibility. Unknown versions are also treated as available as long as the major versions match (excluding major version 0). Compatibility between AD API and the component interface is assumed to be maintained by the version management system.
    • If an unintended behavior of AD API is detected, the application should take appropriate action. Autoware tries to keep working as long as possible, but it is not guaranteed to be safe. Safety should be considered for the entire system, including the applications.
    "},{"location":"design/autoware-interfaces/ad-api/","title":"Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/#autoware-ad-api","title":"Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/#overview","title":"Overview","text":"

    Autoware AD API is the interface for operating the vehicle from outside the autonomous driving system. See here for the overall interface design of Autoware.

    "},{"location":"design/autoware-interfaces/ad-api/#user-stories","title":"User stories","text":"

    The user stories are service scenarios that AD API assumes. AD API is designed based on these scenarios. Each scenario is realized by a combination of use cases described later. If there are scenarios that cannot be covered, please discuss adding a user story.

    • Bus service
    • Taxi service
    "},{"location":"design/autoware-interfaces/ad-api/#use-cases","title":"Use cases","text":"

    Use cases are partial scenarios derived from the user story and generically designed. Service providers can combine these use cases to define user stories and check if AD API can be applied to their own scenarios.

    • Launch and terminate
    • Initialize the pose
    • Change the operation mode
    • Drive to the designated position
    • Get on and get off
    • Vehicle monitoring
    • Vehicle operation
    "},{"location":"design/autoware-interfaces/ad-api/#features","title":"Features","text":"
    • Interface
    • Operation Mode
    • Routing
    • Localization
    • Motion
    • Planning
    • Perception
    • Fail-safe
    • Vehicle status
    • Vehicle doors
    • Cooperation
    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/","title":"Cooperation","text":""},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#cooperation","title":"Cooperation","text":""},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#related-api","title":"Related API","text":"
    • /api/planning/velocity_factors
    • /api/planning/steering_factors
    • /api/planning/cooperation/set_commands
    • /api/planning/cooperation/set_policies
    • /api/planning/cooperation/get_policies
    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#description","title":"Description","text":"

    Request to cooperate (RTC) is a feature that enables a human operator to support the decision in autonomous driving mode. Autoware usually drives the vehicle using its own decisions, but the operator may prefer to make their decisions in experiments and complex situations.

    The planning component manages each situation that requires decision as a scene. Each scene has an ID that doesn't change until the scene is completed or canceled. The operator can override the decision of the target scene using this ID. In practice, the user interface application can hides the specification of the ID and provides an abstracted interface to the operator.

    For example, in the situation in the diagram below, vehicle is expected to make two lane changes and turning left at the intersection. Therefore the planning component generates three scene instances for each required action, and each scene instance will wait for the decision to be made, in this case \"changing or keeping lane\" and \"turning left or waiting at the intersection\". Here Autoware decides not to change lanes a second time due to the obstacle, so the vehicle will stop there. However, operator could overwrite that decision through RTC function and force the lane change so that vehicle could reach to it's goal. Using RTC, the operator can override these decisions to continue driving the vehicle to the goal.

    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#architecture","title":"Architecture","text":"

    Modules that support RTC have the operator decision and cooperation policy in addition to the module decision as shown below. These modules use the merged decision that is determined by these values when planning vehicle behavior. See decisions section for details of these values. The cooperation policy is used when there is no operator decision and has a default value set by the system settings. If the module supports RTC, these information are available in velocity factors or steering factors as cooperation status.

    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#sequence","title":"Sequence","text":"

    This is an example sequence that overrides the scene decision to force a lane change. It is for the second scene in the diagram in the architecture section. Here let's assume the cooperation policy is set to optional, see the decisions section described later for details.

    1. A planning module creates a scene instance with unique ID when approaching a place where a lane change is needed.
    2. The scene instance generates the module decision from the current situation. In this case, the module decision is not to do a lane change due to the obstacle.
    3. The scene instance generates the merged decision. At this point, there is no operator decision yet, so it is based on the module decision.
    4. The scene instance plans the vehicle to keep the lane according to the merged decision.
    5. The scene instance sends a cooperation status.
    6. The operator receives the cooperation status.
    7. The operator sends a cooperation command to override the module decision and to do a lane change.
    8. The scene instance receives the cooperation command and update the operator decision.
    9. The scene instance updates the module decision from the current situation.
    10. The scene instance updates the merged decision. It is based on the operator decision received.
    11. The scene instance plans the vehicle to change the lane according to the merged decision.
    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#decisions","title":"Decisions","text":"

    The merged decision is determined by the module decision, operator decision, and cooperation policy, each of which takes the value shown in the table below.

    Status Values merged decision deactivate, activate module decision deactivate, activate operator decision deactivate, activate, autonomous, none cooperation policy required, optional

    The meanings of these values are as follows. Note that the cooperation policy is common per module, so changing it will affect all scenes in the same module.

    Value Description deactivate An operator/module decision to plan vehicle behavior with priority on safety. activate An operator/module decision to plan vehicle behavior with priority on driving. autonomous An operator decision that follows the module decision. none An initial value for operator decision, indicating that there is no operator decision yet. required A policy that requires the operator decision to continue driving. optional A policy that does not require the operator decision to continue driving.

    The following flow is how the merged decision is determined.

    "},{"location":"design/autoware-interfaces/ad-api/features/cooperation/#examples","title":"Examples","text":"

    This is an example of cooperation for lane change module. The behaviors by the combination of decisions are as follows.

    Operator decision Policy Module decision Description deactivate - - The operator instructs to keep lane regardless the module decision. So the vehicle keeps the lane by the operator decision. activate - - The operator instructs to change lane regardless the module decision. So the vehicle changes the lane by the operator decision. autonomous - deactivate The operator instructs to follow the module decision. So the vehicle keeps the lane by the module decision. autonomous - activate The operator instructs to follow the module decision. So the vehicle changes the lane by the module decision. none required - The required policy is used because no operator instruction. So the vehicle keeps the lane by the cooperation policy. none optional deactivate The optional policy is used because no operator instruction. So the vehicle keeps the lane by the module decision. none optional activate The optional policy is used because no operator instruction. So the vehicle change the lane by the module decision."},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/","title":"Fail-safe","text":""},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#fail-safe","title":"Fail-safe","text":""},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#related-api","title":"Related API","text":"
    • /api/fail_safe/mrm_state
    "},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#description","title":"Description","text":"

    This API manages the behavior related to the abnormality of the vehicle. It provides the state of Request to Intervene (RTI), Minimal Risk Maneuver (MRM) and Minimal Risk Condition (MRC). As shown below, Autoware has the gate to switch between the command during normal operation and the command during abnormal operation. For safety, Autoware switches the operation to MRM when an abnormality is detected. Since the required behavior differs depending on the situation, MRM is implemented in various places as a specific mode in a normal module or as an independent module. The fail-safe module selects the behavior of MRM according to the abnormality and switches the gate output to that command.

    "},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#states","title":"States","text":"

    The MRM state indicates whether MRM is operating. This state also provides success or failure. Generally, MRM will switch to another behavior if it fails.

    State Description NONE MRM is not operating. OPERATING MRM is operating because an abnormality has been detected. SUCCEEDED MRM succeeded. The vehicle is in a safe condition. FAILED MRM failed. The vehicle is still in an unsafe condition."},{"location":"design/autoware-interfaces/ad-api/features/fail-safe/#behavior","title":"Behavior","text":"

    There is a dependency between MRM behaviors. For example, it switches from a comfortable stop to a emergency stop, but not the other way around. This is service dependent. Autoware supports the following transitions by default.

    State Description NONE MRM is not operating or is operating but no special behavior is required. COMFORTABLE_STOP The vehicle will stop quickly with a comfortable deceleration. EMERGENCY_STOP The vehicle will stop immediately with as much deceleration as possible."},{"location":"design/autoware-interfaces/ad-api/features/interface/","title":"Interface","text":""},{"location":"design/autoware-interfaces/ad-api/features/interface/#interface","title":"Interface","text":""},{"location":"design/autoware-interfaces/ad-api/features/interface/#related-api","title":"Related API","text":"
    • /api/interface/version
    "},{"location":"design/autoware-interfaces/ad-api/features/interface/#description","title":"Description","text":"

    This API provides the interface version of the set of AD APIs. It follows Semantic Versioning in order to provide an intuitive understanding of the changes between versions.

    "},{"location":"design/autoware-interfaces/ad-api/features/localization/","title":"Localization","text":""},{"location":"design/autoware-interfaces/ad-api/features/localization/#localization","title":"Localization","text":""},{"location":"design/autoware-interfaces/ad-api/features/localization/#related-api","title":"Related API","text":"
    • /api/localization/initialization_state
    • /api/localization/initialize
    "},{"location":"design/autoware-interfaces/ad-api/features/localization/#description","title":"Description","text":"

    This API manages the initialization of localization. Autoware requires a global pose as the initial guess for localization.

    "},{"location":"design/autoware-interfaces/ad-api/features/localization/#states","title":"States","text":"State Description UNINITIALIZED Localization is not initialized. Waiting for a global pose as the initial guess. INITIALIZING Localization is initializing. INITIALIZED Localization is initialized. Initialization can be requested again if necessary."},{"location":"design/autoware-interfaces/ad-api/features/motion/","title":"Motion","text":""},{"location":"design/autoware-interfaces/ad-api/features/motion/#motion","title":"Motion","text":""},{"location":"design/autoware-interfaces/ad-api/features/motion/#related-api","title":"Related API","text":"
    • /api/motion/state
    • /api/motion/accept_start
    "},{"location":"design/autoware-interfaces/ad-api/features/motion/#description","title":"Description","text":"

    This API manages the current behavior of the vehicle. Applications can notify the vehicle behavior to the people around and visualize it for operator and passengers.

    "},{"location":"design/autoware-interfaces/ad-api/features/motion/#states","title":"States","text":"

    The motion state manages the stop and start of the vehicle. Once the vehicle has stopped, the state will be STOPPED. After this, when the vehicle tries to start (is still stopped), the state will be STARTING. In this state, calling the start API changes the state to MOVING and the vehicle starts. This mechanism can add processing such as announcements before the vehicle starts. Depending on the configuration, the state may transition directly from STOPPED to MOVING.

    State Description STOPPED The vehicle is stopped. STARTING The vehicle is stopped, but is trying to start. MOVING The vehicle is moving. BRAKING (T.B.D.) The vehicle is decelerating strongly."},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/","title":"Operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#operation-mode","title":"Operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#related-api","title":"Related API","text":"
    • /api/operation_mode/state
    • /api/operation_mode/change_to_autonomous
    • /api/operation_mode/change_to_stop
    • /api/operation_mode/change_to_local
    • /api/operation_mode/change_to_remote
    • /api/operation_mode/enable_autoware_control
    • /api/operation_mode/disable_autoware_control
    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#description","title":"Description","text":"

    As shown below, Autoware assumes that the vehicle interface has two modes, Autoware control and direct control. In direct control mode, the vehicle is operated using devices such as steering and pedals. If the vehicle does not support direct control mode, it is always treated as Autoware control mode. Autoware control mode has four operation modes.

    Mode Description Stop Keep the vehicle stopped. Autonomous Autonomously control the vehicle. Local Manually control the vehicle from nearby with some device such as a joystick. Remote Manually control the vehicle from a web application on the cloud.

    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#states","title":"States","text":""},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#autoware-control-flag","title":"Autoware control flag","text":"

    The flag is_autoware_control_enabled indicates if the vehicle is controlled by Autoware. The enable and disable APIs can be used if the control can be switched by software. These APIs will always fail if the vehicle does not support mode switching or is switched by hardware.

    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#operation-mode-and-change-flags","title":"Operation mode and change flags","text":"

    The state operation_mode indicates what command is used when Autoware control is enabled. The flags change_to_* can be used to check if it is possible to transition to each mode.

    "},{"location":"design/autoware-interfaces/ad-api/features/operation_mode/#transition-flag","title":"Transition flag","text":"

    Since Autoware may not be able to guarantee safety, such as switching to autonomous mode during overspeed. There is the flag is_in_transition for this situation and it will be true when changing modes. The operator who changed the mode should ensure safety while this flag is true. The flag will be false when the mode change is complete.

    "},{"location":"design/autoware-interfaces/ad-api/features/perception/","title":"Perception","text":""},{"location":"design/autoware-interfaces/ad-api/features/perception/#perception","title":"Perception","text":""},{"location":"design/autoware-interfaces/ad-api/features/perception/#related-api","title":"Related API","text":"
    • /api/perception/objects
    "},{"location":"design/autoware-interfaces/ad-api/features/perception/#description","title":"Description","text":"

    API for perception related topic.

    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/","title":"Planning factors","text":""},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#planning-factors","title":"Planning factors","text":""},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#related-api","title":"Related API","text":"
    • /api/planning/velocity_factors
    • /api/planning/steering_factors
    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#description","title":"Description","text":"

    This API manages the planned behavior of the vehicle. Applications can notify the vehicle behavior to the people around and visualize it for operator and passengers.

    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#velocity-factors","title":"Velocity factors","text":"

    The velocity factors is an array of information on the behavior that the vehicle stops or slows down. Each factor has a behavior type which is described below. Some behavior types have sequence and details as additional information.

    Behavior Description surrounding-obstacle There are obstacles immediately around the vehicle. route-obstacle There are obstacles along the route ahead. intersection There are obstacles in other lanes in the path. crosswalk There are obstacles on the crosswalk. rear-check There are obstacles behind that would be in a human driver's blind spot. user-defined-attention-area There are obstacles in the predefined attention area. no-stopping-area There is not enough space beyond the no stopping area. stop-sign A stop by a stop sign. traffic-signal A stop by a traffic signal. v2x-gate-area A stop by a gate area. It has enter and leave as sequences and v2x type as details. merge A stop before merging lanes. sidewalk A stop before crossing the sidewalk. lane-change A lane change. avoidance A path change to avoid an obstacle in the current lane. emergency-operation A stop by emergency instruction from the operator.

    Each factor also provides status, poses in the base link frame, and distance from that pose. As the vehicle approaches the stop position, this factor appears with a status of APPROACHING. And when the vehicle reaches that position and stops, the status will be STOPPED. The pose indicates the stop position, or the base link if the stop position cannot be calculated.

    "},{"location":"design/autoware-interfaces/ad-api/features/planning-factors/#steering-factors","title":"Steering factors","text":"

    The steering factors is an array of information on the maneuver that requires use of turn indicators, such as turning left or right. Each factor has a behavior type which is described below and steering direction. Some behavior types have sequence and details as additional information.

    Behavior Description intersection A turning left or right at an intersection. lane-change A lane change. avoidance A path change to avoid an obstacle. It has a sequence of change and return. start-planner T.B.D. goal-planner T.B.D. emergency-operation A path change by emergency instruction from the operator.

    Each factor also provides status, poses in the base link frame, and distances from that poses. As the vehicle approaches the position to start steering, this factor appears with a status of APPROACHING. And when the vehicle reaches that position, the status will be TURNING. The poses indicate the start and end position of the section where the status is TURNING.

    In cases such as lane change and avoidance, the vehicle will start steering at any position in the range depending on the situation. For these types, the section where the status is TURNING will be updated dynamically and the poses will follow that.

    "},{"location":"design/autoware-interfaces/ad-api/features/routing/","title":"Routing","text":""},{"location":"design/autoware-interfaces/ad-api/features/routing/#routing","title":"Routing","text":""},{"location":"design/autoware-interfaces/ad-api/features/routing/#related-api","title":"Related API","text":"
    • /api/routing/state
    • /api/routing/route
    • /api/routing/set_route_points
    • /api/routing/set_route
    • /api/routing/clear_route
    "},{"location":"design/autoware-interfaces/ad-api/features/routing/#description","title":"Description","text":"

    This API manages destination and waypoints. Note that waypoints are not like stops and just points passing through. In other words, Autoware does not support the route with multiple stops, the application needs to split it up and switch them. There are two ways to set the route. The one is a generic method that uses pose, another is a map-dependent.

    "},{"location":"design/autoware-interfaces/ad-api/features/routing/#states","title":"States","text":"State Description UNSET The route is not set. Waiting for a route request. SET The route is set. ARRIVED The vehicle has arrived at the destination. CHANGING Trying to change the route. Not implemented yet."},{"location":"design/autoware-interfaces/ad-api/features/routing/#goal-modification","title":"Goal modification","text":"

    Autoware tries to look for an alternate goal when goal is unreachable (e.g., when there is an obstacle on the given goal). When setting a route from the API, applications can choose whether they allow Autoware to adjust goal pose in such situation. When set false, Autoware may get stuck until the given goal becomes reachable.

    Option Description allow_goal_modification If true, allow goal modification."},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/","title":"Vehicle doors","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#vehicle-doors","title":"Vehicle doors","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#related-api","title":"Related API","text":"
    • /api/vehicle/doors/layout
    • /api/vehicle/doors/status
    • /api/vehicle/doors/command
    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#description","title":"Description","text":"

    This feature is available if the vehicle provides a software interface for the doors. It can be used to create user interfaces for passengers or to control sequences at bus stops.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#layout","title":"Layout","text":"

    Each door in a vehicle is assigned an array index. This assignment is vehicle dependent. The layout API returns this information. The description field is a string to display in the user interface, etc. This is an arbitrary string and is not recommended to use for processing in applications. Use the roles field to know doors for getting on and off. Below is an example of the information returned by the layout API.

    Index Description Roles 0 front right - 1 front left GET_ON 2 rear right GET_OFF 3 rear left GET_ON, GET_OFF"},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#status","title":"Status","text":"

    The status API provides an array of door status. This array order is consistent with the layout API.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-doors/#control","title":"Control","text":"

    Use the command API to control doors. Unlike the status and layout APIs, array index do not correspond to doors. The command has a field to specify the target door index.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/","title":"Vehicle status","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#vehicle-status","title":"Vehicle status","text":""},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#related-api","title":"Related API","text":"
    • /api/vehicle/kinematics
    • /api/vehicle/status
    • /api/vehicle/dimensions
    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#kinematics","title":"Kinematics","text":"

    This is an estimate of the vehicle kinematics. The vehicle position is necessary for applications to schedule dispatches. Also, using velocity and acceleration, applications can find vehicles that need operator assistance, such as stuck or brake suddenly.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#status","title":"Status","text":"

    This is the status provided by the vehicle. The indicators and steering are mainly used for visualization and remote control. The remaining energy can be also used for vehicle scheduling.

    "},{"location":"design/autoware-interfaces/ad-api/features/vehicle-status/#dimensions","title":"Dimensions","text":"

    The vehicle dimensions are used to know the actual distance between the vehicle and objects because the vehicle position in kinematics is the coordinates of the base link. This is necessary for visualization when supporting vehicles remotely.

    "},{"location":"design/autoware-interfaces/ad-api/list/","title":"List of Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/list/#list-of-autoware-ad-api","title":"List of Autoware AD API","text":"
    • /api/fail_safe/mrm_state
    • /api/interface/version
    • /api/localization/initialization_state
    • /api/localization/initialize
    • /api/motion/accept_start
    • /api/motion/state
    • /api/operation_mode/change_to_autonomous
    • /api/operation_mode/change_to_local
    • /api/operation_mode/change_to_remote
    • /api/operation_mode/change_to_stop
    • /api/operation_mode/disable_autoware_control
    • /api/operation_mode/enable_autoware_control
    • /api/operation_mode/state
    • /api/perception/objects
    • /api/planning/cooperation/get_policies
    • /api/planning/cooperation/set_commands
    • /api/planning/cooperation/set_policies
    • /api/planning/steering_factors
    • /api/planning/velocity_factors
    • /api/routing/clear_route
    • /api/routing/route
    • /api/routing/set_route
    • /api/routing/set_route_points
    • /api/routing/state
    • /api/vehicle/dimensions
    • /api/vehicle/doors/command
    • /api/vehicle/doors/layout
    • /api/vehicle/doors/status
    • /api/vehicle/kinematics
    • /api/vehicle/status
    "},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/","title":"/api/fail_safe/mrm_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#apifail_safemrm_state","title":"/api/fail_safe/mrm_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/MrmState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#description","title":"Description","text":"

    Get the MRM state. For details, see the fail-safe.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/#message","title":"Message","text":"Name Type Description state uint16 The state of MRM operation. behavior uint16 The currently selected behavior of MRM."},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/","title":"/api/interface/version","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#apiinterfaceversion","title":"/api/interface/version","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_version_msgs/srv/InterfaceVersion
    "},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#description","title":"Description","text":"

    Get the interface version. The version follows Semantic Versioning.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/interface/version/#response","title":"Response","text":"Name Type Description major uint16 major version minor uint16 minor version patch uint16 patch version"},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/","title":"/api/localization/initialization_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#apilocalizationinitialization_state","title":"/api/localization/initialization_state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/LocalizationInitializationState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#description","title":"Description","text":"

    Get the initialization state of localization. For details, see the localization.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialization_state/#message","title":"Message","text":"Name Type Description state uint16 A value of the localization initialization state."},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/","title":"/api/localization/initialize","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#apilocalizationinitialize","title":"/api/localization/initialize","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/InitializeLocalization
    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#description","title":"Description","text":"

    Request to initialize localization. For details, see the localization.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#request","title":"Request","text":"Name Type Description pose geometry_msgs/msg/PoseWithCovarianceStamped[<=1] A global pose as the initial guess. If omitted, the GNSS pose will be used."},{"location":"design/autoware-interfaces/ad-api/list/api/localization/initialize/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/","title":"/api/motion/accept_start","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#apimotionaccept_start","title":"/api/motion/accept_start","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/AcceptStart
    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#description","title":"Description","text":"

    Accept the vehicle to start. This API can be used when the motion state is STARTING.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/accept_start/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/","title":"/api/motion/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#apimotionstate","title":"/api/motion/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/MotionState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#description","title":"Description","text":"

    Get the motion state. For details, see the motion state.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/motion/state/#message","title":"Message","text":"Name Type Description state uint16 A value of the motion state."},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/","title":"/api/operation_mode/change_to_autonomous","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#apioperation_modechange_to_autonomous","title":"/api/operation_mode/change_to_autonomous","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#description","title":"Description","text":"

    Change the operation mode to autonomous. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/","title":"/api/operation_mode/change_to_local","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#apioperation_modechange_to_local","title":"/api/operation_mode/change_to_local","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#description","title":"Description","text":"

    Change the operation mode to local. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/","title":"/api/operation_mode/change_to_remote","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#apioperation_modechange_to_remote","title":"/api/operation_mode/change_to_remote","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#description","title":"Description","text":"

    Change the operation mode to remote. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/","title":"/api/operation_mode/change_to_stop","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#apioperation_modechange_to_stop","title":"/api/operation_mode/change_to_stop","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#description","title":"Description","text":"

    Change the operation mode to stop. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/","title":"/api/operation_mode/disable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#apioperation_modedisable_autoware_control","title":"/api/operation_mode/disable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#description","title":"Description","text":"

    Disable vehicle control by Autoware. For details, see the operation mode. This API fails if the vehicle does not support mode change by software.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/","title":"/api/operation_mode/enable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#apioperation_modeenable_autoware_control","title":"/api/operation_mode/enable_autoware_control","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ChangeOperationMode
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#description","title":"Description","text":"

    Enable vehicle control by Autoware. For details, see the operation mode. This API fails if the vehicle does not support mode change by software.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/","title":"/api/operation_mode/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#apioperation_modestate","title":"/api/operation_mode/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/OperationModeState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#description","title":"Description","text":"

    Get the operation mode state. For details, see the operation mode.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/operation_mode/state/#message","title":"Message","text":"Name Type Description mode uint8 The selected command for Autoware control. is_autoware_control_enabled bool True if vehicle control by Autoware is enabled. is_in_transition bool True if the operation mode is in transition. is_stop_mode_available bool True if the operation mode can be changed to stop. is_autonomous_mode_available bool True if the operation mode can be changed to autonomous. is_local_mode_available bool True if the operation mode can be changed to local. is_remote_mode_available bool True if the operation mode can be changed to remote."},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/","title":"/api/perception/objects","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#apiperceptionobjects","title":"/api/perception/objects","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/DynamicObjectArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#description","title":"Description","text":"

    Get the recognized objects array with label, shape, current position and predicted path For details, see the perception.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/perception/objects/#message","title":"Message","text":"Name Type Description objects.id unique_identifier_msgs/msg/UUID The UUID of each object objects.existence_probability float64 The probability of the object exits objects.classification autoware_adapi_v1_msgs/msg/ObjectClassification[] The type of the object recognized and the confidence level objects.kinematics autoware_adapi_v1_msgs/msg/DynamicObjectKinematics Consist of the object pose, twist, acceleration and the predicted_paths objects.shape shape_msgs/msg/SolidPrimitive escribe the shape of the object with dimension, and polygon"},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/","title":"/api/planning/steering_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#apiplanningsteering_factors","title":"/api/planning/steering_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/SteeringFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#description","title":"Description","text":"

    Get the steering factors, sorted in ascending order of distance. For details, see the planning factors.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/steering_factors/#message","title":"Message","text":"Name Type Description factors.pose geometry_msgs/msg/Pose[2] The base link pose related to the steering factor. factors.distance float32[2] The distance from the base link to the above pose. factors.direction uint16 The direction of the steering factor. factors.status uint16 The status of the steering factor. factors.behavior string The behavior type of the steering factor. factors.sequence string The sequence type of the steering factor. factors.detail string The additional information of the steering factor. factors.cooperation autoware_adapi_v1_msgs/msg/CooperationStatus[<=1] The cooperation status if the module supports."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/","title":"/api/planning/velocity_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#apiplanningvelocity_factors","title":"/api/planning/velocity_factors","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/VelocityFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#description","title":"Description","text":"

    Get the velocity factors, sorted in ascending order of distance. For details, see the planning factors.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/#message","title":"Message","text":"Name Type Description factors.pose geometry_msgs/msg/Pose The base link pose related to the velocity factor. factors.distance float32 The distance from the base link to the above pose. factors.status uint16 The status of the velocity factor. factors.behavior string The behavior type of the velocity factor. factors.sequence string The sequence type of the velocity factor. factors.detail string The additional information of the velocity factor. factors.cooperation autoware_adapi_v1_msgs/msg/CooperationStatus[<=1] The cooperation status if the module supports."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/","title":"/api/planning/cooperation/get_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#apiplanningcooperationget_policies","title":"/api/planning/cooperation/get_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#description","title":"Description","text":"

    Get the default decision that is used instead when the operator's decision is undecided. For details, see the cooperation.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status policies.behavior string The type of the target behavior. policies.sequence string The type of the target sequence. policies.policy uint8 The type of the cooporation policy."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/","title":"/api/planning/cooperation/set_commands","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#apiplanningcooperationset_commands","title":"/api/planning/cooperation/set_commands","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetCooperationCommands
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#description","title":"Description","text":"

    Set the operator's decision for cooperation. For details, see the cooperation.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#request","title":"Request","text":"Name Type Description commands.uuid unique_identifier_msgs/msg/UUID The ID in the cooperation status. commands.cooperator autoware_adapi_v1_msgs/msg/CooperationDecision The operator's decision."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/","title":"/api/planning/cooperation/set_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#apiplanningcooperationset_policies","title":"/api/planning/cooperation/set_policies","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#description","title":"Description","text":"

    Set the default decision that is used instead when the operator's decision is undecided. For details, see the cooperation.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#request","title":"Request","text":"Name Type Description policies.behavior string The type of the target behavior. policies.sequence string The type of the target sequence. policies.policy uint8 The type of the cooporation policy."},{"location":"design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/","title":"/api/routing/clear_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#apiroutingclear_route","title":"/api/routing/clear_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/ClearRoute
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#description","title":"Description","text":"

    Clear the route.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/clear_route/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/","title":"/api/routing/route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#apiroutingroute","title":"/api/routing/route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/Route
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#description","title":"Description","text":"

    Get the route with the waypoint segments in lanelet format. It is empty if route is not set.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/route/#message","title":"Message","text":"Name Type Description header std_msgs/msg/Header header for pose transformation data autoware_adapi_v1_msgs/msg/RouteData[<=1] The route in lanelet format"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/","title":"/api/routing/set_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#apiroutingset_route","title":"/api/routing/set_route","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetRoute
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#description","title":"Description","text":"

    Set the route with the waypoint segments in lanelet format. If start pose is not specified, the current pose will be used.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#request","title":"Request","text":"Name Type Description header std_msgs/msg/Header header for pose transformation goal geometry_msgs/msg/Pose goal pose segments autoware_adapi_v1_msgs/msg/RouteSegment[] waypoint segments in lanelet format"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/","title":"/api/routing/set_route_points","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#apiroutingset_route_points","title":"/api/routing/set_route_points","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetRoutePoints
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#description","title":"Description","text":"

    Set the route with the waypoint poses. If start pose is not specified, the current pose will be used.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#request","title":"Request","text":"Name Type Description header std_msgs/msg/Header header for pose transformation goal geometry_msgs/msg/Pose goal pose waypoints geometry_msgs/msg/Pose[] waypoint poses"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/set_route_points/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/","title":"/api/routing/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#apiroutingstate","title":"/api/routing/state","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#status","title":"Status","text":"
    • Latest Version: v1.0.0
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/RouteState
    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#description","title":"Description","text":"

    Get the route state. For details, see the routing.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/routing/state/#message","title":"Message","text":"Name Type Description state uint16 A value of the route state."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/","title":"/api/vehicle/dimensions","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#apivehicledimensions","title":"/api/vehicle/dimensions","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#description","title":"Description","text":"

    Get the vehicle dimensions. See here for the definition of each value.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status dimensions autoware_adapi_v1_msgs/msg/VehicleDimensions vehicle dimensions"},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/","title":"/api/vehicle/kinematics","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#apivehiclekinematics","title":"/api/vehicle/kinematics","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: realtime stream
    • Data Type: autoware_adapi_v1_msgs/msg/VehicleKinematics
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#description","title":"Description","text":"

    Publish vehicle kinematics.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/#message","title":"Message","text":"Name Type Description geographic_pose geographic_msgs/msg/GeoPointStamped The longitude and latitude of the vehicle. If the map uses local coordinates, it will not be available. pose geometry_msgs/msg/PoseWithCovarianceStamped The pose with covariance from the base link. twist geometry_msgs/msg/TwistWithCovarianceStamped Vehicle current twist with covariance. accel geometry_msgs/msg/AccelWithCovarianceStamped Vehicle current acceleration with covariance."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/","title":"/api/vehicle/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#apivehiclestatus","title":"/api/vehicle/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#description","title":"Description","text":"

    Publish vehicle state information.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/status/#message","title":"Message","text":"Name Type Description gear autoware_adapi_v1_msgs/msg/Gear Gear status. turn_indicators autoware_adapi_v1_msgs/msg/TurnIndicators Turn indicators status, only either left or right will be enabled. hazard_lights autoware_adapi_v1_msgs/msg/HazardLights Hazard lights status. steering_tire_angle float64 Vehicle current tire angle in radian. energy_percentage float32 Battery percentage or fuel percentage, it will depends on the vehicle."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/","title":"/api/vehicle/doors/command","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#apivehicledoorscommand","title":"/api/vehicle/doors/command","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/SetDoorCommand
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#description","title":"Description","text":"

    Set the door command. This API is only available if the vehicle supports software door control.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#request","title":"Request","text":"Name Type Description doors.index uint32 The index of the target door. doors.command uint8 The command for the target door."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status"},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/","title":"/api/vehicle/doors/layout","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#apivehicledoorslayout","title":"/api/vehicle/doors/layout","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: function call
    • Data Type: autoware_adapi_v1_msgs/srv/GetDoorLayout
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#description","title":"Description","text":"

    Get the door layout. It is an array of roles and descriptions for each door.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#request","title":"Request","text":"

    None

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/#response","title":"Response","text":"Name Type Description status autoware_adapi_v1_msgs/msg/ResponseStatus response status doors.roles uint8[] The roles of the door in the service the vehicle provides. doors.description string The description of the door for display in the interface."},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/","title":"/api/vehicle/doors/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#apivehicledoorsstatus","title":"/api/vehicle/doors/status","text":""},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#status","title":"Status","text":"
    • Latest Version: not released
    • Method: notification
    • Data Type: autoware_adapi_v1_msgs/msg/DoorStatusArray
    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#description","title":"Description","text":"

    The status of each door such as opened or closed.

    "},{"location":"design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/#message","title":"Message","text":"Name Type Description doors.status uint8 current door status"},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/#user-story-of-bus-service","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/#overview","title":"Overview","text":"

    This user story is a bus service that goes around the designated stops.

    "},{"location":"design/autoware-interfaces/ad-api/stories/bus-service/#scenario","title":"Scenario","text":"Step Operation Use Case 1 Startup the autonomous driving system. Launch and terminate 2 Drive the vehicle from the garage to the waiting position. Change the operation mode 3 Enable autonomous control. Change the operation mode 4 Drive the vehicle to the next bus stop. Drive to the designated position 5 Get on and off the vehicle. Get on and get off 6 Return to step 4 unless it's the last bus stop. 7 Drive the vehicle to the waiting position. Drive to the designated position 8 Drive the vehicle from the waiting position to the garage. Change the operation mode 9 Shutdown the autonomous driving system. Launch and terminate"},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/#user-story-of-bus-service","title":"User story of bus service","text":""},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/#overview","title":"Overview","text":"

    This user story is a taxi service that picks up passengers and drives them to their destination.

    "},{"location":"design/autoware-interfaces/ad-api/stories/taxi-service/#scenario","title":"Scenario","text":"Step Operation Use Case 1 Startup the autonomous driving system. Launch and terminate 2 Drive the vehicle from the garage to the waiting position. Change the operation mode 3 Enable autonomous control. Change the operation mode 4 Drive the vehicle to the position to pick up. Drive to the designated position 5 Get on the vehicle. Get on and get off 6 Drive the vehicle to the destination. Drive to the designated position 7 Get off the vehicle. Get on and get off 8 Drive the vehicle to the waiting position. Drive to the designated position 9 Return to step 4 if there is another request. 10 Drive the vehicle from the waiting position to the garage. Change the operation mode 11 Shutdown the autonomous driving system. Launch and terminate"},{"location":"design/autoware-interfaces/ad-api/types/","title":"Types of Autoware AD API","text":""},{"location":"design/autoware-interfaces/ad-api/types/#types-of-autoware-ad-api","title":"Types of Autoware AD API","text":"
    • autoware_adapi_v1_msgs/msg/CooperationCommand
    • autoware_adapi_v1_msgs/msg/CooperationDecision
    • autoware_adapi_v1_msgs/msg/CooperationPolicy
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    • autoware_adapi_v1_msgs/msg/DoorCommand
    • autoware_adapi_v1_msgs/msg/DoorLayout
    • autoware_adapi_v1_msgs/msg/DoorStatus
    • autoware_adapi_v1_msgs/msg/DoorStatusArray
    • autoware_adapi_v1_msgs/msg/DynamicObject
    • autoware_adapi_v1_msgs/msg/DynamicObjectArray
    • autoware_adapi_v1_msgs/msg/DynamicObjectKinematics
    • autoware_adapi_v1_msgs/msg/DynamicObjectPath
    • autoware_adapi_v1_msgs/msg/Gear
    • autoware_adapi_v1_msgs/msg/HazardLights
    • autoware_adapi_v1_msgs/msg/LocalizationInitializationState
    • autoware_adapi_v1_msgs/msg/MotionState
    • autoware_adapi_v1_msgs/msg/MrmState
    • autoware_adapi_v1_msgs/msg/ObjectClassification
    • autoware_adapi_v1_msgs/msg/OperationModeState
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/Route
    • autoware_adapi_v1_msgs/msg/RouteData
    • autoware_adapi_v1_msgs/msg/RouteOption
    • autoware_adapi_v1_msgs/msg/RoutePrimitive
    • autoware_adapi_v1_msgs/msg/RouteSegment
    • autoware_adapi_v1_msgs/msg/RouteState
    • autoware_adapi_v1_msgs/msg/SteeringFactor
    • autoware_adapi_v1_msgs/msg/SteeringFactorArray
    • autoware_adapi_v1_msgs/msg/TurnIndicators
    • autoware_adapi_v1_msgs/msg/VehicleDimensions
    • autoware_adapi_v1_msgs/msg/VehicleKinematics
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    • autoware_adapi_v1_msgs/msg/VelocityFactor
    • autoware_adapi_v1_msgs/msg/VelocityFactorArray
    • autoware_adapi_v1_msgs/srv/AcceptStart
    • autoware_adapi_v1_msgs/srv/ChangeOperationMode
    • autoware_adapi_v1_msgs/srv/ClearRoute
    • autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/GetDoorLayout
    • autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    • autoware_adapi_v1_msgs/srv/InitializeLocalization
    • autoware_adapi_v1_msgs/srv/SetCooperationCommands
    • autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/SetDoorCommand
    • autoware_adapi_v1_msgs/srv/SetRoute
    • autoware_adapi_v1_msgs/srv/SetRoutePoints
    • autoware_adapi_version_msgs/srv/InterfaceVersion
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/","title":"autoware_adapi_v1_msgs/msg/CooperationCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#autoware_adapi_v1_msgsmsgcooperationcommand","title":"autoware_adapi_v1_msgs/msg/CooperationCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#definition","title":"Definition","text":"
    unique_identifier_msgs/UUID uuid\nautoware_adapi_v1_msgs/CooperationDecision cooperator\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationDecision
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/SetCooperationCommands
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/","title":"autoware_adapi_v1_msgs/msg/CooperationDecision","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#autoware_adapi_v1_msgsmsgcooperationdecision","title":"autoware_adapi_v1_msgs/msg/CooperationDecision","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#definition","title":"Definition","text":"
    uint8 UNKNOWN = 0\nuint8 DEACTIVATE = 1\nuint8 ACTIVATE = 2\nuint8 AUTONOMOUS = 3\nuint8 UNDECIDED = 4\n\nuint8 decision\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/CooperationCommand
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/","title":"autoware_adapi_v1_msgs/msg/CooperationPolicy","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#autoware_adapi_v1_msgsmsgcooperationpolicy","title":"autoware_adapi_v1_msgs/msg/CooperationPolicy","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#definition","title":"Definition","text":"
    uint8 OPTIONAL = 1\nuint8 REQUIRED = 2\n\nstring behavior\nstring sequence\nuint8 policy\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/","title":"autoware_adapi_v1_msgs/msg/CooperationStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#autoware_adapi_v1_msgsmsgcooperationstatus","title":"autoware_adapi_v1_msgs/msg/CooperationStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#definition","title":"Definition","text":"
    unique_identifier_msgs/UUID uuid\nautoware_adapi_v1_msgs/CooperationDecision autonomous\nautoware_adapi_v1_msgs/CooperationDecision cooperator\nbool cancellable\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationDecision
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/SteeringFactor
    • autoware_adapi_v1_msgs/msg/VelocityFactor
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/","title":"autoware_adapi_v1_msgs/msg/DoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#autoware_adapi_v1_msgsmsgdoorcommand","title":"autoware_adapi_v1_msgs/msg/DoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#definition","title":"Definition","text":"
    uint8 OPEN = 1\nuint8 CLOSE = 2\n\nuint32 index\nuint8 command\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/SetDoorCommand
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/","title":"autoware_adapi_v1_msgs/msg/DoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#autoware_adapi_v1_msgsmsgdoorlayout","title":"autoware_adapi_v1_msgs/msg/DoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#definition","title":"Definition","text":"
    uint8 GET_ON = 1\nuint8 GET_OFF = 2\n\nuint8[] roles\nstring description\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/GetDoorLayout
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/","title":"autoware_adapi_v1_msgs/msg/DoorStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#autoware_adapi_v1_msgsmsgdoorstatus","title":"autoware_adapi_v1_msgs/msg/DoorStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#definition","title":"Definition","text":"
    uint8 UNKNOWN = 0\nuint8 NOT_AVAILABLE = 1\nuint8 OPENED = 2\nuint8 CLOSED = 3\nuint8 OPENING = 4\nuint8 CLOSING = 5\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DoorStatusArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/","title":"autoware_adapi_v1_msgs/msg/DoorStatusArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#autoware_adapi_v1_msgsmsgdoorstatusarray","title":"autoware_adapi_v1_msgs/msg/DoorStatusArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#definition","title":"Definition","text":"
    builtin_interfaces/Time stamp\nautoware_adapi_v1_msgs/DoorStatus[] doors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DoorStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/","title":"autoware_adapi_v1_msgs/msg/DynamicObject","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#autoware_adapi_v1_msgsmsgdynamicobject","title":"autoware_adapi_v1_msgs/msg/DynamicObject","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#definition","title":"Definition","text":"
    unique_identifier_msgs/UUID id\nfloat64 existence_probability\nautoware_adapi_v1_msgs/ObjectClassification[] classification\nautoware_adapi_v1_msgs/DynamicObjectKinematics kinematics\nshape_msgs/SolidPrimitive shape\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectKinematics
    • autoware_adapi_v1_msgs/msg/ObjectClassification
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/","title":"autoware_adapi_v1_msgs/msg/DynamicObjectArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#autoware_adapi_v1_msgsmsgdynamicobjectarray","title":"autoware_adapi_v1_msgs/msg/DynamicObjectArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/DynamicObject[] objects\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObject
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/","title":"autoware_adapi_v1_msgs/msg/DynamicObjectKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#autoware_adapi_v1_msgsmsgdynamicobjectkinematics","title":"autoware_adapi_v1_msgs/msg/DynamicObjectKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#definition","title":"Definition","text":"
    geometry_msgs/Pose pose\ngeometry_msgs/Twist twist\ngeometry_msgs/Accel accel\n\nautoware_adapi_v1_msgs/DynamicObjectPath[] predicted_paths\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectPath
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObject
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/","title":"autoware_adapi_v1_msgs/msg/DynamicObjectPath","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#autoware_adapi_v1_msgsmsgdynamicobjectpath","title":"autoware_adapi_v1_msgs/msg/DynamicObjectPath","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#definition","title":"Definition","text":"
    geometry_msgs/Pose[] path\nbuiltin_interfaces/Duration time_step\nfloat64 confidence\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObjectKinematics
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/","title":"autoware_adapi_v1_msgs/msg/Gear","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#autoware_adapi_v1_msgsmsggear","title":"autoware_adapi_v1_msgs/msg/Gear","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#definition","title":"Definition","text":"
    # constants\nuint8 UNKNOWN = 0\nuint8 NEUTRAL = 1\nuint8 DRIVE = 2\nuint8 REVERSE = 3\nuint8 PARK = 4\nuint8 LOW = 5\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/","title":"autoware_adapi_v1_msgs/msg/HazardLights","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#autoware_adapi_v1_msgsmsghazardlights","title":"autoware_adapi_v1_msgs/msg/HazardLights","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#definition","title":"Definition","text":"
    # constants\nuint8 UNKNOWN = 0\nuint8 DISABLE = 1\nuint8 ENABLE = 2\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/","title":"autoware_adapi_v1_msgs/msg/LocalizationInitializationState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#autoware_adapi_v1_msgsmsglocalizationinitializationstate","title":"autoware_adapi_v1_msgs/msg/LocalizationInitializationState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#definition","title":"Definition","text":"
    uint16 UNKNOWN = 0\nuint16 UNINITIALIZED = 1\nuint16 INITIALIZING = 2\nuint16 INITIALIZED = 3\n\nbuiltin_interfaces/Time stamp\nuint16 state\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/","title":"autoware_adapi_v1_msgs/msg/MotionState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#autoware_adapi_v1_msgsmsgmotionstate","title":"autoware_adapi_v1_msgs/msg/MotionState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#definition","title":"Definition","text":"
    uint16 UNKNOWN = 0\nuint16 STOPPED = 1\nuint16 STARTING = 2\nuint16 MOVING = 3\n\nbuiltin_interfaces/Time stamp\nuint16 state\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/","title":"autoware_adapi_v1_msgs/msg/MrmState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#autoware_adapi_v1_msgsmsgmrmstate","title":"autoware_adapi_v1_msgs/msg/MrmState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#definition","title":"Definition","text":"
    builtin_interfaces/Time stamp\n\n# For common use\nuint16 UNKNOWN = 0\n\n# For state\nuint16 NORMAL = 1\nuint16 MRM_OPERATING = 2\nuint16 MRM_SUCCEEDED = 3\nuint16 MRM_FAILED = 4\n\n# For behavior\nuint16 NONE = 1\nuint16 EMERGENCY_STOP = 2\nuint16 COMFORTABLE_STOP = 3\n\nuint16 state\nuint16 behavior\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/","title":"autoware_adapi_v1_msgs/msg/ObjectClassification","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#autoware_adapi_v1_msgsmsgobjectclassification","title":"autoware_adapi_v1_msgs/msg/ObjectClassification","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#definition","title":"Definition","text":"
    uint8 UNKNOWN=0\nuint8 CAR=1\nuint8 TRUCK=2\nuint8 BUS=3\nuint8 TRAILER = 4\nuint8 MOTORCYCLE = 5\nuint8 BICYCLE = 6\nuint8 PEDESTRIAN = 7\n\nuint8 label\nfloat64 probability\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/DynamicObject
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/","title":"autoware_adapi_v1_msgs/msg/OperationModeState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#autoware_adapi_v1_msgsmsgoperationmodestate","title":"autoware_adapi_v1_msgs/msg/OperationModeState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#definition","title":"Definition","text":"
    # constants for mode\nuint8 UNKNOWN = 0\nuint8 STOP = 1\nuint8 AUTONOMOUS = 2\nuint8 LOCAL = 3\nuint8 REMOTE = 4\n\n# variables\nbuiltin_interfaces/Time stamp\nuint8 mode\nbool is_autoware_control_enabled\nbool is_in_transition\nbool is_stop_mode_available\nbool is_autonomous_mode_available\nbool is_local_mode_available\nbool is_remote_mode_available\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/","title":"autoware_adapi_v1_msgs/msg/ResponseStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#autoware_adapi_v1_msgsmsgresponsestatus","title":"autoware_adapi_v1_msgs/msg/ResponseStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#definition","title":"Definition","text":"
    # error code\nuint16 UNKNOWN = 50000\nuint16 SERVICE_UNREADY = 50001\nuint16 SERVICE_TIMEOUT = 50002\nuint16 TRANSFORM_ERROR = 50003\nuint16 PARAMETER_ERROR = 50004\n\n# warning code\nuint16 DEPRECATED = 60000\nuint16 NO_EFFECT = 60001\n\n# variables\nbool   success\nuint16 code\nstring message\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/AcceptStart
    • autoware_adapi_v1_msgs/srv/ChangeOperationMode
    • autoware_adapi_v1_msgs/srv/ClearRoute
    • autoware_adapi_v1_msgs/srv/GetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/GetDoorLayout
    • autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    • autoware_adapi_v1_msgs/srv/InitializeLocalization
    • autoware_adapi_v1_msgs/srv/SetCooperationCommands
    • autoware_adapi_v1_msgs/srv/SetCooperationPolicies
    • autoware_adapi_v1_msgs/srv/SetDoorCommand
    • autoware_adapi_v1_msgs/srv/SetRoute
    • autoware_adapi_v1_msgs/srv/SetRoutePoints
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/","title":"autoware_adapi_v1_msgs/msg/Route","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#autoware_adapi_v1_msgsmsgroute","title":"autoware_adapi_v1_msgs/msg/Route","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/RouteData[<=1] data\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/RouteData
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/","title":"autoware_adapi_v1_msgs/msg/RouteData","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#autoware_adapi_v1_msgsmsgroutedata","title":"autoware_adapi_v1_msgs/msg/RouteData","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#definition","title":"Definition","text":"
    geometry_msgs/Pose start\ngeometry_msgs/Pose goal\nautoware_adapi_v1_msgs/RouteSegment[] segments\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/RouteSegment
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/Route
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/","title":"autoware_adapi_v1_msgs/msg/RouteOption","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#autoware_adapi_v1_msgsmsgrouteoption","title":"autoware_adapi_v1_msgs/msg/RouteOption","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#definition","title":"Definition","text":"
    bool allow_goal_modification\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/SetRoute
    • autoware_adapi_v1_msgs/srv/SetRoutePoints
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/","title":"autoware_adapi_v1_msgs/msg/RoutePrimitive","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#autoware_adapi_v1_msgsmsgrouteprimitive","title":"autoware_adapi_v1_msgs/msg/RoutePrimitive","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#definition","title":"Definition","text":"
    int64 id\nstring type  # The same id may be used for each type.\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/RouteSegment
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/","title":"autoware_adapi_v1_msgs/msg/RouteSegment","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#autoware_adapi_v1_msgsmsgroutesegment","title":"autoware_adapi_v1_msgs/msg/RouteSegment","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/RoutePrimitive   preferred\nautoware_adapi_v1_msgs/RoutePrimitive[] alternatives  # Does not include the preferred primitive.\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/RoutePrimitive
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/RouteData
    • autoware_adapi_v1_msgs/srv/SetRoute
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/","title":"autoware_adapi_v1_msgs/msg/RouteState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#autoware_adapi_v1_msgsmsgroutestate","title":"autoware_adapi_v1_msgs/msg/RouteState","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#definition","title":"Definition","text":"
    uint16 UNKNOWN = 0\nuint16 UNSET = 1\nuint16 SET = 2\nuint16 ARRIVED = 3\nuint16 CHANGING = 4\n\nbuiltin_interfaces/Time stamp\nuint16 state\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/","title":"autoware_adapi_v1_msgs/msg/SteeringFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#autoware_adapi_v1_msgsmsgsteeringfactor","title":"autoware_adapi_v1_msgs/msg/SteeringFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#definition","title":"Definition","text":"
    # constants for common use\nuint16 UNKNOWN = 0\n\n# constants for direction\nuint16 LEFT = 1\nuint16 RIGHT = 2\nuint16 STRAIGHT = 3\n\n# constants for status\nuint16 APPROACHING = 1\nuint16 TURNING = 3\n\n# variables\ngeometry_msgs/Pose[2] pose\nfloat32[2] distance\nuint16 direction\nuint16 status\nstring behavior\nstring sequence\nstring detail\nautoware_adapi_v1_msgs/CooperationStatus[<=1] cooperation\n\n\n\n# deprecated constants for type\nuint16 INTERSECTION = 1\nuint16 LANE_CHANGE = 2\nuint16 AVOIDANCE_PATH_CHANGE = 3\nuint16 AVOIDANCE_PATH_RETURN = 4\nuint16 STATION = 5\nuint16 PULL_OUT = 6 # Deprecated. Use START_PLANNER.\nuint16 START_PLANNER = 6\nuint16 PULL_OVER = 7  # Deprecated. Use GOAL_PLANNER.\nuint16 GOAL_PLANNER = 7\nuint16 EMERGENCY_OPERATION = 8\n\n# deprecated constants for status\nuint16 TRYING = 2\n\n# deprecated variables\nuint16 type\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/SteeringFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/","title":"autoware_adapi_v1_msgs/msg/SteeringFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#autoware_adapi_v1_msgsmsgsteeringfactorarray","title":"autoware_adapi_v1_msgs/msg/SteeringFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/SteeringFactor[] factors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/SteeringFactor
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/","title":"autoware_adapi_v1_msgs/msg/TurnIndicators","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#autoware_adapi_v1_msgsmsgturnindicators","title":"autoware_adapi_v1_msgs/msg/TurnIndicators","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#definition","title":"Definition","text":"
    # constants\nuint8 UNKNOWN = 0\nuint8 DISABLE = 1\nuint8 LEFT = 2\nuint8 RIGHT = 3\n\nuint8 status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VehicleStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/","title":"autoware_adapi_v1_msgs/msg/VehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#autoware_adapi_v1_msgsmsgvehicledimensions","title":"autoware_adapi_v1_msgs/msg/VehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#definition","title":"Definition","text":"
    float32 wheel_radius\nfloat32 wheel_width\nfloat32 wheel_base\nfloat32 wheel_tread\nfloat32 front_overhang\nfloat32 rear_overhang\nfloat32 left_overhang\nfloat32 right_overhang\nfloat32 height\ngeometry_msgs/Polygon footprint\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/srv/GetVehicleDimensions
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/","title":"autoware_adapi_v1_msgs/msg/VehicleKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#autoware_adapi_v1_msgsmsgvehiclekinematics","title":"autoware_adapi_v1_msgs/msg/VehicleKinematics","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#definition","title":"Definition","text":"
    # Geographic point, using the WGS 84 reference ellipsoid.\n# This data will be invalid If Autoware does not provide projection information between geographic coordinates and local coordinates.\ngeographic_msgs/GeoPointStamped geographic_pose\n\n# Local coordinate from the autoware\ngeometry_msgs/PoseWithCovarianceStamped pose\ngeometry_msgs/TwistWithCovarianceStamped twist\ngeometry_msgs/AccelWithCovarianceStamped accel\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/","title":"autoware_adapi_v1_msgs/msg/VehicleStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#autoware_adapi_v1_msgsmsgvehiclestatus","title":"autoware_adapi_v1_msgs/msg/VehicleStatus","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#definition","title":"Definition","text":"
    builtin_interfaces/Time stamp\nautoware_adapi_v1_msgs/Gear gear\nautoware_adapi_v1_msgs/TurnIndicators turn_indicators\nautoware_adapi_v1_msgs/HazardLights hazard_lights\nfloat64 steering_tire_angle\nfloat32 energy_percentage  # Battery percentage or fuel percentage, it will depends on the vehicle.\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/Gear
    • autoware_adapi_v1_msgs/msg/HazardLights
    • autoware_adapi_v1_msgs/msg/TurnIndicators
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/","title":"autoware_adapi_v1_msgs/msg/VelocityFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#autoware_adapi_v1_msgsmsgvelocityfactor","title":"autoware_adapi_v1_msgs/msg/VelocityFactor","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#definition","title":"Definition","text":"
    # constants for common use\nuint16 UNKNOWN = 0\n\n# constants for status\nuint16 APPROACHING = 1\nuint16 STOPPED = 2\n\n# variables\ngeometry_msgs/Pose pose\nfloat32 distance\nuint16 status\nstring behavior\nstring sequence\nstring detail\nautoware_adapi_v1_msgs/CooperationStatus[<=1] cooperation\n\n\n\n# deprecated constants for type\nuint16 SURROUNDING_OBSTACLE = 1\nuint16 ROUTE_OBSTACLE = 2\nuint16 INTERSECTION = 3\nuint16 CROSSWALK = 4\nuint16 REAR_CHECK = 5\nuint16 USER_DEFINED_DETECTION_AREA = 6\nuint16 NO_STOPPING_AREA = 7\nuint16 STOP_SIGN = 8\nuint16 TRAFFIC_SIGNAL = 9\nuint16 V2I_GATE_CONTROL_ENTER = 10\nuint16 V2I_GATE_CONTROL_LEAVE = 11\nuint16 MERGE = 12\nuint16 SIDEWALK = 13\nuint16 LANE_CHANGE = 14\nuint16 AVOIDANCE = 15\nuint16 EMERGENCY_STOP_OPERATION = 16\nuint16 NO_DRIVABLE_LANE = 17\n\n# deprecated variables\nuint16 type\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/#this-type-is-used-by","title":"This type is used by","text":"
    • autoware_adapi_v1_msgs/msg/VelocityFactorArray
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/","title":"autoware_adapi_v1_msgs/msg/VelocityFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#autoware_adapi_v1_msgsmsgvelocityfactorarray","title":"autoware_adapi_v1_msgs/msg/VelocityFactorArray","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/VelocityFactor[] factors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/VelocityFactor
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/","title":"autoware_adapi_v1_msgs/srv/AcceptStart","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#autoware_adapi_v1_msgssrvacceptstart","title":"autoware_adapi_v1_msgs/srv/AcceptStart","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#definition","title":"Definition","text":"
    ---\nuint16 ERROR_NOT_STARTING = 1\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/","title":"autoware_adapi_v1_msgs/srv/ChangeOperationMode","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#autoware_adapi_v1_msgssrvchangeoperationmode","title":"autoware_adapi_v1_msgs/srv/ChangeOperationMode","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#definition","title":"Definition","text":"
    ---\nuint16 ERROR_NOT_AVAILABLE = 1\nuint16 ERROR_IN_TRANSITION = 2\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/","title":"autoware_adapi_v1_msgs/srv/ClearRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#autoware_adapi_v1_msgssrvclearroute","title":"autoware_adapi_v1_msgs/srv/ClearRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/","title":"autoware_adapi_v1_msgs/srv/GetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#autoware_adapi_v1_msgssrvgetcooperationpolicies","title":"autoware_adapi_v1_msgs/srv/GetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\nautoware_adapi_v1_msgs/CooperationPolicy[] policies\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationPolicy
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/","title":"autoware_adapi_v1_msgs/srv/GetDoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#autoware_adapi_v1_msgssrvgetdoorlayout","title":"autoware_adapi_v1_msgs/srv/GetDoorLayout","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\nautoware_adapi_v1_msgs/DoorLayout[] doors\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DoorLayout
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/","title":"autoware_adapi_v1_msgs/srv/GetVehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#autoware_adapi_v1_msgssrvgetvehicledimensions","title":"autoware_adapi_v1_msgs/srv/GetVehicleDimensions","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#definition","title":"Definition","text":"
    ---\nautoware_adapi_v1_msgs/ResponseStatus status\nautoware_adapi_v1_msgs/VehicleDimensions dimensions\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/VehicleDimensions
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/","title":"autoware_adapi_v1_msgs/srv/InitializeLocalization","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#autoware_adapi_v1_msgssrvinitializelocalization","title":"autoware_adapi_v1_msgs/srv/InitializeLocalization","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#definition","title":"Definition","text":"
    geometry_msgs/PoseWithCovarianceStamped[<=1] pose\n---\nuint16 ERROR_UNSAFE = 1\nuint16 ERROR_GNSS_SUPPORT = 2\nuint16 ERROR_GNSS = 3\nuint16 ERROR_ESTIMATION = 4\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/","title":"autoware_adapi_v1_msgs/srv/SetCooperationCommands","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#autoware_adapi_v1_msgssrvsetcooperationcommands","title":"autoware_adapi_v1_msgs/srv/SetCooperationCommands","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/CooperationCommand[] commands\n---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationCommand
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/","title":"autoware_adapi_v1_msgs/srv/SetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#autoware_adapi_v1_msgssrvsetcooperationpolicies","title":"autoware_adapi_v1_msgs/srv/SetCooperationPolicies","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/CooperationPolicy[] policies\n---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/CooperationPolicy
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/","title":"autoware_adapi_v1_msgs/srv/SetDoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#autoware_adapi_v1_msgssrvsetdoorcommand","title":"autoware_adapi_v1_msgs/srv/SetDoorCommand","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#definition","title":"Definition","text":"
    autoware_adapi_v1_msgs/DoorCommand[] doors\n---\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/DoorCommand
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/","title":"autoware_adapi_v1_msgs/srv/SetRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#autoware_adapi_v1_msgssrvsetroute","title":"autoware_adapi_v1_msgs/srv/SetRoute","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/RouteOption option\ngeometry_msgs/Pose goal\nautoware_adapi_v1_msgs/RouteSegment[] segments\n---\nuint16 ERROR_ROUTE_EXISTS = 1 # Deprecated. Use ERROR_INVALID_STATE.\nuint16 ERROR_INVALID_STATE = 1\nuint16 ERROR_PLANNER_UNREADY = 2\nuint16 ERROR_PLANNER_FAILED = 3\nuint16 ERROR_REROUTE_FAILED = 4\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/RouteOption
    • autoware_adapi_v1_msgs/msg/RouteSegment
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/","title":"autoware_adapi_v1_msgs/srv/SetRoutePoints","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#autoware_adapi_v1_msgssrvsetroutepoints","title":"autoware_adapi_v1_msgs/srv/SetRoutePoints","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#definition","title":"Definition","text":"
    std_msgs/Header header\nautoware_adapi_v1_msgs/RouteOption option\ngeometry_msgs/Pose goal\ngeometry_msgs/Pose[] waypoints\n---\nuint16 ERROR_ROUTE_EXISTS = 1 # Deprecated. Use ERROR_INVALID_STATE.\nuint16 ERROR_INVALID_STATE = 1\nuint16 ERROR_PLANNER_UNREADY = 2\nuint16 ERROR_PLANNER_FAILED = 3\nuint16 ERROR_REROUTE_FAILED = 4\nautoware_adapi_v1_msgs/ResponseStatus status\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#this-type-uses","title":"This type uses","text":"
    • autoware_adapi_v1_msgs/msg/ResponseStatus
    • autoware_adapi_v1_msgs/msg/RouteOption
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/","title":"autoware_adapi_version_msgs/srv/InterfaceVersion","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#autoware_adapi_version_msgssrvinterfaceversion","title":"autoware_adapi_version_msgs/srv/InterfaceVersion","text":""},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#definition","title":"Definition","text":"
    ---\nuint16 major\nuint16 minor\nuint16 patch\n
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#this-type-uses","title":"This type uses","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/#this-type-is-used-by","title":"This type is used by","text":"
    • None
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/","title":"Change the operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/#change-the-operation-mode","title":"Change the operation mode","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/#related-api","title":"Related API","text":"
    • Operation mode
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/change-operation-mode/#sequence","title":"Sequence","text":"
    • Change the mode with software switch.

    • Change the mode with hardware switch.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/","title":"Drive to the designated position","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/#drive-to-the-designated-position","title":"Drive to the designated position","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/#related-api","title":"Related API","text":"
    • Driving
    • Route
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/drive-designated-position/#sequence","title":"Sequence","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/","title":"Get on and get off","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/#get-on-and-get-off","title":"Get on and get off","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/#related-api","title":"Related API","text":"
    • Door
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/get-on-off/#sequence","title":"Sequence","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/","title":"Initialize the pose","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/#initialize-the-pose","title":"Initialize the pose","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/#related-api","title":"Related API","text":"
    • Pose
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/initialize-pose/#sequence","title":"Sequence","text":"
    • Initialization of the pose using input.

    • Initialization of the pose using GNSS.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/","title":"Launch and terminate","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/#launch-and-terminate","title":"Launch and terminate","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/#related-api","title":"Related API","text":"
    • Interface
    • Launcher
    "},{"location":"design/autoware-interfaces/ad-api/use-cases/launch-terminate/#sequence","title":"Sequence","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/","title":"Vehicle monitoring","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#vehicle-monitoring","title":"Vehicle monitoring","text":"

    AD API provides current vehicle status for remote monitoring, visualization for passengers, etc. Use the API below depending on the data you want to monitor.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#vehicle-status","title":"Vehicle status","text":"

    The vehicle status provides basic information such as kinematics, indicators, and dimensions. This allows a remote operator to know the position and velocity of the vehicle. For applications such as FMS, it can help find vehicles that need assistance, such as vehicles that are stuck or brake suddenly. It is also possible to determine the actual distance to an object from the vehicle dimensions.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#planning-factors","title":"Planning factors","text":"

    The planning factors provides the planning status of the vehicle. HMI can use this to warn of sudden movements of the vehicle, and to share the stop reason with passengers for comfortable driving.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/#detected-objects","title":"Detected objects","text":"

    The perception provides the objects detected by Autoware. HMI can use this to visualize objects around the vehicle.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/","title":"Vehicle operation","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/#vehicle-operation","title":"Vehicle operation","text":""},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/#request-to-intervene","title":"Request to intervene","text":"

    Request to intervene (RTI) is a feature that requires the operator to switch to manual driving mode. It is also called Take Over Request (TOR). Interfaces for RTI are currently being discussed. For now assume that manual driving is requested if the MRM state is not NORMAL. See fail-safe for details.

    "},{"location":"design/autoware-interfaces/ad-api/use-cases/vehicle-operation/#request-to-cooperate","title":"Request to cooperate","text":"

    Request to cooperate (RTC) is a feature that the operator supports the decision in autonomous driving mode. Autoware usually drives the vehicle using its own decisions, but the operator may prefer to make their own decisions in complex situations. Since RTC only overrides the decision and does not need to change operation mode, the vehicle can continue autonomous driving, unlike RTC. See cooperation for details.

    "},{"location":"design/autoware-interfaces/components/","title":"Component interfaces","text":""},{"location":"design/autoware-interfaces/components/#component-interfaces","title":"Component interfaces","text":"

    Warning

    Under Construction

    See here for an overview.

    "},{"location":"design/autoware-interfaces/components/control/","title":"Control","text":""},{"location":"design/autoware-interfaces/components/control/#control","title":"Control","text":""},{"location":"design/autoware-interfaces/components/control/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/control/#vehicle-kinematic-state","title":"Vehicle kinematic state","text":"

    Current position and orientation of ego. Published by the Localization module.

    • nav_msgs/Odometry
      • std_msgs/Header header
      • string child_frame_id
      • geometry_msgs/PoseWithCovariance pose
      • geometry_msgs/TwistWithCovariance twist
    "},{"location":"design/autoware-interfaces/components/control/#trajectory","title":"Trajectory","text":"

    trajectory to be followed by the controller. See Outputs of Planning.

    "},{"location":"design/autoware-interfaces/components/control/#steering-status","title":"Steering Status","text":"

    Current steering of the ego vehicle. Published by the Vehicle Interface.

    • Steering message (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 steering_angle
    "},{"location":"design/autoware-interfaces/components/control/#actuation-status","title":"Actuation Status","text":"

    Actuation status of the ego vehicle for acceleration, steering, and brake.

    TODO This represents the reported physical efforts exerted by the vehicle actuators. Published by the Vehicle Interface.

    • ActuationStatus (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 acceleration
      • float32 steering
    "},{"location":"design/autoware-interfaces/components/control/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/control/#vehicle-control-command","title":"Vehicle Control Command","text":"

    A motion signal to drive the vehicle, achieved by the low-level controller in the vehicle layer. Used by the Vehicle Interface.

    • autoware_auto_control_msgs/AckermannControlCommand
      • builtin_interfaces::msg::Time stamp
      • autoware_auto_control_msgs/AckermannLateralCommand lateral
        • builtin_interfaces::msg::Time stamp
        • float steering_tire_angle
        • float steering_tire_rotation_rate
      • autoware_auto_control_msgs/LongitudinalCommand longitudinal
        • builtin_interfaces::msg::Time stamp
        • builtin_interfaces::msg::Duration duration
        • builtin_interfaces::msg::Duration time_step
        • float[] speeds
        • float[] accelerations
        • float[] jerks
    "},{"location":"design/autoware-interfaces/components/localization/","title":"Localization","text":""},{"location":"design/autoware-interfaces/components/localization/#localization","title":"Localization","text":""},{"location":"design/autoware-interfaces/components/localization/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/localization/#pointcloud-map","title":"Pointcloud Map","text":"

    Environment map created with point cloud, published by the map server.

    • sensor_msgs/msg/PointCloud2

    A 3d point cloud map is used for LiDAR-based localization in Autoware.

    "},{"location":"design/autoware-interfaces/components/localization/#manual-initial-pose","title":"Manual Initial Pose","text":"

    Start pose of ego, published by the user interface.

    • geometry_msgs/msg/PoseWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msgs/msg/PoseWithCovariance pose
        • geometry_msgs/msg/Pose pose
          • geometry_msgs/msg/Point position
          • geometry_msg/msg/Quaternion orientation
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#3d-lidar-scanning","title":"3D-LiDAR Scanning","text":"

    LiDAR scanning for NDT matching, published by the LiDAR sensor.

    • sensor_msgs/msg/PointCloud2

    The raw 3D-LiDAR data needs to be processed by the point cloud pre-processing modules before being used for localization.

    "},{"location":"design/autoware-interfaces/components/localization/#automatic-initial-pose","title":"Automatic Initial pose","text":"

    Start pose of ego, calculated from INS(Inertial navigation sensor) sensing data.

    • geometry_msgs/msg/PoseWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msgs/msg/PoseWithCovariance pose
        • geometry_msgs/msg/Pose pose
          • geometry_msgs/msg/Point position
          • geometry_msg/msg/Quaternion orientation
        • double[36] covariance

    When the initial pose is not set manually, the message can be used for automatic pose initialization.

    Current Geographic coordinate of the ego, published by the GNSS sensor.

    • sensor_msgs/msg/NavSatFix
      • std_msgs/msg/Header header
      • sensor_msgs/msg/NavSatStatus status
      • double latitude
      • double longitude
      • double altitude
      • double[9] position_covariance
      • unit8 position_covariance_type

    Current orientation of the ego, published by the GNSS-INS.

    • autoware_sensing_msgs/msg/GnssInsOrientationStamped
      • std_msgs/Header header
      • autoware_sensing_msgs/msg/GnssInsOrientation orientation
        • geometry_msgs/Quaternion orientation
        • float32 rmse_rotation_x
        • float32 rmse_rotation_y
        • float32 rmse_rotation_z
    "},{"location":"design/autoware-interfaces/components/localization/#imu-data","title":"IMU Data","text":"

    Current orientation, angular velocity and linear acceleration of ego, calculated from IMU sensing data.

    • sensor_msgs/msg/Imu
      • std_msgs/msg/Header header
      • geometry_msgs/msg/Quaternion orientation
      • double[9] orientation_covariance
      • geometry_msgs/msg/Vector3 angular_velocity
      • double[9] angular_velocity_covariance
      • geometry_msgs/msg/Vector3 linear_acceleration
      • double[9] linear_acceleration_covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-velocity-status","title":"Vehicle Velocity Status","text":"

    Current velocity of the ego vehicle, published by the vehicle interface.

    • autoware_auto_vehicle_msgs/msg/VelocityReport
      • std_msgs/msg/Header header;
      • float longitudinal_velocity;
      • float lateral_velocity;
      • float heading_rate;

    Before the velocity input localization interface, module vehicle_velocity_converter converts message type autoware_auto_vehicle_msgs/msg/VelocityReport to geometry_msgs/msg/TwistWithCovarianceStamped.

    "},{"location":"design/autoware-interfaces/components/localization/#outputs","title":"Outputs","text":""},{"location":"design/autoware-interfaces/components/localization/#vehicle-pose","title":"Vehicle pose","text":"

    Current pose of ego, calculated from localization interface.

    • geometry_msgs/msg/PoseWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msg/PoseWithCovariance pose
        • geometry_msgs/msg/Pose pose
          • geometry_msgs/msg/Point position
          • geometry_msgs/msg/Quaternion orientation
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-velocity","title":"Vehicle velocity","text":"

    Current velocity of ego, calculated from localization interface.

    • geometry_msgs/msg/TwistWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msg/TwistWithCovariance twist
        • geometry_msgs/msg/Twist twist
          • geometry_msgs/msg/Vector3 linear
          • geometry_msgs/msg/Vector3 angular
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-acceleration","title":"Vehicle acceleration","text":"

    Current acceleration of ego, calculated from localization interface.

    • geometry_msgs/msg/AccelWithCovarianceStamped
      • std_msgs/msg/Header header
      • geometry_msg/AccelWithCovariance accel
        • geometry_msgs/msg/Accel accel
          • geometry_msgs/msg/Vector3 linear
          • geometry_msgs/msg/Vector3 angular
        • double[36] covariance
    "},{"location":"design/autoware-interfaces/components/localization/#vehicle-kinematic-state","title":"Vehicle kinematic state","text":"

    Current pose, velocity and acceleration of ego, calculated from localization interface.

    Note: Kinematic state contains pose, velocity and acceleration. In the future, pose, velocity and acceleration will not be used as output for localization.

    • autoware_msgs/autoware_localization_msgs/msg/KinematicState
      • std_msgs/msg/Header header
      • string child_frame_id
      • geometry_msgs/PoseWithCovariance pose_with_covariance
      • geometry_msgs/TwistWithCovariance twist_with_covariance
      • geometry_msgs/AccelWithCovariance accel_with_covariance

    The message will be subscribed by the planning and control module.

    "},{"location":"design/autoware-interfaces/components/localization/#localization-accuracy","title":"Localization Accuracy","text":"

    Diagnostics information that indicates if the localization module works properly.

    TBD.

    "},{"location":"design/autoware-interfaces/components/map/","title":"Map","text":""},{"location":"design/autoware-interfaces/components/map/#map","title":"Map","text":""},{"location":"design/autoware-interfaces/components/map/#overview","title":"Overview","text":"

    Autoware relies on high-definition point cloud maps and vector maps of the driving environment to perform various tasks. Before launching Autoware, you need to load the pre-created map files.

    "},{"location":"design/autoware-interfaces/components/map/#inputs","title":"Inputs","text":"
    • Point cloud maps (.pcd)
    • Lanelet2 maps (.osm)

    Refer to Creating maps on how to create maps.

    "},{"location":"design/autoware-interfaces/components/map/#outputs","title":"Outputs","text":""},{"location":"design/autoware-interfaces/components/map/#point-cloud-map","title":"Point cloud map","text":"

    It loads point cloud files and publishes the maps to the other Autoware nodes in various configurations. Currently, it supports the following types:

    • Raw point cloud map (sensor_msgs/msg/PointCloud2)
    • Downsampled point cloud map (sensor_msgs/msg/PointCloud2)
    • Partial point cloud map loading via ROS service (autoware_map_msgs/srv/GetPartialPointCloudMap)
    • Differential point cloud map loading via ROS service (autoware_map_msgs/srv/GetDifferentialPointCloudMap)
    "},{"location":"design/autoware-interfaces/components/map/#lanelet2-map","title":"Lanelet2 map","text":"

    It loads a Lanelet2 file and publishes the map data as autoware_auto_mapping_msgs/msg/HADMapBin message. The lan/lon coordinates are projected onto the MGRS coordinates.

    • autoware_auto_mapping_msgs/msg/HADMapBin
      • std_msgs/Header header
      • string version_map_format
      • string version_map
      • string name_map
      • uint8[] data
    "},{"location":"design/autoware-interfaces/components/map/#lanelet2-map-visualization","title":"Lanelet2 map visualization","text":"

    Visualize autoware_auto_mapping_msgs/HADMapBin messages in Rviz.

    • visualization_msgs/msg/MarkerArray
    "},{"location":"design/autoware-interfaces/components/perception-interface/","title":"Perception","text":""},{"location":"design/autoware-interfaces/components/perception-interface/#perception","title":"Perception","text":"
    graph TD\n    cmp_sen(\"Sensing\"):::cls_sen\n    cmp_loc(\"Localization\"):::cls_loc\n    cmp_per(\"Perception\"):::cls_per\n    cmp_plan(\"Planning\"):::cls_plan\n\n    msg_img(\"<font size=2><b>Camera Image</b></font size>\n    <font size=1>sensor_msgs/Image</font size>\"):::cls_sen\n\n    msg_ldr(\"<font size=2><b>Lidar Point Cloud</b></font size>\n    <font size=1>sensor_msgs/PointCloud2</font size>\"):::cls_sen\n\n    msg_lanenet(\"<font size=2><b>Lanelet2 Map</b></font size>\n    <font size=1>autoware_auto_mapping_msgs/HADMapBin</font size>\"):::cls_loc\n\n    msg_vks(\"<font size=2><b>Vehicle Kinematic State</b></font size>\n    <font size=1>nav_msgs/Odometry</font size>\"):::cls_loc\n\n    msg_obj(\"<font size=2><b>3D Object Predictions </b></font size>\n    <font size=1>autoware_auto_perception_msgs/PredictedObjects</font size>\"):::cls_per\n\n    msg_tl(\"<font size=2><b>Traffic Light Response </b></font size>\n    <font size=1>autoware_perception_msgs/TrafficSignalArray</font size>\"):::cls_per\n\n    msg_tq(\"<font size=2><b>Traffic Light Query </b></font size>\n    <font size=1>TBD</font size>\"):::cls_plan\n\n\n    cmp_sen --> msg_img --> cmp_per\n    cmp_sen --> msg_ldr --> cmp_per\n    cmp_per --> msg_obj --> cmp_plan\n    cmp_per --> msg_tl --> cmp_plan\n    cmp_plan --> msg_tq -->cmp_per\n\n    cmp_loc --> msg_vks --> cmp_per\n    cmp_loc --> msg_lanenet --> cmp_per\n\nclassDef cmp_sen fill:#F8CECC,stroke:#999,stroke-width:1px;\nclassDef cls_loc fill:#D5E8D4,stroke:#999,stroke-width:1px;\nclassDef cls_per fill:#FFF2CC,stroke:#999,stroke-width:1px;\nclassDef cls_plan fill:#5AB8FF,stroke:#999,stroke-width:1px;
    "},{"location":"design/autoware-interfaces/components/perception-interface/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/perception-interface/#pointcloud","title":"PointCloud","text":"

    PointCloud data published by Lidar.

    • sensor_msgs/msg/PointCloud2
    "},{"location":"design/autoware-interfaces/components/perception-interface/#image","title":"Image","text":"

    Image frame captured by camera.

    • sensor_msgs/msg/Image
    "},{"location":"design/autoware-interfaces/components/perception-interface/#vehicle-kinematic-state","title":"Vehicle kinematic state","text":"

    current position of ego, used in traffic signals recognition. See output of Localization.

    "},{"location":"design/autoware-interfaces/components/perception-interface/#lanelet2-map","title":"Lanelet2 Map","text":"

    map of the environment. See outputs of Map.

    "},{"location":"design/autoware-interfaces/components/perception-interface/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/perception-interface/#3d-object-predictions","title":"3D Object Predictions","text":"

    3D Objects detected, tracked and predicted by sensor fusing.

    • autoware_auto_perception_msgs/msg/PredictedObjects
      • std_msgs/Header header
      • sequence<autoware_auto_perception_msgs::msg::PredictedObject> objects
        • unique_identifier_msgs::msg::UUID uuid
        • float existence_probability
        • sequence<autoware_auto_perception_msgs::msg::ObjectClassification> classification
          • uint8 classification
          • float probability
        • autoware_auto_perception_msgs::msg::PredictedObjectKinematics kinematics
          • geometry_msgs::msg::PoseWithCovariance initial_pose
          • geometry_msgs::msg::TwistWithCovariance
          • geometry_msgs::msg::AccelWithCovariance initial_acceleration
          • sequence<autoware_auto_perception_msgs::msg::PredictedPath, 10> predicted_paths
            • sequence<geometry_msgs::msg::Pose, 100> path
            • builtin_interfaces::msg::Duration time_step
            • float confidence
        • sequence<autoware_auto_perception_msgs::msg::Shape, 5> shape
          • geometry_msgs::msg::Polygon polygon
          • float height
    "},{"location":"design/autoware-interfaces/components/perception-interface/#traffic-signals","title":"Traffic Signals","text":"

    traffic signals recognized by object detection model.

    • autoware_perception_msgs::msg::TrafficSignalArray
      • autoware_perception_msgs::msg::TrafficSignal signals
        • autoware_perception_msgs::msg::TrafficSignalElement elements
          • uint8 UNKNOWN = 0
          • uint8 Red = 1
          • uint8 AMBER = 2
          • uint8 WHITE = 4
          • uint8 CIRCLE = 1
          • uint8 LEFT_ARROW = 2
          • uint8 RIGHT_ARROW = 3
          • uint8 UP_ARROW = 4
          • uint8 UP_LEFT_ARROW=5
          • uint8 UP_RIGHT_ARROW=6
          • uint8 DOWN_ARROW = 7
          • uint8 DOWN_LEFT_ARROW = 8
          • uint8 DOWN_RIGHT_ARROW = 9
          • uint8 CROSS = 10
          • uint8 SOLID_OFF = 1
          • uint8 SOLID_ON = 2
          • uint8 FLASHING = 3
          • uint8 color
          • uint8 shape
          • uint8 status
          • float32 confidence
        • int64 traffic_signal_id
      • builtin_interfaces::msg::Time stamp
    "},{"location":"design/autoware-interfaces/components/planning/","title":"Planning","text":""},{"location":"design/autoware-interfaces/components/planning/#planning","title":"Planning","text":"

    This page provides specific specifications about the Interface of the Planning Component. Please refer to the planning architecture design document for high-level concepts and data flow.

    TODO: The detailed definitions (meanings of elements included in each topic) are not described yet, need to be updated.

    "},{"location":"design/autoware-interfaces/components/planning/#input","title":"Input","text":""},{"location":"design/autoware-interfaces/components/planning/#from-map-component","title":"From Map Component","text":"Name Topic Type Description Vector Map /map/vector_map autoware_auto_mapping_msgs/msg/HADMapBin Map of the environment where the planning takes place."},{"location":"design/autoware-interfaces/components/planning/#from-localization-component","title":"From Localization Component","text":"Name Topic Type Description Vehicle Kinematic State /localization/kinematic_state nav_msgs/msg/Odometry Current position, orientation and velocity of ego. Vehicle Acceleration /localization/acceleration geometry_msgs/msg/AccelWithCovarianceStamped Current acceleration of ego.

    TODO: acceleration information should be merged into the kinematic state.

    "},{"location":"design/autoware-interfaces/components/planning/#from-perception-component","title":"From Perception Component","text":"Name Topic Type Description Objects /perception/object_recognition/objects autoware_auto_perception_msgs/msg/PredictedObjects Set of perceived objects around ego that need to be avoided or followed when planning a trajectory. This contains semantics information such as a object class (e.g. vehicle, pedestrian, etc) or a shape of the objects. Obstacles /perception/obstacle_segmentation/pointcloud sensor_msgs/msg/PointCloud2 Set of perceived obstacles around ego that need to be avoided or followed when planning a trajectory. This only contains a primitive information of the obstacle. No shape nor velocity information. Occupancy Grid Map /perception/occupancy_grid_map/map nav_msgs/msg/OccupancyGrid Contains the presence of obstacles and blind spot information (represented as UNKNOWN). Traffic Signal /perception/traffic_light_recognition/traffic_signals autoware_auto_perception_msgs/msg/TrafficSignalArray Contains the traffic signal information such as a color (green, yellow, read) and an arrow (right, left, straight).

    TODO: The type of the Obstacles information should not depend on the specific sensor message type (now PointCloud). It needs to be fixed.

    "},{"location":"design/autoware-interfaces/components/planning/#from-api","title":"From API","text":"Name Topic Type Description Max Velocity /planning/scenario_planning/max_velocity_default autoware_adapi_v1_msgs/srv/SetRoutePoints Indicate the maximum value of the vehicle speed plan Operation Mode /system/operation_mode/state autoware_adapi_v1_msgs/msg/OperationModeState Indicates the current operation mode (automatic/manual, etc.). Route Set /planning/mission_planning/set_route autoware_adapi_v1_msgs/srv/SetRoute Indicates to set the route when the vehicle is stopped. Route Points Set /planning/mission_planning/set_route_points autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to set the route with points when the vehicle is stopped. Route Change /planning/mission_planning/change_route autoware_adapi_v1_msgs/srv/SetRoute Indicates to change the route when the vehicle is moving. Route Points Change /planning/mission_planning/change_route_points autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to change the route with points when the vehicle is moving. Route Clear /planning/mission_planning/clear_route autoware_adapi_v1_msgs/srv/ClearRoute Indicates to clear the route information. MRM Route Set Points /planning/mission_planning/mission_planner/srv/set_mrm_route autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to set the emergency route. MRM Route Clear /planning/mission_planning/mission_planner/srv/clear_mrm_route autoware_adapi_v1_msgs/srv/SetRoutePoints Indicates to clear the emergency route."},{"location":"design/autoware-interfaces/components/planning/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/planning/#to-control","title":"To Control","text":"Name Topic Type Description Trajectory /planning/trajectory autoware_auto_planning_msgs/msg/Trajectory A sequence of space and velocity and acceleration points to be followed by the controller. Turn Indicator /planning/turn_indicators_cmd autoware_auto_vehicle_msgs/msg/TurnIndicatorsCommand Turn indicator signal to be followed by the vehicle. Hazard Light /planning/hazard_lights_cmd autoware_auto_vehicle_msgs/msg/HazardLightsCommand Hazard light signal to be followed by the vehicle."},{"location":"design/autoware-interfaces/components/planning/#to-system","title":"To System","text":"Name Topic Type Description Diagnostics /planning/hazard_lights_cmd diagnostic_msgs/msg/DiagnosticArray Diagnostic status of the Planning component reported to the System component."},{"location":"design/autoware-interfaces/components/planning/#to-api","title":"To API","text":"Name Topic Type Description Path Candidate /planning/path_candidate/* autoware_auto_planning_msgs/msg/Path The path Autoware is about to take. Users can interrupt the operation based on the path candidate information. Steering Factor /planning/steering_factor/* autoware_adapi_v1_msgs/msg/SteeringFactorArray Information about the steering maneuvers performed by Autoware (e.g., steering to the right for a right turn, etc.) Velocity Factor /planning/velocity_factors/* autoware_adapi_v1_msgs/msg/VelocityFactorArray Information about the velocity maneuvers performed by Autoware (e.g., stop for an obstacle, etc.)"},{"location":"design/autoware-interfaces/components/planning/#planning-internal-interface","title":"Planning internal interface","text":"

    This section explains the communication between the different planning modules shown in the Planning Architecture Design.

    "},{"location":"design/autoware-interfaces/components/planning/#from-mission-planning-to-scenario-planning","title":"From Mission Planning to Scenario Planning","text":"Name Topic Type Description Route /planning/mission_planning/route autoware_planning_msgs/msg/LaneletRoute A sequence of lane IDs on a Lanelet map, from the starting point to the destination."},{"location":"design/autoware-interfaces/components/planning/#from-behavior-planning-to-motion-planning","title":"From Behavior Planning to Motion Planning","text":"Name Topic Type Description Path /planning/scenario_planning/lane_driving/behavior_planning/path autoware_auto_planning_msgs/msg/Path A sequence of approximate vehicle positions for driving, along with information on the maximum speed and the drivable areas. Modules receiving this message are expected to make changes to the path within the constraints of the drivable areas and the maximum speed, generating the desired final trajectory."},{"location":"design/autoware-interfaces/components/planning/#from-scenario-planning-to-validation","title":"From Scenario Planning to Validation","text":"Name Topic Type Description Trajectory /planning/scenario_planning/trajectory autoware_auto_planning_msgs/msg/Trajectory A sequence of precise vehicle positions, speeds, and accelerations required for driving. It is expected that the vehicle will follow this trajectory."},{"location":"design/autoware-interfaces/components/sensing/","title":"Sensing","text":""},{"location":"design/autoware-interfaces/components/sensing/#sensing","title":"Sensing","text":"
    graph TD\n    cmp_drv(\"Drivers\"):::cls_drv\n    cmp_loc(\"Localization\"):::cls_loc\n    cmp_per(\"Perception\"):::cls_per\n    cmp_sen(\"Preprocessors\"):::cls_sen\n    msg_ult(\"<font size=2><b>Ultrasonics</b></font size>\n    <font size=1>sensor_msgs/Range</font size>\"):::cls_drv\n    msg_img(\"<font size=2><b>Camera Image</b></font size>\n    <font size=1>sensor_msgs/Image</font size>\"):::cls_drv\n    msg_ldr(\"<font size=2><b>Lidar Point Cloud</b></font size>\n    <font size=1>sensor_msgs/PointCloud2</font size>\"):::cls_drv\n    msg_rdr_t(\"<font size=2><b>Radar Tracks</b></font size>\n    <font size=1>radar_msgs/RadarTracks</font size>\"):::cls_drv\n    msg_rdr_s(\"<font size=2><b>Radar Scan</b></font size>\n    <font size=1>radar_msgs/RadarScan</font size>\"):::cls_drv\n    msg_gnss(\"<font size=2><b>GNSS-INS Position</b></font size>\n    <font size=1>sensor_msgs/NavSatFix</font size>\"):::cls_drv\n    msg_gnssori(\"<font size=2><b>GNSS-INS Orientation</b></font size>\n    <font size=1>autoware_sensing_msgs/GnssInsOrientationStamped</font size>\"):::cls_drv\n    msg_gnssvel(\"<font size=2><b>GNSS Velocity</b></font size>\n    <font size=1>geometry_msgs/TwistWithCovarianceStamped</font size>\"):::cls_drv\n    msg_gnssacc(\"<font size=2><b>GNSS Acceleration</b></font size>\n    <font size=1>geometry_msgs/AccelWithCovarianceStamped</font size>\"):::cls_drv\n    msg_ult_sen(\"<font size=2><b>Ultrasonics</b></font size>\n    <font size=1>sensor_msgs/Range</font size>\"):::cls_sen\n    msg_img_sen(\"<font size=2><b>Camera Image</b></font size>\n    <font size=1>sensor_msgs/Image</font size>\"):::cls_sen\n    msg_pc_combined_rdr(\"<font size=2><b>Combined Radar Tracks</b></font size>\n    <font size=1>radar_msgs/RadarTracks</font size>\"):::cls_sen\n    msg_pc_rdr(\"<font size=2><b>Radar Pointcloud</b></font size>\n    <font size=1>radar_msgs/RadarScan</font size>\"):::cls_sen\n    msg_pc_combined_ldr(\"<font size=2><b>Combined Lidar Point Cloud</b></font size>\n    <font size=1>sensor_msgs/PointCloud2</font size>\"):::cls_sen\n    msg_pose_gnss(\"<font size=2><b>GNSS-INS Pose</b></font size>\n    <font size=1>geometry_msgs/PoseWithCovarianceStamped</font size>\"):::cls_sen\n    msg_gnssori_sen(\"<font size=2><b>GNSS-INS Orientation</b></font size>\n    <font size=1>sensor_msgs/Imu</font size>\"):::cls_sen\n    msg_gnssvel_sen(\"<font size=2><b>GNSS Velocity</b></font size>\n    <font size=1>geometry_msgs/TwistWithCovarianceStamped</font size>\"):::cls_sen\n    msg_gnssacc_sen(\"<font size=2><b>GNSS-INS Acceleration</b></font size>\n    <font size=1>geometry_msgs/AccelWithCovarianceStamped</font size>\"):::cls_sen\n\n    cmp_drv --> msg_ult --> cmp_sen\n    cmp_drv --> msg_img --> cmp_sen\n    cmp_drv --> msg_rdr_t --> cmp_sen\n    cmp_drv --> msg_rdr_s --> cmp_sen\n    cmp_drv --> msg_ldr --> cmp_sen\n    cmp_drv --> msg_gnss --> cmp_sen\n    cmp_drv --> msg_gnssori --> cmp_sen\n    cmp_drv --> msg_gnssvel --> cmp_sen\n    cmp_drv --> msg_gnssacc --> cmp_sen\n\n    cmp_sen --> msg_ult_sen\n    cmp_sen --> msg_img_sen\n    cmp_sen --> msg_gnssori_sen\n    cmp_sen --> msg_gnssvel_sen\n    cmp_sen --> msg_pc_combined_rdr\n    cmp_sen --> msg_pc_rdr\n    cmp_sen --> msg_pc_combined_ldr\n    cmp_sen --> msg_pose_gnss\n    cmp_sen --> msg_gnssacc_sen\n    msg_ult_sen --> cmp_per\n    msg_img_sen --> cmp_per\n    msg_pc_combined_rdr --> cmp_per\n    msg_pc_rdr --> cmp_per\n    msg_pc_combined_ldr --> cmp_per\n    msg_pc_combined_ldr --> cmp_loc\n    msg_pose_gnss --> cmp_loc\n    msg_gnssori_sen --> cmp_loc\n    msg_gnssvel_sen --> cmp_loc\n    msg_gnssacc_sen --> cmp_loc\nclassDef cls_drv fill:#F8CECC,stroke:#999,stroke-width:1px;\nclassDef cls_loc fill:#D5E8D4,stroke:#999,stroke-width:1px;\nclassDef cls_per fill:#FFF2CC,stroke:#999,stroke-width:1px;\nclassDef cls_sen fill:#FFE6CC,stroke:#999,stroke-width:1px;
    "},{"location":"design/autoware-interfaces/components/sensing/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/sensing/#ultrasonics","title":"Ultrasonics","text":"

    Distance data from ultrasonic radar driver.

    • sensor_msgs/Range
    "},{"location":"design/autoware-interfaces/components/sensing/#camera-image","title":"Camera Image","text":"

    Image data from camera driver.

    • sensor_msgs/Image
    "},{"location":"design/autoware-interfaces/components/sensing/#radar-tracks","title":"Radar Tracks","text":"

    Tracks from radar driver.

    • radar_msgs/RadarTracks
    "},{"location":"design/autoware-interfaces/components/sensing/#radar-scan","title":"Radar Scan","text":"

    Scan from radar driver.

    • radar_msgs/RadarScan
    "},{"location":"design/autoware-interfaces/components/sensing/#lidar-point-cloud","title":"Lidar Point Cloud","text":"

    Pointcloud from lidar driver.

    • sensor_msgs/PointCloud2
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-position","title":"GNSS-INS Position","text":"

    Initial pose from GNSS driver.

    • geometry_msgs/NavSatFix
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-orientation","title":"GNSS-INS Orientation","text":"

    Initial orientation from GNSS driver.

    • autoware_sensing_msgs/GnssInsOrientationStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-velocity","title":"GNSS Velocity","text":"

    Initial velocity from GNSS driver.

    • geometry_msgs/TwistWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-acceleration","title":"GNSS Acceleration","text":"

    Initial acceleration from GNSS driver.

    • geometry_msgs/AccelWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#output","title":"Output","text":""},{"location":"design/autoware-interfaces/components/sensing/#ultrasonics_1","title":"Ultrasonics","text":"

    Distance data from ultrasonic radar. Used by the Perception.

    • sensor_msgs/Range
    "},{"location":"design/autoware-interfaces/components/sensing/#camera-image_1","title":"Camera Image","text":"

    Image data from camera. Used by the Perception.

    • sensor_msgs/Image
    "},{"location":"design/autoware-interfaces/components/sensing/#combined-radar-tracks","title":"Combined Radar Tracks","text":"

    Radar tracks from radar. Used by the Perception.

    • radar_msgs/RadarTracks.msg
    "},{"location":"design/autoware-interfaces/components/sensing/#radar-point-cloud","title":"Radar Point Cloud","text":"

    Pointcloud from radar. Used by the Perception.

    • radar_msgs/RadarScan.msg
    "},{"location":"design/autoware-interfaces/components/sensing/#combined-lidar-point-cloud","title":"Combined Lidar Point Cloud","text":"

    Lidar pointcloud after preprocessing. Used by the Perception and Localization.

    • sensor_msgs/PointCloud2
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-pose","title":"GNSS-INS pose","text":"

    Initial pose of the ego vehicle from GNSS. Used by the Localization.

    • geometry_msgs/PoseWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-ins-orientation_1","title":"GNSS-INS Orientation","text":"

    Orientation info from GNSS. Used by the Localization.

    • sensor_msgs/Imu
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-velocity_1","title":"GNSS velocity","text":"

    Velocity of the ego vehicle from GNSS. Used by the Localization.

    • geometry_msgs/TwistWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/sensing/#gnss-acceleration_1","title":"GNSS Acceleration","text":"

    Acceleration of the ego vehicle from GNSS. Used by the Localization.

    • geometry_msgs/AccelWithCovarianceStamped
    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/","title":"Vehicle dimensions","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle-dimensions","title":"Vehicle dimensions","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle-axes-and-base_link","title":"Vehicle axes and base_link","text":"

    The base_link frame is used very frequently throughout the Autoware stack, and is a projection of the rear-axle center onto the ground surface.

    • Localization module outputs the map to base_link transformation.
    • Planning module plans the poses for where the base_link frame should be in the future.
    • Control module tries to fit base_link to incoming poses.
    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle-dimensions_1","title":"Vehicle dimensions","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheelbase","title":"wheelbase","text":"

    The distance between front and rear axles.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#track_width","title":"track_width","text":"

    The distance between left and right wheels.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#overhangs","title":"Overhangs","text":"

    Overhangs are part of the minimum safety box calculation.

    When measuring overhangs, side mirrors, protruding sensors and wheels should be taken into consideration.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#left_overhang","title":"left_overhang","text":"

    The distance between the axis centers of the left wheels and the left-most point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#right_overhang","title":"right_overhang","text":"

    The distance between the axis centers of the right wheels and the right-most point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#front_overhang","title":"front_overhang","text":"

    The distance between the front axle and the foremost point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#rear_overhang","title":"rear_overhang","text":"

    The distance between the rear axle and the rear-most point of the vehicle.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle_length","title":"vehicle_length","text":"

    Total length of the vehicle. Calculated by front_overhang + wheelbase + rear_overhang

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#vehicle_width","title":"vehicle_width","text":"

    Total width of the vehicle. Calculated by left_overhang + track_width + right_overhang

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel-parameters","title":"Wheel parameters","text":""},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel_width","title":"wheel_width","text":"

    The lateral width of a wheel tire, primarily used for dead reckoning.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel_radius","title":"wheel_radius","text":"

    The radius of the wheel, primarily used for dead reckoning.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#polygon_footprint","title":"polygon_footprint","text":"

    The polygon defines the minimum collision area for the vehicle.

    The points should be ordered clockwise, with the origin on the base_link.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#wheel-orientations","title":"Wheel orientations","text":"

    If the vehicle is going forward, a positive wheel angle will result in the vehicle turning left.

    Autoware assumes the rear wheels don't turn on z axis.

    "},{"location":"design/autoware-interfaces/components/vehicle-dimensions/#notice","title":"Notice","text":"

    The vehicle used in the illustrations was created by xvlblo22 and is from https://www.turbosquid.com/3d-models/modular-sedan-3d-model-1590886.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/","title":"Vehicle Interface","text":""},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-interface","title":"Vehicle Interface","text":"

    The Vehicle Interface receives the Vehicle Signal Commands and Vehicle Control Commands and publishes the vehicle status. It also communicates with vehicle by the vehicle-specific protocol.

    The Gate switches multiple Vehicle Control Commands. These signals include autonomous diving command, joystick, remote control, and emergency operation, etc. The Adapter converts generalized control command (target steering, steering rate, velocity, acceleration, jerk) into vehicle-specific control values (steering-torque, wheel-torque, voltage, pressure, accel pedal position, etc).

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#inputs","title":"Inputs","text":""},{"location":"design/autoware-interfaces/components/vehicle-interface/#error-status","title":"Error status","text":"

    (See Inputs of Planning.)

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-control-command","title":"Vehicle Control Command","text":"

    (See Output of Control.)

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-signals-commands","title":"Vehicle Signals Commands","text":"

    Commands for various elements of the vehicle unrelated to motion. Published by the Planning module.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#outputs","title":"Outputs","text":""},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-signal-reports","title":"Vehicle Signal Reports","text":"

    Reports for various elements of the vehicle unrelated to motion. Published by the Vehicle Interface.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-odometry","title":"Vehicle Odometry","text":"

    Odometry of the vehicle. Used by the Localization module to update the pose of the vehicle in the map.

    • geometry_msgs/TwistWithCovarianceStamped odometry
    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#steering-status","title":"Steering Status","text":"

    Steering of the ego vehicle. Published by the Vehicle Interface.

    • Steering message (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 steering_angle
    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#actuation-status","title":"Actuation Status","text":"

    Actuation status of the ego vehicle for acceleration, steering, and brake. This represents the reported physical efforts exerted by the vehicle actuators. Published by the Vehicle Interface.

    • ActuationStatus (github discussion).
      • builtin_interfaces::msg::Time stamp
      • float32 acceleration
      • float32 steering
      • float32 brake

    The message definition is under discussion.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#actuation-command","title":"Actuation Command","text":"

    Actuation command sent to the ego vehicle. This represents the requested physical efforts to be exerted by the vehicle actuators. Published by the Vehicle Interface as generated by the adapter.

    • ActuationCommand (github discussion.)
      • builtin_interfaces::msg::Time stamp
      • float32 acceleration
      • float32 steering
      • float32 brake

    The message definition is under discussion.

    "},{"location":"design/autoware-interfaces/components/vehicle-interface/#vehicle-communication","title":"Vehicle Communication","text":"

    Vehicle specific messages protocol like CAN (Controller Area Network).

    "},{"location":"design/configuration-management/","title":"Configuration management","text":""},{"location":"design/configuration-management/#configuration-management","title":"Configuration management","text":"

    Warning

    Under Construction

    "},{"location":"design/configuration-management/development-process/","title":"Development process","text":""},{"location":"design/configuration-management/development-process/#development-process","title":"Development process","text":"

    Warning

    Under Construction

    "},{"location":"design/configuration-management/release-process/","title":"Release process","text":""},{"location":"design/configuration-management/release-process/#release-process","title":"Release process","text":"

    Warning

    Under Construction

    "},{"location":"design/configuration-management/repository-structure/","title":"Repository structure","text":""},{"location":"design/configuration-management/repository-structure/#repository-structure","title":"Repository structure","text":"

    Warning

    Under Construction

    "},{"location":"how-to-guides/","title":"How-to guides","text":""},{"location":"how-to-guides/#how-to-guides","title":"How-to guides","text":""},{"location":"how-to-guides/#integrating-autoware","title":"Integrating Autoware","text":"
    • Overview
    "},{"location":"how-to-guides/#training-machine-learning-models","title":"Training Machine Learning Models","text":"
    • Training and Deploying Models
    "},{"location":"how-to-guides/#others","title":"Others","text":"
    • Debug Autoware
    • Running Autoware without CUDA
    • Fixing dependent package versions
    • Add a custom ROS message
    • Determining component dependencies
    • Advanced usage of colcon
    • Applying Clang-Tidy to ROS packages
    • Defining temporal performance metrics on components
    • An example procedure for adding and evaluating a new node

    TODO: Write the following contents.

    • Create an Autoware package
    • etc.
    "},{"location":"how-to-guides/integrating-autoware/overview/","title":"Overview","text":""},{"location":"how-to-guides/integrating-autoware/overview/#overview","title":"Overview","text":""},{"location":"how-to-guides/integrating-autoware/overview/#requirement-prepare-your-real-vehicle-hardware","title":"Requirement: prepare your real vehicle hardware","text":"

    Prerequisites for the vehicle:

    • An onboard computer that satisfies the Autoware installation prerequisites
    • The following devices attached
      • Drive-by-wire interface
      • LiDAR
      • Optional: Inertial measurement unit
      • Optional: Camera
      • Optional: GNSS
    "},{"location":"how-to-guides/integrating-autoware/overview/#1-creating-your-autoware-meta-repository","title":"1. Creating your Autoware meta-repository","text":"

    Create your Autoware meta-repository. One easy way is to fork autowarefoundation/autoware and clone it. For how to fork a repository, refer to GitHub Docs.

    git clone https://github.com/YOUR_NAME/autoware.git\n

    If you set up multiple types of vehicles, adding a suffix like \"autoware.vehicle_A\" or \"autoware.vehicle_B\" is recommended.

    "},{"location":"how-to-guides/integrating-autoware/overview/#2-creating-the-your-vehicle-and-sensor-description","title":"2. Creating the your vehicle and sensor description","text":"

    Next, you need to create description packages that define the vehicle and sensor configuration of your vehicle.

    Create the following two packages:

    • YOUR_VEHICLE_launch (see here for example)
    • YOUR_SENSOR_KIT_launch (see here for example)

    Once created, you need to update the autoware.repos file of your cloned Autoware repository to refer to these two description packages.

    -  # sensor_kit\n-  sensor_kit/sample_sensor_kit_launch:\n-    type: git\n-    url: https://github.com/autowarefoundation/sample_sensor_kit_launch.git\n-    version: main\n-  # vehicle\n-  vehicle/sample_vehicle_launch:\n-    type: git\n-    url: https://github.com/autowarefoundation/sample_vehicle_launch.git\n-    version: main\n+  # sensor_kit\n+  sensor_kit/YOUR_SENSOR_KIT_launch:\n+    type: git\n+    url: https://github.com/YOUR_NAME/YOUR_SENSOR_KIT_launch.git\n+    version: main\n+  # vehicle\n+  vehicle/YOUR_VEHICLE_launch:\n+    type: git\n+    url: https://github.com/YOUR_NAME/YOUR_VEHICLE_launch.git\n+    version: main\n
    "},{"location":"how-to-guides/integrating-autoware/overview/#adapt-your_vehicle_launch-for-autoware-launching-system","title":"Adapt YOUR_VEHICLE_launch for autoware launching system","text":""},{"location":"how-to-guides/integrating-autoware/overview/#at-your_vehicle_description","title":"At YOUR_VEHICLE_description","text":"

    Define URDF and parameters in the vehicle description package (refer to the sample vehicle description package for an example).

    "},{"location":"how-to-guides/integrating-autoware/overview/#at-your_vehicle_launch","title":"At YOUR_VEHICLE_launch","text":"

    Create a launch file (refer to the sample vehicle launch package for example). If you have multiple vehicles with the same hardware setup, you can specify vehicle_id to distinguish them.

    "},{"location":"how-to-guides/integrating-autoware/overview/#adapt-your_sensor_kit_description-for-autoware-launching-system","title":"Adapt YOUR_SENSOR_KIT_description for autoware launching system","text":""},{"location":"how-to-guides/integrating-autoware/overview/#at-your_sensor_kit_description","title":"At YOUR_SENSOR_KIT_description","text":"

    Define URDF and extrinsic parameters for all the sensors here (refer to the sample sensor kit description package for example). Note that you need to calibrate extrinsic parameters for all the sensors beforehand.

    "},{"location":"how-to-guides/integrating-autoware/overview/#at-your_sensor_kit_launch","title":"At YOUR_SENSOR_KIT_launch","text":"

    Create launch/sensing.launch.xml that launches the interfaces of all the sensors on the vehicle. (refer to the sample sensor kit launch package for example).

    Note

    At this point, you are now able to run Autoware's Planning Simulator to do a basic test of your vehicle and sensing packages. To do so, you need to build and install Autoware using your cloned repository. Follow the steps for either Docker or source installation (starting from the dependency installation step) and then run the following command:

    ros2 launch autoware_launch planning_simulator.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP\n
    "},{"location":"how-to-guides/integrating-autoware/overview/#3-create-a-vehicle_interface-package","title":"3. Create a vehicle_interface package","text":"

    You need to create an interface package for your vehicle. The package is expected to provide the following two functions.

    1. Receive command messages from vehicle_cmd_gate and drive the vehicle accordingly
    2. Send vehicle status information to Autoware

    You can find detailed information about the requirements of the vehicle_interface package in the Vehicle Interface design documentation. You can also refer to TIER IV's pacmod_interface repository as an example of a vehicle interface package.

    "},{"location":"how-to-guides/integrating-autoware/overview/#4-create-maps","title":"4. Create maps","text":"

    You need both a pointcloud map and a vector map in order to use Autoware. For more information on map design, please click here.

    "},{"location":"how-to-guides/integrating-autoware/overview/#create-a-pointcloud-map","title":"Create a pointcloud map","text":"

    Use third-party tools such as a LiDAR-based SLAM (Simultaneous Localization And Mapping) package to create a pointcloud map in the .pcd format. For more information, please click here.

    "},{"location":"how-to-guides/integrating-autoware/overview/#create-vector-map","title":"Create vector map","text":"

    Use third-party tools such as TIER IV's Vector Map Builder to create a Lanelet2 format .osm file.

    "},{"location":"how-to-guides/integrating-autoware/overview/#5-launch-autoware","title":"5. Launch Autoware","text":"

    This section briefly explains how to run your vehicle with Autoware.

    "},{"location":"how-to-guides/integrating-autoware/overview/#install-autoware","title":"Install Autoware","text":"

    Follow the installation steps of Autoware.

    "},{"location":"how-to-guides/integrating-autoware/overview/#launch-autoware","title":"Launch Autoware","text":"

    Launch Autoware with the following command:

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP\n
    "},{"location":"how-to-guides/integrating-autoware/overview/#set-initial-pose","title":"Set initial pose","text":"

    If GNSS is available, Autoware automatically initializes the vehicle's pose.

    If not, you need to set the initial pose using the RViz GUI.

    1. Click the 2D Pose estimate button in the toolbar, or hit the P key
    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the initial pose.
    "},{"location":"how-to-guides/integrating-autoware/overview/#set-goal-pose","title":"Set goal pose","text":"

    Set a goal pose for the ego vehicle.

    1. Click the 2D Nav Goal button in the toolbar, or hit the G key
    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the goal pose. If successful, you will see the calculated planning path on RViz.
    "},{"location":"how-to-guides/integrating-autoware/overview/#engage","title":"Engage","text":"

    In your terminal, execute the following command.

    source ~/autoware.YOURS/install/setup.bash\nros2 topic pub /autoware.YOURS/engage autoware_auto_vehicle_msgs/msg/Engage \"engage: true\" -1\n

    You can also engage via RViz with \"AutowareStatePanel\". The panel can be found in Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel.

    Now the vehicle should drive along the calculated path!

    "},{"location":"how-to-guides/integrating-autoware/overview/#6-tune-parameters-for-your-vehicle-environment","title":"6. Tune parameters for your vehicle & environment","text":"

    You may need to tune your parameters depending on the domain in which you will operate your vehicle.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/","title":"Creating maps","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/#creating-maps","title":"Creating maps","text":"

    Autoware requires a pointcloud map and a vector map for the vehicle's operating environment. (Check the map design documentation page for the detailed specification).

    This page explains how users can create maps that can be used for Autoware.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/#creating-a-point-cloud-map","title":"Creating a point cloud map","text":"

    Traditionally, a Mobile Mapping System (MMS) is used in order to create highly accurate large-scale point cloud maps. However, since a MMS requires high-end sensors for precise positioning, its operational cost can be very expensive and may not be suitable for a relatively small driving environment. Alternatively, a Simultaneous Localization And Mapping (SLAM) algorithm can be used to create a point cloud map from recorded LiDAR scans. Some of the useful open-source SLAM implementations are listed in this page.

    If you prefer proprietary software that is easy to use, you can try a fully automatic mapping tool from MAP IV, Inc., MapIV Engine. They currently provide a trial license for Autoware users free of charge.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/#creating-a-vector-map","title":"Creating a vector map","text":"

    The easiest way to create an Autoware-compatible vector map is to use Vector Map Builder, a free web-based tool provided by TIER IV, Inc.. Vector Map Builder allows you to create lanes and add additional regulatory elements such as stop signs or traffic lights using a point cloud map as a reference.

    For open-source software options, MapToolbox is a plugin for Unity specifically designed to create Lanelet2 maps for Autoware. Although JOSM is another open-source tool that can be used to create Lanelet2 maps, be aware that a number of modifications must be done manually to make the map compatible with Autoware. This process can be tedious and time-consuming, so the use of JOSM is not recommended.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/#autoware-compatible-map-providers","title":"Autoware-compatible map providers","text":"

    If it is not possible to create HD maps yourself, you can use a mapping service from the following Autoware-compatible map providers instead:

    • MAP IV, Inc.
    • AISAN TECHNOLOGY CO., LTD.
    • TomTom

    The table below shows each company's mapping technology and the types of HD maps they support.

    Company Mapping technology Available maps MAP IV, Inc. SLAM Point cloud and vector maps AISAN TECHNOLOGY CO., LTD. MMS Point cloud and vector maps TomTom MMS Vector map*

    Note

    Maps provided by TomTom use their proprietary AutoStream format, not Lanelet2. The open-source AutoStreamForAutoware tool can be used to convert an AutoStream map to a Lanelet2 map. However, the converter is still in its early stages and has some known limitations.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/","title":"Converting UTM maps to MGRS map format","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/#converting-utm-maps-to-mgrs-map-format","title":"Converting UTM maps to MGRS map format","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/#overview","title":"Overview","text":"

    If you want to use MGRS (Military Grid Reference System) format in Autoware, you need to convert UTM (Universal Transverse Mercator) map to MGRS format. In order to do that, we will use UTM to MGRS pointcloud converter ROS 2 package provided by Leo Drive.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/#installation","title":"Installation","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/#dependencies","title":"Dependencies","text":"
    • ROS 2
    • PCL-conversions
    • GeographicLib

    To install dependencies:

    sudo apt install ros-humble-pcl-conversions \\\ngeographiclib-tools\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/#building","title":"Building","text":"
        cd <PATH-TO-YOUR-ROS-2-WORKSPACE>/src\n    git clone https://github.com/leo-drive/pc_utm_to_mgrs_converter.git\n    cd ..\n    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/#usage","title":"Usage","text":"

    After the installation of converter tool, we need to define northing, easting and ellipsoid height of local UTM map origin in pc_utm_to_mgrs_converter.param.yaml. For example, you can use latitude, longitude and altitude values in the navsatfix message from your GNSS/INS sensor.

    Sample ROS 2 topic echo from navsatfix message
    header:\nstamp:\nsec: 1694612439\nnanosec: 400000000\nframe_id: GNSS_INS/gnss_ins_link\nstatus:\nstatus: 0\nservice: 1\nlatitude: 41.0216110801253\nlongitude: 28.887096461148346\naltitude: 74.28264078891529\nposition_covariance:\n- 0.0014575386885553598\n- 0.0\n- 0.0\n- 0.0\n- 0.004014162812381983\n- 0.0\n- 0.0\n- 0.0\n- 0.0039727711118757725\nposition_covariance_type: 2\n

    After that, you need to convert latitude and longitude values to northing and easting values. You can use any converter on the internet for converting latitude longitude values to UTM. (i.e., UTMconverter)

    Now, we are ready to update pc_utm_to_mgrs_converter.param.yaml, example for our navsatfix message:

    /**:\n  ros__parameters:\n      # Northing of local origin\n-     Northing: 4520550.0\n+     Northing: 4542871.33\n\n     # Easting of local origin\n-     Easting: 698891.0\n+     Easting: 658659.84\n\n     # Elipsoid Height of local origin\n-     ElipsoidHeight: 47.62\n+     ElipsoidHeight: 74.28\n

    Lastly, we will update input and pointcloud the map path in pc_utm_to_mgrs_converter.launch.xml:

    ...\n- <arg name=\"input_file_path\" default=\"/home/melike/projects/autoware_data/gebze_pospac_map/pointcloud_map.pcd\"/>\n+ <arg name=\"input_file_path\" default=\"<PATH-TO-YOUR-INPUT-PCD-MAP>\"/>\n- <arg name=\"output_file_path\" default=\"/home/melike/projects/autoware_data/gebze_pospac_map/pointcloud_map_mgrs_orto.pcd\"/>\n+ <arg name=\"output_file_path\" default=\"<PATH-TO-YOUR-OUTPUT-PCD-MAP>\"/>\n...\n

    After the setting of the package, we will launch pc_utm_to_mgrs_converter:

    ros2 launch pc_utm_to_mgrs_converter pc_utm_to_mgrs_converter.launch.xml\n

    The conversion process will be started, you should see Saved <YOUR-MAP-POINTS-SIZE> data points saved to <YOUR-OUTPUT-MAP-PATH> message on your terminal. MGRS format pointcloud map should be saved on your output map directory.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/","title":"Creating a vector map","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/#creating-a-vector-map","title":"Creating a vector map","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/#overview","title":"Overview","text":"

    In this section, we will explain how to create Lanelet2 maps with TIER IV's Vector Map Builder tool.

    There are alternative tools such as Unity-based app MapToolbox and Java-based app JOSM that you may use for creating a Lanelet2 map. We will be using TIER IV's Vector Map Builder in the tutorial since it works on a browser without installation of extra dependency applications.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/#vector-map-builder","title":"Vector Map Builder","text":"

    You need a TIER IV account for using Vector Map Builder tool. If it is the first time to use the tool, create a TIER IV account in order to use Vector Map Builder tool. For more information about this tool, please check the official guide.

    You can follow these pages for creating a Lanelet2 map and understanding its regulatory elements.

    • Lanelet2
    • Crosswalk
    • Stop Line
    • Traffic Light
    • Speed Bump
    • Detection Area
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/","title":"Crosswalk attribute","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/#crosswalk-attribute","title":"Crosswalk attribute","text":"

    Behavior velocity planner's crosswalk module plans velocity to stop or decelerate for pedestrians approaching or walking on a crosswalk. In order to operate that, we will add crosswalk attribute to our lanelet2 map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/#creating-a-crosswalk-attribute","title":"Creating a crosswalk attribute","text":"

    In order to create a crosswalk on your map, please follow these steps:

    1. Click Abstraction button on top panel.
    2. Select Crosswalk from the panel.
    3. Click and draw crosswalk on your pointcloud map.

    You can see these steps in the crosswalk creating demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/#testing-created-crosswalk-with-planning-simulator","title":"Testing created crosswalk with planning simulator","text":"

    After the completing of creating the map, we need to save it. To that please click File --> Export Lanelet2Maps then download.

    After the download is finished, we need to put lanelet2 map and pointcloud map on the same location. The directory structure should be like this:

    + <YOUR-MAP-DIRECTORY>/\n+  \u251c\u2500 pointcloud_map.pcd\n+  \u2514\u2500 lanelet2_map.osm\n

    If your .osm or .pcd map file's name is different from these names, you need to update autoware.launch.xml:

      <!-- Map -->\n-  <arg name=\"lanelet2_map_file\" default=\"lanelet2_map.osm\" description=\"lanelet2 map file name\"/>\n+  <arg name=\"lanelet2_map_file\" default=\"<YOUR-LANELET-MAP-NAME>.osm\" description=\"lanelet2 map file name\"/>\n-  <arg name=\"pointcloud_map_file\" default=\"pointcloud_map.pcd\" description=\"pointcloud map file name\"/>\n+  <arg name=\"pointcloud_map_file\" default=\"<YOUR-POINTCLOUD-MAP-NAME>.pcd\" description=\"pointcloud map file name\"/>\n

    Now we are ready to launch the planning simulator:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>\n

    Example for tutorial_vehicle:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle\n
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    3. We need to add pedestrians to crosswalk, so activate interactive pedestrians from Tool Properties panel on rviz.
    4. After that, please press Shift, then click right click button for inserting pedestrians.
    5. You can control inserted pedestrian via dragging right click.

    Crosswalk markers on rviz:

    Crosswalk test on the created map.

    You can check your crosswalk elements in the planning simulator as this demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/","title":"Detection area element","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/#detection-area-element","title":"Detection area element","text":"

    Behavior velocity planner's detection area plans velocity when if pointcloud is detected in a detection area defined on a map, the stop planning will be executed at the predetermined point. In order to operate that, we will add a detection area element to our lanelet2 map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/#creating-a-detection-area-element","title":"Creating a detection area element","text":"

    In order to create a detection area on your map, please follow these steps:

    1. Click Lanelet2Maps button on top panel.
    2. Select Detection Area from the panel.
    3. Please select lanelet which stop line to be added.
    4. Click and insert Detection Area on your pointcloud map.
    5. You can change the dimensions of the detection area with clicking points on the corners of the detection area. For more information, you can check the demonstration video.

    You can see these steps in the detection area creating demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/#testing-created-detection-area-with-planning-simulator","title":"Testing created detection area with planning simulator","text":"

    After the completing of creating the map, we need to save it. To that please click File --> Export Lanelet2Maps then download.

    After the download is finished, we need to put lanelet2 map and pointcloud map on the same location. The directory structure should be like this:

    + <YOUR-MAP-DIRECTORY>/\n+  \u251c\u2500 pointcloud_map.pcd\n+  \u2514\u2500 lanelet2_map.osm\n

    If your .osm or .pcd map file's name is different from these names, you need to update autoware.launch.xml:

      <!-- Map -->\n-  <arg name=\"lanelet2_map_file\" default=\"lanelet2_map.osm\" description=\"lanelet2 map file name\"/>\n+  <arg name=\"lanelet2_map_file\" default=\"<YOUR-LANELET-MAP-NAME>.osm\" description=\"lanelet2 map file name\"/>\n-  <arg name=\"pointcloud_map_file\" default=\"pointcloud_map.pcd\" description=\"pointcloud map file name\"/>\n+  <arg name=\"pointcloud_map_file\" default=\"<YOUR-POINTCLOUD-MAP-NAME>.pcd\" description=\"pointcloud map file name\"/>\n

    Now we are ready to launch the planning simulator:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>\n

    Example for tutorial_vehicle:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle\n
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    3. We need to add pedestrians to detection area, so activate interactive pedestrians from Tool Properties panel on rviz.
    4. After that, please press Shift, then click right click button for inserting pedestrians.
    5. You can control inserted pedestrian via dragging right click. So, you should put pedestrian on the detection area for testing.

    Stop detection area on rviz:

    Detection area test on the created map.

    You can check your detection area elements in the planning simulator as this demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/","title":"Creating a Lanelet","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#creating-a-lanelet","title":"Creating a Lanelet","text":"

    At this page, we will explain how to create a simple lanelet on your point cloud map. If you didn't have a point cloud map before, please check and follow the steps on the LIO-SAM mapping page for how to create a point cloud map for Autoware.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#creating-a-lanelet2","title":"Creating a Lanelet2","text":"

    Firstly, we need to import our pointcloud map to Vector Map Builder tool:

    1. Please click File.
    2. Then, click Import PCD.
    3. Click Browse and select your .pcd file.

    You will display the point cloud on your Vector Map Builder tool after the upload is complete:

    Uploaded pointcloud map file on Vector Map Builder

    Now, we are ready to create lanelet2 map on our pointcloud map:

    1. Please click Create.
    2. Then, click Create Lanelet2Maps.
    3. Please fill your map name
    4. Please fill your MGRS zone. (At tutorial_vehicle, MGRS grid zone: 35T - MGRS 100,000-meter square: PF)
    5. Click Create.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#creating-a-simple-lanelet","title":"Creating a simple lanelet","text":"

    In order to create a simple lanelet on your map, please follow these steps:

    1. CLick Lanelet2Maps on the bar
    2. Enable Lanelet mode via selecting Lanelet.
    3. Then, you can click the pointcloud map to create lanelet.
    4. If your lanelet is finished, you can disable Lanelet.
    5. If you want to change your lanelet width, click lanelet --> Change Lanelet Width, then you can enter the lanelet width.

    Video Demonstration:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#join-two-lanelets","title":"Join two lanelets","text":"

    In order to join two lanelets, please follow these steps:

    1. Please create two distinct lanelet.
    2. Select a Lanelet, then press Shift and select other lanelet.
    3. Now, you can see Join Lanelets button, just press it.
    4. These lanelets will be joined.

    Video Demonstration:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#join-multiple-lanelets","title":"Join Multiple lanelets","text":"

    In order to add (join) two or more lanelets to another lanelet, please follow these steps:

    1. Create multiple lanelets.
    2. You can join the first two lanelets like the steps before.
    3. Please check end points ids of first lanelet.
    4. Then you need to change these ids with third lanelet's start point. (Please change with selecting linestring of lanelet)
    5. You will see two next lanes of the first lanelet will be appeared.

    Video Demonstration:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#change-speed-limit-of-lanelet","title":"Change Speed Limit Of Lanelet","text":"

    In order to change the speed limit of lanelet, please follow these steps:

    1. Select the lanelet where the speed limit will be changed
    2. Set speed limit on the right panel.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/#test-lanelets-with-planning-simulator","title":"Test lanelets with planning simulator","text":"

    After the completing of creating lanelets, we need to save it. To that please click File --> Export Lanelet2Maps then download.

    After the download is finished, we need to put lanelet2 map and pointcloud map on the same location. The directory structure should be like this:

    <YOUR-MAP-DIRECTORY>/\n \u251c\u2500 pointcloud_map.pcd\n \u2514\u2500 lanelet2_map.osm\n

    If your .osm or .pcd map file's name is different from these names, you need to update autoware.launch.xml:

      <!-- Map -->\n-  <arg name=\"lanelet2_map_file\" default=\"lanelet2_map.osm\" description=\"lanelet2 map file name\"/>\n+  <arg name=\"lanelet2_map_file\" default=\"<YOUR-LANELET-MAP-NAME>.osm\" description=\"lanelet2 map file name\"/>\n-  <arg name=\"pointcloud_map_file\" default=\"pointcloud_map.pcd\" description=\"pointcloud map file name\"/>\n+  <arg name=\"pointcloud_map_file\" default=\"<YOUR-POINTCLOUD-MAP-NAME>.pcd\" description=\"pointcloud map file name\"/>\n

    Now we are ready to launch the planning simulator:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>\n

    Example for tutorial_vehicle:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle\n
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.

    Testing our created vector map with planning simulator"},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/","title":"Speed bump","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/#speed-bump","title":"Speed bump","text":"

    Behavior velocity planner's speed bump module plans velocity to slow down before speed bump for comfortable and safety driving. In order to operate that, we will add speed bumps to our lanelet2 map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/#creating-a-speed-bump-element","title":"Creating a speed bump element","text":"

    In order to create a speed bump on your pointcloud map, please follow these steps:

    1. Select Linestring from Lanelet2Maps section.
    2. Click and draw polygon for speed bump.
    3. Then please disable Linestring from Lanelet2Maps section.
    4. CLick Change to Polygon from the Action panel.
    5. Please select this Polygon and enter speed_bump as the type.
    6. Then, please click lanelet which speed bump to be added.
    7. Select Create General Regulatory ELement.
    8. Go to this element, and please enter speed_bump as subtype.
    9. Click Add refers and type your created speed bump polygon ID.

    You can see these steps in the speed bump creating demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/#testing-created-the-speed-bump-element-with-planning-simulator","title":"Testing created the speed bump element with planning simulator","text":"

    After the completing of creating the map, we need to save it. To that please click File --> Export Lanelet2Maps then download.

    After the download is finished, we need to put lanelet2 map and pointcloud map on the same location. The directory structure should be like this:

    + <YOUR-MAP-DIRECTORY>/\n+  \u251c\u2500 pointcloud_map.pcd\n+  \u2514\u2500 lanelet2_map.osm\n

    If your .osm or .pcd map file's name is different from these names, you need to update autoware.launch.xml:

      <!-- Map -->\n-  <arg name=\"lanelet2_map_file\" default=\"lanelet2_map.osm\" description=\"lanelet2 map file name\"/>\n+  <arg name=\"lanelet2_map_file\" default=\"<YOUR-LANELET-MAP-NAME>.osm\" description=\"lanelet2 map file name\"/>\n-  <arg name=\"pointcloud_map_file\" default=\"pointcloud_map.pcd\" description=\"pointcloud map file name\"/>\n+  <arg name=\"pointcloud_map_file\" default=\"<YOUR-POINTCLOUD-MAP-NAME>.pcd\" description=\"pointcloud map file name\"/>\n

    Note

    The speed bump module not enabled default. To enable that, please uncomment it your behavior_velocity_planner.param.yaml.

    Now we are ready to launch the planning simulator:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>\n

    Example for tutorial_vehicle:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle\n
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    3. You can see the speed bump marker on the rviz screen.

    Speed bump markers on rviz:

    Speed bump test on the created map.

    You can check your speed bump elements in the planning simulator as this demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/","title":"Stop Line","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/#stop-line","title":"Stop Line","text":"

    Behavior velocity planner's stop line module plans velocity to stop right before stop lines and restart driving after stopped. In order to operate that, we will add stop line attribute to our lanelet2 map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/#creating-a-stop-line-regulatory-element","title":"Creating a stop line regulatory element","text":"

    In order to create a stop line on your pointcloud map, please follow these steps:

    1. Please select lanelet which stop line to be added.
    2. Click Abstraction button on top panel.
    3. Select Stop Line from the panel.
    4. Click on the desired area for inserting stop line.

    You can see these steps in the stop line creating demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/#testing-created-the-stop-line-element-with-planning-simulator","title":"Testing created the stop line element with planning simulator","text":"

    After the completing of creating the map, we need to save it. To that please click File --> Export Lanelet2Maps then download.

    After the download is finished, we need to put lanelet2 map and pointcloud map on the same location. The directory structure should be like this:

    + <YOUR-MAP-DIRECTORY>/\n+  \u251c\u2500 pointcloud_map.pcd\n+  \u2514\u2500 lanelet2_map.osm\n

    If your .osm or .pcd map file's name is different from these names, you need to update autoware.launch.xml:

      <!-- Map -->\n-  <arg name=\"lanelet2_map_file\" default=\"lanelet2_map.osm\" description=\"lanelet2 map file name\"/>\n+  <arg name=\"lanelet2_map_file\" default=\"<YOUR-LANELET-MAP-NAME>.osm\" description=\"lanelet2 map file name\"/>\n-  <arg name=\"pointcloud_map_file\" default=\"pointcloud_map.pcd\" description=\"pointcloud map file name\"/>\n+  <arg name=\"pointcloud_map_file\" default=\"<YOUR-POINTCLOUD-MAP-NAME>.pcd\" description=\"pointcloud map file name\"/>\n

    Now we are ready to launch the planning simulator:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>\n

    Example for tutorial_vehicle:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle\n
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    3. You can see the stop line marker on the rviz screen.

    Stop line markers on rviz:

    Stop line test on the created map.

    You can check your stop line elements in the planning simulator as this demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/","title":"Traffic light","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/#traffic-light","title":"Traffic light","text":"

    Behavior velocity planner's traffic light module plans velocity according to the traffic light status. In order to operate that, we will add traffic light attribute to our lanelet2 map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/#creating-a-traffic-light-regulatory-element","title":"Creating a traffic light regulatory element","text":"

    In order to create a traffic light on your pointcloud map, please follow these steps:

    1. Please select lanelet which traffic light to be added.
    2. Click Abstraction button on top panel.
    3. Select Traffic Light from the panel.
    4. Click on the desired area for inserting traffic light.

    You can see these steps in the traffic-light creating demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/#testing-created-the-traffic-light-element-with-planning-simulator","title":"Testing created the traffic light element with planning simulator","text":"

    After the completing of creating the map, we need to save it. To that please click File --> Export Lanelet2Maps then download.

    After the download is finished, we need to put lanelet2 map and pointcloud map on the same location. The directory structure should be like this:

    + <YOUR-MAP-DIRECTORY>/\n+  \u251c\u2500 pointcloud_map.pcd\n+  \u2514\u2500 lanelet2_map.osm\n

    If your .osm or .pcd map file's name is different from these names, you need to update autoware.launch.xml:

      <!-- Map -->\n-  <arg name=\"lanelet2_map_file\" default=\"lanelet2_map.osm\" description=\"lanelet2 map file name\"/>\n+  <arg name=\"lanelet2_map_file\" default=\"<YOUR-LANELET-MAP-NAME>.osm\" description=\"lanelet2 map file name\"/>\n-  <arg name=\"pointcloud_map_file\" default=\"pointcloud_map.pcd\" description=\"pointcloud map file name\"/>\n+  <arg name=\"pointcloud_map_file\" default=\"<YOUR-POINTCLOUD-MAP-NAME>.pcd\" description=\"pointcloud map file name\"/>\n

    Now we are ready to launch the planning simulator:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=<YOUR-MAP-FOLDER-DIR> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-KIT>\n

    Example for tutorial_vehicle:

    ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/Files/autoware_map/tutorial_map/ vehicle_model:=tutorial_vehicle sensor_model:=tutorial_vehicle_sensor_kit vehicle_id:=tutorial_vehicle\n
    1. Click 2D Pose Estimate button on rviz or press P and give a pose for initialization.
    2. Click Panels -> Add new panel, select TrafficLightPublishPanel, and then press OK.
    3. In TrafficLightPublishPanel, set the ID and color of the traffic light.
    4. Then, Click SET and PUBLISH button.
    5. Click 2D Goal Pose button on rviz or press G and give a pose for goal point.
    6. You can see the traffic light marker on the rviz screen if you set the traffic light color as RED.

    Traffic Light markers on rviz:

    Traffic light test on the created map.

    You can check your traffic light elements in the planning simulator as this demonstration video:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/","title":"Available Open Source SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#available-open-source-slam","title":"Available Open Source SLAM","text":"

    This page provides the list of available open source Simultaneous Localization And Mapping (SLAM) implementation that can be used to generate a point cloud (.pcd) map file.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#selecting-which-implementation-to-use","title":"Selecting which implementation to use","text":"

    Lidar odometry drifts accumulatively as time goes by and there is solutions to solve that problem such as graph optimization, loop closure and using gps sensor to decrease accumulative drift error. Because of that, a SLAM algorithm should have loop closure feature, graph optimization and should use gps sensor. Additionally, some of the algorithms are using IMU sensor to add another factor to graph for decreasing drift error. While some of the algorithms requires 9-axis IMU sensor strictly, some of them requires only 6-axis IMU sensor or not even using the IMU sensor. Before choosing an algorithm to create maps for Autoware please consider these factors depends on your sensor setup or expected quality of generated map.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#tips","title":"Tips","text":"

    Commonly used open-source SLAM implementations are lidarslam-ros2 (LiDAR, IMU*) and LIO-SAM (LiDAR, IMU, GNSS). The required sensor data for each algorithm is specified in the parentheses, where an asterisk (*) indicates that such sensor data is optional. For supported LiDAR models, please check the GitHub repository of each algorithm. While these ROS 2-based SLAM implementations can be easily installed and used directly on the same machine that runs Autoware, it is important to note that they may not be as well-tested or as mature as ROS 1-based alternatives.

    The notable open-source SLAM implementations that are based on ROS 1 include hdl-graph-slam (LiDAR, IMU*, GNSS*), LeGO-LOAM (LiDAR, IMU*), LeGO-LOAM-BOR (LiDAR), and LIO-SAM (LiDAR, IMU, GNSS).

    Most of these algorithms already have a built-in loop-closure and pose graph optimization. However, if the built-in, automatic loop-closure fails or does not work correctly, you can use Interactive SLAM to adjust and optimize a pose graph manually.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/#list-of-third-party-slam-implementations","title":"List of Third Party SLAM Implementations","text":"Package Name Explanation Repository Link Loop Closure Sensors ROS Version Dependencies FAST-LIO-LC A computationally efficient and robust LiDAR-inertial odometry package with loop closure module and graph optimization https://github.com/yanliang-wang/FAST_LIO_LC &check; LidarIMUGPS [Optional] ROS 1 ROS MelodicPCL >= 1.8Eigen >= 3.3.4GTSAM >= 4.0.0 FAST_LIO_SLAM FAST_LIO_SLAM is the integration of FAST_LIO and SC-PGO which is scan context based loop detection and GTSAM based pose-graph optimization https://github.com/gisbi-kim/FAST_LIO_SLAM &check; LidarIMUGPS [Optional] ROS 1 PCL >= 1.8Eigen >= 3.3.4 FD-SLAM FD_SLAM is Feature&Distribution-based 3D LiDAR SLAM method based on Surface Representation Refinement. In this algorithm novel feature-based Lidar odometry used for fast scan-matching, and used a proposed UGICP method for keyframe matching https://github.com/SLAMWang/FD-SLAM &check; LidarIMU [Optional]GPS ROS 1 PCLg2oSuitesparse hdl_graph_slam An open source ROS package for real-time 6DOF SLAM using a 3D LIDAR. It is based on 3D Graph SLAM with NDT scan matching-based odometry estimation and loop detection. It also supports several graph constraints, such as GPS, IMU acceleration (gravity vector), IMU orientation (magnetic sensor), and floor plane (detected in a point cloud) https://github.com/koide3/hdl_graph_slam &check; LidarIMU [Optional]GPS [Optional] ROS 1 PCLg2oOpenMP IA-LIO-SAM IA_LIO_SLAM is created for data acquisition in unstructured environment and it is a framework for Intensity and Ambient Enhanced Lidar Inertial Odometry via Smoothing and Mapping that achieves highly accurate robot trajectories and mapping https://github.com/minwoo0611/IA_LIO_SAM &check; LidarIMUGPS ROS 1 GTSAM ISCLOAM ISCLOAM presents a robust loop closure detection approach by integrating both geometry and intensity information https://github.com/wh200720041/iscloam &check; Lidar ROS 1 Ubuntu 18.04ROS MelodicCeresPCLGTSAMOpenCV LeGO-LOAM-BOR LeGO-LOAM-BOR is improved version of the LeGO-LOAM by improving quality of the code, making it more readable and consistent. Also, performance is improved by converting processes to multi-threaded approach https://github.com/facontidavide/LeGO-LOAM-BOR &check; LidarIMU ROS 1 ROS MelodicPCLGTSAM LIO_SAM A framework that achieves highly accurate, real-time mobile robot trajectory estimation and map-building. It formulates lidar-inertial odometry atop a factor graph, allowing a multitude of relative and absolute measurements, including loop closures, to be incorporated from different sources as factors into the system https://github.com/TixiaoShan/LIO-SAM &check; LidarIMUGPS [Optional] ROS 1ROS 2 PCLGTSAM Optimized-SC-F-LOAM An improved version of F-LOAM and uses an adaptive threshold to further judge the loop closure detection results and reducing false loop closure detections. Also it uses feature point-based matching to calculate the constraints between a pair of loop closure frame point clouds and decreases time consumption of constructing loop frame constraints https://github.com/SlamCabbage/Optimized-SC-F-LOAM &check; Lidar ROS 1 PCLGTSAMCeres SC-A-LOAM A real-time LiDAR SLAM package that integrates A-LOAM and ScanContext. https://github.com/gisbi-kim/SC-A-LOAM &check; Lidar ROS 1 GTSAM >= 4.0 SC-LeGO-LOAM SC-LeGO-LOAM integrated LeGO-LOAM for lidar odometry and 2 different loop closure methods: ScanContext and Radius search based loop closure. While ScanContext is correcting large drifts, radius search based method is good for fine-stitching https://github.com/irapkaist/SC-LeGO-LOAM &check; LidarIMU ROS 1 PCLGTSAM"},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/","title":"FAST_LIO_LC","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#fast_lio_lc","title":"FAST_LIO_LC","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#what-is-fast_lio_lc","title":"What is FAST_LIO_LC?","text":"
    • A computationally efficient and robust LiDAR-inertial odometry package with loop closure module and graph optimization.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/yanliang-wang/FAST_LIO_LC

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne, Ouster, Livox]
    • IMU [6-AXIS, 9-AXIS]
    • GPS [Optional]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#dependencies","title":"Dependencies","text":"
    • Ubuntu 18.04
    • ROS Melodic
    • PCL >= 1.8, Follow PCL Installation.
    • Eigen >= 3.3.4, Follow Eigen Installation.
    • GTSAM >= 4.0.0, Follow GTSAM Installation.
      wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\n  cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\n  cd ~/Downloads/gtsam-4.0.0-alpha2/\n  mkdir build && cd build\n  cmake ..\n  sudo make install\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#1-build","title":"1) Build","text":"
        mkdir -p ~/ws_fastlio_lc/src\n    cd ~/ws_fastlio_lc/src\n    git clone https://github.com/gisbi-kim/FAST_LIO_SLAM.git\n    git clone https://github.com/Livox-SDK/livox_ros_driver\n    cd ..\n    catkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#2-set-parameters","title":"2) Set parameters","text":"
    • After downloading the repository, change topic and sensor settings on the config file (workspace/src/FAST_LIO_LC/FAST_LIO/config/ouster64_mulran.yaml) with the lidar topic name in your bag file.
    • For imu-lidar compatibility, extrinsic matrices from calibration must be changed.
    • To enable auto-save, pcd_save_enable must be 1 from the launch file (workspace/src/FAST_LIO_LC/FAST_LIO/launch/mapping_ouster64_mulran.launch).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#3-run","title":"3) Run","text":"
    • For Ouster OS1-64
      # open new terminal: run FAST-LIO\nroslaunch fast_lio mapping_ouster64.launch\n\n# open the other terminal tab: run SC-PGO\nroslaunch aloam_velodyne fastlio_ouster64.launch\n\n# play bag file in the other terminal\nrosbag play RECORDED_BAG.bag --clock\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#other-examples","title":"Other Examples","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#example-dataset","title":"Example dataset","text":"

    Check original repository link for example dataset.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#contact","title":"Contact","text":"
    • Maintainer: Yanliang Wang (wyl410922@qq.com)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/#acknowledgements","title":"Acknowledgements","text":"
    • Thanks for FAST_LIO authors.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/","title":"FAST_LIO_SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#fast_lio_slam","title":"FAST_LIO_SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#what-is-fast_lio_slam","title":"What is FAST_LIO_SLAM?","text":"
    • FAST_LIO_SLAM is the integration of FAST_LIO and SC-PGO which is scan context based loop detection and GTSAM based pose-graph optimization.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/gisbi-kim/FAST_LIO_SLAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Livox, Velodyne, Ouster]
    • IMU [6-AXIS, 9-AXIS]
    • GPS [OPTIONAL]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM
    wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.0-alpha2/\nmkdir build && cd build\ncmake ..\nsudo make install\n
    • PCL >= 1.8, Follow PCL Installation.
    • Eigen >= 3.3.4, Follow Eigen Installation.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#1-build","title":"1) Build","text":"
        mkdir -p ~/catkin_fastlio_slam/src\n    cd ~/catkin_fastlio_slam/src\n    git clone https://github.com/gisbi-kim/FAST_LIO_SLAM.git\n    git clone https://github.com/Livox-SDK/livox_ros_driver\n    cd ..\n    catkin_make\n    source devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#2-set-parameters","title":"2) Set parameters","text":"
    • Set imu and lidar topic on Fast_LIO/config/ouster64.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#3-run","title":"3) Run","text":"
        # terminal 1: run FAST-LIO2\nroslaunch fast_lio mapping_ouster64.launch\n\n    # open the other terminal tab: run SC-PGO\ncd ~/catkin_fastlio_slam\n    source devel/setup.bash\n    roslaunch aloam_velodyne fastlio_ouster64.launch\n\n    # play bag file in the other terminal\nrosbag play xxx.bag -- clock --pause\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#other-examples","title":"Other Examples","text":"
    • Tutorial video 1 (using KAIST 03 sequence of MulRan dataset)

      • Example result captures

      • download the KAIST 03 pcd map made by FAST-LIO-SLAM, 500MB
    • Example Video 2 (Riverside 02 sequence of MulRan dataset)
      • Example result captures

      • download the Riverside 02 pcd map made by FAST-LIO-SLAM, 400MB
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/#acknowledgements","title":"Acknowledgements","text":"
    • Thanks for FAST_LIO authors.
    • You may have an interest in this version of FAST-LIO + Loop closure, implemented by yanliang-wang
    • Maintainer: Giseop Kim (paulgkim@kaist.ac.kr)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/","title":"FD-SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#fd-slam","title":"FD-SLAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#what-is-fd-slam","title":"What is FD-SLAM?","text":"
    • FD_SLAM is Feature&Distribution-based 3D LiDAR SLAM method based on Surface Representation Refinement. In this algorithm novel feature-based Lidar odometry used for fast scan-matching, and used a proposed UGICP method for keyframe matching.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#repository-information","title":"Repository Information","text":"

    This is an open source ROS package for real-time 6DOF SLAM using a 3D LIDAR.

    It is based on hdl_graph_slam and the steps to run our system are same with hdl-graph-slam.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/SLAMWang/FD-SLAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR[VLP-16, HDL-32, HDL-64, OS1-64]
    • GPS
    • IMU [Optional]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • g2o
    • Suitesparse

    The following ROS packages are required:

    • geodesy
    • nmea_msgs
    • pcl_ros
    • ndt_omp
    • U_gicp This is modified based on fast_gicp by us. We use UGICP for keyframe matching.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/SLAMWang/FD-SLAM.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#2-services","title":"2) Services","text":"
    /hdl_graph_slam/dump  (hdl_graph_slam/DumpGraph)\n- save all the internal data (point clouds, floor coeffs, odoms, and pose graph) to a directory.\n\n/hdl_graph_slam/save_map (hdl_graph_slam/SaveMap)\n- save the generated map as a PCD file.\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#3-set-parameters","title":"3) Set parameters","text":"
    • All the configurable parameters are listed in launch/****.launch as ros params.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/#4-run","title":"4) Run","text":"
    source devel/setup.bash\nroslaunch hdl_graph_slam hdl_graph_slam_400_ours.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/","title":"hdl_graph_slam","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#hdl_graph_slam","title":"hdl_graph_slam","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#what-is-hdl_graph_slam","title":"What is hdl_graph_slam?","text":"
    • An open source ROS package for real-time 6DOF SLAM using a 3D LIDAR. It is based on 3D Graph SLAM with NDT scan matching-based odometry estimation and loop detection. It also supports several graph constraints, such as GPS, IMU acceleration (gravity vector), IMU orientation (magnetic sensor), and floor plane (detected in a point cloud).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/koide3/hdl_graph_slam

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne, Ouster, RoboSense]
    • IMU [6-AXIS, 9-AXIS] [OPTIONAL]
    • GPS [OPTIONAL]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • g2o
    • OpenMP

    The following ROS packages are required:

    • geodesy
    • nmea_msgs
    • pcl_ros
    • ndt_omp
    • fast_gicp
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#1-build","title":"1) Build","text":"
    # for melodic\nsudo apt-get install ros-melodic-geodesy ros-melodic-pcl-ros ros-melodic-nmea-msgs ros-melodic-libg2o\ncd catkin_ws/src\ngit clone https://github.com/koide3/ndt_omp.git -b melodic\ngit clone https://github.com/SMRT-AIST/fast_gicp.git --recursive\ngit clone https://github.com/koide3/hdl_graph_slam\n\ncd .. && catkin_make -DCMAKE_BUILD_TYPE=Release\n\n# for noetic\nsudo apt-get install ros-noetic-geodesy ros-noetic-pcl-ros ros-noetic-nmea-msgs ros-noetic-libg2o\n\ncd catkin_ws/src\ngit clone https://github.com/koide3/ndt_omp.git\ngit clone https://github.com/SMRT-AIST/fast_gicp.git --recursive\ngit clone https://github.com/koide3/hdl_graph_slam\n\ncd .. && catkin_make -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#2-set-parameter","title":"2) Set parameter","text":"
    • Set lidar topic on launch/hdl_graph_slam_400.launch
    • Set registration settings on launch/hdl_graph_slam_400.launch
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#3-run","title":"3) Run","text":"
    rosparam set use_sim_time true\nroslaunch hdl_graph_slam hdl_graph_slam_400.launch\n
    roscd hdl_graph_slam/rviz\nrviz -d hdl_graph_slam.rviz\n
    rosbag play --clock hdl_400.bag\n

    Save the generated map by:

    rosservice call /hdl_graph_slam/save_map \"resolution: 0.05\ndestination: '/full_path_directory/map.pcd'\"\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#example2-outdoor","title":"Example2 (Outdoor)","text":"

    Bag file (recorded in an outdoor environment):

    • hdl_400.bag.tar.gz (raw data, about 900MB)
    rosparam set use_sim_time true\nroslaunch hdl_graph_slam hdl_graph_slam_400.launch\n
    roscd hdl_graph_slam/rviz\nrviz -d hdl_graph_slam.rviz\n
    rosbag play --clock dataset.bag\n

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#papers","title":"Papers","text":"

    Kenji Koide, Jun Miura, and Emanuele Menegatti, A Portable 3D LIDAR-based System for Long-term and Wide-area People Behavior Measurement, Advanced Robotic Systems, 2019 [link].

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/#contact","title":"Contact","text":"

    Kenji Koide, k.koide@aist.go.jp, https://staff.aist.go.jp/k.koide

    [Active Intelligent Systems Laboratory, Toyohashi University of Technology, Japan] [Mobile Robotics Research Team, National Institute of Advanced Industrial Science and Technology (AIST), Japan]

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/","title":"IA-LIO-SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#ia-lio-sam","title":"IA-LIO-SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#what-is-ia-lio-sam","title":"What is IA-LIO-SAM?","text":"
    • IA_LIO_SLAM is created for data acquisition in unstructured environment and it is a framework for Intensity and Ambient Enhanced Lidar Inertial Odometry via Smoothing and Mapping that achieves highly accurate robot trajectories and mapping.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/minwoo0611/IA_LIO_SAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne, Ouster]
    • IMU [9-AXIS]
    • GNSS
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#dependencies","title":"Dependencies","text":"
    • ROS (tested with Kinetic and Melodic)

      • for ROS melodic:

        sudo apt-get install -y ros-melodic-navigation\nsudo apt-get install -y ros-melodic-robot-localization\nsudo apt-get install -y ros-melodic-robot-state-publisher\n
      • for ROS kinetic:

        sudo apt-get install -y ros-kinetic-navigation\nsudo apt-get install -y ros-kinetic-robot-localization\nsudo apt-get install -y ros-kinetic-robot-state-publisher\n
    • GTSAM (Georgia Tech Smoothing and Mapping library)

      wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.2/\nmkdir build && cd build\ncmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..\nsudo make install -j8\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#1-build","title":"1) Build","text":"
        mkdir -p ~/catkin_ia_lio/src\n    cd ~/catkin_ia_lio/src\n    git clone https://github.com/minwoo0611/IA_LIO_SAM\n    cd ..\n    catkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#2-set-parameters","title":"2) Set parameters","text":"
    • After downloading the repository, change topic and sensor settings on the config file (workspace/src/IA_LIO_SAM/config/params.yaml)
    • For imu-lidar compatibility, extrinsic matrices from calibration must be changed.
    • To enable autosave, savePCD must be true on the params.yaml file (workspace/src/IA_LIO_SAM/config/params.yaml).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#3-run","title":"3) Run","text":"
      # open new terminal: run IA_LIO\n  source devel/setup.bash\n  roslaunch lio_sam mapping_ouster64.launch\n\n  # play bag file in the other terminal\n  rosbag play RECORDED_BAG.bag --clock\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#sample-dataset-images","title":"Sample dataset images","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#example-dataset","title":"Example dataset","text":"

    Check original repo link for example dataset.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#contact","title":"Contact","text":"
    • Maintainer: Kevin Jung (GitHub: minwoo0611)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#paper","title":"Paper","text":"

    Thank you for citing IA-LIO-SAM(./config/doc/KRS-2021-17.pdf) if you use any of this code.

    Part of the code is adapted from LIO-SAM (IROS-2020).

    @inproceedings{legoloam2018shan,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Shan, Tixiao and Englot, Brendan},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/#acknowledgements","title":"Acknowledgements","text":"
    • IA-LIO-SAM is based on LIO-SAM (T. Shan, B. Englot, D. Meyers, W. Wang, C. Ratti, and D. Rus. LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/","title":"ISCLOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#iscloam","title":"ISCLOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#what-is-iscloam","title":"What is ISCLOAM?","text":"
    • ISCLOAM presents a robust loop closure detection approach by integrating both geometry and intensity information.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/wh200720041/iscloam

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Velodyne]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#dependencies","title":"Dependencies","text":"
    • Ubuntu 64-bit 18.04
    • ROS Melodic ROS Installation
    • Ceres Solver Ceres Installation
    • PCL PCL Installation
    • Gtsam GTSAM Installation
    • OpenCV OPENCV Installation
    • Trajectory visualization

    For visualization purpose, this package uses hector trajectory sever, you may install the package by

    sudo apt-get install ros-melodic-hector-trajectory-server\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#build-and-run","title":"Build and Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#1-clone-repository","title":"1. Clone repository","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/wh200720041/iscloam.git\ncd ..\ncatkin_make -j1\nsource ~/catkin_ws/devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#2-set-parameter","title":"2. Set Parameter","text":"

    Change the bag location and sensor parameters on launch files.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#3-launch","title":"3. Launch","text":"
    roslaunch iscloam iscloam.launch\n

    if you would like to generate the map of environment at the same time, you can run

    roslaunch iscloam iscloam_mapping.launch\n

    Note that the global map can be very large, so it may takes a while to perform global optimization, some lag is expected between trajectory and map since they are running in separate thread. More CPU usage will happen when loop closure is identified.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#example-result","title":"Example Result","text":"

    Watch demo video at Video Link

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#ground-truth-comparison","title":"Ground Truth Comparison","text":"

    Green: ISCLOAM Red: Ground Truth

                      KITTI sequence 00                                  KITTI sequence 05\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#citation","title":"Citation","text":"

    If you use this work for your research, you may want to cite the paper below, your citation will be appreciated

    @inproceedings{wang2020intensity,\n  author={H. {Wang} and C. {Wang} and L. {Xie}},\n  booktitle={2020 IEEE International Conference on Robotics and Automation (ICRA)},\n  title={Intensity Scan Context: Coding Intensity and Geometry Relations for Loop Closure Detection},\n  year={2020},\n  volume={},\n  number={},\n  pages={2095-2101},\n  doi={10.1109/ICRA40945.2020.9196764}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/#acknowledgements","title":"Acknowledgements","text":"

    Thanks for A-LOAM and LOAM(J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) and LOAM_NOTED.

    Author: Wang Han, Nanyang Technological University, Singapore

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/","title":"LeGO-LOAM-BOR","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#lego-loam-bor","title":"LeGO-LOAM-BOR","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#what-is-lego-loam-bor","title":"What is LeGO-LOAM-BOR?","text":"
    • LeGO-LOAM-BOR is improved version of the LeGO-LOAM by improving quality of the code, making it more readable and consistent. Also, performance is improved by converting processes to multi-threaded approach.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/facontidavide/LeGO-LOAM-BOR

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16]
    • IMU [9-AXIS]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#dependencies","title":"Dependencies","text":"
    • ROS Melodic ROS Installation
    • PCL PCL Installation
    • Gtsam GTSAM Installation
    wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.0-alpha2/\nmkdir build && cd build\ncmake ..\nsudo make install\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/facontidavide/LeGO-LOAM-BOR.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#2-set-parameters","title":"2) Set parameters","text":"
    • Set parameters on LeGo-LOAM/loam_config.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#3-run","title":"3) Run","text":"
    source devel/setup.bash\nroslaunch lego_loam_bor run.launch rosbag:=/path/to/your/rosbag lidar_topic:=/velodyne_points\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/#cite-lego-loam","title":"Cite LeGO-LOAM","text":"

    Thank you for citing our LeGO-LOAM paper if you use any of this code:

    @inproceedings{legoloam2018,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Tixiao Shan and Brendan Englot},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/","title":"LIO-SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#lio-sam","title":"LIO-SAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#what-is-lio-sam","title":"What is LIO-SAM?","text":"
    • A framework that achieves highly accurate, real-time mobile robot trajectory estimation and map-building. It formulates lidar-inertial odometry atop a factor graph, allowing a multitude of relative and absolute measurements, including loop closures, to be incorporated from different sources as factors into the system.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/TixiaoShan/LIO-SAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [Livox, Velodyne, Ouster, Robosense*]
    • IMU [9-AXIS]
    • GPS [OPTIONAL]

    *Robosense lidars aren't supported officially, but their Helios series can be used as Velodyne lidars.

    The system architecture of LIO-SAM method described in the following diagram, please look at the official repository for getting more information.

    System Architecture of LIO-SAM

    We are using Robosense Helios 5515 and CLAP B7 sensor on tutorial_vehicle, so we will use these sensors for running LIO-SAM.

    Additionally, LIO-SAM tested with Applanix POS LVX and Hesai Pandar XT32 sensor setup. Some additional information according to the sensors will be provided in this page.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#ros-compatibility","title":"ROS Compatibility","text":"

    Since Autoware uses ROS 2 Humble currently, we will continue with ROS 2 version of LIO-SAM.

    • ROS
    • ROS 2 (Also, it is compatible with Humble distro)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#dependencies","title":"Dependencies","text":"

    ROS 2 dependencies:

    • perception-pcl
    • pcl-msgs
    • vision-opencv
    • xacro

    To install these dependencies, you can use this bash command in your terminal:

    sudo apt install ros-humble-perception-pcl \\\nros-humble-pcl-msgs \\\nros-humble-vision-opencv \\\nros-humble-xacro\n

    Other dependencies:

    • gtsam (Georgia Tech Smoothing and Mapping library)

    To install the gtsam, you can use this bash command in your terminal:

      # Add GTSAM-PPA\nsudo add-apt-repository ppa:borglab/gtsam-release-4.1\n  sudo apt install libgtsam-dev libgtsam-unstable-dev\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#1-installation","title":"1) Installation","text":"

    In order to use and build LIO-SAM, we will create workspace for LIO-SAM:

        mkdir -p ~/lio-sam-ws/src\n    cd ~/lio-sam-ws/src\n    git clone -b ros2 https://github.com/TixiaoShan/LIO-SAM.git\n    cd ..\n    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#2-settings","title":"2) Settings","text":"

    After the building of LIO-SAM, we need to record ROS 2 Bag file with including necessary topics for LIO-SAM. The necessary topics are described in the config file on LIO-SAM.

    ROS 2 Bag example for LIO-SAM with Robosense Helios and CLAP B7
    Files:             map_bag_13_09_0.db3\nBag size:          38.4 GiB\nStorage id:        sqlite3\nDuration:          3295.326s\nStart:             Sep 13 2023 16:40:23.165 (1694612423.165)\nEnd:               Sep 13 2023 17:35:18.492 (1694615718.492)\nMessages:          1627025\nTopic information: Topic: /sensing/gnss/clap/ros/imu | Type: sensor_msgs/msg/Imu | Count: 329535 | Serialization Format: cdr\nTopic: /sensing/gnss/clap/ros/odometry | Type: nav_msgs/msg/Odometry | Count: 329533 | Serialization Format: cdr\nTopic: /sensing/lidar/top/pointcloud_raw | Type: sensor_msgs/msg/PointCloud2 | Count: 32953 | Serialization Format: cdr\n

    Note: We use use_odometry as true at clap_b7_driver for publishing GPS odometry topic from navsatfix.

    Please set topics and sensor settings on lio_sam/config/params.yaml. Here are some example modifications for out tutorial_vehicle.

    • Topic names:
    -   pointCloudTopic: \"/points\"\n+   pointCloudTopic: \"/sensing/lidar/top/pointcloud_raw\"\n-   imuTopic: \"/imu/data\"\n+   imuTopic: \"/sensing/gnss/clap/ros/imu\"\n   odomTopic: \"odometry/imu\"\n-   gpsTopic: \"odometry/gpsz\"\n+   gpsTopic: \"/sensing/gnss/clap/ros/odometry\"\n

    Since we will use GPS information with Autoware, so we need to enable useImuHeadingInitialization parameter.

    • GPS settings:
    -   useImuHeadingInitialization: false\n+   useImuHeadingInitialization: true\n-   useGpsElevation: false\n+   useGpsElevation: true\n

    We will update sensor settings also. Since Robosense Lidars aren't officially supported, we will set our 32-channel Robosense Helios 5515 lidar as Velodyne:

    • Sensor settings:
    -   sensor: ouster\n+   sensor: velodyne\n-   N_SCAN: 64\n+   N_SCAN: 32\n-   Horizon_SCAN: 512\n+   Horizon_SCAN: 1800\n

    After that, we will update extrinsic transformations between Robosense Lidar and CLAP B7 GNSS/INS (IMU) system.

    • Extrinsic transformation:
    -   extrinsicTrans:  [ 0.0,  0.0,  0.0 ]\n+   extrinsicTrans:  [-0.91, 0.0, -1.71]\n-   extrinsicRot:    [-1.0,  0.0,  0.0,\n-                      0.0,  1.0,  0.0,\n-                      0.0,  0.0, -1.0 ]\n+   extrinsicRot:    [1.0,  0.0,  0.0,\n+                     0.0,  1.0,  0.0,\n+                     0.0,  0.0, 1.0 ]\n-   extrinsicRPY: [ 0.0,  1.0,  0.0,\n-                  -1.0,  0.0,  0.0,\n-                   0.0,  0.0,  1.0 ]\n+   extrinsicRPY: [ 1.0,  0.0,  0.0,\n+                   0.0,  1.0,  0.0,\n+                   0.0,  0.0,  1.0 ]\n

    Warning

    The mapping direction is towards to the going direction in the real world. If LiDAR sensor is backwards, according to the direction you are moving, then you need to change the extrinsicRot too. Unless the IMU tries to go in the wrong direction, and it may occur problems.

    For example, in our Applanix POS LVX and Hesai Pandar XT32 setup, IMU direction was towards to the going direction and LiDAR direction has 180 degree difference in Z-axis according to the IMU direction. In other words, they were facing back to each other. The tool may need a transformation for IMU for that.

    • In that situation, the calibration parameters changed as this:
    -   extrinsicRot:    [-1.0,  0.0,  0.0,\n-                      0.0,  1.0,  0.0,\n-                      0.0,  0.0, -1.0 ]\n+   extrinsicRot:    [-1.0,  0.0,  0.0,\n+                     0.0,  -1.0,  0.0,\n+                     0.0,   0.0,  1.0 ]\n-   extrinsicRPY: [ 0.0,  1.0,  0.0,\n-                  -1.0,  0.0,  0.0,\n-                   0.0,  0.0,  1.0 ]\n+   extrinsicRPY: [ -1.0,  0.0,  0.0,\n+                    0.0, -1.0,  0.0,\n+                    0.0,  0.0,  1.0 ]\n
    • In the end, we got this transform visualization in RViz:

    Transform Visualization of Applanix POS LVX and Hesai Pandar XT32 in RViz

    Now, we are ready to create a map for Autoware.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#3-usage","title":"3) Usage","text":"

    If you are set configurations and create bag file for LIO-SAM, you can launch LIO-SAM with:

    ros2 launch lio_sam run.launch.py\n

    The rviz2 screen will be open, then you can play your bag file:

    ros2 bag play <YOUR-BAG-FILE>\n

    If the mapping process is finished, you can save map with calling this service:

    ros2 service call /lio_sam/save_map lio_sam/srv/SaveMap \"{resolution: 0.2, destination: <YOUR-MAP-DIRECTORY>}\"\n

    Here is the video for demonstration of LIO-SAM mapping in our campus environment:

    The output map format is local UTM, we will change local UTM map to MGRS format for tutorial_vehicle. Also, if you want change UTM to MGRS for autoware, please follow convert-utm-to-mgrs-map page.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#example-result","title":"Example Result","text":"Sample Map Output for our Campus Environment"},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#paper","title":"Paper","text":"

    Thank you for citing LIO-SAM (IROS-2020) if you use any of this code.

    @inproceedings{liosam2020shan,\n  title={LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping},\n  author={Shan, Tixiao and Englot, Brendan and Meyers, Drew and Wang, Wei and Ratti, Carlo and Rus Daniela},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={5135-5142},\n  year={2020},\n  organization={IEEE}\n}\n

    Part of the code is adapted from LeGO-LOAM.

    @inproceedings{legoloam2018shan,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Shan, Tixiao and Englot, Brendan},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/#acknowledgements","title":"Acknowledgements","text":"
    • LIO-SAM is based on LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time).
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/","title":"Optimized-SC-F-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#optimized-sc-f-loam","title":"Optimized-SC-F-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#what-is-optimized-sc-f-loam","title":"What is Optimized-SC-F-LOAM?","text":"
    • An improved version of F-LOAM and uses an adaptive threshold to further judge the loop closure detection results and reducing false loop closure detections. Also it uses feature point-based matching to calculate the constraints between a pair of loop closure frame point clouds and decreases time consumption of constructing loop frame constraints.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/SlamCabbage/Optimized-SC-F-LOAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16, HDL-32, HDL-64]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM
    • Ceres Solver
    • For visualization purpose, this package uses hector trajectory sever, you may install the package by
    sudo apt-get install ros-noetic-hector-trajectory-server\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/SlamCabbage/Optimized-SC-F-LOAM.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#2-create-message-file","title":"2) Create message file","text":"

    In this folder, Ground Truth information, optimized pose information, F-LOAM pose information and time information are stored

    mkdir -p ~/message/Scans\n\nChange line 383 in the laserLoopOptimizationNode.cpp to your own \"message\" folder path\n

    (Do not forget to rebuild your package)

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#3-set-parameters","title":"3) Set parameters","text":"
    • Set LIDAR topic and LIDAR properties on 'sc_f_loam_mapping.launch'
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#4-run","title":"4) Run","text":"
    source devel/setup.bash\nroslaunch optimized_sc_f_loam optimized_sc_f_loam_mapping.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#results-on-kitti-sequence-00-and-sequence-05","title":"Results on KITTI Sequence 00 and Sequence 05","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#comparison-of-trajectories-on-kitti-dataset","title":"Comparison of trajectories on KITTI dataset","text":"

    Test on KITTI sequence You can download the sequence 00 and 05 datasets from the KITTI official website and convert them into bag files using the kitti2bag open source method.

    00: 2011_10_03_drive_0027 000000 004540

    05: 2011_09_30_drive_0018 000000 002760

    See the link: https://github.com/ethz-asl/kitti_to_rosbag

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#acknowledgements","title":"Acknowledgements","text":"

    Thanks for SC-A-LOAM(Scan context: Egocentric spatial descriptor for place recognition within 3d point cloud map) and F-LOAM(F-LOAM : Fast LiDAR Odometry and Mapping).

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/#citation","title":"Citation","text":"
    @misc{https://doi.org/10.48550/arxiv.2204.04932,\n  doi = {10.48550/ARXIV.2204.04932},\n\n  url = {https://arxiv.org/abs/2204.04932},\n\n  author = {Liao, Lizhou and Fu, Chunyun and Feng, Binbin and Su, Tian},\n\n  keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},\n\n  title = {Optimized SC-F-LOAM: Optimized Fast LiDAR Odometry and Mapping Using Scan Context},\n\n  publisher = {arXiv},\n\n  year = {2022},\n\n  copyright = {arXiv.org perpetual, non-exclusive license}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/","title":"SC-A-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#sc-a-loam","title":"SC-A-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#what-is-sc-a-loam","title":"What is SC-A-LOAM?","text":"
    • A real-time LiDAR SLAM package that integrates A-LOAM and ScanContext.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/gisbi-kim/SC-A-LOAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16, HDL-32, HDL-64, Ouster OS1-64]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#prerequisites-dependencies","title":"Prerequisites (dependencies)","text":"
    • ROS
    • GTSAM version 4.x.
    • If GTSAM is not installed, follow the steps below.

        wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip\n  cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\n  cd ~/Downloads/gtsam-4.0.2/\n  mkdir build && cd build\n  cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..\n  sudo make install -j8\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#1-build","title":"1) Build","text":"
    • First, install the above mentioned dependencies and follow below lines.

       mkdir -p ~/catkin_scaloam_ws/src\n cd ~/catkin_scaloam_ws/src\n git clone https://github.com/gisbi-kim/SC-A-LOAM.git\n cd ../\n catkin_make\n source ~/catkin_scaloam_ws/devel/setup.bash\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#2-set-parameters","title":"2) Set parameters","text":"
    • After downloading the repository, change topic and sensor settings on the launch files.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#scan-context-parameters","title":"Scan Context parameters","text":"
    • If encountering ghosting error or loop is not closed, change the scan context parameters.
    • Adjust the scan context settings with the parameters in the marked area.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#3-run","title":"3) Run","text":"
    roslaunch aloam_velodyne aloam_mulran.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#4-saving-as-pcd-file","title":"4) Saving as PCD file","text":"
      rosrun pcl_ros pointcloud_to_pcd input:=/aft_pgo_map\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#example-results","title":"Example Results","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#riverside-01-mulran-dataset","title":"Riverside 01, MulRan dataset","text":"
    • The MulRan dataset provides lidar scans (Ouster OS1-64, horizontally mounted, 10Hz) and consumer level gps (u-blox EVK-7P, 4Hz) data.
    • About how to use (publishing data) data: see here https://github.com/irapkaist/file_player_mulran
    • example videos on Riverside 01 sequence.

      1. with consumer level GPS-based altitude stabilization: https://youtu.be/FwAVX5TVm04\n2. without the z stabilization: https://youtu.be/okML_zNadhY\n
    • example result:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#kitti-05","title":"KITTI 05","text":"
    • For KITTI (HDL-64 sensor), run using the command

      roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch # for KITTI dataset setting\n
    • To publish KITTI scans, you can use mini-kitti publisher, a simple python script: https://github.com/gisbi-kim/mini-kitti-publisher
    • example video (no GPS used here): https://youtu.be/hk3Xx8SKkv4
    • example result:

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/#contact","title":"Contact","text":"
    • Maintainer: paulgkim@kaist.ac.kr
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/","title":"SC-LeGO-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#sc-lego-loam","title":"SC-LeGO-LOAM","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#what-is-sc-lego-loam","title":"What is SC-LeGO-LOAM?","text":"
    • SC-LeGO-LOAM integrated LeGO-LOAM for lidar odometry and 2 different loop closure methods: ScanContext and Radius search based loop closure. While ScanContext is correcting large drifts, radius search based method is good for fine-stitching.
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#repository-information","title":"Repository Information","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#original-repository-link","title":"Original Repository link","text":"

    https://github.com/irapkaist/SC-LeGO-LOAM

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#required-sensors","title":"Required Sensors","text":"
    • LIDAR [VLP-16, HDL-32E, VLS-128, Ouster OS1-16, Ouster OS1-64]
    • IMU [9-AXIS]
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#ros-compatibility","title":"ROS Compatibility","text":"
    • ROS 1
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#dependencies","title":"Dependencies","text":"
    • ROS
    • PCL
    • GTSAM
    wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip\ncd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/\ncd ~/Downloads/gtsam-4.0.0-alpha2/\nmkdir build && cd build\ncmake ..\nsudo make install\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#build-run","title":"Build & Run","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#1-build","title":"1) Build","text":"
    cd ~/catkin_ws/src\ngit clone https://github.com/irapkaist/SC-LeGO-LOAM.git\ncd ..\ncatkin_make\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#2-set-parameters","title":"2) Set parameters","text":"
    • Set imu and lidar topic on include/utility.h
    • Set lidar properties on include/utility.h
    • Set scan context settings on include/Scancontext.h

    (Do not forget to rebuild after setting parameters.)

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#3-run","title":"3) Run","text":"
    source devel/setup.bash\nroslaunch lego_loam run.launch\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#example-result","title":"Example Result","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#other-examples","title":"Other Examples","text":"
    • Video 1: DCC (MulRan dataset)
    • Video 2: Riverside (MulRan dataset)
    • Video 3: KAIST (MulRan dataset)

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#mulran-dataset","title":"MulRan dataset","text":"
    • If you want to reproduce the results as the above video, you can download the MulRan dataset and use the ROS topic publishing tool .
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#cite-sc-lego-loam","title":"Cite SC-LeGO-LOAM","text":"
    @INPROCEEDINGS { gkim-2018-iros,\n  author = {Kim, Giseop and Kim, Ayoung},\n  title = { Scan Context: Egocentric Spatial Descriptor for Place Recognition within {3D} Point Cloud Map },\n  booktitle = { Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems },\n  year = { 2018 },\n  month = { Oct. },\n  address = { Madrid }\n}\n

    and

    @inproceedings{legoloam2018,\n  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},\n  author={Shan, Tixiao and Englot, Brendan},\n  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={4758-4765},\n  year={2018},\n  organization={IEEE}\n}\n
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/#contact","title":"Contact","text":"
    • Maintainer: Giseop Kim (paulgkim@kaist.ac.kr)
    "},{"location":"how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/","title":"Pointcloud map downsampling","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/#pointcloud-map-downsampling","title":"Pointcloud map downsampling","text":""},{"location":"how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/#overview","title":"Overview","text":"

    When your created point cloud map is either too dense or too large (i.e., exceeding 300 MB), you may want to downsample it for improved computational and memory efficiency. Also, you can consider using dynamic map loading with partial loading, please check map_loader package for more information.

    At tutorial_vehicle implementation we will use the whole map, so we will downsample it with using CloudCompare.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/#installing-cloudcompare","title":"Installing CloudCompare","text":"

    You can install it by snap:

    sudo snap install cloudcompare\n

    Please check the official page for installing options.

    "},{"location":"how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/#downsampling-a-pointcloud-map","title":"Downsampling a pointcloud map","text":"

    There are three subsampling methods on CloudCompare, we are using Space method for subsampling, but you can use other methods if you want.

    1. Please open CloudCompare and drag your pointcloud to here, then you can select your pointcloud map by just clicking on the map at the DB tree panel.
    2. Then you can click subsample button on the top panel.

    CloudCompare
    1. Please select on your subsample method, we will use space for tutorial_vehicle.
    2. Then you can select options. For example, we need to determine minimum space between points. (Please be careful in this section, subsampling is depending on your map size, computer performance, etc.) We will set this value 0.2 for tutorial_vehicle's map.

    Pointcloud subsampling
    • After the subsampling process is finished, you should select pointcloud on the DB Tree panel as well.

    Select your downsampled pointcloud

    Now, you can save your downsampled pointcloud with ctrl + s or you can click save button from File bar. Then, this pointcloud can be used by autoware.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/","title":"Calibrating your sensors","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#calibrating-your-sensors","title":"Calibrating your sensors","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#overview","title":"Overview","text":"

    Autoware expects to have multiple sensors attached to the vehicle as input to perception, localization, and planning stack. These sensors must be calibrated correctly and their positions must be defined using either urdf files (as in sample_sensor_kit) or as tf launch files.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#camera-calibration","title":"Camera calibration","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#intrinsic-calibration","title":"Intrinsic Calibration","text":"
    • Navigation2 provides a good tutorial for camera internal calibration.
    • AutoCore provides a light-weight tool.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-lidar-calibration","title":"Lidar-lidar calibration","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-lidar-calibration-tool-from-autocore","title":"Lidar-Lidar Calibration tool from Autocore","text":"

    LL-Calib on GitHub, provided by AutoCore, is a lightweight toolkit for online/offline 3D LiDAR to LiDAR calibration. It's based on local mapping and \"GICP\" method to derive the relation between main and sub lidar. Information on how to use the tool, troubleshooting tips and example rosbags can be found at the above link.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-camera-calibration","title":"Lidar-camera calibration","text":"

    Developed by MathWorks, The Lidar Camera Calibrator app enables you to interactively estimate the rigid transformation between a lidar sensor and a camera.

    https://ww2.mathworks.cn/help/lidar/ug/get-started-lidar-camera-calibrator.html

    SensorsCalibration toolbox v0.1: One more open source method for Lidar-camera calibration. This is a project for LiDAR to camera calibration,including automatic calibration and manual calibration

    https://github.com/PJLab-ADG/SensorsCalibration/blob/master/lidar2camera/README.md

    Developed by AutoCore, an easy-to-use lightweight toolkit for Lidar-camera-calibration is proposed. Only in three steps, a fully automatic calibration will be done.

    https://github.com/autocore-ai/calibration_tools/tree/main/lidar-cam-calib-related

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/#lidar-imu-calibration","title":"Lidar-IMU calibration","text":"

    Developed by APRIL Lab at Zhejiang University in China, the LI-Calib calibration tool is a toolkit for calibrating the 6DoF rigid transformation and the time offset between a 3D LiDAR and an IMU, based on continuous-time batch optimization. IMU-based cost and LiDAR point-to-surfel (surfel = surface element) distance are minimized jointly, which renders the calibration problem well-constrained in general scenarios.

    AutoCore has forked the original LI-Calib tool and overwritten the Lidar input for more general usage. Information on how to use the tool, troubleshooting tips and example rosbags can be found at the LI-Calib fork on GitHub.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/","title":"Creating vehicle and sensor description","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#creating-vehicle-and-sensor-description","title":"Creating vehicle and sensor description","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#introduction","title":"Introduction","text":"

    This page introduce following topics.

    1. YOUR_VEHICLE_description
    2. YOUR_SENSOR_KIT_description
    3. individual_parameter
    4. YOUR_VEHICLE_launch
    5. YOUR_SENSOR_KIT_launch
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-your_vehicle_description","title":"1. YOUR_VEHICLE_description","text":"

    In YOUR_VEHICLE_description, the following configurations are set:

    1. vehicle_info.param.yaml (must be changed)
    2. mesh file (*.dae)
    3. mirror.param.yaml(must be changed)
    4. simulator_model.param.yaml
    5. vehicle.xacro
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-vehicle_infoparamyaml","title":"1. vehicle_info.param.yaml","text":"

    Defines the vehicle dimensions. For more details on each parameter, please click here.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-mesh-file","title":"2. mesh file","text":"

    A 3D model file used for visualization in rviz.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-mirrorparamyaml","title":"3. mirror.param.yaml","text":"

    Set according to the vehicle dimensions. Used in the crop-box-filter of PointCloudPreprocessor.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4-simulator_modelparamyaml","title":"4. simulator_model.param.yaml","text":"

    Configuration file for the simulator environment.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#5-vehiclexacro","title":"5. vehicle.xacro","text":"

    The entry point file that defines the entire URDF of the vehicle. It refers to sensors.xacro, which specifies the sensor mounting positions.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-your_sensor_kit_description","title":"2. YOUR_SENSOR_KIT_description","text":"

    In sensor_kit_description, the following files are configured:

    1. sensors.xacro (must be changed)
    2. sensor_kit.xacro (must be changed)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-sensorsxacro","title":"1. sensors.xacro","text":"

    Resolves the positions of sensors with base_link as the parent frame and defines the positions and orientations based on sensors_calibration.yaml in individual_params.

    In Autoware, <YOUR_SENSOR_KIT_description>/config/sensors_calibration.yaml is not used.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#about-sensor_kit_base_link","title":"About sensor_kit_base_link","text":"

    A sensor_kit refers to a subset that includes multiple sensors, and sensor_kit_base_link is the name of its frame. The positions and orientations within the kit are defined in sensor_kit.xacro.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-sensor_kitxacro","title":"2. sensor_kit.xacro","text":"

    Resolves the positions of sensors with sensor_kit_base_link as the parent and defines the positions and orientations based on sensor_kit_calibration.yaml in individual_params.

    In Autoware, <YOUR_SENSOR_KIT_description>/config/sensor_kit_calibration.yaml is not used.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-individual_parameter","title":"3. individual_parameter","text":"

    The individual_parameter is where parameters referenced by sensors.xacro and sensor_kit.xacro are stored. As the name imply, it is intended to manage parameters for multiple individual instances.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#introduction-to-various-parameters","title":"Introduction to Various Parameters","text":"
    1. sensors_calibration.yaml (must be changed)
    2. sensor_kit_calibration.yaml (must be changed)
    3. imu_corrector.param.yaml
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-sensors_calibrationyaml","title":"1. sensors_calibration.yaml","text":"

    A file that defines the mounting positions and orientations of sensors with base_link as the parent frame.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-sensor_kit_calibrationyaml","title":"2. sensor_kit_calibration.yaml","text":"

    A file that defines the mounting positions and orientations of sensors with sensor_kit_base_link as the parent frame.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-imu_correctorparamyaml","title":"3. imu_corrector.param.yaml","text":"

    A file used by imu_corrector.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4-folder-structure","title":"4. Folder Structure","text":"

    Below is the default directory structure.

    individual_params/\n\u2514\u2500 config/\n     \u2514\u2500 default/\n          \u2514\u2500 sample_sensor_kit/\n               \u251c\u2500 imu_corrector.param.yaml\n               \u251c\u2500 sensor_kit_calibration.yaml\n               \u2514\u2500 sensors_calibration.yaml\n

    Copy and create a folder based on your YOUR_SENSOR_KIT name.

    individual_params/\n\u2514\u2500 config/\n     \u2514\u2500 default/\n-         \u2514\u2500 sample_sensor_kit/\n+         \u2514\u2500 <YOUR_SENSOR_KIT>/\n              \u251c\u2500 imu_corrector.param.yaml\n               \u251c\u2500 sensor_kit_calibration.yaml\n               \u2514\u2500 sensors_calibration.yaml\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#41-sample-usage","title":"4.1 Sample Usage","text":"

    Here is an example of managing parameters for multiple instances. Add a <vehicle_id> directory and switch parameters using options at startup.

    # example1 (do not set vehicle_id)\n$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR_SENSOR_KIT> vehicle_mode:=<your_vehicle_model>\n# example2 (set vehicle_id as VEHICLE_1)\n$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR_SENSOR_KIT> vehicle_mode:=<your_vehicle_model> vehicle_id:=VEHICLE_1\n# example3 (set vehicle_id as VEHICLE_2)\n$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR_SENSOR_KIT> vehicle_mode:=<your_vehicle_model> vehicle_id:=VEHICLE_2\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#sample-directory-structure","title":"Sample Directory Structure","text":"
    individual_params/\n\u2514\u2500 config/\n     \u251c\u2500 default/\n     \u2502   \u2514\u2500 <YOUR_SENSOR_KIT>/                  # example1\n     \u2502        \u251c\u2500 imu_corrector.param.yaml\n     \u2502        \u251c\u2500 sensor_kit_calibration.yaml\n     \u2502        \u2514\u2500 sensors_calibration.yaml\n+    \u251c\u2500 VEHICLE_1/\n+    \u2502   \u2514\u2500 <YOUR_SENSOR_KIT>/                  # example2\n+    \u2502        \u251c\u2500 imu_corrector.param.yaml\n+    \u2502        \u251c\u2500 sensor_kit_calibration.yaml\n+    \u2502        \u2514\u2500 sensors_calibration.yaml\n+    \u2514\u2500 VEHICLE_2/\n+         \u2514\u2500 <YOUR_SENSOR_KIT>/                  # example3\n+              \u251c\u2500 imu_corrector.param.yaml\n+              \u251c\u2500 sensor_kit_calibration.yaml\n+              \u2514\u2500 sensors_calibration.yaml\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4your_vehicle_launch","title":"4.YOUR_VEHICLE_launch","text":"

    YOUR_VEHICLE_launch is where the launch file for starting the drive system devices is stored.

    1. vehicle_interface.launch.xml (must be changed)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-vehicle_interfacelaunchxml","title":"1. vehicle_interface.launch.xml","text":"

    vehicle_interface.launch.xml is the launch file related to the drive system. Please modify it according to the configuration of your vehicle's drive system.

    If you are operating multiple vehicles, use the vehicle_id to switch to the corresponding configuration for each vehicle.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#5-your_sensor_kit_launch","title":"5. YOUR_SENSOR_KIT_launch","text":"

    YOUR_SENSOR_KIT_launch is where the launch files related to sensor startup are stored.

    1. sensing.launch.xml (must be changed)
    2. lidar.launch.xml (must be changed)
    3. camera.launch.xml
    4. imu.launch.xml (must be changed)
    5. gnss.launch.xml
    6. pointcloud_preprocessor.launch.py (must be changed)
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#1-sensinglaunchxml","title":"1. sensing.launch.xml","text":"

    sensing.launch.xml is the entry point that calls the launch files for all sensors. Modify it according to your sensor configuration.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#2-lidarlaunchxml","title":"2. lidar.launch.xml","text":"

    lidar.launch.xml is the launch file related to starting the LiDAR driver. Modify it according to your LiDAR configuration.

    In Autoware's initial configuration, it assumes converting the acquired data using pointcloud_preprocessor.launch.py.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#example-configuration-items","title":"Example Configuration Items","text":"
    • Setting the frame_id defined in YOUR_SENSOR_KIT_description.
    • Connection information for each device.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#3-cameralaunchxml","title":"3. camera.launch.xml","text":"

    camera.launch.xml is the launch file related to starting the camera driver.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#4-imulaunchxml","title":"4. imu.launch.xml","text":"

    imu.launch.xml is the launch file related to starting the IMU driver.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#5-gnsslaunchxml","title":"5. gnss.launch.xml","text":"

    gnss.launch.xml is the launch file related to starting the GNSS driver.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/#6-pointcloud_preprocessorlaunchpy","title":"6. pointcloud_preprocessor.launch.py","text":"

    pointcloud_preprocessor.launch.py is the launch file to convert the raw sensor data. For more information, please click here.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/","title":"Creating a vehicle interface for an Ackermann kinematic model","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#creating-a-vehicle-interface-for-an-ackermann-kinematic-model","title":"Creating a vehicle interface for an Ackermann kinematic model","text":"

    This page introduces a module vehicle interface and explains how to implement it.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#what-is-a-vehicle-interface","title":"What is a vehicle interface","text":"

    Vehicle interface is an interface that connects the control commands and your vehicle's control device. Autoware publishes control commands such as:

    • Velocity control
    • Steering control
    • Car light commands

    Then, the vehicle interface converts these commands into actuation such like:

    • Motor and brake activation
    • Steering wheel operation
    • Lighting control

    So think of the vehicle interface as a module that runs the vehicle's control device to realize the input commands provided by Autoware.

    An example of inputs and outputs for vehicle interface

    This page shows you a brief explanation how to implement your vehicle interface, but you can see further information of vehicle interface in the \"design\" page.

    Note that there is no package named \"vehicle interface\" prepared in Autoware. It is a necessary package to actuate your vehicle, but you have to create one by yourself since it is very specific to your vehicle's control device.

    For example, if you are using a by-wire kit PACMod, a vehicle interface named pacmod_interface published by TIER IV, Inc. is available. However, if you have constructed something original and haven't found an open source vehicle interface applicable, you have to implement your own vehicle interface from scratch.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#how-to-implement-a-vehicle-interface","title":"How to implement a vehicle interface","text":"

    The following instructions describe how to create a vehicle interface.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#1-create-a-directory-for-vehicle-interface","title":"1. Create a directory for vehicle interface","text":"

    It is recommended to create your vehicle interface at <your-autoware-dir>/src/vehicle/external

    cd <your-autoware-dir>/src/vehicle/external\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#2-install-or-implement-your-own-vehicle-interface","title":"2. Install or implement your own vehicle interface","text":"

    If there is an already complete vehicle interface package (like pacmod_interface), you can install it to your environment. If not, you have to implement your own vehicle interface by yourself. Let's create a new package by ros2 pkg create. The following example will show you how to create a vehicle interface package named my_vehicle_interface.

    ros2 pkg create --build-type ament_cmake my_vehicle_interface\n

    Then, you should write your implementation of vehicle interface in my_vehicle_interface/src. Again, since this implementation is so specific to the control device of your vehicle, it is beyond the scope of this document to describe how to implement your vehicle interface in detail. Here are some factors that might be considered.

    • Subscription of control command topics from Autoware
    • Communication between the vehicle interface and your vehicle's control device
    • Modification of control values if needed
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#3-prepare-a-launch-file","title":"3. Prepare a launch file","text":"

    After you implement your vehicle interface or you want to debug it by launching it, create a launch file of your vehicle interface, and include it to vehicle_interface.launch.xml.

    Do not get confused. First, you need to create a launch file for your own vehicle interface module (like my_vehicle_interface.launch.xml) and then include that to vehicle_interface.launch.xml which exists in another directory. Here are the details.

    1. Add a launch directory in the my_vehicle_interface directory, and create a launch file of your own vehicle interface in it. Take a look at Creating a launch file in the ROS 2 documentation.

    2. Next, go to <your-autoware-dir>/src/vehicle, copy the directory /sample_vehicle_launch/, and paste it to the same place (which means it should be lined up with external and sample_vehicle_launch).

    3. You have to rename each \"sample_vehicle\" to something else. For example, if you want to rename \"sample_vehicle\" to \"my_vehicle_name\", you need to change the following. Note that it is restricted to keep the \"_launch\" and \"_description\" part.

      • Rename the directories
        • sample_vehicle_launch \u2192 my_vehicle_name_launch
        • my_vehicle_name_launch/sample_vehicle_launch \u2192 my_vehicle_name_launch/my_vehicle_name_launch
        • my_vehicle_name_launch/sample_vehicle_description \u2192 my_vehicle_name_launch/my_vehicle_name_description
      • After you rename your directories, rename each \"sample_vehicle\" to \"my_vehicle_name\" in the source code.
        • my_vehicle_name_description/CMakeLists.txt
        • my_vehicle_name_description/package.xml
        • my_vehicle_name_description/urdf/vehicle.xacro (there are two parts)
        • my_vehicle_name_launch/CMakeLists.txt
        • my_vehicle_name_launch/package.xml
        • README.md
    4. Include your launch file to my_vehicle_name_launch/my_vehicle_name_launch/launch/vehicle_interface.launch.xml by opening it and add the include terms like below.

    vehicle_interface.launch.xml
    <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<launch>\n<arg name=\"vehicle_id\" default=\"$(env VEHICLE_ID default)\"/>\n\n<include file=\"$(find-pkg-share my_vehicle_interface)/launch/my_vehicle_interface.launch.xml\">\n</include>\n</launch>\n

    Finally, your directory structure may look like below. Most of the files are omitted for clarity, but the files shown here needs modification as said in the previous and current process.

    <your-autoware-dir>/\n\u2514\u2500 src/\n    \u2514\u2500 vehicle/\n        \u251c\u2500 external/\n+       \u2502   \u2514\u2500 my_vehicle_interface/\n+       \u2502       \u251c\u2500 src/\n+       \u2502       \u2514\u2500 launch/\n+       \u2502            \u2514\u2500 my_vehicle_interface.launch.xml\n       \u251c\u2500 sample_vehicle_launch/\n+       \u2514\u2500 my_vehicle_name_launch/ (COPIED FROM sample_vehicle_launch)\n+           \u251c\u2500 my_vehicle_name_launch/\n+           \u2502  \u251c\u2500 launch/\n+           \u2502  \u2502  \u2514\u2500 vehicle_interface.launch.xml\n+           \u2502  \u251c\u2500 CMakeLists.txt\n+           \u2502  \u2514\u2500 package.xml\n+           \u251c\u2500 my_vehicle_name_description/\n+           \u2502  \u251c\u2500 config/\n+           \u2502  \u251c\u2500 mesh/\n+           \u2502  \u251c\u2500 urdf/\n+           \u2502  \u2502  \u2514\u2500 vehicle.xacro\n+           \u2502  \u251c\u2500 CMakeLists.txt\n+           \u2502  \u2514\u2500 package.xml\n+           \u2514\u2500 README.md\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#4-build-the-vehicle-interface-package-and-the-launch-package","title":"4. Build the vehicle interface package and the launch package","text":"

    Build three packages my_vehicle_interface, my_vehicle_name_launch and my_vehicle_name_description by colcon build, or you can just build the entire Autoware if you have done other things.

    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select my_vehicle_interface my_vehicle_name_launch my_vehicle_name_description\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#5-when-you-launch-autoware","title":"5. When you launch Autoware","text":"

    Finally, you are done implementing your vehicle interface module! Be careful that you need to launch Autoware with the proper vehicle_model option like the example below. This example is launching planning simulator.

    ros2 launch autoware_launch planning.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=my_vehicle_name sensor_model:=sample_sensor_kit\n
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#tips","title":"Tips","text":"

    There are some tips that may help you.

    • You can subdivide your vehicle interface into smaller packages if you want. Then your directory structure may look like below (not the only way though). Do not forget to launch all packages in my_vehicle_interface.launch.xml.

      <your-autoware-dir>/\n\u2514\u2500 src/\n    \u2514\u2500 vehicle/\n        \u251c\u2500 external/\n        \u2502   \u2514\u2500 my_vehicle_interface/\n        \u2502       \u251c\u2500 src/\n        \u2502       \u2502   \u251c\u2500 package1/\n        \u2502       \u2502   \u251c\u2500 package2/\n        \u2502       \u2502   \u2514\u2500 package3/\n        \u2502       \u2514\u2500 launch/\n        \u2502            \u2514\u2500 my_vehicle_interface.launch.xml\n        \u251c\u2500 sample_vehicle_launch/\n        \u2514\u2500 my_vehicle_name_launch/\n
    • If you are using a vehicle interface and launch package from a open git repository, or created your own as a git repository, it is highly recommended to add those repositories to your autoware.repos file which is located to directly under your autoware folder like the example below. You can specify the branch or commit hash by the version tag.

      autoware.repos
      # vehicle (this section should be somewhere in autoware.repos and add the below)\nvehicle/my_vehicle_name_launch:\ntype: git\nurl: https://github.com/<repository-name-A>/my_vehicle_name_launch.git\nversion: main\nvehicle/external/my_vehicle_interface:\ntype: git\nurl: https://github.com/<repository-name-B>/my_vehicle_interface.git\nversion: main\n

      Then you can import your entire environment easily to another local device by using the vcs import command. (See the source installation guide)

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#ackermann-kinematic-model","title":"Ackermann kinematic model","text":"

    Autoware now supports control inputs for vehicles based on an Ackermann kinematic model. This section introduces you a brief concept of Ackermann kinematic model and explains how Autoware controls it.

    • If your vehicle does not suit the Ackermann kinematic model, you have to modified the control commands. Another document gives you an example how to convert your Ackermann kinematic model control inputs into a differential drive model.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#geometry","title":"Geometry","text":"

    The basic style of Ackermann kinematic model has four wheels with an Ackermann link on the front, and it is powered by the rear wheels. The key point of Ackermann kinematic model is that the axes of all wheels intersect at a same point, which means all wheels will trace a circular trajectory with a different radii but a common center point (See the figure below). Therefore, this model has a great advantage that it minimizes the slippage of the wheels, and prevent tires to get worn soon.

    In general, Ackermann kinematic model accepts the longitudinal speed \\(v\\) and the steering angle \\(\\phi\\) as inputs. In autoware, \\(\\phi\\) is positive if it is steered counter clockwise, so the steering angle in the figure below is actually negative.

    The basic style of an Ackermann kinematic model. The left figure shows a vehicle facing straight forward, while the right figure shows a vehicle steering to the right."},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/#control","title":"Control","text":"

    Autoware publishes a ROS 2 topic named control_cmd from several types of publishers. A control_cmd topic is a AckermannControlCommand type message that contains

    AckermannControlCommand
      builtin_interfaces/Time stamp\n  autoware_auto_control_msgs/AckermannLateralCommand lateral\n  autoware_auto_control_msgs/LongitudinalCommand longitudinal\n

    where,

    AckermannLateralCommand
      builtin_interfaces/Time stamp\n  float32 steering_tire_angle\n  float32 steering_tire_rotation_rate\n
    LongitudinalCommand
      builtin_interfaces/Time stamp\n  float32 speed\n  float32 accelaration\n  float32 jerk\n

    See the AckermannLateralCommand.idl and LongitudinalCommand.idl for details.

    The vehicle interface should realize these control commands through your vehicle's control device.

    Moreover, Autoware also provides brake commands, light commands, and more (see vehicle interface design), so the vehicle interface module should be applicable to these commands as long as there are devices available to handle them.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/","title":"Customizing for differential drive vehicle","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#customizing-for-differential-drive-vehicle","title":"Customizing for differential drive vehicle","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#1-introduction","title":"1. Introduction","text":"

    Currently, Autoware assumes that vehicles use an Ackermann kinematic model with Ackermann steering. Thus, Autoware adopts the Ackermann command format for the Control module's output (see the AckermannDrive ROS message definition for an overview of Ackermann commands, and the AckermannControlCommands struct used in Autoware for more details).

    However, it is possible to integrate Autoware with a vehicle that follows a differential drive kinematic model, as commonly used by small mobile robots.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#2-procedure","title":"2. Procedure","text":"

    One simple way of using Autoware with a differential drive vehicle is to create a vehicle_interface package that translates Ackermann commands to differential drive commands. Here are two points that you need to consider:

    • Create vehicle_interface package for differential drive vehicle
    • Set an appropriate wheel_base
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#21-create-a-vehicle_interface-package-for-differential-drive-vehicle","title":"2.1 Create a vehicle_interface package for differential drive vehicle","text":"

    An Ackermann command in Autoware consists of two main control inputs:

    • steering angle (\\(\\omega\\))
    • velocity (\\(v\\))

    Conversely, a typical differential drive command consists of the following inputs:

    • left wheel velocity (\\(v_l\\))
    • right wheel velocity (\\(v_r\\))

    So, one way in which an Ackermann command can be converted to a differential drive command is by using the following equations:

    \\[ v_l = v - \\frac{l\\omega}{2}, v_r = v + \\frac{l\\omega}{2} \\]

    where \\(l\\) denotes wheel tread.

    For information about other factors that need to be considered when creating a vehicle_interface package, refer to the vehicle_interface component page.

    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#22-set-an-appropriate-wheel_base","title":"2.2 Set an appropriate wheel_base","text":"

    A differential drive robot does not necessarily have front and rear wheels, which means that the wheelbase (the horizontal distance between the axles of the front and rear wheels) cannot be defined. However, Autoware expects wheel_base to be set in vehicle_info.param.yaml with some value. Thus, you need to set a pseudo value for wheel_base.

    The appropriate pseudo value for wheel_base depends on the size of your vehicle. Setting it to be the same value as wheel_tread is one possible choice.

    Warning

    • If the wheel_base value is set too small then the vehicle may behave unexpectedly. For example, the vehicle may drive beyond the bounds of a calculated path.
    • Conversely, if wheel_base is set too large, the vehicle's range of motion will be restricted. The reason being that Autoware's Planning module will calculate an overly conservative trajectory based on the assumed vehicle length.
    "},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#3-known-issues","title":"3. Known issues","text":""},{"location":"how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/#motion-model-incompatibility","title":"Motion model incompatibility","text":"

    Since Autoware assumes that vehicles use a steering system, it is not possible to take advantage of the flexibility of a differential drive system's motion model.

    For example, when planning a parking maneuver with the freespace_planner module, Autoware may drive the differential drive vehicle forward and backward, even if the vehicle can be parked with a simpler trajectory that uses pure rotational movement.

    "},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/","title":"Creating Autoware meta-repository","text":""},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#creating-autoware-meta-repository","title":"Creating Autoware meta-repository","text":""},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#what-is-meta-repository","title":"What is Meta-repository?","text":"

    A meta-repository is a repository that manages multiple repositories, and Autoware is one of them. It serves as a centralized control point for referencing, configuring, and versioning other repositories.

    By using Ansible and VCS, you can automatically set up your Autoware. autoware.repos file manages the configuration of multiple repositories.

    Note: VCS stands for Version Control System, such as Git or Subversion.

    "},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#how-to-create-and-customize-your-autoware-meta-repository","title":"How to create and customize your autoware meta-repository","text":""},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#1-create-autoware-repository","title":"1. Create autoware repository","text":"

    If you want to integrate Autoware into your vehicle, the first step is to create an Autoware meta-repository.

    One easy way is to fork autowarefoundation/autoware and clone it. For how to fork a repository, refer to GitHub Docs.

    git clone https://github.com/YOUR_NAME/autoware.git\n

    If you set up multiple types of vehicles, adding a suffix like autoware.vehicle_A or autoware.vehicle_B is recommended

    "},{"location":"how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/#2-customize-your-autowarerepos-for-your-environment","title":"2. Customize your autoware.repos for your environment","text":"

    You need to customize autoware.repos for your own vehicle's Autoware.

    For example, if you want to customize the parameters in your individual_params or autoware_launch package to fit your vehicle, you can modify the configuration of each package and use them accordingly.

    Please edit the parameters in Autoware's autoware_individual_params and autoware_launch packages to match your vehicle's specific requirements, as these packages provide sample parameters and may not be tailored to your vehicle by default.

    If you want to fork autoware_individual_params and make modifications, it would be as follows:

    Example: If you fork individual_params and rename autoware_individual_params.vehicle_A:

    - param/autoware_individual_params:\n-   type: git\n-   url: https://github.com/autowarefoundation/autoware_individual_params\n-   version: main\n+ param/autoware_individual_params.vehicle_A:\n+   type: git\n+   url: https://github.com/YOUR_NAME/autoware_individual_params.vehicle_A\n+   version: main\n

    Please refer to the following documentation link for instructions on how to create and customize each vehicle_interface:

    • creating-vehicle-and-sensor-description
    • creating-vehicle-interface-package
    • customizing-for-differential-drive-model

    Please remember to add all your custom packages, such as interfaces and descriptions, to your autoware.repos to ensure that your packages are properly included and managed within the Autoware repository.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/","title":"Launch Autoware","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/#launch-autoware","title":"Launch Autoware","text":"

    Warning

    Under Construction

    This section explains how to run your vehicle with Autoware.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#install-autoware","title":"Install Autoware","text":"

    Follow the installation steps of Autoware.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#launch-autoware_1","title":"Launch Autoware","text":"

    Launch Autoware with the following command:

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP\n

    It is possible to specify which components to launch using command-line arguments. For example, if you don't need to launch perception, planning, and control for localization debug, you can launch the following:

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \\\nlaunch_perception:=false \\\nlaunch_planning:=false \\\nlaunch_control:=false\n

    The basic command-line options are documented in autoware.launch.xml.

    There are options available to switch between different methods for some component. For example, by specifying pose_source/twist_source or perception_mode, you can switch localization and perception methods, respectively. These options allow you to choose the desired algorithms or sensor configurations for the respective functionalities.

    For options on eagleye component, please refer to the sub-pages.

    • localization-mode
    • perception-mode
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#set-initial-pose","title":"Set initial pose","text":"

    If GNSS is available, Autoware automatically initializes the vehicle's pose.

    If not or if the automatic initialization returns an incorrect position, you need to set the initial pose using the RViz GUI.

    1. Click the 2D Pose estimate button in the toolbar, or hit the P key

    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the initial pose.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#set-goal-pose","title":"Set goal pose","text":"

    Set a goal pose for the ego vehicle.

    1. Click the 2D Nav Goal button in the toolbar, or hit the G key

    2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the goal pose. If successful, you will see the calculated planning path on RViz.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/#engage","title":"Engage","text":"

    In your terminal, execute the following command.

    source ~/autoware.YOURS/install/setup.bash\nros2 topic pub /autoware.YOURS/engage autoware_auto_vehicle_msgs/msg/Engage \"engage: true\" -1\n

    You can also engage via RViz with \"AutowareStatePanel\". The panel can be found in Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel.

    Once the route is computed, the \"AUTO\" button becomes active. Pressing the AUTO button engages the autonomous driving mode.

    Now the vehicle should drive along the calculated path!

    During the autonomous driving, the StatePanel appears as shown in the image below. Pressing the \"STOP\" button allows you to stop the vehicle.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/","title":"Perception mode","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#perception-mode","title":"Perception mode","text":"

    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.

    ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \\\nperception_mode:=lidar\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#lidar","title":"LiDAR","text":"

    perception_mode:=lidar

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#radar","title":"Radar","text":"

    perception_mode:=radar

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#camera-lidar-fusion","title":"Camera LiDAR fusion","text":"

    perception_mode:=camera_lidar_fusion

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#camera-lidar-radar-fusion","title":"Camera LiDAR Radar fusion","text":"

    perception_mode:=camera_lidar_radar_fusion

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/perception/#lidar-radar-fusion","title":"LiDAR Radar fusion","text":"

    perception_mode:=lidar_radar_fusion

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/","title":"Localization methods","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#localization-methods","title":"Localization methods","text":"

    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 supporting ndt (default), yabloc, and eagleye
    • twist_source : an argument to select twist_estimator, currently supporting gyro_odom (default), and eagleye
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#ndt-scan-matcher-a-lidar-and-pointcloud-map-based-pose-estimator-default","title":"NDT scan matcher: a LiDAR and pointcloud map based pose estimator (default)","text":"

    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 ...\n

    Note that currently pose_source is set to NDT as default, so you can skip this argument.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#gyro-odometer-an-imu-wheel-odometry-based-twist-estimator-default","title":"Gyro Odometer: an IMU & wheel odometry based twist estimator (default)","text":"

    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 ...\n

    Note that currently twist_source is set to Gyro Odometer as default, so you can skip this argument.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#yabloc-a-camera-and-vector-map-based-pose-estimator","title":"YabLoc: a camera and vector map based pose estimator","text":"

    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 ...\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/#eagleye-a-gnss-imu-wheel-odometry-based-pose-and-twist-estimator","title":"Eagleye: a GNSS & IMU & wheel odometry based pose and twist estimator","text":"

    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 ...\n

    Example of using Eagleye as the twist estimator:

    ros2 launch autoware_launch autoware.launch.xml ... twist_source:=eagleye ...\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/","title":"Eagleye","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#using-eagleye-with-autoware","title":"Using Eagleye with Autoware","text":"

    This page will show you how to set up Eagleye in order to use it with Autoware. For the details of the integration proposal, please refer to this discussion.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#what-is-eagleye","title":"What is Eagleye?","text":"

    Eagleye is an open-source GNSS/IMU-based localizer initially developed by MAP IV. Inc. It provides a cost-effective alternative to LiDAR and point cloud-based localization by using low-cost GNSS and IMU sensors to provide vehicle position, orientation, and altitude information.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#dependencies","title":"Dependencies","text":"

    The below packages are automatically installed during the setup of Autoware as they are listed in autoware.repos.

    1. Eagleye (autoware-main branch)
    2. RTKLIB ROS Bridge (ros2-v0.1.0 branch)
    3. LLH Converter (ros2 branch)
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#architecture","title":"Architecture","text":"

    Eagleye can be utilized in the Autoware localization stack in two ways:

    1. Feed only twist into the EKF localizer.

    2. Feed both twist and pose from Eagleye into the EKF localizer (twist can also be used with regular gyro_odometry).

    Note: RTK positioning is required when using Eagleye as the pose estimator. On the other hand, it is not mandatory when using it as the twist estimator.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#requirements","title":"Requirements","text":"

    Eagleye requires GNSS, IMU and vehicle speed as inputs.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#imu-topic","title":"IMU topic","text":"

    sensor_msgs/msg/Imu is supported for Eagleye IMU input.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#vehicle-speed-topic","title":"Vehicle speed topic","text":"

    geometry_msgs/msg/TwistStamped and geometry_msgs/msg/TwistWithCovarianceStamped are supported for the input vehicle speed.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#gnss-topic","title":"GNSS topic","text":"

    Eagleye requires latitude/longitude height and doppler velocity generated by the GNSS receiver. Your GNSS ROS driver must publish the following messages:

    • sensor_msgs/msg/NavSatFix: This message contains latitude, longitude, and height information.
    • geometry_msgs/msg/TwistWithCovarianceStamped: This message contains gnss doppler velocity information.

      Eagleye has been tested with the following example GNSS ROS drivers: ublox_gps and septentrio_gnss_driver. The settings needed for each of these drivers are as follows:

    GNSS ROS drivers modification ublox_gps No additional settings are required. It publishes sensor_msgs/msg/NavSatFix and geometry_msgs/msg/TwistWithCovarianceStamped required by Eagleye with default settings. septentrio_gnss_driver Set publish.navsatfix and publish.twist in the config file gnss.yaml to true"},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#parameter-modifications-for-integration-into-your-vehicle","title":"Parameter Modifications for Integration into Your Vehicle","text":""},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#topic-name-topic-type","title":"topic name & topic type","text":"

    The users must correctly specify input topics for GNSS latitude, longitude, and height , GNSS doppler speed , IMU , and vehicle speed in the eagleye_config.yaml.

    # Topic\ntwist:\ntwist_type: 1 # TwistStamped : 0, TwistWithCovarianceStamped: 1\ntwist_topic: /sensing/vehicle_velocity_converter/twist_with_covariance\nimu_topic: /sensing/imu/tamagawa/imu_raw\ngnss:\nvelocity_source_type: 2 # rtklib_msgs/RtklibNav: 0, nmea_msgs/Sentence: 1, ublox_msgs/NavPVT: 2, geometry_msgs/TwistWithCovarianceStamped: 3\nvelocity_source_topic: /sensing/gnss/ublox/navpvt\nllh_source_type: 2 # rtklib_msgs/RtklibNav: 0, nmea_msgs/Sentence: 1, sensor_msgs/NavSatFix: 2\nllh_source_topic: /sensing/gnss/ublox/nav_sat_fix\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#sensor-frequency","title":"sensor frequency","text":"

    Also, the frequency of GNSS and IMU must be set in eagleye_config.yaml

    common:\nimu_rate: 50\ngnss_rate: 5\n
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#conversion-from-fix-to-pose","title":"Conversion from fix to pose","text":"

    The parameters for converting sensor_msgs/msg/NavSatFix to geometry_msgs/msg/PoseWithCovarianceStamped is listed in fix2pose.yaml. If you use a different geoid or projection type, change these parameters.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#other-parameters","title":"Other parameters","text":"

    The other parameters are described here. Basically, these do not need to be changed .

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#notes-on-initialization","title":"Notes on initialization","text":"

    Eagleye requires an initialization process for proper operation. Without initialization, the output for twist will be in the raw value, and the pose data will not be available.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#1-static-initialization","title":"1. Static Initialization","text":"

    The first step is static initialization, which involves allowing the Eagleye to remain stationary for approximately 5 seconds after startup to estimate the yaw-rate offset.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#2-dynamic-initialization","title":"2. Dynamic initialization","text":"

    The next step is dynamic initialization, which involves running the Eagleye in a straight line for approximately 30 seconds. This process estimates the scale factor of wheel speed and azimuth angle.

    Once dynamic initialization is complete, the Eagleye will be able to provide corrected twist and pose data.

    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#how-to-check-the-progress-of-initialization","title":"How to check the progress of initialization","text":"
    • TODO
    "},{"location":"how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/#note-on-georeferenced-maps","title":"Note on georeferenced maps","text":"

    Note that the output position might not appear to be in the point cloud maps if you are using maps that are not properly georeferenced. In the case of a single GNSS antenna, initial position estimation (dynamic initialization) can take several seconds to complete after starting to run in an environment where GNSS positioning is available.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/","title":"Evaluating the controller performance","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#evaluating-the-controller-performance","title":"Evaluating the controller performance","text":"

    This page shows how to use control_performance_analysis package to evaluate the controllers.

    control_performance_analysis is the package to analyze the tracking performance of a control module and monitor the driving status of the vehicle.

    If you need more detailed information about package, refer to the control_performance_analysis.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#how-to-use","title":"How to use","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#before-driving","title":"Before Driving","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#1-firstly-you-need-to-launch-autoware-you-can-also-use-this-tool-with-real-vehicle-driving","title":"1. Firstly you need to launch Autoware. You can also use this tool with real vehicle driving","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#2-initialize-the-vehicle-and-send-goal-position-to-create-route","title":"2. Initialize the vehicle and send goal position to create route","text":"
    • If you have any problem with launching Autoware, please see the tutorials page.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#3-launch-the-control_performance_analysis-package","title":"3. Launch the control_performance_analysis package","text":"
    ros2 launch control_performance_analysis controller_performance_analysis.launch.xml\n
    • After this command, you should be able to see the driving monitor and error variables in topics.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#4-run-the-plotjuggler-in-sourced-terminal","title":"4. Run the PlotJuggler in sourced terminal","text":"
    source ~/autoware/install/setup.bash\n
    ros2 run plotjuggler plotjuggler\n
    • If you do not have PlotJuggler in your computer, please refer here for installation guideline.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#5-increase-the-buffer-size-maximum-is-100-and-import-the-layout-from-autowareuniversecontrolcontrol_performance_analysisconfigcontroller_monitorxml","title":"5. Increase the buffer size (maximum is 100), and import the layout from /autoware.universe/control/control_performance_analysis/config/controller_monitor.xml","text":"
    • After import the layout, please specify the topics that are listed below.
    • /localization/kinematic_state
    • /vehicle/status/steering_status
    • /control_performance/driving_status
    • /control_performance/performance_vars
    • Please mark the If present, use the timestamp in the field [header.stamp] box, then select the OK.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#6-now-you-can-start-to-driving-you-should-see-all-the-performance-and-driving-variables-in-plotjuggler","title":"6. Now, you can start to driving. You should see all the performance and driving variables in PlotJuggler","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#after-driving","title":"After Driving","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#1-you-can-export-the-statistical-output-and-all-data-to-compare-and-later-usage","title":"1. You can export the statistical output and all data to compare and later usage","text":"
    • With statistical data, you can export the all statistical values like (min, max, average) to compare the controllers.
    • You can also export all data to later use. To investigate them again, after launch PlotJuggler, import the .cvs file from data section.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/#tips","title":"Tips","text":"
    • You can plot the vehicle position. Select the two curve (keeping CTRL key pressed) and Drag & Drop them using the RIGHT Mouse button. Please visit the Help -> Cheatsheet in PlotJuggler to see more tips about it.
    • If you see too much noised curve in plots, you can adjust the odom_interval and low_pass_filter_gain from here to avoid noised data.
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/","title":"Evaluating real-time performance","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#evaluating-real-time-performance","title":"Evaluating real-time performance","text":""},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#introduction","title":"Introduction","text":"

    Autoware should be real-time system when integrated to a service. Therefore, the response time of each callback should be as small as possible. If Autoware appears to be slow, it is imperative to conduct performance measurements and implement improvements based on the analysis. However, Autoware is a complex software system comprising numerous ROS 2 nodes, potentially complicating the process of identifying bottlenecks. To address this challenge, we will discuss methods for conducting detailed performance measurements for Autoware and provide case studies. It is worth noting that multiple factors can contribute to poor performance, such as scheduling and memory allocation in the OS layer, but our focus in this page will be on user code bottlenecks. The outline of this section is as follows:

    • Performance measurement
      • Single node execution
      • Prepare separated cores
      • Run single node separately
      • Measurement and visualization
    • Case studies
      • Sensing component
      • Planning component
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#performance-measurement","title":"Performance measurement","text":"

    Improvement is impossible without precise measurements. To measure the performance of the application code, it is essential to eliminate any external influences. Such influences include interference from the operating system and CPU frequency fluctuations. Scheduling effects also occur when core resources are shared by multiple threads. This section outlines a technique for accurately measuring the performance of the application code for a specific node. Though this section only discusses the case of Linux on Intel CPUs, similar considerations should be made in other environments.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#single-node-execution","title":"Single node execution","text":"

    To eliminate the influence of scheduling, the node being measured should operate independently, using the same logic as when the entire Autoware system is running. To accomplish this, record all input topics of the node to be measured while the whole Autoware system is running. To achieve this objective, a tool called ros2_single_node_replayer has been prepared.

    Details on how to use the tool can be found in the README. This tool records the input topics of a specific node during the entire Autoware operation and replays it in a single node with the same logic. The tool relies on the ros2 bag record command, and the recording of service/action is not supported as of ROS 2 Humble, so nodes that use service/action as their main logic may not work well.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#prepare-separated-cores","title":"Prepare separated cores","text":"

    Isolated cores running the node to be measured must meet the following conditions.

    • Fix CPU frequency and disable turbo boost
    • Minimize timer interruptions
    • Offload RCU (Read Copy Update) callback
    • Isolate the paired core if hyper-threading enabled

    To fulfill these conditions on Linux, a custom kernel build with the following kernel configurations is required. You can find many resources to instruct you on how to build a custom Linux kernel (like this one). Note that even if full tickless is enabled, timer interrupts are generated for scheduling if more than two tasks exist in one core.

    # Enable CONFIG_NO_HZ_FULL\n-> General setup\n-> Timers subsystem\n-> Timer tick handling (Full dynticks system (tickless))\n(X) Full dynticks system (tickless)\n\n# Allows RCU callback processing to be offloaded from selected CPUs\n# (CONFIG_RCU_NOCB_CPU=y)\n-> General setup\n-> RCU Subsystem\n-*- Offload RCU callback processing from boot-selected CPUs\n

    Additionally, the kernel boot parameters need to be set as follows.

    GRUB_CMDLINE_LINUX_DEFAULT=\n  \"... isolcpus=2,8 rcu_nocbs=2,8 rcu_nocb_poll nohz_full=2,8 intel_pstate=disable\u201d\n

    In the above configuration, for example, the node to be measured is assumed to run on core 2, and core 8, which is a hyper-threading pair, is also being isolated. Appropriate decisions on which cores to run the measurement target and which nodes to isolate need to be made based on the cache and core layout of the measurement machine. You can easily check if it is properly configured by running cat /proc/softirqs. Since intel_pstate=disable is specified in the kernel boot parameter, userspace can be specified in the scaling governor.

    cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor // ondemand\nsudo sh -c \"echo userspace > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor\"\n

    This allows you to freely set the desired frequency within a defined range.

    sudo sh -c \"echo <freq(kz)> > /sys/devices/system/cpu/cpu2/cpufreq/scaling_setspeed\"\n

    Turbo Boost needs to be switched off on Intel CPUs, which is often overlooked.

    sudo sh -c \"echo 0 > /sys/devices/system/cpu/cpufreq/boost\"\n
    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#run-single-node-separately","title":"Run single node separately","text":"

    Following the instructions in the ros2_single_node_replayer README, start the node and play the dedicated rosbag created by the tool. Before playing the rosbag, appropriately set the CPU affinity of the thread on which the node runs, so it is placed on the isolated core prepared.

    taskset --cpu-list -p <target cpu> <pid>\n

    To avoid interference in the last level cache, minimize the number of other applications running during the measurement.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#measurement-and-visualization","title":"Measurement and visualization","text":"

    To visualize the performance of the measurement target, embed code for logging timestamps and performance counter values in the target source code. To achieve this objective, a tool called pmu_analyzer has been prepared.

    Details on how to use the tool can be found in the README. This tool can measure the turnaround time of any section in the source code, as well as various performance counters.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#case-studies","title":"Case studies","text":"

    In this section, we will present several case studies that demonstrate the performance improvements. These examples not only showcase our commitment to enhancing the system's efficiency but also serve as a valuable resource for developers who may face similar challenges in their own projects. The performance improvements discussed here span various components of the Autoware system, including sensing modules and planning modules. There are tendencies for each component regarding which points are becoming bottlenecks. By examining the methods, techniques, and tools employed in these case studies, readers can gain a better understanding of the practical aspects of optimizing complex software systems like Autoware.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#sensing-component","title":"Sensing component","text":"

    First, we will explain the procedure for performance improvement, taking the node ring_outlier_filter as an example. Refer to the Pull Request for details.

    The following figure is a time-series plot of the turnaround time of the main processing part of ring_outlier_filter, analyzed as described in the \"Performance Measurement\" section above.

    The horizontal axis indicates the number of callbacks called (i.e., callback index), and the vertical axis indicates the turnaround time.

    When analyzing the performance of the sensing module from the viewpoint of performance counter, pay attention to instructions, LLC-load-misses, LLC-store-misses, cache-misses, and minor-faults.

    Analysis of the performance counter shows that the largest fluctuations come from minor-faults (i.e., soft page faults), the second largest from LLC-store-misses and LLC-load-misses (i.e., cache misses in the last level cache), and the slowest fluctuations come from instructions (i.e., message data size fluctuations). For example, when we plot minor-faults on the horizontal axis and turnaround time on the vertical axis, we can see the following dominant proportional relationship.

    To achieve zero soft page faults, heap allocations must only be made from areas that have been first touched in advance. We have developed a library called heaphook to avoid soft page faults while running Autoware callback. If you are interested, refer to the GitHub discussion and the issue.

    To reduce LLC misses, it is necessary to reduce the working set and to use cache-efficient access patterns.

    In the sensing component, which handles large message data such as LiDAR point cloud data, minimizing copying is important. A callback that takes sensor data message types as input and output should be written in an in-place algorithm as much as possible. This means that in the following pseudocode, when generating output_msg from input_msg, it is crucial to avoid using buffers as much as possible to reduce the number of memory copies.

    void callback(const PointCloudMsg &input_msg) {\nauto output_msg = allocate_msg<PointCloudMsg>(output_size);\nfill(input_msg, output_msg);\npublish(std::move(output_msg));\n}\n

    To improve cache efficiency, implement an in-place style as much as possible, instead of touching memory areas sporadically. In ROS applications using PCL, the code shown below is often seen.

    void callback(const sensor_msgs::PointCloud2ConstPtr &input_msg) {\npcl::PointCloud<PointT>::Ptr input_pcl(new pcl::PointCloud<PointT>);\npcl::fromROSMsg(*input_msg, *input_pcl);\n\n// Algorithm is described for point cloud type of pcl\npcl::PointCloud<PointT>::Ptr output_pcl(new pcl::PointCloud<PointT>);\nfill_pcl(*input_pcl, *output_pcl);\n\nauto output_msg = allocate_msg<sensor_msgs::PointCloud2>(output_size);\npcl::toROSMsg(*output_pcl, *output_msg);\npublish(std::move(output_msg));\n}\n

    To use the PCL library, fromROSMsg() and toROSMsg() are used to perform message type conversion at the beginning and end of the callback. This is a wasteful copying process and should be avoided. We should eliminate unnecessary type conversions by removing dependencies on PCL (e.g., https://github.com/tier4/velodyne_vls/pull/39). For large message types such as map data, there should be only one instance in the entire system in terms of physical memory.

    "},{"location":"how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/#planning-component","title":"Planning component","text":"

    First, we will pick up detection_area module in behavior_velocity_planner node, which tends to have long turnaround time. We have followed the performance analysis steps above to obtain the following graph. Axises are the same as the graphs in the sensing case study.

    Using pmu_analyzer tool to further identify the bottleneck, we have found that the following multiple loops were taking up a lot of processing time:

    for ( area : detection_areas )\nfor ( point : point_clouds )\nif ( boost::geometry::within(point, area) )\n// do something with O(1)\n

    It checks whether each point cloud is contained in each detection area. Let N be the size of point_clouds and M be the size of detection_areas, then the computational complexity of this program is O(N^2 * M), since the complexity of within is O(N). Here, given that most of the point clouds are located far away from a certain detection area, a certain optimization can be achieved. First, calculate the minimum enclosing circle that completely covers the detection area, and then check whether the points are contained in that circle. Most of the point clouds can be quickly ruled out by this method, we don\u2019t have to call the within function in most cases. Below is the pseudocode after optimization.

    for ( area : detection_areas )\ncircle = calc_minimum_enclosing_circle(area)\nfor ( point : point_clouds )\nif ( point is in circle )\nif ( boost::geometry::within(point, area) )\n// do something with O(1)\n

    By using O(N) algorithm for minimum enclosing circle, the computational complexity of this program is reduced to almost O(N * (N + M)) (note that the exact computational complexity does not really change). If you are interested, refer to the Pull Request.

    Similar to this example, in the planning component, we take into consideration thousands to tens of thousands of point clouds, thousands of points in a path representing our own route, and polygons representing obstacles and detection areas in the surroundings, and we repeatedly create paths based on them. Therefore, we access the contents of the point clouds and paths multiple times using for-loops. In most cases, the bottleneck lies in these naive for-loops. Here, understanding Big O notation and reducing the order of computational complexity directly leads to performance improvements.

    "},{"location":"how-to-guides/others/add-a-custom-ros-message/","title":"Add a custom ROS message","text":""},{"location":"how-to-guides/others/add-a-custom-ros-message/#add-a-custom-ros-message","title":"Add a custom ROS message","text":""},{"location":"how-to-guides/others/add-a-custom-ros-message/#overview","title":"Overview","text":"

    During the Autoware development, you will probably need to define your own messages. Read the following instructions before adding a custom message.

    1. Message in autoware_msgs define interfaces of Autoware Core.

      • If a contributor wishes to make changes or add new messages to autoware_msgs, they should first create a new discussion post under the Design category.
    2. Any other minor or proposal messages used for internal communication within a component(such as planning) should be defined in another repository.

      • tier4_autoware_msgs is an example of that.

    The following is a simple tutorial of adding a message package to autoware_msgs. For the general ROS 2 tutorial, see Create custom msg and srv files.

    "},{"location":"how-to-guides/others/add-a-custom-ros-message/#how-to-create-custom-message","title":"How to create custom message","text":"

    Make sure you are in the Autoware workspace, and then run the following command to create a new package. As an example, let's create a package to define sensor messages.

    1. Create a package

      cd ./src/core/autoware_msgs\nros2 pkg create --build-type ament_cmake autoware_sensing_msgs\n
    2. Create custom messages

      You should create .msg files and place them in the msg directory.

      NOTE: The initial letters of the .msg and .srv files must be capitalized.

      As an example, let's make .msg files GnssInsOrientation.msg and GnssInsOrientationStamped.msg to define GNSS/INS orientation messages:

      mkdir msg\ncd msg\ntouch GnssInsOrientation.msg\ntouch GnssInsOrientationStamped.msg\n

      Edit GnssInsOrientation.msg with your editor to be the following content:

      geometry_msgs/Quaternion orientation\nfloat32 rmse_rotation_x\nfloat32 rmse_rotation_y\nfloat32 rmse_rotation_z\n

      In this case, the custom message uses a message from another message package geometry_msgs/Quaternion.

      Edit GnssInsOrientationStamped.msg with your editor to be the following content:

      std_msgs/Header header\nGnssInsOrientation orientation\n

      In this case, the custom message uses a message from another message package std_msgs/Header.

    3. Edit CMakeLists.txt

      In order to use this custom message in C++ or Python languages, we need to add the following lines to CMakeList.txt:

      rosidl_generate_interfaces(${PROJECT_NAME}\n\"msg/GnssInsOrientation.msg\"\n\"msg/GnssInsOrientationStamped.msg\"\nDEPENDENCIES\ngeometry_msgs\nstd_msgs\nADD_LINTER_TESTS\n)\n

      The ament_cmake_auto tool is very useful and is more widely used in Autoware, so we recommend using ament_cmake_auto instead of ament_cmake.

      We need to replace

      find_package(ament_cmake REQUIRED)\n\nament_package()\n

      with

      find_package(ament_cmake_auto REQUIRED)\n\nament_auto_package()\n
    4. Edit package.xml

      We need to declare relevant dependencies in package.xml. For the above example we need to add the following content:

      <buildtool_depend>rosidl_default_generators</buildtool_depend>\n\n<exec_depend>rosidl_default_runtime</exec_depend>\n\n<depend>geometry_msgs</depend>\n<depend>std_msgs</depend>\n\n<member_of_group>rosidl_interface_packages</member_of_group>\n

      We need to replace <buildtool_depend>ament_cmake</buildtool_depend> with <buildtool_depend>ament_cmake_auto</buildtool_depend> in the package.xml file.

    5. Build the custom message package

      You can build the package in the root of your workspace, for example by running the following command:

      colcon build --packages-select autoware_sensing_msgs\n

      Now the GnssInsOrientationStamped message will be discoverable by other packages in Autoware.

    "},{"location":"how-to-guides/others/add-a-custom-ros-message/#how-to-use-custom-messages-in-autoware","title":"How to use custom messages in Autoware","text":"

    You can use the custom messages in Autoware by following these steps:

    • Add dependency in package.xml.
      • For example, <depend>autoware_sensing_msgs</depend>.
    • Include the .hpp file of the relevant message in the code.
      • For example, #include <autoware_sensing_msgs/msg/gnss_ins_orientation_stamped.hpp>.
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/","title":"Advanced usage of colcon","text":""},{"location":"how-to-guides/others/advanced-usage-of-colcon/#advanced-usage-of-colcon","title":"Advanced usage of colcon","text":"

    This page shows some advanced and useful usage of colcon. If you need more detailed information, refer to the colcon documentation.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#common-mistakes","title":"Common mistakes","text":""},{"location":"how-to-guides/others/advanced-usage-of-colcon/#do-not-run-from-other-than-the-workspace-root","title":"Do not run from other than the workspace root","text":"

    It is important that you always run colcon build from the workspace root because colcon builds only under the current directory. If you have mistakenly built in a wrong directory, run rm -rf build/ install/ log/ to clean the generated files.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#do-not-unnecessarily-overlay-workspaces","title":"Do not unnecessarily overlay workspaces","text":"

    colcon overlays workspaces if you have sourced the setup.bash of other workspaces before building a workspace. You should take care of this especially when you have multiple workspaces.

    Run echo $COLCON_PREFIX_PATH to check whether workspaces are overlaid. If you find some workspaces are unnecessarily overlaid, remove all built files, restart the terminal to clean environment variables, and re-build the workspace.

    For more details about workspace overlaying, refer to the ROS 2 documentation.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#cleaning-up-the-build-artifacts","title":"Cleaning up the build artifacts","text":"

    colcon sometimes causes errors of because of the old cache. To remove the cache and rebuild the workspace, run the following command:

    rm -rf build/ install/\n

    In case you know what packages to remove:

    rm -rf {build,install}/{package_a,package_b}\n
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#selecting-packages-to-build","title":"Selecting packages to build","text":"

    To just build specified packages:

    colcon build --packages-select <package_name1> <package_name2> ...\n

    To build specified packages and their dependencies recursively:

    colcon build --packages-up-to <package_name1> <package_name2> ...\n

    You can also use these options for colcon test.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#changing-the-optimization-level","title":"Changing the optimization level","text":"

    Set DCMAKE_BUILD_TYPE to change the optimization level.

    Warning

    If you specify DCMAKE_BUILD_TYPE=Debug or no DCMAKE_BUILD_TYPE is given for building the entire Autoware, it may be too slow to use.

    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug\n
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo\n
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#changing-the-default-configuration-of-colcon","title":"Changing the default configuration of colcon","text":"

    Create $COLCON_HOME/defaults.yaml to change the default configuration.

    mkdir -p ~/.colcon\ncat << EOS > ~/.colcon/defaults.yaml\n{\n\"build\": {\n\"symlink-install\": true\n}\n}\n

    For more details, see here.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#generating-compile_commandsjson","title":"Generating compile_commands.json","text":"

    compile_commands.json is used by IDEs/tools to analyze the build dependencies and symbol relationships.

    You can generate it with the flag DCMAKE_EXPORT_COMPILE_COMMANDS=1:

    colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1\n
    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#seeing-compiler-commands","title":"Seeing compiler commands","text":"

    To see the compiler and linker invocations for a package, use VERBOSE=1 and --event-handlers console_cohesion+:

    VERBOSE=1 colcon build --packages-up-to <package_name> --event-handlers console_cohesion+\n

    For other options, see here.

    "},{"location":"how-to-guides/others/advanced-usage-of-colcon/#using-ccache","title":"Using Ccache","text":"

    Ccache can speed up recompilation. It is recommended to use it to save your time unless you have a specific reason not to do so.

    1. Install Ccache:

      sudo apt update && sudo apt install ccache\n
    2. Write the following in your .bashrc:

      export CC=\"/usr/lib/ccache/gcc\"\nexport CXX=\"/usr/lib/ccache/g++\"\n
    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/","title":"An example procedure for adding and evaluating a new node","text":""},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#an-example-procedure-for-adding-and-evaluating-a-new-node","title":"An example procedure for adding and evaluating a new node","text":""},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#overview","title":"Overview","text":"

    This page provides a guide for evaluating Autoware when a new node is implemented, especially about developing a novel localization node.

    The workflow involves initial testing and rosbag recording using a real vehicle or AWSIM, implementing the new node, subsequent testing using the recorded rosbag, and finally evaluating with a real vehicle or AWSIM.

    It is assumed that the method intended for addition has already been verified well with public datasets and so on.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#1-running-autoware-in-its-standard-configuration","title":"1. Running Autoware in its standard configuration","text":"

    First of all, it is important to be able to run the standard Autoware to establish a basis for performance and behavior comparison.

    Autoware constantly incorporates new features. It is crucial to initially confirm that it operates as expected with the current version, which helps in problem troubleshooting.

    In this context, AWSIM is presumed. Therefore, AWSIM simulator can be useful. If you are using actual hardware, please refer to the How-to guides.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#2-recording-a-rosbag-using-autoware","title":"2. Recording a rosbag using Autoware","text":"

    Before developing a new node, it is recommended to record a rosbag in order to evaluate. If you need a new sensor, you should add it to your vehicle or AWSIM.

    In this case, it is recommended to save all topics regardless of whether they are necessary or not. For example, in Localization, since the initial position estimation service is triggered by the input to rviz and the GNSS topic, the initial position estimation does not start when playing back data unless those topics are saved.

    Consider the use of the mcap format if data capacity becomes a concern.

    It is worth noting that using ros2 bag record increases computational load and might affect performance. After data recording, verifying the smooth flow of sensor data and unchanged time series is advised. This verification can be accomplished, for example, by inspecting the image data with rqt_image_view during ros2 bag play.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#3-developing-the-new-node","title":"3. Developing the new node","text":"

    When developing a new node, it could be beneficial to reference a package that is similar to the one you intend to create.

    It is advisable to thoroughly read the Design page, contemplate the addition or replacement of nodes in Autoware, and then implement your solution.

    For example, a node doing NDT, a LiDAR-based localization method, is ndt_scan_matcher. If you want to replace this with a different approach, implement a node which produces the same topics and provides the same services.

    ndt_scan_matcher is launched as pose_estimator, so it is necessary to replace the launch file as well.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#4-evaluating-by-a-rosbag-based-simulator","title":"4. Evaluating by a rosbag-based simulator","text":"

    Once the new node is implemented, it is time to evaluate it. logging_simulator is a tool of how to evaluate the new node using the rosbag captured in step 2.

    When you run the logging_simulator, you can set planning:=false or control:=false to disable the launch of specific component nodes.

    ros2 launch autoware_launch logging_simulator.launch.xml ... planning:=false control:=false

    After launching logging_simulator, the rosbag file obtained in step 2 should be replayed using ros2 bag play <rosbag_file>.

    If you remap the topics related to the localization that you want to verify this time, Autoware will use the data it is calculating this time instead of the data it recorded. Also, using the --topics option of ros2 bag play, you can publish only specific topics in rosbag.

    There is ros2bag_extensions available to filter the rosbag file and create a new rosbag file that contains only the topics you need.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#5-evaluating-in-a-realtime-environment","title":"5. Evaluating in a realtime environment","text":"

    Once you have sufficiently verified the behavior in the logging_simulator, let's run it as Autoware with new nodes added in the realtime environment.

    To debug Autoware, the method described at debug-autoware is useful.

    For reproducibility, you may want to fix the GoalPose. In such cases, consider using the tier4_automatic_goal_rviz_plugin.

    "},{"location":"how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/#6-sharing-the-results","title":"6. Sharing the results","text":"

    If your implementation works successfully, please consider a pull request to Autoware.

    It is also a good idea to start by presenting your ideas in Discussion at Show and tell.

    For localization, YabLoc's Proposal may provide valuable insights.

    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/","title":"Applying Clang-Tidy to ROS packages","text":""},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#applying-clang-tidy-to-ros-packages","title":"Applying Clang-Tidy to ROS packages","text":"

    Clang-Tidy is a powerful C++ linter.

    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#preparation","title":"Preparation","text":"

    You need to generate build/compile_commands.json before using Clang-Tidy.

    colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1\n
    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#usage","title":"Usage","text":"
    clang-tidy -p build/ path/to/file1 path/to/file2 ...\n

    If you want to apply Clang-Tidy to all files in a package, using the fd command is useful. To install fd, see the installation manual.

    clang-tidy -p build/ $(fd -e cpp -e hpp --full-path \"/autoware_utils/\")\n
    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#ide-integration","title":"IDE integration","text":""},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#clion","title":"CLion","text":"

    Refer to the CLion Documentation.

    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#visual-studio-code","title":"Visual Studio Code","text":"

    Use either one of the following extensions:

    • C/C++
    • clangd
    "},{"location":"how-to-guides/others/applying-clang-tidy-to-ros-packages/#troubleshooting","title":"Troubleshooting","text":"

    If you encounter clang-diagnostic-error, try installing libomp-dev.

    Related: https://github.com/autowarefoundation/autoware-github-actions/pull/172

    "},{"location":"how-to-guides/others/debug-autoware/","title":"Debug Autoware","text":""},{"location":"how-to-guides/others/debug-autoware/#debug-autoware","title":"Debug Autoware","text":"

    This page provides some methods for debugging Autoware.

    "},{"location":"how-to-guides/others/debug-autoware/#print-debug-messages","title":"Print debug messages","text":"

    The essential thing for debug is to print the program information clearly, which can quickly judge the program operation and locate the problem. Autoware uses ROS 2 logging tool to print debug messages, how to design console logging refer to tutorial Console logging.

    "},{"location":"how-to-guides/others/debug-autoware/#using-ros-tools-debug-autoware","title":"Using ROS tools debug Autoware","text":""},{"location":"how-to-guides/others/debug-autoware/#using-command-line-tools","title":"Using command line tools","text":"

    ROS 2 includes a suite of command-line tools for introspecting a ROS 2 system. The main entry point for the tools is the command ros2, which itself has various sub-commands for introspecting and working with nodes, topics, services, and more. How to use the ROS 2 command line tool refer to tutorial CLI tools.

    "},{"location":"how-to-guides/others/debug-autoware/#using-rviz2","title":"Using rviz2","text":"

    Rviz2 is a port of Rviz to ROS 2. It provides a graphical interface for users to view their robot, sensor data, maps, and more. You can run Rviz2 tool easily by:

    rviz2\n

    When Autoware launch the simulators, the Rviz2 tool is opened by default to visualize the autopilot graphic information.

    "},{"location":"how-to-guides/others/debug-autoware/#using-rqt-tools","title":"Using rqt tools","text":"

    RQt is a graphical user interface framework that implements various tools and interfaces in the form of plugins. You can run any RQt tools/plugins easily by:

    rqt\n

    This GUI allows you to choose any available plugins on your system. You can also run plugins in standalone windows. For example, RQt Console:

    ros2 run rqt_console rqt_console\n
    "},{"location":"how-to-guides/others/debug-autoware/#common-rqt-tools","title":"Common RQt tools","text":"
    1. rqt_graph: view node interaction

      In complex applications, it may be helpful to get a visual representation of the ROS node interactions.

      ros2 run rqt_graph rqt_graph\n
    2. rqt_console: view messages

      rqt_console is a great gui for viewing ROS topics.

      ros2 run rqt_console rqt_console\n
    3. rqt_plot: view data plots

      rqt_plot is an easy way to plot ROS data in real time.

      ros2 run rqt_plot rqt_plot\n
    "},{"location":"how-to-guides/others/debug-autoware/#using-ros2_graph","title":"Using ros2_graph","text":"

    ros2_graph can be used to generate mermaid description of ROS 2 graphs to add on your markdown files.

    It can also be used as a colorful alternative to rqt_graph even though it would require some tool to render the generated mermaid diagram.

    It can be installed with:

    pip install ros2-graph\n

    Then you can generate a mermaid description of the graph with:

    ros2_graph your_node\n\n# or like with an output file\nros2_graph /turtlesim -o turtle_diagram.md\n\n# or multiple nodes\nros2_graph /turtlesim /teleop_turtle\n

    You can then visualize these graphs with:

    • Mermaid Live Editor
    • Visual Studio Code extension mermaid preview
    • JetBrains IDEs with native support
    "},{"location":"how-to-guides/others/debug-autoware/#using-ros2doctor","title":"Using ros2doctor","text":"

    When your ROS 2 setup is not running as expected, you can check its settings with the ros2doctor tool.

    ros2doctor checks all aspects of ROS 2, including platform, version, network, environment, running systems and more, and warns you about possible errors and reasons for issues.

    It's as simple as just running ros2 doctor in your terminal.

    It has the ability to list \"Subscribers without publishers\" for all topics in the system.

    And this information can help you find if a necessary node isn't running.

    For more details, see the following official documentation for Using ros2doctor to identify issues.

    "},{"location":"how-to-guides/others/debug-autoware/#using-a-debugger-with-breakpoints","title":"Using a debugger with breakpoints","text":"

    Many IDE(e.g. Visual Studio Code, CLion) supports debugging C/C++ executable with GBD on linux platform. The following lists some references for using the debugger:

    • https://code.visualstudio.com/docs/cpp/cpp-debug
    • https://www.jetbrains.com/help/clion/debugging-code.html#useful-debugger-shortcuts
    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/","title":"Defining temporal performance metrics on components","text":""},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#defining-temporal-performance-metrics-on-components","title":"Defining temporal performance metrics on components","text":""},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#motivation-to-defining-temporal-performance-metrics","title":"Motivation to defining temporal performance metrics","text":""},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#objective-of-the-page","title":"Objective of the page","text":"

    This page introduces policies to define metrics to evaluate temporal performance on components of Autoware. The term \"temporal performance\" is often used throughout the page in order to distinguish between functional performance, which referred to as accuracy as well, and time-related performance.

    It is expected that most algorithms employed for Autoware are executed with as high frequency and short response time as possible. In order to achieve safe autonomous driving, one of the desired outcomes is no time gap between perceived and actual situation. The time gap is commonly referred to as delay. If the delay is significant, the system may determine trajectory and maneuver based on outdated situation. Consequently, if the actual situation differs from the perceived one due to the delay, the system may make unexpected decisions.

    As mentioned above, this page presents the policies to define metrics. Besides, the page contains lists of sample metrics that are crucial for the main functionalities of Autoware: Localization, Perception, Planning, and Control.

    Note

    Other functionalities, such as system components for diagnosis, are excluded currently. However they will be taken into account in the near future.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#contribution-of-the-temporal-performance-metrics","title":"Contribution of the temporal performance metrics","text":"

    Temporal performance metrics are important for evaluating Autoware. These metrics are particularly useful for assessing delays caused by new algorithms and logic. They can be employed when comparing the temporal performance of software on a desktop computer with that on a vehicle during the vehicle integration phase.

    In addition, these metrics are useful for designers and evaluators of middleware, operating systems, and computers. They are selected based on user and product requirements. One of these requirements is to provide sufficient temporal performance for executing Autoware. \"Sufficient temporal performance\" is defined as a temporal performance requirement, but it can be challenging to define the requirement because it varies depending on the product type, Operational Design Domain (ODD), and other factors. Then, this page specifically focuses on temporal performance metrics rather than requirements.

    Temporal performance metrics are important for evaluating the reliability of Autoware. However, ensuring the reliability of Autoware requires consideration of not only temporal performance metrics but also other metrics.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#tools-for-evaluating-the-metrics","title":"Tools for evaluating the metrics","text":"

    There are several tools available for evaluating Autoware according to the metrics listed in the page. For example, both CARET and ros2_tracing are recommended options when evaluating Autoware on Linux and ROS 2. If you want to measure the metrics with either of these tools, refer to the corresponding user guide for instructions. It's important to note that if you import Autoware to a platform other than Linux and ROS 2, you will need to choose a supported tool for evaluation.

    Note

    TIER IV plans to measure Autoware, which is running according to the tutorial, and provide a performance evaluation report periodically. An example of such a report can be found here, although it may not include all of the metrics listed.

    The page does not aim to provide instructions on how to use these tools or measure the metrics. Its primary focus is on the metrics themselves, as they are more important than the specific tools used. These metrics retain their relevance regardless of the employed platform.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#policies-to-define-temporal-performance-metrics","title":"Policies to define temporal performance metrics","text":"

    As mentioned above, the configuration of Autoware varies by the product type, ODD, and other factors. The variety of configurations makes it difficult to define the uniform metrics for evaluating Autoware. However, the policies used to define them are basically reused even when the configuration changes. Each of temporal performance metrics is categorized into two types: execution frequency and response time. Although there are many types of metrics, such as communication latency, the only two types are considered for simplicity. Execution frequency is observed using rate of Inter-Process Communication (IPC) messages. You will find an enormous number of messages in Autoware, but you don't have to take care of all. Some messages might be critical to functionality and they should be chosen for evaluation. Response time is duration elapsed through a series of processing. A series of processing is referred to as a path. Response time is calculated from timestamps of start and end of a path. Although many paths can be defined in Autoware, you have to choose significant paths.

    As a hint, here are some characteristics of message and path in order to choose metrics.

    1. Messages and paths on boundaries where observed values from sensors are consumed
    2. Messages and paths on boundaries of functions, e.g., a boundary of perception and planning
    3. Messages and paths on boundaries where timer-based frequency is switched
    4. Messages and paths on boundaries where two different messages are synchronized and merged
    5. Messages that must be transmitted at expected frequency, e.g., vehicle command messages

    Those hints would be helpful for most configurations but there may be exclusions. Defining metrics precisely requires an understanding of configuration.

    In addition, it is recommended that metrics be determined incrementally from the architectural level to the detailed design and implementation level. Mixing metrics at different levels of granularity can be confusing.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#list-of-sample-metrics","title":"List of sample metrics","text":"

    This section demonstrates how to define metrics according to the policies explained and has lists of the metrics for Autoware launched according to the tutorial. The section is divided into multiple subsections, each containing a model diagram and an accompanying list that explains the important temporal performance metrics. Each model is equipped with checkpoints that serve as indicators for these metrics.

    The first subsection presents the top-level temporal performance metrics, which are depicted in the abstract structure of Autoware as a whole. The detailed metrics are not included in the model as they would add complexity to it. Instead, the subsequent section introduces the detailed metrics. The detailed metrics are subject to more frequent updates compared to the top-level ones, which is another reason for categorizing them separately.

    Each list includes a column for the reference value. The reference value represents the observed value of each metric when Autoware is running according to the tutorial. It is important to note that the reference value is not a required value, meaning that Autoware does not necessarily fail in the tutorial execution if certain metrics do not fulfill the reference value.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#top-level-temporal-performance-metrics-for-autoware","title":"Top-level temporal performance metrics for Autoware","text":"

    The diagram below introduces the model for top-level temporal performance metrics.

    The following three policies assist in selecting the top-level performance metrics:

    • Splitting Autoware based on components that consume observed values, such as sensor data, and considering the processing frequency and response time around these components
    • Dividing Autoware based on the entry point of Planning and Control and considering the processing frequency and response time around these components
    • Showing the minimum metrics for the Vehicle Interface, as they may vary depending on the target vehicle

    Additionally, it is assumed that algorithms are implemented as multiple nodes and function as a pipeline processing system.

    ID Representation in the model Metric meaning Related functionality Reference value Reason to choose it as a metric Note AWOV-001 Message rate from CPA #9 to CPA #18 Update rate of result from Prediction to Planning. Perception 10 Hz Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. AWOV-002 Response time from CPA #0 to CPA #20 via CPA #18 Response time in main body of Perception. Perception N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is used if delay compensation is disabled in Tracking. AWOV-003 Response time from CPA #7 to CPA #20 Response time from Tracking output of Tracking to its data consumption in Planning. Perception N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is used if delay compensation is enabled in Tracking. AWOV-004 Response time from CPA #0 to CPA #6 Duration to process pointcloud data in Sensing and Detection. Perception N/A Tracking relies on detection to provide real-time and up-to-date sensed data for accurate tracking. The metric is used if delay compensation is enabled in Tracking. AWOV-005 Message rate from CPA #4 to CPA #5 Update rate of Detection result received by Tracking. Perception 10 Hz Tracking relies on detection to provide real-time and up-to-date sensed data for accurate tracking. AWOV-006 Response time from CPA #0 to CPA #14 Response time from output of observed data from LiDARs to its consumption in EKF Localizer via NDT Scan Matcher. Localization N/A EKF Localizer relies on fresh and up-to-date observed data from sensors for accurate estimation of self pose. AWOV-007 Message rate from CPA #11 to CPA #13 Update rate of pose estimated by NDT Scan Matcher. Localization 10 Hz EKF Localizer relies on fresh and up-to-date observed data from sensors for accurate estimation of self pose. AWOV-008 Message rate from CPA #15 to CPA #12 Update rate of feed backed pose estimated by EKF Localizer. Localization 50 Hz NDT Scan Matcher relies on receiving estimated pose from EKF Localizer smoothly for linear interpolation. AWOV-009 Message rate from CPA #17 to CPA #19 Update rate of Localization result received by Planning. Localization 50 Hz Planning relies on Localization to update the estimated pose frequently. AWOV-010 Response time from CPA #20 to CPA #23 Processing time from beginning of Planning to consumption of Trajectory message in Control. Planning N/A A vehicle relies on Planning to update trajectory within a short time frame to achieve safe driving behavior. AWOV-011 Message rate from CPA #21 to CPA #22 Update rate of Trajectory message from Planning. Planning 10 Hz A vehicle relies on Planning to update trajectory frequently to achieve safe driving behavior. AWOV-012 Message rate from CPA #24 to CPA #25 Update rate of Control command. Control 33 Hz Control stability and comfort relies on sampling frequency of Control. AWOV-013 Message rate between CPA #26 and Vehicle Communication rate between Autoware and Vehicle. Vehicle Interface N/A A vehicle requires Autoware to communicate with each other at predetermined frequency. Temporal performance requirement varies depending on vehicle type.

    Note

    There is an assumption that each of sensors, such as LiDARs and cameras, outputs a set of pointcloud with a timestamp. CPA #0 is observed with the timestamp. If the sensors are not configured to output the timestamp, the time when Autoware receives the pointcloud is used instead. That is represented by CPA #1 in the model. The detailed metrics employs the idea as well.

    "},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#detailed-temporal-performance-metrics-for-perception","title":"Detailed temporal performance metrics for Perception","text":"

    The diagram below introduces the model for temporal performance metrics for Perception.

    The following two policies assist in selecting the performance metrics:

    • Regarding the frequency and response time at which Recognition results from Object Recognition and Traffic Light Recognition are consumed in Planning
    • Splitting Perception component on merging points of data from multiple processing paths and considering the frequency and response time around that point

    The following list shows the temporal performance metrics for Perception.

    ID Representation in the model Metric meaning Related functionality Reference value Reason to choose it as a metric Note APER-001 Message rate from CPP #2 to CPP #26 Update rate of Traffic Light Recognition. Traffic Light Recognition 10 Hz Planning relies on fresh and up-to-date perceived data from Traffic Light Recognition for making precise decisions. APER-002 Response time from CPP #0 to CPP #30 Response time from camera input to consumption of the result in Planning. Traffic Light Recognition N/A Planning relies on fresh and up-to-date perceived data from Traffic Light Recognition for making precise decisions. APER-003 Message rate from CPP #25 to CPP #28 Update rate of result from Prediction (Object Recognition) to Planning. Object Recognition 10 Hz Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is same as AWOV-001. APER-004 Response time from CPP #6 to CPP #30 Response time from Tracking output of Tracking to its data consumption in Planning. Object Recognition N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is same as AWOV-002 and used if delay compensation is disabled in Tracking. APER-005 Response time from CPP #23 to CPP #30 Response time from Tracking output of Tracking to its data consumption in Planning. Object Recognition N/A Planning relies on fresh and up-to-date perceived data from Perception for creating accurate trajectory. The metric is same as AWOV-003 and used if delay compensation is enabled in Tracking. APER-006 Response time from CPP #6 to CPP #21 Duration to process pointcloud data in Sensing and Detection. Object Recognition N/A Tracking relies on Detection to provide real-time and up-to-date perceived data. The metrics is same as AWOV-004 and used if delay compensation is enabled in Tracking. APER-007 Message rate from CPP #20 to CPP #21 Update rate of Detection result received by Tracking. Object Recognition 10 Hz Tracking relies on detection to provide real-time and up-to-date sensed data for accurate tracking. The metric is same as AWOV-005 APER-008 Message rate from CPP #14 to CPP #19 Update rate of data sent from Sensor Fusion. Object Recognition 10 Hz Association Merger relies on the data to be updated at expected frequency for data synchronization. APER-009 Message rate from CPP #16 to CPP #19 Update rate of data sent from Detection by Tracker. Object Recognition 10 Hz Association Merger relies on the data to be updated at expected frequency for data synchronization. APER-010 Message rate from CPP #18 to CPP #19 Update rate of data sent from Validation Object Recognition. 10 Hz Association Merger relies on the data to be updated at expected frequency for data synchronization. APER-011 Response time from CPP #6 to CPP #19 via CPP #14 Response time to consume data sent from Sensor Fusion after LiDARs output pointcloud. Object Recognition N/A Association Merger relies on fresh and up-to-date data for data synchronization. APER-012 Response time from CPP #6 to CPP #19 via CPP #16 Response time to consume data sent from Detection by Tracker after LiDARs output pointcloud. Object Recognition N/A Association Merger relies on fresh and up-to-date data for data synchronization. APER-013 Response time from CPP #6 to CPP #19 via CPP #18 Response time to consume data sent from Validator after LiDARs output pointcloud. Object Recognition N/A Association Merger relies on fresh and up-to-date data for data synchronization. APER-014 Message rate from CPP #10 to CPP #13 Update rate of data sent from Clustering. Object Recognition 10 Hz Sensor Fusion relies on the data to be updated at expected frequency for data synchronization. APER-015 Message rate from CPP #5 to CPP #13 Update rate of data sent from Camera-based Object detection. Object Recognition 10 Hz Sensor Fusion relies on the data to be updated at expected frequency for data synchronization. APER-016 Response time from CPP #6 to CPP #13 Response time to consume data sent from Clustering after LiDARs output pointcloud. Object Recognition N/A Sensor Fusion relies on fresh and up-to-date data for data synchronization. APER-017 Response time from CPP #3 to CPP #13 Response time to consume data sent from Camera-based Object detection after Cameras output images. Object Recognition N/A Sensor Fusion relies on fresh and up-to-date data for data synchronization. APER-018 Message rate from CPP #10 to CPP #17 Update rate of data sent from Clustering. Object Recognition 10 Hz Validator relies on the data to be updated at expected frequency for data synchronization. It seems similar to APER-014, but the topic message is different. APER-019 Message rate from CPP #12 to CPP #17 Update rate of data sent from DNN-based Object Recognition. Object Recognition 10 Hz Validator relies on the data to be updated at expected frequency for data synchronization. APER-020 Response time from CPP #6 to CPP #17 via CPP #10 Response time to consume data sent from Clustering after LiDARs output pointcloud. Object Recognition N/A Validator relies on fresh and update-date data for data synchronization. It seems similar to APER-015, but the topic message is different. APER-021 Response time from CPP #6 to CPP #17 via CPP #12 Response time to consume data sent from DNN-based Object Recognition after LiDARs output pointcloud. Object Recognition N/A Validator relies on fresh and update-date data for data synchronization."},{"location":"how-to-guides/others/defining-temporal-performance-metrics/#detailed-temporal-performance-metrics-for-paths-between-obstacle-segmentation-and-planning","title":"Detailed temporal performance metrics for Paths between Obstacle segmentation and Planning","text":"

    Obstacle segmentation, which is a crucial part of Perception, transmits data to Planning. The figure below illustrates the model that takes into account performance metrics related to Obstacle segmentation and Planning.

    Note

    Both the Obstacle grid map and Obstacle segmentation transmit data to multiple sub-components of Planning. However, not all of these sub-components are described in the model. This is because our primary focus is on the paths from LiDAR to Planning via Obstacle segmentation.

    The following list shows the temporal performance metrics around Obstacle segmentation and Planning.

    ID Representation in the model Metric meaning Related functionality Reference value Reason to choose it as a metric Note OSEG-001 Message rate from CPS #4 to CPS #7 Update rate of Occupancy grid map received by Planning (behavior_path_planner) Obstacle segmentation 10 Hz Planning relies on Occupancy grid map to be updated frequently and smoothly for creating accurate trajectory. OSEG-002 Response time from CPS #0 to CPS #9 via CPS #7 Response time to consume Occupancy grid map after LiDARs output sensing data. Obstacle segmentation N/A Planning relies on fresh and up-to-date perceived data from Occupancy grid map for creating accurate trajectory.. OSEG-003 Message rate from CPS #6 to CPS #11 Update rate of obstacle segmentation received by Planning (behavior_velocity_planner). Obstacle segmentation 10 Hz Planning relies on Obstacle segmentation to be updated frequently and smoothly for creating accurate trajectory. OSEG-004 Response time from CPS #0 to CPS #13 via CPS #11 Response time to consume Obstacle segmentation after LiDARs output sensing data. Obstacle segmentation N/A Planning relies on fresh and up-to-date perceived data from Obstacle segmentation for creating accurate trajectory.."},{"location":"how-to-guides/others/determining-component-dependencies/","title":"Determining component dependencies","text":""},{"location":"how-to-guides/others/determining-component-dependencies/#determining-component-dependencies","title":"Determining component dependencies","text":"

    For any developers who wish to try and deploy Autoware as a microservices architecture, it is necessary to understand the software dependencies, communication, and implemented features of each ROS package/node.

    As an example, the commands necessary to determine the dependencies for the Perception component are shown below.

    "},{"location":"how-to-guides/others/determining-component-dependencies/#perception-component-dependencies","title":"Perception component dependencies","text":"

    To generate a graph of package dependencies, use the following colcon command:

    colcon graph --dot --packages-up-to tier4_perception_launch | dot -Tpng -o graph.png\n

    To generate a list of dependencies, use:

    colcon list --packages-up-to tier4_perception_launch --names-only\n
    colcon list output
    autoware_auto_geometry_msgs\nautoware_auto_mapping_msgs\nautoware_auto_perception_msgs\nautoware_auto_planning_msgs\nautoware_auto_vehicle_msgs\nautoware_cmake\nautoware_lint_common\nautoware_point_types\ncompare_map_segmentation\ndetected_object_feature_remover\ndetected_object_validation\ndetection_by_tracker\neuclidean_cluster\ngrid_map_cmake_helpers\ngrid_map_core\ngrid_map_cv\ngrid_map_msgs\ngrid_map_pcl\ngrid_map_ros\nground_segmentation\nimage_projection_based_fusion\nimage_transport_decompressor\ninterpolation\nkalman_filter\nlanelet2_extension\nlidar_apollo_instance_segmentation\nmap_based_prediction\nmulti_object_tracker\nmussp\nobject_merger\nobject_range_splitter\noccupancy_grid_map_outlier_filter\npointcloud_preprocessor\npointcloud_to_laserscan\nshape_estimation\ntensorrt_yolo\ntier4_autoware_utils\ntier4_debug_msgs\ntier4_pcl_extensions\ntier4_perception_launch\ntier4_perception_msgs\ntraffic_light_classifier\ntraffic_light_map_based_detector\ntraffic_light_ssd_fine_detector\ntraffic_light_visualization\nvehicle_info_util\n

    Tip

    To output a list of modules with their respective paths, run the command above without the --names-only parameter.

    To see which ROS topics are being subscribed and published to, use rqt_graph as follows:

    ros2 launch tier4_perception_launch perception.launch.xml mode:=lidar\nros2 run rqt_graph rqt_graph\n
    "},{"location":"how-to-guides/others/fixing-dependent-package-versions/","title":"Fixing dependent package versions","text":""},{"location":"how-to-guides/others/fixing-dependent-package-versions/#fixing-dependent-package-versions","title":"Fixing dependent package versions","text":"

    Autoware manages dependent package versions in autoware.repos. For example, let's say you make a branch in autoware.universe and add new features. Suppose you update other dependencies with vcs pull after cutting a branch from autoware.universe. Then the version of autoware.universe you are developing and other dependencies will become inconsistent, and the entire Autoware build will fail. We recommend saving the dependent package versions by executing the following command when starting the development.

    vcs export src --exact > my_autoware.repos\n
    "},{"location":"how-to-guides/others/reducing-start-delays/","title":"Reducing start delays on real vehicles","text":""},{"location":"how-to-guides/others/reducing-start-delays/#reducing-start-delays-on-real-vehicles","title":"Reducing start delays on real vehicles","text":"

    In simulation, the ego vehicle reacts nearly instantly to the control commands generated by Autoware. However, with a real vehicle, some delays occur that may make ego feel less responsive.

    This page presents start delays experienced when using Autoware on a real vehicle. We define the start delay as the time between (a) when Autoware decides to make the ego vehicle start and (b) when the vehicle actually starts moving. More precisely:

    • (a) is the time when the speed or acceleration command output by Autoware switches to a non-zero value.
    • (b) is the time when the measured velocity of the ego vehicle switches to a positive value.
    "},{"location":"how-to-guides/others/reducing-start-delays/#start-delay-with-manual-driving","title":"Start delay with manual driving","text":"

    First, let us look at the start delay when a human is driving.

    The following figure shows the start delay when a human driver switches the gear from parked to drive and instantly releases the brake to push the throttle pedal and make the velocity of the vehicle increase.

    There are multiple things to note from this figure.

    • Brake (red): despite the driver instantly releasing the brake pedal, we see that the measured brake takes around 150ms to go from 100% to 0%.
    • Gear (orange): the driver switches gear before releasing the brake pedal, but the gear is measured to switch after the brake is released.
    • Throttle (green) and velocity (blue): the driver pushes the throttle pedal and the vehicle is measured to start moving around 500ms later.
    "},{"location":"how-to-guides/others/reducing-start-delays/#filter-delay","title":"Filter delay","text":"

    To guarantee passenger comfort, some Autoware modules implement filters on the jerk of the vehicle, preventing sudden changes in acceleration.

    For example, the vehicle_cmd_gate filters the acceleration command generated by the controller and was previously introducing significant delays when transitioning between a stop command where the acceleration is negative, and a move command where the acceleration is positive. Because of the jerk filter, the transition between negative and positive was not instantaneous and would take several hundreds of milliseconds.

    "},{"location":"how-to-guides/others/reducing-start-delays/#gear-delay","title":"Gear delay","text":"

    In many vehicles, it is necessary to change gear before first starting to move the vehicle. When performed autonomously, this gear change can take some significant time. Moreover, as seen from the data recorded with manual driving, the measured gear value may be delayed.

    In Autoware, the controller sends a stopping control command until the gear is changed to the drive state. This means that delays in the gear change and its reported value can greatly impact the start delay. Note that this is only an issue when the vehicle is initially in the parked gear.

    The only way to reduce this delay is by tuning the vehicle to increase the gear change speed or to reduce the delay in the gear change report.

    "},{"location":"how-to-guides/others/reducing-start-delays/#brake-delay","title":"Brake delay","text":"

    In vehicles with a brake pedal, the braking system will often be made of several moving parts which cannot move instantly. Thus, when Autoware sends brake commands to a vehicle, some delays should be expected in the actual brake applied to the wheels.

    This lingering brake may prevent or delay the initial motion of the ego vehicle.

    This delay can be reduced by tuning the vehicle.

    "},{"location":"how-to-guides/others/reducing-start-delays/#throttle-response","title":"Throttle response","text":"

    For vehicles with throttle control, one of the main cause of start delays is due to the throttle response of the vehicle. When pushing the throttle pedal, the wheels of the vehicle do not instantly start rotating. This is partly due to the inertia of the vehicle, but also to the motor which may take a significant time to start applying some torque to the wheels.

    It may be possible to tune some vehicle side parameters to reduce this delay, but it is often done at the cost of reduced energy efficiency.

    On the Autoware side, the only way to decrease this delay is to increase the initial throttle but this can cause uncomfortably high initial accelerations.

    "},{"location":"how-to-guides/others/reducing-start-delays/#initial-acceleration-and-throttle","title":"Initial acceleration and throttle","text":"

    As we just discussed, for vehicles with throttle control, an increased initial throttle value can reduce the start delay.

    Since Autoware outputs an acceleration value, the conversion module raw_vehicle_cmd_converter is used to map the acceleration value from Autoware to a throttle value to be sent to the vehicle. Such mapping is usually calibrated automatically using the accel_brake_map_calibrator module, but it may produce a low initial throttle which leads to high start delays.

    In order to increase the initial throttle, there are two options: increase the initial acceleration output by Autoware, or modify the acceleration to throttle mapping.

    The initial acceleration output by Autoware can be tuned in the motion_velocity_smoother with parameters engage_velocity and engage_acceleration. However, the vehicle_cmd_gate applies a filter on the control command to prevent too sudden changes in jerk and acceleration, limiting the maximum allowed acceleration while the ego vehicle is stopped.

    Alternatively, the mapping of acceleration can be tuned to increase the throttle corresponding to the initial acceleration. If we look at an example acceleration map, it does the following conversion: when the ego velocity is 0 (first column), acceleration values between 0.631 (first row) and 0.836 (second row) are converted to a throttle between 0% and 10%. This means that any initial acceleration bellow 0.631m/s\u00b2 will not produce any throttle. Keep in mind that after tuning the acceleration map, it may be necessary to also update the brake map.

    default 0 1.39 2.78 4.17 5.56 6.94 8.33 9.72 11.11 12.5 13.89 0 0.631 0.11 -0.04 -0.04 -0.041 -0.096 -0.137 -0.178 -0.234 -0.322 -0.456 0.1 0.836 0.57 0.379 0.17 0.08 0.07 0.068 0.027 -0.03 -0.117 -0.251 0.2 1.129 0.863 0.672 0.542 0.4 0.38 0.361 0.32 0.263 0.176 0.042 0.3 1.559 1.293 1.102 0.972 0.887 0.832 0.791 0.75 0.694 0.606 0.472 0.4 2.176 1.909 1.718 1.588 1.503 1.448 1.408 1.367 1.31 1.222 1.089 0.5 3.027 2.76 2.57 2.439 2.354 2.299 2.259 2.218 2.161 2.074 1.94"},{"location":"how-to-guides/others/running-autoware-without-cuda/","title":"Running Autoware without CUDA","text":""},{"location":"how-to-guides/others/running-autoware-without-cuda/#running-autoware-without-cuda","title":"Running Autoware without CUDA","text":"

    Although CUDA installation is recommended to achieve better performance for object detection and traffic light recognition in Autoware Universe, it is possible to run these algorithms without CUDA. The following subsections briefly explain how to run each algorithm in such an environment.

    "},{"location":"how-to-guides/others/running-autoware-without-cuda/#running-2d3d-object-detection-without-cuda","title":"Running 2D/3D object detection without CUDA","text":"

    Autoware Universe's object detection can be run using one of five possible configurations:

    • lidar_centerpoint
    • lidar_apollo_instance_segmentation
    • lidar-apollo + tensorrt_yolo
    • lidar-centerpoint + tensorrt_yolo
    • euclidean_cluster

    Of these five configurations, only the last one (euclidean_cluster) can be run without CUDA. For more details, refer to the euclidean_cluster module's README file.

    "},{"location":"how-to-guides/others/running-autoware-without-cuda/#running-traffic-light-detection-without-cuda","title":"Running traffic light detection without CUDA","text":"

    For traffic light recognition (both detection and classification), there are two modules that require CUDA:

    • traffic_light_ssd_fine_detector
    • traffic_light_classifier

    To run traffic light detection without CUDA, set enable_fine_detection to false in the traffic light launch file. Doing so disables the traffic_light_ssd_fine_detector such that traffic light detection is handled by the map_based_traffic_light_detector module instead.

    To run traffic light classification without CUDA, set use_gpu to false in the traffic light classifier launch file. Doing so will force the traffic_light_classifier to use a different classification algorithm that does not require CUDA or a GPU.

    "},{"location":"how-to-guides/training-machine-learning-models/training-models/","title":"Training and Deploying Models","text":""},{"location":"how-to-guides/training-machine-learning-models/training-models/#training-and-deploying-models","title":"Training and Deploying Models","text":""},{"location":"how-to-guides/training-machine-learning-models/training-models/#overview","title":"Overview","text":"

    The Autoware offers a comprehensive array of machine learning models, tailored for a wide range of tasks including 2D and 3D object detection, traffic light recognition and more. These models have been meticulously trained utilizing open-mmlab's extensive repositories. By leveraging the provided scripts and following the training steps, you have the capability to train these models using your own dataset, tailoring them to your specific needs.

    Furthermore, you will find the essential conversion scripts to deploy your trained models into Autoware using the mmdeploy repository.

    "},{"location":"how-to-guides/training-machine-learning-models/training-models/#training-traffic-light-classifier-model","title":"Training traffic light classifier model","text":"

    The traffic light classifier model within the Autoware has been trained using the mmlab/pretrained repository. The Autoware offers pretrained models based on EfficientNet-b1 and MobileNet-v2 architectures. To fine-tune these models, a total of 83,400 images were employed, comprising 58,600 for training, 14,800 for evaluation, and 10,000 for testing. These images represent Japanese traffic lights and were trained using TIER IV's internal dataset.

    Name Input Size Test Accuracy EfficientNet-b1 128 x 128 99.76% MobileNet-v2 224 x 224 99.81%

    Comprehensive training instructions for the traffic light classifier model are detailed within the readme file accompanying \"traffic_light_classifier\" package. These instructions will guide you through the process of training the model using your own dataset. To facilitate your training, we have also provided an example dataset containing three distinct classes (green, yellow, red), which you can leverage during the training process.

    Detailed instructions for training the traffic light classifier model can be found here.

    "},{"location":"installation/","title":"Installation","text":""},{"location":"installation/#installation","title":"Installation","text":""},{"location":"installation/#target-platforms","title":"Target platforms","text":"

    Autoware targets the platforms listed below. It may change in future versions of Autoware.

    The Autoware Foundation provides no support on other platforms than those listed below.

    "},{"location":"installation/#architecture","title":"Architecture","text":"
    • amd64
    • arm64
    "},{"location":"installation/#minimum-hardware-requirements","title":"Minimum hardware requirements","text":"

    Info

    Autoware is scalable and can be customized to work with distributed or less powerful hardware. The minimum hardware requirements given below are just a general recommendation. However, performance will be improved with more cores, RAM and a higher-spec graphics card or GPU core.

    • CPU with 8 cores
    • 16GB RAM
    • [Optional] NVIDIA GPU (4GB RAM)

    Although GPU is not required to run basic functionality, it is mandatory to enable the following neural network related functions:

    • LiDAR based object detection
    • Camera based object detection
    • Traffic light detection and classification

    For details of how to enable object detection and traffic light detection/classification without a GPU, refer to the Running Autoware without CUDA.

    "},{"location":"installation/#installing-autoware","title":"Installing Autoware","text":"

    There are two ways to set up Autoware. Choose one according to your preference.

    If any issues occur during installation, refer to the Support page.

    "},{"location":"installation/#1-docker-installation","title":"1. Docker installation","text":"

    Docker can ensure that all developers in a project have a common, consistent development environment. It is recommended for beginners, casual users, people who are unfamiliar with Ubuntu.

    For more information, refer to the Docker installation guide.

    "},{"location":"installation/#2-source-installation","title":"2. Source installation","text":"

    Source installation is for the cases where more granular control of the installation environment is needed. It is recommended for experienced users or people who want to customize their environment. Note that some problems may occur depending on your local environment.

    For more information, refer to the source installation guide.

    "},{"location":"installation/#installing-related-tools","title":"Installing related tools","text":"

    Some other tools are required depending on the evaluation you want to do. For example, to run an end-to-end simulation you need to install an appropriate simulator.

    For more information, see here.

    "},{"location":"installation/#additional-settings-for-developers","title":"Additional settings for developers","text":"

    There are also tools and settings for developers, such as Shells or IDEs.

    For more information, see here.

    "},{"location":"installation/additional-settings-for-developers/","title":"Additional settings for developers","text":""},{"location":"installation/additional-settings-for-developers/#additional-settings-for-developers","title":"Additional settings for developers","text":""},{"location":"installation/additional-settings-for-developers/#console-settings-for-ros-2","title":"Console settings for ROS 2","text":""},{"location":"installation/additional-settings-for-developers/#colorizing-logger-output","title":"Colorizing logger output","text":"

    By default, ROS 2 logger doesn't colorize the output. To colorize it, write the following in your .bashrc:

    export RCUTILS_COLORIZED_OUTPUT=1\n
    "},{"location":"installation/additional-settings-for-developers/#customizing-the-format-of-logger-output","title":"Customizing the format of logger output","text":"

    By default, ROS 2 logger doesn't output detailed information such as file name, function name, or line number. To customize it, write the following in your .bashrc:

    export RCUTILS_CONSOLE_OUTPUT_FORMAT=\"[{severity} {time}] [{name}]: {message} ({function_name}() at {file_name}:{line_number})\"\n

    For more options, see here.

    "},{"location":"installation/additional-settings-for-developers/#network-settings-for-ros-2","title":"Network settings for ROS 2","text":"

    ROS 2 employs DDS, and the configuration of ROS 2 and DDS is described separately. For ROS 2 networking concepts, refer to the official documentation.

    "},{"location":"installation/additional-settings-for-developers/#ros-2-network-setting","title":"ROS 2 network setting","text":"

    ROS 2 multicasts data on the local network by default. Therefore, when you develop in an office, the data flows over the local network of your office. It may cause collisions of packets or increases in network traffic.

    To avoid these, there are two options.

    • Localhost-only communication
    • Same domain only communication on the local network

    Unless you plan to use multiple host computers on the local network, localhost-only communication is recommended. For details, refer to the sections below.

    "},{"location":"installation/additional-settings-for-developers/#enabling-localhost-only-communication","title":"Enabling localhost-only communication","text":"

    Write the following in your .bashrc: For more information, see the ROS 2 documentation.

    export ROS_LOCALHOST_ONLY=1\n

    If you export ROS_LOCALHOST_ONLY=1, MULTICAST must be enabled at the loopback address. To verify that MULTICAST is enabled, use the following command.

    $ ip link show lo\n1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n

    If the word MULTICAST is not printed, use the following command to enable it.

    sudo ip link set lo multicast on\n
    "},{"location":"installation/additional-settings-for-developers/#same-domain-only-communication-on-the-local-network","title":"Same domain only communication on the local network","text":"

    ROS 2 uses ROS_DOMAIN_ID to create groups and communicate between machines in the groups. Since all ROS 2 nodes use domain ID 0 by default, it may cause unintended interference.

    To avoid it, set a different domain ID for each group in your .bashrc:

    # Replace X with the Domain ID you want to use\n# Domain ID should be a number in range [0, 101] (inclusive)\nexport ROS_DOMAIN_ID=X\n

    Also confirm that ROS_LOCALHOST_ONLY is 0 by using the following command.

    echo $ROS_LOCALHOST_ONLY # If the output is 1, localhost has priority.\n

    For more information, see the ROS 2 Documentation.

    "},{"location":"installation/additional-settings-for-developers/#dds-settings","title":"DDS settings","text":"

    Autoware uses DDS for inter-node communication. ROS 2 documentation recommends users to tune DDS to utilize its capability. Especially, receive buffer size is the critical parameter for Autoware. If the parameter is not large enough, Autoware will failed in receiving large data like point cloud or image.

    "},{"location":"installation/additional-settings-for-developers/#tuning-dds","title":"Tuning DDS","text":"

    Unless customized, CycloneDDS is adopted by default. For example, to execute Autoware with CycloneDDS, prepare a config file. A sample config file is given below. Save it as cyclonedds_config.xml.

    <?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<CycloneDDS xmlns=\"https://cdds.io/config\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"https://cdds.io/config https://raw.githubusercontent.com/eclipse-cyclonedds/cyclonedds/master/etc/cyclonedds.xsd\">\n<Domain Id=\"any\">\n<General>\n<Interfaces>\n<NetworkInterface autodetermine=\"true\" priority=\"default\" multicast=\"default\" />\n</Interfaces>\n<AllowMulticast>default</AllowMulticast>\n<MaxMessageSize>65500B</MaxMessageSize>\n</General>\n<Internal>\n<SocketReceiveBufferSize min=\"10MB\"/>\n<Watermarks>\n<WhcHigh>500kB</WhcHigh>\n</Watermarks>\n</Internal>\n</Domain>\n</CycloneDDS>\n

    This configuration is mostly taken from Eclipse Cyclone DDS:Run-time configuration documentation. You can see why each value is set as such under the documentation link.

    Set the config file path and enlarge the Linux kernel maximum buffer size before launching Autoware.

    export CYCLONEDDS_URI=file:///absolute/path/to/cyclonedds_config.xml\nsudo sysctl -w net.core.rmem_max=2147483647\n

    For more information, Refer to ROS 2 documentation. Reading user guide for chosen DDS is helpful for more understanding.

    "},{"location":"installation/additional-settings-for-developers/#tuning-dds-for-multiple-host-computers-for-advanced-users","title":"Tuning DDS for multiple host computers (for advanced users)","text":"

    When Autoware runs on multiple host computers, IP Fragmentation should be taken into account. As ROS 2 documentation recommends, parameters for IP Fragmentation should be set as shown in the following example.

    sudo sysctl -w net.ipv4.ipfrag_time=3\nsudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728     # (128 MB)\n
    "},{"location":"installation/autoware/docker-installation-devel/","title":"Docker installation for development","text":""},{"location":"installation/autoware/docker-installation-devel/#docker-installation-for-development","title":"Docker installation for development","text":""},{"location":"installation/autoware/docker-installation-devel/#prerequisites","title":"Prerequisites","text":"
    • Git
    • For NVIDIA Jetson devices, install JetPack >= 5.0
    "},{"location":"installation/autoware/docker-installation-devel/#how-to-set-up-a-development-environment","title":"How to set up a development environment","text":"
    1. Clone autowarefoundation/autoware and move to the directory.

      git clone https://github.com/autowarefoundation/autoware.git\ncd autoware\n
    2. You can install the dependencies either manually or using the provided Ansible script.

    Note: Before installing NVIDIA libraries, confirm and agree with the licenses.

    • CUDA
    "},{"location":"installation/autoware/docker-installation-devel/#installing-dependencies-manually","title":"Installing dependencies manually","text":"
    • Install Nvidia CUDA
    • Install Docker Engine
    • Install NVIDIA Container Toolkit
    • Install rocker
    "},{"location":"installation/autoware/docker-installation-devel/#installing-dependencies-using-ansible","title":"Installing dependencies using Ansible","text":"

    Be very careful with this method. Make sure you read and confirmed all the steps in the Ansible configuration before using it.

    If you've manually installed the dependencies, you can skip this section.

    ./setup-dev-env.sh docker\n

    You might need to log out and log back to make the current user able to use docker.

    "},{"location":"installation/autoware/docker-installation-devel/#how-to-set-up-a-workspace","title":"How to set up a workspace","text":"

    Warning

    Before proceeding, confirm and agree with the NVIDIA Deep Learning Container license. By pulling and using the Autoware Universe images, you accept the terms and conditions of the license.

    1. Create the autoware_map directory for map data later.

      mkdir ~/autoware_map\n
    2. Pull the Docker image

      docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
    3. Launch a Docker container.

      • For amd64 architecture computers with NVIDIA GPU:

        rocker --nvidia --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
      • If you want to run container without using NVIDIA GPU, or for arm64 architecture computers:

        rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n

        For detailed reason could be found here

      For more advanced usage, see here.

      After that, move to the workspace in the container:

      cd autoware\n
    4. Create the src directory and clone repositories into it.

      mkdir src\nvcs import src < autoware.repos\n
    5. Update dependent ROS packages.

      The dependency of Autoware may change after the Docker image was created. In that case, you need to run the following commands to update the dependency.

      sudo apt update\nrosdep update\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    6. Build the workspace.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

      If there is any build issue, refer to Troubleshooting.

    "},{"location":"installation/autoware/docker-installation-devel/#how-to-update-a-workspace","title":"How to update a workspace","text":"
    1. Update the Docker image.

      docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
    2. Launch a Docker container.

      • For amd64 architecture computers:

        rocker --nvidia --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
      • If you want to run container without using NVIDIA GPU, or for arm64 architecture computers:

        rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n
    3. Update the .repos file.

      cd autoware\ngit pull\n
    4. Update the repositories.

      vcs import src < autoware.repos\nvcs pull src\n
    5. Build the workspace.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"installation/autoware/docker-installation-prebuilt/","title":"Docker installation for quick start","text":""},{"location":"installation/autoware/docker-installation-prebuilt/#docker-installation-for-quick-start","title":"Docker installation for quick start","text":""},{"location":"installation/autoware/docker-installation-prebuilt/#how-to-set-up-a-development-environment","title":"How to set up a development environment","text":"
    1. Installing dependencies manually

      • Install Docker Engine
      • Install NVIDIA Container Toolkit
      • Install rocker
    "},{"location":"installation/autoware/docker-installation-prebuilt/#how-to-set-up-a-workspace","title":"How to set up a workspace","text":"
    1. Create the autoware_map directory for map data later.

      mkdir ~/autoware_map\n
    2. Launch a Docker container.

      rocker --nvidia --x11 --user --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:humble-latest-prebuilt\n

      For more advanced usage, see here.

    3. Run Autoware simulator

      Inside the container, you can run the Autoware simulation by following this tutorial:

      planning simulation

      rosbag replay simulation.

    "},{"location":"installation/autoware/docker-installation/","title":"Docker installation","text":""},{"location":"installation/autoware/docker-installation/#docker-installation","title":"Docker installation","text":"

    Info

    Since this page explains Docker-specific information, it is recommended to see Source installation as well if you need detailed information.

    Here are two ways to install Autoware by docker:

    • The first way is to start Autoware with prebuilt image, this is a quick start, this way you can only run Autoware simulator and not develop Autoware, it is only suitable for beginners
    • The second way is to start Autoware with devel image, which supports developing and running Autoware using docker
    "},{"location":"installation/autoware/docker-installation/#docker-installation-for-quick-start","title":"Docker installation for quick start","text":"

    docker installation for quick start

    "},{"location":"installation/autoware/docker-installation/#docker-installation-for-development","title":"Docker installation for development","text":"

    docker installation for development

    "},{"location":"installation/autoware/docker-installation/#troubleshooting","title":"Troubleshooting","text":"

    Here are solutions for a few specific errors:

    "},{"location":"installation/autoware/docker-installation/#cuda-error-forward-compatibility-was-attempted-on-non-supported-hw","title":"cuda error: forward compatibility was attempted on non supported hw","text":"

    When starting Docker with GPU support enabled for NVIDIA graphics, you may sometimes receive the following error:

    docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused \"process_linux.go:449: container init caused \\\"process_linux.go:432: running prestart hook 0 caused \\\\\\\"error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: cuda error: forward compatibility was attempted on non supported hw\\\\\\\\n\\\\\\\"\\\"\": unknown.\nERROR: Command return non-zero exit code (see above): 125\n

    This usually indicates that a new NVIDIA graphics driver has been installed (usually via apt) but the system has not yet been restarted. A similar message may appear if the graphics driver is not available, for example because of resuming after suspend.

    To fix this, restart your system after installing the new NVIDIA driver.

    "},{"location":"installation/autoware/docker-installation/#docker-with-nvidia-gpu-fails-to-start-autoware-on-arm64-devices","title":"Docker with NVIDIA gpu fails to start Autoware on arm64 devices","text":"

    When starting Docker with GPU support enabled for NVIDIA graphics on arm64 devices, e.g. NVIDIA jetson AGX xavier, you may receive the following error:

    nvidia@xavier:~$ rocker --nvidia --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda-arm64\n...\n\nCollecting staticx==0.12.3\nDownloading https://files.pythonhosted.org/packages/92/ff/d9960ea1f9db48d6044a24ee0f3d78d07bcaddf96eb0c0e8806f941fb7d3/staticx-0.12.3.tar.gz (68kB)\nComplete output from command python setup.py egg_info:\nTraceback (most recent call last):\nFile \"\", line 1, in\nFile \"/tmp/pip-install-m_nm8mya/staticx/setup.py\", line 4, in\nfrom wheel.bdist_wheel import bdist_wheel\nModuleNotFoundError: No module named 'wheel'\n\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-install-m_nm8mya/staticx/\n...\n

    This error exists in current version of rocker tool, which relates to the os_detection function of rocker.

    To fix this error, temporary modification of rocker source code is required, which is not recommended.

    At current stage, it is recommended to run docker without NVIDIA gpu enabled for arm64 devices:

    rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda\n

    This tutorial will be updated after official fix from rocker.

    "},{"location":"installation/autoware/docker-installation/#tips","title":"Tips","text":""},{"location":"installation/autoware/docker-installation/#non-native-arm64-system","title":"Non-native arm64 System","text":"

    This section describes a process to run arm64 systems on amd64 systems using qemu-user-static.

    Initially, your system is usually incompatible with arm64 systems. To check that:

    $ docker run --rm -t arm64v8/ubuntu uname -m\nWARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested\nstandard_init_linux.go:228: exec user process caused: exec format error\n

    Installing qemu-user-static enables us to run arm64 images on amd64 systems.

    $ sudo apt-get install qemu-user-static\n$ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes\n$ docker run --rm -t arm64v8/ubuntu uname -m\nWARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested\naarch64\n

    To run Autoware's Docker images of arm64 architecture, add the suffix -arm64.

    $ docker run --rm -it ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda-arm64\nWARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested\nroot@5b71391ad50f:/autoware#\n
    "},{"location":"installation/autoware/source-installation/","title":"Source installation","text":""},{"location":"installation/autoware/source-installation/#source-installation","title":"Source installation","text":""},{"location":"installation/autoware/source-installation/#prerequisites","title":"Prerequisites","text":"
    • OS

      • Ubuntu 22.04
    • ROS

      • ROS 2 Humble

      For ROS 2 system dependencies, refer to REP-2000.

    • Git
      • Registering SSH keys to GitHub is preferable.
    sudo apt-get -y update\nsudo apt-get -y install git\n

    Note: If you wish to use ROS 2 Galactic on Ubuntu 20.04, refer to installation instruction from galactic branch, but be aware that Galactic version of Autoware might not have latest features.

    "},{"location":"installation/autoware/source-installation/#how-to-set-up-a-development-environment","title":"How to set up a development environment","text":"
    1. Clone autowarefoundation/autoware and move to the directory.

      git clone https://github.com/autowarefoundation/autoware.git\ncd autoware\n
    2. If you are installing Autoware for the first time, you can automatically install the dependencies by using the provided Ansible script.

      ./setup-dev-env.sh\n

      If you encounter any build issues, please consult the Troubleshooting section for assistance.

    Info

    Before installing NVIDIA libraries, please ensure that you have reviewed and agreed to the licenses.

    • CUDA
    • cuDNN
    • TensorRT

    Note

    The following items will be automatically installed. If the ansible script doesn't work or if you already have different versions of dependent libraries installed, please install the following items manually.

    • Install ROS 2
    • Install ROS 2 Dev Tools
    • Install the RMW Implementation
    • Install pacmod
    • Install Autoware Core dependencies
    • Install Autoware Universe dependencies
    • Install pre-commit dependencies
    • Install Nvidia CUDA
    • Install Nvidia cuDNN and TensorRT

    If you didn't use ansible script you will need to download some package artifacts as explained in Manual loading of artifacts. Otherwise some packages (mostly from perception) will not be able to run as they need these artifacts for the inference.

    "},{"location":"installation/autoware/source-installation/#how-to-set-up-a-workspace","title":"How to set up a workspace","text":"
    1. Create the src directory and clone repositories into it.

      Autoware uses vcstool to construct workspaces.

      cd autoware\nmkdir src\nvcs import src < autoware.repos\n
    2. Install dependent ROS packages.

      Autoware requires some ROS 2 packages in addition to the core components. The tool rosdep allows an automatic search and installation of such dependencies. You might need to run rosdep update before rosdep install.

      source /opt/ros/humble/setup.bash\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    3. Build the workspace.

      Autoware uses colcon to build workspaces. For more advanced options, refer to the documentation.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

      If there is any build issue, refer to Troubleshooting.

    "},{"location":"installation/autoware/source-installation/#how-to-update-a-workspace","title":"How to update a workspace","text":"
    1. Update the .repos file.

      cd autoware\ngit pull <remote> <your branch>\n

      <remote> is usually git@github.com:autowarefoundation/autoware.git

    2. Update the repositories.

      vcs import src < autoware.repos\nvcs pull src\n

      For Git users:

      • vcs import is similar to git checkout.
        • Note that it doesn't pull from the remote.
      • vcs pull is similar to git pull.
        • Note that it doesn't switch branches.

      For more information, refer to the official documentation.

    3. Install dependent ROS packages.

      source /opt/ros/humble/setup.bash\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    4. Build the workspace.

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"installation/related-tools/","title":"Installation of related tools","text":""},{"location":"installation/related-tools/#installation-of-related-tools","title":"Installation of related tools","text":"

    Warning

    Under Construction

    "},{"location":"models/","title":"Machine learning models","text":""},{"location":"models/#machine-learning-models","title":"Machine learning models","text":"

    The Autoware perception stack uses models for inference. These models are automatically downloaded if using ansible, but they can also be downloaded manually.

    "},{"location":"models/#onnx-model-files","title":"ONNX model files","text":""},{"location":"models/#download-instructions","title":"Download instructions","text":"

    The ONNX model files are stored in a common location, hosted by Web.Auto

    Any tool that can download files from the web (e.g. wget or curl) is the only requirement for downloading these files:

    # yabloc_pose_initializer\n\n$ mkdir -p ~/autoware_data/yabloc_pose_initializer/\n$ wget -P ~/autoware_data/yabloc_pose_initializer/ \\\nhttps://s3.ap-northeast-2.wasabisys.com/pinto-model-zoo/136_road-segmentation-adas-0001/resources.tar.gz\n\n\n# image_projection_based_fusion\n\n$ mkdir -p ~/autoware_data/image_projection_based_fusion/\n$ wget -P ~/autoware_data/image_projection_based_fusion/ \\\nhttps://awf.ml.dev.web.auto/perception/models/pointpainting/v4/pts_voxel_encoder_pointpainting.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/pointpainting/v4/pts_backbone_neck_head_pointpainting.onnx\n\n\n# lidar_apollo_instance_segmentation\n\n$ mkdir -p ~/autoware_data/lidar_apollo_instance_segmentation/\n$ wget -P ~/autoware_data/lidar_apollo_instance_segmentation/ \\\nhttps://awf.ml.dev.web.auto/perception/models/lidar_apollo_instance_segmentation/vlp-16.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/lidar_apollo_instance_segmentation/hdl-64.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/lidar_apollo_instance_segmentation/vls-128.onnx\n\n\n# lidar_centerpoint\n\n$ mkdir -p ~/autoware_data/lidar_centerpoint/\n$ wget -P ~/autoware_data/lidar_centerpoint/ \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_voxel_encoder_centerpoint.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_backbone_neck_head_centerpoint.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_voxel_encoder_centerpoint_tiny.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/centerpoint/v2/pts_backbone_neck_head_centerpoint_tiny.onnx\n\n\n# tensorrt_yolo\n\n$ mkdir -p ~/autoware_data/tensorrt_yolo/\n$ wget -P ~/autoware_data/tensorrt_yolo/ \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov3.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov4-tiny.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5s.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5m.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5l.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolov5x.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/coco.names\n\n\n# tensorrt_yolox\n\n$ mkdir -p ~/autoware_data/tensorrt_yolox/\n$ wget -P ~/autoware_data/tensorrt_yolox/ \\\nhttps://awf.ml.dev.web.auto/perception/models/yolox-tiny.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolox-sPlus-opt.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/yolox-sPlus-opt.EntropyV2-calibration.table \\\nhttps://awf.ml.dev.web.auto/perception/models/object_detection_yolox_s/v1/yolox-sPlus-T4-960x960-pseudo-finetune.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/object_detection_yolox_s/v1/yolox-sPlus-T4-960x960-pseudo-finetune.EntropyV2-calibration.table \\\nhttps://awf.ml.dev.web.auto/perception/models/label.txt\n\n\n# traffic_light_classifier\n\n$ mkdir -p ~/autoware_data/traffic_light_classifier/\n$ wget -P ~/autoware_data/traffic_light_classifier/ \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_mobilenetv2_batch_1.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_mobilenetv2_batch_4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_mobilenetv2_batch_6.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_efficientNet_b1_batch_1.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_efficientNet_b1_batch_4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/traffic_light_classifier_efficientNet_b1_batch_6.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/traffic_light_classifier/v2/lamp_labels.txt\n\n\n# traffic_light_fine_detector\n\n$ mkdir -p ~/autoware_data/traffic_light_fine_detector/\n$ wget -P ~/autoware_data/traffic_light_fine_detector/ \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_yolox_s_batch_1.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_yolox_s_batch_4.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_yolox_s_batch_6.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/tlr_yolox_s/v2/tlr_labels.txt\n\n\n# traffic_light_ssd_fine_detector\n\n$ mkdir -p ~/autoware_data/traffic_light_ssd_fine_detector/\n$ wget -P ~/autoware_data/traffic_light_ssd_fine_detector/ \\\nhttps://awf.ml.dev.web.auto/perception/models/mb2-ssd-lite-tlr.onnx \\\nhttps://awf.ml.dev.web.auto/perception/models/voc_labels_tl.txt\n
    "},{"location":"reference-hw/","title":"Reference HW Design","text":""},{"location":"reference-hw/#reference-hw-design","title":"Reference HW Design","text":"

    This document is created to describe and give additional information of the sensors and systems supported by Autoware.Universe software.

    All equipment listed in this document has available ROS 2 drivers and has been tested by one or more of the community members on field in autonomous vehicle and robotics applications.

    The listed sensors and systems are not sold, developed or given direct technical support by the Autoware community. Having said that any ROS 2 and Autoware related issue regarding the hardware usage could be asked using the community guidelines which found here.

    The documents consists of the sections listed below:

    • AD COMPUTERs

      • ADLINK In-Vehicle Computers
        • NXP In-Vehicle Computers
        • Neousys In-Vehicle Computers
        • Crystal Rugged In-Vehicle Computers
    • LiDARs

      • Velodyne 3D LiDAR Sensors
      • Robosense 3D LiDAR Sensors
      • HESAI 3D LiDAR Sensors
      • Leishen 3D LiDAR Sensors
      • Livox 3D LiDAR Sensors
      • Ouster 3D LiDAR Sensors
    • RADARs

      • Smartmicro Automotive Radars
      • Aptiv Automotive Radars
      • Continental Engineering Radars
    • CAMERAs

      • FLIR Machine Vision Cameras
      • Lucid Vision Cameras
      • Allied Vision Cameras
      • Tier IV Cameras
      • Neousys Technology Cameras
    • Thermal CAMERAs

      • FLIR Thermal Automotive Dev. Kit
    • IMU, AHRS & GNSS/INS

      • NovAtel GNSS/INS Sensors
      • XSens GNSS/INS & IMU Sensors
      • SBG GNSS/INS & IMU Sensors
      • Applanix GNSS/INS Sensors
      • PolyExplore GNSS/INS Sensors
      • Fix Position GNSS/INS Sensors
    • Vehicle Drive By Wire Suppliers

      • Dataspeed DBW Solutions
      • AStuff Pacmod DBW Solutions
      • Schaeffler-Paravan Space Drive DBW Solutions
    • Vehicle Platform Suppliers

      • PIX MOVING Autonomous Vehicle Solutions
      • Autonomoustuff AV Solutions
      • NAVYA AV Solutions
    • Remote Drive

      • FORT ROBOTICS
      • LOGITECH
    • Full Drivers List
    • AD Sensor Kit Suppliers

      • LEO Drive AD Sensor Kit
      • TIER IV AD Kit
      • RoboSense AD Sensor Kit
    "},{"location":"reference-hw/ad-computers/","title":"AD Computers","text":""},{"location":"reference-hw/ad-computers/#ad-computers","title":"AD Computers","text":""},{"location":"reference-hw/ad-computers/#adlink-in-vehicle-computers","title":"ADLINK In-Vehicle Computers","text":"

    ADLINK solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) AVA-3510 Intel\u00ae Xeon\u00ae E-2278GE Dual MXM RTX 5000 64GB RAM,CAN, USB, 10G Ethernet, DIO, Hot-Swap SSD, USIM 9~36 VDC, MIL-STD-810H,ISO 7637-2 Y SOAFEE\u2019s AVA Developer Platform Ampere Altra ARMv8 optional USB, Ethernet, DIO, M.2 NVMe SSDs 110/220 AC Y RQX-58G 8-core Arm Nvidia Jetson AGX Xavier USB, Ethernet, M.2 NVME SSD, CAN, USIM, GMSL2 Camera support 9~36VDC, IEC 60068-2-64: Operating 3Grms, 5-500 Hz, 3 axes Y RQX-59G 8-core Arm Nvidia Jetson AGX Orin USB, Ethernet, M.2 NVME SSD, CAN, USIM, GMSL2 Camera support 9~36VDC, IEC 60068-2-64: Operating 3Grms, 5-500 Hz, 3 axes -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#nxp-in-vehicle-computers","title":"NXP In-Vehicle Computers","text":"

    NXP solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) BLUEBOX 3.0 16 x Arm\u00ae Cortex\u00ae-A72 Dual RTX 8000 or RTX A6000 16 GB RAM CAN, FlexRay, USB, Ethernet, DIO, SSD ASIL-D -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#neousys-in-vehicle-computers","title":"Neousys In-Vehicle Computers","text":"

    Neousys solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) 8805-GC AMD\u00ae EPYC\u2122 7003 NVIDIA\u00ae RTX A6000/ A4500 512GB CAN, USB, Ethernet, Serial, Easy-Swap SSD 8-48 Volt, Vibration:MIL-STD810G, Method 514.6, Category 4 Y 10208-GC Intel\u00ae 13th/12th-Gen Core\u2122 Dual 350W NVIDIA\u00ae RTX GPU 64GB CAN, USB, Ethernet, Serial, M2 NVMe SSD 8~48 Volt, Vibration: MIL-STD-810H, Method 514.8, Category 4 Y 9160-GC Intel\u00ae 13th/12th-Gen Core\u2122 NVIDIA\u00ae RTX series up to 130W TDP 64GB CAN, USB, Ethernet, PoE, Serial, two 2.5\" SATA HDD/SSD with RAID, M2 NVMe SSD 8~48, Vibration: Volt,MIL-STD-810G, Method 514.6, Category 4 -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#crystal-rugged-in-vehicle-computers","title":"Crystal Rugged In-Vehicle Computers","text":"

    Crystal Rugged solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) AVC 0161-AC Intel\u00ae Xeon\u00ae Scalable Dual GPU RTX Series 2TB RAM,CAN, USB, Ethernet, Serial, Hot-Swap SSD 10-32 VoltVibration:2 G RMS 10-1000 Hz, 3 axes - AVC0403 Intel\u00ae Xeon\u00ae Scalable or AMD EPYC\u2122 Optional (5 GPU) 2TB RAM, CAN, USB, Ethernet, Serial, Hot-Swap SSD 10-32 Volt, Vibration: 2 G RMS 10-1000 Hz, 3 axes - AVC1322 Intel\u00ae Xeon\u00ae D-1718T or Gen 12/13 Core\u2122 i3/i5/i7 NVIDIA\u00ae Jetson AGX Orin 128 GB DDR4 RAM, USB, Ethernet, Serial, SATA 2.5\u201d SSD 10-36 Volt, Vibration: 5.5g, 5-2,000Hz, 60 min/axis, 3 axis - AVC1753 10th Generation Intel\u00ae Core\u2122 and Xeon\u00ae Optional (1 GPU) 128 GB DDR4 RAM, USB, Ethernet, NVMe U.2 SSD/ 3 SATA SSD 8-36 VDC/ 120-240VAC 50/60Hz, Vibration: 5.5g, 5-2,000Hz, 60 min/axis, 3 axis -

    Link to company website is here.

    "},{"location":"reference-hw/ad-computers/#vecow-in-vehicle-computers","title":"Vecow In-Vehicle Computers","text":"

    Vecow solutions which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Products List CPU GPU RAM, Interfaces Environmental Autoware Tested (Y/N) ECX-3800 PEG Intel\u00ae 13th/12th-Gen Core\u2122 200W power of NVIDIA\u00ae or AMD graphics 64GB RAM, CAN, USB, Ethernet, PoE, Serial, M.2/SATA SSD, SIM Card 12-50 Volt, Vibration:MIL-STD810G, Procedure I, 20\u00b0C to 45\u00b0C - IVX-1000 Intel\u00ae 13th/12th-Gen Core\u2122 NVIDIA Quadro\u00ae MXM Graphics 64GB RAM, Ethernet, PoE, Serial, M.2/SATA/mSATA SSD, SIM Card 16-160 Volt, Vibration: IEC 61373 : 2010, 40\u00b0C to 85\u00b0C -

    Link to company website is here.

    "},{"location":"reference-hw/ad_sensor_kit_suppliers/","title":"AD Sensor Kit Suppliers","text":""},{"location":"reference-hw/ad_sensor_kit_suppliers/#ad-sensor-kit-suppliers","title":"AD Sensor Kit Suppliers","text":""},{"location":"reference-hw/ad_sensor_kit_suppliers/#leo-drive-ad-sensor-kit","title":"LEO Drive AD Sensor Kit","text":"

    LEO Drive Autonomy Essentials Kit contents are listed below:

    Supported Products List Camera Lidar GNSS/INS ROS 2 Support Autoware Tested (Y/N) Autonomy Essentials Kit 8x Lucid Vision TRI054S 4x Velodyne Puck1x Velodyne Alpha Prime1x RoboSense Bpearl 1x SBG Ellipse-D Y Y

    Link to company website: https://leodrive.ai/

    "},{"location":"reference-hw/ad_sensor_kit_suppliers/#tier-iv-ad-kit","title":"TIER IV AD Kit","text":"

    TIER IV sensor fusion system contents are listed below:

    Supported Products List Camera Lidar ECU ROS 2 Support Autoware Tested (Y/N) TIER IV ADK TIER IV C1, C2 HESAI (AT-128,XT-32)Velodyne ADLINK (RQX-58G, AVA-3510) Y Y

    Link to company website: https://sensor.tier4.jp/sensor-fusion-system

    "},{"location":"reference-hw/ad_sensor_kit_suppliers/#robosense-ad-sensor-kit","title":"RoboSense AD Sensor Kit","text":"

    RoboSense L4 sensor fusion solution system contents are listed below:

    Supported Products List Camera Lidar ECU ROS 2 Support Autoware Tested (Y/N) P6 - 4x Automotive Grade Solid-state Lidar Optional - -

    Link to company website: https://www.robosense.ai/en/rslidar/RS-Fusion-P6

    "},{"location":"reference-hw/cameras/","title":"CAMERAs","text":""},{"location":"reference-hw/cameras/#cameras","title":"CAMERAs","text":""},{"location":"reference-hw/cameras/#tier-iv-automotive-hdr-cameras","title":"TIER IV Automotive HDR Cameras","text":"

    TIER IV's Automotive HDR cameras which have ROS 2 driver and tested by TIER IV are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) C1 2.5 30 GMSL2 / USB3 Y (120dB) Y Y IP69K Y Y C2 5.4 30 GMSL2 / USB3 Y (120dB) Y Y IP69K Y Y C3 (to be released in 2024) 8.3 30 GMSL2 / TBD Y (120dB) Y Y IP69K Y Y

    Link to ROS 2 driver: https://github.com/tier4/ros2_v4l2_camera

    Link to product support site: TIER IV Edge.Auto documentation

    Link to product web site: TIER IV Automotive Camera Solution

    "},{"location":"reference-hw/cameras/#flir-machine-vision-cameras","title":"FLIR Machine Vision Cameras","text":"

    FLIR Machine Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) Blackfly S 2.0 5.0 22 95 USB-GigE N/A N/A Y N/A Y - Grasshopper3 2.3 5.0 26 90 USB-GigE N/A N/A Y N/A Y -

    Link to ROS 2 driver: https://github.com/berndpfrommer/flir_spinnaker_ros2

    Link to company website: https://www.flir.eu/iis/machine-vision/

    "},{"location":"reference-hw/cameras/#lucid-vision-cameras","title":"Lucid Vision Cameras","text":"

    Lucid Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) TRITON 054S 5.4 22 GigE Y Y Y up to IP67 Y Y TRITON 032S 3.2 35.4 GigE N/A N/A Y up to IP67 Y Y

    Link to ROS 2 driver: https://gitlab.com/leo-drive/Drivers/arena_camera Link to company website: https://thinklucid.com/triton-gige-machine-vision/

    "},{"location":"reference-hw/cameras/#allied-vision-cameras","title":"Allied Vision Cameras","text":"

    Allied Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface HDR LFM Trigger /Synchronization Ingress Protection ROS 2 Driver Autoware Tested (Y/N) Mako G319 3.2 37.6 GigE N/A N/A Y N/A Y -

    Link to ROS 2 driver: https://github.com/neil-rti/avt_vimba_camera

    Link to company website: https://www.alliedvision.com/en/products/camera-series/mako-g

    "},{"location":"reference-hw/cameras/#neousys-technology-camera","title":"Neousys Technology Camera","text":"

    Neousys Technology cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface Sensor Format Lens ROS 2 Driver Autoware Tested (Y/N) AC-IMX390 2.0 30 GMSL2 (over PCIe-GL26 Grabber Card) 1/2.7\u201d 5-axis active adjustment with adhesive dispense Y Y

    Link to ROS 2 driver: https://github.com/ros-drivers/gscam

    Link to company website: https://www.neousys-tech.com/en/

    "},{"location":"reference-hw/full_drivers_list/","title":"Drivers List","text":""},{"location":"reference-hw/full_drivers_list/#drivers-list","title":"Drivers List","text":"

    The list of all drivers listed above for easy access as a table with additional information:

    Type Maker Driver links License Maintainer Lidar VelodyneHesai Link Apache 2 david.wong@tier4.jpabraham.monrroy@map4.jp Lidar Velodyne Link BSD jwhitley@autonomoustuff.com Lidar Robosense Link BSD zdxiao@robosense.cn Lidar Hesai Link Apache 2 wuxiaozhou@hesaitech.com Lidar Leishen Link - - Lidar Livox Link MIT dev@livoxtech.com Lidar Ouster Link Apache 2 stevenmacenski@gmail.comtom@boxrobotics.ai Radar smartmicro Link Apache 2 opensource@smartmicro.de Radar Continental Engineering Link Apache 2 abraham.monrroy@tier4.jpsatoshi.tanaka@tier4.jp Camera Flir Link Apache 2 bernd.pfrommer@gmail.com Camera Lucid Vision Link - kcolak@leodrive.ai Camera Allied Vision Link Apache 2 at@email.com Camera Tier IV Link GPL - Camera Neousys Technology Link BSD jbo@jhu.edu GNSS NovAtel Link BSD preed@swri.org GNSS SBG Systems Link MIT support@sbg-systems.com GNSS PolyExplore Link - support@polyexplore.com"},{"location":"reference-hw/imu_ahrs_gnss_ins/","title":"IMU, AHRS & GNSS/INS","text":""},{"location":"reference-hw/imu_ahrs_gnss_ins/#imu-ahrs-gnssins","title":"IMU, AHRS & GNSS/INS","text":""},{"location":"reference-hw/imu_ahrs_gnss_ins/#novatel-gnssins-sensors","title":"NovAtel GNSS/INS Sensors","text":"

    NovAtel GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) PwrPak7D-E2 200 Hz R (0.013\u00b0)P (0.013\u00b0)Y (0.070\u00b0) 20 HzL1 / L2 / L5 555 Channels Y - Span CPT7 200 Hz R (0.01\u00b0)\u00a0P (0.01\u00b0)\u00a0Y (0.03\u00b0) 20 Hz L1 / L2 / L5 555 Channels Y -

    Link to ROS 2 driver: https://github.com/swri-robotics/novatel_gps_driver/tree/dashing-devel

    Link to company website: https://hexagonpositioning.com/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#xsens-gnssins-imu-sensors","title":"XSens GNSS/INS & IMU Sensors","text":"

    XSens GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) MTi-680G 2 kHz R (0.2\u00b0)P (0.2\u00b0)Y (0.5\u00b0) 5 HzL1 / L2\u00a0184 Channels Y - MTi-300 AHRS 2 kHz R (0.2\u00b0)P (0.2\u00b0)Y (1\u00b0) Not Applicable Y -

    Link to ROS 2 driver: http://wiki.ros.org/xsens_mti_driver

    Link to company website: https://www.xsens.com/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#sbg-gnssins-imu-sensors","title":"SBG GNSS/INS & IMU Sensors","text":"

    SBG GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) Ellipse-D 200 Hz, 1 kHz (IMU) R (0.1\u00b0)P (0.1\u00b0)Y (0.05\u00b0) 5 HzL1 / L2184 Channels Y Y Ellipse-A (AHRS) 200 Hz, 1 kHz (IMU) R (0.1\u00b0)P (0.1\u00b0)Y (0.8\u00b0) Not Applicable Y -

    Link to ROS 2 driver: https://github.com/SBG-Systems/sbg_ros2

    Link to company website: https://www.sbg-systems.com/products/ellipse-series/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#applanix-gnssins-sensors","title":"Applanix GNSS/INS Sensors","text":"

    SBG GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) POSLVX 200 Hz R (0.03\u00b0)P (0.03\u00b0)Y (0.09\u00b0) L1 / L2 / L5336 Channels Y Y POSLV220 200 Hz R (0.02\u00b0)P (0.02\u00b0)Y (0.05\u00b0) L1 / L2 / L5336 Channels Y Y

    Link to ROS 2 driver: http://wiki.ros.org/applanix_driver

    Link to company website: https://www.applanix.com/products/poslv.htm

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#polyexplore-gnssins-sensors","title":"PolyExplore GNSS/INS Sensors","text":"

    PolyExplore GNSS/INS sensors which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) POLYNAV 2000P 100 Hz R (0.01\u00b0)P (0.01\u00b0)Y (0.1\u00b0) L1 / L2240 Channels Y - POLYNAV 2000S 100 Hz R (0.015\u00b0)P (0.015\u00b0)Y (0.08\u00b0) L1 / L240 Channels Y -

    Link to ROS 2 driver: https://github.com/polyexplore/ROS2_Driver

    Link to company website: https://www.polyexplore.com/

    "},{"location":"reference-hw/imu_ahrs_gnss_ins/#fix-position-gnssins-sensors","title":"Fix Position GNSS/INS Sensors","text":"Supported Products List INS/IMU Rate Roll, Pitch, Yaw Acc. GNSS ROS 2 Driver\u00a0 Autoware Tested (Y/N) Vision-RTK 2 200Hz - 5 HzL1 / L2 Y -

    Link to ROS 2 driver: https://github.com/fixposition/fixposition_driver

    Link to company website: https://www.fixposition.com/

    "},{"location":"reference-hw/lidars/","title":"LIDARs","text":""},{"location":"reference-hw/lidars/#lidars","title":"LIDARs","text":""},{"location":"reference-hw/lidars/#velodyne-3d-lidar-sensors","title":"Velodyne 3D LIDAR Sensors","text":"

    Velodyne Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) Alpha Prime 245m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y Ultra Puck 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y Puck 100m (+15\u00b0)/(-15\u00b0), (360\u00b0) Y Y Puck Hi-res 100m (+10\u00b0)/(-10\u00b0), (360\u00b0) Y Y

    Link to ROS 2 drivers: https://github.com/tier4/nebula https://github.com/ros-drivers/velodyne/tree/ros2/velodyne_pointcloud https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto/-/tree/master/src/drivers/velodyne_nodes https://github.com/autowarefoundation/awf_velodyne/tree/tier4/universe

    Link to company website: https://velodynelidar.com/

    "},{"location":"reference-hw/lidars/#robosense-3d-lidar-sensors","title":"RoboSense 3D LIDAR Sensors","text":"

    RoboSense Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) M1 200m 25\u00b0/120\u00b0 - - E1 30m 90\u00b0/120\u00b0 - - Bpearl 100m 90\u00b0/360\u00b0 Y Y Ruby Plus 250m 40\u00b0/360\u00b0 Y ? Helios 32 150m 70\u00b0/360\u00b0 31\u00b0/360\u00b0 26\u00b0/360\u00b0 Y Y Helios 16 150m 30\u00b0/360\u00b0 Y ?

    Link to ROS 2 driver: https://github.com/RoboSense-LiDAR/rslidar_sdk

    Link to company website: https://www.robosense.ai/

    "},{"location":"reference-hw/lidars/#hesai-3d-lidar-sensors","title":"HESAI 3D LIDAR Sensors","text":"

    Hesai Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) Pandar 128 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y - Pandar 64 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y Pandar 40P 200m (+15\u00b0)/(-25\u00b0), (360\u00b0) Y Y QT 128 50m (-52.6\u00b0/+52.6\u00b0), (360\u00b0) Y Y QT 64 20m (-52.1\u00b0/+52.1\u00b0), (360\u00b0) Y Y AT128 200m (25.4\u00b0), (120\u00b0) Y Y XT32 120m (-16\u00b0/+15\u00b0), (360\u00b0) Y Y XT16 120m (-15\u00b0/+15\u00b0), (360\u00b0) Y - FT120 100m (75\u00b0), (100\u00b0) - - ET25 250m (25\u00b0), (120\u00b0) - -

    Link to ROS 2 drivers: https://github.com/tier4/nebula https://github.com/HesaiTechnology/HesaiLidar_General_ROS

    Link to company website: https://www.hesaitech.com/en/

    "},{"location":"reference-hw/lidars/#leishen-3d-lidar-sensors","title":"Leishen 3D LIDAR Sensors","text":"

    Leishen Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) LS C16 150m (+15\u00b0/-15\u00b0), (360\u00b0) Y - LS C32\u00a0 150m (+15\u00b0/-15\u00b0), (360\u00b0) Y - CH 32 120m (+3.7\u00b0/-6.7\u00b0),(120\u00b0) Y - CH 128 20m (+14\u00b0/-17\u00b0)/(150\u00b0) Y - C32W 160m (+15\u00b0/-55\u00b0), (360\u00b0) Y -

    Link to ROS 2 driver: https://github.com/leishen-lidar

    Link to company website: http://www.lslidar.com/

    "},{"location":"reference-hw/lidars/#livox-3d-lidar-sensors","title":"Livox 3D LIDAR Sensors","text":"

    Livox Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) Horizon 260m (81.7\u00b0), (25.1\u00b0) Y Y Mid-40 260m (38.4\u00b0), Circular Y - Mid-70 90m (70.4\u00b0), (77.2\u00b0) Y - Mid-100 260m (38.4\u00b0), (98.4\u00b0) Y - Mid-360 70m (+52\u00b0/-7\u00b0), (360\u00b0) Y - Avia 190m (70.4\u00b0), Circular Y - HAP 150m (25\u00b0), (120\u00b0) - - Tele-15 320m (16.2\u00b0), (14.5\u00b0) - -

    Link to ROS 2 driver: https://github.com/Livox-SDK/livox_ros2_driver

    Link to company website: https://www.livoxtech.com/

    "},{"location":"reference-hw/lidars/#ouster-3d-lidar-sensors","title":"Ouster 3D LIDAR Sensors","text":"

    Ouster Lidars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (V), (H) ROS 2 Driver Autoware Tested (Y/N) OSDome 45m (180\u00b0), (360\u00b0) Y - OS0 100m (90\u00b0), (360\u00b0) Y - OS1 200m (45\u00b0), (360\u00b0) Y - OS2 400m (22,5\u00b0), (360\u00b0) Y Y

    Link to ROS 2 driver: https://github.com/ros-drivers/ros2_ouster_drivers

    Link to company website: https://ouster.com/

    "},{"location":"reference-hw/radars/","title":"RADARs","text":""},{"location":"reference-hw/radars/#radars","title":"RADARs","text":""},{"location":"reference-hw/radars/#smartmicro-automotive-radars","title":"Smartmicro Automotive Radars","text":"

    Smartmicro Radars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (Azimuth), (Elevation) ROS 2 Driver Autoware Tested (Y/N) DRVEGRD 152 (Dual Mode Medium, Long) M: 0.33...66 m L: 0.9\u2026180 m (100\u00b0), (20\u00b0) Y - DRVEGRD 169 (Ultra-Short, Short, Medium, Long) US: 0.1\u20269.5 m S: 0.2\u202619 m M: 0.6...56 m L: 1.3...130 m US: (140\u00b0), (28\u00b0) S/M/L: (130\u00b0), (15\u00b0) Y - DRVEGRD 171 (Triple Mode Short, Medium Long) S: 0.2...40 m M: 0.5...100 m L: 1.2...240 m (100\u00b0), (20\u00b0) Y -

    Link to ROS 2 driver: https://github.com/smartmicro/smartmicro_ros2_radars

    Link to company website: https://www.smartmicro.com/automotive-radar

    "},{"location":"reference-hw/radars/#aptiv-automotive-radars","title":"Aptiv Automotive Radars","text":"

    Aptiv Radars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (Azimuth), (Elevation) ROS 2 Driver Autoware Tested (Y/N) Aptiv MMR (Dual Mode Short, Long) S: 1...40 m L: 3...160 m Short.: (90), (90\u00b0) Long: (90\u00b0), (90\u00b0) Y - Aptiv ESR 2.5 (Dual Mode (Medium, Long)) M: 1...60 m L: 1...175 m Med.: (90\u00b0), (4.4\u00b0) Long: (20\u00b0), (4.4\u00b0) Y -

    Link to company website: https://autonomoustuff.com/products

    "},{"location":"reference-hw/radars/#continental-engineering-radars","title":"Continental Engineering Radars","text":"

    Continental Engineering Radars which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List Range FOV (Azimuth), (Elevation) ROS 2 Driver Autoware Tested (Y/N) ARS404 Near: 70m Far: 170m Near: (90\u00b0), (18\u00b0) Far: (18\u00b0), (18\u00b0) - - ARS408 Near: 20m Far: 250m Near: (120\u00b0), (20\u00b0) Far: (18\u00b0), (14\u00b0) - -

    Link to ROS 2 driver: https://github.com/tier4/ars408_driver

    Link to company website: https://conti-engineering.com/components/ars430/

    "},{"location":"reference-hw/remote_drive/","title":"Remote Drive","text":""},{"location":"reference-hw/remote_drive/#remote-drive","title":"Remote Drive","text":""},{"location":"reference-hw/remote_drive/#fort-robotics","title":"FORT ROBOTICS","text":"

    Fort Robotics remote control & E-stop devices which are used for autonomous driving and tested by one or more community members are listed below:

    Supported Products Op.Frequency Controller ROS 2 Support Autoware Tested (Y/N) Vehicle Safety Controller with E-stop 900 Mhz radio: up to 2km LOS2.4Ghz radio: up to 500m LOS IP 66 EnclosureBuilt-in emergency stop safety control(2) 2-axis joysticks(2) 1-axis finger sticks(8) buttons - -

    Link to company website: https://fortrobotics.com/vehicle-safety-controller/

    "},{"location":"reference-hw/remote_drive/#logitech","title":"LOGITECH","text":"

    Logitech joysticks which are used for autonomous driving and tested by one or more community members are listed below:

    Supported Products Op.Frequency Controller ROS 2 Support Autoware Tested (Y/N) Logitech F-710 2.4 GHz Wireless, 10m range (2) 2-axis joysticks (18) buttons Y Y

    Link to ROS driver: http://wiki.ros.org/joy

    Link to company website: https://www.logitechg.com/en-us/products/gamepads/f710-wireless-gamepad.html

    "},{"location":"reference-hw/thermal_cameras/","title":"Thermal CAMERAs","text":""},{"location":"reference-hw/thermal_cameras/#thermal-cameras","title":"Thermal CAMERAs","text":""},{"location":"reference-hw/thermal_cameras/#flir-thermal-automotive-dev-kit","title":"FLIR Thermal Automotive Dev. Kit","text":"

    FLIR ADK Thermal Vision cameras which has ROS 2 driver and tested by one or more community members are listed below:

    Supported Products List MP FPS Interface Spectral Band FOV ROS 2 Driver Autoware Tested (Y/N) FLIR ADK 640x512 30 USB-GMSL,Ethernet 8-14 um (LWIR) 75\u02da, 50\u02da, 32\u02da, and 24\u02da - -"},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/","title":"Vehicle Drive By Wire Suppliers","text":""},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#vehicle-drive-by-wire-suppliers","title":"Vehicle Drive By Wire Suppliers","text":""},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#dataspeed-dbw-solutions","title":"Dataspeed DBW Solutions","text":"

    Dataspeed DBW Controllers which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Vehicles Power Remote Control ROS 2 Support Autoware Tested (Y/N) Lincoln MKZ, NautilusFord Fusion, F150, Transit Connect, RangerChrysler PacificaJeep CherokeePolaris GEM, RZR, Lincoln Aviator, Jeep Grand Cherokee 12 Channel PDS,15 A Each at 12 V Optional, Available Y -

    Link to company website: https://www.dataspeedinc.com/

    "},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#astuff-pacmod-dbw-solutions","title":"AStuff Pacmod DBW Solutions","text":"

    Autonomous Stuff Pacmod DBW Controllers which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Vehicles Power Remote Control ROS 2 Support Autoware Tested (Y/N) Polaris GEM SeriesPolaris eLXD MY 2016+Polaris Ranger X900International ProStarLexus RX-450h MYFord RangerToyota MinivanFord TransitHonda CR-V Power distribution panel Optional, Available Y Y

    Link to company website: https://autonomoustuff.com/platform/pacmod

    "},{"location":"reference-hw/vehicle_drive_by_wire_suppliers/#schaeffler-paravan-space-drive-dbw-solutions","title":"Schaeffler-Paravan Space Drive DBW Solutions","text":"

    Schaeffler-Paravan Space Drive DBW Controllers which is used for autonomous driving and tested by one or more community members are listed below:

    Supported Vehicles Power Remote Control ROS 2 Support Autoware Tested (Y/N) Custom Integration with Actuators - Optional, Available Y Y

    Link to company website: https://www.schaeffler-paravan.de/en/products/space-drive-system/

    "},{"location":"reference-hw/vehicle_platform_suppliers/","title":"Vehicle Platform Suppliers","text":""},{"location":"reference-hw/vehicle_platform_suppliers/#vehicle-platform-suppliers","title":"Vehicle Platform Suppliers","text":""},{"location":"reference-hw/vehicle_platform_suppliers/#pix-moving-autonomous-vehicle-solutions","title":"PIX MOVING Autonomous Vehicle Solutions","text":"

    PIX Moving AV solutions which is used for autonomous development and tested by one or more community members are listed below:

    Vehicle Types Sensors Integrated Autoware Installed ROS 2 Support Autoware Tested (Y/N) Electric DBW Chassis and Platforms Y Y Y -

    Link to company website: https://www.pixmoving.com/pixkit

    Different sizes of platforms

    "},{"location":"reference-hw/vehicle_platform_suppliers/#autonomoustuff-av-solutions","title":"Autonomoustuff AV Solutions","text":"

    Autonomoustuff platform solutions which is used for autonomous development and tested by one or more community members are listed below:

    Vehicle Types Sensors Integrated Autoware Installed ROS 2 Support Autoware Tested (Y/N) Road Vehicles, Golf Carts & Trucks Y Y Y -

    Link to company website: https://autonomoustuff.com/platform

    "},{"location":"support/","title":"Support","text":""},{"location":"support/#support","title":"Support","text":"

    This page explains several support resources.

    • Support guidelines pages explain the support mechanisms and guidelines.
    • Troubleshooting pages explain solutions for common issues.
    • Docs guide pages explain related documentation sites.
    "},{"location":"support/docs-guide/","title":"Docs guide","text":""},{"location":"support/docs-guide/#docs-guide","title":"Docs guide","text":"

    This page explains several documentation sites that are useful for Autoware and ROS development.

    • The Autoware Foundation is the official site of the Autoware Foundation. You can learn about the Autoware community here.
    • Autoware Documentation (this site) is the central documentation site for Autoware maintained by the Autoware community. General software-related information of Autoware is aggregated here.
    • Autoware Universe Documentation has READMEs and design documents of software components.
    • ROS Docs Guide explains the ROS 1 and ROS 2 documentation infrastructure.
    "},{"location":"support/support-guidelines/","title":"Support guidelines","text":""},{"location":"support/support-guidelines/#support-guidelines","title":"Support guidelines","text":"

    This page explains the support mechanisms we provide.

    Warning

    Before asking for help, search and read this documentation site carefully. Also, follow the discussion guidelines for discussions.

    Choose appropriate resources depending on what kind of help you need and read the detailed description in the sections below.

    • Documentation sites
      • Various information
    • GitHub Discussions
      • Questions
      • Unconfirmed bugs
      • Feature requests
      • Design discussions
    • GitHub Issues
      • Confirmed bugs
    • Discord
      • Instant messaging between contributors
    • ROS Discourse
      • General topics that should be widely announced
    "},{"location":"support/support-guidelines/#documentation-sites","title":"Documentation sites","text":"

    Docs guide shows the list of useful documentation sites. Visit them and see if there is any information related to your problem.

    Note that the documentation sites aren't always up-to-date and perfect. If you find out that some information is wrong, unclear, or missing in Autoware docs, feel free to submit a pull request following the contribution guidelines.

    Warning

    Since this documentation site is still under construction, there are some empty pages.

    "},{"location":"support/support-guidelines/#github-discussions","title":"GitHub Discussions","text":"

    If you encounter a problem with Autoware, check existing issues and questions and search for similar issues first.

    • Issues

      Note that Autoware has multiple repositories listed in autoware.repos. It is recommended to search across the repositories.

    • Questions

    If no answer was found, create a new question thread here. If your question is not answered within a week, then @mention the maintainers to remind them.

    Also, there are other discussion types such as feature requests or design discussions. Feel free to open or join such discussions.

    If you don't know how to create a discussion, refer to GitHub Docs.

    "},{"location":"support/support-guidelines/#github-issues","title":"GitHub Issues","text":"

    If you have a problem and you have confirmed it is a bug, find the appropriate repository and create a new issue there. If you can't determine the appropriate repository, ask the maintainers for help by creating a new discussion in the Q&A category.

    Warning

    Do not create issues for questions or unconfirmed bugs. If such issues are created, maintainers will transfer them to GitHub Discussions.

    If you want to fix the bug by yourself, discuss the approach with maintainers and submit a pull request.

    "},{"location":"support/support-guidelines/#discord","title":"Discord","text":"

    Autoware has a Discord server for casual communication between contributors.

    The Autoware Discord server is a good place for the following activities:

    • Introduce yourself to the community.
    • Chat with contributors.
    • Take a quick straw poll.

    Note that it is not the right place to get help for your issues.

    "},{"location":"support/support-guidelines/#ros-discourse","title":"ROS Discourse","text":"

    If you want to widely discuss a topic with the general Autoware and ROS community or ask a question not related to Autoware's bugs, post to the Autoware category on ROS Discourse.

    Warning

    Do not post questions about bugs to ROS Discourse!

    "},{"location":"support/troubleshooting/","title":"Troubleshooting","text":""},{"location":"support/troubleshooting/#troubleshooting","title":"Troubleshooting","text":""},{"location":"support/troubleshooting/#setup-issues","title":"Setup issues","text":""},{"location":"support/troubleshooting/#cuda-related-errors","title":"CUDA-related errors","text":"

    When installing CUDA, errors may occur because of version conflicts. To resolve these types of errors, try one of the following methods:

    • Unhold all CUDA-related libraries and rerun the setup script.

      sudo apt-mark unhold  \\\n\"cuda*\"             \\\n\"libcudnn*\"         \\\n\"libnvinfer*\"       \\\n\"libnvonnxparsers*\" \\\n\"libnvparsers*\"     \\\n\"tensorrt*\"         \\\n\"nvidia*\"\n\n./setup-dev-env.sh\n
    • Uninstall all CUDA-related libraries and rerun the setup script.

      sudo apt purge        \\\n\"cuda*\"             \\\n\"libcudnn*\"         \\\n\"libnvinfer*\"       \\\n\"libnvonnxparsers*\" \\\n\"libnvparsers*\"     \\\n\"tensorrt*\"         \\\n\"nvidia*\"\n\nsudo apt autoremove\n\n./setup-dev-env.sh\n

    Warning

    Note that this may break your system and run carefully.

    • Run the setup script without installing CUDA-related libraries.

      ./setup-dev-env.sh --no-nvidia\n

    Warning

    Note that some components in Autoware Universe require CUDA, and only the CUDA version in the env file is supported at this time. Autoware may work with other CUDA versions, but those versions are not supported and functionality is not guaranteed.

    "},{"location":"support/troubleshooting/#build-issues","title":"Build issues","text":""},{"location":"support/troubleshooting/#insufficient-memory","title":"Insufficient memory","text":"

    Building Autoware requires a lot of memory, and your machine can freeze or crash if memory runs out during a build. To avoid this problem, 16-32GB of swap should be configured.

    # Optional: Check the current swapfile\nfree -h\n\n# Remove the current swapfile\nsudo swapoff /swapfile\nsudo rm /swapfile\n\n# Create a new swapfile\nsudo fallocate -l 32G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\n\n# Optional: Check if the change is reflected\nfree -h\n

    For more detailed configuration steps, along with an explanation of swap, refer to Digital Ocean's \"How To Add Swap Space on Ubuntu 20.04\" tutorial

    If there are too many CPU cores (more than 64) in your machine, it might requires larger memory. A workaround here is to limit the job number while building.

    MAKEFLAGS=\"-j4\" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

    You can adjust -j4 to any number based on your system. For more details, see the manual page of GNU make.

    By reducing the number of packages built in parallel, you can also reduce the amount of memory used. In the following example, the number of packages built in parallel is set to 1, and the number of jobs used by make is limited to 1.

    MAKEFLAGS=\"-j1\" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 1\n

    Note

    By lowering both the number of packages built in parallel and the number of jobs used by make, you can reduce the memory usage. However, this also means that the build process takes longer.

    "},{"location":"support/troubleshooting/#errors-when-using-the-latest-version-of-autoware","title":"Errors when using the latest version of Autoware","text":"

    If you are working with the latest version of Autoware, issues can occur due to out-of-date software or old build files.

    To resolve these types of problems, first try cleaning your build artifacts and rebuilding:

    rm -rf build/ install/ log/\ncolcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n

    If the error is not resolved, remove src/ and update your workspace according to installation type (Docker / source).

    Warning

    Before removing src/, confirm that there are no modifications in your local environment that you want to keep!

    If errors still persist after trying the steps above, delete the entire workspace, clone the repository once again and restart the installation process.

    rm -rf autoware/\ngit clone https://github.com/autowarefoundation/autoware.git\n
    "},{"location":"support/troubleshooting/#errors-when-using-a-fixed-version-of-autoware","title":"Errors when using a fixed version of Autoware","text":"

    In principle, errors should not occur when using a fixed version. That said, possible causes include:

    • ROS 2 has been updated with breaking changes.
      • For confirmation, check the Packaging and Release Management tag on ROS Discourse.
    • Your local environment is broken.
      • Confirm your .bashrc file, environment variables, and library versions.

    In addition to the causes listed above, there are two common misunderstandings around the use of fixed versions.

    1. You used a fixed version for autowarefoundation/autoware only. All of the repository versions in the .repos file must be specified in order to use a completely fixed version.

    2. You didn't update the workspace after changing the branch of autowarefoundation/autoware. Changing the branch of autowarefoundation/autoware does not affect the files under src/. You have to run the vcs import command to update them.

    "},{"location":"support/troubleshooting/#error-when-building-python-package","title":"Error when building python package","text":"

    During building the following issue can occurs

    pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '0.23ubuntu1'\n

    The error is due to the fact that for versions between 66.0.0 and 67.5.0 setuptools enforces the python packages to be PEP-440 conformant. Since version 67.5.1 setuptools has a fallback that makes it possible to work with old packages again.

    The solution is to update setuptools to the newest version with the following command

    pip install --upgrade setuptools\n
    "},{"location":"support/troubleshooting/#dockerrocker-issues","title":"Docker/rocker issues","text":"

    If any errors occur when running Autoware with Docker or rocker, first confirm that your Docker installation is working correctly by running the following commands:

    docker run --rm -it hello-world\ndocker run --rm -it ubuntu:latest\n

    Next, confirm that you are able to access the base Autoware image that is stored on the GitHub Packages website

    docker run --rm -it ghcr.io/autowarefoundation/autoware-universe:latest\n
    "},{"location":"support/troubleshooting/#runtime-issues","title":"Runtime issues","text":""},{"location":"support/troubleshooting/#performance-related-issues","title":"Performance related issues","text":"

    Symptoms:

    • Autoware is running slower than expected
    • Messages show up late in RViz2
    • Point clouds are lagging
    • Camera images are lagging behind
    • Point clouds or markers flicker on RViz2
    • When multiple subscribers use the same publishers, the message rate drops

    If you have any of these symptoms, please the Performance Troubleshooting page.

    "},{"location":"support/troubleshooting/#map-does-not-display-when-running-the-planning-simulator","title":"Map does not display when running the Planning Simulator","text":"

    When running the Planning Simulator, the most common reason for the map not being displayed in RViz is because the map path has not been specified correctly in the launch command. You can confirm if this is the case by searching for Could not find lanelet map under {path-to-map-dir}/lanelet2_map.osm errors in the log.

    Another possible reason is that map loading is taking a long time due to poor DDS performance. For this, please visit the Performance Troubleshooting page.

    "},{"location":"support/troubleshooting/performance-troubleshooting/","title":"Performance Troubleshooting","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#performance-troubleshooting","title":"Performance Troubleshooting","text":"

    Overall symptoms:

    • Autoware is running slower than expected
    • Messages show up late in RViz2
    • Point clouds are lagging
    • Camera images are lagging behind
    • Point clouds or markers flicker on RViz2
    • When multiple subscribers use the same publishers, the message rate drops
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnostic-steps","title":"Diagnostic Steps","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#check-if-multicast-is-enabled","title":"Check if multicast is enabled","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms","title":"Target symptoms","text":"
    • When multiple subscribers use the same publishers, the message rate drops
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis","title":"Diagnosis","text":"

    Make sure that the multicast is enabled for your interface.

    For example when you run following:

    source /opt/ros/humble/setup.bash\nros2 run demo_nodes_cpp talker\n

    If you get the error message selected interface \"{your-interface-name}\" is not multicast-capable: disabling multicast, this should be fixed.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution","title":"Solution","text":"

    Run the following command to allow multicast:

    sudo ip link set multicast on {your-interface-name}\n

    This way DDS will function as intended and multiple subscribers can receive data from a single publisher without any significant degradation in performance.

    This is a temporary solution. And will be reverted once the computer restarts.

    To make it permanent either,

    • Create a service to run this on startup (recommended)
    • OR put following lines to the ~/.bashrc file:

      if [ ! -e /tmp/multicast_is_set ]; then\nsudo ip link set lo multicast on\ntouch /tmp/multicast_is_set\nfi\n
      • This will probably ask for password on the terminal every time you restart the computer.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-compilation-flags","title":"Check the compilation flags","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms_1","title":"Target symptoms","text":"
    • Autoware is running slower than expected
    • Point clouds are lagging
    • When multiple subscribers use the same publishers, the message rate drops even further
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_1","title":"Diagnosis","text":"

    Check the ~/.bash_history file to see if there are any colcon build directives without -DCMAKE_BUILD_TYPE=Release or -DCMAKE_BUILD_TYPE=RelWithDebInfo flags at all.

    Even if a build starts with these flags but same workspace gets compiled without these flags, it will still be a slow build in the end.

    In addition, the nodes will run slow in general, especially the pointcloud_preprocessor nodes.

    Example issue: issue2597

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_1","title":"Solution","text":"
    • Remove the build, install and optionally log folders in the main autoware folder.
    • Compile the Autoware with either Release or RelWithDebInfo tags:

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n# Or build with debug flags too (comparable performance but you can debug too)\ncolcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo\n
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-dds-settings","title":"Check the DDS settings","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms_2","title":"Target symptoms","text":"
    • Autoware is running slower than expected
    • Messages show up late in RViz2
    • Point clouds are lagging
    • Camera images are lagging behind
    • When multiple subscribers use the same publishers, the message rate drops
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-rmw-ros-middleware-implementation","title":"Check the RMW (ROS Middleware) implementation","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_2","title":"Diagnosis","text":"

    Run following to check the middleware used:

    echo $RMW_IMPLEMENTATION\n

    The return line should be rmw_cyclonedds_cpp. If not, apply the solution.

    If you are using a different DDS middleware, we might not have official support for it just yet.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_2","title":"Solution","text":"

    Add export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp as a separate line in you ~/.bashrc file.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-if-the-cyclonedds-is-configured-correctly","title":"Check if the CycloneDDS is configured correctly","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_3","title":"Diagnosis","text":"

    Run following to check the configuration .xml file of the CycloneDDS:

    echo $CYCLONEDDS_URI\n

    The return line should be a valid path pointing to an .xml file with CycloneDDS configuration.

    Also check if the file is configured correctly:

    cat !{echo $CYCLONEDDS_URI}\n

    This should print the .xml file on the terminal.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_3","title":"Solution","text":"

    Follow DDS settings:Tuning DDS documentation and make sure:

    • you have export CYCLONEDDS_URI=/absolute_path_to_your/cyclonedds_config.xml as a line on your ~/.bashrc file.
    • you have the cyclonedds_config.xml with the configuration provided in the documentation.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-the-linux-kernel-maximum-buffer-size","title":"Check the Linux kernel maximum buffer size","text":""},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_4","title":"Diagnosis","text":"
    • Run: sysctl net.core.rmem_max, it should return at least net.core.rmem_max = 2147483647.
      • This parameter specifies the maximum size of the \"receive buffer\" for each network connection, which determines the maximum amount of data that can be held in memory at any given time. By increasing the maximum buffer size, the operating system can accommodate larger bursts of data, which can help prevent network congestion and reduce packet loss, resulting in faster and more reliable data transfers.
    • Run: sysctl net.ipv4.ipfrag_time, it should return around: net.ipv4.ipfrag_time = 3
      • The \"net.ipv4.ipfrag_time\" parameter specifies the maximum time in seconds that the kernel should retain partially fragmented IP packets before discarding them. The default value for this parameter is usually set to 30 seconds, but it may vary depending on the specific operating system and configuration.
      • By setting this parameter to a lower value, such as 3 seconds, the kernel can free up memory resources more quickly by discarding partially fragmented packets that are no longer needed, which can help improve the overall performance and stability of the system.
    • Run: sysctl net.ipv4.ipfrag_high_thresh, it should return at around: net.ipv4.ipfrag_high_thresh = 134217728
      • The \"net.ipv4.ipfrag_high_thresh\" parameter specifies the high watermark threshold for the number of partially fragmented packets allowed in the kernel IP packet reassembly queue. When the number of partially fragmented packets in the queue exceeds this threshold, the kernel will start to drop newly arrived packets until the number of partially fragmented packets drops below the threshold.
      • By setting this parameter to a higher value, such as 134217728 (128 MB), the kernel can accommodate a larger number of partially fragmented packets in the queue, which can help improve the performance of network applications that transfer large amounts of data, such as file transfer protocols and multimedia streaming applications.

    More info on these values: Cross-vendor tuning

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_4","title":"Solution","text":"

    Either:

    • Create the following file: sudo touch /etc/sysctl.d/10-cyclone-max.conf (recommended)

      • Edit the file to contain (sudo gedit /etc/sysctl.d/10-cyclone-max.conf):

        net.core.rmem_max=2147483647\nnet.ipv4.ipfrag_time=3\nnet.ipv4.ipfrag_high_thresh=134217728 # (128 MB)\n
        • Either restart the computer or run following to enable the changes:

          sudo sysctl -w net.core.rmem_max=2147483647\nsudo sysctl -w net.ipv4.ipfrag_time=3\nsudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728\n
    • OR put following lines to the ~/.bashrc file:

      if [ ! -e /tmp/kernel_network_conf_is_set ]; then\nsudo sysctl -w net.core.rmem_max=2147483647\nsudo sysctl -w net.ipv4.ipfrag_time=3\nsudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728 # (128 MB)\nfi\n
      • This will probably ask for password on the terminal every time you restart the computer.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#check-if-ros-localhost-only-communication-is-enabled","title":"Check if ROS localhost only communication is enabled","text":"
    • If you are using multi computer setup, please skip this check.
    • Enabling ROS localhost only communication can help improve the performance of ROS by reducing network traffic and avoiding potential conflicts with other devices on the network.
    • Also check Enable localhost-only communication
    "},{"location":"support/troubleshooting/performance-troubleshooting/#target-symptoms_3","title":"Target symptoms","text":"
    • You see topics that shouldn't exist
    • You see point clouds that don't belong to your machine
      • They might be from another computer running ROS 2 on your network
    • Point clouds or markers flicker on RViz2
      • Another publisher (on another machine) may be publishing on the same topic as your node does.
      • Causing the flickering.
    "},{"location":"support/troubleshooting/performance-troubleshooting/#diagnosis_5","title":"Diagnosis","text":"

    Run following to check it:

    echo $ROS_LOCALHOST_ONLY\n

    The return line should be 1. If not, apply the solution.

    "},{"location":"support/troubleshooting/performance-troubleshooting/#solution_5","title":"Solution","text":"
    • Add export $ROS_LOCALHOST_ONLY=1 as a separate line in you ~/.bashrc file.
      • This environment variable tells ROS to only use the loopback network interface (i.e., localhost) for communication, rather than using the network interface card (NIC) for Ethernet or Wi-Fi. This can reduce network traffic and potential conflicts with other devices on the network, resulting in better performance and stability.
    "},{"location":"tutorials/","title":"Simulation tutorials","text":""},{"location":"tutorials/#simulation-tutorials","title":"Simulation tutorials","text":"

    Simulations provide a way of verifying Autoware's functionality before field testing with an actual vehicle. There are three main types of simulation that can be run ad hoc or via a scenario runner.

    "},{"location":"tutorials/#simulation-methods","title":"Simulation methods","text":""},{"location":"tutorials/#ad-hoc-simulation","title":"Ad hoc simulation","text":"

    Ad hoc simulation is a flexible method for running basic simulations on your local machine, and is the recommended method for anyone new to Autoware.

    "},{"location":"tutorials/#scenario-simulation","title":"Scenario simulation","text":"

    Scenario simulation uses a scenario runner to run more complex simulations based on predefined scenarios. It is often run automatically for continuous integration purposes, but can also be run on a local machine.

    "},{"location":"tutorials/#simulation-types","title":"Simulation types","text":""},{"location":"tutorials/#planning-simulation","title":"Planning simulation","text":"

    Planning simulation uses simple dummy data to test the Planning and Control components - specifically path generation, path following and obstacle avoidance. It verifies that a vehicle can reach a goal destination while avoiding pedestrians and surrounding cars, and is another method for verifying the validity of Lanelet2 maps. It also allows for testing of traffic light handling.

    "},{"location":"tutorials/#how-does-planning-simulation-work","title":"How does planning simulation work?","text":"
    1. Generate a path to the goal destination
    2. Control the car along the generated path
    3. Detect and avoid any humans or other vehicles on the way to the goal destination
    "},{"location":"tutorials/#rosbag-replay-simulation","title":"Rosbag replay simulation","text":"

    Rosbag replay simulation uses prerecorded rosbag data to test the following aspects of the Localization and Perception components:

    • Localization: Estimation of the vehicle's location on the map by matching sensor and vehicle feedback data to the map.
    • Perception: Using sensor data to detect, track and predict dynamic objects such as surrounding cars, pedestrians, and other objects

    By repeatedly playing back the data, this simulation type can also be used for endurance testing.

    "},{"location":"tutorials/#digital-twin-simulation","title":"Digital twin simulation","text":"

    Digital twin simulation is a simulation type that is able to produce realistic data and simulate almost the entire system. It is also commonly referred to as end-to-end simulation.

    "},{"location":"tutorials/ad-hoc-simulation/","title":"Ad hoc simulation","text":""},{"location":"tutorials/ad-hoc-simulation/#ad-hoc-simulation","title":"Ad hoc simulation","text":"

    Warning

    Under Construction

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/","title":"Planning simulation","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#planning-simulation","title":"Planning simulation","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#preparation","title":"Preparation","text":"

    Download and unpack a sample map.

    • You can also download the map manually.
    gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1499_nsbUbIeturZaDj7jhUownh5fvXHd'\nunzip -d ~/autoware_map ~/autoware_map/sample-map-planning.zip\n

    Note

    Sample map: Copyright 2020 TIER IV, Inc.

    Check if you have ~/autoware_data folder and files in it.

    $ cd ~/autoware_data\n$ ls -C -w 30\nimage_projection_based_fusion\nlidar_apollo_instance_segmentation\nlidar_centerpoint\ntensorrt_yolo\ntensorrt_yolox\ntraffic_light_classifier\ntraffic_light_fine_detector\ntraffic_light_ssd_fine_detector\nyabloc_pose_initializer\n

    If not, please, follow Manual downloading of artifacts.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#basic-simulations","title":"Basic simulations","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#lane-driving-scenario","title":"Lane driving scenario","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#1-launch-autoware","title":"1. Launch Autoware","text":"
    source ~/autoware/install/setup.bash\nros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n

    Warning

    Note that you cannot use ~ instead of $HOME here.

    If ~ is used, the map will fail to load.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#2-set-an-initial-pose-for-the-ego-vehicle","title":"2. Set an initial pose for the ego vehicle","text":"

    a) Click the 2D Pose estimate button in the toolbar, or hit the P key.

    b) In the 3D View pane, click and hold the left-mouse button, and then drag to set the direction for the initial pose. An image representing the vehicle should now be displayed.

    Warning

    Remember to set the initial pose of the car in the same direction as the lane.

    To confirm the direction of the lane, check the arrowheads displayed on the map.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#3-set-a-goal-pose-for-the-ego-vehicle","title":"3. Set a goal pose for the ego vehicle","text":"

    a) Click the 2D Goal Pose button in the toolbar, or hit the G key.

    b) In the 3D View pane, click and hold the left-mouse button, and then drag to set the direction for the goal pose. If done correctly, you will see a planned path from initial pose to goal pose.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#4-start-the-ego-vehicle","title":"4. Start the ego vehicle","text":"

    Now you can start the ego vehicle driving by clicking the AUTO button on OperationMode in AutowareStatePanel. Alteratively, you can manually start the vehicle by running the following command:

    source ~/autoware/install/setup.bash\nros2 service call /api/operation_mode/change_to_autonomous autoware_adapi_v1_msgs/srv/ChangeOperationMode {}\n

    After that, you can see AUTONOMOUS sign on OperationMode and AUTO button is grayed out.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#parking-scenario","title":"Parking scenario","text":"
    1. Set an initial pose and a goal pose, and engage the ego vehicle.

    2. When the vehicle approaches the goal, it will switch from lane driving mode to parking mode.

    3. After that, the vehicle will reverse into the destination parking spot.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#lane-change-scenario","title":"Lane change scenario","text":"
    1. Download and unpack Nishishinjuku map.

      gdown -O ~/autoware_map/ 'https://github.com/tier4/AWSIM/releases/download/v1.1.0/nishishinjuku_autoware_map.zip'\nunzip -d ~/autoware_map ~/autoware_map/nishishinjuku_autoware_map.zip\n
    2. Launch autoware with Nishishinjuku map with following command:

      source ~/autoware/install/setup.bash\nros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/nishishinjuku_autoware_map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n

    3. Set an initial pose and a goal pose in adjacent lanes.

    4. Engage the ego vehicle. It will make a lane change along the planned path.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#avoidance-scenario","title":"Avoidance scenario","text":"
    1. Set an initial pose and a goal pose in the same lane. A path will be planned.

    2. Set a \"2D Dummy Bus\" on the roadside. A new path will be planned.

    3. Engage the ego vehicle. It will avoid the obstacle along the newly planned path.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#advanced-simulations","title":"Advanced Simulations","text":""},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#placing-dummy-objects","title":"Placing dummy objects","text":"
    1. Click the 2D Dummy Car or 2D Dummy Pedestrian button in the toolbar.
    2. Set the pose of the dummy object by clicking and dragging on the map.
    3. Set the velocity of the object in Tool Properties -> 2D Dummy Car/Pedestrian panel.

      !!! note

      Changes to the velocity parameter will only affect objects placed after the parameter is changed.

    4. Delete any dummy objects placed in the view by clicking the Delete All Objects button in the toolbar.

    5. Click the Interactive button in the toolbar to make the dummy object interactive.

    6. For adding an interactive dummy object, press SHIFT and click the right click.

    7. For deleting an interactive dummy object, press ALT and click the right click.
    8. For moving an interactive dummy object, hold the right click drag and drop the object.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#traffic-light-recognition-simulation","title":"Traffic light recognition simulation","text":"

    By default, traffic lights on the map are all treated as if they are set to green. As a result, when a path is created that passed through an intersection with a traffic light, the ego vehicle will drive through the intersection without stopping.

    The following steps explain how to set and reset traffic lights in order to test how the Planning component will respond.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#set-traffic-light","title":"Set traffic light","text":"
    1. Go to Panels -> Add new panel, select TrafficLightPublishPanel, and then press OK.

    2. In TrafficLightPublishPanel, set the ID and color of the traffic light.

    3. Click the SET button.

    4. Finally, click the PUBLISH button to send the traffic light status to the simulator. Any planned path that goes past the selected traffic light will then change accordingly.

    By default, Rviz should display the ID of each traffic light on the map. You can have a closer look at the IDs by zooming in the region or by changing the View type.

    In case the IDs are not displayed, try the following troubleshooting steps:

    a) In the Displays panel, find the traffic_light_id topic by toggling the triangle icons next to Map > Lanelet2VectorMap > Namespaces.

    b) Check the traffic_light_id checkbox.

    c) Reload the topic by clicking the Map checkbox twice.

    "},{"location":"tutorials/ad-hoc-simulation/planning-simulation/#updatereset-traffic-light","title":"Update/Reset traffic light","text":"

    You can update the color of the traffic light by selecting the next color (in the image it is GREEN) and clicking SET button. In the image the traffic light in front of the ego vehicle changed from RED to GREEN and the vehicle restarted.

    To remove a traffic light from TrafficLightPublishPanel, click the RESET button.

    Reference video tutorials

    "},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/","title":"Rosbag replay simulation","text":""},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#rosbag-replay-simulation","title":"Rosbag replay simulation","text":""},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#steps","title":"Steps","text":"
    1. Download and unpack a sample map.

      • You can also download the map manually.
      gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1A-8BvYRX3DhSzkAnOcGWFw5T30xTlwZI'\nunzip -d ~/autoware_map/ ~/autoware_map/sample-map-rosbag.zip\n
    2. Download the sample rosbag files.

      • You can also download the rosbag files manually.
      gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1VnwJx9tI3kI_cTLzP61ktuAJ1ChgygpG'\nunzip -d ~/autoware_map/ ~/autoware_map/sample-rosbag.zip\n
    3. Check if you have ~/autoware_data folder and files in it.

      $ cd ~/autoware_data\n$ ls -C -w 30\nimage_projection_based_fusion\nlidar_apollo_instance_segmentation\nlidar_centerpoint\ntensorrt_yolo\ntensorrt_yolox\ntraffic_light_classifier\ntraffic_light_fine_detector\ntraffic_light_ssd_fine_detector\nyabloc_pose_initializer\n

      If not, please, follow Manual downloading of artifacts.

    "},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#note","title":"Note","text":"
    • Sample map and rosbag: Copyright 2020 TIER IV, Inc.
    • Due to privacy concerns, the rosbag does not contain image data, which will cause:
      • Traffic light recognition functionality cannot be tested with this sample rosbag.
      • Object detection accuracy is decreased.
    "},{"location":"tutorials/ad-hoc-simulation/rosbag-replay-simulation/#how-to-run-a-rosbag-replay-simulation","title":"How to run a rosbag replay simulation","text":"
    1. Launch Autoware.

      source ~/autoware/install/setup.bash\nros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n

      Note that you cannot use ~ instead of $HOME here.

    2. Play the sample rosbag file.

      source ~/autoware/install/setup.bash\nros2 bag play ~/autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3\n

    3. To focus the view on the ego vehicle, change the Target Frame in the RViz Views panel from viewer to base_link.

    4. To switch the view to Third Person Follower etc, change the Type in the RViz Views panel.

    Reference video tutorials

    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/","title":"MORAI Sim: Drive","text":""},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#morai-sim-drive","title":"MORAI Sim: Drive","text":"

    Note

    Any kind of for-profit activity with the trial version of the MORAI SIM:Drive is strictly prohibited.

    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#hardware-requirements","title":"Hardware requirements","text":"Minimum PC Specs OS Windows 10, Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04 CPU Intel i5-9600KF or AMD Ryzen 5 3500X RAM DDR4 16GB GPU RTX2060 Super Required PC Specs OS Windows 10, Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04 CPU Intel i9-9900K or AMD Ryzen 7 3700X (or higher) RAM DDR4 64GB (or higher) GPU RTX2080Ti or higher"},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#application-and-download","title":"Application and Download","text":"

    Only for AWF developers, trial license for 3 months can be issued. Download the application form and send to Hyeongseok Jeon

    After the trial license is issued, you can login to MORAI Sim:Drive via Launchers (Windows/Ubuntu)

    CAUTION: Do not use the Launchers in the following manual

    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#technical-documents","title":"Technical Documents","text":"

    as Oct. 2022, our simulation version is ver.22.R3 but the english manual is under construction.

    Be aware that the following manuals are for ver.22.R2

    • MORAI Sim:Drive Manual
    • ITRI BUS Odd tutorial
    • Tutorial for rosbag replay with Tacoma Airport
    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/#technical-support","title":"Technical Support","text":"

    Hyeongseok Jeon will give full technical support

    • hsjeon@morai.ai
    • Hyeongseok Jeon#2355 in Discord
    "},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/","title":"AWSIM simulator","text":""},{"location":"tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/#awsim-simulator","title":"AWSIM simulator","text":"

    AWSIM is a simulator for Autoware development and testing. To get started, please follow the official instruction provided by TIER IV.

    "},{"location":"tutorials/scenario-simulation/","title":"Scenario simulation","text":""},{"location":"tutorials/scenario-simulation/#scenario-simulation","title":"Scenario simulation","text":"

    Warning

    Under Construction

    "},{"location":"tutorials/scenario-simulation/planning-simulation/installation/","title":"Installation","text":""},{"location":"tutorials/scenario-simulation/planning-simulation/installation/#installation","title":"Installation","text":"

    This document contains step-by-step instruction on how to build AWF Autoware Core/Universe with scenario_simulator_v2.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/installation/#prerequisites","title":"Prerequisites","text":"
    1. Autoware has been built and installed
    "},{"location":"tutorials/scenario-simulation/planning-simulation/installation/#how-to-build","title":"How to build","text":"
    1. Navigate to the Autoware workspace:

      cd autoware\n
    2. Import Simulator dependencies:

      vcs import src < simulator.repos\n
    3. Install dependent ROS packages:

      source /opt/ros/humble/setup.bash\nrosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO\n
    4. Build the workspace:

      colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release\n
    "},{"location":"tutorials/scenario-simulation/planning-simulation/random-test-simulation/","title":"Random test simulation","text":""},{"location":"tutorials/scenario-simulation/planning-simulation/random-test-simulation/#random-test-simulation","title":"Random test simulation","text":"

    Note

    Running the Scenario Simulator requires some additional steps on top of building and installing Autoware, so make sure that Scenario Simulator installation has been completed first before proceeding.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/random-test-simulation/#running-steps","title":"Running steps","text":"
    1. Move to the workspace directory where Autoware and the Scenario Simulator have been built.

    2. Source the workspace setup script:

      source install/setup.bash\n
    3. Run the simulation:

      ros2 launch random_test_runner random_test.launch.py \\\narchitecture_type:=awf/universe \\\nsensor_model:=sample_sensor_kit \\\nvehicle_model:=sample_vehicle\n

    For more information about supported parameters, refer to the random_test_runner documentation.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/","title":"Scenario test simulation","text":""},{"location":"tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/#scenario-test-simulation","title":"Scenario test simulation","text":"

    Note

    Running the Scenario Simulator requires some additional steps on top of building and installing Autoware, so make sure that Scenario Simulator installation has been completed first before proceeding.

    "},{"location":"tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/#running-steps","title":"Running steps","text":"
    1. Move to the workspace directory where Autoware and the Scenario Simulator have been built.

    2. Source the workspace setup script:

      source install/setup.bash\n
    3. Run the simulation:

      ros2 launch scenario_test_runner scenario_test_runner.launch.py \\\narchitecture_type:=awf/universe \\\nrecord:=false \\\nscenario:='$(find-pkg-share scenario_test_runner)/scenario/sample.yaml' \\\nsensor_model:=sample_sensor_kit \\\nvehicle_model:=sample_vehicle\n

    Reference video tutorials

    "},{"location":"tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/","title":"Driving Log Replayer","text":""},{"location":"tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/#driving-log-replayer","title":"Driving Log Replayer","text":"

    Driving Log Replayer is an evaluation tool for Autoware. To get started, follow the official instruction provided by TIER IV.

    "}]} \ No newline at end of file diff --git a/main/sitemap.xml b/main/sitemap.xml index df003e8291a..78b3718e558 100644 --- a/main/sitemap.xml +++ b/main/sitemap.xml @@ -2,1187 +2,1232 @@ https://autowarefoundation.github.io/autoware-documentation/main/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/autoware-competitions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/license/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/cmake/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/cpp/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/docker/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/github-actions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/markdown/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/package-xml/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/python/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/languages/shell-scripts/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/class-design/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/console-logging/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/coordinate-system/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/directory-structure/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/launch-files/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/message-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/parameters/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/task-scheduling/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/topic-namespaces/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/discussion-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/documentation-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/ci-checks/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/commit-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/review-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/review-tips/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/testing-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/testing-guidelines/integration-testing/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/contributing/testing-guidelines/unit-testing/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/datasets/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/control/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/localization/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/map/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/node-diagram/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/perception/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/planning/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/gnss-ins-data/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/image/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/point-cloud/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/radar-data/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/ultrasonics-data/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/vehicle/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-concepts/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-concepts/difference-from-ai-and-auto/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/cooperation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/fail-safe/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/interface/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/localization/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/motion/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/operation_mode/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/perception/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/planning-factors/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/routing/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/vehicle-doors/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/vehicle-status/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/interface/version/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/localization/initialization_state/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/localization/initialize/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/motion/accept_start/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/motion/state/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_autonomous/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_local/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_remote/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/change_to_stop/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/disable_autoware_control/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/enable_autoware_control/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/operation_mode/state/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/perception/objects/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/planning/steering_factors/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/planning/velocity_factors/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/get_policies/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_commands/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/planning/cooperation/set_policies/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/routing/clear_route/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/routing/route/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/routing/set_route/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/routing/set_route_points/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/routing/state/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/vehicle/status/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/command/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/layout/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/list/api/vehicle/doors/status/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/stories/bus-service/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/stories/taxi-service/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationCommand/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationDecision/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationPolicy/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/CooperationStatus/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorCommand/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorLayout/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatus/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DoorStatusArray/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObject/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectArray/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectKinematics/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DynamicObjectPath/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/LocalizationInitializationState/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MotionState/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/MrmState/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ObjectClassification/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/OperationModeState/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Route/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteData/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteOption/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RoutePrimitive/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteSegment/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/RouteState/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactor/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringFactorArray/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleDimensions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleKinematics/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VehicleStatus/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactor/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityFactorArray/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/AcceptStart/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ChangeOperationMode/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ClearRoute/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetCooperationPolicies/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetDoorLayout/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/GetVehicleDimensions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/InitializeLocalization/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationCommands/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetCooperationPolicies/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetDoorCommand/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoute/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SetRoutePoints/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/types/autoware_adapi_version_msgs/srv/InterfaceVersion/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/change-operation-mode/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/drive-designated-position/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/get-on-off/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/initialize-pose/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/launch-terminate/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/vehicle-monitoring/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/use-cases/vehicle-operation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/control/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/localization/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/map/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/perception-interface/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/planning/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/sensing/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/vehicle-dimensions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/vehicle-interface/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/configuration-management/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/configuration-management/development-process/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/configuration-management/release-process/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/design/configuration-management/repository-structure/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/overview/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/ - 2023-10-27 + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/converting-utm-to-mgrs-map/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/crosswalk/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/detection-area/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/lanelet2/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/speed-bump/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/stop-line/ + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/creating-vector-map/traffic-light/ + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-lc/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fast-lio-slam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/fd-slam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/hdl-graph-slam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/ia-lio-slam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/iscloam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lego-loam-bor/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/lio-sam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/optimized-sc-f-loam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-a-loam/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/open-source-slam/sc-lego-loam/ - 2023-10-27 + 2023-11-02 + daily + + + https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-maps/pointcloud-map-downsampling/ + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-vehicle-interface-package/customizing-for-differential-drive-model/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/creating-your-autoware-meta-repository/creating-autoware-meta-repository/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/launch-autoware/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/launch-autoware/perception/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/launch-autoware/localization-methods/eagleye-guide/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-controller-performance/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/integrating-autoware/tuning-parameters-and-performance/evaluating-real-time-performance/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/add-a-custom-ros-message/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/advanced-usage-of-colcon/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/an-example-procedure-for-adding-and-evaluating-a-new-node/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/applying-clang-tidy-to-ros-packages/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/debug-autoware/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/defining-temporal-performance-metrics/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/determining-component-dependencies/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/fixing-dependent-package-versions/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/reducing-start-delays/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/running-autoware-without-cuda/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/training-machine-learning-models/training-models/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/additional-settings-for-developers/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation-devel/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation-prebuilt/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/installation/related-tools/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/models/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/ad-computers/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/ad_sensor_kit_suppliers/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/cameras/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/full_drivers_list/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/imu_ahrs_gnss_ins/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/lidars/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/radars/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/remote_drive/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/thermal_cameras/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/vehicle_drive_by_wire_suppliers/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/reference-hw/vehicle_platform_suppliers/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/support/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/support/docs-guide/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/support/support-guidelines/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/support/troubleshooting/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/support/troubleshooting/performance-troubleshooting/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/planning-simulation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/rosbag-replay-simulation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/scenario-simulation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/scenario-simulation/planning-simulation/installation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/scenario-simulation/planning-simulation/random-test-simulation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/ - 2023-10-27 + 2023-11-02 daily https://autowarefoundation.github.io/autoware-documentation/main/tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/ - 2023-10-27 + 2023-11-02 daily \ No newline at end of file diff --git a/main/sitemap.xml.gz b/main/sitemap.xml.gz index e6002de7316d594d1cda2b0b61ba5ed5a29b0e7e..c5879a8a59b8ee59ca8cce45f4bae6a998a72b3a 100644 GIT binary patch literal 2621 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 diff --git a/main/support/docs-guide/index.html b/main/support/docs-guide/index.html index a218e871525..a190d1a930c 100644 --- a/main/support/docs-guide/index.html +++ b/main/support/docs-guide/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/support/index.html b/main/support/index.html index e6deb08d99d..8aa5e63178d 100644 --- a/main/support/index.html +++ b/main/support/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/support/support-guidelines/index.html b/main/support/support-guidelines/index.html index b3391800d7d..05213d9ddd1 100644 --- a/main/support/support-guidelines/index.html +++ b/main/support/support-guidelines/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/support/troubleshooting/index.html b/main/support/troubleshooting/index.html index 0d3c2b2e935..c1bb803ed98 100644 --- a/main/support/troubleshooting/index.html +++ b/main/support/troubleshooting/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/support/troubleshooting/performance-troubleshooting/index.html b/main/support/troubleshooting/performance-troubleshooting/index.html index 520d99f0dad..7536ce6c162 100644 --- a/main/support/troubleshooting/performance-troubleshooting/index.html +++ b/main/support/troubleshooting/performance-troubleshooting/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/index.html b/main/tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/index.html index c4837b2211d..11698252a82 100644 --- a/main/tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/index.html +++ b/main/tutorials/ad-hoc-simulation/digital-twin-simulation/MORAI_Sim-tutorial/index.html @@ -1467,6 +1467,12 @@ + + + + + + @@ -2067,6 +2073,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/index.html b/main/tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/index.html index 4ebbe189ff8..c4ac8987d68 100644 --- a/main/tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/index.html +++ b/main/tutorials/ad-hoc-simulation/digital-twin-simulation/awsim-tutorial/index.html @@ -1415,6 +1415,12 @@ + + + + + + @@ -2015,6 +2021,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/ad-hoc-simulation/index.html b/main/tutorials/ad-hoc-simulation/index.html index 391b05d2da7..ecb6277ea1e 100644 --- a/main/tutorials/ad-hoc-simulation/index.html +++ b/main/tutorials/ad-hoc-simulation/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/ad-hoc-simulation/planning-simulation/index.html b/main/tutorials/ad-hoc-simulation/planning-simulation/index.html index 2de025a6d9c..736a22725bb 100644 --- a/main/tutorials/ad-hoc-simulation/planning-simulation/index.html +++ b/main/tutorials/ad-hoc-simulation/planning-simulation/index.html @@ -1514,6 +1514,12 @@ + + + + + + @@ -2114,6 +2120,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/ad-hoc-simulation/rosbag-replay-simulation/index.html b/main/tutorials/ad-hoc-simulation/rosbag-replay-simulation/index.html index f712ea893ea..13d06379110 100644 --- a/main/tutorials/ad-hoc-simulation/rosbag-replay-simulation/index.html +++ b/main/tutorials/ad-hoc-simulation/rosbag-replay-simulation/index.html @@ -1466,6 +1466,12 @@ + + + + + + @@ -2066,6 +2072,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/index.html b/main/tutorials/index.html index f5300a872d2..324729acb5b 100644 --- a/main/tutorials/index.html +++ b/main/tutorials/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/scenario-simulation/index.html b/main/tutorials/scenario-simulation/index.html index e2ade915378..54b306b8cc1 100644 --- a/main/tutorials/scenario-simulation/index.html +++ b/main/tutorials/scenario-simulation/index.html @@ -1405,6 +1405,12 @@ + + + + + + @@ -2005,6 +2011,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/scenario-simulation/planning-simulation/installation/index.html b/main/tutorials/scenario-simulation/planning-simulation/installation/index.html index f10ea390c80..d81221100a4 100644 --- a/main/tutorials/scenario-simulation/planning-simulation/installation/index.html +++ b/main/tutorials/scenario-simulation/planning-simulation/installation/index.html @@ -1453,6 +1453,12 @@ + + + + + + @@ -2053,6 +2059,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/scenario-simulation/planning-simulation/random-test-simulation/index.html b/main/tutorials/scenario-simulation/planning-simulation/random-test-simulation/index.html index 4b453b1e88f..2aa450dd57a 100644 --- a/main/tutorials/scenario-simulation/planning-simulation/random-test-simulation/index.html +++ b/main/tutorials/scenario-simulation/planning-simulation/random-test-simulation/index.html @@ -1446,6 +1446,12 @@ + + + + + + @@ -2046,6 +2052,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/index.html b/main/tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/index.html index e42616ec4f5..aeeb64f223a 100644 --- a/main/tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/index.html +++ b/main/tutorials/scenario-simulation/planning-simulation/scenario-test-simulation/index.html @@ -1446,6 +1446,12 @@ + + + + + + @@ -2046,6 +2052,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + diff --git a/main/tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/index.html b/main/tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/index.html index 36943d75413..36769879402 100644 --- a/main/tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/index.html +++ b/main/tutorials/scenario-simulation/rosbag-replay-simulation/driving-log-replayer/index.html @@ -1415,6 +1415,12 @@ + + + + + + @@ -2015,6 +2021,436 @@ + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + +

    Ra|<@1H{O;s^r1N}h5J#R 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

    QlR0TD;WOdFy_=>=u2b7a0ZCT$Y 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