loam_velodyne下载、编译、测试(虚拟机Ubuntu16.04)

踩过一些坑,有问题相互交流(qq:1347434049)

0.前提

已经装好ROS和PCL。

ROS安装

PCL安装

1.创建一个catkin工作空间

mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace

如果已经创建,跳过即可。

2.下载LOAM源码

cd ~/catkin_ws/src
git clone https://github.com/laboshinl/loam_velodyne.git

3.编译LOAM

在 loam_velodyne/CMakeLists.txt 和 loam_velodyne/src/lib/CMakeLists.txt 中,加上下面命令,否则编译时会提示找不到"vtkproj4":

list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")

进入catkin_ws目录下进行catkin_make:

cd ~/catkin_ws 
catkin_make

打开.bashrc:

gedit ~/.bashrc

在最后加上下面命令,保存,关闭:

source ~/catkin_ws/devel/setup.bash

4.运行LOAM

新开一个终端,运行:

roslaunch loam_velodyne loam_velodyne.launch

5.播放bag

nsh_indoor_outdoor.bag(提取码:kdb8)放到HOME主目录下,终端运行:

rosbag play ~/nsh_indoor_outdoor.bag

可以在RVIZ中看到点云。

 

<think>嗯,用户遇到了ROS中aloam_velodyne_VLP_16.launch文件无法找到或启动的问题,报错是RLException。我需要帮他们分析可能的原因和解决方法。首先,我应该回忆一下ROS中launch文件相关的问题通常有哪些原因。 首先想到的是路径问题。如果launch文件不在正确的位置,ROS就无法找到它。用户可能没有正确安装或编译包,或者文件被移动了。可能需要检查包是否在ROS_PACKAGE_PATH中,或者是否通过catkin_make正确编译了。有时候用户可能忘记source setup.bash,导致环境变量没有更新,ROS找不到包。 然后,包依赖的问题。aloam_velodyne可能依赖其他ROS包,比如velodyne_pointcloud或者相关的驱动包。如果这些依赖没有安装,launch文件启动时会报错。用户可能需要使用rosdep检查并安装缺少的依赖项。 接下来,文件名或路径是否正确。用户可能在启动时输入了错误的文件名,或者launch文件实际的名字有差异,比如大小写或者下划线的位置不同。需要确认launch文件的确切名称和路径,比如在src或安装目录下的正确位置。 另外,编译问题也可能导致launch文件不存在。如果用户修改了代码或者没有编译成功,launch文件可能没有被正确生成。这时候需要重新编译,并确保没有编译错误。可能用户运行了catkin_make但没有成功完成,导致文件缺失。 还有可能是版本兼容性问题。aloam_velodyne可能只支持特定版本的ROS或VLP-16的驱动,如果用户的环境版本不匹配,可能导致启动失败。需要确认ROS版本(比如Melodic或Noetic)和aloam_velodyne的要求是否一致。 用户提供的引用中有提到velodyne_pointcloud的转换和LOAM相关的安装步骤,比如引用[1]中的gen_calibration.py,引用[3]中的A-LOAM配置。可能用户的环境配置有遗漏,比如没有正确安装velodyne驱动或相关依赖。 可能还需要检查launch文件内的参数是否正确,比如VLP-16的配置参数是否有误,或者传感器话题名称是否与实际发布的话题一致。如果参数错误,可能导致节点启动失败。 总结一下,可能的解决步骤包括:检查包安装和编译,确认launch文件路径,安装依赖,检查环境变量,重新编译,确认文件名正确,检查参数设置。需要逐步引导用户排查这些可能性。</think>### ROS aloam_velodyne_VLP_16.launch RLException 错误原因及解决方法 #### 一、错误原因分析 1. **路径缺失或包未正确安装** - 若未将`aloam_velodyne`包正确放置在ROS工作空间的`src`目录下,或未执行`catkin_make`编译,会导致系统无法识别launch文件[^3]。 - 检查命令:`rospack find aloam_velodyne`,若返回`Not found`则说明包未正确安装。 2. **依赖未安装** - `aloam_velodyne`依赖`velodyne_pointcloud`等驱动包,未安装时会触发RLException。需通过以下命令安装: ```bash sudo apt-get install ros-<distro>-velodyne-pointcloud ``` 其中`<distro>`替换为ROS版本(如`melodic`或`noetic`)。 3. **launch文件名称或路径错误** - 检查launch文件是否存在于`aloam_velodyne/launch`目录中,确认文件名是否为`aloam_velodyne_VLP_16.launch`[^3]。 4. **编译未完成或环境变量未更新** - 编译后未执行`source devel/setup.bash`会导致ROS无法加载新生成的launch文件。 --- #### 二、解决方法 **步骤1:验证包安装与编译** ```bash cd ~/catkin_ws catkin_make -DCMAKE_BUILD_TYPE=Release source devel/setup.bash ``` **步骤2:检查launch文件路径** ```bash roscd aloam_velodyne/launch ls | grep aloam_velodyne_VLP_16.launch ``` 若文件不存在,需从源码仓库重新克隆或手动复制文件。 **步骤3:安装依赖项** ```bash rosdep install --from-paths src --ignore-src -y ``` **步骤4:检查话题匹配性** 在launch文件中确认雷达话题名称是否与VLP-16实际发布的话题一致,例如: ```xml <param name="lidar_topic" type="string" value="/velodyne_points" /> ``` **步骤5:调试启动命令** 尝试显式指定包名启动: ```bash roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch ``` --- #### 三、补充说明 - 若使用自定义数据集,需确保点云数据格式与VLP-16兼容(参考引用[3]中关于A-LOAM适配VLP-16的描述)。 - 若问题仍未解决,建议查看完整编译日志: ```bash catkin build aloam_velodyne --verbose ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHT0506

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值