LOAM-安装与运行

  • 引言
  • LOAM安装
  • LOAM运行
  • 结语

引言

由于最近想学习SLAM,发现LOAM是较为经典的入门算法。
于是就开始了LOAM的学习。

LOAM安装

LOAM的安装真的是一言难尽,最初是在ubuntu 18.04上安装的,后来发现一直报“multiscanregistration-2”的错误。查阅了众多帖子后,一直没有在ubuntu 18.04成功运行。建议大家要运行LOAM的话,最好自己重新装个ubuntu16.04的系统。以下是配置参数

版本
ubuntu 16.04
ros kinetic

安装完ros-kintic之后,需要卸载其默认安装pcl库,运行

sudo apt-get remove libpcl1.7
sudo apt-get remove libpcl-*

卸载原先的pcl库之后,重新安装pcl库的依赖,创建一个sh文件,运行

touch a.sh
gedit a.sh

将下列代码粘贴进a.sh文件,如下

sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev -y
sudo apt-get install cmake cmake-gui -y
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev -y
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common -y
sudo apt-get install libflann1.8 libflann-dev -y
sudo apt-get install libeigen3-dev -y
sudo apt-get install libboost-all-dev -y
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev -y
sudo apt-get install libqhull* libgtest-dev -y
sudo apt-get install freeglut3-dev pkg-config -y
sudo apt-get install libxmu-dev libxi-dev -y
sudo apt-get install mono-complete -y
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre -y

然后,运行

sh a.sh

安装完pcl库的依赖后,需要从github上克隆pcl的库,运行

git clone https://github.com/PointCloudLibrary/pcl.git

然后,编译pcl的源码,运行

cd pcl
mkdir pcl_setup
cd pcl_setup
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr ..

接着,开始编译,根据自己虚拟机设置的cpu选择运行线程数,6核是j6,8核是j8,运行

make -j8

等待十几分钟后,编译完成,运行

sudo make install

安装pcl之后,需要安装ros需要包,运行

sudo apt-get install ros-kinetic-pcl-conversions ros-kinetic-pcl-ros

进入正题,从github克隆LOAM的代码,运行

cd ~/catkin_ws/src # catkin_ws为ROS工作空间
git clone https://github.com/laboshinl/loam_velodyne.git

参考一些博客,建议将loam_velodyne/src/lib/LaserMapping.cpp的的139-153行注释掉,如下

//   if (privateNode.getParam("mapFilterSize", fParam))
//   {//      if (fParam < 0.001)
//      {//         ROS_ERROR("Invalid mapFilterSize parameter: %f (expected >= 0.001)", fParam);
//         return false;
//      }
//      else
//      {//         downSizeFilterMap().setLeafSize(fParam, fParam, fParam);
//         ROS_INFO("Set map down size filter leaf size: %g", fParam);
//      }
//   }

接着编译LOAM,运行

cd catkin_ws
catkin_make

LOAM运行

LOAM的运行需要获取激光雷达的点云数据,需要下载ROS wiki http://wiki.ros.org/loam_velodyne上无imu信息的bag,可以从百度云下在,如下
https://pan.baidu.com/s/1DO3f4a2klvb-RFpHmyZHpA 提取码: vixm
下载完bag文件后,拷贝到catkin_make文件夹下,方便找到。
用多终端terminator打开三个窗口,第一个窗口运行

cd catkin_ws
source devel/setup.bash
roslaunch loam_velodyne loam_velodyne.launch

第二个窗口运行

cd catkin_ws # 进入到bag文件位置
source devel/setup.bash
rosbag play nsh_indoor_outdoor.bag

如果上述步骤执行成功,则在rviz里看到以下画面
同时,还可以将运行的点云保存本地,在运行前两个窗口的过程中,第三个窗口运行

cd catkin_ws
source devel/setup.bash
rosbag record -o out /laser_cloud_surround

则会在所在文件夹中得到类似out_2020-12-03-23-41-19.bag的文件,需要将bag文件转换成pcd文件,运行

cd catkin_ws
source devel/setup.bash
rosrun pcl_ros bag_to_pcd out_2020-12-03-23-41-19.bag /laser_cloud_surround pcd

则会得到一个pcd的文件夹,打开可以看见一个后缀为pcd的文件,在该文件夹下,运行

pcl_viewer 1422133457.996474112.pcd # 选择pcd文件

则可以看见如下图片

结语

