IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> realsense D435i 运行ORB-SLAM3 -> 正文阅读

[人工智能]realsense D435i 运行ORB-SLAM3

一. D435i的配置

1. install

  1. 安装realsense sdk 和ros wrapper,安装完成后,输入:
realsense-viewer

请添加图片描述

2.ROS接口的使用

  • 启动RealSense的ROS节点
    realsense的ROS接口可以理解为一个读取数据并发布topic的节点,自己写ROS程序的时候订阅这个节点发出的topic即可
roslaunch realsense2_camera rs_camera.launch

请添加图片描述
使用rostopic list查看这些节点
请添加图片描述
也可以使用rqt_image_view订阅这些节点
请添加图片描述
另外需要注意的是,前面提到D435i是支持双目的红外影像输出的,但是它默认是关闭这一选项的,也就是说它不会有双目红外影像的Topic。我们需要在对应的Launch文件中修改相关参数,就可以获得红外影像了。具体如下。
找到rs_camera.launch,将这三个参数全部设为true
请添加图片描述

这样,重新运行的时候就会出现这个话题了:

请添加图片描述

3. imu信息融合

前面的Topic List里也看到了,D435i可以输出陀螺仪和加速度计的信息,我们可以分开读取,也可以将/camera/gyro/sample/camera/accel/sample两个Topic合并到一起,叫做/camera/imu,这样一个Topic里既有陀螺仪的数据也有加速度计的数据。具体方法也很简单,还是修改Launch文件里的配置选项。在rs_camera.launch文件中找到unite_imu_method这个参数,把它的值可以设置为copy或者linear_interpolation,这样再次启动rs_camera节点启动D435i就可以在Topic列表里看到/camera/imu这个Topic了。

4. 深度图对齐问题

D435i可以输出原始的深度图(/camera/depth/image_rect_raw)以及和单目RGB影像对齐的深度图(/camera/aligned_depth_to_color/image_raw),这两个深度图是不一样的。在采集数据的时候尤其需要注意。比如在采集RGBD数据的时候需要的是对齐的深度,如果不小心采成了原始深度,那基本就是不能用的了。如何输出对齐的深度图,也非常简单,修改Launch文件里的配置选项。在rs_camera.launch文件中找到align_depth这个参数,把它的值可以设置为true即可。(设置这个选项之前,记得打开enable_depth,要不然是没有数据的)

5. D435i 相机默认参数查看

D435i相机在出厂时有一个默认的内参。查看方式有非常简单,在运行D435i以后,我们可以在Topic列表中看到很多叫camera_info的Topic,这些Topic就是对应的相机内参等参数。如下,查看的是RGB相机的参数。

rostopic echo /camera/color/camera_info

请添加图片描述

6. 数据采集录制

这里简单给出一些D435i数据采集的建议。首先,如果要采RGBD数据,那么一定要记得录对齐后的深度,而非原始输出深度。第二,如果采集场景是较暗或者较小的场景,那么可能会有很多红外斑点出现在双目红外影像中。如果想用双目影像做视觉SLAM,那么一定记得关闭红外发射器。

下面以一个利用D435i进行单目RGB、红外双目、IMU数据采集的过程为例,介绍一般流程与步骤。

首先明确要采集的数据类型、影像的大小、帧率、深度是否对齐等信息,这些都在rs_camera.launch文件的对应参数里设置。

然后,在终端中输入roslaunch realsense2_camera rs_camera.launch启动D435i。启动以后如果需要关闭红外发射器,按照上面提到的第三点进行操作即可。

然后,利用rqt_image_view进行可视化。可以打开多个rqt_image_view节点,分别查看RGB影像、左右红外影像等。

最后,打开终端,输入rosbag record /camera/color/image_raw /camera/infra1/image_rect_raw /camera/infra2/image_rect_raw /camera/imu,这样就开始录制了。录制完成后,按Ctrl+C保存退出即可。

二. ORB-SLAM3 编译运行(ROS)

  1. 将源码中的/Examples/ROS/ORB-SLAM3路径添加到ROS_PACKAGE_PATH环境变量中,打开 ~/.bashrc
sudo gedit ~/.bashrc

在最后写入:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/your_name/Project/ORB_SLAM3/Examples/ROS

路径要从/home开始

  1. 在ORB-SLAM根目录下:
./build_ros.sh

碰到了以下错误:

[rosbuild] Error from directory check: /opt/ros/kinetic/share/ros/core/rosbuild/bin/check_same_directories.py  /home/juno/Projects/ORB_SLAM3-0.4-beta/Examples/ROS/ORB_SLAM3
1
Traceback (most recent call last):
  File "/opt/ros/kinetic/share/ros/core/rosbuild/bin/check_same_directories.py", line 46, in <module>
    raise Exception
Exception
CMake Error at /opt/ros/kinetic/share/ros/core/rosbuild/private.cmake:102 (message):
  [rosbuild] rospack found package "ORB_SLAM3" at "", but the current
  directory is
  "/home/juno/Projects/ORB_SLAM3-0.4-beta/Examples/ROS/ORB_SLAM3".  You
  should double-check your ROS_PACKAGE_PATH to ensure that packages are found
  in the correct precedence order.
Call Stack (most recent call first):
  /opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location)
  CMakeLists.txt:4 (rosbuild_init)
-- Configuring incomplete, errors occurred!
See also "/home/juno/Projects/ORB_SLAM3-0.4-beta/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.

执行以下语句解决:

sudo ln -s /home/name/Projects/ORB_SLAM3/Examples/ROS/ORB_SLAM3 /opt/ros/kinetic/share/ORB_SLAM3

又出现以下eigen错误

CMake Error at CMakeLists.txt:41 (find_package):
  Could not find a configuration file for package "Eigen3" that is compatible
  with requested version "3.1.0".

  The following configuration files were considered but not accepted:

    /usr/lib/cmake/eigen3/Eigen3Config.cmake, version: unknown

-- Configuring incomplete, errors occurred!
See also "/home/juno/Projects/ORB_SLAM3-0.4-beta/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".
See also "/home/juno/Projects/ORB_SLAM3-0.4-beta/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found.  Stop.

利用pkg-config查看eigen版本:

pkg-config --modversion eigen3

我的为3.2.92版本


参考: Intel RealSense D435i:简介、安装与使用(ROS、Python)

待续。。。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:28:33  更:2022-03-08 22:32:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:44:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码