[Dprglist] The dead end of Artificial Intelligence
Murray Altheim
murray18 at altheim.com
Tue Aug 4 03:13:10 PDT 2020
On 4/08/20 12:36 pm, David Anderson via DPRGlist wrote:
> Murray,
>
> Do you have a link for this?
>
> David
>
>> A few days ago the NASA Curiosity Rover took off for Mars, and onboard
> it'll be using more BBS technology than AI/Expert Systems technology.
> Curiously.
Hi David,
My comment references a quote (below) that the AEGIS software on board
the Curiosity rover represents 20,000 lines of code of its total of
3.8 million, so the actual number is about half a percent.[5]
But I probably should clarify my remarks about Behaviour-Based Systems
or BBS in stating that from what I know of NASA robotics I rather doubt
that the Curiosity team have much *interest* in the behavioural aspects
of their robot OS. Individual researchers might, but NASA as an
organisation is primarily interested in scientific exploration, not
robotics per se, nor certainly any philosophical (or marketing) aspects
of robotics, under which the concept of "AI" seems to fall; i.e.,
robotics for NASA is simply a means to an end. All of the Mars rovers
have been designed primarily as tele-robotics platforms, basically to
put human eyes and remote-controlled instruments on Mars. So I'm kinda
mistakenly calling their rover OS a BBS, but do so as in it I recognise
some similar bones of say, what many of us are doing with our robots.
Curiosity has a task-driven, semi-autonomous operating system, whose
focus is on reliability, survivability, and autonomous handling of
low-level tasks such as obstacle avoidance. Then it's communications
and remotely activating its sensor systems. Choice of navigational
targets is done by NASA Mission Control (likely JPL, who I think
oversee the project), not the rover. There is a three axis IMU, a lot
of cameras, and a large number of complex sensor subsystems, but the
rover has no navigational "AI" (more on this below). If one compares
the hardware used in the various rovers this is not surprising, as
less than 75% of available CPU time is used for autonomous tasks like
navigation [1], and this must be considered within the environment of
what is a relatively small CPU. The tasks the robot are to perform are
likewise sent to the rover as "command sequences" by Mission Control,
and do not originate on the robot. Here's a description:
"To decide which navigation method to use, NASA uses the Rover
Sequencing and Visualization Program (RSVP), which is basically
a Mars simulator. RSVP shows Curiosity’s current position on Mars,
along with surface topology, obstacles (rocks), and so on. RSVP
can then be used to plot a move (go forward 10 meters, turn 30
degrees right, go forward 3 meters) — or to pick an end point,
which Curiosity will dutifully, autonomously navigate to. To
safely navigate Mars, Curiosity uses its Hazcams (hazard avoidance
cameras) to build a stereoscopic map of its environment, identifies
which objects are too large to drive over, and then plots out a
course to the end point.
"When Curiosity finishes its drive, it transmits a bunch of thumbnail
images from its on-board cameras to NASA, which are then used to
work out Curiosity’s exact location on Mars. This data is fed into
RSVP, the next day’s movements are plotted, and so on and on." [2]
As to its available processors:
"The rover has four processors. One of them is a SPARC processor that
runs the rover's thrusters and descent-stage motors as it descended
through the Martian atmosphere. Two others are PowerPC processors: the
main processor, which handles nearly all of the rover's ground functions,
and that processor's backup. The fourth one, another SPARC processor,
commands the rover's movement and is part of its motor controller box.
All four processors are single core." [3]
The only "AI" on board Curiosity is a system called the Autonomous
Exploration for Gathering Increased Science (AEGIS) -- NASA's backronyms
are usually pretty tortured -- which is used to let the robot pick remote
targets and send them on to Mission Control. AEGIS "represents the first
time artificial intelligence was deployed on a faraway spacecraft" [4].
So basically it has a PixyCam2-style object classifier built into one of
its sensor component systems.
The AEGIS software represents 20,000 lines of code of the 3.8 million on
the rover. There's an article in The Atlantic discussing how AEGIS works
as well as some interesting aspects of the project, including the
controversy of even including "AI" on board Curiosity [5].
So far as I understand, NASA have always prioritised durability over raw
processing power or using the latest technology. If there's a state of the
art for NASA, it's in radiation hardening over anything else. The Perseverance
and Curiosity rovers both use what they call a Rove Compute Element or RCE
[6], and there is a primary and secondary unit on board each robot, the
latter a lower power recovery operating system. All of the previous Mars
rovers (Sojourner, Spirit, Opportunity), Mars Reconnaissance Orbiter, and
the SpaceX Dragon spacecraft all use the VxWorks ROS. The RAD750 used in the
Curiosity rover listed for $200,000 due not to performance improvements but
to radiation hardening [7].
In terms of software, the RCE is only semi-autonomous, i.e., it's designed
to be given tasks and be able to fulfill tasks within the Earth-to-Mars
communications window (4-24 minutes, currently about 13 minutes)
[7] Inside the Curiosity’s Brains
"Even though Curiosity‘s computers are specialized for space use, the circuit
board and operating system will be familiar to many. The CPU is a RAD750, a
version of the IBM PowerPC 750, which was used in many computers from Apple,
including the original iMac. The datasheet for the RAD750 states that the
processor, “is the best space microprocessor available today by any selection
criterion — performance, cost, availability, or flight heritage.”
RAD750 radiation-hardened PowerPC space microprocessor
On-board memory includes 256MB of DRAM and 2 GB of Flash Memory (~8 times
as much as rovers Spirit or Opportunity), both with error detection and
correction and 256kB of EEPROM. The microprocessor operates at up to 200
megahertz speed, 10 times the speed of earlier microprocessors in rovers
Spirit and Opportunity."
[8] Tech Specs
"Processor
* Radiation-hardened central processor with PowerPC 750 Architecture:
a BAE RAD 750
* Operates at up to 200 megahertz speed, 10 times the speed in Mars
rovers Spirit and Opportunity's computers
Memory
* 2 gigabytes of flash memory (~8 times as much as Spirit or Opportunity)
* 256 megabytes of dynamic random access memory
* 256 kilobytes of electrically erasable programmable read-only memory"
----
A good JPL-authored description of Curiosity's task-driven OS (as well as
lots of interesting bibliographic references) can be found here:
Prototyping an Onboard Scheduler for the Mars 2020 Rover
Gregg Rabideau and Ed Benowitz
Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA
https://ai.jpl.nasa.gov/public/documents/papers/rabideau_iwpss2017_prototyping.pdf
...and also check out NASA Mars Exploration Home [9], which has lots of related
resources, including a "Free Drive" where you can drive a simulated rover across
a simulated Martian landscape. Kinda fun, almost no danger.
It'd be lovely if someone from NASA or JPL could correct any misunderstandings
or mistakes in what I've written above, but I think that's the gist of it.
Cheers,
Murray
----------
References
[1] Comparison of embedded computer systems on board the Mars rovers (Wikipedia)
https://en.wikipedia.org/wiki/Comparison_of_embedded_computer_systems_on_board_the_Mars_rovers
[2] How does NASA drive Mars rover Curiosity?
https://www.extremetech.com/extreme/143884-how-nasa-drives-mars-rover-curiosity
[3] Curiosity (rover) on Wikipedia
https://en.wikipedia.org/wiki/Curiosity_(rover)
[4] Curiosity Rover: Facts and Information
https://www.space.com/17963-mars-curiosity.html
[5] The Mars Robot Making Decisions on Its Own : Thanks to artificial-intelligence
software, the Curiosity rover can target rocks without human input.
Marina Koren, 23 June 2017, The Atlantic
https://www.theatlantic.com/technology/archive/2017/06/mars-curiosity-rover/531339/
[6] Mars Curiosity Rover : Brains (NASA)
https://mars.nasa.gov/msl/spacecraft/rover/brains/
[7] Ever Wish You Had a Backup Brain? The Mars Rover Has One
https://www.backblaze.com/blog/mars-rover-backup-brain/
[8] The Mars 2020 Rover's "Brains" (NASA)
https://mars.nasa.gov/mars2020/spacecraft/rover/brains/
[9] Mars Exploration Program (NASA)
https://mars.nasa.gov/msl/home/
...........................................................................
Murray Altheim <murray18 at altheim dot com> = = ===
http://www.altheim.com/murray/ === ===
= = ===
In the evening
The rice leaves in the garden
Rustle in the autumn wind
That blows through my reed hut.
-- Minamoto no Tsunenobu
More information about the DPRGlist
mailing list