A ramble on the visual Slam (iii): Introduction to the research point _algorithm

Source: Internet
Author: User
1. Foreword

Hello, readers and friends. (Long, long) ago, we introduced the basic concepts and methods of slam. I believe that we should have a basic understanding of the slam. After finishing a bunch of papers and a PhD, I'm ready to go back to landfills: to introduce all aspects of slam research. If the first two articles is "initial knowledge", the next few is "getting better". In the third article, we'll talk about the various research points in slam, and make a sketchy summary for graduate students (who should be most readers of blogs). Then, we will talk about the classical algorithms and classifications on every little problem. I have the patience to say, do you have the patience to listen.

In "SLAM for Dummy", there is a good saying: "SLAM is not an algorithm, but a concept." (SLAM is more like a concept than a single algorithm.) "So you can talk to your mentor, your brother (and sister, if you have one) and say you're studying SLAM, but, as a colleague, I might be more concerned: you are studying which of the slam is a problem. Some researchers focus on the implementation of a specific slam system, while more people are studying the improvement of some methods in slam. The people who do the application and the theory tend to look down on each other, but both contribute to the research. As a graduate student, I suggest you catch a small problem in slam to see if you can improve or compare existing algorithms. Don't think this kind of thing is superficial, it is actually helpful and meaningful to the research. At the same time, I also have some friends, do a slam based on the filter/graph optimization implementation. The program is running, but he/she does not know what contributions they have, delve into which questions, and when writing a paper it is a headache. So, as a graduate student, I suggest you choose one of the problems in slam to improve the algorithm, rather than finding a bunch of programs to run.

So here's the question: what can be studied in slam? I have a brain map for everyone.

This picture is taken from my notebook (please do not spit and focus). You can see that with the slam as the center, there are five loops connected to it. I call it basic theory (basic theory), Sensor (sensor), Mapping (map), loop detection (loopback detection), Advanced Topic (advanced issues). This can be said to be the research direction of slam. Below we "flower open five, each table one". 2. Basic theory

The basic theory of Slam refers to its mathematical modelling. Which is how you use mathematical models to express this problem. Why do you say it is "basic"? Because the mathematical model affects the performance of the whole system, it determines the processing method of other problems. In earlier studies (86 [1] to early 21st century [2]), the mathematical model of Kalman filter was used. The robot there is a time series of poses, and a map is a collection of road punctuation. What is a set of signpost points. is to use (x,y,z) to represent each signpost, and then in the filter update process, let these three numbers slowly converge.

Well, how about this model?

The advantage is that the filter can be directly applied to solve the problem. Kalman filter is a very mature theory, more reliable.

Shortcomings. First of all, the filter has what shortcomings, based on its slam have what shortcomings. Therefore, the linearization assumption of EKF, Ah, must store the covariance matrix of resource consumption Ah, has become a disadvantage (later in the article will be introduced). What's more intuitive, then, is to use (x,y,z) to denote a signpost. What if the Signpost changes? We don't usually move the table chairs in the house. At that time the filter was hung. So, it doesn't apply to dynamic situations.

This limitation is the result of the mathematical model itself, which has nothing to do with other algorithms. If you want to run slam in a dynamic environment, you need to use other models or improve your existing models.

The basic theory of Slam has always been divided into two kinds: Filter and optimization method. The filter has extended Kalman filter (EKF), particle filter (PF), Fastslam and so on, which appeared earlier. The idea of Pose graph, which is optimized for direction, is described in previous articles. In recent years, with the gradual increase of optimization, and the filter aspect in 13, based on random finite set method [3], but also a new wave [4]. As for the details of these methods, we will discuss them in future articles.

As slam researchers, there should be a general understanding of the basic theories and the pros and cons, although their implementations can be very complex. 3. Sensor

Sensors are the way robots perceive the world. The selection and installation of the sensor determine the concrete form of the observation equation, and it also affects the difficulty of the slam problem to a great extent. The early slam used laser sensors more than the lasers Range Finder, and now uses more visual cameras, depth cameras, sonar (underwater) and sensor fusion.    I think there are several points to be found in this direction: How to use a new sensor for slam. To know that the sensor is constantly developing, there are always new things will come out, so this research certainly will not be broken.    The effect of different installation methods on Slam. For example, a camera, a top view (looking at the ceiling) and a slam (look at the floor) are much easier than the head-up. Why it's easy. Because the top/bottom view of the data is very stable, not like the head, to be affected by various things interference. Of course, you can also study other installation methods.        Improved data processing for traditional sensors. This is a bit difficult because there are a lot of people using the sensor, and the improvements you make are not necessarily better than the existing methods. 4. Map Building

To build a picture, as implies, is how to draw a map Bai. In fact, if you know the true trajectory of the robot, drawing a map is very simple thing. However, the specific form of the map is also one of the research points. For example, the following are common: road map.

