A Modular Approach to Multi-Agent Autonomous Racing: Design, Implementation, and Verification
Sukhil, Varundev, Computer Engineering - School of Engineering and Applied Science, University of Virginia
Behl, Madhur, EN-Comp Science Dept, University of Virginia
Autonomous racing is a research area dedicated to pushing the limits of perception, planning, and control that allow race cars to operate at (and sometimes beyond) their physical limits. Inspired by the statement “When everything looks under control, you're not fast enough!”, engineers continue to push the vehicle performance envelope. The autonomous vehicle substitutes the human driver with a suite of computers, sensors, and actuators -- the elements that enable the racecar to operate autonomously. The field of autonomous racing is still very niche, but it is steadily growing, largely led by academic efforts. Examples of some established platforms include everything from small-scale racecars (such as F1/10) to full-scale vehicles capable of exceeding 200 miles per hour (such as the Indy Autonomous Challenge's AV-21). Although research in autonomous racing is steadily growing, it continues to have two major issues; researchers do not have easy access to an autonomous racing environment (including an autonomous racecar testbed and race-track facilities), and most research in the field are on single-agent time-trial autonomous race. Recent events such as the Indy Passing Challenge use a choreographed overtake setup in a head-to-head autonomous race setting, but there are still no formal guarantees that the racecar is performing as expected beyond basic visual and telemetry cues. In this thesis, we attempt to address these above-mentioned issues using a modular approach to a multi-agent autonomous racing framework. It should be noted that modularity is a key design principle, since it allows much greater excitability and collaboration with domain experts from across the autonomous racing community. Embedding modularity into our model, this dissertation makes the following three major contributions.
First, to address the inaccessibility to autonomous racing, we present our work on the F1/10 racecar testbed (or, Formulae One-Tenth), which is a 1/10th scale autonomous racecar built on a realistic Ackermann-steering car chassis. We used off-the-shelf and easily accessible parts for sensors and embedded computers, as well as a reliable controller to interface with the car chassis. While our F1/10 racecar testbed significantly lowers the barrier to entry, it is still quite expensive for many university groups; this led the development of an equivalent 1/10th scale racing simulator with a virtual F1/10 racecar and a set of accompanying race-tracks using the Gazebo physics-engine and Robot Operating System (ROS). Both the physical and virtual racecars are fully capable of multi-agent autonomous control. The F1/10 testbed and the Gazebo F1/10 simulator have been adopted by many universities around the world for instruction and research. The F1/10 world championships is an annual race and exhibition event held along major academic conferences to showcase the latest autonomous racing algorithm and hardware advances.
The second contribution in this thesis is a modular autonomous racing software stack. The right hardware is a very important element of an autonomous racecar, but we need the right software that uses the data from the sensors that make the racecar “autonomous”. The software stack of an autonomous racecar is complex, but it can be broadly categorized as a collection of nodes that perform specific tasks for perception, path-planning, and controls. Within this software stack, we have incorporated several perception and localization techniques (such as SLAM, fast particle filter, etc.) that aid the racecar in understanding its own pose relative to the environment. For path-planning, our software stack uses an offline global optimal raceline planner with a local planner that uses a quintic polynomial generator to create locally optimal splines that enable features such as dynamic obstacle avoidance, trajectory switching, and overtaking. Within the software stack, we created a novel adaptive look-ahead Ackermann-steering pure-pursuit path-tracking technique that allows the autonomous racecar to closely follow a reference trajectory at very high speeds, without the known drawbacks of the core algorithm such as corner cutting and steering oscillations. This method was verified using the Cavalier AV-21 racecar at Indianapolis Motor Speedway, where the racecar achieved speeds over 125 miles/hour while safely and effectively following a global raceline using our path-tracker for lateral control (steering). The adaptive look-ahead Ackermann-steering adjusted pure-pursuit is the fastest model-free path-tracking technique is 33% faster than the Stanley controller and 60% faster than Time-Elastic Band controller. We extended the adaptive look-ahead pure-pursuit path-tracking method using a fast numerical optimizer that works on a kinetic bicycle-model based controller capable of longitudinal control (acceleration and braking actuation) in addition to lateral control. The model-based path-tracker is 10% faster than the model-free adaptive look-ahead path-tracker.
The third contribution is a framework that models a subset of multi-agent racing -- called head-to-head racing -- which involves two similar autonomous racecars. We used geometric constraints to develop efficient overtake and position defense methods within our framework. This model is called ARGOS: Automaton Referencing Guided Overtake System. ARGOS uses a network of automatons and support nodes to identify the racecar's role as either an “attacker” (for overtakes) or a “defender” (for position defense). The overtake is supervised by the AutoPass (Autonomous Passing) system which attempts to fit a trapezoid around the opponent and stitch a spline using the trapezoid's vertices as guide points. Alternatively, position defense is handled by the KAVAL (Kinematic Vector Analysis) system, which attempts to estimate the future pose of the overtaking opponent (also called a superprojected pose) and intercept this superprojected pose to maintain its current race position. We then present our work on formally verifying that the ARGOS framework performs as expected using a formal method called model-checking. To formally verify ARGOS, we used a list of five specifications (also called race rules) that were inspired by rules from real-world motorsport racing. The ARGOS framework was tested against these specifications, and we performed an exhaustive search for counterexamples that could invalidate our model assumptions and point to discrepancies in the design of the automatons. We then used the counter-examples to rectify the assumptions, logical expressions, and the automaton guard conditions in our model, and we iterated the model-checking process until the ARGOS framework satisfied all the specified properties. The ARGOS framework is 3 times more effective at executing a successful overtake compared to the ROS cost-map based approach and 40% more effective than the Time-Elastic Band method. Finally, after the iterative model-checking process was completed, the ARGOS framework showed zero race rule violation during a head-to-head race between two similar autonomous racecars deployed using the similar ARGOS framework parameters.
PHD (Doctor of Philosophy)
All rights reserved (no additional license for public reuse)