Fast Approximate Clearance Evaluation for Kinematically Constrained Articulated Suspension Systems

07/31/2018 ∙ by Kyohei Otsu, et al. ∙ IIT Kharagpur 0

In this paper, we present a light-weight collision detection algorithm for motion planning of planetary rovers with articulated suspension systems. Extraterrestrial path planning is challenging due to the combination of terrain roughness and severe limitation in computational resources. Path planning on cluttered and/or uneven terrains requires repeated collision detection on all the candidate paths at a small interval. Solving the exact collision detection problem for articulated suspension systems requires simulating the vehicle settling on the terrain, which involves an inverse-kinematics problem with iterative nonlinear optimization under geometric constraints. However, such expensive computation is intractable for slow spacecraft computers, such as the RAD750 that is used by the Curiosity Mars rover and upcoming Mars 2020 rover. We propose the Approximate Clearance Evaluation (ACE) algorithm, which obtains conservative bounds on vehicle clearance, attitude, and suspension angles without iterative computation. It obtains those bounds by estimating the lowest and highest heights that each wheel may reach given the underlying terrain, and calculating the worst-case vehicle configuration associated with those extreme wheel heights. The bounds are guaranteed to be conservative, hence ensuring vehicle safety during autonomous navigation. ACE is planned to be used as part of the new onboard path planner of the Mars 2020 rover. This paper describes the algorithm in detail and validates our claim of conservatism and fast computation through experiments.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 4

page 7

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Future planetary missions will require long-distance autonomous traverse on challenging, obstacle-rich terrains. For example, the landing site for the NASA/JPL Mars 2020 (M2020) mission will be the Jezero crater, a 49 [km]-wide crater considered to be an ancient Martian lake produced by the past water-related activities [Goudge et al., 2015]. Autonomous driving in this crater is expected to be challenging due to its high rock abundance. The state-of-the-art on-board path planner for Mars rovers called GESTALT [Maimone et al., 2006], which has successfully driven Spirit, Opportunity, and Curiosity rovers (Fig. 1), is known to suffer from high rock density due to its highly conservative design. More specifically, GESTALT frequently fails to find a feasible path through a terrain with 10% Cumulative Fractional Area (CFA) (cumulative fraction of area covered by rocks), where CFA is a commonly used measure of rock abundance on Mars [Golombek et al., 2008]. The Jezero crater has significantly higher rock density than any landing sites of previous Mars rover missions, where the CFA is up to 15–20% based on the orbital reconaissance [Golombek et al., 2015]. For this reason, a significant improvement in the autonomous driving capability was demanded by the Mars 2020 rover mission.

Figure 1: Self-portrait of the MSL Curiosity rover, taken on Sol 1065. Sufficient clearance between the vehicle and the ground is necessary to safely traverse on rough terrain with outcrops. (Credit: NASA/JPL-Caltech/MSSS)

Conservatism is both a virtue and a limitation for spacecraft software. In general, any on-board algorithms must be conservative by design because no one can go to Mars to fix rovers if something goes wrong. In case of collision check in path planning, for example, false positives (a safe path is incorrectly assessed to be unsafe) are acceptable but false negatives (an unsafe path is incorrectly assessed to be safe) are unacceptable. However, excessive conservatism (i.e., too frequent false positives) results in reduced efficiency (e.g., unnecessarily winding paths) or inability to find solutions. Therefore, we have two adversarial objectives: guaranteing safety and reducing the algorithmic conservatism111Conceptually, it is analogues to solve an inequality-constrained optimization such as .

We found a source of excessive conservatism in GESTALT is collision-checking. Most tree- or graph-based path planners, including GESTALT, need to check if each arc (edge) of the path tree or graph is safe by running a collision check at a certain interval (typically tens of cm). The collision check algorithm estimates multiple safety metrics, such as the ground clearance, tilt, and suspension angles, and check if all of them are within pre-specfied safety ranges. In GESTALT, the rover state is simply represented by a point in the 2D space, which represents the geometric center of the 2D footprint of the rover. Roughly speaking, GESTALT expands potentially colliding obstacles by the radius of the rover such that any part of the rover is guaranteed to be safe as long as the center point is outside of the expanded obstacles, as in Fig. 2(a)222In reality, the terrain assessment of GESTALT is not binary; the terrain assessment map (called the goodness map) is pre-processed by taking the worst value within the diameter of the rover from each grid of the map (i.e., dilation in image processing). This is equivalent to obstacle expansion in case of binary goodness value.. Densely populated rocks may block a significant portion of the state space, resulting in a failure of finding a feasible path. In particular, this approach does not allow the rover to straddle over a rock even if it does not hit the belly pan. This approach is safe and computationally simple, but often overly conservative, particularly on a terrain with high rock density or undulation.

The main idea of the proposed approach in this paper, called Approximate Clearance Evaluation (ACE), is to check collision without expanding obstacles. Instead of representing the rover state just by a 2D point, ACE considers the wheel footprint and resulting suspension angles to evaluate the safety metrics such as ground clearance and tilt, as illustrated in Fig. 2(b). This approach can significantly mitigate the level of conservatism while still guaranteeing safety. For example, path planning with ACE allows straddling over rocks as long as there is sufficient clearance to the belly pan. However, precisely evaluating these metrics requires solving an iterative kinematics problem, which is not tractable given the very limited computational resources of the planetary rovers. Besides the nonlinear kinematics equations associated with the suspension mechanisms, a rough terrain profile makes it difficult to precisely predict wheel-terrain contact [Sohl and Jain, 2005]. There are no known analytic solutions in general, and the problem is typically approached by iterative numerical methods at the cost of computational efficiency. Therefore, we turn to a conservative approximation. That is, instead of running an iterative kinematic computation, ACE computes the worst-case bounds on the metrics. This approach is a practical compromise for our Mars rovers as it has guaranteed conservatism with acceptable computational requirement. This claim will be empirically supported by simulations (Section 4.1) and hardware experiments (Section 4.2). Furthermore, as we will empirically show in Section 4.3, ACE-based path planning is significantly less conservative than GESTALT.

 (a)
 (b)
Figure 2: Conceptual illustration of the collision checking approach in (a) GESTALT, the state-of-the-art Mars rover autonomous navigation algorithm used in Spirit, Opportunity, and Curiosity rovers, and (b) ACE, the proposed approach used in the Mars 2020 rover. The red triangles represent obstacles. GESTALT conservatively expands obstacles by the radius of the rover while ACE assesses the collision in consideration of the wheel footprints.

