Self-localization using sporadic features

  • Upload
    jejudo

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 Self-localization using sporadic features

    1/9

    Robotics and Autonomous Systems 40 (2002) 111119

    Self-localization using sporadic features

    Gerhard K. Kraetzschmar, Stefan EnderleUniversity of Ulm, Neuroinformatics, D-89069 Ulm, Germany

    Abstract

    Knowing its position in an environment is an essential capability for any useful mobile robot. Monte Carlo Localization(MCL) has become a popular framework for solving the self-localization problem in mobile robots. The known methods

    exploit sensor data obtained from laser range finders or sonar rings to estimate robot positions and are quite reliable and robust

    against noise.

    An open question is whether comparable localization performance can be achieved using only camera images, especially

    if the camera images are used both for localization and object recognition. In such a situation, it is both harder to obtain

    suitable models for predicting sensor readings and to correlate actual with predicted sensor data. Both problems can be easily

    solved if localization is based on features obtained by preprocessing images. In our image-based MCL approach, we combine

    visual distance features and visual landmark features, which have different characteristics. Distance features can always be

    computed, but have value-dependent and dramatically increasing margins for noise. Landmark features give good directional

    information, but are detected only sporadically. In our paper, we discuss the problems arising from these characteristics and

    show experimentally that MCL nevertheless works very well under these conditions.

    2002 Published by Elsevier Science B.V.

    Keywords: Self-localization; Visual features; Dynamic environments

    1. Introduction

    A mobile robot that is expected to navigate a known

    environment in a goal-directed and efficient manner

    must have the ability to self-localize, i.e. to determine

    its position and orientation in the environment [6,9]. In

    the past few years, Monte Carlo Localization (MCL)

    has become a very popular framework for solving theself-localization problem in mobile robots [4,5]. This

    method is very reliable and robust against noise, espe-

    cially if the robots are equipped with laser range find-

    ers or sonar sensors. In some environments, however,

    e.g. in the popular RoboCup domain [7], using a laser

    Corresponding author.

    E-mail addresses: [email protected]

    (G.K. Kraetzschmar), [email protected]

    (S. Enderle).

    scanner on each robot may be difficult, or impossible,

    or too costly. Also, sonar data is extremely noisy due to

    the highly dynamic environment. Thus, enhancing the

    existing localization methods such that they can use

    other sensory channels, like uni- or omni-directional

    vision systems is an interesting open problem. In this

    work, we present a vision-based MCL approach us-

    ing visual features which are extracted from a robotssingle camera and matched to a known model of the

    environment.

    2. Markov localization

    In Markov localization [4], the position of a robot

    is estimated by computing the probability distribu-

    tion over all possible positions in the environment.

    Let l = x , y , denote a position in the state space.

    0921-8890/02/$ see front matter 2002 Published by Elsevier Science B.V.P I I : S 0 9 2 1 - 8 8 9 0 ( 0 2 ) 0 0 2 3 6 - 1

  • 7/30/2019 Self-localization using sporadic features

    2/9

    112 G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119

    Then, Bel(l) expresses the robots belief in being at

    location l.

    The algorithm starts with an initial distributionBel(l) depending on the initial knowledge of the

    robots position. If the correct position of l is known,Bel(l) = 1 for l = l and Bel(l) = 0 for l = l. If the

    position is completely unknown, Bel(l) is uniformly

    distributed over the environment to reflect this un-

    certainty. As the robot operates, two kinds of update

    steps are iteratively applied to incrementally refine

    Bel(l).

    2.1. Belief projection across robot motion

    This step handles robot motion and projects therobots belief about its position across the executed

    actions. A motion model P (l|l, m) is used to predict

    the likelihood of the robot being in position l assum-

    ing that it executed a motion command m and was

    previously in position l. Here, it is assumed that the

    new position depends only on the previous position

    and the movement (Markov property). Using the mo-

    tion model, the distribution of the robots position be-

    liefBel(l) can be updated according to the commonly

    used formula for Markov chains [1]:

    Bel(l) =

    P (l|l, m)Bel(l) dl. (1)

    2.2. Integration of sensor input

    The data obtained from the robots sensors are used

    to update the beliefBel(l). For this step, an observation

    model P (o|l) must be provided which models the

    likelihood of an observation o given the robot is at

    position l. Bel(l) is then updated by applying Bayes

    rule as follows:

    Bel(l) = P(o|l)Bel(l), (2)

    where is a normalization factor ensuring that Bel(l)

    integrates to 1.

    The Markov localization method provides a math-

    ematical framework for solving the localization prob-

    lem. Unlike methods based on Kalman filtering [8], it

    is easy to use multimodal distributions. However, im-

    plementing Markov localization on a mobile robot in

    a tractable and efficient way is a non-trivial task.

    3. Monte Carlo localization

    The MCL approach [5] solves the implementation

    problem by representing the infinite probability dis-

    tribution Bel(l) by a set of N samples S = {si |i =

    1, . . . , N }. Each sample si = li , pi consists of a

    robot location li and weight pi . The weight corre-

    sponds to the likelihood of li being the robots cor-

    rect position, i.e. pi Bel(li ) [10]. Furthermore, as

    the weights are interpreted as probabilities, we assumeNi=1pi = 1.

    The algorithm for MCL is adopted from the gen-

    eral Markov localization framework described above.

    Initially, a set of samples reflecting initial knowledge

    about the robots position is generated. During robot

    operation, the following two kinds of update steps areiteratively executed.

    3.1. Sample projection across robot motion

    As in the general Markov algorithm, a motion modelP (l|l, m) is used to update the probability distribution

    Bel(l). In MCL, a new sample set S is generated from

    a previous set S by applying the motion model as

    follows: for each sample l, p S a new sample

    l, p is added to S, where l is randomly drawn from

    the density P (l|l

    , m). The motion model takes intoaccount robot properties like drift and translational and

    rotational errors.

    3.2. Belief update and weighted resampling

    Sensor inputs are used to update the robots beliefs

    about its position. According to Eq. (2), all samples

    are re-weighted by incorporating the sensor data o and

    applying the observation model P (o|l). Most com-

    monly, sensors such as laser range finders or sonars,

    which yield distance data, are used. In this case, ideal

    sensor readings can be computed a priori, if a mapof the environment is given. An observation model is

    then obtained by noisifying the ideal sensor readings,

    often simply using Gaussian noise distributions. Given

    a sample l, p, the new weight p for this sample is

    given by:

    p = P(o|l)p, (3)

    where is again a normalization factor which ensures

    that all beliefs sum up to 1. These new weights for the

  • 7/30/2019 Self-localization using sporadic features

    3/9

    G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119 113

    samples in S provide a probability distribution over

    S, which is then used to construct a new sample set

    S. This is done by randomly drawing samples fromS using the distribution given by the weights, i.e. for

    any sample si = li , pi S

    Prob(si S) pi . (4)

    The relationship is approximate only, because after

    each update step we add a small number of uniformly

    distributed samples, which ensure that the robot can

    re-localize in cases where it lost track of its position,

    i.e. where the sample set contains no sample close to

    the correct robot position.

    The MCL approach has several interesting proper-

    ties: for instance, it can be implemented as an anytimealgorithm [2], and it is possible to dynamically adapt

    the sample size (see [4] for a detailed discussion of

    MCL properties).

    4. Vision-based localization

    There are mainly two cases where MCL based on

    distance sensor readings cannot be applied: (i) If dis-

    tance sensors like laser range finders or sonars are not

    available. (ii) If the readings obtained by these sen-sors are too unreliable, e.g. in a highly dynamic en-

    vironment. In these cases, other sensory information

    must be used for localization. A natural candidate is

    information from the visual channel, because many

    robots include cameras as standard equipment. An ex-

    ample for using visual information for MCL has been

    provided by Dellaert et al. [3]. On their indoor robot

    Minerva, they successfully used the distribution of

    light intensity in images obtained from a camera fac-

    ing the ceiling. The advantage of this setup is that there

    are few disturbances caused by people in the environ-

    ment, and that one can always obtain a comparatively

    large number of sensor readings, even if occasionally

    they may be very noisy (due to use of flashlights etc.).

    An interesting and open question is whether the

    MCL approach still works when the number of obser-

    vations is significantly reduced and when particular

    observations can be made only intermittently. In the

    following, we describe a situation where these prob-

    lems arise and show how to adopt the MCL approach

    accordingly.

    4.1. The RoboCup environment

    In RoboCup, two teams of robots play soccer

    against each other, where each team has three field

    players and one goalie. The field is about 9 m long

    and 5 m wide and has two goals which are marked

    blue and yellow for visual recognition. The field has

    a green floor and is surrounded with a white wall. It

    has four corners each of which is marked with two

    green vertical bars of 5 cm width.

    4.2. Feature-based modeling

    As described in Eq. (3), the sensor update mech-

    anism needs a sensor model P (o|l) which describes

    how probable a sensor reading o is at a given robotlocation l. This probability is often computed by esti-

    mating the sensor reading o at location l and determine

    a similarity measure between the given measurement o

    and the estimation o. If sensor readings oi are camera

    images two problems arise: (i) Estimating complete

    images oi for each samples location is computation-

    ally very expensive. (ii) Finding and computing a

    similarity measure between images is quite difficult.

    A better idea is to lift the similarity test to work on

    processed, more aggregated, and lower-dimensional

    data, such a feature vectors. The selection of the visualfeatures is guided by several criteria: (i) uniqueness

    of the feature in the environment; (ii) computational

    effort needed to detect the feature in images; (iii)

    reliability of the feature detection mechanism.

    In the RoboCup domain, only few environment

    features can be detected while meeting these criteria:

    goal posts and field corners as landmark features,

    and distances to walls as distance features. The cor-

    ner detector yields ambiguous landmarks, because

    corners are indistinguishable from each other, while

    the four goal post-features are unique landmarks. At

    most eight landmark features can be detected over-

    all. Only under very special circumstancesuse of

    an omni-directional camera, all features within the

    visual field, and no occlusion of a feature by another

    robotare all eight features detectable at the same

    time. In addition to landmark features, we compute

    wall distance features at just four columns in the im-

    age. On our Sparrow robot, we use an uni-directional

    camera with a visual field of roughly 64 (see Fig. 1).

    Consequently, even in the best case our robot can

  • 7/30/2019 Self-localization using sporadic features

    4/9

    114 G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119

    Fig. 1. The Sparrow-99 robot (left), and the field used in the RoboCup middle-size robot league and the position of the visually detectable

    features.

    see not more than four landmark features and four

    distance features at a time. Thus, features available

    for localization are sparse, at least compared to thestandard approach, where a laser scanner provides

    hundreds of distance estimates per second. In many

    situations, cf. when located close to the middle line,

    facing either sideline, and looking down it detects

    none at all, because no feature is within the visual

    field. Thus, the fact that the features can be detected

    only sporadically is another significant difference to

    previous applications of MCL.

    We also performed some experiments in office en-

    vironments, where we just applied a simple distance

    estimator technique. Vertical edges would be goodcandidates for landmarks. However, aside of selecting

    features that are sufficiently easy and reliable to de-

    tect the problem of online generation of feature vec-

    tor estimates based on given positions must be solved.

    Standard world representations used for robot map-

    ping permit to compute distance estimates sufficiently

    fast, but more advances features, like corners or edges

    of posters hanging on walls require an extensions of

    the representation and additional computational effort.

    In order to incorporate sensor information on a

    feature-based level, two steps are needed: (i) the fea-tures have to be extracted from the current camera

    Fig. 2. Feature detection in RoboCup (from left to right): original image, segmented image, detection of goal post, corner, and walls.

    image; (ii) the samples weights have to be adapted

    according to some model P (o|l). This is described in

    the following paragraphs.

    4.3. Feature detection

    The camera image is color-segmented in order to

    simplify the feature detection process. On the seg-

    mented image we apply filters detecting color discon-

    tinuities to yield the respective feature detectors (see

    Fig. 2). The goal post detector detects a horizontal

    whiteblue or a whiteyellow transition for the blue

    or yellow goal post, respectively. The corner detec-

    tor searches for a horizontal greenwhitegreen tran-sition in the image. The distance estimator estimates

    the distance to the walls based on detected verticalgreenwhite transitions (greenblue or greenyellow

    in goal areas) in the image. At the moment, we select

    four specific columns in the image for detecting the

    walls.

    For office environments, we use only distance fea-

    tures. Fig. 3 shows the image of a corridor inside our

    office building, and the edges detected from it. The

    lines starting from the bottom of the image visual-

    ize the estimated distances to the walls. Note, thatthere are several errors mainly in the door areas. The

  • 7/30/2019 Self-localization using sporadic features

    5/9

    G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119 115

    Fig. 3. Feature detection in office environments and their projection into maps.

    right-hand side of Fig. 3 shows projections of the es-

    timated distances to maps of laser scans. The brighter

    dots show the estimated distances by the visual feature

    detector, while the smaller darker dots show the laser

    readings in the same situation. Note, that in the leftimage a situation is shown where a lot of visual dis-

    tances can be estimated, while in the right image only

    four distances are estimated at all. Due to the simplic-

    ity of the applied feature detector often only few dis-

    tance features are detected and therefore the situation

    is comparable to the RoboCup environment.

    4.4. Weight update

    As described in Eq. (3), the sample set must be

    re-weighted using a sensor model P (o|l). Let the sen-sor data o be a vector of n features f1, . . . , f n. If we

    assume that the detection of features depends solely

    on the robots position and does not depend on the

    detectability of other features, then the features are in-

    dependent and we can conclude:

    P (o|l) = P (f1, . . . , f n|l)

    (5)= P (f1|l

    ) , . . . , P ( f n|l).

    Note that n may vary, i.e. it is possible to deal with

    varying numbers of features.

    The sensor model P (fi |l) describes how likely it

    is to detect a particular feature fi given a robot lo-

    cation l. In our implementation, this sensor model is

    computed by comparing the horizontal position of the

    detected feature with an estimated position as deter-

    mined by a geometrical world model. The similarity

    between feature positions is mapped to a probability

    estimate by applying a heuristic function as illustrated

    in Fig. 4. The application of these heuristics to the

    examples used in Fig. 2 are illustrated in Fig. 5, which

    also demonstrates that probabilistic combination of

    evidence for several features significantly improves

    the results.

    The figure illustrates various properties of our ap-

    proach. First, the heuristic function for each of thefour unique goal post-features has only a single peak.

    The shape of the function causes all samples with

    comparatively high angular error to be drastically

    down-valued and successively being sorted out. Thus,

    detecting a single goal post will reshape the distribu-

    tion of the sample set such that mostly locations that

    make it likely to see a goal post in a certain direction

    will survive in the sample set. Furthermore, if two

    goal posts are detected at the same time, the reshap-

    ing effect will be overlayed and drastically focus the

    sample set. Secondly, there is only a single heuristic

    function that captures all of the ambiguous corner

    features. Each actually detected corner is successively

    given a probability estimate. If the corner detector

    Fig. 4. Heuristics for estimating probabilities P (fi |l) given a

    current position.

  • 7/30/2019 Self-localization using sporadic features

    6/9

    116 G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119

    Fig. 5. Probability distributions P (fi |l) for all field positions l (with fixed orientation) given the detection of a particular feature fi or

    combinations of them (from left to right): goal posts, field corners, wall distances, corner and goal features combined, and all features

    combined.

    misses corners that we expected to see, this does not

    do any harm. If the detector returns more corners

    than actually expected, the behavior depends on the

    particular situation: detecting an extra corner close to

    where we actually expected one, has a small negative

    influence on the weight of this sample, while detectinga corner where none was expected at all has a much

    stronger negative effect. Note, that the robustness of

    the corner detector can be modeled by the heuristic

    function: having a robust detector means assigning

    very low probabilities to situations where the similar-

    ity between estimated and detected feature position is

    small, while for a noisy detector the heuristic function

    would assign higher probabilities in such situations.

    The effect of detecting too many features or detecting

    them at wrong positions is accordingly different.

    5. Experiments

    5.1. Number of features

    A Sparrow-99 robot was placed in one corner of

    the field. In order to have an accurate reference path,

    we moved the robot by hand along a rectangular tra-

    jectory indicated by the dots. This simple experiment

    demonstrates the practical usability of the approach. It

    is shown that the robot can localize robustly and thatthe accuracy can be improved by adding more features.

    Fig. 6. Feasibility experiments.

    The first image in Fig. 6 shows the trajectory given

    by the odometry when executing a single round. Note

    the displacement at the end of the tour. The second

    image displays the corrected path found by the lo-

    calization algorithm using only the goal posts as fea-

    tures. In the third image we can see a highly accu-rate path found by the localization algorithm which

    used all possible features. The fourth image shows the

    drift that occurs when moving multiple rounds without

    self-localization. The fifth image displays the trajec-

    tory as determined with self-localization, which does

    not drift away.

    5.2. Number of samples

    Implementing sample-based localization, it is im-

    portant to have an idea of how many samples areneeded. Obviously, a small number of samples is pre-

    ferred, since the computational effort increases with

    the number of samples. On the other side, an appro-

    priate number of samples is needed in order to achieve

    the desired accuracy. In this experiment, we moved

    four rounds exactly as in the previous experiment and

    used five different numbers of samples: 50, 100, 150,

    1000, 5000.

    Fig. 7 illustrates the average localization errors (left

    image) and both average error and maximum error

    (right) for different numbers of samples during theexperiment. The result is that a few hundred samples

  • 7/30/2019 Self-localization using sporadic features

    7/9

    G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119 117

    Fig. 7. Average localization errors of the different sample numbers (left); average error and maximum error of the same five runs (50,

    100, 150, 1000 and 5000 samples used) (right).

    are usually sufficient to keep the average localization

    error sufficiently low.

    5.3. Stability and robustness

    In order to evaluate the stability of our approach in

    the presence of sparse and sporadic data, we logged

    the number of landmark and distances features de-tected at every cycle (see Fig. 8 top and middle) and

    Fig. 8. Demonstrating the robustness of the approach.

    compared this to the development of the standard de-

    viation overall samples with respect to the true robot

    position (bottom).

    The graphics illustrate that: (i) distance feature de-

    tection is more robust than detection of landmark fea-

    tures; (ii) the method is quite stable with respect to

    sparsity and sporadicity of detected features; (iii) only

    after neither kind of features can be detected for sometime the accuracy of the robot position degrades.

  • 7/30/2019 Self-localization using sporadic features

    8/9

    118 G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119

    Fig. 9. Performance of sporadic visual localization during a sample

    run in an office environment.

    5.4. Feasibility for office environments

    It was interesting to see whether our approach

    chosen for the RoboCup environment would also be

    feasible for more complex environments, like regularcorridors and rooms. Our B21 robot Stanislav was

    positioned at one end (left side ofFig. 9) of a corridor

    of about 20 m length and 2.2 m width. The camera,

    mounted at about 1.5 m height, was directed straight

    to the front. Only distance features were computed.

    No use was made of the pan-tilt unit to reposition

    the camera during the experiment. We used 1000

    samples which were initialized at the approximating

    robot position with a diameter of 1 m and an angular

    uncertainty of 20.

    The robot was able to track the path along the cor-

    ridor up to the right side and the way back to the start-ing point. Then, while rotating 180, the camera could

    not see the floor any more. As a result, many wrong

    distance estimates were generated due to visual arti-

    facts, and the samples drifted away. Potential remedies

    include active use of the pan-tilt ensure the floor can

    be seen at all times or exploiting additional landmark

    features such as corners, doors, or posters at walls.

    6. Conclusions

    In this paper, we used the Monte Carlo approach

    for vision-based localization of a soccer robot on the

    RoboCup soccer field. Unlike many previous applica-

    tions, the robot could not use distance sensors like laser

    scanners or sonars. Also, special camera setups were

    not available. Instead, the onboard camera was used

    for localization purposes in addition to object recog-

    nition tasks. As a consequence, sensor input to update

    the robots belief about its position was sparse andsporadic. Nevertheless, the experimental evaluation

    demonstrated that MCL works quite well even under

    these restrictive conditions. Even with very small num-

    bers of detected features, the localization results can

    be quite usable, but naturally, increasing the number

    of visual features available dramatically enhances ac-

    curacy. Finally, first experimental results indicate that

    the vision-based localization approach promises good

    results also in office environments. Considering that

    nowadays cameras are much cheaper than laser scan-

    ners and sonar rings, vision-based robot localization

    could provide a cost-effective alternative for commer-

    cial robot applications.

    Acknowledgements

    The authors would like to thank Marcus Ritter and

    Heiko Folkerts for implementing most of the algo-

    rithms and performing many experiments, and Stefan

    Sablatng, Hans Utz, and Gnther Palm for helpful

    discussions and their continuing support.

    References

    [1] K. Chung, Markov Chains with Stationary Transition

    Probabilities, Springer, Berlin, 1960.[2] T. Dean, M. Boddy, An analysis of time-dependent planning,

    in: Proceedings of the AAAI-88, St. Paul, MN, 1988,

    pp. 4954.[3] F. Dellaert, W. Burgard, D. Fox, S. Thrun, Using the

    condensation algorithm for robust, vision-based mobile robot

    localization, in: Proceedings of the IEEE Computer Society

    Conference on Computer Vision and Pattern Recognition,

    1999, pp. 588594.[4] D. Fox, Markov localization: A probabilistic framework

    for mobile robot localization and navigation, Ph.D. Thesis,

    University of Bonn, Bonn, Germany, December 1998.[5] D. Fox, W. Burgard, F. Dellaert, S. Thrun, Monte Carlo

    localization: Efficient position estimation for mobile robots,

    in: Proceedings of the AAAI-99, Orlando, FL, 1999,

    pp. 343349.[6] J.-S. Gutmann, W. Burgard, D. Fox, K. Konolige, An

    experimental comparison of localization methods, in:

    Proceedings of the International Conference on Intelligent

    Robots and Systems (IROS98), Victoria, BC, October 1998.[7] H. Kitano, M. Asada, Y. Kuniyoshi, I. Noda, E. Osawa,

    H. Matsubara, RoboCup: A challenge problem for AI, AI

    Magazine 18 (1) (1997) 7385.[8] P.S. Maybeck, The Kalman Filter: An Introduction to

    Concepts, Springer, Berlin, 1990, pp. 194204.[9] B. Schiele, J.L. Crowley, A comparison of position estimation

    techniques using occupancy grids, in: Proceedings of the

    1994 IEEE International Conference on Robotics and

    Automation, San Diego, CA, May 1994, pp. 16281634.

  • 7/30/2019 Self-localization using sporadic features

    9/9

    G.K. Kraetzschmar, S. Enderle / Robotics and Autonomous Systems 40 (2002) 111119 119

    [10] A.F.M. Smith, A.E. Gelfand, Bayesian statistics without tears:

    A samplingresampling perspective, American Statistician

    46 (2) (1992) 8488.

    Gerhard K. Kraetzschmar is a Senior

    Research Scientist and Assistant Profes-

    sor at the Neural Information Process-

    ing Department at University of Ulm.

    His research interests include autonomous

    mobile robots, neurosymbolic integration,

    learning and memory, and robot control

    and agent architectures. He is a member

    of IEEE, AAAI, ACM, IAS, and GI.

    Stefan Enderle is a Ph.D. candidate at

    the Neural Information Processing Depart-

    ment at University of Ulm. His research

    interests include sensor interpretation and

    fusion, map building and self-localizationin robotics, and software development for

    autonomous mobile robots.