feat(autoware_sample_designs): compose the AD API, system and vehicle components from design modules - #1976
Open
technolojin wants to merge 17 commits into
Open
Conversation
… limit inputs Wires collision_detector's operation_mode_state and remaining_distance_time_calculator's planning_velocity through the module designs; their node designs now declare the fixed topic names as remap targets. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Forwards motion_velocity_planner's velocity_limit and clear_velocity_limit up to ScenarioPlanning and feeds them into external_velocity_limit_selector, whose internal inputs were unconnected. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…sources Wires the operation mode transition manager's gate and selector inputs, the stop mode operator's vehicle status, the manual lane change handler's route availability and preferred primitive service, the parking costmap, and the route marker. Exposes the vehicle control mode service, the preferred lane service and the system hazard lights command as component interfaces. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…ules Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…rious modules Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…ules Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
- Updated AdapiRvizHelpers.module.yaml to include helper prefixes for instances and connections. - Modified AutowareSample.system.yaml to reorganize ADAPI components, introducing default_adapi for better structure. - Expanded planning factors in Planning.module.yaml, LaneDriving.module.yaml, ScenarioPlanning.module.yaml, and associated modules to include additional factors for improved behavior and motion planning. - Enhanced connections in behavior planning and motion planning modules to accommodate new planning factors. - Ensured consistency across scenario planning modules by aligning publisher and subscriber connections for new planning factors. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…lobally by the node design Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…functionality Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
This was referenced Sep 7, 2026
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
technolojin
marked this pull request as ready for review
September 7, 2026 04:54
technolojin
requested review from
Kotakku,
MasatoSaeki,
TakaHoribe,
TomohitoAndo,
YoshiRi,
badai-nguyen,
kosuke55,
maxime-clem,
mitsudome-r,
mkuri,
mojomex,
rej55,
shmpwk,
soblin,
taikitanaka3,
takayuki5168,
tkimura4,
yuki-takagi-66,
yukkysaito and
zulfaqar-azmi-t4
as code owners
September 7, 2026 04:54
technolojin
marked this pull request as draft
September 7, 2026 04:55
technolojin
marked this pull request as ready for review
September 7, 2026 04:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Completes the
AutowareSamplereference system so every component is composed from design modules, and carries the launch side of the node design audit in autowarefoundation/autoware_universe#13298.1. AD API split into
adapiandapiThe AD API is now composed from two modules instead of one wrapper:
AdapiNodes.module— the default AD API implementation, one composable node per API domain (interface, localization, routing, autoware_state, diagnostics, fail_safe, heartbeat, …). It instantiates as theadapicomponent.AdapiHelpers.module— the RViz adaptors that turn poses and goals into API requests, plus the external RTC cooperate API. It instantiates as theapicomponent and brings a newAdapiRtcController.nodedesign.The two names are not interchangeable.
/adapi/node/*is a public name: the diagnostic graph configs and theplanning_factorRViz plugin hard-code it, so the node component keepsadapiwhile the helper component takesapi.The AD API components also needed
path: /handling — without it the 41/api/*names exported as/adapi/api/*, which left the engage path dead in planning simulation. They are bound through system-level remaps inAutowareSample.system.yaml.2. System component composed from design modules
New
System.module(diagnostic graph, component state, MRM handling and host monitors, 12 instances) withSystemMonitor.moduleandComponentStateMonitor.moduleunderneath, plus twobase:/remove:variants:System_sim.module— no host resource monitors.System_psim.module— no host resource monitors, reduced component state monitor (ComponentStateMonitor_psim.moduledrops the pointcloud map, NDT pose, obstacle pointcloud and traffic signal topic monitors).Tier4SystemWrapper.nodeand theuniverse_system.parameter_setback it.3. Vehicle component composed from design modules
New
SampleVehicle.moduleinsample_vehicle_launch, composingSampleVehicleInterface.nodewithRawVehicleCmdConverter.node, replacing theSampleSystemVehicleWrapperlaunch wrapper.4. Planning and control module connections
The inputs that the node design audit exposed as having no source are wired: the planning factor publishers and their eleven connections into
ControlEvaluator,steering_statuson the planning modules, the internal velocity limit path into the selector, the operation mode state, and the hazard lights selector input rename that follows autowarefoundation/autoware_universe#13342.5. Service ports declared as clients
PerceptionE2ESimulation.moduleandPointcloudMapFilter.moduledeclaredservice_pointcloud_map_diffas a subscriber; it is a service client. Correcting the port kind also fixed an E2E failure where theobject_lanelet_filtercould not load intopointcloud_container.Related links
Parent Issue:
Related:
The per-component node design PRs this branch is the launch counterpart of — the reference system below was built and run against all of them together:
CollisionDetectorfix, already mergedDependencies
This PR cannot build on its own — the modules here instantiate node designs that live in other repositories. It needs, in
autoware_core:GnssPosergains themap_projector_infosubscriber thatSampleSensorKitGnss.moduleconnects, andBehaviorVelocityPlannergains the nine/planning/planning_factors/*publishers thatBehaviorPlanning.moduleconnects. Without it those two connections name ports that do not exist.autoware_corechanges that are not yet in a PR: the five AD API node designs inautoware_default_adapi/autoware_adapi_adaptorsthatAdapiNodes.moduleandAdapiHelpers.moduleinstantiate, and theMotionVelocityPlannerplanning factor publishers thatMotionPlanning.moduleconnects.and in
autoware_universe, the per-component PRs listed under Related links — in particular:autoware_default_adapi_universeAD API designs plusComponentStateMonitor,DiagnosticGraphAggregatorandOperationModeAvailabilityConverter, whichAdapiNodes.moduleandSystem.moduleresolve against.OperationModeTransitionManagerinterfaces, #13342 theBehaviorPathPlannerplanning factors, and #13335 theDummyDiagPublisherparameters.How was this PR tested?
This branch is the launch side the node design changes were tested with, against a workspace carrying every dependency listed above: all ten
autoware_universecomponent PRs, autowarefoundation/autoware_core#1416, and the twoautoware_corechanges that still need a PR.colcon build --packages-select autoware_sample_designssucceeds with zero warnings, and exports all four modes of theAutowareSamplesystem: Runtime (27 launch files, 232 node entries), LoggingSimulation (27 / 216), PlanningSimulation (26 / 157) and E2ESimulation (25 / 202) — 107 generated launchers in total.AutowareSampleAD API wiring was confirmed live: 21 nodes plus the RTC controller, with every declared connection present./api/*remaps went in.pre-commit run --fileson every changed file passes (prettier, yamllint, sort/prettier package.xml).Notes for reviewers
This is design metadata and launch composition only; no node source is touched.
The branch is stacked on #1972 — its first eight commits are that PR's content, rebased. Review this one as the superset, or #1972 first if you prefer the smaller step.
One known follow-up:
ControlChecker.moduledrops theapi_operation_mode_state→collision_detector.operation_mode_statelink, which was a main-break fix from when the node design pinned that port withglobal:. Now that autowarefoundation/autoware_universe#13312 has made it aremap_target, the link can be restored; the node currently falls back to its default and still listens on/api/operation_mode/state, so behavior is unchanged either way.Interface changes
None at the node level. The
api/adapicomponent split changes which component a node is instantiated under, and the/api/*names are held in place by system-level remaps.Effects on system behavior
None intended. All four
AutowareSamplemodes deploy, and planning simulation reaches autonomous mode.