Omni-Directional Visual Servoing for Human-Robot Interaction

Similar documents
Segmentation and Tracking of Partial Planar Templates

Chapter 3 Image Registration. Chapter 3 Image Registration

Chapter 9 Object Tracking an Overview

Precise Omnidirectional Camera Calibration

A Robust Two Feature Points Based Depth Estimation Method 1)

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Partial Calibration and Mirror Shape Recovery for Non-Central Catadioptric Systems

Introduction to Computer Vision

Behavior Learning for a Mobile Robot with Omnidirectional Vision Enhanced by an Active Zoom Mechanism

Dept. of Adaptive Machine Systems, Graduate School of Engineering Osaka University, Suita, Osaka , Japan

Optical Flow-Based Person Tracking by Multiple Cameras

3D Tracking Using Two High-Speed Vision Systems

Hand-Eye Calibration from Image Derivatives

3D Environment Measurement Using Binocular Stereo and Motion Stereo by Mobile Robot with Omnidirectional Stereo Camera

Time-to-Contact from Image Intensity

Applying Synthetic Images to Learning Grasping Orientation from Single Monocular Images

Partial Calibration and Mirror Shape Recovery for Non-Central Catadioptric Systems

arxiv: v1 [cs.cv] 28 Sep 2018

Keeping features in the camera s field of view: a visual servoing strategy

MOTION. Feature Matching/Tracking. Control Signal Generation REFERENCE IMAGE

Massachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision QUIZ II

Visual Tracking of Unknown Moving Object by Adaptive Binocular Visual Servoing

Stereo Vision. MAN-522 Computer Vision

Camera Parameters Estimation from Hand-labelled Sun Sositions in Image Sequences

Silhouette Coherence for Camera Calibration under Circular Motion

Light source estimation using feature points from specular highlights and cast shadows

Visual Servoing Utilizing Zoom Mechanism

Real-time Generation and Presentation of View-dependent Binocular Stereo Images Using a Sequence of Omnidirectional Images

Task selection for control of active vision systems

Simuntaneous Localisation and Mapping with a Single Camera. Abhishek Aneja and Zhichao Chen

AN EFFICIENT BINARY CORNER DETECTOR. P. Saeedi, P. Lawrence and D. Lowe

Real-time target tracking using a Pan and Tilt platform

Colour Segmentation-based Computation of Dense Optical Flow with Application to Video Object Segmentation

Transactions on Information and Communications Technologies vol 16, 1996 WIT Press, ISSN

Camera Registration in a 3D City Model. Min Ding CS294-6 Final Presentation Dec 13, 2006

Flexible Calibration of a Portable Structured Light System through Surface Plane

1 (5 max) 2 (10 max) 3 (20 max) 4 (30 max) 5 (10 max) 6 (15 extra max) total (75 max + 15 extra)

Final Exam Study Guide

Estimating Camera Position And Posture by Using Feature Landmark Database

Mathematics of a Multiple Omni-Directional System

Realtime Omnidirectional Stereo for Obstacle Detection and Tracking in Dynamic Environments

A Survey of Light Source Detection Methods

Visual Tracking (1) Feature Point Tracking and Block Matching

arxiv:cs/ v1 [cs.cv] 24 Mar 2003

CS6670: Computer Vision

A Framework for 3D Pushbroom Imaging CUCS

Feature Transfer and Matching in Disparate Stereo Views through the use of Plane Homographies

Epipolar Geometry in Stereo, Motion and Object Recognition

Moving Object Segmentation Method Based on Motion Information Classification by X-means and Spatial Region Segmentation

Visual Tracking of Planes with an Uncalibrated Central Catadioptric Camera

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation

Towards a visual perception system for LNG pipe inspection

Structure from Small Baseline Motion with Central Panoramic Cameras

DEPTH AND GEOMETRY FROM A SINGLE 2D IMAGE USING TRIANGULATION

Visual Odometry. Features, Tracking, Essential Matrix, and RANSAC. Stephan Weiss Computer Vision Group NASA-JPL / CalTech

