Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_trajectory_concatenator at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Go Sakayori
- Daniel Sanchez
- Shintaro Sakoda
Authors
- Satoshi Ota
- Go Sakayori
Trajectory Concatenator
Purpose/Role
This node aggregates trajectory candidates from multiple trajectory generators into a single autoware_internal_planning_msgs/msg/CandidateTrajectories message. It is intended to be placed between trajectory generators and the selector/ranker.
Algorithm Overview
When a CandidateTrajectories message is received (from either ~/input/trajectories_generative or ~/input/trajectories_backup), the library splits it by generator_id and updates an in-memory buffer so that only the most recent trajectory set for each generator is retained.
A 100 ms timer then scans this buffer and drops any entry whose header stamp is older than the configured duration_time. Immediately after pruning, the timer concatenates all remaining trajectories and their accompanying generator_info arrays, publishes the aggregated message.
Interface
Topics
| Direction | Topic name | Message Type | Description |
|---|---|---|---|
| Subscriber | ~/input/trajectories_generative |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from generative planners |
| Subscriber | ~/input/trajectories_backup |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Trajectory sets from backup planners |
| Publisher | ~/output/trajectories |
autoware_internal_planning_msgs/msg/CandidateTrajectories |
Concatenated list of all buffered trajectories |
Parameters
{{ json_to_markdown(“planning/autoware_trajectory_concatenator/schema/trajectory_concatenator.schema.json”) }}
Changelog for package autoware_trajectory_concatenator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(trajectory_selector): apply [agnocast_wrapper::Node]{.title-ref} to [autoware_trajectory_selector]{.title-ref} (#12920)
- apply agnocast_wrapper::Node
- apply agnocast_wrapper::Node
- fix trajectory_concatenator_wrapper
- style(pre-commit): autofix
- fix to not use template
- style(pre-commit): autofix
- fix: move bug
- fix: use {} for agnocast message_ptr null
- fix: wrap test context assignments in agnocast msg_ptr
- fix: executor
- fix: polling
- refactor: subscriber
* refactor: skip test in cmake ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(trajectory_selector): anchor the concatenation on the main input (#12722)
-
feat(trajectory_selector): combine validator and concatenator (#12532)
- feat(concatenator): add concatenator
- feat: combine concatenator with validator
- fix: remove explicit find package, and pre-commit
- fix: failing test
- fix: create public interface for concatenator, and move concatenator to detail folder
- feat: separate validator to validator interface and initialize selector
- fix loading parameters
* fix(node): publish validated trajectories; remove dead member and unjustified mutable on_timer() computed the validated result but never called publish(), making the node a no-op at the output. Both integration tests were silently timing out because of this. Also removed sub_trajectories_ which was declared but never assigned in subscribers(), and dropped the unjustified [mutable]{.title-ref} qualifier from time_keeper_ (no const method ever writes to it). Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): use validator_ptr_ in validate_trajectories validate_trajectories() was constructing a new TrajectoryValidator on every call (copying the plugins_ vector each time) instead of using the validator_ptr_ member that is initialized in the constructor for exactly this purpose. validator_ptr_ was live memory that was never called. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
* fix(validator_interface): remove redundant diagnostics clear; merge duplicate DebugPublisher Two cleanups in validate_trajectories / publishers():
1. The first diagnostics_interface_ptr_->clear() was dead work: the diagnostics are cleared again five lines later, just before the add_key_value loop, so the first call never had observable effect.
2. pub_validation_reports_ and pub_debug_ were both initialized to a DebugPublisher with the identical prefix "~/debug". A single DebugPublisher handles multiple sub-topics; the duplicate object added confusion without benefit. Removed pub_validation_reports_ and routed its one call-site through pub_debug_. Co-Authored-By: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- fix: add test
- fix: rename context
- style(pre-commit): autofix
- fix: return if concatenated is empty
- doc: docstring
- fix: remove failed spellcheck
* fix initial processing time value Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
- fix: rename interface to wrapper
- remove processing time and add unit test
- style(pre-commit): autofix
- separate trajectory selector
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_trajectory_selector |