当前位置: 首页 > news >正文

Ubuntu18.04安装Loam保姆级教程

系统环境:Ubuntu18.04.6 LTS

1.Loam的安装前要求:

1.1 ROS安装:参考我的另一篇博客

Ubuntu18.04安装ROS-melodic保姆级教程_灬杨三岁灬的博客-CSDN博客还是那句话,有时候加了这行也不好使,我是疯狂试了20+次,最后打了一局游戏,回来就过了,这就得看网络看命了,不行就在网上搜搜终极大招(动手能力差的不建议)。有时候加了这行也不好使,我是疯狂试了10+次,出现3.3之后就能用了,这就得看网络看命了,不行就在网上搜搜终极大招(动手能力差的不建议)。多试几十次,不行几百次,换手机网络也是,多试几次,这东西很玄学,不一定哪次就过了。多试几十次,不行几百次,换手机网络也是,多试几次,这东西很玄学,不一定哪次就过了。1.1.设置sources.list。https://blog.csdn.net/qq_23473839/article/details/131719477

1.2 PCL安装:

Ubuntu18.04安装PCL保姆级教程_灬杨三岁灬的博客-CSDN博客Ubuntu18.04安装PCL保姆级教程https://blog.csdn.net/qq_23473839/article/details/132128455?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132128455%22%2C%22source%22%3A%22qq_23473839%22%7D

2.安装:

2.1.建立catkin工作空间(我取名为catkin_loam_velodyne)

2.2.建立src文件夹

2.3.编译

cd ~/catkin_loam_velodyne/src/
git clone https://github.com/laboshinl/loam_velodyne.git
cd ~/catkin_loam_velodyne
catkin_make -DCMAKE_BUILD_TYPE=Release 

3.编译出现的问题:

3.1.找不到pcl_conversions:

CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):

  Could not find a package configuration file provided by "pcl_conversions"

  with any of the following names:

    pcl_conversionsConfig.cmake

    pcl_conversions-config.cmake

  Add the installation prefix of "pcl_conversions" to CMAKE_PREFIX_PATH or

  set "pcl_conversions_DIR" to a directory containing one of the above files.

  If "pcl_conversions" provides a separate development package or SDK, be

  sure it has been installed.

Call Stack (most recent call first):

  loam_velodyne/CMakeLists.txt:4 (find_package)

原因:缺少某些库

解决办法:

sudo apt-get install libvtk6-jni
sudo apt-get install libvtk6-java
sudo apt-get install libvtk6-dev
sudo apt-get install libvtk6-qt-dev
sudo apt-get install libpcl-dev
sudo apt-get install ros-melodic-pcl-conversions
sudo apt-get install ros-melodic-pcl-ros
sudo apt-get install ros-melodic-navigation

以下代码只针对Ubuntu18.04对应的ROS melodic版本,其余版本可将代码中melodic自行替换为相应的版本。

4.运行Loam:

Shell1:

source ~/catkin_slam/catkin_loam_velodyne/devel/setup.bashroslaunch loam_velodyne loam_velodyne.launch

Shell2:(跑Loam的数据集)

rosbag play ~/Dataset/A-LOAM/nsh_indoor_outdoor.bag

结果:

5.运行出现的问题:

5.1.找不到package路径:

ERROR: cannot launch node of type [loam_velodyne/multiScanRegistration]: Cannot locate node of type [multiScanRegistration] in package [loam_velodyne]. Make sure file exists in package path and permission is set to executable (chmod +x)

ERROR: cannot launch node of type [loam_velodyne/laserOdometry]: Cannot locate node of type [laserOdometry] in package [loam_velodyne]. Make sure file exists in package path and permission is set to executable (chmod +x)

ERROR: cannot launch node of type [loam_velodyne/laserMapping]: Cannot locate node of type [laserMapping] in package [loam_velodyne]. Make sure file exists in package path and permission is set to executable (chmod +x)

ERROR: cannot launch node of type [loam_velodyne/transformMaintenance]: Cannot locate node of type [transformMaintenance] in package [loam_velodyne]. Make sure file exists in package path and permission is set to executable (chmod +x)

原因:编译的时候devel/lib没生成对应文件

解决办法:删除build和devel文件夹,重新编译即可

5.2.线程down掉

[multiScanRegistration-2] process has died [pid 5419, exit code -11, cmd /home/shuhang/catkin_slam/catkin_loam_velodyne/devel/lib/loam_velodyne/multiScanRegistration /multi_scan_points:=/velodyne_points __name:=multiScanRegistration __log:=/home/shuhang/.ros/log/8ec97a84-24a3-11ee-a67c-49f24c8dffb1/multiScanRegistration-2.log].
log file: /home/shuhang/.ros/log/8ec97a84-24a3-11ee-a67c-49f24c8dffb1/multiScanRegistration-2*.log

 原因:本人后来重装Ubuntu就暂时没有这个问题了,怀疑是PCL版本不匹配的问题

解决办法:卸载PCL并重装

第一次装Loam的时候各种问题,装PCL的时候也是各种问题。重装Ubuntu后安装PCL极其顺利,Loam也极其顺利。如果Loam编译和运行很艰难,多半是PCL的问题。

http://www.lryc.cn/news/232662.html

相关文章:

  • Rust 语言中的结构体
  • Unity开发之C#基础-异常处理(Try Catch)
  • Epoxy:跨不同数据存储的 ACID 事务
  • 鸿蒙:从0到“Hello Harmony”
  • istio安装文档
  • 修改CentOS默认mail发件人名称
  • Trigger替换Demo
  • iApp祁天社区UI成品源码 功能齐全的社区应用
  • python基于BAC0库进行bacnet IP的读写
  • CSDN每日一题学习训练——Python版(简化路径,不同的二叉搜索树)
  • milvus集合管理
  • 基于SSM的教学管理系统设计与实现
  • 【第2章 Node.js基础】2.7 Node.js 的流(一)可写流
  • 【kerberos】使用 curl 访问受 Kerberos HTTP SPNEGO 保护的 URL
  • 基于SSM的智慧养老平台设计与实现
  • 图像生成colab集合
  • SpringBoot整合Quartz示例
  • 物联网AI MicroPython学习之语法 I2C总线
  • RocketMQ的适用场景有哪些?
  • ubuntu启动转圈,无法进入登录界面
  • MATLAB 机械臂逆运动学进行轨迹控制建模
  • 【计算机组成原理】定点加法、减法运算
  • scp 跨服务器传输命令,把一个服务器上的文件复制传到当前服务器目录下
  • 【python基础】用户输入和while循环详解
  • k8s-部署Redis-cluster(TLS)
  • 计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战
  • ElasticStack日志分析平台-ES 集群、Kibana与Kafka
  • 微机原理_10
  • (SpringBoot)第八章:SpringMVC程序开发
  • openssl + 3DES开发实例(linux)