从零入门激光SLAM(五)——手把手带你编译运行Lego_loam

这篇具有很好参考价值的文章主要介绍了从零入门激光SLAM(五)——手把手带你编译运行Lego_loam。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。博主创建了一个科研互助群Q:772356582,欢迎大家加入讨论。

经过前几次课的讲述,你已经知道了SLAM是干嘛的,以及一些Ubuntu和ROS的简单使用,最重要的是学会了如何编译C++工程。那就先来编译一个Lego_loam代码并运行它吧,你跑通的第一个SLAM算法。

lego loam运行,从零入门激光SLAM,人工智能,SLAM

1. 下载源码

mkdir -p ~/lego_loam/src
cd ~/lego_loam/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..

现在你catkin_make编译会报错,因为你并没有装任何的第三方依赖库。

2. 安装依赖

2.1 ROS包

打开其CMakelists.txt文件,可以看到需要这些依赖,一般catkin REQUIRED COMPONENTS后面跟的都可以直接使 用sudo apt-get install ros-noetic-***进行安装。(noetic为自己的ros版本名称)

find_package(catkin REQUIRED COMPONENTS
  tf
  roscpp
  rospy
  cv_bridge
  image_transport

  pcl_ros
  pcl_conversions

  std_msgs
  sensor_msgs
  geometry_msgs
  nav_msgs
  cloud_msgs
)

find_package(GTSAM REQUIRED QUIET)
find_package(PCL REQUIRED QUIET)
find_package(OpenCV REQUIRED QUIET)

2.2 第三方库

剩下的Gtsam,pcl,opencv为第三方库,一般需要手动源码安装。opencv和pcl ubuntu提供了安装命令,但这样安装有时会出现版本不对应的情况,所以也推荐源码安装,网上教程很多,这里不再赘述。

sudo apt-get update
sudo apt-get install libopencv-dev
sudo apt-get install libpcl-dev

安装gtsam优化器 

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

3. 编译运行

3.1 编译

在所有需要的依赖都安装完成后,现在可以编译了

cd ~/lego_loam
catkin_make -j1

 当第一次编译代码时,需要在“catkin_make”后面添加“-j1”以生成一些消息类型。将来的编译不需要“-j1”。编译时出现错误,找不到Cmake文件,则需要在路径中添加相应的环境变量

3.2 运行

编译没有错误后,就可以运行代码了

source devel/setup.bash
roslaunch lego_loam run.launch

运行数据包,一定要加--clock时间,这样才能生成完整的全局地图。

没有数据包下载下面的

链接: https://pan.baidu.com/s/1IYCjdN_BokYkvlckQikgWw?pwd=jqix 提取码: jqix 

rosbag play 3-1.bag --clock

保存地图为pcl文件 

#转存为PCD文件 在代码建图过程中保存数据
rosbag record -o out /laser_cloud_surround

#转化为pcd文件
rosrun pcl_ros bag_to_pcd input.bag /laser_cloud_surround pcd

查看pcd文件
pcl_viewer xxxxxx.pcd

如果你看到这里,恭喜你在基本什么都不会的情况下运行了一个SLAM代码,开启了科研第一步。文章来源地址https://www.toymoban.com/news/detail-797982.html

到了这里,关于从零入门激光SLAM(五)——手把手带你编译运行Lego_loam的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包