当前位置:网站首页>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 tf Trees

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.2 slam Common functions

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.2 Motion distortion

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



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 :

9676334-9e9be0202177671a

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 :

map odom base_link Popular understanding of the relationship between the three _TYINY The blog of -CSDN Blog _base_link

ROS in map、odom、base_link Understanding of the relationship between equal coordinate systems _ Network kill 108 The blog of -CSDN Blog _map odom

ROS、base_footprint and base_link The difference and Gazebo Summary of pits encountered in differential car modeling _yjj1227033506 The blog of -CSDN Blog _base_footprint


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

 

原网站

版权声明
本文为[Sell pigs inside]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207072113309536.html