There have been a significant body of works in literature, but none of these were sufficient for our application in terms of speed, path efficiency, and safety guarantee. Most of the motion planning methods for generic ground vehicles do not explicitly consider suspension articulation. In non-planar terrain, it is very common to model the terrain as a 2.5D or 3D map and fit a robot-sized planar patch to terrain models to obtain geometric traversability [Gennery, 1999, Chilian and Hirschmuller, 2009, Ishigami et al., 2013, Wermelinger et al., 2016, Krüsi et al., 2017]. It is also common to add other criteria such as roughness and step hazards to capture obstacles and undulations. Similar to GESTALT, those planners will suffer from extremely less path options in a highly cluttered environment such as the surface of Mars. Without reasonable vehicle state prediction, it is difficult to utilize the greater body-ground clearance of off-road vehicles.

To enable more aggressive yet safe planning, pose estimation on uneven terrains has been used together with path planners. Kinematics and dynamics are two major categories which account for the state of articulated models on uneven terrain. With kinematics-based approach, the problem is to find contact points between the wheel and the terrain under the kinematic constraints of the vehicle. Generic kinematics modeling is introduced for articulated rovers such as NASA/JPL’s rocker-bogie rovers [Tarokh and McDermott, 2005, Chang et al., 2006]. These kinematic models are used to compute vehicle settling on uneven terrain by minimizing the wheel-ground contact errors [Tarokh and McDermott, 2005, Howard and Kelly, 2007, Ma and Shiller, 2019]. The terrain settling technique is used in the current ground operation of Mars rovers to check safety before sending mobility commands [Yen et al., 2004, Wright et al., 2005]. The kinematic settling is also effective for other types of vehicles, such as tracked vehicles [Jun et al., 2016]. The kinematics approach is generally faster than dynamics-based approach, but still computationally demanding for onboard execution on spacecraft computers.

Dynamics simulation is typically performed with general purpose physics engines. Due to its popularity, many works use Open Dynamics Engine (ODE) for simulating robot motion during planning [Papadakis and Pirri, 2012]. Rover Analysis Modeling and Simulation (ROAMS) [Jain et al., 2003, Jain et al., 2004] is simulation software developed at Jet Propulsion Laboratory (JPL), which models the full dynamics of flight systems including Mars rovers. ROAMS was used to predict the high-fidelity rover behavior in rough terrain [Huntsberger et al., 2008, Helmick et al., 2009]. Another faster dynamics simulator is proposed in [Seegmiller and Kelly, 2016], which runs simulation over 1000 times faster than real time in decent computing environment. Although these methods can provide high-fidelity estimate in clearance, vehicle attitude, and suspension angles, they cannot directly be deployed onto the rovers due to its intractable computational cost. Moreover, for on-board path planning in planetary missions, conservatism in safety is more important than accuracy: a single collision can terminate a mission as it is not possible to repair a damaged vehicle on another planet at least for the foreseeable future.

The main contribution of this paper is to introduce a novel kinematics solution named ACE and its empirical validation based on simulations and hardware experiments. The key concept of ACE is to quickly compute the vehicle configuration bounds, instead of solving the full kinematic rover-terrain settling. Knowing the bounds of certain key states, ACE can effectively produce a conservative estimation of the rover-terrain clearance, rover attitude, and suspension angles in a closed form. ACE is being developed as part of the autonomous surface navigation software of NASA/JPL’s M2020 mission. The initial idea of ACE appears in [Otsu, 2016], and a probabilistic extension of this work is reported in [Ghosh et al., 2019]. This paper introduces improved mathematical formulation and extensive Verification and Validation (V&V) work.

The remainder of this paper is structured as follows: Section 2 formulates the kinematics models of articulated suspension systems, Section 3 describes the ACE algorithm, Section 4 provides experimental results including benchmarking, and Section 5 concludes the paper.

2 Suspension Models

Our approach is to use kinematic equations to propagate the bounds on the height of wheels to the bounds on vehicle configuration. While this approach is applicable to many vehicles with articulated suspension systems used in the planetary rover domain, this section particularly focuses on the rocker and rocker-bogie suspensions. The latter is the suspension system of choice for the successful NASA/JPL’s Mars rover missions [Harrington and Voorhees, 2004].

2.1 Frames

We first introduce the reference frames used in the paper, which are illustrated in Fig. 3 and 5. Following the aerospace convention, the forward-right-down coordinate system is employed for the body frame of the rover. The origin is set to the center of middle wheels at the height of ground contact point when the rover is stationary on the flat ground. In this frame, the wheel heights are described in -axis pointing downward (i.e., A greater wheel “height” indicates that the wheel is moved downward).

A global reference frame is defined as a north-east-down coordinate system. The terrain geometry, which can be specified in any format such as a point cloud or a Digital Elevation Map (DEM), is expressed in an arbitrary frame. The rover path planning is conventionally performed in 2D or 2.5D space based on the nature of rover’s mobility systems. A path is typically represented as a collection of poses containing 2D position and heading angle . A path is regarded as safe if all poses along the path satisfies the safety constraints.

 (a) Rocker suspension
 (b) Rocker-bogie suspension
Figure 3: Articulated suspension systems on flat ground, viewed from the left side.
Figure 4: Rocker-bogie suspension model, viewed from top. For visibility, wheels do not represent actual positions.
Figure 5: Simple triangular geometry that models rocker/bogie systems.

2.2 Rocker Suspension

The rocker suspension in (a) is a simpler variant of the rocker-bogie suspension, which will be discussed in the next section. The rocker suspension usually consists of four wheels, where the two wheels on the same side are connected with a rigid rocker link. The left and right suspensions are related through a passive differential mechanism, which transfers a positive angle change on one side as a negative change to the other side.

The kinematic relation of the rocker suspension is represented by a simple triangular geometry in Fig. 5. Consider a triangle ABC with a known shape parameterized by two side lengths and the angle between them . Given the height of A and B (i.e., ), there are up to four solutions for , but other constraints such as vehicle orientation uniquely specifies a single solution given by:

(1)

where denotes an angle of link AC with respect to the reference line (i.e., ) and is defined as

(2)

The solution only exists if .

The rocker suspension model is formulated using the triangular geometry in (1) and (2). Given two wheel heights and , the rocker joint height is given as

