8a-Ot 4
Copyright © 1996 IFAC 13th Triennial World Congress, San Francisco, USA
INTERACTIVE AUTONOMY FOR NA VIGATION AND PILOTING OF PLANETARY ROVERS Alejandro Martin-Alvarez and Peter Putz ESA / ESTEC, Noordwijk, The Netherlands Abstract: A hierarchical functional control architecture for navigation and piloting of a planetary rover is presented together with a medium level autonomous operation mode called Interactive Autonomy. The main features of the control architecture implementation are an extensive fuzzy world model and fuzzy path planning on Navigation layer. and the use of fuzzy behaviors on Piloting layer. This implementation approach is considered realistic and feasible w.r.t. the practical implementation constraints of a real Moon mission. Experimental results are shown for the path planning algorithm (implementaed in MATLAB). and piloting behaviors (implemented in C), using the Robuter mobile robot as a testbed. Key words: mobile robots, rovers, autonomy, hierarchical control architectures. navigation, piloting. fuzzy control. fuzzy arithmetic. path planning. planetary exploration
1. BACKGROUND ESA is currently planning a Moon rover mission called LEDA (Lunar Exploration Demonstration Approach) as the flrst step of a Moon exploration program (ESA. 1994). The LEDA mission is chamcterized by severe constraints on rover mass. power. communications bandwidth (including temporary loss of communications), a priori mapping information about the terrain to be traversed. and development cost. This scenario has been taken as the application background for the work described in the following.
2. OBJECTIVES The work reported in the paper seeks to devise a control concept for navigation and piloting of a (Moon) rover which •
is feasible within tight implementation and cost constraints
•
is powerful enough for safe and reliable navigation with limited amount of ground participation (medium level autonomy)
•
optimizes the sharing of responsibilities between ground and board given the above constraints
•
uses a modular set of control functionalities which allow simple interaction with ground operators at adequate level of abstraction
•
is extensible within a well dermed framework (to allow later or situational increase in autonomy).
3. OVERVIEW OF THE APPROACH We apply the principle of Interactive Autonomy. which has been successfully used in robotic type automation applications. It foresees a modular set of robust low level control functions (for piloting the rover) which can run automatically on board. and with which a ground operator can interact at a conveniently high level. Depending on the situation. more or less of the higher level control functions (rover navigation) can be executed automatically (on ground or even on board) after having been prepared on ground. Communications can be done at a non-time critical higher level, with drastically reduced up- and downlink data rates. Underlying the approach is a hierarchical functional control architecture called MORCA (MObile Robot Control Architecture) (Martin-Alvarez et al.. 1994. Martin-Alvarez, 1994a) which is derived from ESA's Functional Reference Model (FRM) for robot control
7348
7349
•
Piloting Loop (on board):
•
obtain pi/oting command from ground
•
sense and generate a digital elevation map of its surrounding area
•
perform obstacle detection and relative localization in rover coordinates
•
perform (local) trajectory planning: determine a sequence of pi/oting phases (implicit trajectories) around the obstacles to satisfy the piloting command
•
repeat for each trajectory / phase: appropriate fuzzy
recovery.
•
invoke the behavior( s)
rule
based
•
as the effect of the behavior, generate control outputs to locomotion devices (speed, steering angle, braking, etc.)
•
assess the pi/oting state (rover attitude, relative distance / orientation to external objects and trajectory final condition, etc.)
4. GROUND BASED NA VIGA nON USING FUZZY WORLD MODELS Navigation works in an absolute coordinate system fixed to the Moon and considers the rover as a point on the map with associated capabilities and constraints. The navigation functions are •
•
•
Navigation Non-Nominal Feedback which basically has to determine when the rover is lost, and to attempt
Navigation Nominal Feedback to update the environment map and to localize the rover and other features (destination, landmarks). This builds on rover piloting states (e.g. distance covered, relative distance to objects, rover attitude) and on measurements from navigation sensors (such as inclinometers to measure the local gravity vector, star sensors, and sun sensors) and may require the handling of complex global maps or celestial kinematics models. (Global) Path Planning which receives from the higher (Mission) layer the navigation command (such as GO_TO absolute location) and plans a feasible path consisting of a sequence of rough path segments. A path segment is an approximate corridor within which the pilot is considered to find feasible trajectories to rove (Le. it is basically traversible, although there might be local obstacles), and for which piloting behaviors exist.
According to the principle of Interactive Autonomy, navigation is proposed to be performed on ground and mainly by humans. This reflects the tight on-hoard implementation constraints which may not allow the computation intensive map handling and localization functions, and takes advantage of human perception and intuitive planning skills. It is also perfectly feasible because there is no need for a faster closure of the path planning and commanding loop (given that the rover speed is very low and it has to stop and wait frequently anyway for performing scientific measurements or recharging batteries). On the other hand, automatic navigation (even from ground) is still considered too difficult and risky. Although the essential path planning functions are performed by humans, there can and will be substantial computer based support ranging from localization functions over optimization tools as planning aids to sophisticated 3D graphical user interfaces to represent maps, the rover state, and planning data (see Appendix A). A critical assumption for this is that communication between ground operators and rover exists at least at the end of a path segment (to embark on the next segment in a controlled way), and in emergencies (to invoke ground based non-nominal feedback). If these assumptions are not met, higher level autonomy has to be implemented on board (see later on).
An important feature in our approach is the use of fuzzy navigation world models which •
on the one hand are very comprehensive (not only including geometrical environment properties and landmarks but also other important characteristics such as soil properties or shadowed areas w.r.t. sunlight and communication)
• and at the same time take the natural uncertainty and inaccuracy into account. This is achieved through the use of fuzzy numbers and fuzzy arithmetic (Kaufmann and Gupta. 1985, see also Fig. 2) throughout world modeling and path planning, and it allows to take full account of the capabilities and limitations of the rover subsystems (such as sensing, locomotion, power generation, communications, thermal control). Appendix A gives simulation results from this implementation.
Path Control which controls the execution of individual path segment commands by dispatching the respective piloting commands to the rover and checking on execution progress
7350
z
Fig. 2: Fuzzy number for a cell height of a DEM
5. AUTOMATIC PILOTING USING A FUZZY BEHA VI OR APPROACH A piloting command is the typical telecommand in the Interactive Autonomy mode of operation. The humans on ground need normally not be concerned about any details during execution of such a piloting command (because it can be performed automatically), and only need appropriately abstracted state and status feedback in the telemetry downlink. Thus, time delays and temporary loss of communications to Earth are not a problem because no real time control loops are closed via the up- I downlink. This also reduces the power consumption of rover subsystems like telecommunication and makes more resources available for the actual locomotion. A fuzzy and behavioral approach (Martin-Alvarez, 1994b) has been selected for automatic piloting, which promises to be robust w.r.t. uncertainties in environment modeling and w.r.t. rover (sensors, actuators) performance limitations, fast, easy to understand and maintain, and cheap (because it needs few computational resources). Piloting mainly works in rover relative coordinates, thus the pilot (rover) need not have a concept of absolute localization w.r.t. the planetary surface. The piloting functions are •
•
Piloting Nominal Feedback to generate and maintain the piloting state from sensors like accelerometers, gyros, encoders, cameras, laser range fmders, radar, whiskers, etc. This also includes sensing of obstacles, if obstacle negotiation is considered a nominal technique within piloting. Trajectory Planning which essentially receives the piloting command and determines (partly a priori, partly based on feedback during the motion) piloting phases (implicit trajectories, such as CRUISE, APPROACH or BORDER) which avoid obstacles and eventually promise to cover the path segment. For each trajectory, it activates the proper trajectory controller.
•
Trajectory Control which is realized as a set of behaviors corresponding to the trajectory commands (e.g. MOVE_TO cardinal point, BORDER external object, KEEP_SPEED)
•
Piloting Non-Nominal Feedback to monitor the piloting behavior and to perform recovery in case of contingencies (e.g. for homing correction).
Note that this represents a natural and intuitive way of merging behavior t,n>e control into a hierarchical functional architecture with the concept of planning. Contrary to some voices in the research community, we do not feel that those are irreconcilable opposites (MartinAlvarez et al., 1994). A special feature of our approach is the use of fuzzy data also on Piloting layer. This is an appropriate way of dealing with the inherently uncertain I inaccurate state information available, and also significantly reduces the amount of data to be handled on board. All piloting functions are formulated as qualitative and approximate decision making based on linguistic sentences of the type IF 'A' THEN 'B', where A and B contain fuzzy sets and fuzzy logic operators (Zadeh, 1965). Appendix B shows experimental results from this implementation.
6. POSSIBLE EXTENSIONS Variations to the concept described so far are possible in several ways, towards more or towards less autonomy. The big advantage is that even then, one can stay within the same functional architecture (one "only" shifts the borders between human and computer performed functions). Less autonomy, namely manual piloting from the ground, may be necessary in particularly critical phases where the on-board obstacle avoidance and piloting behaviors have reached their limits. Here, the trajectory planning and control functions are performed by humans who then execute control outputs like "turn left", "turn right", and speed (like driving a car on the road). The obvious limitation will be the communications bandwidth and time delays, making this very slow and tiring. More autonomy, namely automatic (on-board) navigation, would be necessary if communication with Earth is not available in a contingency during a path segment, or nominally for longer periods of time (such that more than the current path segment has to be handled on board). This may be required if the LEDA mission intends to go into permanently shadowed craters around the lunar South pole, since those areas will also not have a direct communications link to Earth and relay stations such as a Moon orbiter will not be available. To perform reliable localization and global path planning on board is currently considered very difficult from the algorithmic point of
7351
view, and almost prohibitive W.r.t. the required computer resources. The control functions from the MORCA architecture can also be distributed over several space vehicles, as described in (Martin-Alvarez and Putz, 1994): the problems of rover localisation and communication can be solved if there is cooperation with a lander and I or an orbiter spacecraft.
7. SUMMARY An architecture for navigation and piloting of a (Moon) rover has been elaborated. Many parts of it have been implemented in software and on laboratory rovers, and verified by simulation and tests. It supports a medium level autonomous operation mode called Interactive Autonomy, where the lower level piloting is done automatically on-board the rover and only medium level commands and state feedback have to be exchanged with the ground operators who perform navigation with the support of sophisticated visualization and planning tools. The approach is based upon a hierarchical functional control architecture. Its main features are an extensive fuzzy world model and fuzzy path planning on Navigation layer, and the use of fuzzy behaviors on Piloting layer. It thus is a natural combination of reactive and planning techniques. trying to find an optimum balance between performance and robustness in the presence of uncertainties in different parts of the control architecture. This approach is considered realistic and feasible w.r.t. the practical implementation constraints of a real Moon mission.
ACKNOWLEDGEMENTS The first author acknowledges support for his work from the ESA Research Fellowship program.
REFERENCES ESA (1994). A Moon Programme: The European View, ESA Doc. BR-lOI Kaufmann, A. and M. M. Gupta (1985). Introduction to Fuzzy Arithmetic. Van Nostrand Reinhold Company Martin-Alvarez, A., Ballesteros, R., de Pedro, T., and Garcia de Rosa, R. (1992). Deliverable DV5: "Software description of fuzzy Control Modules", MARIE (Mobile Robot in an Industrial Environment) internal document (WP4 IAI DEL 920923) (ESPRIT project) Martin-Alvarez, A. (1994a). Control Subsystem for Planetary Mobile Robots, ESTEC Working Paper 1811
Martin-Alvarez, A. (1994b). A Fuzzy Pilot for a Microrover, 2nd Int. Symp. on Missions. Technologies and Design of Planetary Rovers, Moscow Martin-Alvarez, A. and P. Putz (1994). An Integrated Architecture for Navigation and Piloting of Cooperating Spacecraft I Rover Systems, 2nd Int. Symp. on Missions. Technologies and Design of Planetary Rovers, Moscow Martin-Alvarez, A., W. De Peuter and P. Putz (1994). A Unified Control Architecture for Planetary Rovers, iSAlRAS 94 (Int. Symp. on Art. Intelligence. Robotics. and Automation for Space, Pasadena Putz, P. and A. Elfving (1992). ESA's Control Development Methodology for Space A&R Systems, in Robotics and Manufacturing: Recent Trends in Research. Education. and Applications (M. Jamshidi et al., eds.), Vol. 4, pp. 487 - 492, ASME Press Putz, P. and A. Martin-Alvarez (1994). A System Development Methodology for Mobile Robots, 2nd Int. Symp. on Missions . Technologies and Design of Planetary Rovers, Moscow Zadeh, L. (1965). Fuzzy Sets, Information and Control, Vol. 8
APPENDIX A: NA VIGA nON RESULTS The path planning algorithm and path planning tool (Martin-Alvarez, 1994) was implemented in MATLAB. Fig. 3 shows the expected nodes (center of cells of the Fig. 2) in the generated path and the main piloting behavior for each path segment (represented with different line types). The plath planning algorithm is a modified A * that minimizes a cost function. The algorithm deals with fuzzy data and fuzzy decision making using the theory of fuzzy numbers and fuzzy arithmetic. The path planning tool is used to introduce a complete set of data to the planner and to inquire for navigation and engineering information about generated paths by the path planner. The inmUs. to the path planning tool are:
•
vehicle parameters (max. obstacle height, max. sinkage, max. slope, max. roughness, wheel diameter, wheel width, number wheels, mass, nominal power, max. wheel slip, and transmission efficiency)
•
vehicle sensor parameters (min. I max. size detectable, min. I max. range, parameters of measurement errors, power consumption, data processing time)
•
environment data (terrain elevation, soil physics parameters, terrain roughness, and gravity, where most of the environment data are trapezoidal fuzzy numbers)
7352
7353