In this because to summarize write a document, so consult the material, the summary of the contents of the record, welcome to correct me!
This article will describe the slam algorithm used in the work of the robotic operating system (ROS) framework. The five 2D laser-based slam algorithms available in Ros are :Hectorslam,gmapping,kartoslam,coreslam and Lagoslam. of course, there are more classic Google open source cartographer, although not based on Ros, but Daniel has modified it to a Ros-based version of the Cartographer_ros,
ROS (Robot Operating system) is a Linux-based open-source operating system designed to build a robot software platform that integrates different research results, implements algorithms, and reuses code. Ros is now a popular robot control framework, which allows us to save time to build the robot's system framework, focusing more on the research at the algorithm level. Greatly improve the efficiency of development. It includes hardware abstract description, underlying device control, implementation of common functions, inter-Program information transfer, package management, and some visual data programs and software libraries, and on this platform we open up a lot of application packages such as positioning composition, motion and planning, perception and decision.
one of the main problems with the explosive growth of robots is the inability to reuse code on different robotic platforms. However, the hardware abstraction layer in ROS and its messaging service allow the creation of new code that can be used on many different robotic platforms. Furthermore, Ros provides a stable set of robotic software packages, and the accepted Slam evaluation methodology relies on standard datasets available in the robotics community. In this paper, the main two-dimensional slam algorithm based on laser is studied, all the results of slam are used as the final output, and the performance index of map similarity is used to analyze. The focus is on the map quality, not the attitude estimation error, because the mapping output is highly influenced by localization problems. The main goal is to provide an overview of the pros and cons of all five algorithms in Ros, providing simple and accurate quantitative comparisons that define a common guideline for ROS developers to choose the algorithm that best fits their needs.
(1) Hectorslam
Hectorslam is a kind of 2D Slam method combined with a better robust scanning method and a navigation technique using inertial sensing system. Sensor requirements: High-update frequency small measurement noise of the laser scanner. No mileage meter required, The possibility of using the aerial UAV and the ground trolley in the uneven area. The author uses the modern LiDAR's high update rate and low distance measurement noise to estimate the robot motion in real time by scanning matching. So when there is only a low-update rate of the laser sensor, even if the distance estimation is very accurate, there will be some problems for the system, as the system generated two-dimensional map.
http://kaspar.informatik.uni-freiburg.de/~slamEvaluation/datasets.php
Http://www.ros.org/wiki/hector_slam
The laser beam lattice is optimized using the obtained map, and the probability of the laser point being represented in the map and occupying the grid is estimated. The scanning match is solved by the method of Gauss-Newton. Find the rigid body transform (X,y,theta) that maps the laser point set to the existing map. The formula is as follows:
Two-dimensional maps are representations of Hectorslam multi-resolution maps. Grid cell length (left to right): 20 cm, 10 cm, and 5 cm, using a multi-resolution map representation to avoid falling into local minimization. The idea behind this solution is to have different maps in memory and to update them using the previously estimated posture. The calculation cost is still very low, so the map is always consistent
Finally, the 3D spatial navigation State estimation is based on the EKF filter. However, this is only necessary when the IMU is present, such as in the case of an aerial robot. So, here we're only talking about two-dimensional slam.
It will no longer be used in this work. An overview of the Hectorslam method is shown.
(2)gmapping
Gmapping is a laser-based slam algorithm, which has been integrated in Ros and is the most used slam algorithm in mobile robots. This algorithm has been proposed by Grisetti and other people is a Slam method based on rao-blackwellized particle filter. Particle filter based algorithm uses many weighted particles to represent the posterior probability of a path, and each particle gives an important factor. However, they often require a large number of particles to obtain better results, which increases the computational complexity of the algorithm. In addition, the problem of particle degradation depletion associated with the PF resampling process also reduces the accuracy of the algorithm. Particle degradation issues include the elimination of a large number of particles from the sample set particles during the resampling phase. This happens because their weight of importance may become insignificant. Therefore, this means that there is a certain small probability that the time will eliminate the correct hypothetical particles. In order to avoid the problem of particle degradation, adaptive resampling technology has been developed.
The authors also propose a method for calculating the exact distribution, taking into account not only the motion of the robot platform but also the recent observations. In This paper, the proposed distribution is proposed by combining the observed values when using the ranging motion model. However, when a mobile robot is equipped with a very precise sensor LRF, the model of the sensor can be used because it can achieve a very high likelihood function. Based on this, the authors integrate the nearest sensor observation ZT, and they calculate the Gaussian distributions to approximate the next generation of particle distributions.
This adaptive resampling reduces the uncertainty of the robot posture in the PF prediction step. As a result, due to the scanning matching process, the number of particles required is reduced because of low uncertainty. In the experiment, the number of particles used by gmapping is 30, which is very low compared to the normal PF method.
(3) Lagoslam
Lagoslam is a linear approximate graph optimization, and no initial assumptions are required. The basic graph Optimization Slam method is to utilize the minimization nonlinear non-convex cost function. Each iteration solves the initial problem of local convex approximation to update the diagram configuration, and the process iterates a certain number of times until the local minimum cost function is reached. (assuming that the starting point has been iterated several times to minimize the local cost function). 。 Assuming that the relative position and direction of each node in the graph are independent, the author solves a set of equations which is equivalent to the non-convex cost function. Therefore, a set of program based on graph theory is proposed, and the first order approximation of nonlinear system is obtained by linear positioning and linear position estimation.
(4)Kartoslam
Kartoslam is a method based on graph optimization, which uses highly optimized and non-iterative Cholesky matrices to decouple sparse systems as solutions. The graph optimization method uses the mean value of the graph to represent the map, each node represents a location point of the robot trajectory and a sensor measurement data set, the pointing connection of the arrow indicates the movement of the position point of the continuous robot, each new node is added, and the map is updated according to the constraint of the node arrows in the space.
Kartoslam's Ros version, which uses sparse point adjustments (theSpare Pose adjustment (SPA)) is associated with scan matching and closed-loop detection. The more landmark, the greater the memory requirements , but the graph optimization method is more advantageous in the larger environment than other methods . In some cases Kartoslam is more effective because he contains only the points of the graph (robot Pose), find the location and then ask for map.
(5)Coreslam
A slam algorithm for minimizing performance loss of Coreslam. The algorithm is simplified as the two process of distance calculation and map updating, the first step, each scan input, based on the simple particle filter algorithm to calculate the distance, the particle filter of the matching device for laser and map matching, Each filter particle represents the possible position of the robot and the corresponding probability weights, all of which depend on the previous iterative calculations. Choose the best hypothesis distribution, that is, the low-weight particles disappear and the new particles are generated. In the update step, the scanned line is added to the map, and when the barrier appears, the set of adjustment points is drawn around the barrier point, rather than just one orphan point.
Comparison of the slam algorithms of various laser rangefinder:
(6)cartographer
Cartographer is Google's real-time interior mapping project, where sensors are installed on top of a backpack to generate 2D grid maps with resolutions of 5cm. Each frame of laser scan data obtained is inserted in the sub-image (Submap) at the best estimate location using scan match, and scan matching is only relevant to the current SUBMAP. Once a submap is generated, a local loopback (loop close) is performed, and with the branch positioning and pre-computed mesh, all submap are completed and a global loopback is performed.
Affirm that the above part of the content is reference to other people's blog, if there is infringement, please inform, I will delete!
Download http://download.csdn.net/download/u013019296/10191358 for this document
Interested in paying attention to the public number
Comparison of several slam algorithms commonly used in Ros