【无人机自主导航7 SLAM】大疆Manifold2C平台及Intel Realsense D435i RGB-D相机实现ORB-SLAM3

2023-05-16

D435i相机在前一章节内容已有提及。

一、环境配置与相机参数修正

相关内容参见之前的文章,本文测试的相机配置如下:

二、参看相机发布话题

2.1 直接获取

D435i相机为Intel realsense的产品,其提供的ORS功能包有相关的launch启动文件,可以从对应相机类型的launch中获知话题名。

2.2 间接获取

编译 Intel realsense功能包后,执行对应的launch文件,通过:

rostopic list

获取所有发布的话题,确定相机话题。

三、修改ORB-SLAM3的订阅话题

在ORB-SLAM3路径下:

catkin_ws/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src

ganahe@ganahe-Nitro-AN515-51:~/catkin_ws/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src$ tree
.
├── AR
│   ├── ros_mono_ar.cc
│   ├── ViewerAR.cc
│   └── ViewerAR.h
├── ros_mono.cc
├── ros_mono_inertial.cc
├── ros_rgbd.cc
├── ros_stereo.cc
└── ros_stereo_inertial.cc

选择对应更改的文件,此处即对应相机的种类:

文件说明备注
ARAR体感相机文件目录暂时用不到,忽略
ros_mono.cc单目相机-
ros_mono_inertial.cc带有IMU的单目相机-
ros_rgbd.ccRGB-D深度相机一般有自带IMU,如D435i
ros_stereo.cc双目相机-
ros_stereo_inertial.cc双目IMU相机-

本文以Interl realsense D435i作视觉传感器数据来源,故编辑ros_rgbd.cc ,将话题订阅改为:

    //注释原代码
    // message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/rgb/image_raw", 100);
    // message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "camera/depth_registered/image_raw", 100);
	//更改话题订阅
        message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/color/image_raw", 100);
    message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "/camera/depth/image_rect_raw", 100);

根据相机参数文件发布的话题来修改即可。

三、运行ORB-SLAM3

