使用LeGO-LOAM运行KITTI数据集

1 篇文章 0 订阅
1 篇文章 0 订阅

1.简单运行LeGO-LOAM

(1)LeGO-LOAM源码下载

LeGO-LOAM
国内GitHub网站不是很稳定,多刷新几次就好了。

(2)LeGO-LOAM示例运行

①下载LeGO-LOAM源码提供的rosbag文件

首先需要从GitHub中下载一些简单的rosbag文件

在这里插入图片描述
P.S.LeGO-LOAM的作者将这些rosbag文件存放到谷歌云盘中,因此访问需要翻墙。云盘中只有文件夹same_start_end_position中的same_position.bag可以下载,笔者电脑下载云盘中其他的bag文件会出现错误。

②运行LeGO-LOAM示例

环境配置

我的运行环境是:

Ubuntu下载可以从国内镜像源下载,ROS的下载链接已经附上,ROS官网中下载说明十分详细,在此不做赘述。
P.S.如果使用虚拟机运行Ubuntu系统,由于KITTI数据集比较大,需要为虚拟机分配足够的硬盘大小,建议将虚拟机单独放到一个硬盘中。如果虚拟机硬盘容量不足,需要扩充,可以参考这篇文章:
虚拟机Ubuntu中磁盘容量不足对磁盘大小进行扩展

运行步骤

下载gtsam 4.0.0-alpha2

wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake …
sudo make install

编译代码

cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd …
catkin_make -j1

运行功能包

source ./devel/setup.bash
roslaunch lego_loam run.launch

P.S.不进行环境配置roslaunch会报错,环境配置可以选择每次运行时输入上述source命令行,也可以修改相关文件,具体步骤可以参考其他博主文章。

运行rosbag

rosbag play *.bag --clock --topic /velodyne_points /imu/data

P.S.运行上述指令时注意cd到存放rosbag文件的路径下

其他说明

进行完上述步骤后,可能会出现运行rviz时报错或者rviz选中Map Cloud选项却只有一条路径的现象
在这里插入图片描述
解决方法是关闭加速,具体步骤可以参考这篇文章:
问题解决——Gazebo闪退及无法运行

运行结果

在这里插入图片描述
在这里插入图片描述

2.使用LeGO-LOAM运行KITTI数据集

(1)下载KITTI数据集

这里给出KITTI数据集官方下载地址。国内无法在官网下载完整的KITTI数据集,这里给出泡泡机器人提供的百度网盘地址,里面KITTI数据集比较全。
链接:https://pan.baidu.com/s/1htFmXDE 密码:uu20

(2)运行KITTI数据集

运行KITTI数据集大致分为3个步骤:将KITTI数据集转化为rosbag文件、修改LeGO-LOAM代码、使用evo评估。笔者初入激光SLAM领域,因此给出一种比较简单的运行方法。

①下载kitti-lego-loam

Mitchell Lee将上述3个步骤集成到一个工具包kitti-lego-loam,具体步骤可以参考这篇文章:
LeGO-LOAM运行kitti数据集
笔者在运行kitti-lego-loam的过程中,遇到了一些问题:

问题一

运行:

rosdep install --from-paths src --ignore-src -r -y

运行结果:
在这里插入图片描述
笔者未理会这个错误。

问题二

运行:

catkin_make

运行结果:
在这里插入图片描述
笔者解决方法是:
运行:

catkin_make -j1

运行结果:
在这里插入图片描述
编译成功。

问题三

修改kittibag.launch文件后,运行:

source ./devel/setup.bash
roslaunch kittibag kittibag.launch

运行结果:
在这里插入图片描述
在这里插入图片描述

虽然launch文件成功运行,但是生成的rosbag文件只有4.1KB大小,而KITTI数据集00序列对应的rosbag文件至少10GB大小,显然生成的rosbag文件是错误的。笔者代码编写能力有限,这一问题始终没有解决,因此笔者通过另一种方法将KITTI数据集转化为bag文件。

②KITTI数据集转化为rosbag文件

将KITTI数据集转化为rosbag文件,可以参考这篇文章:
KITTI数据集转化为ROS bag包(解决各种类型数据集,实测有效)
笔者采用这篇文章介绍的lidar2rosbag_KITTI,工具包的安装使用说明以及可能出现错误的解决方法在GitHub上写的很详细,在此不做赘述。

③使用LeGO-LOAM运行KITTI数据集

运行kitti-lego-loam中经过修改的LeGO-LOAM程序的同时,运行经过上述步骤得到rosbag文件,发现rviz界面没有反应。笔者运行:

rosrun rqt_graph rqt_graph

运行结果:
在这里插入图片描述
发现是LeGO-LOAM程序和rosbag文件的节点话题不匹配。笔者分别查询了两者的话题:
在这里插入图片描述
在这里插入图片描述
LeGO-LOAM的节点话题是/kitti/velo/pointcloud,而rosbag的节点话题是velodyne_points。笔者选择更改rosbag的节点话题,运行remap命令:

rosbag play *.bag velodyne_points:=/kitti/velo/pointcloud --clock

运行结果(00序列):

在这里插入图片描述

没有加入回环检测,所以轨迹漂移有点大。
P.S.kitti-lego-loam中rviz没有选中Map Cloud选项,选中该选项即可出现上述运行结果。

④使用evo对轨迹进行评估

下载evo工具包,将kitti-lego-loam运行生成的re_00.txt文件和KITTI数据集中00.txt文件放入同一路径中,运行:

evo_traj kitti re_00.txt --ref=00.txt -p --plot_mode=xz

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于KITTI数据集缺少IMU信息,因此误差有点大。

  • 21
    点赞
  • 208
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具 kitti数据集相关工具
### 回答1: LEGO-LOAM是一种基于激光雷达的室内外定位和地图构建方法。可以用来运行KITTI数据集KITTI数据集是车辆自动驾驶领域的一个常用数据集。需要配置好相应的环境并进行编译运行,详细的安装和运行方法可以参考LEGO-LOAM的github页面。 ### 回答2: Lego-LOAM是一种基于激光雷达的SLAM算法,它可以通过对激光雷达扫描数据进行处理,实现对机器人运动及环境地图的估计和建立。Lego-LOAM能够较好地适应小规模场景的建图任务,尤其是在室内环境中具有一定的优势。在Lego-LOAM中,通过将扫描数据进行4D点云数据的拆分,将运动估计问题转化为优化问题,使用了多种传感器数据来进行建图和定位。 Kitti数据集是一个广泛使用的用于自动驾驶和机器人人工智能领域的开源数据集,其包含了激光雷达、相机、GPS和IMU等多种传感器数据,可以为机器人和自动驾驶系统的开发提供相应的数据。因此,Lego-LOAM也可以在Kitti数据集上进行测试和验证。 为了在Kitti数据集运行Lego-LOAM,首先需要下载Kitti数据集,并将数据进行预处理,将数据转换为Lego-LOAM能够识别的格式,可以使用KITTI2Bag工具来进行转换。接着,需要设置运行Lego-LOAM时的相关参数,包括激光雷达的参数、地图的分辨率、点云降采样的程度等。 运行Lego-LOAM时,需要使用ROS来进行相关功能包的调用和运行。可以通过运行命令行来启动Lego-LOAM节点,将现有的参数传递给程序。运行后,Lego-LOAM将会读取Kitti数据集,进行运动估计和建图,并输出相应的结果。可以通过RViz或其他可视化工具来查看建立的地图和机器人的轨迹。 总之,Lego-LOAM可以在Kitti数据集上进行测试和验证,并可以通过设置相关的参数来适应不同的应用场景。同时也可以通过其他工具,如RViz等来进行效果的可视化和分析。 ### 回答3: LEGO-LOAM是一种高效,高精度的激光雷达SLAM算法,适用于车辆或机器人进行自主导航。LEGO-LOAM使用Velodyne VLP-16激光雷达,可以在移动车辆上实时构建地图和定位车辆的确切位置。Kitti数据集是一个常用的用于测试SLAM算法的公共数据集,它包括了各种场景下的激光雷达数据、图像和真实轨迹数据。 要在LEGO-LOAM运行Kitti数据集,首先需要下载数据集数据集可以从互联网上下载,包含了许多不同场景的激光雷达数据、图像和地面真实轨迹数据。然后需要在LEGO-LOAM中设置参数。LEGO-LOAM提供了不同的参数配置文件,可以根据需要修改文件中的参数。其中一个重要的参数是Velodyne激光雷达的参数,需要根据使用的激光雷达型号进行设置。另外,还需要设置地面提取的参数和激光雷达的物理参数等。 在参数设置完成后,可以使用LEGO-LOAM中提供的kitti2bag脚本将Kitti数据集转换为ROS bag格式。这个脚本会读取数据集中的激光雷达数据、图像和真实轨迹数据,并将其转换为ROS bag文件,便于在ROS环境中进行处理。然后,在ROS环境下运行LEGO-LOAM节点,在处理ROS bag文件时,LEGO-LOAM会读取激光雷达数据、图像和真实轨迹数据,并在运行过程中实时地构建地图和定位车辆的位置。 最后,可以通过ROS的rviz工具观察LEGO-LOAM的输出结果。其中,激光雷达的点云会被转换为3D地图,并显示出来。同时,LEGO-LOAM会输出车辆在地图中的位置信息。通过观察rviz的输出结果,可以对LEGO-LOAM运行效果进行评估和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值