The map is made up of a bunch of signposts. This is the map in the EKF. But some people say, is this really a map (what are these bits and pieces?). So while the road map is convenient, most people are not satisfied with it, at least it doesn't look like a map. So there's a dense map (dense maps). Metric maps (Metric map)

Usually refers to the 2d/3d grid map, that is, the common Black-and-white/point cloud Map. Point cloud Map is cool, very kind of high-tech feeling. It has the advantage of high precision, such as 2D maps can use 0-1 to indicate whether a point can be passed, is useful for navigation. The disadvantage is to eat quite a bit of storage space, especially the big one, all the space points are saved up, but most of the points in the corner in addition to the beautiful point is not what it means ...

Topological maps (topological map)

A topological map is a more compact map than a metric map. It abstracts the map into "point" and "edge" in graph theory, making it more consistent with human thinking. For example, I want to go to five crossings, do not know the road, to ask others. That person certainly does not say, you first walk forward 621 meters, turn left 94.2 degrees, walk 1035 meters again ... (This is crazy). Normal people will say, go forward to the second intersection, turn left, go to the next traffic lights, and so on. This is the topological map. Mixed map.

Since there are people who want to classify, it is certain that someone wants to rub together all kinds of benefits. That's not much to say. 5. Loop detection

Loop detection, also known as Closed loop detection (loop closure detection), refers to the ability of a robot to recognize a scene. If the detection is successful, the cumulative error can be significantly reduced.

Loop detection at present more using the word bag model (Bag-of-word), the study of computer vision students will certainly not unfamiliar. It is essentially a problem of detecting the similarity of observational data. In the lexical bag model, we extract the features of each image, cluster their eigenvector (descriptor), and set up a class database. For example, the eyes, nose, ears, mouth and so on (actually not so advanced, basically some edge and angle). Let's say there are 10,000 classes. Then, for each image, you can analyze which classes it contains in the database. With 1 means there is, with 0 means none. So, the image can be expressed as a vector of 10000 dimensions. and different images, just compare their vectors.

Loop detection can also build a model identification problem, so you can also use a variety of machine learning methods to do, such as what decision Tree/SVM, you can try deep Learning. However, real time testing is required, and there is not as many times as you need to train the classifier. So slam more emphasis on online learning methods. 6. Advanced Topics

The front is the foundation of the slam, only "positioning" and "Build the map" two things. The two things have been done better today. In recent years rgb-d slam[5], svo[6], Kinect fusion[7, etc., have made a very bright effect. But slam has not yet entered into the real life of people. Why, then?

Because the actual environment is often very complex. The lights will change, the Sun Dongsheng West, and constantly someone from the door inside and out, not a quiet empty room, let a robot to 2cm/s speed slowly stroll. The seemingly cool algorithm in the paper is often stretched out in the real world. The challenge to the real environment is the main direction of slam technology, which is what we call a high-level topic. Mainly include: Dynamic scene, semantic map, Multi-robot collaboration and so on. 7. Summary

This paper introduces the various research points in slam. I do not want to write it as a summary, because no one is willing to read a bunch of references, I would like to write it in the form of a small story.

Finally, let's imagine the Future Slam:

One day, the radish was ushered into a new experimental building. After a brief self-introduction, he quickly wandered around the building, remembering where the corridor was and where the room was. He deliberately observed the items peculiar to each room in order to distinguish between these seemingly similar rooms. Then he went back to the scientist and assisted him in his research. At times, scientists would ask him to look for someone in the house, find information, and sometimes take him to the newly installed equipment and equipment. When there is nothing to do, the radish will wander around the building to see what has changed in those houses. Every time a new visitor arrives, the radish will show them the floor plan in the building, introduce them to each floor, and guide them. Everyone likes radishes very much. and radishes understand that all this is the result of the SLAM researchers have been exploring over the past few decades.

References:

[1]. Smith, r.c. and P. Cheeseman, on the representation and estimation of Spatial uncertainty. International Journal of Robotics, 1986. 5 (4): P. 56--68.

[2]. Se, S., D. Lowe and J. Little, Mobile robot localization and mapping with uncertainty using scale-invariant visual Landmarks. The international Journal of Robotics, 2002. (8): P. 735--758.

[3]. Mullane, J., et al., A random-finite-set approach to Bayesian SLAM. IEEE Transactions on Robotics, 2011.

[4]. Adams, M., et al., SLAM Gets a phd:new concepts in Map estimation. IEEE Robotics Automation Magazine, 2014. (2): P. 26--37.

[5]. Endres, F., et al., Mapping with a rgb-d Camera. IEEE Transactions on robotics, 2014. (1): P. 177--187.

[6]. Forster, C., M. Pizzoli and D. Scaramuzza, svo:fast semi-direct monocular visual odometry. 2014, IEEE. P. 15--22.

[7]. Newcombe, R.A, et al., Kinectfusion:real-time dense surface mapping and tracking. , IEEE. P. 127--136.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.