Autonomous Car Learns To Powerslide Into Parking Spot

Stanford's "Junior" combines two control schemes to stop right on target

2 min read

The Stanford Racing Team may have placed second at the DARPA Urban Challenge back in 2007, but they haven't stopped pushing the limits of autonomous cars. At ICRA last week, Zico Kolter and his collaborators showed video of one of the most extreme stunts a robotic car has ever pulled off.

They taught the car to accelerate in reverse up to 25 miles per hour, then suddenly hit the brakes, turn the wheel, and start a 180-degree skid--ending up right in a desired parking spot. It's not just a cool stunt--this research should give autonomous cars greater flexibility to deal with unexpected situations.

[youtube // expand=1]


Reliably executing such a stunt isn't easy. "Junior" (as the car is known) usually operates under closed-loop control, where real-time sensor data is used to continually adjust the controls. This works well for driving the car in a straight line, where the physics of the car's motion are pretty straightforward to model. Unfortunately, the dynamics model tends to break down as the car enters the complex sliding turn. In the first clip of the video below, you can see Junior miss the mark under this type of control.

As an alternate approach, the team "taught" Junior the stunt through a basic demonstration. The researchers found that even though the sliding is complex to model, it's a highly deterministic motion--by just blindly repeating the control inputs from the demonstration, the car usually ended up in the same place. But as you can see in the second attempt in the video, this open-loop control method also has a weakness: errors in the straight approach go uncorrected and cause big differences in Junior's final position.

[youtube // expand=1]

So to get the best result, the team combined approaches: keeping the car under closed-loop control during the well-modeled approach section, and then letting it transition to open-loop control for the final slide.

Most impressively, the Stanford team allowed the car to determine for itself which approach was better and when to smoothly switch between the two. The result (the third attempt in the video) lands the car right on target. For testing purposes the team decided to use cones rather than actual cars. Just in case.

The Conversation (0)

How the U.S. Army Is Turning Robots Into Team Players

Engineers battle the limits of deep learning for battlefield bots

11 min read
Robot with threads near a fallen branch

RoMan, the Army Research Laboratory's robotic manipulator, considers the best way to grasp and move a tree branch at the Adelphi Laboratory Center, in Maryland.

Evan Ackerman

This article is part of our special report on AI, “The Great AI Reckoning.

"I should probably not be standing this close," I think to myself, as the robot slowly approaches a large tree branch on the floor in front of me. It's not the size of the branch that makes me nervous—it's that the robot is operating autonomously, and that while I know what it's supposed to do, I'm not entirely sure what it will do. If everything works the way the roboticists at the U.S. Army Research Laboratory (ARL) in Adelphi, Md., expect, the robot will identify the branch, grasp it, and drag it out of the way. These folks know what they're doing, but I've spent enough time around robots that I take a small step backwards anyway.

The robot, named RoMan, for Robotic Manipulator, is about the size of a large lawn mower, with a tracked base that helps it handle most kinds of terrain. At the front, it has a squat torso equipped with cameras and depth sensors, as well as a pair of arms that were harvested from a prototype disaster-response robot originally developed at NASA's Jet Propulsion Laboratory for a DARPA robotics competition. RoMan's job today is roadway clearing, a multistep task that ARL wants the robot to complete as autonomously as possible. Instead of instructing the robot to grasp specific objects in specific ways and move them to specific places, the operators tell RoMan to "go clear a path." It's then up to the robot to make all the decisions necessary to achieve that objective.

Keep Reading ↓ Show less