Semi - Autonomous Truck Platooning
Spring 2017 - Fall 2018
Advisors: Dr. Swaroop Darbha, Dr. Swami Gopalswamy, Dr. Sivakumar Rathinam
I worked as a graduate researcher on an Autonomous Truck Platooning project as part of the CAST lab's partnership with Texas A&M Transportation Institute. The project was funded by Texas Department of Transportation.
The overall goal for the project is to empower drive-by-wire enabled trucks to autonomously follow a manually driven vehicle at the head of the platoon. Heavy vehicles in platoon formation have been shown to reduce net fuel consumption. Implementing this technology in long haul trucks will also reduce driver fatigue and congestion on roads.
Vehicle Dynamics Modeling
I was responsible for developing a detailed plant model that can capture the dynamics of an articulated tractor-semitrailer combination vehicle. This plant model can then be used to test various control algorithms in a Hardware-In-Loop simulation setup, avoiding the need to perform repeated (and possibly unsafe) tests on real vehicles.
We used dSpace Inc.'s SCALEXIO platform as the real-time simulation hardware. A microAutoBox (which is the core real-time micro-controller installed in the vehicles), ran the main control algorithm for the autonomous platoon while the vehicle plant model, along with sensor data was simulated on the SCALEXIO system.
Standalone theoretical models for most automotive subsystems such as engines, tires, suspension already exist in published literature. In order to make use of these while preserving compatibility between such advanced models, Dymola, a software supplied by Dassault Systèmes was being utilized in this project. Dymola offers the flexibility of using a GUI to build the vehicle model as well as using the Modelica programming language.
The Model I've developed in Dymola takes in Steering, Throttle, Brake and Gear Selection inputs and generates all required sensor outputs, including trajectory information (GPS coordinates). An overview of the Dymola model is shown in Item 1b.

Item 1a: Typical SCALEXIO Processing unit (above) and I/O interface (below). Source: dSpace.com

Item 1b: Overview of the GUI developed in Dymola
The Tractor and Trailer models contain further subsystems that model each component in a truck. As an example, some details of the Tractor model are shown in Item 1c. Breaking down each component further results in reducing them to their equations of motion. Thus, a system of coupled equations for the entire vehicle can be setup and solved. In this case, there were about 90,000 equations generated.

Item 1c:
Major components modeled in the Tractor.
Parameter Identification through Experimental Data
Once the complete model was developed, its parameters (gear ratio, friction coefficients, spring constants, torque maps, among many others) had to be tuned to match the performance of the real vehicle.
For this, various experiments were designed to isolate the performance of each subsystem and data was collected using ControlDesk software after building appropriate models in Simulink and uploading compiled code to the on-board micro controller.
An example of such experiment based parameter identification I performed is developing an engine torque map, which enables us to calculate the approximate engine torque at any given RPM and throttle input. The extrapolated surface obtained from collected data is shown in Item 2a.

Item 2a: Torque map of the Engine I developed using emperical data.
Similar Model Identification was performed for other systems in the truck, leading up to a model that is able to track the behavior of the real truck fairly well. A comparison between the velocity and trajectory (GPS coordinates) generated by the simulation and recorded data from the real vehicle confirms this (Items 2b, 2c).

Item 2b: Comparison of the simulated and recorded Trajectories

Item 2c: Comparison of the simulated and recorded Velocities
Given that it is an Open-Loop vehicle simulation, the model I've developed matches the performance of the vehicle in real world well enough for use in HIL simulation. I also implemented a velocity tracking algorithm based on the developed model, which was able to maintain the velocity of the truck to within 0.5 m/s (1 mph) of the target velocity in field tests. A few discrepancies remained but were due to differences in the way the transmission system in the model shifted gears as compared to the transmission ECU in the truck. The truck tended to 'skip' gears during periods of sudden acceleration or deceleration and I was not able to capture the shifting logic completely. Nevertheless, as you can see below, the model has sufficient fidelity in the longitudinal dynamics.

Item 3: Comparison of Target, Simulated and Experimental Velocity profiles
Part of this work has been published as my Master's thesis, titled 'Model Based Longitudinal Control of Heavy Duty Vehicles', where I show how the longitudinal dynamics can be modeled purely from the information available in the J1939 CAN bus, without requiring any manufacturer privileged information.
Here is a copy of my MS thesis:
The Dymola files (requires a license for Dymola to run) and the Simulink files I created are available on Github: