Autonomous Exploration of Cliff Faces Using Multiple Information Metrics Stewart J. Moorehead
[email protected] Pacific Northwest National Laboratory Richland, WA. 99352 USA
Abstract Recent evidence that water flowed down the faces of some Martian cliffs has created an interest in the scientific community to explore these cliffs more thoroughly, perhaps using robots. This paper presents a technique for autonomous exploration that considers multiple forms of information while exploring. The method is applied to the problem of autonomously exploring cliffs. The exploring robot seeks out unknown terrain and identifies any cliffs in the environment. When a cliff is found, the robot finds a way to the bottom to view the face of the cliff where signs of water run off may be present. Results from experiments in simulation and in the field are presented.
1. Introduction Recently scientists have found evidence that water flowed down the faces of some Martian cliffs in the recent past [6]. This has lead to an interest in the scientific community to examine these cliff faces from the surface for signs of life — past or present — on Mars. To explore the cliffs of Mars for signs of life will require a great deal of autonomy from exploration robots. They must manage finite resources efficiently to discover and record valuable information and they must make decisions based on this information to gather additional information. Due to long communications delays, robotic explorers must perform these tasks with minimal human input. When exploring a cliff, a robot will have to consider many forms of information. It must find new terrain; identify the probability of a region being part of a cliff and monitor the elevation of the robot to know if it is at the top or bottom of the cliff. The explorer must also use a set of information metrics to quantify the amount of information to be gained for each form. The exploring robot must balance the competing information metrics to collect the maximum amount of information with its limited resources.
Another challenge for robotic explorers is deciding where to go. Unlike traditional path planning, where robots make decisions to get to a specified destination, robotic explorers must make decisions that help them collect information of varied forms in an efficient manner. They do not have a destination to reach but rather tasks to complete. Thus an explorer must decide amongst many, perhaps even all, possible destinations to further its task. To complete its exploration it will have to repeat this process many times. This paper presents a method for autonomously finding and viewing the faces of cliffs by a mobile robot. The method uses the Multiple Information Metric Exploration Planner (MIMEP) architecture to solve this challenging problem [8]. MIMEP is a general exploration planning technique that allows an explorer to consider multiple forms of information while exploring. By changing the information metrics used, MIMEP can be applied to a large number of exploration problems. This paper shows how MIMEP can be used to explore cliffs and presents exploration results from both simulation and field demonstrations.
2. Background A frontier is defined as a boundary between known and unknown regions in a map. Yamauchi introduces a technique for exploring based on frontiers [14]. The exploration strategy used is to identify all the frontier regions in the current map and then drive to the nearest frontier. This process is repeated until the region has been explored. This method has two shortcomings for the exploration tasks considered here. First, it treats all frontiers equally. Rather than looking at the potential information to be gained at each frontier versus the time it will take to get there, it simply chooses the closest frontier. In some situations it may be better to drive further to gain more information. Secondly, it is limited to one type of information, finding new terrain. Simmons et al. [12] look at using multiple robots to explore using a similar frontier strategy. However, each frontier is evaluated based on the expected number of
unknown map cells the robot can see from the frontier as well as the distance from the robot. Thus the exploring robots choose the frontier that will provide the highest utility (information gain minus driving cost) rather than simply the closest frontier. The multiple robots also coordinate their efforts to reduce overlap while exploring. In [1, 2], Elfes presents an integrated approach to robot navigation that incorporates task specific information needs, perception sensor capabilities and robot knowledge into the motion planning process. An Inference Grid is used to represent the robot’s knowledge and task needs. The integrated architecture allows the robot to plan both motor and perceptual actions to solve a given task. This approach is different than the two discussed above in that it is able to consider more than one type of information to solve the exploration task. Roy et al. [10] look at including the ability to localize the robot, using natural landmarks, when planning paths. This produces paths that remain close to walls. While [10] was not trying to explore new regions it is considering two criteria, shortest distance and localization ability, when planning paths. Further, the ability of a robot to localize itself could be considered as an information type while exploring. Estlin et al. [3] present a planning system for science exploration with multiple robots. The system clusters spectrometer readings to determine rock types. Goal points are set at the two mutually most distant points in physical space for each rock type seen so far. The planner is thus biased to explore towards the edges of its known world. The approach of Estlin et al. differs from that of this paper in that they only consider one type of information, rock types, in their goal selection. Further, they do not explicitly consider how much information will be gained when selecting goal points, choosing instead to use a heuristic based on relative rock positions.
3. Multiple Information Metric Exploration Planner (MIMEP) This research models the world as a uniform grid, M(t), which takes the robot’s pose, X, and maps it to a unique cell. The map, M(t), is a function of time because it changes as sensor data is collected and added to the world model. Each cell in the map contains two vectors: A a vector of cell properties or attributes and G a vector of expected information gains. The size and composition of A and G depend on the exploration task being considered. The cell attribute vector A, contains the information the explorer knows about that cell. Some typical types of information stored in the elements of A are cell height and traversability. Each element of A represents a different type of information. For binary valued variables this number is the probability of the state being true. This is
the approach used in Inference Grids [1]. For non-binary valued variables, such as cell height, a pair of numbers is used. The first indicates the property value and the second is the explorer’s certainty in that property value. Typically the certainty is based on the number of sensor readings received in that cell. While it would be more rigorous to compute and store the probability distribution of these non-binary variables, the method proposed here is easier to implement. A similar strategy has been successfully employed in outdoor navigation [7]. The expected information gain vector, G, has one element for each information metric considered by the explorer. Each element in G has a value from 0 to 1 and represents the expected amount of information to be gained by taking a sensor reading in that cell for a particular information metric. It is the expected information gain, since it is predicting how much new information will be received by taking a sensor reading in this cell. It is important to note that G measures how much more information the robot will receive by taking a sensor reading in the cell. The sensor provides information over a region and thus G depends on what the robot currently knows about this region. Taking a sensor reading in one cell will modify the values of G in other map cells. In other words G is based on the knowledge contained in the current map, M(tp), where tp is the present time. This means that the G vectors in different map cells are dependent on each other. The total expected information to be gained by taking a sensor reading in map cell m, is computed by performing a weighted sum of the elements in cell m’s G vector: E[ I (m, M )] =
∑α g i
m i
(1)
i
where the α’s are chosen to weight the relative importance of the various information metrics.
3.1 Planning Exploration Paths An autonomous explorer must decide where to drive and where to take sensor readings to maximize the amount of information it collects. At the same time it must minimize the costs of collecting this information such as driving time, sensing time and planning time. The goal of the exploration planner is to find a path, p, which maximizes the utility to the explorer. The path, p, is an ordered set of cells that the explorer must drive through or take sensor readings in. The utility of a path, p, is defined as: U ( p) = k
∑ S (m) E[I (m, M )] − ∑ C (m) − C
m∈ p
c m∈ p
G
(2)
E[ I (m, M )] is the expected information gain of cell m as computed in equation (1). S(m) is 1 if a sensing action is
performed in cell m and 0 otherwise — indicating that no information is gained unless a sensor reading is taken. Cc(m) is the per cell cost which is the amount of time, in seconds, spent in cell m. This includes the driving time and sensing time. CG is also in seconds and includes any global costs such as planning time. Finally, k is the value of information and is used to set the relative importance of information and cost. The E[I]’s in equation (2) are dependent on the path, so MIMEP uses a greedy planner, which plans only to the next sensor reading. The planner first propagates driving costs through the map using a wave-front propagation technique [5]. Next, it chooses the cell with the maximum utility as computed by equation (2). The robot will travel to that cell, take a sensor reading and then the planner will determine the next cell to visit. Since the greedy planner plans only to the next sensor reading the plans produced are in the form of a list of cells to drive through and ends with a sensor reading. This means that M(t) remains constant throughout the plan (it only changes after the sensor reading takes place). Therefore the dependence of E[I] on path is eliminated. A similar planning method was used in [12].
4. Exploring Cliff Faces In the exploring cliff faces problem, the robot explorer will start at the top of the cliff. It must find the cliff edge and then find a way to the bottom. Once at the bottom of the cliff, the explorer needs to drive along the face of the cliff to improve its knowledge of the cliff face. To perform this exploration task the attribute and information gain vectors of the MIMEP formulation must be chosen appropriately. This research has decided to use an attribute vector with the elements height (ah, ach), traversability (at, act) and probability of cliff (acliff). Height and traversability are continuous variables so have a value and a certainty. The information gain vector has three elements: frontier, view cliff faces and seek lower elevations. These are described in detail below. The frontier information metric indicates how much unseen terrain the explorer can expect to see. This information metric is used to attract the robot explorer to the boundary of its known and unknown world and fill in the blank spots in its map. The greater the number of unknown cells expected to be viewed from cell m, the greater the expected frontier information gain. For a given cell, m, in the map the expected frontier information gain is calculated as:
g mf
∑
UNKNOWN(a ctn ) ∀n∈Vm = ; if m is a frontier cell sensor footprint ; otherwise 0
where a ctn is the traversability certainty in cell n and UNKNOWN( a ctn ) is 1 if a ctn is less than 0.3 and 0 otherwise. Vm is the set of cells expected to be visible to the sensor from cell m [9]. A frontier cell is one that is traversable and the traversability is known and has at least one cell adjacent (in an 8 connected sense) to it that has an unknown traversability. The viewing cliff faces information metric rewards the robot for seeing the face of a cliff. In general it is not possible to view the cliff face from the top of the cliff, so this metric only has non-zero values at the bottom of the cliff. The view cliff face information metric is defined as:
∑(
)
n n n ] − a ch E[a ch ⋅ a cliff ∀n∈Vm m g cliff = ; if not at the top of cliff sensor footprint ; otherwise 0 n where E[a ch ] is the expected height certainty in cell n and is inversely proportional to the cube of the range.
When an explorer is at the top of a cliff, it is unlikely that its sensor will be able to see the bottom of the cliff (unless it is a very short cliff). In this case the cells where gcliff are non-zero have unknown heights. However, the sensor did view these cells, it just did not detect anything. Therefore, these cells are referred to as perceived cells and while the height is not defined, the height certainty is set based on the number of sensor readings to pass through the cell. This allows the equation for gcliff to be defined in places that are not yet known to the robot. The intended exploration task for the viewing cliff faces information metric involves the robot starting at the top of a cliff and finding a way to the bottom so that it can view the cliff face. However, while it is at the top the regions of high information gain will be in the perceived cells. Since the heights and traversability of the perceived cells are not known, the path planner does not see these high information gains. They are not exerting a force bringing the robot down to see the cliff face. To overcome this problem, the view cliff faces information metric is modified slightly to find a way to the border of the cliff. Therefore, the view cliff faces information metric will also have high values on cells at the top of the cliff which are near the cliff and the frontier as defined by the frontier information metric. This will serve to pull the robot along the cliff edge and down to the cliff base. The seek lower elevations information metric rewards the robot for traveling to cells that have a lower elevation than the cell currently occupied by the robot. The metric is defined as:
(
(
MIN 1.0, k ⋅ a hr − a hm m g low = 0 where
a hr
))
(
; if a hm < a hr
)
range of 20m and field of view of 360° in azimuth and 10° to -80° in elevation.
; otherwise
is the height of the cell currently occupied by
the robot, a hm is the height of the cell being assigned the information metric and k is a chosen constant. In this paper, k was empirically chosen to be 0.25. In the MIMEP architecture, the total expected information gain in a map cell is computed by taking a weighted sum of all the information metrics being used. For the cliff exploration problem the total information gain in a cell is defined: E[ I ] = 0.2 ⋅ g f + 0.7 ⋅ g cliff + 0.1⋅ g low .
(3)
In the exploration, the robot found the edge of the cliff and identified it as having a high probability of being part of a cliff. It then proceeded to drive along the edge of the cliff looking for a way down. When it got to the path to the base, the robot decided to continue following the cliff edge rather than go down the slope. It did this because the path along the cliff edge had a higher traversability, and thus lower driving costs, than the steep slope of the path down. This indicated that the information gains were not set optimally for the exploration. Nevertheless, the robot eventually comes back to the path down and proceeds to take sensor readings along the face of the cliff, ultimately succeeding in the mission.
5. Simulation Results The finding and viewing cliff faces exploration was performed in simulation on the cliff world shown in Figure 1. The world is 300m x 300m in extent with a cliff, ranging from 30 to 15m high, winding from the north east corner to the southern edge of the map. A path to the cliff base is found approximately in the center of the cliff. The whiter a pixel in Figure 1, the higher its elevation. The cliff is not perfectly vertical and the distance from the top of the cliff to the base, in a direction normal to the cliff face, varies from one to three meters.
Figure 2: Simulation results. Robot's map with exploration path superimposed. The small x's indicate sensor scan locations.
6. Field Results The simulation presented above showed the feasibility of the approach to explore the face of a cliff. However, the simulation world was hand drawn and did not consider sensor or positional noise. This section demonstrates the ability of the methodology to explore a real cliff using real sensor data. Figure 1: Cliff world. Elevation map of the cliff used in simulation tests. The results of the simulation exploration are shown in Figure 2. Each pixel in the image corresponds to one map cell. The robot started its exploration on the southern edge of the map and at the top of the cliff. The sensor used for the exploration was modeled after a laser scanner with a
To collect the data, a laser scanner was placed on a cart, which was instrumented with differential GPS for position information, and a compass and inclinometers for heading, roll and pitch information (see Figure 3). Using the pose information, each laser scan was converted to a global reference frame and combined into a single global map used for planning the exploration path. The cart also held a computer to read the laser scan and a second
computer to run the exploration planner. All processing was done on-board the cart and only power was external. The laser scanner used in the experiment was manufactured by Zoller + Frohlich (Z+F). The Z+F laser sensor can scan 360 degrees in azimuth and ±30 degrees in elevation with a reading taken every 0.045 degrees in azimuth and 0.043 degrees in elevation. This creates an image with 7999 x 1400 distance readings. The Z+F laser has a maximum range of 25.2m with a range resolution of 0.38mm [4]. A push cart provided an ideal platform to test the exploration planner. The cart was large enough to hold all of the computers and sensors needed for the exploration. Using the cart, rather than a full robot, such as Nomad [7] allows the exploration planner to be tested without the complications of low-level motor controllers and local navigation planners such as Morphin [11]. Several other investigations have shown that it is possible to combine a grid based planner with a local navigator so the simplification of using a cart is valid for the purpose of testing the exploration planner [13].
Figure 3: Setup for experimental tests. The map attributes, information metrics and weights for the field test were identical to those used in the simulation of section 5. The only changes made to the software from the simulation was to write a driver to convert the Z+F laser data to an elevation map and an interface to enter the cart pose for each scan. The procedure used to explore the cliff was as follows. First a scan was taken with the Z+F laser. The scan was tagged with the cart’s pose and converted into a digital elevation map (DEM) based in the global coordinate frame. The DEM was then merged into the existing map of the exploration planner with the elevations in the DEM corresponding to the height variable of the attribute vector. As in the simulation experiments the height certainty was determined by the number of laser readings from the current scan falling in the map cell.
With the data from the new scan in its map, the exploration planner computes the information gains for the frontier, view cliff faces and seek lower elevations information metrics. Next, the planner uses a greedy planning strategy [8] to find the path to the next scan point that maximizes the utility as computed by equation (2). The cart is manually moved to a spot close to the desired position. An autonomous robot, especially a large non-holonomic robot like Nomad, is unlikely to arrive exactly at a target waypoint. Therefore, the cart was maneuvered to the general region within 1 or 2 meters of the desired scan point. Once in place a new scan was commanded and the process repeated. The result of the cliff exploration is shown in Figure 4. In the figure of the exploration planner’s map, higher elevations are whiter and black is unknown. The +’s on the map indicate the desired scan locations as computed by the planner and the x’s are the actual scan locations. The line connecting the x’s is a straight line approximation of the path driven by the cart. It closely follows the actual cart route except at the turn onto the downward path where the straight line approximation cuts the corner. The circle is the cart’s final position.
Figure 4: Exploration path for real cliff exploration. The distance between the two x’s at the top right is approximately 7m. As in the simulation, the robot starts at the top of the cliff. After identifying the cliff, it follows the edge looking for a path to the bottom. Unlike the simulation, the field test went down the path to the bottom as soon as it was discovered. This is because the terrain on the cliff edge was not perfectly flat, making the traversabilities of the path down and the remainder of the cliff edge similar. Once at the bottom of the cliff, the exploration planner caused the robot to follow the face of the cliff, taking sensor readings to improve its knowledge of the cliff face.
Robotics, L. Dorst, M. van Lambalgen and F. Voorbraak (eds.), Amsterdam, 1995. [3] Estlin, T., A. Gray, T. Mann, G. Rabideau, R. Castano, S. Chien, E. Mjolsness, “An Integrated System for Multi-Rover Scientific Exploration”, Proc. of the Nat. Conf. on AI (AAAI-99), 1999. [4] Langer, D., M. Mettenleiter, F. Hartl, C. Frohlich, “Imaging Ladar for 3-D Surveying and CAD Modeling of Real World Environments”, Int. J. of Robotics Res., vol. 19, no. 11, pp. 1075-1088, Nov. 2000. [5] Latombe, J.C., Robot Motion Planning, Kluwer Academic Publishers, 1991. Figure 5: Picture of field test cliff. Black line indicates exploration path.
7. Summary This paper presents a technique for finding and exploring the face of cliffs using a surface mobile robot. It successfully explores a cliff face, starting at the top of the cliff, finding a way to the bottom and then driving along the cliff face collecting sensor data, in both simulation and field demonstrations. The Multiple Information Metrics Exploration Planner (MIMEP) methodology used in this paper can be applied to other exploration tasks by changing the attributes and information metrics considered in the exploration. MIMEP has been applied to explorations in indoor worlds [8] as well as an outdoor environment containing a large crater [9]. In the future, this research will look at applying MIMEP to other exploration tasks as well as to extend it to multiple sensors.
Acknowledgements The author performed this work while at the Robotics Institute, Carnegie Mellon University. Thanks go to Nicolas Vandapel and Daniel Huber who helped to collect the field data, Martial Hebert who loaned the Z+F laser and Omead Amidi who provided much of the field equipment. Special thanks go to Fieg Brothers’ Coal and Frank Bowman for providing the test site.
References [1] Elfes A., “Dynamic Control of Robot Perception Using Stochastic Models”, Information Processing in Mobile Robots, G. Schmidt (ed.), Springer Verlag, 1991. [2] Elfes, A., “Robot Navigation: Integrating Perception, Environmental Constraints and Task Execution Within a Probabilistic Framework”, Reasoning with Uncertainty in
[6] Malin, M.C., K.S. Edgett, “Evidence for Recent Groundwater Seepage and Surface Runoff on Mars”, Science, June 2000. [7] Moorehead, S.J., R. Simmons, D. Apostolopoulos, W. Whittaker, “Autonomous Navigation Field Results of a Planetary Analog Robot in Antarctica”, Int. Sym. on AI, Robotics and Automation in Space, Noordwijk, Netherlands, 1999. [8] Moorehead, S.J., R. Simmons, W.L. Whittaker, “Autonomous Exploration Using Multiple Sources of Information”, IEEE Int. Conf. on Robotics and Automation, Seoul, South Korea, May 2001. [9] Moorehead, S.J., R. Simmons, W.L. Whittaker, “A Multiple Information Source Planner for Autonomous Planetary Exploration”, Int. Sym. on AI, Robotics and Automation in Space, Montreal, 2001. [10] Roy, N., W. Burgard, D. Fox, S. Thrun, “Coastal Navigation — Mobile Robot Navigation with Uncertainty in Dynamic Environments”, IEEE Int. Conf. on Robotics and Automation, Detroit, MI., 1999. [11] Simmons, R. at al., “Experience with Rover Navigation for Lunar-Like Terrains”, Conf. on Intelligent Robots and Systems (IROS '95), 1995. [12] Simmons, R., D. Apfelbaum, W. Burgard, D. Fox, M. Moors, S. Thrun, H. Younes, “Coordination for MultiRobot Exploration and Mapping”, Proc. Nat. Conf. on AI, Austin TX., August 2000. [13] Singh, S., R. Simmons, M.F. Smith, III, A. Stentz, V. Verma, A. Yahja, K. Schwehr, “Recent Progress in Local and Global Traversability for Planetary Rovers”, IEEE Int. Conf. on Robotics and Automation, San Francisco, CA., April, 2000. [14] Yamauchi, B., “A Frontier-Based Approach for Autonomous Exploration”, Proc. of CIRA ‘97, Monterrey, CA., July 1997.