AzureKinect+ORB-SLAM2实现实时稠密点云建图

Ubuntu18.04环境下使用AzureKinect摄像头和ORB-SLAM2实现实时稠密建图。ORB-SLAM2原始代码并没有包括稠密建图部分,高翔博士在ORB-SLAM2的基础上进行了扩展,实现了该功能。(参考高翔博士博客

ROS收发Azure Kinect图像数据

ROS 工作环境

在开始编译ORB-SLAM2之前需要先创建一个ROS的工作空间。

mkdir -p ~/catkin_ws_orbslam2gao/src
cd catkin_ws_orbslam2gao/src
catkin_init_workspace
cd ~/catkin_ws_orbslam2gao/
catkin_make
source devel/setup.bash

下载ORBSLAM2_with_pointcloud_map源码

github repo中有一个文件夹ORB_SLAM2_modified和一个zip压缩包。我们使用文件夹对应的代码,压缩包是老版本代码不需要管。

cd ~/catkin_ws_orbslam2gao/src
git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git

# 删除作者保留的build文件夹重新编译
cd ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified
rm -rf Thirdparty/g2o/build
rm -rf Thirdparty/DBoW2/build
rm -rf Examples/ROS/ORB_SLAM2/build

# 下载Vocabulay
mkdir Vocabulary && cd Vocabulary
wget https://raw.githubusercontent.com/raulmur/ORB_SLAM2/master/Vocabulary/ORBvoc.txt.tar.gz

编译核心代码

在编译代码前先解决一些可能遇到的问题:

关于PCL库可能有两个问题。
  1. 提示找不到 pcl/common/transforms.h,可以通过locate命令查找本机上pcl库的路径,并添加在CMakeList.txt。(ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/CMakeLists.txt第52行)
    locate pcl/common/transforms.h
    
    修改后的CMakeLists如下
    include_directories(
    ${PROJECT_SOURCE_DIR}
    ${PROJECT
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
在Ubuntu 20.04上运行ORB-SLAM2进行稠密建图需要进行以下步骤: 1. 确保系统已安装必要的依赖库。ORB-SLAM2需要使用OpenCV、Pangolin和Eigen库,可以通过以下命令安装: ``` sudo apt-get install libopencv-dev libeigen3-dev libpangolin-dev ``` 2. 在ORB-SLAM2的GitHub页面上,克隆该项目的源代码。使用以下命令进行克隆: ``` git clone https://github.com/raulmur/ORB_SLAM2.git ``` 3. 进入ORB-SLAM2目录,并执行以下命令进行编译: ``` cd ORB_SLAM2 chmod +x build.sh ./build.sh ``` 4. 编译完成后,在ORB-SLAM2目录下会生成一个名为`Examples/Stereo/stereo_kitti`(用于KITTI数据集)的可执行文件。 5. 在稠密建图之前,需要准备一段用于SLAM的视频或者实时相机数据。ORB-SLAM2支持单目、双目和RGB-D输入。可以在`Examples`目录下找到相应的示例。 6. 运行稠密建图的示例程序,例如对于KITTI数据集可以使用以下命令: ``` ./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTI00-02.yaml dataset_path ``` 其中,`Vocabulary/ORBvoc.txt`是ORB特征提取的词典文件,`Examples/Stereo/KITTI00-02.yaml`是相机参数和SLAM配置文件,`dataset_path`为KITTI数据集的路径。 7. 执行完命令后,ORB-SLAM2会开始读取输入数据,并对其进行稠密建图。建图结果可以在控制台输出或保存到本地文件中。 注意:ORB-SLAM2还支持其他数据集和输入类型,具体使用方法可以参考其文档和示例。另外,为了保证正确运行,建议根据自己的需求和数据集进行相应的配置文件调整和参数设置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tinet-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值