Computer Vision I - Algorithms and Applications: Multi-View 3D reconstruction

Computer Vision I Name : CSE 252A, Fall 2012 Student ID : David Kriegman Assignment #1. (Due date: 10/23/2012) x P. = z

Motion Tracking and Event Understanding in Video Sequences

Computer Vision Lecture 17

Fundamentals of Stereo Vision Michael Bleyer LVA Stereo Vision

Computer Vision Lecture 17

A Fast Linear Registration Framework for Multi-Camera GIS Coordination

PRELIMINARY RESULTS ON REAL-TIME 3D FEATURE-BASED TRACKER 1. We present some preliminary results on a system for tracking 3D motion using

Depth Measurement and 3-D Reconstruction of Multilayered Surfaces by Binocular Stereo Vision with Parallel Axis Symmetry Using Fuzzy

Motion Estimation. There are three main types (or applications) of motion estimation:

Adaptive Multi-Stage 2D Image Motion Field Estimation

Image Transformations & Camera Calibration. Mašinska vizija, 2018.

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing

Stereo Wrap + Motion. Computer Vision I. CSE252A Lecture 17

METRIC PLANE RECTIFICATION USING SYMMETRIC VANISHING POINTS

Stereo imaging ideal geometry

Revising Stereo Vision Maps in Particle Filter Based SLAM using Localisation Confidence and Sample History

Motion and Tracking. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Using Geometric Blur for Point Correspondence

Three-Dimensional Measurement of Objects in Liquid with an Unknown Refractive Index Using Fisheye Stereo Camera

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Particle Filtering. CS6240 Multimedia Analysis. Leow Wee Kheng. Department of Computer Science School of Computing National University of Singapore

Dense Image-based Motion Estimation Algorithms & Optical Flow

Stereo-Based Obstacle Avoidance in Indoor Environments with Active Sensor Re-Calibration

Measurement of Pedestrian Groups Using Subtraction Stereo

Occluded Facial Expression Tracking

Computed Photography - Final Project Endoscope Exploration on Knee Surface

COMPARATIVE STUDY OF DIFFERENT APPROACHES FOR EFFICIENT RECTIFICATION UNDER GENERAL MOTION

LUMS Mine Detector Project

New shortest-path approaches to visual servoing

Absolute Scale Structure from Motion Using a Refractive Plate

Midterm Exam Solutions

Reconstruction of Images Distorted by Water Waves

Horus: Object Orientation and Id without Additional Markers

BIL Computer Vision Apr 16, 2014

6-dof Eye-vergence visual servoing by 1-step GA pose tracking

A Calibration Algorithm for POX-Slits Camera

Long-term motion estimation from images

Improving autonomous orchard vehicle trajectory tracking performance via slippage compensation

arxiv: v1 [cs.cv] 18 Sep 2017

A Novel Stereo Camera System by a Biprism

Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Marcel Worring Intelligent Sensory Information Systems

A Statistical Consistency Check for the Space Carving Algorithm.

Transcription:

Omni-Directional Visual Servoing for Human-Robot Interaction Peng Chang and Martial Hebert [Peng, hebert]@ri.cmu.edu Robotics Institute, Carnegie Mellon University, Pittsburgh PA 15213 Abstract In this paper, we describe a visual servoing system developed as a human-robot interface to drive a mobile robot toward any chosen target. An omni-directional camera is used to get the 360 degree of field of view, and an efficient SSD based tracking technique is developed to track the target. The use of the omnidirectional geometry eliminates many of the problems common in visual tracking and makes the use of visual servoing a practical alternative for robot-human interaction. The experiments demonstrate that it is an effective and robust way to guide a robot. In particular, the experiments show robustness of the tracker to loss of template, vehicle motion, and change in scale and orientation. 1.0 Introduction Popular approaches for user control of a mobile robot include direct teleoperation through video or stereo feedback, waypoint navigation [4], and map-based path designation [6]. All three approaches require extensive interaction on the user s part. An attractive alternative is a mode of control in which the user designates a target area in an image and let the robot control its path toward the target using on-board visual servoing. For example, such an approach is described in [7] in the context of robotic planetary exploration. There are several advantages of visual servoing. First, from the user s standpoint, robot control is reduced to designating a region in an image, thus freeing him from low-level control tasks. Second, it greatly reduces the communication bandwidth between robot and user, since it does not require continuous image transmission along the path. Finally, it is easy to integrate it with other modules like obstacle avoidance and planning. A major shortcoming of previous attempts of using visual servoing for mobile robot control is the limited field of view of the cameras. This limitation is often addressed by actively controlling the orientation of the cameras through a pan/tilt mechanism. Although impressive results have been shown and an extensive literature exists in this area, mechanical control of camera orientation is inherently limited in terms of speed and calibration accuracy. Furthermore, the field of view of the cameras does not provide the user with a view of the environment all around the robot which would allow him to freely select arbitrary goal points. In this paper, we describe an alternative which takes advantage of the recent development of practical, low-cost, omnidirectional cameras [5]. In this approach, an omnidirectional camera is used to present the user with views of the environment in a dome centered at the robot. The user is free to pan, zoom, and scroll around this dome, and to select goal regions in the images. Figure 1 shows an example of a spherical image of the robot s environment. Figure 2 shows a notional view of a user interface in which the user is presented with a regular perspective view in the designated direction. The perspective image is reconstructed by software although if appears to the user as if the camera were rotating. Once a goal region is selected, it is tracked by the robot using on-board visual servoing. The visual servoing takes advantage of the geometry of the omnidirectional by computing image projections in any direction from the spherical image by software, thus eliminating the need for mechanical panning of the camera. Thus, this approach fulfills the two requirements for such a robot-human interaction system: The user has access in real-time to a complete view of the environment, and the on-board visual servoing system is able to track regions more efficiently by not worrying about fields of view or mechanical limits. Figure 1: Typical spherical image of the environment. Figure 2: User interaction with the perspective image reconstructed from the spherical image; a goal region is selected in the image and transmitted to the robot for onboard visual servoing.

In the remainder of the paper, we focus on the implementation of the on-board visual servoing with the omnidirectional camera and its performance. The main advances of this approach over [7] is that the use of the omnidirectional camera eliminates the failure modes due to the use of mechanical orientation, such as problems with large roll angles, the use of SSD tracking leading to higher speed performance and more robust tracking without the use of range information, and the ability for the user to select region anywhere around the robot. 2.0 System Description 2.2 System Dynamics The task of the visual servoing system is to continuously estimate the target position and to output control commands to drive the robot toward the target. The position of the object as the state vector. Since we use an omni-directional camera, it is convenient to use the spherical coordinate frame attached to the robot, so the state vector is X = [ ρθϕ,, ] T. The control vector is u = [ v, v θ ] T where the v is the forward speed and v θ is the rotation speed of the robot. Assuming the object is fixed in world coordinate frame, the system dynamic equations are: 2.1 Omni-directional Camera The omnidirectional camera used in this work is the commercial camera based on the design developed originally at Columbia University by Shree Nayar. The camera uses a parabolic mirror to take a 360 degree view which is projected in a disc image such as the one shown in Figure 1. Details of the camera geometry are given in [5]. For our purposes, the geometry shown in Figure 3 is sufficient to understand the visual servoing. Rays from the scene pass through the focal point of the parabolic mirror. Their intersection with a sphere centered at the focal point is projected on the image plane to form the disc image. Given any arbitrary image plane P, the image that would be formed on P by the scene can be computed by a simple transformation of the points in the disc image. We denote by F p (x p ) the transformation that associates a point x s in the disc image to a point x p in the reconstructed perspective image. The exact definition of F and its properties are described in [5]. disc image Figure 3: Geometry of the omnidirectional camera (from [5].) x s x p P Robot v v θ Figure 4: System state vector. The estimation equations, also known as observation equations in control literature, will be described in detail in Section 3. The system dynamic equations are also important. Specifically, we use these equations to predict the relative motion of the object in the robot frame caused by the motion of the robot. Although, in practice, the estimation of dρ/dt based on region size alone is inaccurate, those predictions can be used to guide the tracker; this will be discussed in Section 3. 2. Although these system dynamic equations assume the object remains at a fixed position, it could be extended to model moving target assuming partial knowledge of target motion. 3.0 Tracking ϕ θ The accuracy and reliability of a visual servoing system largely depend on the success of its tracking part. Because the tracker should be able to track any target chosen by the user without any assumption about its appearance, only template based tracking methods are considered. There are two basic template tracking methods that are broadly used: temporal differencing and template correlation. These tracking methods are used to compare the template over a ρ heading

