10 likes | 198 Views
Client applications. Server. Pioneer robot. Client thread. Database. Client thread. Client thread. Data manager. Saphira. Real -Time Object Mapping Algorithm for Mobile Robots. Marek Kopicki , Dr Jeremy Wyatt (project supervisor) . The University O f Birmingham. Introduction.
E N D
Client applications Server Pioneer robot Clientthread Database Clientthread Clientthread Data manager Saphira Real-Time Object Mapping Algorithm for Mobile Robots Marek Kopicki, Dr Jeremy Wyatt (project supervisor) The University Of Birmingham Introduction Online expectation–maximisation (EM) algorithm Software platform Robotic mapping is a problem of building models (maps) of environment from sensor measurements by mobile robots. Models of environment are basic knowledge an autonomous robot must possess in order to carry out any higher level tasks like planning. Therefore robotic mapping is one of the most intensively studied problems of mobile robotics in recent years. The mapping problem is also known as simultaneous localisation and mapping problem (SLAM), since imperfect odometry sensors creates a problem of determining robot’s pose related to the map. The expectation-maximisation (EM) algorithm is an important part of many probabilistic algorithms in robotics including the presented mapping algorithm. The EM algorithm is a hill-climbing method in likelihood space for estimation the parameters of the distribution which models the observed data. The observed data are measurement points in 2D Cartesian space (figure below) from sonars or better from laser range finders. The distribution is a linear combination of suitably constructed Gaussians so that each Gaussian represents a single line. The EM algorithm recurrently estimates the line parameters (figure below) by maximising the log-likelihood function. The mapping algorithm was designed as a part of a larger client-server software platform for mobile robots. The platform is an extension to the popular Saphira/Aria - a robot control system developed at SRI International’s Artificial Intelligence Center and ActivMedia Robotics. Saphira is a Windows/Linux application which can control mobile robots from Pioneer series via radio link. Mapping can be viewed from two distinct perspectives. When thinking about map structure and basing on sensor measurements and its representation, one can distinguish • Topological (connections) approaches • Metric (distances) approaches Metric approaches can be further subdivided into landmark basedand relied on undistinguishable features of the environment. The presented online algorithm builds 2D object maps of indoor environments assuming that all measurement points are undistinguishable. Measurement points obtained from robot sonar when moving along walls of a small room. EM algorithm recurrently estimates the line parameters. The postprocessing algorithm bounds all lines and then fuse together if their ends are close enough. The server is a dynamic library managed by Saphira’s Colbert language. It allows multiple TCP/IP remote client connections. Object Map approaches To obtain a compact form of the log-likelihood function all lines are of infinite length. The postprocessingalgorithm bounds the lines and fuse them together if their ends are close enough. Data manager synchronises data flow between robot - data base and data base – client threads, and solves conflicts between clients when accessing the same database entries. Object map algorithms try to model the environment from geometric objects like lines or surfaces. The most important advantages of object map approaches are: In the online EM algorithm data arrives over time. As the data set grows, so does the computation per iteration of EM. To keep the amount of computation a constant value the algorithm uses several techniques: Database is implemented as a collection of sorted multi hash-maps. It contains a time-indexed stream of robot’s poses and measurements, current robot’s map, a queue of control commands etc. • Reduced map complexity, which can be seen as a lossy map compression. The “compression rate” is strongly dependent on the fit between real environment objects and map geometric primitives. • Simpler high-level postprocessing basing on a small number of geometric shapes rather then a huge number of objects like measurement points. • Reduced noise in the result of side-effect of measurement’s averaging by fitting less complex geometrical shapes. • Limits the number of new arriving measurements during the fix time interval. • Adds new line components if there are any “not explained” measurements. • Removes line components which do not explain sufficiently many measurements (minimisation of a component cost function). • Fixes the correspondence values of all measurements which were considered long enough as “belonging” to the same line. • Fixes the lines which parameters are “inactive” for a longer time Client applications are real engines of the platform. They can communicate with both a robot and other clients (through database); e.g. MapFinder when building a map is updating suitable entries in database, in the meantime a Pop-11 written application can read a map entry and plan further robot’s moves. Future work The presented approach relies on two major assumptions: Future work may involve the following topics: MapFinder is the Java-interface application which employs the online object mapping algorithm. The core of EM algorithm was implemented in C++ (JNI). It supports SIMD instructions(SSE2) and is optimised for symmetric multiprocessor (SMP) systems. • The objects in the environment must be well explainable by lines, what seems to be reasonable for indoor environments. The line assumption leads also to a convenient and compact-form solutions of the EM algorithm. • A good estimate of the robot pose is available. The experiments revealed however that accumulated odometry error is a critical factor, especially in large and cyclic environments. • Accumulated odometry error creates themap correspondence problem when robot returns to the previously visited regions “thinking” that it is somewhere else. One of the most promising solutions employs particle filters. • When acquiring environment’s map a robot can follow a certain exploration strategy (planning). The current version uses only a simple reactive approach. • Extension of the algorithm to 3D version. This step requires more accurate laser range finders. • Improved server can support video streams from robot’s cameras. This will open the software platform to new robot vision areas.