Skip to content

Planning#

This page provides specific specifications about the Interface of the Planning Component. Please refer to the planning architecture design document for high-level concepts and data flow.

TODO: The detailed definitions (meanings of elements included in each topic) are not described yet, need to be updated.

Input#

planning-input

From Map Component#

NameTopicTypeDescription
Vector Map/map/vector_mapautoware_map_msgs/msg/LaneletMapBinMap of the environment where the planning takes place.

From Localization Component#

NameTopicTypeDescription
Vehicle Kinematic State/localization/kinematic_statenav_msgs/msg/OdometryCurrent position, orientation and velocity of ego.
Vehicle Acceleration/localization/accelerationgeometry_msgs/msg/AccelWithCovarianceStampedCurrent acceleration of ego.

TODO: acceleration information should be merged into the kinematic state.

From Perception Component#

NameTopicTypeDescription
Objects/perception/object_recognition/objectsautoware_perception_msgs/msg/PredictedObjectsSet of perceived objects around ego that need to be avoided or followed when planning a trajectory. This contains semantics information such as a object class (e.g. vehicle, pedestrian, etc) or a shape of the objects.
Obstacles/perception/obstacle_segmentation/pointcloudsensor_msgs/msg/PointCloud2Set of perceived obstacles around ego that need to be avoided or followed when planning a trajectory. This only contains a primitive information of the obstacle. No shape nor velocity information.
Occupancy Grid Map/perception/occupancy_grid_map/mapnav_msgs/msg/OccupancyGridContains the presence of obstacles and blind spot information (represented as UNKNOWN).
Traffic Signal/perception/traffic_light_recognition/traffic_signalsautoware_perception_msgs::msg::TrafficLightGroupArrayContains the traffic signal information such as a color (green, yellow, read) and an arrow (right, left, straight).

TODO: The type of the Obstacles information should not depend on the specific sensor message type (now PointCloud). It needs to be fixed.

From API#

NameTopicTypeDescription
Max Velocity/planning/scenario_planning/max_velocity_defaultautoware_adapi_v1_msgs/srv/SetRoutePointsIndicate the maximum value of the vehicle speed plan
Operation Mode/system/operation_mode/stateautoware_adapi_v1_msgs/msg/OperationModeStateIndicates the current operation mode (automatic/manual, etc.).
Route Set/planning/mission_planning/set_routeautoware_adapi_v1_msgs/srv/SetRouteIndicates to set the route when the vehicle is stopped.
Route Points Set/planning/mission_planning/set_route_pointsautoware_adapi_v1_msgs/srv/SetRoutePointsIndicates to set the route with points when the vehicle is stopped.
Route Change/planning/mission_planning/change_routeautoware_adapi_v1_msgs/srv/SetRouteIndicates to change the route when the vehicle is moving.
Route Points Change/planning/mission_planning/change_route_pointsautoware_adapi_v1_msgs/srv/SetRoutePointsIndicates to change the route with points when the vehicle is moving.
Route Clear/planning/mission_planning/clear_routeautoware_adapi_v1_msgs/srv/ClearRouteIndicates to clear the route information.
MRM Route Set Points/planning/mission_planning/mission_planner/srv/set_mrm_routeautoware_adapi_v1_msgs/srv/SetRoutePointsIndicates to set the emergency route.
MRM Route Clear/planning/mission_planning/mission_planner/srv/clear_mrm_routeautoware_adapi_v1_msgs/srv/SetRoutePointsIndicates to clear the emergency route.

Output#

planning-output

To Control#

NameTopicTypeDescription
Trajectory/planning/trajectoryautoware_planning_msgs/msg/TrajectoryA sequence of space and velocity and acceleration points to be followed by the controller.
Turn Indicator/planning/turn_indicators_cmdautoware_vehicle_msgs/msg/TurnIndicatorsCommandTurn indicator signal to be followed by the vehicle.
Hazard Light/planning/hazard_lights_cmdautoware_vehicle_msgs/msg/HazardLightsCommandHazard light signal to be followed by the vehicle.

To System#

NameTopicTypeDescription
Diagnostics/planning/hazard_lights_cmddiagnostic_msgs/msg/DiagnosticArrayDiagnostic status of the Planning component reported to the System component.

To API#

NameTopicTypeDescription
Path Candidate/planning/path_candidate/*autoware_planning_msgs/msg/PathThe path Autoware is about to take. Users can interrupt the operation based on the path candidate information.
Steering Factor/planning/steering_factor/*autoware_adapi_v1_msgs/msg/SteeringFactorArrayInformation about the steering maneuvers performed by Autoware (e.g., steering to the right for a right turn, etc.)
Velocity Factor/planning/velocity_factors/*autoware_adapi_v1_msgs/msg/VelocityFactorArrayInformation about the velocity maneuvers performed by Autoware (e.g., stop for an obstacle, etc.)

Planning internal interface#

This section explains the communication between the different planning modules shown in the Planning Architecture Design.

planning-internal

From Mission Planning to Scenario Planning#

NameTopicTypeDescription
Route/planning/mission_planning/routeautoware_planning_msgs/msg/LaneletRouteA sequence of lane IDs on a Lanelet map, from the starting point to the destination.

From Behavior Planning to Motion Planning#

NameTopicTypeDescription
Path/planning/scenario_planning/lane_driving/behavior_planning/pathautoware_planning_msgs/msg/PathA sequence of approximate vehicle positions for driving, along with information on the maximum speed and the drivable areas. Modules receiving this message are expected to make changes to the path within the constraints of the drivable areas and the maximum speed, generating the desired final trajectory.

From Scenario Planning to Validation#

NameTopicTypeDescription
Trajectory/planning/scenario_planning/trajectoryautoware_planning_msgs/msg/TrajectoryA sequence of precise vehicle positions, speeds, and accelerations required for driving. It is expected that the vehicle will follow this trajectory.