当前位置:网站首页>Laser slam learning (2d/3d, partial practice)
Laser slam learning (2d/3d, partial practice)
2022-07-07 23:45:00 【Sell pigs inside】
---------------------------------------------- Source of learning materials --- Deep Blue College --------------------------------------------------
Catalog
1、 laser SLAM Brief introduction
1.1.1 map --> odom --> base_footprint --> base_link --> laser_link Of tf Tree relationships
1.1.2 odom Role and understanding of
1.1.3 Why not directly from map --> base_link Publish the information ?
1.1.1 Eigen::Vector3d and Eigen::Matrix3dA
2、 Sensor data processing I: Odometer motion model and calibration
3、 Sensor data processing II: Lidar mathematical model and motion distortion removal
3.1 Introduction to the principle of lidar Sensor
3.3 Motion distortion removal —— Sensor assist
3.3.1 IMU Advantages and disadvantages of wheel odometer
3.3.2 Why is lidar data CPU On the processing rather than on the single-chip processor ?
4、 laser SLAM Front end registration method
5、gmapping—— Filter based laser SLAM Method (Grid-based)
6、cartographer—— Laser simulation based on graph optimization SLAM Method (Grid-based)
7、 Mapping based on known location
1、 laser SLAM Brief introduction
1.1 tf Trees
1.1.1 map --> odom --> base_footprint --> base_link --> laser_link Of tf Tree relationships
1、 World coordinates (map)
The map The coordinate system is a world fixed coordinate system , Its Z The axis points up . Typical settings , Positioning module ( Sensors such as wheel odometer ) Constantly recalculate the pose of the robot in the world coordinates , So as to eliminate the deviation , But when the new sensor information arrives, it may jump .
2、 Odometer coordinate system (odom)
odom The coordinate system is calculated based on the ranging source , Such as wheel odometer , Visual odometer or inertial measurement unit .
3、 Base mark (base_footprint)
Default Z Coordinate for 0, That is, close to the ground . But the actual situation is generally not like this .
base_footprint Robot base_link The projection of the origin on the ground , difference base_link The reason is that “z” The coordinates are different . Generally, in order that the model does not fall into the ground ,base_footprint Of “z” Coordinate ratio base_link high . The green frame indicated by the blue arrow is base_footprint.
4、 Base mark (base_link)
base_link It is a coordinate system fixed on the robot body , Usually choose robot waist ; It is generally set as the rotation center of the robot , That is, the middle axle between the two wheels .
Here is an important default :move_base Default base_link Of z Coordinate for 0. That is, the position of the robot in the map is determined by base_link. Therefore, the general default is base_link The coordinate system of the robot body set for positioning .
base_link difference base_footprint The reason is that “z” The coordinates are different , The former is higher than the latter .
5、 Radar coordinate system (laser_link)
Measure according to the actual installation position , modify tf Release parameters of .
1.1.2 odom Role and understanding of
“odom and map The coordinate system coincides at the beginning of robot motion . however , It doesn't coincide with the passage of time , The deviation is the cumulative error of odometer . that map-->odom Of tf It is in the cooperation of some correction sensors package such as gmapping Will give a location estimate (localization), This can get map-->base_link Of tf, So the deviation between the estimated position and the odometer position is odom And map Coordinate system deviation . therefore , If your odom There is no error in the calculation , that map–->odom Of tf Namely “ As shown in the figure below :
1.1.3 Why not directly from map --> base_link Publish the information ?
The navigation stack must have map To base_link Transformation of , Some local planners also require /odom
Reference blog :
1.2 slam Common functions
1.1.1 Eigen::Vector3d and Eigen::Matrix3dA
First Eigen Is an open source based on c++ Matrix operation library .
Eigen::Ref< Eigen::Matrix3d > in “Matrix3d” Representing one 33 The type of double Matrix ,Ref<> For reference type , So this statement means Yes 3*3 Reference object of matrix ; Empathy ,Vector3d The length is 3 The type of double Vector .
boolcompute_C(Eigen::Ref<Eigen::Matrix3d>A_,Eigen::Ref<Eigen::Vector3d>B_). It should declare a function , There are two parameters , The first is called A Matrix , The second is called B Vector . To avoid copying and temporary values , So use the Ref<>.Ref The usage of can be understood as Pass by reference .
2、 Sensor data processing I: Odometer motion model and calibration
3、 Sensor data processing II: Lidar mathematical model and motion distortion removal
3.1 Introduction to the principle of lidar Sensor
3.2 Motion distortion
resolvent :ICP、VICP wait
3.3 Motion distortion removal —— Sensor assist
3.3.1 IMU Advantages and disadvantages of wheel odometer
3.3.2 Why is lidar data CPU On the processing rather than on the single-chip processor ?
4、 laser SLAM Front end registration method
5、gmapping—— Filter based laser SLAM Method (Grid-based)
6、cartographer—— Laser simulation based on graph optimization SLAM Method (Grid-based)
7、 Mapping based on known location
8、3D laser SLAM Introduce
Reference link :SLAM Summary of common coordinate systems :_Zack_Liu The blog of -CSDN Blog _slam Coordinate system
边栏推荐
猜你喜欢
SAP HR labor contract information 0016
DataGuard active / standby cleanup archive settings
Balanced binary tree [AVL tree] - insert, delete
Chisel tutorial - 04 Control flow in chisel
受限线性表
Installing gradle
How did a fake offer steal $540million from "axie infinity"?
SAP HR social work experience 0023
C number of words, plus ¥, longest word, average value
UIC564-2 附录4 –阻燃防火测试:火焰的扩散
随机推荐
SAP HR labor contract information 0016
webflux - webclient Connect reset by peer Error
BSS 7230 航空内饰材料阻燃性能测试
0-1背包问题
Anxin vb01 offline voice module access intelligent curtain guidance
Learn about scratch
2022 certified surveyors are still at a loss when preparing for the exam? Teach you how to take the exam hand in hand?
May day C - most
SAP HR social work experience 0023
Take you hand in hand to build feign with idea
保证接口数据安全的10种方案
Aitm3.0005 smoke toxicity test
Chisel tutorial - 02 Chisel environment configuration and implementation and testing of the first chisel module
Restricted linear table
Go time package common functions
Open source hardware small project: anxinco esp-c3f control ws2812
P5594 [xr-4] simulation match
【7.4】25. Turn over the linked list in groups of K
Anti climbing means cracking the second
C method question 2