LOAM学习-安装与运行
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学习-安装与运行相关推荐
- 学习安装java运行环境
提示:学习安装java运行环境 文章目录 安装JDK 一.配置windows环境变量. 1.配置环境变量 2. 配置path 3.测试JDK是否安装成功 总结 安装JDK 提示:由于JDK8为大部份公 ...
- OMNeT学习之OMNeT安装与运行
OMNeT学习之OMNeT安装与运行 前言 本文原创,创作不易,转载请注明!!! 本人为OMNet初学者,如有错误,请不吝请教! 最近学WSN(无线传感器网络),做传感器实验,老师强调了仿真平台Mat ...
- access窗体独立运行_由浅入深学习网络设备模拟器HCL 第一篇 安装与运行
小伙伴们在学习计算机网络知识时往往并没有机会接触交换机.路由器等网络设备,这种情况下仅仅通过书本知识的学习很难提高实际操作能力,别着急,网络设备商早已想到这个问题,推出了网络设备模拟软件,高度还原真实 ...
- linux安装并运行kafka有三步,kafka学习
linux安装并运行kafka有三步 1:安装jdk(自行搜索linux安装jdk) 环境变量vi /etc/profile export JAVA_HOME=HOME/jdkexportCLASSP ...
- Python3入门笔记(1) —— windows安装与运行
Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...
- Windows下Go语言的安装和运行
参考:https://blog.csdn.net/SquirrelYuyu/article/details/82776029 Windows下Go语言的安装和运行 文章目录 Go语言的安装与配置 Go ...
- Mongodb学习(安装篇): 在centos下的安装
安装篇 ###下载解压文件 [root@192 lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ## ...
- Anaconda:Anaconda安装图文教程及其tensorflow安装、运行、测试之最强详细攻略
Anaconda:Anaconda安装图文教程及其tensorflow安装.运行.测试之最强详细攻略 导读 能够在进行深度学习之前把这些辅助工具Python.Anaconda.GPU.Tensorfl ...
- 如何在linux里面运行ncl,NCL基础讲解(二)——NCL安装与运行
NCL基础讲解(二)--NCL安装与运行 兰溪之水2015-11-04 上一期已经给大家简单介绍了NCL的基本情况,既然NCL在科学数据分析和可视化方面有那么多优点,那还等什么,让我们一起" ...
最新文章
- 第2章:Maven的安装/2.2 Linux下的安装
- 顶级投资者的21条箴言(组图)
- greenplum 存储过程_揭秘!Greenplum并行执行引擎到底是如何工作的?
- POJ 1759 Garland
- C++: find()函数的注意事项
- Mysql优化(出自官方文档) - 第四篇
- @postconstruct 不执行_【如何分析恶意软件在系统中执行了?】
- 华为路由器eNSP的基本配置
- 物联网技术-组网技术、应用场景
- 记2019届阿里校招第一面
- 浏览器主页被劫持篡改为hao123或者别的网页解决方法
- 企业人脸识别解决方案,让员工考勤更高效
- java计算工龄_java计算工龄
- 手写数字识别问题(5)——完结
- 洛谷P4094 - [TJOI2016]字符串
- 爬虫——爬取人民网数据生成词云图
- ACM上一些常见问题解答
- 关于软件测试行业现状的一些思考
- 使用python爬取整本《盗墓笔记》
- ATK-UART2ETH 串口转以太网模块通信
热门文章
- 8、统一处理异常(控制器通知@ControllerAdvice全局配置类、@ExceptionHandler统一处理异常)
- 世界著名的桥梁(转贴)
- 标准工时制和综合工时制的区别?涨知识了,别再傻傻分不清
- UOJ #593. 新年的军队 题解
- HMM学习一:前向和后向算法
- 查看电脑mac地址+主机名+用户名并导出
- 2021年塔式起重机司机考试题及塔式起重机司机作业模拟考试
- python飞机大战,感受python的乐趣(详细中文解读,含完整代码)
- Windows下安装Python 模块的三种方法
- android开发培训!作为一个Android程序员你还不会JetPack?安卓系列学习进阶视频