(3)

where is the length of front rocker link and is an instance of (2) with the rocker suspension parameters . Due to the differential mechanism, the left and right rocker angles in relative to the body, , have the same absolute value with the opposite sign. They can be computed from link angles as:

(4)

The body attitude is a function of left and right rocker joint states. The roll angle of the body is computed from the difference of joint heights:

(5)

where is the lateral offset from the center of body to a differential joint. The pitch angle is computed as

(6)

where the first term represents an angle offset of front link when the rover is on a flat ground ( in this example).

Finally, the body frame height in the global frame can be obtained as

(7)

where and are offsets from the body frame origin to a differential joint. Since the belly pan is rigidly attached to the body frame, the rover-terrain clearance can be derived from these height and attitude information.

2.3 Rocker-bogie Suspension

The rocker-bogie suspension ((b)) is a rocker suspension with an additional free joint on each side. According to the previous Mars rover conventions, we assume that the front wheels of the six-wheeled rover are connected directly to the rocker suspension while the middle and rear wheels are attached to the bogie suspension. The inverse kinematics of the rocker-bogie suspension can be derived by extending that of the rocker suspension, described in the previous subsection.

We first determine the state of bogie link. The bogie joint heights can be estimated from middle and rear wheel heights

(8)

where is the length of bogie front link and denotes the triangular geometry for the bogie triangle. Using the height of bogie joint , the rocker joint height can be computed as

(9)

Given the heights of the wheels and joints, rocker and bogie angle changes are computed as

(10)
(11)
(12)

where and denote the initial angles of rocker and bogie joints. The attitude and height of the body are derived as:

(13)
(14)
(15)

3 Algorithm

Remember that ACE is designed to quickly compute conservative bounds on vehicle states. Unlike the full kinematics settling that relies on iterative numerical methods, our approach computes the bounds in a closed form. The ACE algorithm is summarized as follows:

  1. For a given target rover pose , find a rectangular wheel box in x-y plane in the body frame that conservatively includes the footprint of each wheel over any possible rover attitude and suspension angles.

  2. Find the minimum and maximum terrain heights in each of the wheel boxes (see Fig. 6).

  3. Propagate the bounds on wheel heights to the vehicle configuration with the kinematic formula derived in the previous section.

  4. Assess vehicle safety based on the worst-case states.

In 3), all possible combinations are considered to obtain the worst-case bounds. Due to the monotonic nature of suspension, the bounds can be obtained via the evaluation of extreme configurations. For example, the bounds on the rocker/bogie states are obtained by finding the worst cases among the eight extreme combinations of the min/max heights of three wheels, as illustrated in Fig. 7. This propagation process is visually presented in the supplemental video.

To precisely describe the algorithm, we first introduce the interval arithmetic as a mathematical framework in our method. We then describe how we apply it to solve our problem with a case study using the M2020 rover.

Figure 6: Ranges of possible wheel configurations computed from terrain geometry and mechanical constraints.

3.1 Notation

In the interval arithmetic [Hickey et al., 2001], an interval is defined as follows

(16)

where a pair represents the all reals between two. The symbol denotes an extended real defined as . Elementary arithmetic operations on reals can be extended to intervals, such as

(17)
(18)

For a continuous function , we can extend its input and output space to intervals

(19)

Computing the minimum and maximum is trivial if the function is monotonic, or special non-monotonic functions such as trigonometric functions.

In the rest of the paper, we use the following abbreviation to represent an interval unless explicitly stated

(20)

3.2 Wheel Height Intervals

 (a)
 (b)
 (c)
 (d)
 (e)
 (f)
 (g)
 (h)
Figure 7: Extreme configurations for state bound computation. Three elements in a tuple represent the front, middle and rear wheel heights, respectively. The superscripts and represent the maximum and minimum for the state variable.

Firstly, we estimate the wheel height intervals based on terrain measurements from sensors (e.g., stereo vision). The span of wheel heights can be computed from the highest and lowest terrain points within the wheel boxes (see green boxes in Fig. 6). The and dimensions of the wheel boxes are derived from the vehicle’s mechanical properties such as wheel size, suspension constraints, and vehicle tip-over stability. We can determine a conservative range of wheel contact locations for all possible suspension angles and stable attitude.

In the rest of this paper, we represent the bound for -th wheel by . It is important to estimate these bounds conservatively to make the final state bounds to be complete, since the uncertainty in wheel heights is directly propagated to other states. For the conservative estimate, we may need to include the dynamic effect such as terrain deformation, wheel slips and sinkage, depending on the environment to explore. In addition, it is important to consider the effect of perception error as detailed in the experiment section.

3.3 Suspension Intervals

Since is monotonically increasing in , we can extend the concept of intervals to the function in (2)

(21)

On the other hand, (1) is a convex function which has a global minimum if and the rear link CB is aligned with -axis. In case of the M2020 rover, the minimum is located outside of the mechanical limits. Therefore, in practice, we can assume the monotonicity and use the following interval for the height

(22)

Based on the above intervals, the suspension state intervals are computed for joint heights

(23)
(24)

and for joint angles

(25)
(26)
(27)

For the sake of simplicity, we use loose bounds for the bogie angles., The boundary configurations may be impossible in reality. In this example, the lower bound of requires but requires , which is inconsistent in (except the case where and are identical).

3.4 Attitude Intervals

Similarly, the intervals for body attitude can be derived from wheel height intervals. Using the kinematics equations (13) and (14) yields

(28)
(29)

3.5 Clearance Intervals

Since the vehicle body has connection to the world only through its suspension and wheel systems, its configuration is fully determined by the suspension state. The body height bound in the world frame is computed with (15):

(30)

using the intervals of absolute roll/pitch angles . Note that the trigonometric functions in the equations are monotonic since we can assume for typical rovers. Assuming the belly pan is represented as a plane with width and length at nominal ground clearance , a loose bound for the maximum (lowest) height point in belly pan is computed as

(31)

Let’s define the rover-ground clearance as a height gap between the lowest point of the belly pan and the highest point of the ground. This is a conservative definition of clearance. Given the intervals of ground point height under the belly pan , the clearance is computed as

(32)

3.6 Safety Metrics

