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.bash

roslaunch 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的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/155750.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

stylelint报错at-rule-no-unknown

stylelint报错at-rule-no-unknown stylelint还将各种 sass -rules 标记mixin为include显示未知错误 at-rule-no-unknown ✖ stylelint --fix:Deprecation warnings: 78:1 ✖ Unexpected unknown at-rule "mixin" at-rule-no-unknown 112:3 ✖ Unexpected un…

2023 年 数维杯(A题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2021年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看数维杯A题! 问题重述 1、俯仰力矩和俯…

【Rust】快速教程——冻结表达式

前言 以前谁是魔我杀谁,现在我杀谁谁就是魔。——《拔魔》 \;\\\;\\\; 目录 前言Rust基本知识结构体元组结构体局部作用域冻结字面量Vec元素的类型由第一个push进的类型确定type别名from和intoTryFrom和TryInto 表达式 Rust基本知识 结构体 #[derive(Debug)] str…

华为eNSP综合实验考试

VLAN信息表 设备名称 端口 链路类型 VLAN 参数 HZ-HZCampus-Agg01-S5731 GE0/0/1 Trunk PVID:1 Allow-pass:10 20 Eth-trunk1(GE0/0/2,0/0/3,0/0/23) Trunk PVID:1 Allow-pass:10 20 GE0/0/24 Access PVID&#xf…

vb.net 实时监控双门双向门禁控制板源代码

本示例使用设备介绍:实时网络双门双向门禁控制板可二次编程控制网络继电器远程开关-淘宝网 (taobao.com) Imports System.Net.Sockets Imports System.Net Imports System.Text Imports System.ThreadingImports System.Net.NetworkInformation Imports System.Man…

Python函数进阶

函数进阶 一.函数多返回值二.函数多种传参方式三.匿名函数 一.函数多返回值 思考:如果一个函数有两个return,程序如下 只执行了一个return,原因是return可以退出当前函数,导致return下方代码不会执行 多个返回值 按照返回值的顺…

BananaPi BPI-M6(Raspberry Pi 5) Android 平板电脑镜像测试温度

我已经在本文中介绍了 全新的Banana Pi BPI-M6,并讨论了其与Raspberry Pi 5的硬件特性比较。 然后我将 Android 平板电脑固件上传到 eMMC,从而使 Banana Pi 实际可用。一开始有点坎坷,但文章中有更多内容。 在另一台电脑上,一切都…

Vatee万腾未来科技之航:Vatee创新引领的新纪元

在当今数字化时代,Vatee万腾科技正在开创一段引领未来的全新征程。以其卓越的创新能力和领导地位,Vatee万腾成为数字化领域的引领者。其未来科技之航展现了一种独特的数字化愿景,引领着科技创新进入新的纪元。 Vatee万腾在数字科技领域展现出…

如何使用功率信号源保证高精度测量

使用功率信号源是实现高精度测量的关键因素之一。在许多应用中,精确的功率信号源可以提供稳定、可靠的信号,帮助实现准确的测量结果。以下是使用功率信号源保证高精度测量的几个关键方面: 信号稳定性:在进行精确测量时&#xff0c…

热点检测/降级框架Akali的部分原理解析

发现个“轻量级本地化热点检测/降级框架 这个框架名为Akali,项目地址:https://gitee.com/bryan31/Akali主要有两个作用 1:热点检测及处理 2:降级检测及处理 从官网文档来看使用是比较简单的,一个注解就能搞定 怀着好奇的心情c…

光模块厂家如何提高千兆光模块和万兆光模块的可靠性

随着互联网的发展,光纤通信作为高速、稳定的通信方式越来越受到人们的关注。而千兆光模块和万兆光模块作为通信中必不可少的组成部分,其可靠性一直是厂家和用户所关注的重要问题。光模块的不可靠性会导致通信系统的故障和影响用户的体验,因此…

networkx使用draw画图报错:TypeError: ‘_AxesStack‘ object is not callable

一、问题描述 在使用networkx的draw绘图时nx.draw(g,posnx.spring_layout(g)),报错:TypeError: _AxesStack object is not callable 二、原因 可能是当前python环境下的networkx和matplotlib的版本不匹配。我报错时的networkx2.8,matplotl…

Element UI 偶发性图标乱码问题

1. 问题如图所示 2. 原因:sass版本低 sass: 1.26.8 sass-loader: 8.0.2 3. 解决方法 (1) 提高sass版本 (2) 在vue.config.js中添加配置 css: {loaderOptions: {sass: {sassOptions: {outputStyle: expanded}}}},4. 遇到的问题 升级后打包,报错 Syntax…

Freeswitch中mod_commonds

mod_commands Table of Contents (click to expand) 0. About1. Usage 1.1 CLI1.2 API/Event Interfaces1.3 Scripting Interfaces1.4 From the Dialplan2. Format of returned data3. Core Commands 3.1 acl  3.1.1 Syntax3.1.2 Examples3.2 alias 3.2.1 Syntax3.2.2…

VBA技术资料MF83:将Word文档批量另存为PDF文件

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

初始MySQL(六)(自增长,索引,事务,隔离级别)

目录 自增长 索引 索引的原理: mysql索引的类型 添加/删除索引/查看索引 添加索引 删除索引 查看索引(没有生成或者问问什么时候存在) 小结 MySQL事务 关于事务的一些概念 mysql数据库控制台事务的几个重要操作 MySQL事务细节讨论 MySQL事务隔离级别 介绍 数据库…

ElasticSearch 安装(单机版本)

文章目录 ElasticSearch 安装(单机版本)环境配置下载安装包调整系统参数安装启动并验证 ElasticSearch 安装(单机版本) 此文档演示 ElasticSearch 的单机版本在 CentOS 7 环境下的安装方式以及相关的配置。 环境配置 Linux 主机一…

Android 14 Beta 1

Android 14的第一个 Beta 版,围绕隐私、安全、性能、开发人员生产力和用户定制等核心主题构建,同时继续改进平板电脑、可折叠设备等大屏幕设备的体验。我们一直在完善 Android 14 的功能和稳定性方面取得稳步进展,现在是时候向开发者和早期采…

C++基础(3)——类与对象

1.构造函数: 1.1 构造函数的引入: 在关于数据结构这一部分的文章中,创建了一个新的数据结构后,通常需要编写一个初始化函数来对这个数据结构进行一次初始化。在C的类中,如果存在函数,同样也需要对函数进行…

传递函数的推导和理解

传递函数的推导和理解 假设有一个线性系统,在一般情况下,它的激励 x ( t ) x(t) x(t)与响应 y ( t ) y(t) y(t)所满足的的关系,可用下列微分方程来表示: a n y ( n ) a n − 1 y ( n − 1 ) a n − 2 y ( n − 2 ) ⋯ a 1 y…