NASA Turns to Open Source Middleware for Human-to-Robot Communications
Data management is inherently tricky, but when it involves robots in space—communicating via a low-bandwidth intermittent link—it's trickier. NASA is leveraging Data Distribution Service for Real-Time Systems to help it solve that problem as part of its Human Exploration Telerobotics project.
“When you look at the way NASA and other agencies around the world have done work and exploration in space, often it’s been divided between pure human exploration on the one side and on the other side is purely robotic exploration,” says Terry Fong, director of the Intelligent Robotics Group at the NASA Ames Research Center in Moffett Field, Calif.
“We’re interested in the middle ground of having humans and robots working together,” Fong says. “How can you combine humans with robots?”
For the past three years, Fong and his team have been pursuing that question with the Human Exploration Telerobotics (HET) project. They want to pave the way for robots that can perform many of the routine, in-flight maintenance tasks that are time-consuming, highly repetitive and often dangerous for astronauts to perform manually.
The team is also investigating ways to improve the ability of astronauts to remotely control robots on a planetary surface. By doing so, the HET project aims to improve and hasten human space exploration missions to new destinations.
Two of the robots the project is working with—Robonaut 2 and SPHERES (short for Synchronized Position Hold, Engage, Reorient Experimental Satellites)—are aboard the International Space Station and controlled by operators on the ground.
Two others—the K10 planetary rover and ATHLETE (All-Terrain, Hex-Limbed Extra-Terrestrial Explorer robot)—operate at NASA field centers, controlled by astronauts on the International Space Station.
Android and Linux in the Final Frontier
The HET robots make extensive use of open source software and platforms. For instance, Android and Linux are used for most of their computing. The SPHERES robots, free-flying mobile sensor platforms about the size of a volleyball, use an Android “Nexus S” smartphone for data processing (it was the first commercial smartphone certified by NASA to fly on the space shuttle and cleared for use on the International Space Station).
Collecting data is the easy part. Aggregating and transmitting it are trickier. In space exploration, robots have to work remotely in extreme conditions, operated over highly constrained communication networks. After all, to work, data must move bidirectionally across a link that is fundamentally intermittent.
As a result, although some telerobots are now in use on Earth, they aren’t well-suited for space operations. New, advanced designs and control modes are necessary. Despite variations in purpose, technology and design, all the HET robots must be equipped for both high-speed (local) and low-bandwidth, delayed (satellite) communications.
Dealing with that challenge requires a common, flexible, interoperable data communications interface that can readily integrate across each robot’s disparate applications and operating systems.
“This is really what the Internet of Things is all about: machines that generate data and need to receive data in the form of commands telling them what to do,” says Curt Schacker, chief commercial officer of Real-Time Innovations (RTI), a specialist in real-time software infrastructure that has worked closely with NASA on HET.
“If you look at a factory floor or hospital or aircraft engine, you’re looking at potentially hundreds of thousands of discrete sources of data,” Schacker says. “How do we move that data from its source to its destination in a coherent, managed way so that decisions can be made on that data?”
“The killer app that I hear the most about with the Internet of Things is predictive analytics,” Schacker says. “There’s an interesting characteristic of machines in that they will tell you that they’re going to break. Vibrational patterns change, temperatures change, orientations change. We know this because when we do post-processing of machines that have broken, there was information available that, if we would have had that information, we would have known the problem would occur. The problem is how do you get that information and can you get in such a way that you can act on it?”
DDS Open Standard Helps NASA Create a ‘Space Internet’
That’s where a middleware technology called Data Distribution Service for Real-Time Systems (DDS) comes in. Developed by RTI in the U.S. and the Thales Group in France, DDS is an open standard intended to enable scalable, real-time, dependable, high performance and interoperable data exchanges between publishers and subscribers.
It is coming to play a large role in the Internet of Things, and is currently used on smartphone operating systems, transportation systems and vehicles, software-defined radio and so forth. It forms the core of NASA’s Disruption Tolerant Networking software, which allows it to compensate for intermittent network connectivity and delays when sending data between computers on the ground and robots in space (or vice versa). NASA and other space agencies are using it to create what it calls a “Space Internet.”
“Space is an incredibly rigorous production environment,” says Stan Schneider, CEO and founder of RTI, which NASA turned to for its Connext DDS software. “As a direct result, the software needed to support mission-critical telerobotics communication applications must meet stringent requirements and become certified before use in this rugged environment. RTI Connext DDS solutions are tolerant to the time delay and loss of signal that can occur with signals bouncing between the space station, satellites and land-based devices.”
“You’ve typically got very limited bandwidth,” adds Schacker. “It’s not like you’re sitting on 100 Gigabit Ethernet. You’ve got delays on the links. And the links can be lossy. Sometimes you drop packets. DDS lends itself extremely well to that problem. The capabilities to deal with these issues are built into the middleware itself.”
Fong says that the International Space Station is orbiting the earth about once every 90 minutes. Although satellites in geosynchronous orbit around the earth give NASA’s control stations “pretty good coverage,” data must generally travel from the space station to a satellite to a ground station and then to a control station through multiple hops.
“That’s a lot of bounces,” he says. “And there are times when we lose the signal for periods of minutes–up to 15, 20 or 30 minutes. The geometry is changing all the time. The communication link end-to-end is both intermittent as well as jittery in terms of time delay.”