We use the above state intervals to test if a given pose has chance to violate safety conditions. Different safety conditions can be applied to different rovers. For example, the following metrics are considered for the M2020 rover.

  • Ground clearance must be greater than the threshold.

  • Body tilt (computed from roll and pitch angles) must be smaller than the threshold.

  • Suspension angles must stay within the predefined safety ranges.

  • Wheel drop (defined as a span of wheel height uncertainty) must be smaller than the threshold.

4 Experiments

Recall that ACE is designed to be conservative, and at the same time, to reduce the conservatism compared to the state-of-the-art. In Sections 4.1 and 4.2, we will show that ACE is conservative, hence safe, through simulation and hardware experiments. Then, Section 4.3 compares the algorithmic conservatism with the state-of-the-art. Our tests involve rovers with different sizes to observe the performance difference due to mechanical system configurations.

4.1 Simulation Study

We first tested ACE with simulation to validate the algorithm in noise-free scenarios. On these tests, terrain topological models are directly loaded from the simulator to ACE. Therefore, the presented results are not contaminated by measurement noise from perception systems. The algorithm is tested on different terrain configurations, from artificial quadratic functions to a realistic Martian terrain model. We use simulator-reported rover state as ground truth, which is originally computed with iterative numeric methods based on rover and terrain models.

4.1.1 Simulation with a single ACE run

 (a) Ground-truth and predicted states
 (b) Side view (concave and convex)
Figure 8: Analysis on artificial terrains with varying undulation levels

We placed a simulated rover on simple geometric terrains and run ACE to compute bounds on the belly pan clearance, the attitude, and the suspension angles. Their ground-truth values were also obtained from the simulation to check if they are conservatively confined by the ACE bounds. In addition, these results were compared against a simple, planefit-based estimation approach. More specifically, we fitted a plane to a given topography over a window with a 1.25 m radius and approximately estimate the rover’s pose by assuming that the rover is placed on this plane. The ground clearance was estimated by computing the difference between the highest point of the terrain in the window and the belly pan height based on the estimated rover pose. The planefit-based approximation gives the exact ground clearance when the terrain is flat. We chose plane fitting as the point of comparison because, as we shall see shortly, it provides an insight to the cause of the conservatism of GESTALT, the state-of-the-art autonomous rover navigation algorithm used for the three existing Mars rovers.

We used simple terrains represented by in the body frame with varying for this test. Tests with more complex, realistic terrains will follow. The ground-truth settling was obtained via a numeric optimization method.

Fig. 8 shows the results. Note that the -axis points downwards, meaning that the terrain is convex with a negative and concave with a positive . The brown solid lines represent ground-truth states, with ACE bounds denoted by orange shaded areas. As expected, ACE bounds always provided conservative estimate. Compared to attitude and suspension angles, the clearance estimation resulted in a greater conservatism in general. This is because the clearance is the last estimated property propagated from terrain heights and hence accumulates uncertainty.

In contrast, the planefit-based approach consistently gave an optimistic estimate of the ground clearance and the pitch angle. In addition, since the rover is always placed on a plane, the bogie angle is always estimated to be zero. GESTALT does not explicitly computes the ground clearance; instead, it computes the “goodness” of each cell on the terrain from multiple factors including roughness (i.e., residual from the planefit) and step obstacles (i.e., maximum height difference between adjacent cells), where the weights on each factor are manually tuned such that the conservatism is guaranteed for the worst cases. The fact that the planefit-based clearance estimation is optimistic for non-zero implies that the weights on roughness and the step obstacle must be sufficiently great for the worst-case . This in turn makes the algorithm overly conservative when the terrain is nearly flat (i.e., smaller ), which is the case for most of the time of driving on Mars. In contrast, ACE gives tighter bounds for a smaller . This illustrates a desirable behavior of ACE; that is, it adjusts the level of conservatism depending on the terrain undulation. It results in the exact estimation on a perfectly flat terrain and increases conservatism for undulating terrains. Overall, the ground truths are always conservatively bounded. We also note that ACE becomes overly conservative on a highly undulating terrain. We believe the impact of this issue in practical Mars rover operation is relatively limited because we typically avoid such terrains when choosing a route. Having said that, even though ACE enables the rover to drive on significantly more difficult terrains than GESTALT, this conservatism is one of the remaining limitations. Mitigating the conservatism of ACE on a highly undulating terrain is our future work.

4.1.2 Simulation with multiple ACE runs

We then drive a rover with a pre-specified path on various terrains in simulation while calling ACE multiple times at a fixed interval to check collisions.

Flat Terrain with a Bump
 (a)
 (b)
 (c)
 (a) Linear motion
 (b) Curved motion
 (c) Linear motion with the right wheels on the bump
Figure 9: Flat terrain with a smooth bump. Six wheel trajectories are shows in different color. The initial positions of the wheels are marked with circles. (a) Linear approach to the bump. (b) Curved approach to the bump. (c) Climb over the bump only with the right wheels.
Figure 10: ACE estimation results for body roll , body pitch , left rocker angle , left and right bogie angles and , and body height . The solid lines represent the ground-truth state computed by a numeric method. The shaded regions represent the ranges between the ACE upper/lower bounds.
Figure 9: Flat terrain with a smooth bump. Six wheel trajectories are shows in different color. The initial positions of the wheels are marked with circles. (a) Linear approach to the bump. (b) Curved approach to the bump. (c) Climb over the bump only with the right wheels.

The test environment is a simple flat terrain with a 0.2 [m] height bump. A Curiosity-sized rover is driven over the bump with three different trajectories shown in Fig. 10. The rover drives at the nominal speed of Curiosity on Mars (0.04 [m/s]). We collected data in 8 [Hz], including ground-truth pose from a numeric method. The ranges of six wheel heights are extracted directly from the base map using the ground-truth pose reported by the simulator.

Fig. 10 shows the time-series profiles of suspension and body states for three trajectories. The solid lines denote the ground-truth states computed by the numeric method, and the shaded regions represent the state bounds computed by ACE. All the ground-truth states are always within the bounds, meaning ACE bounds are conservative as expected. It is interesting to observe how the algorithm evaluates rover states for its worst-case configurations. With trajectory (a), the rover approaches perpendicularly to the bump. The ground-truth roll angle stays zero for the entire trajectory since the left and right wheels interact with the ground exactly at the same time in this noise-free simulation. However, this is unlikely in the real-world settings where small difference in contact time, or difference in wheel frictions, can disturb the symmetry and cause rolling motion. ACE computes the state bounds based on the worst-case configurations. Therefore, the algorithm captures such potential perturbation and conservatively estimate the state bounds, as presented in the top left figure of Fig. 10.

