Lecture 14 on Visual SLAM (Gao Xiang version), some notes in chapters ch1-2

Purpose: Recently watching the slam module, Gao Xiang version of the video, very good video (theory and practice), write down some important content. The second time to add other content.

ch12, the first chapter, it mainly talks about the application of slam.
First, I talked about some book recommendations:
1: The Bible: Multiple View Geometry in Computer Vision
2: State Estimation for Robotics: A Matrix-Lie-Group Approach
3: Probabilistic Robotics
These books, I haven’t read them, I will probably pick a book when I have time in the future take a look.

SLAM mainly revolves around two major issues: positioning; mapping.
Positioning: where I am;
Mapping: what the surroundings look like.

The current research is presented later. slightly.

Introduce the overall framework of SLAM
insert image description here

Among them,
the first paragraph: mainly introduces the relative motion of the camera between nearby frames. (Drift error) mainly include feature point method and direct method.
Backend: Because there is an error between the front-end frames, loopback detection is required, and the front-end modules are optimized. There are mainly EKF and graph optimization.
Mapping: It is an option, mainly to densify the sparse point cloud calculated by slam. Metric maps; topological maps; sparse maps; dense maps, etc.

Based on the above two problems, SLAM has a very useful mathematical description framework, which is very important. It includes motion equations and observation equations: motion equation (
describing where I am):
discrete time: t = 1 , 2 , 3 , . . . , kt=1,2,3,...,kt=1,2,3,...,k
位置: x 1 , x 2 , . . . , x k x_1,x_2,...,x_k x1,x2,...,xk
The above variables are regarded as random variables, which obey the probability distribution.
Based on the above variables, the equation of motion is established as:
xk = f ( xk − 1 , uk , wk ) ( 1 ) x_k=f(x_{k-1},u_k,w_k) \space \space \space (1)xk=f(xk1,uk,wk) ( 1 )   
wherexk − 1 x_{k-1}xk1Generally, it is the position at the last moment; uk u_kukis input (it depends); wk w_kwkfor noise.

What does the surrounding look like (observation equation):
landmarks (three-dimensional space points): y 1 , y 2 , . . . yn y_1,y_2,...y_ny1,y2,...yn
sensor at position xk x_kxkAt , observe the road sign yj y_jyj
Observation equation:
z ( k , j ) = h ( xk , yj , v ( k , j ) ) ( 2 ) z_(k,j)=h(x_k,y_j,v_(k,j)) \space \space \space (2)z(k,j)=h(xk,yj,v(k,j))   (2)

The mathematical model established from the above framework is that the sensor at xk x_kxk, see road yj y_jyj. In general application is the camera at xk x_kxkAt , see a sparse point cloud yj y_jyj. very much in line with human cognition.

Therefore, the overall framework is
{ xk = f ( xk − 1 , uk , wk ) ( 1 ) z ( k , j ) = h ( xk , yj , v ( k , j ) ) ( 2 ) \begin{cases} x_k= f(x_{k-1},u_k,w_k) \space \space \space (1) \\ z_(k,j)=h(x_k,y_j,v_(k,j)) \space \space \space (2) \end{cases}{ xk=f(xk1,uk,wk)   (1)z(k,j)=h(xk,yj,v(k,j))   (2)
Understanding the above formula can understand SLAM as a whole.

Follow-up introduces the basics of how to compile files under linux, and the simple use of cmake for the use of subsequent slam projects. It is recommended to do it again.

One last thing about kdevelop installation, it's very simple:
open a terminal, and type:

wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5.6.1/bin/linux/KDevelop-5.6.1-x86_64.AppImage

After downloading kdevelop, directly modify the permission of the downloaded file:

chmod +x KDevelop.AppImage

Finally install the file KDevelop.AppImage:

./KDevelop.AppImage

The specific process of installation is as follows:
insert image description here
This integrated platform is very easy to use in Linux, which is not much different from VS in Windows. It may require CMakeLists.txt to understand. Follow up for CMakeList.txt.

Guess you like

Origin blog.csdn.net/weixin_43851636/article/details/126196268