当前位置:网站首页>A detailed explanation of the laser slam framework logo-loam
A detailed explanation of the laser slam framework logo-loam
2022-06-24 02:06:00 【3D vision workshop】
The authors introduce :Zach, Mobile robot practitioners , Love the mobile robot industry , Aspire to science and technology to help a better life .
LOAM The problem is
LeGO-LOAM Its full name is :Lightweight and Groud-Optimized Lidar Odometry and Mapping on Variable Terrain, It can be seen from the title that LeGO-LOAM Coping with Variable ground Ground optimization has been carried out , At the same time, it ensures lightweight .
LeGO-LOAM It is specially designed for ground vehicles SLAM Algorithm , It is required to install Lidar It can be installed horizontally on the vehicle ; If the installation is inclined , It is also necessary to convert the position and posture to the vehicle . and LOAM Yes Lidar There is no requirement for the installation method of , It doesn't matter if you hold it .
The author's experimental platform is a mobile car (UGA), There's a Velodyne VLP-16 Line lidar , It is also equipped with a low precision IMU; The selected hardware platform is Nvidia Jetson TX2(ARM Cortex-A57 CPU); The overall load is 20Kg; Moving speed is :2.0m/s; The test scenario is : The ground is uneven ( It's bumpy ) Grass of .
chart 1 Hardware platform
LOAM The framework will have some problems in such hardware environments and usage scenarios :
- Because it is equipped with an embedded system , Computing power will be limited ,LOAM The computational needs of will be difficult to meet , As a result, real-time ;
- If you use LOAM frame , The system calculates the processing frequency of the curvature of each point ( Large amount of data ,VLP-16 One line is 1800 A little bit ) It will be difficult to keep up with the update frequency of the sensor ;
- UGA The road surface is non smooth and continuous ( Sports are bumpy ), The collected data will be distorted ( Motion distortion , The uniform motion model cannot be applied to the bumpy scene ), Use LOAM It is difficult to find a reliable feature correspondence between two frames .
- Operate in a noisy environment UGV I will LOAM Bring some challenges , for example : The point cloud of floating grass and swinging leaves will be wrongly extracted as corner points or face points , These characteristics are not reliable , It is difficult to obtain accurate matching between successive frames , This will cause large drift .
LeGO-LOAM Design idea
The registration of ground point cloud mainly uses the features of surface points ; In the segmented point cloud registration, the edge points and face points are mainly used . It can be seen that the number of edge points is much smaller than that of plane points , This is also the main reason for the acceleration .
LeGO_LOAM Software system input for 3D Lidar Point cloud of , Output 6 DOF Pose estimation . The whole software system is divided into 5 Parts of :
- The first part :Segmentation: The main operation of this part is to separate the ground point cloud ; At the same time, cluster the remaining point clouds , Filter out a small number of point cloud clusters .
- The second part :Feature Extraction: For the segmented point cloud ( Ground point clouds have been separated ) Feature extraction of edge points and face points , This step and LOAM The operation inside is the same .
- The third part :Lidar Odometer : Between successive frames ( Edge points and face points ) Feature matching finds the pose transformation matrix between successive frames .
- The fourth part :Lidar Mapping: Yes feature Further treatment , And then in the global point cloud map Registration in .
- The fifth part :Transform Integration: Transform Integration Integrated from Lidar Odometry and Lidar Mapping Of pose estimation Output the final pose estimate.
LeGO-LOAM Algorithm details
chart 3 In a noisy environment scan Feature extraction process of
A. Segmentation
After extracting ground points , And the rest of it Distance image Clustering ( Clustering ), The number of filtered point clouds is less than 30 Point cloud cluster of , Assign different labels to the retained point cloud clusters . Ground point cloud belongs to a special kind of point cloud cluster ( We extracted it from the beginning ). Cluster and reprocess the point cloud , It can improve the running efficiency and extract more stable features . for example , The car runs in a noisy environment , Leaves will produce unreliable features , The same leaf is unlikely to be seen in two consecutive frame scans . chart 3(a) Is the original point cloud , Contains many vegetation point clouds ; After processing, it becomes a graph 3(b), Only the big object point cloud is left , for example : trunk . The ground point cloud will be retained for further processing . here , Each retained point will have three properties :(1) Label of point cloud ;(2) stay Distance image Number of rows and columns in ;(3) Distance value .
B. Feature Extraction
This step is mainly to extract features from the ground point cloud and the segmented point cloud , And LOAM Same operation in . It is mainly necessary to understand the concept of several feature point sets .
In order to extract features uniformly from all directions , We will Distance image Divide horizontally into several equal sub images , take 360° Divide evenly 6 Equal division , The precision of each bisection is 300 \times 16( because VLP-16 Line Lidar, One scan yes 1800 A little bit ).
Calculate the curvature value of each line of points in the subgraph , Sort the curvature values ,> Cth, It is divided into edge point features ;< Cth It is divided into facial features . Set up the following sets ( The sentences in this part of the paper are similar , Here is my personal understanding , May not be accurate ):
C. Lidar Odometry
1)Label Matching:LeGO-LOAM Cluster the point cloud , Different point cloud clusters have different Label.Label Information can be used as a constraint condition for two frame matching , Only the same label point cloud cluster can be registered between two consecutive frames . This method can improve the accuracy and efficiency of registration .
D. Lidar Mapping
LeGO-LOAM Performance of
The author is testing LeGO-LOAM Performance of , A series of experiments were designed to compare LeGO-LOAM and LOAM Performance .
The author is in small and large outdoor scenes , Respectively for LeGO-LOAM and LOAM The test platform performs intense and gentle control , To see the mapping effect and efficiency of both .
During the intense movement of the small scene :LOAM Will pull the grass 、 Leaves are extracted as edge points ( Grass and leaves are the main sources of instability ); and LeGOU-LOAM Will filter out these unstable features , Only in the trunk , ground , Extracting stable features from steps, etc . As shown in the figure below ( Green is the edge point , Pink is pastry ):
stay LOAM In the frame , Violent movement is easy to cause the divergence of point cloud map , As shown in the figure below (a)LOAM, There are three tree trunks .
The author is in the urban environment of the big scene ( It's a school , The altitude error of different locations is 19m within ) A variety of tests are also carried out to verify the accuracy of the drawing , There are sidewalks , Cement road , Dirt roads and grass .
LOAM The effect of drawing on the sidewalk is not good , It may be the interference of tree leaves at one end , As shown in the figure below :
In the other three scenarios ,LeGO-LOAM The deviation of ( The deviation of the end point from the initial position ) Perform better than LOAM.
The results of the whole test are as follows :
- Comparison of the number of feature points :LeGO-LOAM The overall decline of feature points exceeds :29%,40%,68%,72%.
- Comparison of iterations : The number of iterations of odometer is reduced 34%,48%.
- Run time comparison : To reduce the 60%
- Posture error comparison :LeGOLOAM Comparable or better position estimation accuracy can be achieved with less computation time .
Reference material
- https://github.com/RobustFieldAutonomyLab/LeGO-LOAM
remarks : The author is also us 「3D Vision goes from beginner to proficient 」 Special guests : A super dry 3D Visual learning community
This article is only for academic sharing , If there is any infringement , Please contact to delete .
边栏推荐
- Easycvr connects with Huawei IVS platform to query the foreign domain list interface definition and use sharing
- What is the cloud desktop server configuration? What are the application scenarios of cloud desktop?
- Global and Chinese alumina nanoparticle market scale and Development Trend Outlook report 2022-2028
- SAP WM displays the standard report lx09 of TR item
- Kubesphere upgrade & enable plug-ins after installation
- How to query the cloud desktop server address? What are the advantages of using cloud desktop?
- Live broadcast of the double 11 King bombing! Must buy good things introduction, come on~
- Five things programmers need to consider when developing with low code – thenewstack
- Tencent cloud double 11 Live Room activity rules
- SAP mm UB type sto cannot be transferred to vendor consignment inventory?
猜你喜欢

application. Yaml configuring multiple running environments

layer 3 switch

Review of AI hotspots this week: the Gan compression method consumes less than 1/9 of the computing power, and the open source generator turns your photos into hand drawn photos

Stm32g474 infrared receiving based on irtim peripherals

If there are enumerations in the entity object, the conversion of enumerations can be carried out with @jsonvalue and @enumvalue annotations

163 mailbox login portal display, enterprise mailbox computer version login portal

Introduction to development model + test model

BIM model example

How to fill in and register e-mail, and open mass mailing software for free
随机推荐
5、 Array base
[new features] Tencent cloud lightweight ECS will soon support attaching data disks!!!
Grp: implement GRP timeout interceptor
Looking at the future development direction of industrial Internet from the transformation of circulation links of large building materials
Tcapulusdb Jun · industry news collection
How to generate EAN13 serial number barcode
Five things programmers need to consider when developing with low code – thenewstack
Fulleventlogview does not display some event ID contents
Review of AI hotspots this week: the Gan compression method consumes less than 1/9 of the computing power, and the open source generator turns your photos into hand drawn photos
Research Report on global and Chinese titanium concentrate market scale and investment prospects 2022-2028
Benchmarking Shopify? Similarities and differences between "two giants" of Chinese e-commerce SAAS and Weimeng
[JS reverse hundred examples] md5+aes encryption analysis of an easy payment password
[technical grass planting] how to batch check your server status? Cloud probe panel setup tutorial
application. Yaml configuring multiple running environments
Network engineers must know the 10 technical points of IPv6. It is recommended to collect them!
LeetCode 1289. Descent path min and II
Frequent screen flashing after VNC login - abnormal system time
5、 Build freestyle projects and related knowledge
SAP WM displays the standard report lx09 of TR item
Analysis report on market development trends and innovation strategies of China's iron and steel industry 2022-2028