运行ORB-SLAM3需要如下:

  • 修改的相机订阅话题:xxx.cc文件
  • 相机参数文件:/ORB_SLAM3/Examples/ROS/ORB_SLAM3/xxx.yaml
  • 启动文件:/realsense2_camera/launch/*.launch

运行步骤如下:

3.1 开启相机

roslaunch realsense2_camera rs_d435i.launch

3.2 启动ORB-SLAM3

cd ~/catkin_ws/
# 双目相机
rosrun ORB_SLAM3 ORBD /home/ganahe/catkin_ws/src/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/ganahe/catkin_ws/src/ORB_SLAM3/Examples/ROS/RGB-D.yaml

原文链接:https://dgzc.ganahe.top/ganahe/2021/wrjzzdhsirdrxjsx.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【无人机自主导航7 SLAM】大疆Manifold2C平台及Intel Realsense D435i RGB-D相机实现ORB-SLAM3 的相关文章

  • react 的性能优化

    一 性能永远是第一需求 xff0c 时刻考虑性能问题 如何避免应用出现性能问题 xff0c 如下所示 xff1a 了解常见的性能问题场景时刻注意代码的潜在性能问题注重可重构的代码了解如何使用工具定位性能问题 二 网络性能优化 xff0c 自
  • STM32应用之485通信

    我们先看看普通的收发电路 普通的485电路 xff0c 除了 用RXD连接485芯片的RO引脚 用TXD连接485芯片的DI引脚 xff0c 还会用一个单片机的普通IO引脚连接到RE DE引脚上 当单片机要发送数据的时候 xff0c 控制P
  • AD铺铜技巧总结

    原文链接 xff1a https blog csdn net snaking616 article details 78643046 目录 1 铜皮操作分类 2 铺铜技巧 2 1 过孔处理 2 1 1 过孔与绿油 2 1 2 过孔的十字连接
  • 十大滤波算法

    一 限幅滤波 1 xff09 方法 根据经验判断两次采样允许的最大偏差值A 每次采新值时判断 xff1a 若本次值与上次值之差 lt 61 A xff0c 则本次有效 xff1b 若本次值与上次值之差 gt A xff0c 本次无效 xff
  • 初识GD32

    什么是GD32 xff1f GD32是由北京兆易创新开发的国产32位MCU xff0c 基于Arm Cortex M3 M23 M4内核的32位通用微控制器 目前已经推出GD32F1xx xff0c GD32F2xx xff0c GD32F
  • GD32 新建工程模板

    本文以GD32F450MCU为核心 xff0c 新建工程模板 准备资料 xff1a GD32F4xx Firmware Library V2 1 0 GD32F4Pack包 http www gd32mcu com cn download
  • VirtualBox安装Win10系统

    VirtualBox是一款免费的开源虚拟机 xff0c 它简单易用 xff0c 支持Windows Linux和Mac系统等 最重要的是安装简单 xff0c 操作方便 装机准备 Windows10镜像文件 VirtualBox软件 Virt
  • SMT32H7系列DMA和DMAMUX的一点理解

    DMA和DMAMUX DMA xff1a 无CPU参与下直接进行数据搬运的控制器 DMAMUX xff1a 建立DMA请求和DMA通道之间的映射关系 xff0c 类似于路由的功能 无DMAMUX的MCU xff0c DMA请求和DMA通道的
  • 基于STM32的UVC设备枚举解析

  • ERP实施顾问与项目经理的区别

    来到青岛出差 xff0c 再次见识了青岛的美丽 xff0c 特别是在这个秋天时节 xff0c 天气宜人 xff0c 看来是一个放假休养的好时节 可惜过来是工作的 xff0c 不然倒是可以在这里呆上一段时间 xff0c 在海边看看书 xff0
  • RTOS随笔之FreeRTOS

    RTOS几点思考 为什么使用RTOS 1 先考虑OS有什么特点 xff1f 2 再考虑什么情况下使用OS FreeRTOS调试技巧任务管理1 任务调度流程2 任务栈大小 xff0c 栈溢出检测3 中断管理4 内存管理 FreeRTOS AP
  • RTOS随笔之FreeRTOS启动与同步方法

    RTOS启动与同步机制 RTOS启动任务切换场景任务同步机制队列信号量事件组任务通知 任务延时 RTOS启动 FreeRTOS在任务创建完成后调用函数vTaskStartScheduler 启动任务调度器 vTaskStartSchedul
  • LTspice仿真命令

    交流扫描 命令 ac lt oct dec lin gt 参数1 xff1a 扫描方式 xff08 oct 八倍频 dec 十倍频 lin 线性扫描 xff09 参数2 xff1a 扫描数 参数3 xff1a 起始频率 参数4 xff1a
  • LTspice创建模型

    由于刚开始接触电路 xff0c 对于电路调试并不是很清楚 xff0c 只是通过查找资料 xff0c 帮助文档学习 xff0c 其中深奥的东西目前并不是很理解 xff0c 只是相互学习 LTspice创建模型的方法 xff1a 通过导入PSP
  • 2020/1/27 在setInterval中使用setTimeout时遇到的问题

    这几天在做一个简单的随机抽取姓名的一个抽人的小页面 顺顺利利的 今天回来再打开看自己作死一样的一直找看看有没有什么bug 没想到真的找到一个 花了一个多小时才解决 其实最后才觉得是个比较细节的问题 是关于setInterval和setTim
  • MYSQL1251报错用cmd也报错,Navicat for Mysql报错1251连接不成功Mysql

    第一步 xff1a 打开Command Line Client 看清楚不是cmd xff0c 是在mysql的目录下 xff0c 你会发现有2个一模一样其实哪个都行 第二步 xff1a 输入mysql密码回车 就是安装mysql时设置的密码
  • 东信北邮笔试-211009

    在前程无忧上投的 xff0c 我自己都不清楚是社招还是校招 xff0c 此时尬住 jpg 主要还是写题吧 xff01 题目分为客观题和编程题 xff0c 只能记住一部分了 客观题 某村每户人家都养一只牛 xff0c 某日防疫站工作人员来该村
  • 自学ROS(四)----修改功能包源码,turtlesim为例

    目的 在ROS中学习智能车的路径规划时用到很多种导航算法 xff0c 随着论文进行 xff0c 需要对ROS中的路径规划算法源码进行修改从而实现算法优化 本文将详细介绍算法包的获取 xff0c 覆盖 xff0c 修改 xff0c 运行 以最
  • sudo apt-get install/update报错

    ubuntu安装软件或执行软件更新 xff0c sudo apt get install update报错 xff0c 报错如下 xff1a E Failed to fetch http mirrors tuna tsinghua edu
  • ethz的多传感器融合算法msf编译与安装

    ethz的多传感器融合算法msf编译与安装 1 建立工作空间2 下载安装所有依赖2 1 下载依赖库2 2 安装Google的glog2 3 安装GeographicLib2 4 编译 3 报错 阅读论文 A Robust and Modul

随机推荐