Martian Terrain Simulation
 (a) Simulator view
 (b) Path on DEM
 (a) Simulator view
 (c) State estimation result
Figure 11: ACE estimation result in a Mars-like environment. The Rocky 8 rover was deployed on a synthetic Martian terrain. The base terrain is an orbit-based DEM for the Jezero crater. The rocks are randomly populated according to the Martian size-frequency distribution model.

Next, we tested the ACE algorithm in a Mars-like environment. We imported a DEM of Jezero crater into the ROAMS simulator [Jain et al., 2003]. Since no spacecrafts have landed on Jezero, we only have a limited resolution of terrain model from satellite measurements. To create an environment closer to the actual, we populate rocks based on the empirically created Martian rock size-distribution model [Golombek et al., 2008]. We populate rocks assuming 10% CFA. For the hardware platform, we used the Rocky 8 rover which is a mid-sized rover similar to Mars Exploration Rovers. We drove the rover at a speed of 0.15 [m/s] with an autonomous hazard avoidance mode. The data are taken at 10 [Hz] including ground-truth pose reported by the simulator.

The state estimation result is shown in Fig. 11. The figure only reports the body states including roll, pitch, and minimum clearance, but similar results are obtained for the other suspension states. Again, all the ground-truth states are always within the ACE bounds, successfully confirming the algorithmic conservatism. The level of conservatism varies from time to time. For most of the time, the span between upper and lower bounds were within a few degrees. However, at 55 [s] in Fig. 11, for example, the upper bound on the pitch angle was about 10 [deg] while the actual angle is around 1 [deg]. Such false alarms typically occur when a large rock is in one of the wheel boxes but the rover did not actually step on it. This behavior is actually beneficial because it helps the path planner to choose less risky paths if the planner uses the bounds as a part of its cost function. Of course, such conservatism may result in a failure of finding a feasible path. However, we reiterate that conservatism is an objective of ACE because safety is of supreme importance for Mars rovers. Furthermore, as we will demonstrate in subsection 4.3, ACE significantly reduces the conservatism compared to the state-of-the-art. An additional idea that can further mitigate the conservatism is to introduce a probabilistic assessment, as proposed by [Ghosh et al., 2019].

4.2 Hardware Experiments

We deployed ACE on actual hardware systems and validated through the field test campaign in the JPL Mars Yard. ACE is deployed on two rover testbeds: the Athena rover whose size is compatible to the MER rovers, and the Scarecrow rover, a mobility testbed for MSL. In both systems, terrain height measurements are obtained by the stereo camera attached to the mast. Therefore, the heightmap that ACE receives involves noise from the camera and stereo processing. As we will report shortly, the stereo noise results in occasional bound violations. Adding an adequate margin to account for the noise restores the conservatism of ACE.

4.2.1 Athena Rover

Figure 12: Athena rover driving on a slope of JPL Mars Yard.
 (a)
 (b)
Figure 13: ACE estimation result for Athena’s two different drives. The ground-truth (GT) state is within the ACE bounds except occasional violations.

The first experiment is performed with the Athena rover developed at JPL (see Fig. 12). The platform is designed for testing Mars rover capabilities on Earth and is comparable in size to MER. The navigation system is primarily vision-based using a stereo-camera pair consisting of two PointGrey Flea2 cameras rigidly mounted on a movable mast. The mast is at a height of 1.4 [m], and the baseline of the stereo-camera pair is 0.30 [m]. The images are captured at a resolution of from wide field-of-view lenses. The ground-truth pose is obtained from OxTS xNAV system, which reports 6DoF pose from integrated GPS and inertial measurements. The suspension angles are not measured on this platform.

We manually drove Athena on a slope of 6 to 12 [deg] in the Mars Yard. The slope consists of multiple terrain materials including cohesive/cohesion-less sands and bedrocks. We evaluated ACE by comparing the estimated state bounds from the algorithm and the ground-truth state. ACE was applied to a past few image sets prior to the driving time. Unlike the rover autonomous drive software that prevents the placement of wheels in unknown terrain, our dataset collected by manual commanding contains samples in which the point clouds do not cover the terrain under all six wheels. We do not report state estimation results for such incomplete data.

Fig. 13 shows the ground truth, as well as the upper and lower bounds from ACE, of the roll and pitch angles and the ground clearance for two drives. Each run consists of about 40 [m] traverse including level, uphill, downhill, and cross-slope drives. As expected, the ground truth is within the bounds for most of the time. However, unlike the simulation results reported in the previous subsection, occasional bound violations were observed, as shown by the red crosses on the plots. This was due to perception errors, such as stereo matching error and calibration error. The positional error in point clouds from the stereo camera is propagated to the rover states through the kinematic equations, causing the error in state bounds. A practical approach to restore the conservatism is to add a small margin to the perceived height of the ground. More specifically, the maximum and minimum height of each wheel box, and () in (21)-(32), are replaced with and , where is the estimated upper bound of the height error. A downside of this approach is an increased conservatism.

Table 1 shows a statistical result from cumulative 130 [m] drive by Athena. The total success rate is computed by counting samples that all state variables are within the ACE bounds. The success rate was 98.74% without the perception error margin, with  [deg] maximum attitude error and 0.012 [m] clearance error. Although it is rare that these small estimation error contributes to the hazard detection miss which is critical to the mission, extra conservatism is preferred for planetary applications. The conservatism is fully restored (i.e., 100% success rate) with  [mm], which roughly corresponds with the worst-case height perception error.

Max State Violation
Method Success Rate [%] Roll [deg] Pitch [deg] Clearance [m]
ACE 98.74 2.6 3.2 0.012
ACE (=5 [mm]) 99.70 1.7 2.0 0
ACE (=10 [mm]) 99.95 0.7 0.9 0
ACE (=15 [mm]) 100 0 0 0
Table 1: Error statistics from cumulative 130 [m] drive by Athena.

4.2.2 Scarecrow Rover

