Skip to main content

Monte carlo localization based on gyrodometry and line-detection

Page 1

ARTIGO TÉCNICO Instituto Superior Técnico {jmessias, jsantos, jestilita, pal}@isr.ist.utl.pt

MONTE CARLO LOCALIZATION BASED ON GYRODOMETRY AND LINE-DETECTION ABSTRACT This paper introduces an application of the probabilistic Monte Carlo Localization algorithm to environments which are structured but whose large dimensions imply that relevant features for the update step are not always available and geometric symmetries lead to ambiguities on determining the robot location. The prediction step adds rate-gyro information to the traditional odometry information, so as to handle the ambiguity problem, and measures distance to the closest ground lines (whose location is known a priori) for the update step, incorporating a new “points-on-lines” detection algorithm to provide reliable sensor data. Results of the method application to real robots from RoboCup Middle Size League are presented. The robots use a novel dioptric system, based on a camera facing down and a fish-eye lens.

I. INTRODUCTION Certain tasks given to autonomous robots require that an estimate of the robot’s posture is available during execution. The process of obtaining such an estimate, assuming that only a map of the robot’s environment is available, is defined as self-localization. In the RoboCup Middle Size League (MSL), selflocalization is necessary at various levels, such as team coordination and behaviour execution. Since the visual aids available to these robots are progressively being removed (the goals, for example, are now identical for both teams and completely white), it is necessary to develop a system that allows for reliable self-localization, using for that purpose no explicit references other than those present in the current RoboCup regulations (such as the field markings). An adequate solution must be computationally efficient, and should be able to deal both with the kidnapping problem and with the existence of ambiguous positions due to field symmetry. Existing solutions to this problem rely on the basic Bayes Filter algorithm. Some of these Bayesian algorithms, such as the Kalman filter, approximate the probability distribution associated to the posture of the robot over the space of all possible postures (also called the belief), as a Gaussian, and propagate its second-order moments to represent it analytically. This approximation, however, is inadequate in some practical applications, where the system’s nonlinearities make this distribution clearly nonGaussian. The Extended Kalman Filter tries to deal with this problem by linearizing the system’s model. In contrast, Monte Carlo localization (MCL) is a particle-filter based implementation that avoids maintaining an analytical description of the belief, and instead represents it by a set of samples [1]. This accommodates for the system’s nonlinearities, and for arbitrary shapes of the belief function that is consequently generated. It can be shown that given a sufficiently large amount of samples, the algorithm always converges to the true posture [2]. A large amount of particles, however, can make the algorithm computationally untractable. The main problem then lies on having a trade-off between the number of particles and the overall speed of the selflocalization algorithm.

[ ]

robótica

In this project, we will present a Monte Carlo based approach to selflocalization that addresses these problems, inspired on previous MCL approaches for RoboCup [3][5] and combined with gyrodometry [7] and line detection. This version of the algorithm was implemented in the ISR/IST RoboCup MSL ISocRob team’s omnidirectional robots [12]. Until now the selflocalization of the omni robots was made based on Kalman Filter, using the odometry information and a goals triangulation technique, which could be detected by their colours (yellow and blue). Since the new rules came into place, the robots will not be able to distinguish the opponent goal from the own goal, and barely will be able to detect both goals simultaneously. The current approach is based on all the information one can extract in any given location, and a gyroscope will be used to resolve ambiguous localization issues. This implementation also presents a novel approach to line detection based on a dioptric system using a fish-eye lens.

II. THE MONTE CARLO LOCALIZATION ALGORITHM Monte Carlo localization follows the basic recursive Markov localization algorithm, which, in turn, derives from the Bayes Filter algorithm. Consider an autonomous robot at time t with posture lt , taking measurements zt localization from its sensors and accepting controls ut at each instant. In this algorithm, the posterior probability distribution p (lt | z1:tt , u1:tt), represented by the belief bel(lt) over the space of all possible postures, is obtained recursively from bel(lt–1) in a two-step process: in the first step, also called ut the prediction step, all of the controls applied to the robot between instants t-1 and t, are taken into account, and through the robot’s motion equations (described in the following sections), an estimate of the posterior bel(lt) is generated; in the update step, the measurements zt are checked against the predictions, multiplying the posterior bel(lt) by the probability of having that measurement at lt , as described in the observation model p (zt | lt), to obtain bel(lt). It is evident that for this algorithm to work some mechanism must exist to describe bel(lt), which may be irregular or multi-modal, in each iteration. This is accomplished by a set of samples (the so-called particles), taken


