Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
jazzy

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_simple_pure_pursuit package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.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-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_simple_pure_pursuit package

Maintainers

  • Yuki Takagi
  • Kosuke Takeuchi
  • Takayuki Murooka

Authors

No additional authors.

Simple Pure Pursuit

The simple_pure_pursuit node receives a reference trajectory from motion_velocity_smoother and calculates the control command using the pure pursuit algorithm.

Flowchart

@startuml
title on_timer
start

:takeData;
if (is data ready?) then (yes)
else
  stop
endif

group create_control_command
  if (reached goal?) then (yes)
    :publish stop command;
    stop
  endif
  :calc_longitudinal_control;
  :calc_steering_angle;
end group

:publish control command;

stop
@enduml

Input topics

Name Type Description
~/input/odometry nav_msgs::msg::Odometry ego odometry
~/input/trajectory autoware_planning_msgs::msg::Trajectory reference trajectory

Output topics

Name Type Description QoS Durability
~/output/control_command autoware_control_msgs::msg::Control control command volatile

Parameters

{{ json_to_markdown(“control/autoware_simple_pure_pursuit/schema/simple_pure_pursuit.schema.json”) }}

CHANGELOG

Changelog for package autoware_simple_pure_pursuit

1.1.0 (2025-05-01)

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: [codecov/refactoring] [simple_pure_pursuit] isolation of core logics, and full revamp of unit tests (#1182)

    • init simpupu core logics module with Apache license
    • init simpupu core logics module with Apache license
    • init simpupu core logics header with Apache license
    • defined simpupu params struct
    • define public funcs
    • defined private funcs and entities for core logics
    • implement simple pure pursuit constructor and param setter
    • isolate create_control_command's core logics from the mess of ROS2+core logics in original node module
    • isolatecalc_longitudinal_control the same way
    • isolate calc_lateral_coltrol the same way
    • modified calc_lateral_control as for now completely immitates the original func (after discussing with the team)
    • refactored the simpupu main header - removing all core logics, leaving only ROS-related
    • refactored the simpupu main module - same way as headers - only ROS2 related + core logics inference
    • quick fixes based for clang compiler suggests
    • adapt cmakelists, package xml and header of core logics, thus wrapping up step 2
    • test_simple_pure_pursuit.cpp - first make it work on build
    • removed the old test cases in unit test module because the old ones are bundled and obsoleted with new architecture
    • added test 1 of perfectly normal case ahppy tracking
    • added test 2 of strong terminal brake at trajectory goal
    • added test 3 of strong terminal brake when trajectory is wayyyyyyyy too short
    • added test 4 of overriding with external target velocity
    • adeed test 5 of lateral offset correcting
    • added test 6 of lookahead distance clamping (the current calc logic is weird so I had to resort to infinity check)
    • added final branch coverage case of lookahead point search exceeding trajectory length case
    • some final touchups, all good I guess
    • style(pre-commit): autofix
    • deal with spell-check-differential
    • fixed that cpplink precommit test of you dont need a ; after a } thingy
    • style(pre-commit): autofix
    • fixed that cpplint precommit of Add #include <memory> for make_unique<> [build/include_what_you_use]
    • change all to (yeah lol right, tbf I've used English for too long to the point of not thinking twice about plural single forms of these words
    • style(pre-commit): autofix
    • refactoring the file/class names as Ishikawa-san suggested
    • style(pre-commit): autofix
    • bring trajectory fallback to core logics
    • prevent node to return early upon false validation
    • dropping set_params() for ummitability
    • successful build
    • rebased, gonna add the precommit lint locally later
    • style(pre-commit): autofix
    • rebase
    • style(pre-commit): autofix
    • fixed spellcheck differentials
    • unified namespaces

    * Update control/autoware_simple_pure_pursuit/src/simple_pure_pursuit.hpp Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

    • [akamine] redundant function set_params() at header
    • [akamine] remove branch redundancy in clongitudinal control command core logic
    • [akamine] name the magic number -10.0 as terminal_brake_accel at simple_pure_pursuit logic header and apply it to whole node
    • [akamine] fix typo EXCEPT=>EXPECT
    • [akamine] fix class name in docstring

    * [akamine] node name inconsistency fix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takayuki AKAMINE <<38586589+takam5f2@users.noreply.github.com>>

  • feat: [codecod/refactoring] [simple_pure_pursuit] implement characterization test (#1179)

    • init characterization test for simple pure pursuit node with Apache license
    • include generic dependencies
    • declare naemspace structures
    • added a dummy odometry generator
    • added a dummy trajectory generator

File truncated at 100 lines see the full file

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_simple_pure_pursuit at Robotics Stack Exchange