Autonomous Vehicle Model in MOBATSim

The structure of an autonomous vehicle in MOBATSim consists of different abstraction levels. The reason for this abstraction is to allow the user to easily access and customize the low-level components, their inputs/outputs, and the implemented decision and control algorithms by clear interfaces between these components and subsystems shown in the figure. There four main interfaces; Perception, Decision-making, Trajectory Planner and Communication Output.

MOBATSim Vehicle Model

The Perception Interface

The Perception Interface consists of three main components; Front sensors, V2V communication input, and Situation awareness. Vehicles perceive the environment in two ways, namely by their front sensors and V2V communication components. The Situation awareness component processes the perceived data in order to assess the emergency case of the vehicle and its relative situation according to the other vehicles around.

The Decision-making Interface

The decision-making part consists of a Path planner and a Behavioral planner. Path planner uses the embedded estimation and pathfinding algorithms to make the decision for the route to be taken by the vehicle. The Behavioral planner takes the input data about the perceived situation of the vehicle and generates the driving command inputs to determine the driving mode of the vehicle (e.g. cruise control, platooning, emergency brake, approaching an intersection). According to the driving mode, the relevant subsystem of the longitudinal speed control adjusts the acceleration commands in order to generate the desired longitudinal speed.

The Trajectory Planner Interface

It consists of a Longitudinal speed control subsystem and a Trajectory generation component. The Longitudinal speed control consists of four main parts. These parts function according to the driving mode command created by the behavioral planner component of the decision-making interface. There are mainly four driving modes available: cruise control, platooning control, safe stop control and emergency stop.

Cruise control is the mode where there is no vehicle ahead. In this mode, the vehicle accelerates to reach its top speed. As long as the front sensor does not sense any vehicle ahead or V2I component of the vehicle does not receive a stop message before an intersection, the vehicle keeps going at its top speed.

When the vehicle has to follow a slower vehicle, the platooning control takes over to generate the acceleration commands to form a stable platoon. There a number of algorithms that can be implemented for following a vehicle and keeping a safe distance. At the moment MOBATSim offers three variations: constant space by PID, constant headway time by PID and constant headway time by MPC. All these control algorithms can be tuned in order to implement more aggressive or more robust vehicle following behaviors.

Safe stop control starts where the vehicle receives a stop message and has to stop before an intersection in case the other vehicles have the right of way to cross the intersection. It helps vehicles slow down softly before a designated stop node.

The emergency stop utilizes full brakes when the vehicle ahead stops suddenly or another vehicle suddenly cuts in. Then the emergency stop part generates a constant deceleration command.

The selected route and the longitudinal speed are taken as inputs by the trajectory generation component to create the longitudinal and rotational motions. A pose vector consisting of an x-y-z coordinate position and a rotation angle is created for the purpose of the simulation.

Communication Output Interface

The current values of position, speed and path plans of the vehicle are then packed by the V2V communication output component and shared with the rest of the network of connected vehicles. The importance of sharing the path plans of the vehicles is to predict the traffic jams and choose a route which reaches the destination node in the shortest time possible.

At this moment the V2I component is only used to cross intersections. AIM (Autonomous Intersection Management) sends and receives messages and uses its own algorithms to give the right of the way to the incoming vehicles. A more detailed explanation of the implemented IM algorithms will be published as a conference paper at IAV2019.

MOBATSim Intersection Model