certain region of the input image to find the best match position and update this region as the new target. There is always a trade-off between robustness and speed of the overall tracking performance. In order to be more robust, the tracker needs to search over a larger region which causes the tracking time to increase. This trade-off also applies to the size of the template. Normally the sizes of the template and the search region are chosen empirically according to the specific purposes of the tasks. We use a SSD-based tracking algorithm to do the tracking over the omni-directional image. The details are given in Section 3.1. All affine motion parameters are computed using the SSD tracker. The disadvantage of SSD is that it only allows small variations between two neighboring templates which makes it prone to losing target when the target moves too fast or when an occlusion happens. As a result, quantitative experiments must be carried out to identify the maximum motion speed that can be tracked, and strategies must be designed to cope with tracking at high speed and occlusion. A detailed real time performance analysis can be found in Section 3.2, the techniques used to allow higher target motion speed, including multi resolution and control algorithms are discussed in Section 3.3, and Section 3.4 describes a simple strategy for recovering from errors caused by occlusions. to track the object on this perspective plane, but when the object moves far away from the optical axis, which is also the original viewing direction, the template will be skewed by a larger amount, because the focal length can not be set to be very long, or the reconstructed perspective image will be very small. What we do instead is to update the viewing direction so that it always points to the target. More precisely, the new direction is defined by ( ϕ', θ' ) where ϕ' = ϕ + atan( dy f) and θ' = θ + atan( dx f) The perspective image plane is reconstructed in this direction and the SSD tracking is performed on this plane. When we change the perspective image plane, we introduce an additional transform δb other than δa. However, δb is actually very small so that δa+δb can be properly estimated by the SSD at the next tracking cycle. Since SSD tracking allows only small variation between two templates, dx and dy are normally less than one pixel, while the focal length f is 170 pixel, which is a good number for reconstructing perspective images, so the viewing angle actually changes less than 0.006 rad at each tracking cycle. The resulting δb can be neglected compared to δa. 3.1 SSD tracking on an omni-directional image The standard SSD tracking, as described in [3], for example, assumes that the transformation between two templates at times t and t+ t is a small affine transformation composed of a matrix A and a translation d. Under this assumption, the SSD between two templates can be written as: ( I( Ax + d, t + t) + Ixt (, )) 2 x After linearization in A and d, the motion parameters are recovered by a simple least squares estimation. Since the SSD tracking algorithm assumes an affine transformation between two neighboring templates and this holds only for perspective image planes, so we cannot apply the standard SSD tracking directly on the disc image. However SSD tracking can take advantage of the special spherical geometry by pointing the image in the appropriate direction (Figure 5.) When the user selects an object ( ρ 1, ϕ 1, θ 1 ) in 3D space, a perspective image plane P 1 along this viewing direction is constructed. On this perspective image plane, the affine transform assumption for SSD tracking holds, so we can use SSD to estimate the affine transform which gives us six parameters (dx, dy) and δa[1]. dx and dy are translations along x and y axis, respectively, and δa accounts for the small deformation between neighboring templates. We can keep using SSD Figure 5: Geometry of the omnidirectional camera. The algorithm described above assumes that the spherical image is unwarped into a small perspective image at every step of the tracking. In fact, this unwarping step should not be necessary; we should be able to track the template directly in the disc image. The only difficulty is that the template transformation is no longer an affine transformation because it is compounded with the non-linear spherical transformation F. The tracking algorithm can be modified as follows for tracking directly in the disc image. First we arbitrarily choose a perspective image plane P. Given any pixel x on P, the mapping function F maps x to x s, the correspondent coordinates of x in the disc image. Suppose at time t, the template on the disc image is Ix ( s, t) and at t+ t, the template becomes to Ix ( s 't, + t). The corresponding values on the perspec-

tive plane are IFx ( ( s ), t) and IFx ( ( s '), t + t). Assuming there is a small affine transform A + dbetween these two templates on the perspective plane, which means Fx ( s ') = Fx ( s ) + AF( x s ) + d, x s ' = F 1 ( Fx ( s ) + AF( x s ) + d) F 1 x s ' = x s + ----------- ( AFx x s + d) F 1 Ix ( s 't, + t) = Ix ( s, t) + I xs ----------- ( AF( x x s ) + d) + I t t The SSD will minimize the error O = ( I( x s 't, + t) Ix ( s, t) ) 2 x s O F 1 I xs ----------- ( AF( x x s ) + d) + I t t 2 = x s F 1 Since F is fixed, ----------- can be pre-computed. x 3.2 Tracking Rapid Motion To allow the robot move a high speed, the tracker has to be able to track rapid motion on the image. The difficulty is that the tracker assumes small motion, i.e. less than one pixel, between images. Several techniques are discussed below to handle rapid motion. 3.2.1 Multi-resolution A standard way of compensating for rapid motion is to use coarser image resolution. This has two effects. First, tracker speed is increased since the template size is reduced. Second, the magnitude of the image motion can be constrained to remain within the range in which the linear approximations used in the tracker are valid. In the current implementation, a 3x3 Gaussian smoothing is applied before resolution reduction on the template. Without smoothing, the aliasing effect would be too large to allow the SSD to recover the parameters properly. Typically, no gain in speed is achieved for region smaller than 20x20 pixels because of the overhead of smoothing. A reduction factor of 2 is typically used in our applicaiton. For large templates with rapid motion, a resolution reduction factor of 4 is used for initial tracking estimation. 3.2.2 Kalman filtering The tracker described so far does not use any predictive information such as motion from the previous images, and estimated robot motion. This information is incorporated in a Kalman filter based on the following model: T is the true target velocity on the image, Z is the estimation of T from SSD tracker and V is used to combine the robot motion into the model. V rob represents the target velocity due to the robot motion. w and v are the model error and estimation error respectively. Assuming that w and v are both unimodal distributions, the output of this Kalman filter would be a Maximum Likelihood Estimation of current target motion given the model: T k + 1 = V + ω Z k + 1 = T k + 1 + υ V = T k V rob 3.3 Detection of Target Loss and Recovery As we described in Section 3, the SSD tracker is prone to lose the target region when there is an abrupt change in the appearance of the target, such as when the target is undergoing a rapid motion that could be not be handled by the tracker or a partial or fully occlusion happens. Thus it is critical for the tracker to detect loss of target. The tracker residual error described in Section 2.0 is used for that purpose. Since the input image is normalized by its variance σ prior to processing, the residual error is also normalized too. Tracking result is rejected if the residual error is greater than one, i.e., the average SSD on the original images is greater than σ. In addition to an absolute limit on the residuals, a limit of the rate of change of the residual is also used. After a target loss is detected, the robot is stopped and a search based correlation method is used to recapture the target. The search area for correlation is 50x30. This method effectively prevents the tracking template from shifting away from the true target. In practice, the target could be lost when a full occlusion occurs, e.g. another object passes between the target and the robot, a partial occlusion occurs, e.g. some surfaces of the target are no longer visible due to the change of viewing directions, or the robot undergoes a sudden motion of an amplitude too large for the tracker to handle. 4.0 System Integration SSD is an effective method for template matching. But to reliably use it on a robot working in real environment, we need to integrate it with the robot motion control part seamlessly. Figure 6 shows the interactions between the SSD tracking and the robot motion control. The robot control part generates control commands according to the target motion estimated by the SSD tracker while the SSD tracker also adaptively changes its tracking parameters,

such as the resolution reduction factor, according to the current target motion. The robot motion is also modeled into the SSD tracker with a Kalman filter. The flowchart also shows that the SSD tracker can stop the robot based on the shape of the template in the current image. According to the projection geometry, the scale of the target in the image would be doubled if the distance from the robot to the object is reduced by half. So we may integrate the incremental changes in scale ds into a scale estimate S and stop the robot when S is doubled. (In Section 5, we show that S is actually recovered quite well by the SSD tracking.) In a typical scenario, the user points to a target on the image sent by the robot, and the robot would go approximately half of the distance and then stop, waiting for the user to issue the next command. Right now, we only use a proportional control law to control the motion of the robot. Namely, the target value of the state vector is (0, 0) which means the robot has approached the target. The feedback error is ( ϕ, θ), thus the control vector u = ( K 1 ϕ, K 2 θ). Figure 7: Experimental setup. 5.1 Timing To evaluate the tracking cycles, we consider several cases listed in Table 1. The columns show the timings for various sizes of the selected templates, and the rows show the timings of tracking performed at different resolutions. 1/2 means half resolution, and 1/4 means one fourth resolution. The timing table indicates that the tracker can track a 50x100 template at frame rate, and the template could be larger if the tracking is performed at a lower resolution. In those experiments, the tracking includes the overhead of computing a small perspective image from the disc image. This spherical unwarping overhead is typically less than 10% of the total time. W is the size of the template. TABLE 1. Time for one tracking cycle Size 20 x 20 50 x 50 50 x 100 100x200 1/2 3 ms 17 ms 35 ms 150 ms 1/4 2 ms 11 ms 20 ms 80 ms Figure 6: Flowchart of the tracking system. 5.0 Results The visual servoing system was implemented on a Pentium 200M PC running Windows NT 4.0. To test it on a real platform, the omnidirectional camera was mounted on a Nomadic robot and extensive experiments were conducted under indoor environments. The experimental setup shown in Figure 7 is only for evaluation purposes; the robot that will host this system is under development. Similarly, separate development is under way at Columbia University for reducing the size of the camera in order to make it usable on small mobile platforms. 5.2 Target Size To get a sense of what kinds of objects we can choose as the target, we need to know how large an object is in the image at different distances. We choose two targets of sizes of 4m x 2.5m and 0.5m x 0.3m respectively, and measure their sizes at various distances, and the results are shown in Table 2 and 3. It is worth noting that the sizes also depend on the viewing direction and the focal length. TABLE 2. target size in the dewarped images distance 5m 4m 3m 2m 1m 0.5mx0.3m 18x10 25x17 27x18 40x27 71x53

TABLE 3. Target size in the dewarped image distance 40 m 20 m 10 m 5 m 4mx2.5m 10x8 25x15 45x25 90x50 Combining Table 1 and Table 3, we may conclude that the tracker can track a fairly large target, 4m x 2.5m in this case, from a distance of 40m away to a distance as close as 5m away at frame rate. This data also shows that the size computed by the tracker is approximately linear with the distance to the target. This justifies the practical use of the size change for the stopping condition as described in Section 3.5.. 5.3 Target Loss Detection and Recovery As discussed in Section 3.2.3, the residual error is a good criterion to detect a target loss. Figure 8 shows a simple example in which the tracked region is suddenly occluded and reappears after some time. Figure 9 shows the profile of the tracking residual as a function of time. The sharp increase in residual is correctly detected before the maximum residual is reached. A 40 x 30 template was used in this example; a 50 x 30 region in the image was used for the correlation search. (c) (a) (b) (d) Figure 8: Resistance to transient occlusions; (a) the tracker was tracking the target; (b) a person passed through, occluding the target; (c) the tracker noticed the occlusion and performed a searching, notice that the original template did not change; (d) when the person walked away, the target was recaptured successfully. In all four panels, the original template is shown at the upright conner and the current template was shown below it. Figure 9: Residual tracking error as a function of time for the example of Figure 8. 5.4 Performance In order to evaluate the limitations of the system, it was tested extensively in an indoor environment by selecting a variety of targets at different distances and with different commanded robot speeds. Over 100 runs of the servoing and tracking system were tried with different targets and speeds. The speed of Nomadic platform used for these experiments was severely limited. As a result, the maximum measurable speed for those experiments, including experiments with manual translation of the apparatus, was 1.5 m/s. Because of this limitation on the experimental setup, the maximum speed is not known other than the fact the servoing worked reliably and consistently at up to 1.5m/s translation and 20 o /s rotation. The experiments show that with the improvement of the robustness and accuracy of the tracking system, we can drive the robot servoing targets fast and robustly. TABLE 4. Speed performance Size Resolution 30 x 30 2 30 x 30 4 60 x 60 2 60 x 60 4 Rotation > 20 /s > 20 /s 15 /s > 20 /s Translation 1.5m/s 1.5m/s 1.0m/s 1.0m/s Figure 10 shows an image sequence obtained as the robot tracks a target, a door in this case. The scale increased when the distance to the target decreased. In this case, the robot was driven at 40cm/s. Note that the original template, which is shown at the upright corner of each panel, is kept throughout the tracking. The template shown below the original template is the current template after dewarping by the SSD tracking. This example shows that the

scale change is properly estimated and integrated and that the tracking was sufficiently accurate for servoing. Figure 11 shows another tracking sequence from another run involving both rotation and translation. Figure 10: Part of an image sequence showing the scale factor is properly recovered by the SSD tracking over a long distance (15m). We have presented an approach to visual servoing for mobile robots which takes advantage of the geometry of an omnidirectional camera. The visual servoing system uses an SSD-based template tracker which can be implemented either as a classical template matching algorithm on perspective images reconstructed from the spherical image, or directly on the spherical image. The visual servoing system is shown to be resistant to variation in template size, appearance, and occlusions. The tracking speed is consistent with the requirements of typical mobile robots. This approach provides an attractive option for the design of human-robot interfaces in which the user is able to designated arbitrary regions in the environment of the robot. Current work involves the integration of the visual servoing into a comprehensive user interface system, and its implementation on a high mobility robot for operation in urban terrain. References [1]Corke, P., and Good, M., Dynamic effects in high-performance visual servoing, Proc. IEEE Int. Conf. Robotics and Automation, pp. 1838-1843, Nice, May 1992 [2]Huber, E., and Kortenkamp, D., Using stereo vision to pursue moving agents with a mobile robot, Proc. 1995 IEEE Conf. on Rob. and Autom., pp 2340-2346, Nagoya, Japan, May 1995 [3]Hutchinson, S., Hager, G., Corke, P., A Tutorial on Visual Servo Control, IEEE Transactions on Robotics and Automation, Vol. 12, No. 5, 1996, pp. 651-671 [4]J. Kay, C. Thorpe. An Examination of the STRIPE Vehicle Teleoperation System. Proc. IEEE/RSJ International Workshop on Intelligent Robots and Systems. Grenoble, 1997. [5]Nayar, K., S., Catadioptric Omnidirectional Camera, Proc. 1997 IEEE Conf. on Computer Vision and Pattern Recognition, pp 482-488 [6]Stentz, A.. Best Information Planning for Unknown, Uncertain, and Changing Domains. Proc. AAAI-97 Workshop on On-line-Search. 1997. [7]Wettergreen, D., Thomas, H., and Bualat, M., Initial Results from Vision-based Control of the Ames Marsokhod Rover, proceedings of IROS 97 Figure 11: Six images from a tracking sequence. 6.0 Conclusion