Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]
Messages
Plugins
Recent questions tagged autoware_static_centerline_generator at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_tools.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-25 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
Authors
- Takayuki Murooka
Static Centerline Generator
Purpose
This package statically calculates the centerline satisfying path footprints inside the drivable area.
On narrow-road driving, the default centerline, which is the middle line between lanelets’ right and left boundaries, often causes path footprints outside the drivable area. To make path footprints inside the drivable area, we use online path shape optimization by the autoware_path_optimizer package.
Instead of online path shape optimization, we introduce static centerline optimization. With this static centerline optimization, we have following advantages.
- We can see the optimized centerline shape in advance.
- With the default autoware, path shape is not determined until the vehicle drives there.
- This enables offline path shape evaluation.
- We do not have to calculate a heavy and sometimes unstable path optimization since the path footprints are already inside the drivable area.
Use cases
There are two interfaces to communicate with the centerline optimizer.
Vector Map Builder Interface
Note: This function of Vector Map Builder has not been released. Please wait for a while. Currently there is no documentation about Vector Map Builder’s operation for this function.
The optimized centerline can be generated from Vector Map Builder’s operation.
We can run
- path planning server
- http server to connect path planning server and Vector Map Builder
with the following command by designating <vehicle_model>
ros2 launch autoware_static_centerline_generator run_planning_server.launch.xml vehicle_model:=<vehicle-model>
FYI, port ID of the http server is 4010 by default.
Command Line Interface
The optimized centerline can be generated from the command line interface by designating
<input-osm-path>
-
<output-osm-path>
(not mandatory) <start-lanelet-id>
-
<start-pose>
(not mandatory) <end-lanelet-id>
-
<end-pose>
(not mandatory) <vehicle-model>
-
<goal-method>
(not mandatory,path_generator
orbehavior_path_planner
only) -
<lanelet-sequence>
(not mandatory)
ros2 launch autoware_static_centerline_generator static_centerline_generator.launch.xml run_backgrond:=false lanelet2_input_file_path:=<input-osm-path> lanelet2_output_file_path:=<output-osm-path> start_lanelet_id:=<start-lane-id> start_pose:=<start-pose> end_lanelet_id:=<end-lane-id> end_pose:=<end-pose> vehicle_model:=<vehicle-model> goal_method:=<goal-method> lanelet_sequence:=<lanelet-sequence>
Note that <goal-method>:=behavior_path_planner
is not currently supported.
The default output map path containing the optimized centerline locates /tmp/autoware_static_centerline_generator/lanelet2_map.osm
.
If you want to change the output map path, you can remap the path by designating <output-osm-path>
.
By specifying start-pose
, goal-pose
, and goal-method
, the centerline from start-pose
to goal-pose
can be embedded.
<start-pose>
, <goal-pose>
are entered like [position.x, position.y, position.z, orientation.x, orientation.y, orientation.z, orientation.w]
with double type.
In order to run smoothly to the goal pose, goal-method
is used.
Only path_generator
or behavior_path_planner
can be entered for <goal_method>
.
In <lanelet-sequence>
, you can specify the lanelet_ids for the static centerline to be embedded like "100,101,102"
.
The input route must be continuous and a drivable path.
[!WARNING] If the start pose is off the center of the lane, it is necessary to manually embed a centerline that smoothly connects the start pose and the start lane in advance using VMB, etc.
Architecture
Visualization
When performing validation, launch rviz as follows.
- Gray lines indicate map information such as
lanelet
orstop line
. - The pink and purple lines show the boundaries of the
lanelet
with embedded fixed paths and the embedded static centerline themselves.- The pink and purple breaks indicate where
lanelets
switch.
- The pink and purple breaks indicate where
- The green boxes are safe footprints.
Unsafe Footprints
Optimized centerline may present the following hazards.
These can be identified using the unsafe footprints
marker.
- When the footprint approaches the vehicle boundary
- When making abrupt directional changes
Footprint color changes based on distance to the boundary and the angular difference between front and rear points, with distance displayed as text.
File truncated at 100 lines see the full file
Changelog for package autoware_static_centerline_generator
0.3.0 (2025-08-11)
-
fix(autoware_static_centerline_generator): fix test dependency (#285)
- fix(autoware_static_centerline_generator): fix test dependency
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
ci(build-and-test): fix ci issues (#283)
-
chore: sync files (#214)
-
fix(static_centerline_generator): do not embed a single point centerline (#271) Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>>
-
fix(autoware_static_centerline_generator): fix the name of the executable in static_centerline_generator.launch.xml (#258) fix the name of the executable in static_centerline_generator.launch.xml
-
feat(static_centerline_generator): add various tests (#250)
- refactor
- update test
- fix
- update
- fix cmake
- update cmake
- fix
- tmp: add debug print
- update comment of cmake
- update rviz
* fix
-
fix(static_centerline_generator): collision check on overlapped lanes and more visualization for debugging (#249)
- fix collision check on the overlapped lanes
- fix
- update README.md
- remove cerr
- fix
- visualize centerline
- visualize start/goal pose
- fix whole_optimized_traj_points connection
- use lanelet::Id
- update sample script
* fix test ---------
-
feat(static_centerline_generator): add goal modify function (#248)
- feat(static_centerline_generator): add goal function
- pre-commit
- fix comment content
- fix spell-check
- refactor
- refactoring version 1
- refactoring vesion 2
- style(pre-commit): autofix
- fix pre-commit
- del route_ptr member variable
- refactoring version 3
- merge
- visualize iterative trajectory planning
- fix
- update rviz
- use route instead of route_lane_ids
- fix
- fix goal connection
- fix TODO
- fix
- decrease wait_time_during_planning_iteration
- fix
- modify test
- organize test
* fix
Co-authored-by: t4-adc <<grp-rd-1-adc-admin@tier4.jp>> Co-authored-by: Takayuki Murooka <<takayuki5168@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(static_centerline_generator): visualize iterative planning results and introduce glog
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/run_planning_server.launch.xml
-
- vehicle_model
- launch/static_centerline_generator.launch.xml
-
- vehicle_model [default: autoware_sample_vehicle]
- mode [default: AUTO]
- rviz [default: true]
- centerline_source [default: optimization_trajectory_base]
- lanelet2_input_file_path [default: ]
- lanelet2_output_file_path [default: /tmp/autoware_static_centerline_generator/lanelet2_map.osm]
- start_lanelet_id [default: 0]
- start_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- end_lanelet_id [default: 0]
- end_pose [default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
- goal_method [default: None]
- lanelet_sequence [default: ]
- jitter_deg_threshold [default: 40]
- bag_filename [default: bag.db3]
- lanelet2_map_topic [default: /map/vector_map]
- lanelet2_map_marker_topic [default: /map/vector_map_marker]
- common_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/common.param.yaml]
- nearest_search_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/nearest_search.param.yaml]
- map_loader_param [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
- behavior_path_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner.param.yaml]
- behavior_velocity_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/behavior_velocity_planner.param.yaml]
- path_generator_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/path_generator/path_generator.param.yaml]
- path_smoother_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/path_smoother/elastic_band_smoother.param.yaml]
- path_optimizer_param [default: $(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/motion_planning/autoware_path_optimizer/path_optimizer.param.yaml]
- mission_planner_param [default: $(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml]