Artists concept rendering of NASA JPL's Curiosity
Great engineering, highly efficient code, and meticulous planning converged to create an amazing feat on August 5, 2012. After traveling 352 million miles through space, the NASA Jet Propulsion Lab (JPL) Mars Science Laboratory (MSL) performed an extraordinarily complex multi-stage landing, while guiding itself. Hurling toward the surface of the Red Planet at 13,200 miles per hour, the MSL jettisoned various pieces of itself, maneuvered into position, popped a supersonic parachute, and then hovered precisely 66 feet above the Martian surface as it gently lowered the rover Curiosity onto the planet.
Because it takes 14 minutes for radio signals traveling at the speed to light to get from Earth to Mars, NASA JPL turned science fiction into science fact by creating a spacecraft that could make split-second decisions autonomously without human guidance. To do that, NASA JPL used Wind River VxWorks*, a robust real-time operating system (RTOS) that has powered numerous missions, including Odyssey, Mars Observer, the Spitzer space telescope, and more.
Wind River, a wholly owned subsidiary of Intel, is no stranger to rock-solid, real-time performance. The company’s RTOS, VxWorks, is the leading standard for embedded development, powering over 1 billion devices on Earth and dozens in space. With sub-millisecond latency, pre-emptive scheduling, and a well-optimized kernel, VxWorks was ideal for handling the thousands of real-time tasks required during Curiosity’s landing on Mars.
On the planet’s surface, Curiosity relies on VxWorks to perform its mission of investigating whether Mars has ever been able to support life and to access its habitability for future missions. Eight years in the making, Curiosity is the most advanced robotic interplanetary probe ever designed. It’s a science lab on wheels, with laser spectrometers, chemical analyzers, close-up and long-distance cameras, and an advanced autonomous robot running everything.
Among the various autonomy packages on the rover is a surface navigation package that lets Curiosity find the best path to a given location, allowing JPL scientists to direct the rover to investigate something at a particular place, knowing that the USD 2.5 billion project will get there safely. “It may even decide, ‘Something is even better over there. Let’s change course,’” said Mike Deliman, senior technologist at Wind River.
Another autonomy package called Aegis gives Curiosity the ability to identify rocks that are “interesting,” take close-up pictures of them, and send the photos back to Earth. Aegis even prioritizes the pictures so the scientists don’t need to sort through thousands of them.
“JPL has been developing Aegis for years,” said Mike Deliman. “When it was deployed on Mars Opportunity, JPL engineers only had 32 MB of RAM to work with. However, with Curiosity they had more, which enabled them to run a more full-featured version of Aegis that included more parameters for deciding what makes a rock interesting.” On both Mars Opportunity and Curiosity, VxWorks’ small code footprint, low power consumption, reliability, and deterministic high performance were up to the challenge. Throughout Curiosity’s two-year mission, the RTOS will handle complex mission-critical tasks such as trajectory, descent and ground operations control, data collection, and Mars-to-Earth communication relay.
Wind River has been providing NASA JPL engineers with reliable RTOS technology for more than 20 years. That familiarity—along with VxWorks’ stable programming interface and compatibility with standards such as POSIX*—reduced JPL’s need to extend and maintain OS integration layers, which, in turn, reduced the complexity of test systems. NASA JPL also used Wind River Workbench*, for development and debugging.
“VxWorks has been around a long time,” Deliman said, “For years NASA JPL engineers have been creating custom libraries that run on top of VxWorks. Because Wind River is responsible for maintaining the RTOS, NASA engineers can focus on making their APIs more robust. These libraries have evolved, because they can be re-used to save time and effort; in fact, Curiosity inherited software tested on previous space missions.”
Back on Earth, VxWorks powers a range of devices from small consumer products to jumbo jets and millions of gizmos in between. The RTOS also enables tele-robotic systems that have been used by doctors in France to perform surgery on patients in New York. The autonomy packages developed by NASA JPL could eventually make their way into our everyday lives; for example, powering autonomous robots for oil rig maintenance and robots for underwater mineral-mining operations. As Deliman put it: “The possibilities are endless. Curiosity, powered by VxWorks, is a huge win for science.”
This self-portrait of NASA's Curiosity rover is a mosaic of 20 photos takenfrom the rover's Navigation camera. Photo credit: NASA JPL-Caltech
VxWorks* at its Best—on Intel® Architecture
When run on Intel® multi-core processors, developers get the benefits of Wind River Hypervisor, Wind River Linux*, and VxWorks*. With Wind River Hypervisor, a real-time embedded paravirtualization system, developers can take advantage of the virtualization technologies built into modern Intel multi-core processors to, for example, run Wind River Linux and Microsoft Windows* as guest OSs.
Being able to run multiple OSs on a single CPU allows projects to satisfy strict safety and security requirements. KUKA Roboter GmbH, a world-class developer of industrial robot and control technology, created its KR C4*, the first robot control system with a software-based integrated IEC61508 SIL2 safety programmable logic controller (PLC). The unit runs both the VxWorks RTOS and Microsoft Windows XP* Embedded on a single core of an Intel® Core™2 Duo processor using real-time virtualization technology. The second core handles the safety PLC and an 8-kHz closed-loop controller.
Another example of VxWorks on Intel® architecture is the Comau Robotics C5G* system, a fifth-generation control unit. Its modular hardware architecture is based on Intel Core2 Duo processors running Wind River’s VxWorks RTOS, which powers peripheral control surfaces, application software, and real-time functions for multi-axis articulated industrial robots.
Curiosity's Heat Shield in Detail - Image Credit: NASA/JPL-Caltech/MSSS
First Color Picture of Mars from Curiosity - Image Credit: NASA/JPL-Caltech/MSSS
Self-portrait of Mars Rover Curiosity - Image Credit: NASA/JPL-Caltech/MSSS
Layers at the Base of Mount Sharp - Image Credit: NASA/JPL-Caltech/MSSS
Remnants of Ancient Streambed on Mars - Image Credit: NASA/JPL-Caltech/MSSS
To learn more about Wind River VxWorks: www.windriver.com/products/vxworks/
For more information about Curiosity’s mission on Mars: www.nasa.gov/mission_pages/msl/index.html
NASA JPL Mars Rover interactive simulation: http://eyes.nasa.gov/launch2.html?document=$SERVERURL/content/documents/msl/edl.xml
About the Author
Before signing on as one of the writing muses for Rose & Her Minions, Dominic Milano spent years in print, online, and event media production, working on DV magazine, Game Developer magazine and the GDC, InterActivity magazine, Keyboard magazine, Guitar Player magazine, and more.