How a Californian single-handedly won NASA's space robotics competition

Original author: Evan Ackerman
  • Transfer
image

NASA's Space Robotics Challenge (SRC) was held last year. During the competition, the Valkyrie virtual humanoid robots roamed the virtual Mars, trying to fix virtual objects. It was possible for everyone to participate, and since the virtuality of the competition meant that there was no need to use large and expensive robots , everyone could really participate. Of the 93 teams that signed up for the competition, NASA selected 20 finalists based on their preliminary tasks of working with the three-dimensional simulator of the Gazebo robot . Each of the finalists was asked to program the Valkyrie humanoid.so that he could complete the mission of repairing equipment on a simulated Martian base.

The winner of SRC was the Coordinated Robotics team, which, in addition, became the only team to achieve 100% completion of the task, and received the main prize of $ 125,000 plus a bonus of $ 50,000 for “perfect execution”. However, it can be called a “team” with a stretch, since Coordinated Robotics consists of only one friend: Kevin Knoedler. We talked with Kevin about the epic win, and consulted with Nate Koenig of Open Robotics , lead the development of Gazebo and helped organize SRC.

SRC was very similar to VRC (qualification in the DARPA Robotics Challenge, DRC), as all teams competed by running the code in Gazebo's virtual environment. “The challenges themselves were somewhat inspired by the movie The Martian,” Nate Koenig, Open Robotics Technical Director, told us . “The Valkyrie is on Mars, prepares everything to create a colony of people, and then a dust storm flies up.” After the Vale storm, you need to fix the communication satellite dish, fix the solar panels and find a leak from the habitable zone. Here are some snippets from the competition:



“In general, the competition went smoothly,” says Koenig. - The uniqueness of the SRC, unlike the VRC, was that we require consistent tasks. You get more points for completing more tasks when the Valkyrie did not fall, and it did not need to be restarted - that is, the more reliable you walk and manage objects, the better you get the result. ”

As in the case of DRC, restrictions on the execution time of tasks were set so that the teams tried to maximize the use of the robot in offline mode. Most of them did just that. To complicate the task, strict restrictions were imposed on the data transmission channel and delays that emulated real remote work with a robot located somewhere in space. Koenig explains:

Network latency and bandwidth restrictions were stricter than with VRC. We wanted to simulate something like a delay in the signal going to Mars and back, but that would be too much - so we agreed on a delay of 20 seconds. Some tasks were limited by a bandwidth of 380 bps, and this, in fact, is already killing the TCP option.

People needed to be creative in their task, and we saw different unique solutions. One person launched the IRC server and client to transmit information, while others used text-based console messages without visual data — it was like reading the Matrix. One team, Xion, worked completely autonomously: they just wrote the code and pressed the start button, as a result of which they were able to complete an impressive number of tasks.

Koenig said that he and his colleagues did not expect any team to be able to complete all the tasks in a row. “But Kevin has denied us,” he adds. “And he was the only team capable of this.”

Kevin is Kevin Knödler, the entire Coordinated Robotics team. According to Nate, Kevin was able to complete all the tasks of the SRC without errors and in a row, which is very surprising. We chatted with him via e-mail to find out how he got it.

We: what is your education, and why did you decide to participate in SRC yourself?

Kevin:After graduating from MIT, I worked as an engineer and manager at Teradyne. In 2007, I left them to sit at home with a child. And working there, and as a householder, I constantly participated in various competitions - Robot Wars, Battlebots, three competitions on autonomous vehicles from DARPA, and DRC. SRC seemed complicated and interesting, so I decided to participate in it.

In the fall of 2016, when the qualifying round began, I was busy training two football teams, and I knew that I would be busy during the final tests in early 2017, teaching in the Odyssey of the Mind program. Typically, when working in a team, it is necessary to work together and coordinate in the early stages of the process. Since I knew that I would be busy at key moments, I decided to do everything alone so as not to upset myself and other potential team members. Usually it’s better to work in teams, because the more people, the more creative ideas. On all previous projects, I worked with teams.

How much does your strategy rely on autonomy?

I started development, assuming that the time delay would be maximum, and the robot would have to perform short tasks on its own. And even without elaboration, a 20-second delay was not the main problem, since the competition was allotted for hours. My code was not as perfect and reliable as I would like, so I focused on what I would plan and execute. It was basically controlled autonomous work through human perception.

You sent us your video from one of the runs (below). Can you comment on it in detail?



The video in a third-person perspective shows a robot performing three tasks. The first is turning the knobs to align the antenna. On the second robot takes the solar panel out of the trailer, puts it on the table and connects the cable. In the third, you need to climb the stairs, open the door of the house, find the leak with a tool, and then fix it with the second tool. Most of all I liked the leak search phase. It was necessary to examine a large area, part of which was enclosed - and each time it was interesting to look for a leak.

The leak was found by a robot holding the tool up and down by rotating the body to minimize the number of steps. The robot, looking for a leak, marked areas of the territory as unexplored, not containing leaks, or containing a leak. This information was shown to the operator through the Rviz interactive marker, so that it would be easier for us to see what was already examined and how the leak was found.

What was the hardest?

I would say that the hardest thing was to use and manipulate the tools. It’s difficult to take a tool and make the robot use it as if it were a continuation, it was difficult to do with the same efficiency every time. In Gazebo, I created a scenario where the robot started working near the tools, and nothing bothered him. This made it possible to test the taking of instruments from various initial positions, with their subsequent placement on the table.

An interesting fact from the competition: sometimes real equipment gets stuck and you need to make an effort to make it move. The simulation robot behaved the same way. [Open Robotics called this an “interesting behavior that arose” because it wasn’t specifically introduced into the program]. The thumb of the robot might be stuck and not respond to commands. This happened to me at the competitions on the third run of tasks. But, as in real life, it helped me that I pressed my finger on the table, it stopped seizing and started moving again.

What is easier in simulations than in reality?

In the simulation, everything is easier. Not dramatically, but 90% of the problems in the simulation can be solved. Basically, it is easier due to the reliability of iron - in the simulation it does not break, as often happens with the present. You can also engage in more risky experiments. If a humanoid robot crashes in Gazebo, you don’t need to spend $ 100,000 and a few weeks to repair it. Another advantage is that one person can run many tests at once. With real robots, several people run one test.

If NASA placed the real Valkyrie on a training ground emulating Mars and asked you to complete the same tasks, what would you do?

The robot should be able to complete all the tasks after the initial checks and correct the differences between the simulation and the hardware. My approach was multilevel, I could always return to the lower level of control if the main one could not cope. There are always enough differences between the simulation and the real hardware in order to make it necessary for some adaptation for successful development. But after tests and adaptations, I think everything would work out!

After participating in DRC and SRC, how do you assess the potential of humanoid robots in real relief in natural disaster areas or planet exploration?

After DRC and SRC, we came close to using humanoid robots in disaster areas and planetary exploration. The main difficulties on Earth are reliable hardware that can handle falls and work in difficult conditions (the ability to crawl under obstacles, surroundings with obstacles and lack of free space, situations where a hand is needed for support, etc.). In space - all the same plus large distances, requiring the robot more perception and autonomy.


Unsuccessful moments of competitions

Also popular now: