Skip to content

Component interfaces#

The components of Autoware talk to each other through the component interfaces. A component interface is a ROS topic or service with a fixed name, message type, and QoS. See Autoware interface design for the concept.

The autoware_component_interface_specs package in Autoware Core is the source of truth for these interfaces. It defines each interface as a C++ struct, and it writes all of them to a machine-readable list, interface_manifest.json. Every interface has the version 0.1.0 today. A 0.x version means that the interface can still change.

Components#

  • Sensing

    Sensor data after preprocessing.

  • Map

    Point cloud maps and Lanelet2 maps.

  • Localization

    The pose, velocity, and acceleration of the vehicle.

  • Perception

    Objects, obstacles, and traffic lights.

Interfaces in Autoware Core#

The table lists every interface in interface_manifest.json. All topics use the reliable QoS reliability. Services use the default service QoS of ROS 2. A linked name opens the detailed specification of the interface.

DomainInterfaceTypeKindQoS
Control/control/command/control_cmdautoware_control_msgs/msg/ControlTopicdepth 1, volatile
Control/control/command/gear_cmdautoware_vehicle_msgs/msg/GearCommandTopicdepth 1, volatile
Control/control/command/turn_indicators_cmdautoware_vehicle_msgs/msg/TurnIndicatorsCommandTopicdepth 1, volatile
Control/control/command/hazard_lights_cmdautoware_vehicle_msgs/msg/HazardLightsCommandTopicdepth 1, volatile
Control/control/trajectory_follower/lateral/predicted_trajectoryautoware_planning_msgs/msg/TrajectoryTopicdepth 1, volatile
Control/control/control_mode_requestautoware_vehicle_msgs/srv/ControlModeCommandService
Localization/localization/initializeautoware_localization_msgs/srv/InitializeLocalizationService
Localization/localization/initialization_stateautoware_adapi_v1_msgs/msg/LocalizationInitializationStateTopicdepth 1, transient_local
Localization/localization/kinematic_statenav_msgs/msg/OdometryTopicdepth 1, volatile
Localization/localization/accelerationgeometry_msgs/msg/AccelWithCovarianceStampedTopicdepth 1, volatile
Map/map/vector_mapautoware_map_msgs/msg/LaneletMapBinTopicdepth 1, transient_local
Map/map/map_projector_infoautoware_map_msgs/msg/MapProjectorInfoTopicdepth 1, transient_local
Map/map/get_differential_pointcloud_mapautoware_map_msgs/srv/GetDifferentialPointCloudMapService
Map/map/get_partial_pointcloud_mapautoware_map_msgs/srv/GetPartialPointCloudMapService
Perception/perception/object_recognition/objectsautoware_perception_msgs/msg/PredictedObjectsTopicdepth 1, volatile
Perception/perception/object_recognition/tracking/objectsautoware_perception_msgs/msg/TrackedObjectsTopicdepth 1, volatile
Perception/perception/traffic_light_recognition/traffic_signalsautoware_perception_msgs/msg/TrafficLightGroupArrayTopicdepth 1, volatile
Planning/planning/set_lanelet_routeautoware_planning_msgs/srv/SetLaneletRouteService
Planning/planning/set_waypoint_routeautoware_planning_msgs/srv/SetWaypointRouteService
Planning/planning/clear_routeautoware_planning_msgs/srv/ClearRouteService
Planning/planning/route_stateautoware_planning_msgs/msg/RouteStateTopicdepth 1, transient_local
Planning/planning/routeautoware_planning_msgs/msg/LaneletRouteTopicdepth 1, transient_local
Planning/planning/trajectoryautoware_planning_msgs/msg/TrajectoryTopicdepth 1, volatile
Sensing/sensing/vehicle_velocity_converter/twist_with_covariancegeometry_msgs/msg/TwistWithCovarianceStampedTopicdepth 10, volatile
System/system/operation_mode/stateautoware_adapi_v1_msgs/msg/OperationModeStateTopicdepth 1, transient_local
System/system/operation_mode/change_operation_modeautoware_system_msgs/srv/ChangeOperationModeService
System/system/operation_mode/change_autoware_controlautoware_system_msgs/srv/ChangeAutowareControlService
System/system/fail_safe/mrm_stateautoware_adapi_v1_msgs/msg/MrmStateTopicdepth 1, volatile
Vehicle/vehicle/status/velocity_statusautoware_vehicle_msgs/msg/VelocityReportTopicdepth 1, volatile
Vehicle/vehicle/status/steering_statusautoware_vehicle_msgs/msg/SteeringReportTopicdepth 1, volatile
Vehicle/vehicle/status/gear_statusautoware_vehicle_msgs/msg/GearReportTopicdepth 1, volatile
Vehicle/vehicle/status/turn_indicators_statusautoware_vehicle_msgs/msg/TurnIndicatorsReportTopicdepth 1, volatile
Vehicle/vehicle/status/hazard_lights_statusautoware_vehicle_msgs/msg/HazardLightsReportTopicdepth 1, volatile
Vehicle/vehicle/status/control_modeautoware_vehicle_msgs/msg/ControlModeReportTopicdepth 1, volatile

Interfaces in Autoware Universe#

The autoware_component_interface_specs_universe package defines more interfaces that only Autoware Universe uses.

DomainInterfaceTypeKindQoS
Control/control/command/actuation_cmdtier4_vehicle_msgs/msg/ActuationCommandStampedTopicdepth 1, volatile
Control/control/vehicle_cmd_gate/set_pausetier4_control_msgs/srv/SetPauseService
Control/control/vehicle_cmd_gate/is_pausedtier4_control_msgs/msg/IsPausedTopicdepth 1, transient_local
Control/control/vehicle_cmd_gate/is_start_requestedtier4_control_msgs/msg/IsStartRequestedTopicdepth 1, transient_local
Control/control/vehicle_cmd_gate/set_stoptier4_control_msgs/srv/SetStopService
Control/control/vehicle_cmd_gate/is_stoppedtier4_control_msgs/msg/IsStoppedTopicdepth 1, transient_local
Vehicle/vehicle/status/battery_chargetier4_vehicle_msgs/msg/BatteryStatusTopicdepth 1, volatile
Vehicle/vehicle/doors/commandautoware_adapi_v1_msgs/srv/SetDoorCommandService
Vehicle/vehicle/doors/layoutautoware_adapi_v1_msgs/srv/GetDoorLayoutService
Vehicle/vehicle/doors/statusautoware_adapi_v1_msgs/msg/DoorStatusArrayTopicdepth 1, transient_local

Write a specification page#

Each detailed specification page uses one of these templates. Copy the template, fill in the front matter, and replace the text of each section.