Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_motion_velocity_planner at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Maxime Clement
- Alqudah Mohammad
- Yutaka Kondo
Authors
- Maxime Clement
Motion Velocity Planner
Overview
motion_velocity_planner is a planner to adjust the trajectory velocity based on the obstacles around the vehicle.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
Each module calculates stop and slow down points to be inserted in the ego trajectory.
These points are assumed to correspond to the base_link frame of the ego vehicle as it follows the trajectory.
This means that to stop before a wall, a stop point is inserted in the trajectory at a distance ahead of the wall equal to the vehicle front offset (wheelbase + front overhang, see the vehicle dimensions.
Input topics
| Name | Type | Description |
|---|---|---|
~/input/trajectory |
autoware_planning_msgs::msg::Trajectory | input trajectory |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~/input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle position and velocity |
~/input/accel |
geometry_msgs::msg::AccelWithCovarianceStamped | vehicle acceleration |
~/input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~/input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
~/input/occupancy_grid |
nav_msgs::msg::OccupancyGrid | occupancy grid |
Output topics
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs::msg::Trajectory | Ego trajectory with updated velocity profile |
~/output/planning_factors/<MODULE_NAME> |
autoware_internal_planning_msgs::msg::PlanningFactorsArray | factors causing change in the ego velocity profile |
Services
| Name | Type | Description |
|---|---|---|
~/service/load_plugin |
autoware_motion_velocity_planner::srv::LoadPlugin | To request loading a plugin |
~/service/unload_plugin |
autoware_motion_velocity_planner::srv::UnloadPlugin | To request unloaded a plugin |
Node parameters
| Parameter | Type | Description |
|---|---|---|
launch_modules |
vector<string> | module names to launch |
In addition, the following parameters should be provided to the node:
- nearest search parameters;
- vehicle info parameters;
- common planning parameters;
- smoother parameters
- Parameters of each plugin that will be loaded.
Changelog for package autoware_motion_velocity_planner
1.1.0 (2025-05-01)
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_motion_velocity_planner): hold mutex_ for the whole on_set_param (#1455) on_trajectory() reads planner_data_ and smooth_velocity_before_planning_ under mutex_, but on_set_param() released the lock after update_module_parameters() and wrote those same members unlocked. Under a multi-threaded executor the two callbacks run concurrently, so hold the lock for the whole body.
-
feat(api, motion_velocity_planner): add the node designs required by the AD API and motion planning design modules (#1456)
- feat(api): add node designs for the default AD API nodes and RViz adaptors
* fix(autoware_motion_velocity_planner): add additional planning factors to publishers in the node design ---------
-
fix(design): align the autoware_core node designs with the packages they describe (#1416)
* fix(autoware_velocity_smoother): correct the velocity limit message type in the node design The node publishes current_velocity_limit_mps as autoware_internal_planning_msgs/msg/VelocityLimit (node.hpp), while the design declared the pre-migration tier4_planning_msgs type, failing the connection check against downstream ports.
- fix(autoware_motion_velocity_planner): correct the velocity limit message types and drop absent publishers in the node design
* fix(autoware_path_generator): correct the path publisher message type in the node design The node publishes autoware_internal_planning_msgs/msg/PathWithLaneId on ~/output/path (node.hpp:84), not autoware_planning_msgs/msg/Path.
* fix(autoware_velocity_smoother): declare the kinematic state subscriber in the node design The node polls /localization/kinematic_state for the ego odometry (node.hpp:94-97); the design did not list the input at all.
* fix(autoware_motion_velocity_planner): name the module-side subscriber topics in the node design The boundary departure prevention module subscribes on absolute topic names, so the default ~/input/<name> remap targets addressed topics the node never opens and the module connections resolved to nothing. Declare the real names and add the steering status input the module also takes.
* fix(autoware_gnss_poser): declare the map projector info subscriber in the node design The node blocks pose conversion until /map/map_projector_info arrives (gnss_poser_node.cpp:43); the design did not list the input at all.
* fix(autoware_behavior_velocity_planner): add additional planning factors to publishers in the node design ---------
-
docs(planning): point the autoware_launch config links at their current path (#1406) [pre-commit-optional]{.title-ref} fails on every PR with three dead links, all pointing into [autoware_launch/config/planning/]{.title-ref}. That tree moved to the [autoware_planning_config]{.title-ref} package: autoware_launch/config/planning/scenario_planning/common/ -> autoware_universe_launch/autoware_planning_config/config/scenario_planning/common/ [autoware_motion_velocity_planner/README.md]{.title-ref} linked [nearest_search.param.yaml]{.title-ref} and [common.param.yaml]{.title-ref}; [autoware_path_generator/README.md]{.title-ref} linked the former. All three now resolve. [autoware_motion_velocity_obstacle_stop_module/README.md]{.title-ref} names the planning preset in prose rather than as a link, so the checker never flagged it, but the path was stale for the same reason and 404s too. Its target moved to [autoware_universe_launch/autoware_planning_config/config/preset/]{.title-ref}. No [autoware_launch/config/planning]{.title-ref} path is left in the repository. [pre-commit run --config .pre-commit-config-optional.yaml markdown-link-check]{.title-ref} passes on all three files.
-
fix(planning): point design param_files at the packages that install them (#1387) BehaviorVelocityPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. MotionVelocityPlanner referenced the module packages with a _module suffix the installed filenames do not have. Co-authored-by: Claude Fable 5
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_planning |
Launch files
- launch/motion_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- motion_velocity_planner_launch_modules
- motion_velocity_config_path
- motion_velocity_planner_param_path
- motion_velocity_planner_param_file [default: $(find-pkg-share autoware_motion_velocity_planner)/config/motion_velocity_planner.param.yaml]