Very interesting research from Georgia Tech, using a RC truck running ROS and a Nvidia graphics board. From IEEE Spectrum:
Most autonomous vehicle control software is deliberately designed for well-constrained driving that's nice, calm, and under control. Not only is this a little bit boring, it's also potentially less safe: If your car autonomous vehicle has no experience driving aggressively, it won't know how to manage itself if something goes wrong.
At Georgia Tech, researchers are developing control algorithms that allow small-scale autonomous cars to power around dirt tracks at ludicrous speeds. They presented some this week at the 2016 IEEE International Conference on Robotics and Automation in Stockholm, Sweden. Using real-time onboard sensing and processing, the little cars maximize their speed while keeping themselves stable and under control. Mostly.
The electrically powered research platform pictured above, which is a scale model one-fifth the size of a vehicle meant for human occupants, is called AutoRally. It's about a meter long, weighs 21kg, and has a top speed of nearly 100 kilometers per hour. It's based on an R/C truck chassis, with some largely 3D-printed modifications to support a payload that includes a GPS, IMU, wheel encoders, a pair of fast video cameras, and a beefy quad-core i7 computer with a Nvidia GTX 750ti GPU and 32 gigs of RAM. All of this stuff is protected inside of an aluminum enclosure that makes crashing (even crashing badly) not that big of a deal.
To test out the hardware and software, AutoRally was unleashed on a dirt track at Georgia Tech and tasked with keeping its speed as close as possible to 8 meters per second while not crashing. The video [below] is a bit long; the racing starts at about 2 minutes in, with some impressive near-crashes (and actual crashes) from 5 minutes onward:
The real magic here is the algorithm that manages AutoRally’s steering and throttle. Rather than hierarchically splitting control and planning into two separate problems, Georgia Tech's algorithm combines them by integrating vehicle dynamics in real-time. Generally, this is a very computationally intensive approach, but AutoRally can calculate an optimized trajectory from the weighted average of 2,560 different trajectory possibilities, all simulated in parallel on to the monster onboard GPU. Each of these trajectories represents the oncoming 2.5 seconds of vehicle motion, and AutoRally recomputes this entire optimization process 60 times every second.
The initial training phase consists of just a few minutes of a non-expert human driving AutoRally around the track in remote-control mode; all of the fancy stuff (like the powersliding) is a product of the algorithm itself. Such aggressive driving is necessary when the speed of the vehicle exceeds its friction limit—a potentially dangerous condition for inexperienced robot drivers and human drivers alike. And this is why research into aggressive driving is not just fun but important. Just as expert human drivers can take advantage of how their vehicles handle at the very limits of control in order to drive fast yet safely in extremely challenging conditions, self-driving cars should be able to use the same techniques to avoid accidents in bad weather.
The researchers told us that most of the crashes in the video happened due to either software crashes (as opposed to failures of the algorithm itself), or the vehicle having trouble adapting to changes in the track surface. Since that video was made, they've upgraded the software to make it able to handle a more realistically dynamic environment. The result: AutoRally is now able to drive continuously on a track that, because of temperature changes, goes from, say, partially frozen to a huge puddle of mud over the course of a couple of hours.
They’ve placed all of AutoRally’s specs online (and made the software available on Github) in the hopes that other vehicle autonomy researchers will be able to take advantage of the platform’s robust, high-performance capabilities. The code is open source and ROS compatible, with an accompanying Gazebo-based simulation.
We're hoping that this algorithm will eventually be mature enough to be tried out on a full-size rally car (maybe in a little friendly competition with a human driver). But if that does ever happen, crashing will be a much bigger deal than it is now.
Aggressive Driving with Model Predictive Path Integral Control, by Grady Williams, Paul Drews, Brian Goldfain, James M. Rehg, and Evangelos A. Theodorou from the Georgia Institute of Technology, was presented this week at ICRA 2016 in Stockholm, Sweden.