Skip to content

Support trajectory switching and update the decision logic for operation mode and MRM #12497

@isamu-takagi

Description

@isamu-takagi

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

While we've added support for a command switching mechanism for MRM in #9235, we now need a trajectory switching function to support the AI ​​planner. This is to allow switching from traditional rule-based planners or to use a trajectory generator for MRM as a backup.

It also supports interfaces for ECU redundancy: https://github.com/orgs/autowarefoundation/discussions/6932

Purpose

  • Using AI planner and rule-based planner together
  • Support for MRM that outputs trajectory

Possible approaches

Autoware's behavior is represented by a combination of several gates/selectors. Here, we will refer to each behavior as a "driving mode" for identification purposes, but the specific details will be determined during the vehicle integration process. The following diagram considers five modes: AutoMode1, AutoMode2, MRM1, MRM2, and RemoteMode.

Image

A trajectory gate takes three candidate inputs: T1, T2, and T3. Similarly, a command gate also takes three candidate inputs: C1, C2, and C3. The vehicle interface is a bit unique, but it also has control modes such as MANUAL, AUTO, and STEER_ONLY. The driving modes are represented by combinations of these, as shown in the table below.

Driving Mode Trajectory Gate Command Gate Vehicle Interface
AutoMode1 T1 C1 AUTO
AutoMode2 T2 C1 AUTO
MRM1 T3 C1 AUTO
MRM2 any C2 AUTO
RemoteMode any C3 AUTO

The diagnostic graph is configured to show the availability of each driving mode. From this, the currently available driving mode is determined and the gate is switched.

Definition of done

  • Add trajectory gate
  • Add gate controller
  • Remove external_cmd_selector
  • Move operation_mode_transition_manager logics

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

To Triage

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions