vision-based navigation of mobile robot with obstacle ...ohya/pdf/iros97-oya.pdfvision-based...

8

Click here to load reader

Upload: vuongnguyet

Post on 26-Mar-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

Vision-Based Navigation of Mobile Robot with Obstacle Avoidanceby Single Camera Vision and Ultrasonic Sensing

Akihisa Ohya Akio Kosaka and Avi Kak

Intelligent Robot Laboratory Robot Vision LaboratoryUniversity of Tsukuba Purdue University

Tsukuba, Ibaraki 305, JAPAN West Lafayette, IN 47097–1285, [email protected] {kosaka,kak}@ecn.purdue.edu

http://www.roboken.esys.tsukuba.ac.jp/ http://rvl1.ecn.purdue.edu/

Abstract

This paper describes a vision-based navigation methodin an indoor environment for an autonomous mobilerobot which can avoid obstacles. In this method, theself-localization of the robot is done with a model-basedvision system, and a non-stop navigation is realizedby a retroactive position correction system. Station-ary obstacles are avoided with single-camera vision andmoving obstacles are detected with ultrasonic sensors.We will report on experiments in a hallway using theYAMABICO robot.

1 Introduction

In what has become a fairly well-researched ap-proach to vision based navigation for mobile robots,a robot is provided with an environmental map anda path to follow[1][2][3][4]. The important function ofvision-based processing in this case consists of ‘self-localization.’ In a different approach, a robot isprovided with a sequences of images of the interiorspace[5][6]. By comparing these prerecorded imageswith the camera images taken during navigation, therobot is able to determine its location.

An important adjunct to the problem of navigationis the problem of obstacle avoidance. In the vision-based navigation work reported in the past, such as in[3], obstacle avoidance is carried out using ultrasonicsensors. These sensors take over the control of therobot as long as obstacles are detected in the vicin-ity. The control is then handed back to vision-basedprocessing once the obstacles are no longer a factor.While it is expedient to use ultrasonic sensors in sucha manner, we believe it is empirically more interestingto use vision-based processing for obstacle avoidancealso. Since a primary focus of machine intelligenceand advanced robotics is to capture human faculties ina computer and since humans use vision for obstacleavoidance while navigating, we are evidently interested

in doing the same in a robot.In this paper, we will present an integrated vision-

based process for mobile robots that is capable of si-multaneously navigating and avoiding stationary ob-stacles using monocular camera images. While theself-localization part of the process is the same as theFINALE system of [3], what distinguishes the workreported in this paper is that we are now able to giveto the robot a vision-based obstacle avoidance capabil-ity at the same time. In the current implementation,this obstacle-avoidance capability is limited to the de-tection and avoidance of stationary obstacles. This isowing to the limitations of the computing hardwareavailable to the robot. Therefore, moving obstaclesmust still be detected with ultrasonic sensors.

What is particularly noteworthy about our approachis that the self-localization and the obstacle avoidanceare both carried out by processing the same image,thus eliminating what would otherwise be a redun-dancy in sensor data collection. While a model-basedapproach is used for self-localization, obstacles are de-tected by computing the difference between the edgesestimated from the 3D environment model and theedges detected from the actual camera image. Weshould mention that is not the only approach to vision-based detection of obstacles. As reported by [7], an al-ternative approach consists of computing optical-flowsfrom the images.

2 Vision-Based Navigation

2.1 Self-Localization

As mentioned earlier, the self-localization part of theoverall navigation scheme is the same as the FINALE(Fast Indoor Navigation Allowing for Locational Er-rors) system of [3]. However, the manner in whichself-localization is used in the current system is dif-ferent from that in [3]. Self-localization in FINALEkicks in whenever the variances associated with the

Page 2: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

Edge Detection

Dead Reckoning

Current Position Current Image

Detected EdgesModel Edges

3D Edge Model

Corrected Position

Matching

Matched Edge Pairs

M.L.E. (Kalman Filtering)

Figure 1: Flow of self-localization procedure.

positional parameters exceed a certain predeterminedthreshold. In our current system, self-localization iscarried out on a continuous basis.

