当前位置:   article > 正文

Lego-LOAM和LIO_SAM的使用及地图的处理_保存2d点云地图

保存2d点云地图


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
  • 1
  • 2
  • 3
  • 4
  • 5

下载安装之后,在编译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)
  • 1
  • 2
  • 3

解决方案:

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

编译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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

ubuntu18.04下命令行安装gtsam

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

下载编译lego-loam

cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make 
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2.运行

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

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

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

2.2 结果

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

2.3 点云图转2d栅格地图

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/96228
推荐阅读
  

闽ICP备14008679号