A Prototype Study of an Autonomous Robot Platform for Sewerage ...

26 downloads 0 Views 329KB Size Report
a prototype sewer robot platform that is able to physically navigate through the LAOKOON test sewerage network, or brie y, LAOKOON-net. This test network was ...
Autonomous Robots, ??, 1{12 (??)

c ?? Kluwer Academic Publishers, Boston. Manufactured in The Netherlands.

A Prototype Study of an Autonomous Robot Platform for Sewerage System Maintenance FRANK KIRCHNER, JOACHIM HERTZBERG

[email protected], [email protected] GMD { German National Research Center for Information Technology, Schlo Birlinghoven, 53754 Sankt Augustin, Germany

Received ??. Revised ??.

Abstract. The paper describes KURT, an autonomous robot platform prototype that is able to navigate through a network of sewage pipes. KURT is a six-wheeled vehicle; it has modular, layered hardware and control architectures. Its sensor con guration consists mainly of stationary and one exible ultrasound transducers and of two inclinometers. In experiments run in a test sewerage system consisting of concrete pipes of 600mm diameter, it has proven its abilities to travel safely through straight pipes, to recognize di erent types of pipe crossings, to turn at crossings, and to navigate from a given start point to arbitrary speci ed goal points. Keywords: Robot control, robot navigation, active perception, partially observable Markov decision problems.

1. Aim and Scope of the Study The public sewerage system in Germany is about 400,000km long, and it is in no good condition [7]: sewage may leak out, possibly polluting soil and ground water, and it may wash away soil, possibly eroding the foundations of buildings or the underground of streets and pavements. Consequently, considerable e ort must be taken to maintain the sewage pipes, which includes inspection and local repair. A large part of the public sewerage system consists of circular pipes of 300{ 600mm inner diameter, which is the type of pipes to that we restrict our attention here. Obviously, they are not accessible for humans. The current state of the art to maintain such pipes [13] uses tele-operated robot platforms. These platforms are connected to the outside world by a cable that gets used for energy supply, for transmission of commands from the human operator to the device, for data transmission back to the operator, as a life-line in case the device gets stuck in the pipe, and as a measuring line This work was funded by the German Federal Ministry of Research, BMBF, as part of the feasibility study LAOKOON, grant No. 01IW 501A.



for the distance traveled. However, the cable severely restricts the range of action of the platforms due to friction at the pipe inside after bends or after long straight tours, where \long" means typically 200m here. This range restriction, in turn, adds considerably to the maintenance cost, because it forces the maintenance teams frequently to haul in the device, change the location, put the device back in, and continue work. There is quite some work on optimizing the design, handling, and sensoric abilities of these tethered platforms and on tuning the use and properties of the cable, e.g., [2], [8]. However, such work does not|and does not intend to|address the question how to overcome the most fundamental physical limitation of today's sewer platforms: the cable. An envisable alternative to such tethered vehicles is using autonomous mobile robots. However, sewer is no easy place for such a robot to work. It is narrow, slippery, dirty, and wet. It can involve all levels of water from dry to completely

ooded. At dry weather|when inspection and repair work is normally done|a typical water level in a sewer is 5%, but water may splash on the vehicle at any time from joining pipes. A typi-

2

Kirchner and Hertzberg

Fig. 1. A simpli ed and schematic representation of the LAOKOON-net. See text for explanations.

cal sewerage system consists of pipes from di erent materials, where concrete, PVC, and ceramic are the most frequently used. It contains steps as in a connection between pipes of di erent diameters. It may include obstacles or damages like sediments, cracks, holes, non-expertly built junctions from smaller pipes, or roots grown into the pipes through cracks or leaking joints. The work we report here was part of the feasibility study LAOKOON1 [1] whose purpose it was to investigate the feasibility and the prospects of autonomous robots for sewer maintenance. Within the overall study, the aim of our work was to build a prototype sewer robot platform that is able to physically navigate through the LAOKOON test sewerage network, or brie y, LAOKOON-net. This test network was built by rhenag and is installed above ground at the GMD site. It is not in operation. The network is built of concrete sewage pipes of 600mm inner diameter. The total length is about 80 m. Figure 1 shows the layout: The objects numbered S7, S8, S12, and S13 are open ends, the other S-numbered objects are shafts, constructed like manholes in an operational sewerage system. Figure 2 shows a general view. The task to navigate through the LAOKOONnet is certainly somewhat easier than navigating through an operational sewer: The pipes are dry and relatively clean, they are made from a single type of material, and the layout is known with certainty. However, we suspected (and in retrospect, we were right) that the task of navigating through the test network would provide sucient insight into navigation problems in the real ones to deserve some e ort of its own. Of course, the platform KURT2 (Fig. 3), which we developed for

Fig. 2. The LAOKOON-net at the GMD site. The shaft in front is the one labelled S9 in Fig. 1.

Fig. 3. KURT exiting from a sewage pipe.

this study, is not t for working in an operational real sewer. For example, it is not watertight and is unable to climb steps. However, much of the high-level control and much of the experiences with the low-level control and the hardware design seem transferable or adaptable to platforms in the real environment. In the remainder of this paper, we describe, rst, KURT's hardware design (Sect. 2) and its control architecture (Sect. 3). Then, we sketch the rationales and results of a number of experiments related to the task of navigating autonomously through a network of sewage pipes (Sect. 4). We conclude with a resume of what of our study we think is transferable to the problem of putting real sewerage robots into autonomous operation.

2. Hardware Design KURT's physical design is constrained by considerations from the larger context of the LAOKOON

A Prototype of a Sewer Robot Platform

Fig. 4. A sketch of KURT's hardware components. ISAbus is a standard PC-interface, which is equipped with a frame-grabber board. The PCMCIA interface is used to sample the analog signals from the ultrasound transducers and from the inclinometers. DCC1 and DCC2 are the drive control circuits that control the motors M1 and M2, respectively. S1 is the servo motor to move the CCD camera and the exible ultrasound sensor.

study. Let us brie y mention these rst; a more comprehensive discussion can be found in [1]. To start with, there is no reliable ow of some homogeneous medium to transport a platform through the system like, e.g., in an oil pipeline. That means, the robot has to care about its own locomotion. Sewer robots must travel over relatively large distances, carry load|e.g., their own batteries|and consume few energy. In consequence, vehicles with wheels or tracks seem preferable over legged ones. This is why KURT has wheels. From time to time, a sewer robot has to climb over small obstacles or over steps in junctions where pipes of di erent diameters meet. [1] proposes an articulated multi-segment architecture in the spirit of ACMIV [5], but adapted to the constraints of the sewer environment. The construction and control of such a multi-segment vehicle is obviously non-trivial, so we decided to build KURT with a small but rigid chassis|at the cost of being unable to climb the steps in the LAOKOON-net. Originally, we had intended to use rapid sewer robot prototyping for experimenting with different hardware designs|the Fischer-Technik or LEGO robot approach. We learned very quickly that this was hopeless in the LAOKOON-net: The systems were either too weak in terms of motor force, or|if the motors were strong enough|the robots would break into pieces. The environment constraints play a fundamental role in designing a

3

sewer robot, constraining the hardware, the sensors, and the control software. Hardware. The system must be constructed such that it is able to drive through long tube sections quickly and with a minimum of energy consumption. Turning at narrow and slippery junctions must be possible with a minimum of mechanical wear out. Sensors. Even if some sensor redundancy is desired, the bene t of having more sensor information must be weighed against the computer power required for exploiting it. In our case, one should use few sensors and implement domaindependent and cheap, yet robust algorithms instead, which compensate for any uncertainty in the sensor interpretation and the resulting incompleteness of the internal representation. Control software. Again, robustness and reliability are mandatory. So, the control software should be modular and re ect a|probably hierarchical|decomposition of the global task into a set of robust functional modules. This approach should decrease the state space dimensions for the individual modules by focusing on the relevant information. The following subsections show how KURT's design respects these constraints. Refer to Figure 4 for an overview. 2.1. Mechatronics

KURT is a six-wheeled vehicle of 38  28  30 cm size (L  W  H). The three wheels on either side are connected by transmission belts, forming two separate propulsion units. Each unit has one DC motor which can be controlled to move in two directions at any given number of revolutions ranging from 0 to about 60 per minute, thereby achieving a maximum speed of about 20cm/sec. The motor is controlled by separate drive control circuits (DCC), which actively alter the voltage supplied to the motor, using pulse-width modulated (PWM) signals. Because each unit has its own DCC, the robot can turn in any direction by rotating its left and right wheels into opposite directions. The DCmotors are equipped with odometers measuring the number of shaft revolutions. A rough measure of the distance travelled can be computed by coun-

4

Kirchner and Hertzberg

ting the revolutions and taking the diameter of the wheels into account. Note, however, that the slip in real sewage pipes is extremely high, so navigation should not rely on such a simple odometry. KURT is equipped with a rechargeable battery that provides sucient energy for about 1 hour of operation in the LAOKOON-net. 2.2. Onboard computers

All necessary computations for control and navigation are distributed among two computers. First, there is a HC11-based microcontroller board for the basic control tasks like generating the appropriate PWM signals. Second, there is a standard notebook computer on which the higher level control modules as well as path generation and global positioning routines are implemented. The notebook PC is a xed part of the robot, thus all computation is done onboard. Although this added weight implies further mechanical requirements for the robot hardware|like more complicated kinematics or the need for more battery power|we had no other choice: The system has to operate in a sewage pipe, and in the real ones that lie, say, 4 m below street level, one cannot guarantee continuous wireless contact to the robot. Therefore, computer power can not be externalized in a sewer robot. Confronted with that constraint, it was the natural approach to use di erent computers for performing tasks asynchronously at di erent grades of complexity. A bidirectional serial communicationlink serves to transmit commands from the notebook to the microcontroller and status reports from the microcontroller to the notebook. 2.3. Sensors and communication

To complete the description of KURT's principal components as shown in Figure 4, let us turn to its sensor and communication components. Note rst that sensors in the context of this study are intended to serve only for the intactness of the robot platform and its ability to navigate through the sewerage system. We do not address special

sensors that might get used to identify damage at sewer inspection, as they are developed, e.g., in the KARO [8] context. KURT has a CCD camera and a radio link module. The camera can rotate by 180 deg. horizontally, thus covering all of the robot's front area. The analog video signal of the camera is collected by an onboard framegrabber, which is installed at the ISA-Bus slot of the PC, and then transmitted via a radio link to the outside world. Note that the radio link makes sense in the test sewerage system only, where it is a useful tool to monitor the robot's perception, decision making, and action cycle. In a real sewer, it would be highly unpredictable whether or not connection can be made|hence a radio link may just consume power for no yield. This does not apply for the camera itself, because pictures of damages can be taken in the pipe during autonomous operation and later transmitted to the outside world to inform a human operator. It is questionable whether video data should be used for navigation and/or self-localisation purposes inside a sewerage system, given the relatively high power consumption necessary to light up the place and the computational e ort to extract useful information from video data. On the other hand, it is relatively easy to have a water proof video camera|unlike an ultrasound transducer working in normal atmosphere. In the case of KURT, we decided to use no video data for navigation. This leads to the sensors that do get used. First, there are two inclinometers, which are installed at the bottom of the chassis, measuring the tilt along KURT's two main horizontal axes. The information from these sensors is collected|via an 8 bit A/D converter|by the microcontroller board approximately every 100ms. Then, there are ve ultrasound transducers, which are mounted at KURT's chassis to cover most of its front and side areas. They measure distances to objects up to 100cm at a resolution of 1cm. They are suited for navigation in the LAOKOON-net because the rough walls of the concrete pipes re ect sound well and at relatively wide angles.

A Prototype of a Sewer Robot Platform control level 2

Mission/path plan

6

control level 1 Turn

1?n

Forward

through pipe

? Detect

junction type

Correct

         Environment    slope

6 Re exes e ector/sensor level  ? @ @R ? ?? Sensors YH  E ectors H

Fig. 5. Schema of the 2 and 1/2 levels of control. Arrows pointing upward denote data ow; arrows pointing downward denote control ow. See text for further explanations.

Figure 4 also shows another ultrasound transducer that is mounted on top of the camera. Its purpose will be described below (Sect. 4).

3. Control Architecture This section describes KURT's control architecture (Figure 5) for navigating through the LAOKOON-net. It is decomposed into 2 and 1/2 levels. The lowest, \half" level contains some re exes or control-loops for reacting to critical situations immediately; examples for such re exes are obstacle avoidance and, particularly important in sewage pipes, tilt-control. Level 1 is a set of nite state automata that implement the fundamental abilities of the robot to operate in a sewer. Level 2 contains high-level control algorithms such as a graph search algorithm, that, given a map of the environment, start and goal positions, computes an optimal path (in terms of a sequence of level 1 behaviors) to that goal. Let us address these levels in more detail. One of the basic low level tasks of KURT is to travel safely through long straight pipes. It is thus mandatory to have a reactive mechanism that compensates for drift, which will occur from differences in traction in any wheel-based or chainbased robot in sewage pipes, no matter how sophi-

5

sticated a hardware is used. Drifting in a sewage pipe would result in driving up the walls and possibly toppling over. Consequently, KURT has a reactive tilt-control, which is an example from its small set of \re exes". The re exes depend only on the current sensor input, exhibiting a xed reaction scheme that couples one sensor to one e ector. They are immediately executed and report to the higher levels only later. In case the inclinometer senses an intolerable tilt, the microcontroller immediately performs a correction maneuver that brings the system back into stable position: depending on the tilt, the left or right motors are accelerated or decelerated, respectively. Only if this immediate reaction does not succeed, a level 1 behavior is activated, which stops the motors, deactivates the re ex, and performs a more complicated maneuver to bring the robot back into normal position. This level 1 behavior is completely located on and carried out by the microcontroller. The level 2 control program is informed that this behavior is activated and grants or rejects permission for execution. This enablement structure is useful because in some dicult cases|e.g., when turning at a junction|a moderate tilt is unavoidable for the robot and must be tolerated. The lower levels, however, have no context information; e.g., they do not know, whether or not KURT is at a junction. The representation used in level 1 abstracts from raw sensor data. It uses high-level states like inside tube, near junction, at unknown junction, or at type y junction, where y is a classi cation like T-junction, L-junction, or X-junction. The state at unknown junction, e.g., is generated if KURT previously was inside tube, then near junction, and if

the left and right static ultrasound sensors signal that there is some junction now, but it has not yet been classi ed (see below how this gets done). Similar procedures are used to compute the other states listed above. Level 1 can be described as a nite deterministic automaton, where the edges are labelled with perceptions that the robot has to make before a state transition can occur. For each state of this automaton, the system has a level 1 behavior that is active when the robot is in that state, thus a state transition also causes a new behavior to be

6

Kirchner and Hertzberg

problem. The level 2 algorithm dealing with this problem is sketched below (4.5).

4. Experiments

Fig. 6. Plot of the ultrasound values front left (ULV) and front right (URV) while travelling through a tube. The white rectangle represents the robot, with the ultrasound beam going out to the left and right. At the right side of the gure, the values read by the exible ultrasound sensor (UT) are plotted as recorded when performing a 180 deg. scan at the junction entrance. The characteristic pattern of an X-type junction is visible (here not distorted by noise, as they would usually be). In addition, the travel speed is indicated.

activated. However, level 1 behaviors do not start automatically, but have to be explicitly activated by level 2. The reason for that strategy is straightforward: On the lowest level of control, it is possible to tell more or less exactly what re ex or task has to be performed for a given sensor input. This turns more and more dicult to tell in advance when the tasks become more and more complex. A complex task usually involves multi-step decision making: rst, the integration of more than one sensor is often needed; second, these readings have to be integrated and/or correlated over time; and third, they have to be interpreted within a given context. In order to navigate to a previously speci ed position (usually a shaft), the system is equipped with a map. This map is a topological description such as the one shown in Figure 1. It contains no metric information, but states information such as: if driving through tube t in northern direction, then the next junction will be of L-type. As KURT arrives at the next junction, it veri es whether or not the present junction is in fact of the type speci ed by its internal map. If so, then the system will execute the next high level task, such as turning right or left|whatever is appropriate to reach the next subgoal. If the classi cation of the current junction leads to a di erent result than was expected from the map, then KURT has a

This section describes a sequence of experiments that were carried out with KURT in the LAOKOON-net. They basically test the function of the level 1 behaviors, an approach to correctly classify a given junction, and the problem of navigation under uncertainty of sensing and control. 4.1. Controlling tilt

The rst experiment deals with the KURT's ability to drive through a straight tube without toppling over, by reacting to the data from its tilt sensors. Figure 7 shows the tilt sensor values as they where taken at one trip through a pipe of about 10m length. As can be seen, these values deviate from the ideal line (here as the straight line) and are brought back into a tolerance range. The extreme points of the curve IX in Figure 7 mark the moments where the correction maneuver was triggered, bringing the robot back into a stable position. A little later, the system is tilted again, this time to the other side. The reason is that the previous correction had left KURT not in parallel with the pipe axis, which it cannot sense using its given sensor con guration|so, going straight means going up the wall again. However, this oscillation is not critical as long as the tilt correction works properly. 4.2. Driving through pipes between junctions

This test demonstrates KURT's ability to travel through a pipe until arrival at the next junction. It requires two basic perceptual abilities: deducing from the raw ultrasound reading that the system is in a tube, and estimating that it is approaching or has reached a junction. Both perceptions must be executed with high precision because if, e.g., the robot erroneously believes that it is at a junction and initiates a turning maneuver, then it might damage itself. Due to sensor noise, these percep-

A Prototype of a Sewer Robot Platform

7

Fig. 7. Tilt correction on the basis of tilt sensors. The curve IX represents the values from the tilt sensor measuring tilt around the main horizontal axis. The correction maneuver interferes at the marked positions. In addition to the tilt values, the measurements from the left (ULV) and right (URV) ultrasound transducers are shown to document that the data stems from one single pipe.

Fig. 8. Data from the exible ultrasound transducer (UT) at three di erent junctions. The upper, middle, and lower traces represent X-type, T-type, and L-type junctions, respectively. However, as can bee seen in the middle trace, there may be noise and other (environmental) artefacts that complicate the correct classi cation.

tions must not respect only local ultrasound readings. Instead, the time series of sensor readings must be taken into account to derive more reliable information. We have used the following technique. The data stream is ltered to eliminate the high frequency components of the noise. The low frequencies are not eliminated, because they correspond to the robot's drift while passing through the pipe. Knowing about the drift helps, because it facilitates to predict that the robot is approaching a junc-

tion. The low frequency components in the data streams from the front left and front right sensors show identical patterns as long as the robot is just drifting in the pipe. However, as soon as the system approaches a junction, they are phase shifted by 90 deg. or show di erent uncorrelated patterns. This e ect can be seen in Figure 6 from the sinusoidal patterns in the respective sensor readings: they are in phase most of the time, whereas they start to get out of phase after approx. 9m|KURT approaches a junction. So, in order to perceive such an approach, we have used a moving window technique on the data from the front left and front right sensors. First, the high frequency components is eliminated, ltering out local noise. Second, the trend of the data in the two windows is computed, extracting the information whether it is positive, constant or negative, as indicated by the sign of the rst derivative. An upcoming junction is heralded by a trend di erence. KURT would then slow down to half speed and be attentive to its left and right transducers, which emit their signals at an angle of 90 deg. The type of di erence in the trend values even yields some information about the type of crossing that one is approaching; in Figure 6, the trend values of both the left and right sensors are positive, indicating that the crossing is opening both to the left and to the right. This method is not used to classify the junction (see Sect. 4.3), but it gives some information about at which sensors the robot should look next to detect de nitely that it is

8

Kirchner and Hertzberg

at a junction. So the strategy here is to use the information at hand for minimizing the number of samples (sensors to look at) that must be taken into account to make the next observation. We have tested di erent window lengths. At a basic sampling frequency of 10 Hz and a maximum speed of 20cm/sec, we cover approximately 20 cm of travelled distance when using a window length of 10. The optimal value must be in harmony with the drift frequency. 4.3. Classifying junctions

As mentioned earlier, there is an additional ultrasound transducer mounted on the top of the camera, that scans 180 degrees in front of the system. A set of 90 data points is acquired during such a scan, representing a one-dimensional distance snapshot of KURT's front area. Such a time series shows characteristic patterns that indicate the junction type (see Figure 8). However, the classi cation of this type is not straightforward, due to sensor noise and to di erences in position of the system when taking the scan. We used a neural network [11] for classi cation. The input consisted of 22 data points plus the values from the tilt sensors (used to encode abnormal positions at a junction). The three-layered network learned to activate one of eight output neurons representing one of eight junction types, respectively, which were speci ed in advance. We trained the network o -line with real scan data that was acquired in earlier runs in the LAOKOON-net. A total number of 80 training sets were generated and fed in at stochastic selection. Because we used the generalised delta learning rule, we computed the backpropagation error [10] from the di erence between the desired output vector and the one generated from the network at each trial. After o -line training, the weight matrix was saved and reloaded later, when the system had to operate in the LAOKOON-net. This time, KURT used the network to classify the types of junctions that it encountered. Whenever it arrives at a junction, it would perform a scan to acquire the actual data and have the network do

the classi cation. Table 1 shows the number of correct/uncertain classi cations for all junctions. As the table shows, the network is not sure to produce the correct results. One reason is that, due to sensor noise, the scan may yield patterns that the backprop procedure fails to approximate. This e ect is unavoidable if operating in the real world. Yet, the results show that the network works ne in most cases. So, instead of putting more e ort into its training, we decided to couple the classi cation from the network with a heuristic approach to raise the probability of correct classi cations: the data from the internal map is used. In case of a discrepancy between how the network classi ed the junction and what is expected from the internal map, the classi cation procedure is retried: KURT would pull back into the pipe, approach the junction, and classify again. Table 1 also shows the results after retrying. Even though no incorrect classi cations after retry were left in our tests, discrepancies may occur even then. There are two ways to proceed in this case: rst, KURT keeps retrying. This is appropriate if malclassi cations are very likely to occur. Second, if the classi cation keeps being reproduced, then either the map is wrong, or KURT took a wrong turn at one of the previous junctions. Section 4.5 returns to that point. 4.4. Turning at junctions

Because of various unpredictabilities in any real world domain, a behavior like turning at a junction cannot be implemented as a xed macro. It must work in a closed-loop manner: at each moment in time, the system perceives the world through its sensors and computes the next action from these readings in the context of the current task. Thus, if the system intends to perform a 90 deg. turn to the right at some speci c junction, it has to perform actions until the sensor data that it samples re ects the situation that is expected after a 90 deg. turn to the right at that junction. We implemented the straightforward approach: split up the overall maneuver into di erent phases|three in this case. In the rst phase, KURT drives forward into the junction and tries to turn by 45 degrees. As the bottom of a junction

A Prototype of a Sewer Robot Platform

9

Table 1. Classi cation of junctions. Junction

S1 S2 S5 S6 S10 S11

unknown data sets

classif. correct

classif. uncertain

classif. uncertain after retry

6 6 15 21 15 18

6 6 14 20 12 17

0 0 1 1 3 1

{ { 0 0 0 0

Fig. 9. KURT as it classi es junction S11 using its exible ultrasound sensor. It will subsequently start the turning maneuver to enter the pipe on its right.

is not at but dented, i.e., the system is not certain to have continuous traction, the actual turning is achieved by switching between two compound movements: turn while pulling back, and turn while driving forward. (See Figure 9 for a picture of a junction.) During this maneuver, the system tries to identify a set of previously de ned situations in order to keep track of how far it has already turned. The set of situations is di erent for the different types of junctions, of course. At a regular X-type junction, for example, the system would rst try to identify the point when it passed the ridge at the front right or left side, which is formed by the convergence of two metrically orthogonal tubes. Only if this situation was encountered, it enters the second phase. In this phase, KURT keeps turning until its front sensors indicate that it is positioned in front of a tube. Again, this is not trivial. For example, the readings of the side and front/side sensors are distorted by a combination of the tilt of the whole vehicle in the crossing and the (a priori unknown) geometry of the shaft. An easy and reliable infor-

mation is the reading of the front sensor, which has to indicate open space. The third phase serves to nish the overall maneuver reliably. During this phase the system simply tries to enter the pipe, which it believes to be right in front of. Two errors may happen: rst, there is really no pipe in front, and second, the robot is not correctly positioned in front of the pipe. In the rst case, the system would stop either because it detects an obstacle ahead or|if the front sensor fails to detect the wall|because it tries to drive up the wall and is interrupted by the tilt sensors. In the second case, the system would enter the tube but it would be tilted to the left or right. This will also be detected, and the balance re ex would interfere and correct the position. However, after that, the system will notice that the situation as perceived by its sensors corresponds to driving through a tube. In this case, the turning maneuver is nished and the internal state updated. 4.5. Navigation

Given a topological map of a sewerage network like the one in Figure 1, planning a path from a given start point to a speci ed goal position is trivial: just do graph search. To make it even easier, the real sewerage networks have a mostly tree-like structure with only few cross connections. So if there is a problem in navigation, it is not in path planning. The challenge is to monitor path following. Note that data from Global Positioning Systems (GPS) is inaccessible in real sewerage networks under ground. Should the sewers one day be crowded with autonomous robots, it might be worth the e ort to install beacons at manholes|for the time being, a sewerage robot has to do without.

10

Kirchner and Hertzberg

It has to rely on its on-board sensor capacity for determining where it is. We have mentioned before that such a robot might not actually be where it thinks it is. There are three possible reasons for that discrepancy. First, the internal map may be wrong; second, the classi cation procedure may have failed to classify correctly the type of the present junction; and third, a previous turning maneuver may not have yielded the intended result. In this paper, we exclude the rst case by making sure that all information in the map is topologically correct for the LAOKOON-net. Note that correctness is not guaranteed for available maps of real sewerage systems, so there is a problem for further research. However, even if the topological information in the map is correct, there is still some chance that KURT may end up at a junction which it did not expect to encounter. For example, if it intended to turn right at a junction, but in fact overlooked the correct entry into the tube and kept turning|thus performing a 180 rather than a 90 deg. turn|it will simply go back through the pipe it came. If KURT is lucky, the next junction will be di erent from the one expected from the map, so that there is a chance to recognize the error. If not, i.e., if the next (wrong) junction is of the same type like the expected (correct) one, then KURT could not even notice that it is on the wrong track. In general, this makes it costly to physically backtrack to the last known correct junction and to replan from there, because travelling through long pipes consumes energy. Moreover, if KURT's classi cation of a recently encountered crossing does not yield the result that is expected from the map, the mismatch may also stem from a faulty classi cation, i.e., the crossing is right, just the recognition is wrong. To deal with the possibility of failure in both the actions and the classi cation, we used an adaptation of the procedure described in [6]. The idea is to understand navigation as a partially observable Markov decision problem (POMDP), where a state in this problem (\belief state") is not an identi able position of KURT like, say, a particular shaft, but a probability distribution over discrete physical positions. Turning maneuvers, trips from a shaft to a neighboring shaft, and classi -

cations of crossings are then mappings from belief states to belief states. Instead of hypothesizing one single current location, KURT maintains a (typically very small) \hit list" of possible positions where it may actually be. Our navigation procedure is similar to other recent POMDP navigation approaches such as [9], [12], [3]. Its simplicity and e ectiveness builds on three particular properties of our sewer environment:  There are very natural discrete positions at landmarks, namely, shaft entrances. So the problem of nding for navigation purposes a good discretization of continuous space is solved by the nature of the environment.  As long as shafts are used as landmarks, it can be guaranteed that a landmark is not overlooked when passed: Even an error-prone sensor con guration will detect that a narrow pipe is left and a wide-open shaft entered. (As discussed, it is a di erent thing to classify the shaft/crossing correctly once it is detected.)  By the nature of pipe systems, there is no possibility of drifting around landmarks without physically passing them. So if|at some abstract level used for path planning|an action involves to move between landmarks, then even a faulty move leads with certainty to a landmark that is a topological neighbor of the previous one. That greatly reduces the number of faulty action executions to be considered in the POMDP model. Given a topologically correct map of the sewer, and given estimations of the conditional probabilities of mis-classifying junctions (taking a Tcrossing for an L-crossing, say) and of the probabilities of faults in movement control (U-turning instead of turning right, say), our navigation algorithm leads to the following overall behavior: Let P be the position expected next according to the recent path plan. Whenever a crossing is detected and classi ed,  if the type equals P 's, then continue execution;  else retry classi cation until a new belief state induces some position as being most plausible. If this position is P (i.e., the rst classi cation has erred), then continue execution; else replan the path and resume execution.

A Prototype of a Sewer Robot Platform The details of our navigation procedure are described in a separate paper [4].

5. What We Have Learned The LAOKOON-net is de nitely real world, but it is not an operational sewerage system. Although we have made clear that we have respected many constraints in our test scenario that are present in the real application area, it is obvious that it is simpli ed in a number of aspects|and this simpli cation was deliberate. In consequence, we do not claim to have a fully operational autonomous sewerage system robot, and never would we put little KURT into the city sewer. However, our experiments have yielded a number of results that are worth remembering when it comes to building the real devices. In conclusion, we recapitulate some of them. All low-level control of a robot depends heavily on the exact robot hardware, so nothing directly transferable is to be expected here. However, we think that the 2 and 1/2 levels control architecture is of use much independently from a speci c robot hardware. For example, the tilt control is a candidate to be widely transferable. The exact way of classifying landmarks in KURT depends on the types of crossings that are present in the LAOKOON-net and on the pipe material: concrete re ects ultrasound gracefully, and KURT as it is would probably be lost in a system of shining PVC pipes. However, the aspects of active perception in KURT are independent of the sensor con guration and of the number and types of landmarks that are used for navigation: Use not only landmarks, but also heralds of upcoming landmarks; use the information from the map to build expectations about what to nd next; retry classi cation if there is a discrepancy between the expected and the sensed, and don't just use the sensors again, but make a complete fresh try. Of course, everything can be transferred to robots in the real sewerage system that is independent of the robot hardware and the speci c network. In particular, this concerns the navigation algorithm that appears to be completely general for navigating through worlds that are adequately represented by a graph. This is no big surprise, be-

11

cause what we use is an instance of the approaches in [6], [12]. Let us emphasize again that a robot for real sewers must obey all the constraints that we could neglect in dealing with the LAOKOON-net: be watertight, resist dirt, climb steps, and so on|see [1] for the full picture. The presence of dirt and occasional splashes of water is a challenge not only for the mechanical construction of an autonomous sewer robot, but also for the sensor con guration: The necessity to keep the sensors dry and clean interferes with their sensing task. Something can be learned from the conventional sewer maintenance platforms, but we have no sucing solution for this problem as yet. Finally, there is a more general lesson that we have learned for our robot, which is probably more generally applicable than just for sewerage systems, and we want to use it to fade out this paper. The lesson is: Don't try to defeat the uncertainty in the environment|exploit it. An example for this strategy in KURT is the technique for detecting upcoming junctions. Originally, KURT's oscillation in a pipe was something we utterly disliked. We worked hard to damp it in early stages of this work, nally realizing that this is generally impossible. Only later did we understand that the unwanted oscillation yielded the phased low-frequency patterns in the ultrasound readings that could be used as a valuable source of information.

Acknowledgements We thankfully acknowledge the cooperation with our partners, FZI and rhenag, in the LAOKOON study, from whom we have learned much about robot control and sewerage systems. A warm thanks to our open-minded colleagues at GMD. In particular, Thomas Christaller, Bernd S. Muller, Erich Rome, and Jorg Ste ens have contributed to this work or this paper.

Notes 1. The name LAOKOON is an acronym for the German wording of \learning, autonomous, cooperating sewer robots". The study was nanced by the German Federal Ministry of Research, the partners being rhenag Rheinische Energie Aktiengesellschaft, Koln, FZI{ Forschungszentrum Informatik, Karlsruhe, and GMD.

12

Kirchner and Hertzberg

2. The name KURT is an acronym derived from the German wording of \sewerage system inspection robot test platform".

References 1. K. Berns, J. Hertzberg, W. Ilg, M. Kemmann, B. Lagermann, E. Rome, H. Stapelfeldt, et al. BMBFMachbarkeitsuntersuchung LAOKOON: Abschlubericht. rhenag, FZI, GMD, March 1996. Unpublished nal report to BMBF (in German). 2. A. Casals, C. Riba, and V. Minguillon. SRIC: A mobile vehicle for pipes inspection and maintenance. In Proc. 7th Int. Conf. on Advanced Robotics (ICAR95), pages 939{944, Sant Feliu de Guixols, Catalonia, Spain, 1995. 3. R. Guiterez-Osuna and R.C. Luo. LOLA: Probabilistic navigation for topological maps. AI Magazine, 17(1):55{62, 1996. 4. J. Hertzberg and F. Kirchner. Landmark-based autonomous navigation in sewerage pipes. In Proc. EUROBOT-96. IEEE Press, 1996. In press. 5. S. Hirose and A. Morishima. Design and control of a mobile robot with an articulated body. Int. J. of Robotics Research, 9(2):99{114, 1990. 6. L. Kaelbling, M.L. Littman, and A.R. Cassandra. Partially observable markov decision problems for arti cial intelligence. In I. Wachsmuth, C.-R. Rollinger, and W. Brauer, editors, KI-95: Advances in Arti cial Intelligence, pages 1{17. Springer Verlag (LNAI vol.981), 1995. 7. M. Keding, S. van Riesen, and B. Esch. Der Zustand der o entlichen Kanalisation in der Bundesrepublik Deutschland. Ergebnisse der ATV-Umfrage 1990. Korrespondenz Abwasser, 37:1148{1153, 1990. 8. H.B. Kuntze, H. Ha ner, M. Selig, D. Schmidt, K. Janotta, and M. Loh. Entwicklung eines exibel einsetzbaren Roboters zur intelligenten sensorbasierten Kanalinspektion (KARO). In Dokumentation 4. internationaler Kongre Leitungsbau, Hamburg, Germany, October 16 { 20, 1994, pages 513{528, 1994. 9. I. Nourbakhsh, R. Powers, and S. Birch eld. DERVISH: An oce-navigating robot. AI Magazine, 16(2):53{60, 1995. 10. D.E. Rumelhart and J. McClelland. Parallel Distributed Processing. MIT-Press, Cambridge, MA, 1986. 11. D.E. Rumelhart and D. Zipser. Feature discovery by competetive learning. Cognitive Science, 9:75{112, 1985. 12. R. Simmons and S. Koenig. Probabilistic robot navigation in partially observable environments. In Proc. IJCAI-95, pages 1080{1087, 1995. 13. D. Stein and W. Niederehe. Instandhaltung von Kanalisationen. Ernst & Sohn, Berlin, 2nd edition, 1992.

Frank Kirchner is a research scientist at GMD's

AI group. He received a masters degree in computer science and neurophysiology in 1994 from the University of Bonn and a bachelors degree in economics from the University of Hagen in 1991. He is currently writing a dissertation on using reinforcement learning for real world robot control problems.

Joachim Hertzberg is a research scientist at GMD's AI group. He received a diploma (Bonn University, 1982), a doctorate (Bonn University, 1986), and a habilitation degree (Hamburg University, 1995) in computer science. His research eld is AI, in particular action planning and reasoning about action, change, and time. Recently, he has started research in robot control. Dr. Hertzberg has served as the speaker of the AI planning interest group within the Gesellschaft fur Informatik. He was program chair, organizer, or PC member of numerous conferences and workshops in his research areas.