Recently, I posted an article comparing the computers used for the Apollo moon missions to an Arduino. The Apollo Guidance Computer (AGC) was considerably less powerful than an Arduino. Continuing along that line, I started investigating other computers used for space exploration. Since the mars rovers are popular among robot builders, and often the source of inspiration and goals, I decided to take a look at those. The results are rather interesting.
I believe it is safe to say the mars rovers are considerably more capable than most hobby robots. Because of the distance, it is impossible to drive them simply by remote control. Instead, they are given a task list for an entire day, then expected to accomplish those tasks autonomously. They navigate and perform scientific experiments on their own, reporting the results the next time they are able to communicate back to Earth. They are fitted with a variety of leading-edge sensors and cameras. What kind of compute power do they need to perform their work? The answer may be a bit surprising, and enlightening, when compared to typical hobby robots.
NASA and JPL like to put as much compute power on board the rovers as they can, for many of the same reasons we do. Sending a rover to Mars is expensive, and it is desired to get as much scientific work done as possible. But the environment of space and on Mars is harsh, which limits the options. In space, there is no atmosphere to shield the electronics from temperature extremes and radiation. Both can be very bad for electronics, especially highly integrated modern integrated circuits. So the computers have to be rated for the temperature extremes and hardened for radiation of space, plus be prepared for the harsh environment on Mars with lots of dust and more temperature extremes. The computers also have to be very reliable: it's a bit difficult to go swap out a bad motherboard on Mars. All of this leads to computers that are significantly less powerful than what is available off the shelf to hobbyists at any given time. In addition, the planning, testing, and travel time to get them to Mars makes the technology several years out of date by the time it lands on the surface. We shouldn't expect the same computers as we have available. So let's take a look at what has been used.
The first Mars rover, Sojourner, was a small testbed for following larger missions. It landed on Mars in 1997. Sojourner had a companion, the Pathfinder lander. The Pathfinder lander held Sojourner inside and deployed the rover after landing. The two worked together to some extent, but the rover mostly operated independently. Sojourner had a weather station, three cameras, and an X-ray spectrometer. The two front-facing cameras were black and white only, and could capture stereo images (3d). The rear-facing camera was color, although it couldn't "see" blue. And what about the computer to run this impressive equipment? How about a mid-70s era, 8 bit, 8085 processor? The 8085 was a slightly improved version of the 8080, the 8 bit processor that started the microcomputer revolution. In Sojourner, it ran at a clock speed of 2 MHz, but it takes on average about 8 clock cycles per instruction. So it was capable of about 250,000 simple, 8 bit operations per second. Roughly about 1/64 the speed of an Arduino. It was, however, fitted with 512 KB of RAM, and 176KB of flash memory. Quite a lot for a simple 8 bit processor.
Pathfinder, the landing craft and base station for Sojourner, was equipped with considerably more computing power. It had a 20 MHz processor that was basically a precursor to IBM's PowerPC chips. The processor was equipped with 128KB of RAM and 6 MB of EEPROM (similar to flash). It was much more powerful than the 8085 on Sojourner, but probably too big, heavy, and power hungry to go on the rover.
The Pathfinder / Sojourner mission was very successful, lasting over 3 times as long as planned. Some 16,500 pictures were sent back to Earth over 3 months.
In 2004, perhaps the only twins more famous than the recently turned 18 Olsen twins, were Spirit and Opportunity. The twin Mars rovers have been wildly succesful, with Opportunity still operating today, long after the planned 90 day mission. Spirit sent back a huge amount of data in it's six year life, and Opportunity continues to do so after ten years. These rovers are considerably larger and more capable than the earlier Sojourner. The computer on board them was similar to the one on Pathfinder, consisting of a 20 MHz RAD 6000 (PowerPC predecessor) with 128 MB of RAM, 256 MB of flash, and 3 MB of EEPROM. That is roughly on par with a modern, large microcontroller board, but much slower. Still a long way from the power of even a Raspberry PI.
In 2011, NASA's most recent and largest rover landed on Mars. At roughly the size of an automobile, Curiosity is much larger and more powerful than the previous rovers. It also carries much more scientific equipment. Instead of solar panels, the rover is powered by a simple type of nuclear power plant. It has cameras, an infrared laser to blast samples, a microscope, and a spectrometer to analyze samples gathered. There are different types of radios for communicating with Earth and with Mars orbiters. As well as navigation, the onboard computers control all the equipment, guided by batches of commands sent from Earth. After the commands are received, the rover operates autonomously to carry them out. There are two identical computers onboard. Each has a 132 MHz Rad 750 processor (PowerPC type) and 256 MB of RAM, 2 GB of flash, and 256 KB of EEPROM. One computer is active and the other acts as a backup. The roles of the computers have in fact had to be swapped, as one was having continous resets due to memory problems. These computers are more in line with modern small Linux single board computers, but still less powerful in general than a Raspberry PI.
There is no question that these four rovers and one landing craft have achieved remarkable feats. They have traveled to and on Mars, covered much ground, and sent back bucketloads of data and pictures. Most of that work was done autonomously, getting directions from Earth and then executing them on their own. The technical and scientific achievements are incredible. These machines would be considered by many hobby roboticists to be the holy grail, yet the computers are considerably less powerful than what we often use.
If we add up all the compute power between these four rovers and one base station, the results are somewhat surprising. We have two 132 MHz PowerPC machines, three 20 MHz PowerPC machines, and one 2 MHz 8085. The total RAM adds up to less than 1 GB, less than 2.5 GB of flash, and just over 9 MB of EEPROM. All together, they are capable of executing about 900 million instructions per second. The total computing power between all five craft is roughly equivalent to one Raspeberry PI or Beagle bone Black! Consider that the next time you are planning to add more computers to your hobby robot.