Flying on Mars - or any other world - is an extraordinary challenge. An autonomous spacecraft, operating millions of miles from pilots or engineers who could intervene on Earth, must be able to navigate unfamiliar and changing environments, avoid obstacles, land on uncertain terrain, and make decisions entirely on its own. Every maneuver depends on careful perception, planning, and control systems that are fault-tolerant, allowing the craft to recover if something goes wrong. A single miscalculation can leave a multi-million dollar spacecraft face-down on the surface, ending the mission before it even begins.
"This problem is in no way solved, in industry or even in research settings," says Nicholas Roy, the Jerome C. Hunsaker Professor in the MIT Department of Aeronautics and Astronautics (AeroAstro). "You've got to bring together a lot of pieces of code, software, and integrate multiple pieces of hardware. Putting those together is not trivial."
Not trivial, but for students nearing the culmination of their Course 16 undergraduate careers, far from impossible. In class 16.85 Autonomy Capstone (Design and Testing of Autonomous Vehicles), students design, implement, deploy, and test a full software architecture for flying autonomous systems. These systems have wide-ranging applications, from urban air-mobility and reusable launch vehicles to extraterrestrial exploration. With robust autonomous technology, vehicles can operate far from home while engineers watch from mission control centers not too different from the high bay in AeroAstro's Kresa Center for Autonomous Systems.
Roy and Jonathan How, Ford Professor of Engineering, developed the new course to build on the foundations of class 16.405 (Robotics: Science and Systems), which introduces students to working with complex robotic platforms and autonomous navigation through ground vehicles with pre-built software. 16.85 applies those same principles to flight, with a basic quadrotor drone and an entirely blank slate to build their own navigation systems. The vehicles are then tested on an obstacle course featuring dubious landing pads and uncertain terrain. Students work in large teams (for this first run, two teams of seven - the SLAMdunkers and the Spelunkers) designed to mirror real-world missions where coordination across roles is essential.
"The vehicles need to be able to differentiate between all these hidden risks that are in the mission and the environment that they're in and still survive," says How. "We really want the students to learn how to make a system that they have confidence in."
Video: MIT AeroAstro
Mission: Figure it out, together
"The specific mission we gave them this semester is to imagine that you are an aircraft of some kind, and you've got to go and explore the surface of an extraterrestrial body like Mars or the moon," Roy explains. "You need to use onboard sensors to fly around and explore, build a map, identify interesting objects, and then land safely on what is probably not a flat surface, or not a perfectly horizontal surface."
A mission of this magnitude is far too complex for any one engineer to tackle alone, but that too poses a challenge for a large team. "The hardest problems these days are coordination problems," says Andrew Fishberg, a graduate student in the Aerospace Controls Laboratory and one of three teaching assistants (TAs) for the course. "To use the robotics term, a team of this size is something of a heterogeneous swarm. Not everyone has the same skill set, but everyone shows up with something to contribute, and managing that together is a challenge."
The challenge asks students to apply multiple types of "systems thinking" to the task. Relationships, interdependencies, and feedback loops are critical to their software architecture, and equally important in how students communicate and coordinate with their teammates. "Writing the reports and communicating with a team feels like overhead sometimes, but if you don't communicate, you have a team of one," says Fishberg. "We don't have these 'solo inventor' situations where one person figures everything out anymore - it's hundreds of people building this huge thing."
The new faces of flight
Students in the class say they are eager to enter the rapidly evolving field, working with unconventional tools and vehicles that go beyond traditional applications.
"We continue to send rovers to extraterrestrial bodies. But there is an increasing interest in deploying unmanned systems to explore Earth," says Roy. "There's lots of places on Earth where we want to send robots to go and explore, places where it's hazardous for humans to go." That expanding set of applications is exactly what draws students to the field.
"I was really excited for the idea of a new class, especially one that was focused on autonomy, because that's where I see my career going," says senior Norah Miller. "This class has given me a really great experience in what it feels like to develop software from zero to a full flying mission."
The Design and Testing of Autonomous Vehicles course offers a unique perspective for instructors and TAs who have known many of the students throughout their undergraduate careers. As a capstone, it provides an opportunity to see that growth come full circle. "A couple years ago we're solving differential equations, and now they're implementing software they wrote on a quadrotor in the high bay," says How.
After weeks of learning, building, testing, refinement, and finally, flight, the results reflected the goals of the course. "It was exactly what we wanted to see happen," says Roy. "We gave them a pretty challenging mission. We gave them hardware that should be capable of completing the mission, but not guaranteed. And the students have put in a tremendous amount of effort and have really risen to the challenge."