January 15, 2020

System Design Descriptions

Subsystem Descriptions:

Platform:

The Platform subsystem will encompass all tasks relating to the retrofitting of the one-fifth scale RC camera car, as shown above, for the purposes of demonstrating a real-time ADAPT system. This requires the system to have steer-by-wire and control of the electric wheel motors. The Platform subsystem will also include the selection and calibration of all sensors required by the ADAPT software pipeline and diagnostic tools.

To house all of the on-board computing needs of the ADAPT system, a compute box will be constructed to hold either one computer setup or separate master and slave computing setups, depending on the computation needs of the software pipeline to achieve real-time computation.

In the event of a catastrophic failure or the inability to assemble the necessary hardware for platform autonomy, alternatives for the platform include sourcing another surrogate platform from the team’s mentors, or carrying out the entire system development and demonstration from within simulation.

Terrain Comprehension:

The Terrain Comprehension subsystem includes classification, segmentation, and localization pipelines, along with a resulting map output that shows the location of the vehicle relative to the terrain. A convolutional neural network will be trained on gathered image datasets, with labels that correspond to either dry or wet road conditions. These training images will allow the system to properly distinguish between these two road conditions. Once classification has been performed, the perception data will then be segmented such that individual pixels are labeled with their predicted terrain class. RGB camera, polarizing filter, LiDAR, and an infrared camera will also be experimented to classify and segment adverse terrain in real-time. Localization is performed using an IMU, GPS, and encoder data.

If methods with one sensor do not provide enough terrain comprehension accuracy, sensor fusion will be used to obtain better results. Similarly if one classification method does not prove to be robust enough to be effective in all necessary situations, an ensemble method machine learning classification model will be explored. If algorithms are computationally intensive, the speed of the vehicle will be reduced to achieve real-time terrain comprehension.

Planning:

The Planning subsystem uses the map information generated by the Terrain Comprehension subsystem along with information from the tire model to predict tire-terrain interactions. The output is a probabilistic friction mapping of the environment, which will be used to produce an optimal trajectory to specified waypoints.

If optimal trajectory is too difficult or computationally intensive to generate, the complexity can be reduced by generating a trajectory that is safe but not as smooth, along with also reducing the speed of the vehicle to increase the number of safe trajectories that can be generated.

Dynamics and Controls:

The Dynamics and Control subsystem is where vehicle simulator development, vehicle dynamics and vehicle controls are designed and implemented. The vehicle model that has been implemented is a dynamic bicycle model that represents the assembled test platform.

This subsystem’s accuracy is very important, as it will take all of the information from the other subsystems, such as the sensor readings, perceived road conditions, and planned trajectory, and will use them to determine where the vehicle goes in simulation or the real world.

The controller implemented in this system is a Stanley lateral controller and PI longitudinal controller, with anti-windup.

Interface:

The Interface subsystem allows the user to control, monitor, and diagnose the robot. Interface functions include emergency stop, adding new paths, steering control, and speed control. The interface also provides the user with state and diagnostic information, such as robot speed, robot position, error codes, processor temperature, and camera feed. It also provides plots of the vehicle tracking different trajectories, along with the generated maps it will be traversing through.

Integration and Testing:

The Integration and Testing subsystem is where all the other subsystems are brought together and evaluated to ensure that information can seamlessly flow between the software pipelines. Additionally, the system is evaluated to check if it satisfies the requirements. Initially, based on the direct informational needs of each subsystem, they will be integrated and tested as a new unit, until progressively the entire pipeline has been combined, and finally deployed for end-phase testing on the real-world platform.

There are no alternatives for tasks within this subsystem. Regardless of any changes that are made to the ADAPT system, project scope, or otherwise, the final product will still need to have various subsystem and work packages integrated and tested together, and finally tested as a whole.