AutoDrive Architecture Design
This document has been developed by the engineering contractor to define the software architecture of the AutoDrive system. The architecture document is based on the requirements document mentioned in the references section.
The intended audience for this document is:
- Subsystem design teams for the subsystems specified here.
- AutoDrive Inc.
The software implementing the AutoDrive system will be divided into the following four subsystems:
- Inter Vehicle Signaling Subsystem will completely handle the Inter Vehicle Signaling protocol. It will provide the Automatic Driving Subsystem (ADS) with information about neighboring vehicles.
- Obstruction Detection Subsystem will interact with the Radar and inform ADS about obstructions on the road.
- Position Mapping Subsystem will obtain the current GPS position and it will plot it on the map and give information about lane curvature and speed limits. It will provide a driving path information to ADS.
- Automatic Driving Subsystem is the heart of the system. It obtains information from other subsystems and uses it to operate the steering, brakes and the accelerator (gas paddle)
The software architecture and the interactions between the subsystems are shown in the figure below.
The roles played by the subsystems in the above figure are described in terms of inputs and outputs of the subsystem.
Inter Vehicle Signaling Subsystem
- Inter Vehicle Signaling information obtained from other vehicles
- Current GPS position is obtained from the Position Mapping Subsystem to keep track of neighboring vehicles
- Lane and speed change requests from the Automatic Driving Subsystem for transmission to other vehicles
- Neighboring vehicle information is passed to the Obstruction Detection Subsystem.
- Lane and speed change requests to other vehicles
- The following outputs are passed to Automatic Driving Subsystem:
- Neighboring vehicle information
- Lane and speed change requests from other vehicles
Obstruction Detection Subsystem
- Radar feed is obtained from the vehicle radar. This information corresponds to the 360 degree sweep around the vehicle.
- Current GPS position is obtained from the Position Mapping Subsystem to keep track of neighboring obstructions
- Neighboring vehicle information is obtained from the Inter Vehicle Signaling Subsystem. This information is used to filter out IVS vehicles from the obstruction list sent to Automatic Driving Subsystem. This way the system will never confuse a vehicle with an obstruction.
- Current obstruction list is passed to the Automatic Driving Subsystem.
Position Mapping Subsystem
- Current GPS position is obtained from the GPS Receiver
- Map updates and weather feeds are obtained over the internet. Mapping information is used to compute a path for the vehicle. This is done by plotting the current position on the map and following the detailed lane level map
- Current GPS information is made available to the IVS and Obstruction Detection Subsystems
- Travel path and plan with complete information about direction changes, speed changes etc. is passed to Automatic Driving Subsystem
Automatic Driving Subsystem
- Lane and speed change requests from the IVS Subsystem. This information will be used to control the brakes, steering and accelerator to implement the request.
- Obstruction List is obtained from the Obstruction Detection Subsystem. This information is used to steer clear off any unexpected obstructions on the highway.
- Travel path and plan obtained from the Position Mapping Subsystem. This information will be used to keep the vehicle in the center of its lane while traveling towards the destination. Lane changes will also be made to exit or enter highways.
- Accelerator (Gas Paddle) is instructed to speed the vehicle
- Brakes are applied to slow down or stop the vehicle
- Steering is used to change vehicle direction
- Dashboard is kept updated with AutoDrive actions. This is to keep the passengers posted about the functioning of the AutoDrive system.