We’d like to review briefly the computations that gointo self-localization. Figure 1 shows the flow of theself-localization procedure. First, the robot rendersan expectation image using its current best estimateof where its present location is. Next, the model edgesextracted from the expectation image are comparedand matched with the edges extracted from the cam-era image through an extended Kalman filter. TheKalman filter automatically then yields updates val-ues for the location and the orientation of the robot.

To illustrate the process of self-localization, Figure2(a) shows a typical camera image. Shown in (b) is anexpectation image rendered from the wire-frame modelof the environment; this expectation map is overlaid onthe camera image. As the reader can see, the discrep-ancy between the various edges in the underlying cam-era image and the highlighted edges in the expectationmap is caused by the error between where the robotactually is and where the robot thinks it is. Shownin (c) are the edges extracted from the camera image.Note in particular that not all gray level variations inthe camera image translate into edges. As explainedin [3], this is due to the fact that the system only looksfor those edges in the camera image that are in prox-imity – both spatially and in the Hough space – to theedges in the expectation map. Shown in (d) is a re-projection into the camera frame of those model edgesthat were successfully used for self-localization. Thefact that these re-projected edges fall exactly wherethey should is a testimony to the accuracy of the re-sult produced by the Kalman filter. Although not dis-cernible, shown in (e) are two small icons, in closeproximity to each other, the bright one correspondingto the updated position and orientation of the robotand the somewhat darkened corresponding to the old

(a) (b)

(c) (d)

(e) (f)

Figure 2: Sample images of self-localization. (a) Cam-era image. (b) Expectation map overlaid on the cam-era image. (c) Edges extracted from the camera image.(d) Matched model edges reprojected into the cameraframe. (e) Two small icons showing the robot’s oldand the updated position in the hallway. (f) Enlargedversion of (e). The gray icon is for the old positionand the white icon is for the updated position.

position and orientation. To help the reader discernthese two icons, shown in (f) is an enlarged version ofthe image in (e).

2.2 Non-Stop Navigation by Retroac-tive Position Correction

We now need to explain how the self-localization pro-cess described above fits into the overall framework fornavigation. What we really want to do – and this hasactually been implemented – is to navigate with dead-reckoning, meaning that we want the robot to updateits position continuously on the basis of the informa-tion supplied by the wheel encoders. Unfortunately,there is always some differential slippage in the wheelsthat causes a purely dead-reckoning based approach togo awry if navigation is attempted over significant dis-tances. So we want the robot to use vision-based self-localization to eliminate the errors accumulated dur-ing dead-reckoning. Due to the time delays associatedwith vision-based processing, this turns out to be a for-tuitous combination dead-reckoning and vision-basedposition updating. Since we do not want the robot tocome to a halt as the camera image is being processed,

Page 3: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

Processingtime

t 0 t 0 + nTime axis

Dead reckoning

Image-based

process

. . . . . .. . .

Recalculation

∆ t

∆ t

self-localization

Figure 3: The timing diagram for retroactive posi-tion correction. At time t0, an image is taken andself-localization process starts. Self-localization resultsbecome available at time t0 + n∆t where ∆t is sam-pling interval for dead reckoning. The corrected cur-rent robot’s position corresponding to time t0 + n∆tis recalculated.

what is really needed is a retroactive approach to po-sition correction, along the lines originally proposedin [8]. As explained below, in the current system wehave implemented a slight variation on the retroactiveupdating idea reported in [9].

Figure 3 shows the timing diagram used for retroac-tive position correction. At time t0, an image is takenand the self-localization process started. The com-putations for self-localization come to an end at timet0 + n∆t where ∆t is the sampling interval for deadreckoning, meaning that at the end of each ∆t inter-val the position of the robot is recalculated based onthe wheel encoder readings. Since the self-localizationresults correspond to the image taken at time t0, thedead-reckoning based estimate of robot’s position atthe current time (the time instant t0 + n∆t) must berecalculated. Since this recalculation is done within asampling interval for dead reckoning, the robot is ableto proceed in a non-stop manner without having tostop for processing the camera image.

3 Obstacle AvoidanceObstacle avoidance is carried out using both vision andultrasonic sensing. While our ultimate goal is to useonly vision for obstacle avoidance, due to the limita-tions of the computing hardware available to the mo-bile robot, at this time vision can only be used for thedetection of stationary obstacles. So, in the currentimplementation, the detection of moving obstacles isleft to ultrasonic sensors.

3.1 Stationary Obstacle Avoidance

The detection of stationary obstacles is based on thepremise that the camera image and the expectationmap must be in near-perfect registration immediately

after self-localization. So, any discrepancy betweenthese two images can only be caused by the presence ofobstacles in the environment, assuming of course thatthe edge-detection process does not result in any ar-tifact edges in the camera image. Fortunately, as willbe shown presently, the artifact edges, caused mostlyby glare and other illumination dependent phenomena,can be eliminated by using adaptive thresholding.

Adaptive Thresholding. We will now explain howthe adaptive thresholds are found for the edge de-tection operator. Recall, the edge-detection thresh-olds at the different locations of the robot must besuch that when an edge detector is applied to a cam-era image immediately after self-localization, it shouldnot yield any artifact edges. For a particular hallwaywith given illumination conditions, these thresholdsare found through a learning procedure prior to anynavigation in that hallway. The learning procedureconsists of

1. clear the hallways of all obstacles2. manually drive the robot through the different

sections of the hallway3. render expectation maps from the hallway model

at regular intervals during these manual traversalsby the robot

4. record the camera images at the same locationswhere the expectation maps are rendered

5. apply an edge detection operator to the cameraimages using a threshold T for the edge detectionoperator

6. construct a difference image between the modeledge map from Step 3 and the edge map from theprevious step

7. divide the difference image of Step 6 into five ver-tical regions and count the numbers of pixels N1

through N5 in each region8. compute max Nm of these five numbers N1

through N5

9. go back to step 5 and by iterating Steps 5 through8, construct a graph of the number of pixels Nm

in Step 8 versus the threshold T

10. choose the threshold T0 for which the number ofdifference pixels Nm is a minimum. Designate thisvalue of Nm by N0.

The reason why the index Nm is not just a total num-ber of pixels in the whole difference image and is cal-culated in the manner mentioned above, is that it willalso be used as another adaptive threshold value fordetermining the direction of safe passage. Figure 4 isa pictorial depiction of these steps for the determina-tion of the optimum threshold T0 at each location ofthe robot.

To appreciate why there would be a threshold T0

that would minimize the number of difference pixels,note that for high values of T both the real hallway

Page 4: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

2. drive robot

1. clear obstacles

3. render expectation map 4. record camera image

10. choose threshold for (minimum of )T 0 N0 Nm

6. construct difference image

5. detect edges using threshold T

9. change T

8. compute max of throughN1 N5Nm

7. count numbers of pixels through in five vertical regions of difference image

N1 N5

Figure 4: Flow of the learning process for determiningoptimum edge detection thresholds.

edges and the artifact edges will be suppressed. As thethreshold is increased, there will come a point whereno edges will be extracted from a camera image. Solarge values of T will yield a high count for the numberof pixels in the difference image. At the other extreme,when T is too small, the camera image will yield anexcessively large number of edges, most correspondingto random gray level fluctuations in the camera image.So the number of difference pixels will again be large.In between these two extremes, there will be a value forT , designated T0, for which the number of differencepixels Nm will be a minimum denoted by N0. Shownin Figure 5(a) is a camera image taken from a positionwhere the rendered expectation map looks like whatis shown by the overlaid white lines in Figure 5(b).1

Shown in Figure 5(c) is a plot of the difference pixelsNm obtained in Step 8 above for different values of thethreshold T . Also marked in this figure are the thresh-old T0 and the number N0 of pixels that correspondsto the threshold T0.

To illustrate a result of the 10-step procedure for de-termining the adaptive thresholds for an entire sectionof a hallway, shown in Figure 6 is a section of the hall-way immediately outside our laboratory. The robotwas manually driven along the trajectory marked byx’s. Along this trajectory, expectation maps were ren-

1Only the vertical edges of the rendered expectation mapare displayed as overlaid white lines. That’s because we havefound it sufficient to use just the vertical lines for the detectionof stationary obstacles. However, the entire procedure can bereadily extended to edges of arbitrary orientation, albeit at ahigher computational cost.

(a) (b)

(c)Threshold

Nu

mb

er o

f P

ixel

s

0

100

200

300

500 750 1000 1250

I0

T0

Figure 5: (a) Camera image. (b) Vertical lines in therendered expectation map overlaid on the camera im-age. (c) Plot showing the number of difference pixelsNm vs. the threshold T .

dered at regular intervals and the corresponding cam-era images recorded. (In order not to jumble up thedisplay in Fig. 6, only every fourth position where im-ages were rendered and recorded is shown in the fig-ure.) The edge detection thresholds T0 and the num-bers of pixels N0 corresponding to T0 are shown inFigure 7. This graph constitutes the table used inthe adaptive thresholding process during autonomousnavigation.

Obstacle Detection. Figure 8 shows the flow ofcomputations for the obstacle detection procedure byvision. During autonomous navigation, in accord withthe statements made at the beginning of Section 3.1,

++

+

+

+

+

+

+

+++

++ +

Start Point

End Point

Figure 6: The robot’s trajectory for the learning ofadaptive thresholds.

Page 5: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

Reference Point

Th

resh

old

10 20 30 40 50

Threshold T 0

Number of Pixels N0

500

1500

1000

0

Nu

mb

er o

f P

ixel

s

50

150

100

0

Figure 7: The edge detection thresholds T0 and theminimum number of difference pixels N0 for each ref-erence point.

Corrected Position

Obstacle Information

Difference

Current Image

3D Edge Model

Model Edge Image Detected Edge Image

Table Lookupfor AdaptiveThresholding

Vertical EdgeDetection

Figure 8: The obstacle detection procedure using vi-sion during autonomous navigation.

obstacles are found from the difference of vertical edgesin the camera image and the expectation map im-mediately after each exercise in self-localization. Asshown in Fig. 8, model vertical edges in the sceneare estimated from the 3D edge model of the environ-ment using the robot’s position corrected by the self-localization first. Next, vertical edges are extractedfrom the camera image using for the detection thresh-old a value that corresponds to the nearest position inthe table lookup. The vertical edges thus found arecompared with the model vertical edges. Any extra-neous vertical edges must come from any obstacles inthe environment.

Figure 9 shows sample images for a typical exercisein obstacle detection by vision. Displayed by overlaidwhite lines in (a) are the model vertical edges as ob-tained from the expectation map rendered from theenvironment model. The tall dark object on the leftis a wooden box that serves as an obstacle. Shownin (b) are the vertical edges extracted from the cam-era image using the nearest optimum edge-detectionthreshold T0 from the table of such thresholds for thehallway in question. Shown in (c) is a difference edgeimage for the vertical edges extracted from the cam-era image and the model vertical edges. Shown in (d)

(a) (b)

(c) (d)

Figure 9: Sample images for obstacle detection by vi-sion. (a) Model vertical edges overlaid on the cameraimage. (b) Detected vertical edges from the cameraimage. (c) The difference edge image. (d) Robot’s po-sition, obstacle information and passage space in thehallway.

are robot’s position, obstacle information and passagespace in the hallway. The robot is shown as an inverted‘T’ icon, the obstacle by a small white rectangle, andthe safe-passage direction by two closely spaced paral-lel lines.

Determining the Direction of Safe Passage. Tofind a direction for safe passage in the presence of ob-stacles, as pointed out in the ten-step procedure out-lined in the previous subsection, the difference edgeimage (an example of which is Figure 9(c)) is dividedinto five vertical regions, as shown in Figure 10(a)where a tall dark obstacle is present on the left. Num-ber of pixels in each of the five regions is summed. Ifthis sum exceeds the threshold N0 for this location ofthe robot, the directions corresponding to that verti-cal region in the camera image are considered to beunsafe.2 Recall from our previous discussion, N0 isthe smallest number of Nm which is the maximum ofthe pixel numbers N1 through N5 counted in the fivevertical regions of the difference edge image, and N0

results from the application of the optimum thresh-old T0. Of course, as with the application of the edgedetection thresholds T0, the location for which N0 isavailable will often not coincide exactly with the cur-rent location of the robot. So, as was the case for edgedetection, N0 for the nearest entry in the table is used.

2The threshold that is actually used for detecting obstaclesis (1 + ε) × N0 where a non-negative ε accounts for the nearlyalways-present discrepancy between the nearest location of therobot where N0 is available and the location of the robot whereit is needed during navigation. A value of ε = 0.5 has workedfor us in almost all our experiments. In most cases, N0 is lessthan 100, hence the threshold is less than 150. This margin of50 pixels wouldn’t be a large value considering various noises onthe image.

Page 6: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

Shown in Figure 10(b) are the summed values for eachof the five regions marked in (a) of Figure 10.

The view-space in front of the robot is given one ofthree labels: 1) obstacles, 2) unknown, and 3) openspace. Initially, the directions corresponding to ‘ob-stacles’ are made to correspond to those of the fivevertical regions in the camera image whose differencepixel sum exceeds N0, as explained above. By thesame token, initially the directions corresponding to‘unknown’ are all those that are outside the view conecorresponding to the camera image. Both the ‘obsta-cles’ and the ‘unknown’ are expanded by half the widthof the robot to ensure safe clearance. The rest of thedirections then yield us the directions of the safe pas-sage for the robot. Since the width of the YAMABICOrobot is assumed to be twice as large as one of the ver-tical regions in Figure 10 at a distance of one meterin front of the camera, free passage space is narrowedto the size of one vertical region on the right of theobstacle in Figure 10(c). Distance to obstacles cannotbe computed from the visual information, since onlya single camera is used in this method. It is for thisreason we make the conservative assumption that allobstacles and unknown regions are situated 1 meter infront of the robot. After obstacle avoidance, the robotseeks to approach its originally planned path to thedestination.

3.2 Moving Obstacle Detection

As mentioned before, the currently implemented visionsystem is effective only for detecting stationary obsta-cles because of limitations on the computing poweravailable to the robot. The ultrasonic sensors, whichcan measure the distance to the object in almost realtime by the pulse-echo technique, are therefore usedfor detecting moving obstacles. Of course, since theultrasonic sensors have no intrinsic way of distinguish-ing between moving and stationary obstacles, the in-teraction between the two sensor systems – the visionsensor and the ultrasonic sensors – becomes important.How the robot is controlled by the two sensor systemsis predicated on the following attributes of the sensors:

1. The view angles of the two sensor systems arenearly identical (60 degrees).

2. By using appropriate time gating of the receivedechos, the ultrasonic sensors do not detect an ob-stacle if it is farther than 50cm from the robot.

3. The vision sensor is capable of detecting station-ary obstacles at ranges far exceeding 50cm.

Shown in Figure 11 are the view angles for the twosensor systems. In the next section, we will explainhow the two sensor systems interact in light of theattributes listed above.

(a)

(b)

(c)

DifferenceEdge Image1 2 3 4 5

Threshold

Num

ber

ofE

dge

Pix

els

Region1 2 3 4 5

N0

Obstacles

Safe Passage

UnknownUnknown

1m

Mobile Robot

Field of View

Figure 10: Determining the direction of safe passagein the presence of obstacles. (a) Division of the differ-ence edge image into five vertical segments. (b) Totalnumber of pixels in each of the five vertical segments ofthe difference edge image. (c) Direction of the safe pas-sage obtained by excluding ‘obstacles’ and ‘unknown’regions. Both the ‘obstacles’ and the ‘unknown’ areexpanded by half the width of the robot to ensure safeclearance.

Obstacle Detection Areaof Ultrasonic Sensor

50cm

Mobile Robot

View Angle of Camera

60deg

Figure 11: View angle of the camera and detectionarea of the ultrasonic sensor.

Page 7: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

Figure 12: Autonomous mobile robot YAMABICO .

4 System Architecture

