当前位置:网站首页>Laser slam:logo-loam --- code compilation, installation and gazebo test
Laser slam:logo-loam --- code compilation, installation and gazebo test
2022-07-28 20:49:00 【The moon shines on the silver sea like a dragon】
laser slam:LeGO-LOAM--- Code compilation and installation gazebo test
LeGO-LOAM brief introduction
LeGO-LOAM Our English full name is lightweight and ground optimized lidar odometry and mapping. Lightweight lidar odometer with ground optimization and mapping 
The framework is as follows , In general, and LOAM It's consistent 
LeGO-LOAM Is based on LOAM Improved version , Its main purpose is to realize the positioning and mapping of the car under changeable terrain , A series of improvements have been made for both the front end and the back end .
In the original LOAM For example, the application scenario is :AGV Driving in the grass , Points in the grassland will probably be extracted as corners , But this kind of point is unstable , Compared with buildings 、 Stable corners such as trunk , I hope to remove the corners on the ground .
LeGO-LOAM More lightweight , Reduce the calculation load without affecting the accuracy , It ensures the real-time performance of the embedded platform
comparison LOAM Improvements
front end :
- 1 Classify and extract ground points , Avoid the extraction of some edge points
- 2 A simple point cloud clustering algorithm is applied , Eliminate some possible outlier
- 3 Solve the front-end odometer in two steps , Reduce the calculation load without affecting the accuracy , It ensures the real-time performance of the embedded platform
Back end :
- 1 Use slam The back-end part is reconstructed with the concept of key frame in
- 2 The concepts of loop detection and pose map optimization are introduced , Make the global consistency of the map better
LeGO-LOAM Code compilation installation
github The address is :https://github.com/RobustFieldAutonomyLab/LeGO-LOAM
Has been tested ROS Version has :
- indigo
- kinetic
- melodic
Its dependent libraries are gtsam. So you need to install it first gtsam
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
sudo make install
cmake It can be changed into the following instructions
cmake -DGTSAM_BUILD_EITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON ..
The purpose is to set some macros
DGTSAM_BUILD_EITH_MARCH_NATIVE Is open css Accelerated macros , To shut down . Avoid other libraries ( such as PCL Or your own code ) If it's not turned on , It will cause abnormal conditions during operation
DGTSAM_USE_SYSTEM_EIGEN This is installed with the system eigen Compiled macro , To turn on .OFF Yes, I can gtsam Self contained eigen, There are two versions of code running eigen It's easy to go wrong
Then download LeGO-LOAM Of ROS Function pack
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
And then on ROS Working space for
Then compile , Be careful The first compilation should use
catkin_make -j1
You don't need to compile later -j1 了
The reason for this is LeGO-LOAM There are some customized msg.
-j1 Will be compiled by single thread . Put custom msg Compile to .
If you use it directly catkin_make According to how many cores the computer has , Compile several threads .
If the compilation is successful, it will generate LeGO-LOAM Of Executable file 
LeGO-LOAM Gazebo test
Here's a direct build gazebo Test scenarios Yes LeGO-LOAM Conduct a preliminary test
Before running, it needs to be based on The type of lidar used , stay utility.h Set some variables in the file
The location of the file is include Under the folder :
Point cloud of lidar Topic name
extern const string pointCloudTopic = "/velodyne_points";
The parameters of lidar include
- Wire harness
- Horizontal points
- Horizontal corner resolution
- Vertical angle resolution
- Angle with horizontal direction
- The number of laser lines scanned to the ground
stay gazebo The simulation scenario built in is used Velodyne-16 Laser radar of , Its configuration is as follows :
// VLP-16
extern const int N_SCAN = 16;
extern const int Horizon_SCAN = 1800;
extern const float ang_res_x = 0.2;
extern const float ang_res_y = 2.0;
extern const float ang_bottom = 15.0+0.1;
extern const int groundScanInd = 7;
And then run in launch Under folder run.launch file
Then start the simulation scenario , Do a preliminary test
The result is as follows :

stay rviz The medium green is the corner , The pink one is pastry
There is no abnormality in feature extraction 
Construction of drawings
边栏推荐
- Subcontracting loading of wechat applet
- Cartoon JS shooting game source code
- Clock distribution of jesd204 IP core (ultrascale Series)
- [server data recovery] HP StorageWorks series storage RAID5 two disk failure offline data recovery case
- 动态规划:背包问题模板代码汇总
- 使用ORDER BY 排序
- 十七年运维老兵万字长文讲透优维低代码~
- 云原生编程挑战赛火热开赛,51 万奖金等你来挑战!
- NAT实验演示(Huawei交换机设备配置)
- How to make the design of governance structure more flexible when the homogenization token is combined with NFT?
猜你喜欢

Unity object path query tool
![Teach you how to draw a map with ArcGIS [thermal map]](/img/16/993da4678667884a98e1d82db37d69.png)
Teach you how to draw a map with ArcGIS [thermal map]

TCP.IP

How bad can a programmer be? Nima, they are all talents

卡通js射击小游戏源码

漂亮的蓝色背景表单输入框样式

Explain rigid body and collider components in unity

LVS deployment Dr cluster

Shanghai Jiaotong University joined hands with Taobao to set up a media computing laboratory: promoting the development of key technologies such as video super score

Redis入门一:Redis实战读书笔记
随机推荐
瀚高数据库最佳实践配置工具HG_BP日志采集内容
[task01: getting familiar with database and SQL]
EasyNLP中文文图生成模型带你秒变艺术家
Speech controlled robot based on ROS (I): realization of basic functions
类与对象(中)
LVS+KeepAlived高可用部署实战应用
[C语言刷题篇]链表运用讲解
Hangao database best practice configuration tool Hg_ BP log collection content
[complete collection of common ADB commands and their usage (from a comprehensive summary of [wake up on Sunday)]
js飞入js特效弹窗登录框
Leetcode:2141. The longest time to run n computers at the same time [the maximum value is two points]
到底为什么不建议使用SELECT * ?
About the title of linking to other pages
Subcontracting loading of wechat applet
Redis 3.0源码分析-数据结构与对象 SDS LIST DICT
Unity package exe to read and write excel table files
Redis 3.0 source code analysis - data structure and object SDS list Dict
Talking about canvas and three rendering modes in unity
JS chart scatter example
Oracle library access is slow. Why?