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.
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.
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.