如果你看到这里的话,就意味着loam已经成功运行了。
学习新东西的过程总是痛苦的,与大家一起共勉吧!

LOAM学习-安装与运行相关推荐

  1. 学习安装java运行环境

    提示:学习安装java运行环境 文章目录 安装JDK 一.配置windows环境变量. 1.配置环境变量 2. 配置path 3.测试JDK是否安装成功 总结 安装JDK 提示:由于JDK8为大部份公 ...

  2. OMNeT学习之OMNeT安装与运行

    OMNeT学习之OMNeT安装与运行 前言 本文原创,创作不易,转载请注明!!! 本人为OMNet初学者,如有错误,请不吝请教! 最近学WSN(无线传感器网络),做传感器实验,老师强调了仿真平台Mat ...

  3. access窗体独立运行_由浅入深学习网络设备模拟器HCL 第一篇 安装与运行

    小伙伴们在学习计算机网络知识时往往并没有机会接触交换机.路由器等网络设备,这种情况下仅仅通过书本知识的学习很难提高实际操作能力,别着急,网络设备商早已想到这个问题,推出了网络设备模拟软件,高度还原真实 ...

  4. linux安装并运行kafka有三步,kafka学习

    linux安装并运行kafka有三步 1:安装jdk(自行搜索linux安装jdk) 环境变量vi /etc/profile export JAVA_HOME=HOME/jdkexportCLASSP ...

  5. Python3入门笔记(1) —— windows安装与运行

    Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...

  6. Windows下Go语言的安装和运行

    参考:https://blog.csdn.net/SquirrelYuyu/article/details/82776029 Windows下Go语言的安装和运行 文章目录 Go语言的安装与配置 Go ...

  7. Mongodb学习(安装篇): 在centos下的安装

    安装篇 ###下载解压文件 [root@192 lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ## ...

  8. Anaconda:Anaconda安装图文教程及其tensorflow安装、运行、测试之最强详细攻略

    Anaconda:Anaconda安装图文教程及其tensorflow安装.运行.测试之最强详细攻略 导读 能够在进行深度学习之前把这些辅助工具Python.Anaconda.GPU.Tensorfl ...

  9. 如何在linux里面运行ncl,NCL基础讲解(二)——NCL安装与运行

    NCL基础讲解(二)--NCL安装与运行 兰溪之水2015-11-04 上一期已经给大家简单介绍了NCL的基本情况,既然NCL在科学数据分析和可视化方面有那么多优点,那还等什么,让我们一起" ...

最新文章

  1. 第2章:Maven的安装/2.2 Linux下的安装
  2. 顶级投资者的21条箴言(组图)
  3. greenplum 存储过程_揭秘!Greenplum并行执行引擎到底是如何工作的?
  4. POJ 1759 Garland
  5. C++: find()函数的注意事项
  6. Mysql优化(出自官方文档) - 第四篇
  7. @postconstruct 不执行_【如何分析恶意软件在系统中执行了?】
  8. 华为路由器eNSP的基本配置
  9. 物联网技术-组网技术、应用场景
  10. 记2019届阿里校招第一面
  11. 浏览器主页被劫持篡改为hao123或者别的网页解决方法
  12. 企业人脸识别解决方案,让员工考勤更高效
  13. java计算工龄_java计算工龄
  14. 手写数字识别问题(5)——完结
  15. 洛谷P4094 - [TJOI2016]字符串
  16. 爬虫——爬取人民网数据生成词云图
  17. ACM上一些常见问题解答
  18. 关于软件测试行业现状的一些思考
  19. 使用python爬取整本《盗墓笔记》
  20. ATK-UART2ETH 串口转以太网模块通信

热门文章

  1. 8、统一处理异常(控制器通知@ControllerAdvice全局配置类、@ExceptionHandler统一处理异常)
  2. 世界著名的桥梁(转贴)
  3. 标准工时制和综合工时制的区别?涨知识了,别再傻傻分不清
  4. UOJ #593. 新年的军队 题解
  5. HMM学习一:前向和后向算法
  6. 查看电脑mac地址+主机名+用户名并导出
  7. 2021年塔式起重机司机考试题及塔式起重机司机作业模拟考试
  8. python飞机大战,感受python的乐趣(详细中文解读,含完整代码)
  9. Windows下安装Python 模块的三种方法
  10. android开发培训!作为一个Android程序员你还不会JetPack?安卓系列学习进阶视频