Skip to content

Interfaces and Dataflow

Axel Böll edited this page Mar 30, 2022 · 12 revisions

Interfaces (old)

Old interface till 01.01.2022
Old interface till 20 March 2022 # ROS Subscriber and Publisher ## Global & Local Planner/ Vehicle Control Interfaces

Global Planner:

Subscribe:

  • GPS Signal (Point, Orientation)
  • Human Interface (Target Position)
  • Driving Metadata (for Reinforcement learning)
  • Recalculate new Route (send blocked Route)

Publish:

  • Global route (Set of points, context)

Perception

Subscribe:

  • Sensors (RGB, Depth, Semantic)

Publish:

  • tld_info_publisher
  • object_info_publisher

Local Planner/ Vehicle Control

Subscribe:

  • GPS Signal (Point, Orientation)
  • Perception (traffic_lights, object)
  • Global route

Publish:

  • Driving Metadata (for Reinforcement learning) Not Implemented
  • Recalculate new Route
  • send blocked Route Not Implemented
  • Local route (Set of points, context)
  • Ackermann Signals

Old Implementation

Old Idea

It's suggested that the global and local planner share the same output data format such that the routing messages can be directly interpreted by the vehicle controller. This decision is based on the fact that we're given map data of a sufficiently good quality, allowing for rudimentary driving based on the global routing information.

Even though providing the same output format, global and local planner follow very different goals. The global planner's responsibility is to process map data and transform this into some kind of live-navigation information. In case there's an incident like e.g. a blocked road, the navigation component needs to recalculate.

In contrast, the local planner tries to project the suggested route into the real world by processing various sensor data, making decisions based on its environment. The overall goal of the local planner is to enrich or alter the route suggested by the global planner to achieve an enhanced driving performance. E.g. driving rules such as "stop at a red traffic light" or "right before left" are enforced by the local planner. Moreover, the local planner will forward a localized subset of the route to the vehicle controller that's ready for driving.

The vehicle controller processes information such as route waypoints and target speed and transforms it into actual driving signals. It uses abstractions to model the physical behavior of the car. The message types are outlined in the following picture.

Global Planner:

Subscribe:

  • GPS Signal (Point, Orientation)
  • Human Interface (Target Position)
  • Driving Metadata (for Reinforcement learning)
  • Recalculate new Route (send blocked Route)

Publish:

  • Global route (Set of points, context)

Local Planner

Subscribe:

  • GPS Signal (Point, Orientation)
  • Perception

Publish:

  • Driving Metadata (for Reinforcement learning)
  • Recalculate new Route (send blocked Route)
  • Local route (Set of points, context)

Vehicle Control

Subscribe:

  • Local route (Set of points, context)
  • GPS Signal (Point, Orientation)

Publish:

  • Ackermann Signals