From: AAAI-02 Proceedings. Copyright © 2002, AAAI (www.aaai.org). All rights reserved. Localizing while Mapping: A Segment Approach Andrew J. Martignoni III and William D. Smart Department of Computer Science Washington University One Brookings Drive St. Louis, MO 63130 United States of America {ajm7, wds}@cs.wustl.edu http://www.cs.wustl.edu/∼ajm7/map Localization in mobile robotics is a well studied problem in many environments (Thrun et al. 2000; Hinkel & Knieriemen 1988; Burgard et al. 1999; Rencken 1993). Map building with occupancy grids (probabilistic finite element maps of the environment) is also fairly well understood. However, trying to accomplish both localization and mapping at once has proven to be a difficult task. Updating a map with new sensor information before determining the correct adjustment for the starting point and heading can be disastrous, since it changes parts of the map which were not meant to be changed, thus the next iteration is using an incorrect map to determine the adjustment to the pose, which results in greater error, and the cycle continues. This research hopes to solve this problem by performing localization on higher-level objects computed from the raw sensor readings. Initially these higher-level objects are line segments and common structures, such as office doors, but any object which can be detected from a single sensor reading can be used to help the localization process. Objects which require more complex analysis can be found and placed in the map, but will not be used for localization. The higher-level features provide for better localization in an unknown environment, through simpler correspondence with existing map objects. In addition, once the data from the robot’s sensors have been turned into a map with humanidentifiable features, the map can easily be augmented with additional information. Much of the previous work in this area uses occupancy grids (Moravec & Elfes 1985; Elfes 1987), or pixel based maps. Pixels in occupancy grids represent a certain size area of the environment, and represents the probability that the area contains an object. Other work (Park & Kender 1995; Kuipers & Byun 1991) uses a topological system where landmarks are picked out of the environment and added as nodes on a graph which is then used for navigation. Pixel-based maps tend to limit the size of the area that can be covered, and the actual data in the image tends to be sparse because the map representations are a fixed size and shape and do not necessarily match the size and shape of the area to be mapped. An object map (of line segments or other detected features) has no such bounds since only the end points of a segment (or similar real-valued data for other c 2002, American Association for Artificial IntelliCopyright gence (www.aaai.org). All rights reserved. Sensors First Pass Detectors Agents Map Combine Localize Second Pass Detectors Figure 1: Architecture of the object map framework. features) are stored. A topological map needs very accurate detections of high-level concepts or features, whereas the line segments are fairly simple to pull out of the available sensor data, and combine well with previous sensor readings. We propose using line segments for mapping and localization because they (1) are easy to detect, (2) smooth out the noise from the sensors, (3) take little memory to store, (4) provide simple transformation constraints which are useful for localization on very little or very noisy data, and (5) are faster because measuring distance in the map becomes a line intersection instead of ray-tracing. By using line segments, we must assume that most structures in the environment are linear, and that most of the lines are static. This fits well with the office environment used in the experiments. To extract the segments, we use the distances returned from the laser range finder to generate contact points. The points are added to a Hough Transform (Hough 1962), which allows us to calculate where the most likely line is in the data. We then take the points on the most likely line and perform a regression to get a more accurate line through the points. The line is segmented based on the contiguous sets of points in the reading. This process is repeated (with the used points removed) until the most recognizable lines are pulled out. The lines derived from the laser scan simplify the view of the world, but it must then be integrated with previously Student Abstracts 959 Path Doorwells Lines 5m Figure 2: An object map generated from sensor data. acquired data which is represented in the map. The lines detected in the first reading are simply added to the map at the origin. Subsequent readings must be registered with the existing map before adding. As the robot moves, the wheels may slip and cause the heading to vary by several degrees over the course of a hallway. The line segments in the new reading are matched with their closest matching line segments in the existing map. The final heading correction is determined by histogramming angle differences. This method has proven to be very robust in our experiments. Once the heading is determined, the robot’s 2D location must be determined. To accomplish this, observe that the matched line segments are all within a few degrees of parallel. To move these lines together with the corresponding line in the map, we wish to move the midpoint of the new line onto the line in the map there are infinitely many possible vectors (corrections) which move the midpoint to any point on the map line, we add a constraint on the vector to a system of equations and solve it in a least squared error fashion. Solving the system yields the best-fit values of ux and uy which represent a 2D location adjustment. This localization relies on the position estimate being close enough to the real position that the new line segments match up with their counterparts in the map. This assumption holds for a reasonable range of speeds with our hardware. Without a somewhat accurate estimate of the motion of the robot, this method would have to rely on global searches, and would be much slower and prone to error in environments with a lot of similarities (such as office buildings). Once the pose has been updated, the new reading’s line segments are merged with the existing map. The current combination method tends to weight new readings and the map line segments equally. Currently, the system will find and detect lines and doors in an office environment. We are currently adding agents which look for other types of objects, such as people, trash cans, or other important features, especially when they may be built on the features which are already detected. Each new type of object will also improve the localization, because the distance metric uses object type to improve matching performance. We hope to introduce better update methods, including 960 Student Abstracts those which may split line segments based on new information, or tracking moving objects in the environment. Also, finding features could be automated by carrying around points from laser readings which were not used for any objects in a “point bag” object which could later be matched against other objects using a clustering algorithm. This could make additional feature detectors simply a matter of giving a name for a set of objects that were already discovered and categorized. The advantage of a direct object representation is that each object can be tagged with information, such as “Mike’s Office” or “Door001”, which could also lead to logic based reasoning and navigation. References Burgard, W.; Fox, D.; Jans, H.; Matenar, C.; and Thrun, S. 1999. Sonar-based mapping of large-scale mobile robot environments using EM. In Proceedings of the Sixteenth International Conference on Machine Learning (ICML). McGraw-Hill. Elfes, A. 1987. Sonar-based real-world mapping and navigation. IEEE Journal on Robotics and Automation 3(3):249–265. Hinkel, R., and Knieriemen, T. 1988. Environment perception with a laser radar in a fast moving robot. In Proceedings of Symposium on Robot Control, 68.1–68.7. Hough, P. 1962. Methods and means for recognizing complex patterns. U.S. Patent 3069654. Kuipers, B. J., and Byun, Y.-T. 1991. A robot exploration and mapping strategy based on a semantic hierarchy of spatial representations. Robotics and Autonomus Systems 8:46–63. Moravec, H. P., and Elfes, A. 1985. High-resolution maps from wide angle sonar. In Proceedings of IEEE International Conference on Robotics and Automation, 116–121. Park, I., and Kender, J. 1995. Topological direction-giving and visual navigation in large environments. Artificial Intelligence 78(1-2):355–395. Rencken, W. D. 1993. Concurrent localisation and map building for mobile robots using ultrasonic sensors. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2129–2197. Thrun, S.; Fox, D.; Burgard, W.; and Dellaert, F. 2000. Robust monte carlo localization for mobile robots. Artificial Intelligence 101:99–141.