The navigational system described in this paper wasimplemented on the YAMABICO robot[10] shown inFigure 12. Because this robot doesn’t have a pow-erful image processing module, a workstation is usedas an off-board image processing unit at this time.The robot communicates with the workstation overtwo links, a video link for the transmission of imagesand a two-way RF link for data. An image is taken bythe camera mounted on the robot and it’s sent to theworkstation over the video link. The received imageis processed on the workstation and the resulting datasent to the robot over the RF link. The camera usedhere is XC-999 (SONY) and its iris was fixed. As wasshown previously in Figure 11, the horizontal angle ofviewing field is 60 degrees approximately. The imageis digitized into 256 × 240 pixels. YAMABICO hasultrasonic sensors and three pairs of ultrasonic trans-mitters and receivers can monitor about 60 degreesof the view-space in front of the robot, in accordancewith Figure 11. Since we wanted to predominantlyuse vision for collision avoidance, time gating was usedto limit the range of ultrasonic collision avoidance to50cm.

We will now explain how the two sensor systems in-teract for collision avoidance. When the robot facesa stationary obstacle, the obstacle is first detected byvision since the range of ultrasonic sensors is limitedto 50cm. In the manner explained previously, the vi-sion data is used for the calculation of the directionof safe passage and the robot turns toward this direc-tion. For those obstacles that are avoided on the basisof vision data, the ultrasonic sensors will usually notrecord any echos for the simple reason that the robothas already steered away from them. If per chance oneor more of the ultrasonic sensors do receive echos fromsuch an obstacle, the robot comes to a halt and usesits vision again for calculating afresh the direction ofsafe passage. In case of a moving obstacle, of course,

xw

yw

Start Point

End Point

O

+

+

Route

Figure 13: Map of hallway. The black line denotesplanned path.

it could be detected by vision if the obstacle makesits appearance just at the moment the camera imageis recorded. Such an obstacle would be treated in thesame manner as a stationary obstacle. Of course, theobstacle such as this would have moved to a differentlocation by the time the robot arrives in its vicinity.In such cases, the robot would seem to be avoidingphantom obstacles, but not to any great detriment ofthe overall navigational performance. Note that aftereach exercise in collision avoidance, the robot seeksto go back to its planned path to the destination. Ifthe moving obstacle gets too close to the robot, theultrasonic sensors take over and bring the robot to amomentary halt. Subsequently, the vision based pro-cessing is re-initiated for further navigation.

5 Experimental Results in Au-tonomous Navigation

Using the system presented in the previous section,several experiments were performed in the hallwayshown in Figure 13. The size of the grid shown bythe dotted lines is 1 meter on each side.

An example of autonomous navigation on theplanned path, as displayed by the black line in Figure13, is shown in Figure 14. In this figure, the robot’s po-sitions corrected by each self-localization exercise areshown as x’s. The total length of the path is approxi-

Page 8: Vision-Based Navigation of Mobile Robot with Obstacle ...ohya/pdf/iros97-oya.pdfVision-Based Navigation of Mobile Robot with Obstacle Avoidance by Single Camera Vision and Ultrasonic

A

++

+

++

+

+

+

++

++

+ +

B

Figure 14: An example of autonomous navigation.The robot’s actual trajectory is shown as x’s. A mov-ing obstacle ‘A’ crossed the path and there was a sta-tionary obstacle ‘B’.

mately 12.5 meters. During this experiment, a movingobstacle ‘A’ (a human) suddenly crossed the path justin front of the robot. The ultrasonic sensors broughtthe robot to a halt, followed by the invocation of visionsensors for determining the direction of safe passage.The robot also successfully avoided a stationary ob-stacle ‘B’ (a wooden box) by using vision.

The speed of the robot was set at 10cm/s for thisexperiment. The processing time for one image wasapproximately 10 seconds on the workstation (a SUNSPARCstation 20).