We deployed ACE on JPL’s mobility testbed called Scarecrow and performed a series of experiments in JPL’s Mars Yard. The purpose of the experiments is to test ACE with hardware and software that is close to the Mars 2020 rover. The mobility hardware of Scarecrow, including the rocker-bogie suspension system and wheels, are designed to be nearly identical to that of Curiosity and Mars 2020 rovers. The vehicle’s mass is about one third of Curiosity and Mars 2020 rovers, simulating their weight under the Martian gravity. In terms of software, ACE is re-implemented in C and integrated with the Mars 2020 flight software. Since Scarecrow was originally designed for mobility experiments, it does not have the identical processor as the real Mars rovers. Instead, we compiled the software for Linux and run on a laptop computer placed on the top deck of the vehicle. Therefore, this experiment does not replicate the run time of the software. We evaluated the run time of ACE in a hardware-in-the-loop simulation using RAD750, as described in Section 4.2.3. The original design of Scarecrow also lacks cameras. Therefore, we retrofitted a pair of Baumer cameras, from which height map is created on-the-fly via on-board stereo processing. The Mars Yard is configured in a way to represent some of the most difficult conditions in the Mars 2020 landing site, including 30 degree of slope and 15% CFA [Golombek et al., 2008] of rock density. Fig. 14 shows a typical set up of the Mars Yard.

Our extensive test campaign consisted of 42 days of experiments in the Mars Yard using Scarecrow. The analysis of the test results were largely qualitative rather than quantitative or statistical for a few reasons. First, we are unable to keep the exactly same set up of the Mars Yard as it is shared by many teams. It is also slightly altered by precipitation and wind. Second, the driving speed of Scarecrow is only 0.04 [m/s] (same as Curiosity and Mars 2020 rover), therefore it typically takes 20 to 30 minutes to complete a single Mars Yard run. Repeating a statistically significant number of runs with the same set up is difficult. Third, the software implementation was continuously improved throughout the test campaign. Fourth, the ground truth of belly pan clearance is difficult to measure directly. Fifth and finally, the tests were performed as a part of the software development for the Mars 2020 rover mission, where the main purpose of the tests were the verification and validation of the integrated software capabilities rather than the quantitative assessment of the performance of ACE alone.

Qualitatively, through the test campaign, the algorithm and implementation were matured to the point where the vehicle can drive confidently over  [m] through a high rock density (15% CFA) terrain. Since the path planner solely rely on ACE for collision check, the fact that the rover reliably avoids obstacles without hitting the belly pan is an indirect and qualitative evidence that ACE is working properly. For example, Fig. 15 shows the 3D reconstruction of the terrain and the vehicle configuration from the Scarecrow test data.

Figure 14: Scarecrow test in JPL’s Mars Yard on July 17, 2018, showing a typical set-up of the Yard for the experiments.
Figure 15: Visualization of a path planned in JPL’s Mars Yard on July 23, 2018 with Caspian visualizer.

A limited quantitative assessment is possible because a few intermediate and derivative variables in ACE were directly measured and recorded. These variables include rocker angle, left and right bogie angles, and the vehicle’s tilt angle. Figure 16 shows the ground-truth measurement of rocker and right bogie angles as well as the bounds computed by ACE on three long Scarecrow drives in the Mars Yard. There are a few observations from the results. Firstly, the bounds successfully captured the ground-truth trends. For example, the negative spike in the rocker angle at  [s] in Figure 16

(a) is correctly predicted by ACE, indicated by the reduced lower bound around that time. Secondly, the bounds were almost always respected. Thirdly, however, we observed occasional violations of the bounds as shown in red crosses on the plots. Our investigation concluded that the main causes of bound violations are the error in encoders and the error in perceived height map. The height map error is a result of two factors: 1) error in stereo processing (i.e., feature extraction and matching, error in camera model, noise in images, etc) and 2) “smoothing effect” due to re-sampling (3D point cloud from stereo processing is binned and averaged over a 2D grid). This conclusion was derived by using simulations in the following steps: 1) assured that ACE bounds are always respected when running ACE on a ground-truth height map, 2) reproduced the stereo error by using simulated camera images, and 3) ACE bound violations occur with comparable frequency and magnitude with the simulated stereo error. As in the Athena rover experiment, adding an adequate margin

on the perceived height can restore the conservatism.

 (a)
 (b)
 (c)
Figure 16: Recorded ground-truth (GT) rocker and right bogies angles as well as the predicted bounds by ACE on three Scarecrow tests performed on Sept 12, 2018, in JPL’s Mars Yard.

4.2.3 Run-time Performance

The run-time performance is important for space applications where the computational resources are severely limited. ACE has a significant advantage on this regard, compared to other alternatives that depend on iterative numeric methods. In the following analysis, we chose plane fitting as a point of comparison because it is a light-weight approximations for estimating rover state on rough terrain and used as the basis of GESTALT, the state-of-the-art autonomous navigation algorithm being used for the existing Mars rovers.

The computation of ACE is very fast due to its closed-form formulation. On the NVIDIA Jetson TK1 board on the Athena rover, ACE takes 11.2 [s] for a single pose evaluation while plane fitting takes 26.1 [s] over 100 points and 68.2 [s] over 200 points. ACE runs faster than the naive plane-fit approach using least squares, as well as providing richer information about the vehicle state. For reference, the average run-time of ACE on a 2.8GHz Intel Core i7 machine is 2 [s], which enables a robot to evaluate 500k poses at a second, whereas plane-fit is 5 times slower with 200 points. Next, perhaps more importantly for spacecraft applications, the computational time of ACE is constant. Thanks to the analytic formulation of ACE, the computational time is always the same regardless of terrain patterns. This is not the case for numeric methods, which require more iterations for complex terrain before converging.

We also evaluate the performance of ACE on the RAD750 CPU, which is used for the Curiosity and Mars 2020 rovers. While the precise timing is difficult due to the specialized configuration of the flight software, the typical run-time was 10-15 [ms] with a 10 [cm] resolution DEM. This is sufficient run-time as a collision checker to support the ambitious traversal plans on the M2020 mission.

4.3 Comparison with State-of-the-Art

 (a) State-of-the-art path planner
 (b) ACE-based path planner
 (c) Ideal path planner
Figure 17: Comparison of safety assessment methods in 20 [m] path planning with varying CFA levels. a) Conventional method that checks slope and step hazards with rover-sized inflation; b) Assessment with worst-case state from ACE bounds; c) Assessment with ground-truth state.
 (a) Probability of success
 (b)

Average path inefficiency with standard error

Figure 18: Statistical result of path planning over 20 different maps in each CFA level.

