Lego-LOAM和LIO_SAM的使用及地图的处理


lego-loam和lio-sam的使用

本文记录一下lego-loam和lio-sam在使用中遇到的一些问题。


一、lego-loam

1.安装编译

Ubuntu16.04下安装gtsam需要源码编译安装(二进制安装可以的话就不用源码编译了)

编译gtsam 方案1

git clone https://bitbucket.org/gtborg/gtsam.git
cd gtsam
mkdir build && cd build
cmake ..
sudo make install

下载安装之后,在编译lego-loam过程中会出现报错情况:

	Invalid arguments to find_dependency
	/usr/local/lib/cmake/GTSAMConfig.camke:17(find_dependency)
	LeGO-LOAM/LeGO-LOAM/CMakeLists.txt:23(find_package)

解决方案:

cd /usr/local/lib/cmake/GTSAMGT
sudo gedit GTSAMConfig.cmake
将17行的find_dependency修改为find_package

编译gtsam 方案2(Lego-loam github给出的方案,未测试)

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

ubuntu18.04下命令行安装gtsam

sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install libgtsam-dev libgtsam-unstable-dev

下载编译lego-loam

cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make 

2.运行

2.1 使用bag包进行3d建图,保存点云地图

#启动lego-loam
roslaunch lego_loam run.launch
#播放bag
rosbag play XXX.bag
#保存pcd,生成许多pcd文件,最后一个为最终结果,用pcl_viewer查看
rosrun pcl_ros pointcloud_to_pcd input:=/laser_cloud_surround

2.2 使用录制好的bag包进行3d建图,并进行3d转2d栅格地图。

#启动lego-loam
roslaunch lego_loam run.launch
#运行octomap_server
roslaunch octomap_server octomap_server.launch
#播放bag
# rosbag play XXX.bag --clock --hz=2
rosbag play XXX.bag
#保存地图
rosrun map_server map_saver -f test map:=/projected_map

3.结果

以下是lego-loam运行得到的结果

3.1室内环境

在这里插入图片描述是

3.1室外环境

环境较大,转换2d地图失败,可以适当降低bag的播放频率或者增大地图的分辨率。
在这里插入图片描述

二、lio-sam

1.安装编译

命令行安装(按照作者给出的方法进行安装编译)

sudo apt-get install -y ros-melodic-navigation
sudo apt-get install -y ros-melodic-robot-localization
sudo apt-get install -y ros-melodic-robot-state-publisher

sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install libgtsam-dev libgtsam-unstable-dev
cd ~/catkin_ws/src
sudo apt install git
git clone https://github.com/TixiaoShan/LIO-SAM.git
cd ..
catkin_make

2.运行

2.1 使用bag包进行3d建图,保存点云地图

使用的是官方给的 casual_walk.bag,修改config文件,对于imu到激光雷达的坐标变换不需要修改。

savePCD: true
savePCDDirectory: "/Downloads/LOAM/"    #保存路径
sudo gedit /opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py
##将里面的 _TIMEOUT_SIGINT参数值调大,默认15
#启动lio-sam
roslaunch lio_sam run.launch
#播放bag
rosbag play casual_walk.bag

2.2 结果

也是尝试了几次才跑出来的,有时候还是会出现漂移,无法建图的问题
在这里插入图片描述
生成最终的点云图
在这里插入图片描述

2.3 点云图转2d栅格地图

使用lio-sam建图时,也可以采用最终得到的点云图进行2d栅格地图的构建,使用pcl库中的pcl::toROSMsg()将点云数据转为ros中的话题数据进行发布,然后使用octomap_server进行转换。
如图
(重影严重的地方可以后期处理,或者调整转换参数)
在这里插入图片描述

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值