The NASA Centennial Challenges are a set of interesting contests aimed at leveraging the knowledge of citizen inventors to solve actual obstacles faced by the space agency. In June 2016, I participated in their Sample Return Robot Competition, a $1.5 million Mars-focused program aimed to create a rover that can autonomously locate, retrieve, and return various samples while navigating with limited mapping information and without the use of Earth-based navigation tools.
With a background in molecular biology, biotechnology, and research, I never expected to say that I build robots. I competed in the challenge as a single-person team against much larger universities and companies, some that had already been participating for multiple years. I based the design and programming strategy for my robot on the desire for simplicity, a small budget, and inspiration from biological systems and insects. Computer vision in variable lighting conditions and navigation without GPS or a compass were major design challenges. Preparation for the competition also involved months of field-testing and debugging. I rented out a domed soccer field to accomplish full-scale field-testing in the midst of a Canadian winter.
The Sample Return Robot Competition is a two-level challenge; Level 1 requires the return of two samples (a cylinder and a purple rock) within a 30-minute time limit. I was the first to prequalify, and the first robot on the competition field. My competition runs were less successful, but ultimately, my persistence paid off, and by the end of the week, I was one of just seven teams to complete Level 1 over the five years of competition.
Level 2 involved one single attempt on a much larger field with 11 possible samples to collect. In preparation, I built two additional robots to implement a swarm strategy that would give higher-value samples priority during transport. They worked perfectly off the field, but unfortunately the robots knocked themselves off course at the beginning of my run, ending the competition for me. Nonetheless, participating in the NASA Challenge is one of my proudest moments to date. I learned that simple solutions are often more straightforward and cheaper than those involving expensive equipment, and can be just as powerful. Also, field-testing is the most important thing you can do. Put your robot in the exact conditions that you expect to encounter, but be ready to bounce back when things don’t work — because they often won’t.
The competition has stuck with me, and ultimately I plan to build a company around autonomous vision-based robotics. Hopefully some of the technology and strategy from this project will make it to Mars some day.
Other than a custom-made aluminum chassis, my robot uses common parts including a simple webcam, lidar, Dynamixel servos for the collection mechanism and camera pan and tilt, and high-torque motors for the wheels. For the brains, I used an Intel Compute Stick to run OpenCV, NumPy, and Pysolar, and an Arduino 101, which has an onboard accelerometer and gyroscope. This was the lightest and smallest robot in the competition, and I’m quite certain it also cost the least.