6 Discussions and ConclusionsWe presented in this paper a vision-based naviga-tional system for mobile robots that is also capable ofavoiding at least the stationary obstacles using visiondata. By using a combination of model-based visionfor self-localization; retroactive position updating tocope with the time delays associated with image pro-cessing; using vision data for not only self-localizationbut also for the calculation of directions of safe passagein the presence of obstacles; and ultrasonic sensors forthe detection of close-range moving obstacles; we havecreated a navigational system that makes optimum useof all the sensors for smooth and continuous navigationin indoor environments.

As with all such systems dealing with higher-levelrobotic intelligence, the performance can never be ex-pected to be completely foolproof. The best that onecan do is to devise appropriate automatic error cor-rection and detection strategies. To briefly discuss thevarious failure modes of our system, the vision-basedcollision avoidance capability depends obviously on thevisual contrast between the obstacle and the interior ofthe hallway. The size of the obstacle will also play animportant role in its detectability by vision. To gainan understanding of these limitations, we performedexperiments using two small cardboard boxes of two

different colors, brown and white, each of height 35cmand width 24cm, as test obstacles. As for the results,the robot was able to detect the white box in all cases,but in 50% of the cases failed to detect the brownbox. It is entirely possible that superior image pro-cessing strategies would enhance the performance ofvision-based collision avoidance. Our future researchwill address this issue.

Acknowledgments

The authors would like to thank very much Dr. T. Tsub-ouchi, Mr. S. Maeyama and Prof. S. Yuta of the IntelligentRobot Laboratory of the University of Tsukuba for theiruseful suggestions and support of this research.

References[1] T. Tsubouchi and S. Yuta: “Map Assisted Vision Sys-

tem of Mobile Robots for Reckoning in a Building En-vironment,” Proc. 1987 IEEE Intl. Conf. on Roboticsand Automation, pp. 1978-1984, 1987.

[2] K. Sugihara: “Some Location Problems for RobotNavigation Using a Single Camera,” Compt. VisionGraphics Image Process., 42, pp. 112-129, 1988.

[3] A. Kosaka and A. C. Kak, “Fast Vision-Guided Mo-bile Robot Navigation Using Model-Based Reasoningand Prediction of Uncertainties,” CVGIP–Image Un-derstanding , 56(3), pp. 271-329, 1992.

[4] Munoz, A. J. and J. Gonzalez: “Localizing MobileRobots with a Single Camera in Structured Environ-ments,” Intl. Symposium on Robotics and Manufac-turing in the World Automation Congress ’96 , 1996.

[5] Y. Matsumoto, M. Inaba and H. Inoue: “Visual Navi-gation Using View-Sequenced Route Representation,”Proc. 1996 IEEE Intl. Conf. on Robotics and Automa-tion, 1, pp. 83-88, 1996.

[6] T. Ohno, A. Ohya and S. Yuta: “Autonomous Navi-gation for Mobile Robots Referring Pre-recorded Im-age Sequence,” Proc. 1996 IEEE/RSJ Intl. Conf. onIntelligent Robots and Systems , 2, pp .672-679, 1996.

[7] T. Camus, D. Coombs, M. Herman and T. Hong:“Real-Time Single-Workstation Obstacle AvoidanceUsing Only Wide-Field Flow Divergence,” Proc. 13thIntl. Conf. on Pattern Recognition, 1996.

[8] A. Kosaka, M. Meng and A. C. Kak: “Vision-GuidedMobile Robot Navigation Using Retroactive Updatingof Position Uncertainty,” Proc. 1993 IEEE Intl. Conf.on Robotics and Automation, 2, pp. 1-7, 1993.

[9] S. Maeyama, A. Ohya and S Yuta: “Non-Stop Out-door Navigation of a Mobile Robot –Retroactive Po-sitioning Data Fusion with a Time Consuming SensorSystem–,” Proc. 1995 IEEE/RSJ Intl. Conf. on Intel-ligent Robots and Systems , 1, pp. 130-135, 1995.

[10] S. Yuta, S. Suzuki and S. Iida: “Implementation ofa small size experimental self-contained autonomousrobot – sensors, vehicle control, and description of sen-sor based on behavior–,” R. Chatila et al. Eds, Ex-perimental Robotics II , pp. 344-359, Springer-Verlag,1993.