six wheels in contact with the surface,
even when driving over uneven terrain;
this allows a maximum speed on “flat”
ground of about 5 cm/s.
Cognitive algorithms guiding
rover operations must be scheduled
on resource-constrained devices, in
order to maintain high standards of
robustness and reliability. Therefore, an
extremely modular system architecture
must be implemented, which allows
the distribution of the computations
between on-board machinery and
workstations on Earth. Needless to say,
this implies that a communication link
between Mars and the Earth must be
established, on the basis of temporal
communication windows. These
requirements necessarily lead to a
multi-agent design choice, where different modules perform different tasks.
Low level tasks include sensor data
acquisition and actuator command
issues. In particular, sensing devices
include stereo NAVCAMS (cameras for
navigation) and PANCAMS (cameras
for taking panoramic images), used by
ground teams for path planning, IMUs
(inertial measurement units) for attitude determination during motion, and
wide FOV (field-of-view) stereo HAZ-CAMS (for detecting hazards both in
front of and at the back of the rover).
Actuating devices include the six-wheel rocker-bogie mobility system and
robotic arms for manipulation and field
operations. State values associated with
devices are recorded in log files and
then used for investigating the overall
rover’s behavior in case of either accidents or system faults. In a sense, this is
a sort of “parallel” telemetry which can
be uplinked to the Earth for further
investigation and mission planning.
High level tasks include activities
for the rover perception, mobility, scientific research, and communication.
During operations, the rover must concurrently perform a number of tasks:
• Accurate position estimation using
various techniques (i.e., dead reckoning, visual odometry, or sun sensing).
• Internal state estimation for failure
can be detected; ( 2) the algorithm
robustness largely depends on the kind
of features being considered; ( 3) correct data association is fundamental;
wrong mappings can lead to unrecoverable failures; and ( 4) from the computational perspective, the real-time applicability is limited due to the high load.
Despite these issues, visual odometry is the de facto standard in rover
perception. Furthermore, it has been
successfully used with good results on
Opportunity without ground-based
supervision. Nowadays, a boosting in
related research is provided by the
introduction of the so-called SIFT
features, which allow for a fast global
• Environment perception (i.e., elevation maps, stereo vision).
• Control (i.e., low level navigation
control, adaptive route planning).
In particular, perception, mobility,
and adaptivity deserve special
attention for semi-autonomous rovers.
Maestro software: A demo version of
the mission planner used by NASA
CLARAty software: Open source
version of the software framework
running on current rovers
Proceedings of ASTRA,
the official conference of the
European Space Agency
Visual odometry is a technique to
manage rover motion estimation by
feature tracking with stereo imagery.
When integrated with wheel odometry, general estimation error is less than
2% of the distance traveled, regardless
of terrain and soil types. In principle,
the overall algorithm is fairly simple.
First, adjacent pairs of stereo
images are processed for image filtering and noise removal. Next, candidate
features are selected and matched
automatically from one image to the
other; misleading or poorly associated
features are not considered further. A
3D motion estimate is generated from
dozens of pairs of matched features.
Finally, the motion estimate is integrated with an initial guess (odometry).
In practice, there are a number of
critical issues to be addressed: (1) the
application of the technique is limited
to images where distinctive features
Rover’s motion is achieved by instantiating a sequence of motion primitives,
specified on Earth according to the
mission’s goal and the scientific activity
planners. Commands are arranged into
sequences which resemble subroutines
in a computer program. Among the
most commonly used primitives, we
identify basic and advanced ones.
Basic primitives include Go_Straight,
Move_on_Arc (the rover moves along a
circumference arc of a specified radius),
or Turn (to turn on place, or wih respect
to a given landmark or position).
Advanced primitives are various forms of
Go_to_Waypoint (the rover tries to reach
a given cartesian position specified with
respect to the robot-centered frame),
usually with an integrated approach
to hazard avoidance. This command
generates a trajectory to be safely
followed by the rover on the basis of the
terrain knowledge on the ground.
In order to precisely track rover’s
position, closed-loop techniques must
be necessarily used. In particular,
wheel odometry (computing the robot
pose by integrating orientation and
wheel rotation) is acceptable on a relatively flat terrain. However, when the
rover is into a region of high slip, dead
reckoning is not appropriate anymore,
and it is usually fused with information
provided by IMUs and visual odometry.
52 SERVO 01.2008