PUB

ARTIGO TÉCNICO

kidnapping. From the initial point, a small trajectory was taken by the robot measuring the errors in two known positions. The average errors were also small Hx = 0.043 m, Hy = 0.067 m and HT = 0.027 rad. .

Table 2 MCL results g given an unknown initial posture. p Real robot location Monte Carlo Localization x [m] y [m] [rad] x [m] y [m] [rad] -2.3 0 0 -2.21 0.15 0.006 0 0 0 -0.02 0.03 0.01 0 -1.15 0 -0.08 -1.16 0.01 -2.3 -1.15 1.57 -2.25 -1.25 1.56 -3.44 -1.45 1.57 -3.55 -1.45 1.61 Table 3 . MCL results given a false initial posture and following a small trajectory.

g p Real robot location x [m] y [m] [rad] -2.3 -1.15 1.57 -2.3 0 1.57 0 -1.15 0

g j Monte Carlo Localization x [m] y [m] [rad] -2.23 -1.17 1.62 -2.31 0.1 1.57 -0.05 -1.07 0.03

y

Although precise measurements were not taken regarding time performance, in both presented sets the algorithm converged in average in less than 2 seconds, with an average number of 60 line point transitions.

V. CONCLUSIONS AND FUTURE WORK A Monte Carlo-based self-localization algorithm was developed and implemented in the ISocRob team’s omnidirectional robots. Gyrodometry was used to mitigate some of the issues caused by odometry. The method proved to be more precise than the odometry or gyro alone but since there are some issues with the data output by the specific gyro we used making it hard to compare with odometry data, the method is not extremely precise as it could be. Two algorithms were written to extract points from field lines based on an image from an omnidirectional camera. The results using skeleton extraction based on distance transform were more robust as expected (we always get the center points and not the transition borders), however the computational cost is not suitable for a near real-time application such as RoboCup. The results achieved using simple morphological operations are just as suitable, given the application, and represent a lower cost to the processor. An alternative dynamic-particle number approach was incorporated. The “cluster factor” function proved to be an effective way of controlling the number of samples, and through an additional amount of uniformly distributed particles, the kidnapping problem was solved. A gyroscope was used to resolve ambiguous localization problems, and the particle validation method functioned as expected. We plan to improve this by using an electronic compass in the future. REFERENCES [1]

D. Fox, W. Burgard, F. Dellaert, and S. Thrun, “Monte Carlo localization: Efficient position estimation for mobile robots,” in Proc. of the National Conference on Artificial Intelligence, 1999. S. Thrun, W. Burgard, and D. Fox, Probabilistic Robots, MIT Press. MIT. Press, 2005, pp.187-219. P. Heinemann, J. Haase and A. Zell, “A Combined Monte-Carlo Localization and Tracking Algorithm for RoboCup”, 2006. A.Merke, S. Welker, and M. Riedmiller, “Line Based Robot Localization under Natural Light Conditions”, 2004. T.Röfer, M. Jüngel, “Vision-Based Fast and Reactive Monte-Carlo Localization”, 2003. S.Thrun, D. Fox, W. Burgard, F. Dellaert, “Robust Monte Carlo Localization for Mobile Robots”, 2001. J. Borenstein and L. Feng, “Gyrodometry: A New Method for Combining Data from Gyros and Odometry in Mobile Robots”, 1996. [8] M. Barbosa, N. Ramos and P. Lima, “MeRMaID – Multiple-Robot Middleware for Intelligent Decision-Making”, 2007. [9] L. Iocchi and D. Nardi, “Self-localization in the Robocup environment”, in Proc. 16th IJCAI 99, Third Int. Workshop on RoboCup,1999,pp 116–120. [10] C.Marques and P. Lima, “Multi-Sensor Navigation for Non-HolonomicRobots in Cluttered Environments”, IEEE Robotics and AutomationMagazine, Vol. 11, No. 3, 2004. [11] A.Baist, R. Sablatnig and G. Novak, “Line-based Landmark Recognitionfor Self-localization of Soccer Robots”, IEEE International Conferenceon Emerging Technologies, 2005. [12] P. Lima, J. Santos, J. Estilita, M. Barbosa, A. Ahmad, J. Carreira, “ISocRob 2009 team description paper,” Proceedings of RoboCup 2009 Symposium, Graz, Austria, 2009. [2] [3] [4] [5] [6] [7]

robótica [21]


Turn static files into dynamic content formats.

Create a flipbook
Monte carlo localization based on gyrodometry and line-detection by cie - Issuu