Finally, we directly compared the performance of ACE-based path planning with the state-of-the-art in simulation. The point of comparison was a variant of GESTALT implemented in MATLAB333We did not use the flight implementation of GESTALT because porting a part of spacecraft flight software is difficult due to technical and security reasons., which computes slope, roughness, and step hazards from plane fitting, and creates a goodness map by inflating hazards by the rover radius. In addition, we also compared against the “ideal” path planner that uses the ground-truth collision check (no conservatism). Such a planner is computationally unacceptable for the practical Mars rovers, but the comparison gives us an insight about how close the ACE-based paths are to the strictly optimal paths. The path planning algorithm is the same for all the three planners; a depth-five tree search was used for path selection with 1.5 [m] edge for each depth, while the collision check was run at every 0.25 [m]. The only difference is the collision check method.

The terrains we tested are flat, 30-by-40 meters in size, randomly populated with rocks at four different CFA levels (5, 10, 15, 20%). We created 20 terrains for each CFA levels (80 terrains in total). Three planners were run on each of the 80 terrains. A Curiosity-sized rover was commanded to go to the point 20 [m] away. Two quantitative metrics were used for the comparison. The first is the path inefficiency, defined as the fraction of the generated path length and the straight-line distance. Intuitively, the over-conservatism of collision checking should result in an increased path inefficiency because it is more likely that the paths heading straightly towards the goal is incorrectly judged unsafe, resulting in a highly winding path. The second metric is the success rate, defined as the number of runs the planner successfully arrived in the goal divided by the total number of runs. An excessive conservatism may result in a failure to reach the goal because no feasible path is found to move forward.

Fig. 17 shows representative examples of paths generated by the three methods. The top, middle, and bottom rows are the state-of-the-art, ACE-based, and ideal path planners. As expected, the state-of-the-art paths were most winding (greater path inefficiency) while the ideal paths were the most straight. Notably, the state-of-the-art approach failed to find a path to the goal at 15 and 20% CFA, while the ACE-based planner were able to find a way to the goal. The ACE-based planner was more capable of finding paths through cluttered environments mainly because it allows straddling over rocks if sufficient clearance is available. However, the ACE-based paths are less efficient compared to the ideal ones. This result is again expected, because ACE conservatively approximates the rover states for the sake of significantly reduced computation (as reported in Section 4.2.3) compared to the exact kinematic solution.

Fig. 18 shows the statistical comparison over the 20 randomly generated maps for each CFA level in terms of the two quantitative metrics. According to Fig. 18(a), the ACE-based planner was capable of driving reliably (% success rate) up to 15% CFA, but the success rate drops significantly at 20% CFA. In comparison, the state-of-the-art path planning had only 40 % success rate at rather benign 10% CFA terrains. The ideal path planner was always be able to find a path to the goal for all the tested CFA values. Next, the results on path inefficiency in Fig. 18(b) clearly shows the difference in algorithmic conservatism. For example, at 10% CFA, the state-of-the-art planner resulted in 33% path inefficiency while it was nearly zero for the ACE-based and the ideal planners. At 15% CFA, the ACE-based planner resulted in 12% path inefficiency while that of the ideal planner is still nearly zero. The path inefficiency of the state-of-the-art planner was not computed for 15 and 20% CFA because the success rate was zero. Finally, at 20% CFA, the path inefficiency of the ACE-based planner went up to 33% while that of the ideal planner was at 3%. The CFA of the landing site of the Mars 2020 Rover (Jezero Crater) is typically less than 15%, while we can almost surely find a round to go around the fragmented spots with % CFA. Therefore, with these results, ACE allows us to confidently drive the Mars 2020 rover autonomously for the majority of the drive.

5 Conclusions

In this paper, we presented an approximate kinematics solver that can quickly, albeit conservatively, evaluate the state bounds of articulated suspension systems. The proposed method provides a tractable way of determining path safety with the limited computational resources available to planetary rovers. ACE avoids expensive iterative operations by only solving for the worst-case rover-terrain configurations. The algorithm is validated using simulations and actual rover testbeds, giving satisfactory results in all experiments including 42 days of field test campaign.

The experimental results indicate that the ACE-based planner successfully navigates the rover in environments with similar complexity to the planned landing site of Mars 2020 mission; however, one of the remaining algorithmic limitations is over-conservatism in estimated state bounds. Especially, the conservatism becomes greater on highly undulating terrain. An excessive conservatism may result in path inefficiency or a failure to find a path to the goal. Mitigating the extra conservatism is deferred to our future work.

Although the algorithm is primarily designed for planetary rover applications, the work is applicable to other domains where fast state estimation is needed but the fidelity of estimation is not demanded. Examples include trajectory planning of manipulators and path planning of ground/aerial/maritime vehicles. The importance of this method is in how we incorporate environmental uncertainty into the planning problem, without redundant computation or unsafe approximation. With the proper bounds of uncertainty, the robot state is guaranteed to be safe within well-defined intervals.

The ACE algorithm was successfully integrated with the surface navigation software of M2020 rover mission. ACE will enable faster and safer autonomous traverse on more challenging terrains on the red planet.

Appendix A Variable Definitions

The following table introduces a list of variables used in this paper.

Variable Definition
6 DoF pose
Link length between differential joint and front wheel
Link length between differential joint and rear wheel (Rocker)
Link length between bogie joint and middle wheel (Rocker-bogie)
Link length between bogie joint and rear wheel (Rocker-bogie)
Height of front, middle, and rear wheels
Height of differential joint
Height of bogie joint
Angle change of left and right differential joints ()
Angle change of left and right bogie joints
Translational offset from the body frame origin to differential joint
Height of body frame origin
Angle between horizontal line and differential-front link on flat plane
Angle between horizontal line and bogie-middle link on flat plane

Appendix B Video Attachment

The supplement movie visually presents the state bound propagation process from terrain heights to vehicle’s attitude through rocker-bogie suspensions.

Acknowledgments

This research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration. Copyright 2019 California Institute of Technology. Government sponsorship acknowledged.

References

  • [Chang et al., 2006] Chang, Y., Tan, D., Wang, H., and Ma, S. (2006). Kinematics analysis of a six-wheeled mobile robot. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 4169–4174.
  • [Chilian and Hirschmuller, 2009] Chilian, A. and Hirschmuller, H. (2009). Stereo camera based navigation of mobile robots on rough terrain. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 4571–4576.
  • [Gennery, 1999] Gennery, D. (1999). Traversability analysis and path planning for a planetary rover. Autonomous Robots, 6(2):131–146.
  • [Ghosh et al., 2019] Ghosh, S., Otsu, K., and Ono, M. (2019). Probabilistic kinematic state estimation for motion planning of planetary rovers. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 5148–5154.
  • [Golombek et al., 2015] Golombek, M., Ashley, J. W., Huertas, A., Fergason, R., and Kirk, R. (2015). Terrain characterization: approach and results. In Mars 2020 Landing Site Workshop.
  • [Golombek et al., 2008] Golombek, M. P., Huertas, A., Marlow, J., McGrane, B., Klein, C., Martinez, M., Arvidson, R. E., Heet, T., Barry, L., Seelos, K., Adams, D., Li, W., Matijevic, J. R., Parker, T., Sizemore, H. G., Mellon, M., McEwen, A. S., Tamppari, L. K., and Cheng, Y. (2008). Size-frequency distributions of rocks on the northern plains of Mars with special reference to Phoenix landing surfaces. Journal of Geophysical Research, 113:E00A09.
  • [Goudge et al., 2015] Goudge, T. A., Mustard, J. F., Head, J. W., Fassett, C. I., and Wiseman, S. M. (2015). Assessing the mineralogy of the watershed and fan deposits of the Jezero crater paleolake system, Mars. Journal of Geophysical Research: Planets, 120(4):775–808.
  • [Harrington and Voorhees, 2004] Harrington, B. D. and Voorhees, C. (2004). The challenges of designing the rocker-bogie suspension for the Mars Exploration Rover. In Aerospace Mechanisms Symposium, pages 185–195.
  • [Helmick et al., 2009] Helmick, D., Angelova, A., and Matthies, L. (2009). Terrain adaptive navigation for planetary rovers. Journal of Field Robotics, 26(4):391–410.
  • [Hickey et al., 2001] Hickey, T., Ju, Q., and Emden, M. H. V. (2001). Interval arithmetic: from principles to implementation. Journal of the ACM, 48(5):1038–1068.
  • [Howard and Kelly, 2007] Howard, T. and Kelly, A. (2007). Optimal rough terrain trajectory generation for wheeled mobile robots. International Journal of Robotics Research, 26:141–166.
  • [Huntsberger et al., 2008] Huntsberger, T., Jain, A., Cameron, J., Woodward, G., Myers, D., and Sohl, G. (2008). Characterization of the ROAMS simulation environment for testing rover mobility on sloped terrain. In

    International Symposium on Artificial Intelligence, Robotics, and Automation in Space

    .
  • [Ishigami et al., 2013] Ishigami, G., Otsuki, M., and Kubota, T. (2013). Range-dependent terrain mapping and multipath planning using cylindrical coordinates for a planetary exploration rover. Journal of Field Robotics, 30(4):536–551.
  • [Jain et al., 2004] Jain, A., Balaram, J., Cameron, J., Guineau, J., Lim, C., Pomerantz, M., and Sohl, G. (2004). Recent developments in the ROAMS planetary rover simulation Environment. In IEEE Aerospace Conference, volume 2, pages 861–876.
  • [Jain et al., 2003] Jain, A., Guineau, J., Lim, C., Lincoln, W., Pomerantz, M., Sohl, G., and Steele, R. (2003). ROAMS: planetary surface rover simulation environment. In International Symposium on Artificial Intelligence, Robotics and Automation in Space, pages 19–23.
  • [Jun et al., 2016] Jun, J. Y., Saut, J. P., and Benamar, F. (2016). Pose estimation-based path planning for a tracked mobile robot traversing uneven terrains. Robotics and Autonomous Systems, 75:325–339.
  • [Krüsi et al., 2017] Krüsi, P., Furgale, P., Bosse, M., and Siegwart, R. (2017). Driving on point clouds: motion planning, trajectory optimization, and terrain assessment in generic nonplanar environments. Journal of Field Robotics, 34(5):940–984.
  • [Ma and Shiller, 2019] Ma, Y. and Shiller, Z. (2019). Pose estimation of vehicles over uneven terrain. arXiv, 1903.02052.
  • [Maimone et al., 2006] Maimone, M., Biesiadecki, J., Tunstel, E., Cheng, Y., and Leger, C. (2006). Surface navigation and mobility intelligence on the Mars Exploration Rovers. In Howard, A. and Tunstel, E., editors, Intelligence for Space Robotics, chapter 3, pages 45–69.
  • [Otsu, 2016] Otsu, K. (2016). Study on Robotic Intelligence for Vision-based Planetary Surface Navigation. PhD thesis, The University of Tokyo.
  • [Papadakis and Pirri, 2012] Papadakis, P. and Pirri, F. (2012). 3D mobility learning and regression of articulated, tracked robotic vehicles by physics-based optimization. In Workshop on Virtual Reality Interaction and Physical Simulation, Eurographics, pages 147–156.
  • [Seegmiller and Kelly, 2016] Seegmiller, N. and Kelly, A. (2016). High-Fidelity Yet Fast Dynamic Models of Wheeled Mobile Robots. IEEE Transactions on Robotics, 32(3):614–625.
  • [Sohl and Jain, 2005] Sohl, G. and Jain, A. (2005). Wheel-terrain contact modeling in the ROAMS planetary rover simulation. In ASME International Conference on Multibody Systems, Nonlinear Dynamics and Control, pages 89–97.
  • [Tarokh and McDermott, 2005] Tarokh, M. and McDermott, G. J. (2005). Kinematics modeling and analyses of articulated rovers. IEEE Transactions on Robotics, 21(4):539–553.
  • [Wermelinger et al., 2016] Wermelinger, M., Fankhauser, P., Diethelm, R., Krüsi, P., Siegwart, R., and Hutter, M. (2016). Navigation planning for legged robots in challenging terrain. In IEEE International Conference on Intelligent Robots and Systems, pages 1184–1189.
  • [Wright et al., 2005] Wright, J., Hartman, F., Cooper, B., Maxwell, S., Yen, J., and Morrison, J. (2005). Driving on the surface of mars with the Rover Sequencing and Visualization Program. In IEEE Society of Instrumentation and Control Engineers.
  • [Yen et al., 2004] Yen, J., Cooper, B., Hartman, F., Maxwell, S., and Wright, J. (2004). Sequence Rehearsal and Validation for Surface Operations of the Mars Exploration Rovers. In AIAA Space Ops Conference, pages 1–7.