Intel RealSense D435i

  • 一、准备工作
  • 二、修改参数
    • rs_camera.launch
    • realsense_color_config.yaml
  • 参考文献

一、准备工作

1、Intel Realsense D435i、Ubuntu 18.04
2、已经安装好Realsense驱动
3、已经安装好VINS-Mono并且能运行数据集

二、修改参数

rs_camera.launch

  1. 修改部分参数【rs_camera.launch】;

第一处,修改unite_imu_method如下,这里是让IMU的角速度和加速度作为一个topic输出

#64行50列<arg name="unite_imu_method"      default="copy"/>

第二处,修改enable_sync参数为true,这里是开机相机和IMU的同步

#52行50列<arg name="enable_sync"           default="true"/>

第三处,修改enable_gyro,enable_accel为true;默认不发布

<arg name="enable_gyro"   default="true"/>
<arg name="enable_accel"  default="true"/>

realsense_color_config.yaml

1、订阅的topic

#common parameters
imu_topic: "/camera/imu"
image_topic: "/camera/color/image_raw"

2、相机的内参,通过读取camera_info得到或者自己标定,采用以下命令可以读取厂家的camera_info,但与实际可能存在差距。

rostopic echo /camera/color/camera_info

3、IMU到相机的变换矩阵
IMU到相机的变换矩阵,默认0这里我根据注释的提示修改成2

# Extrinsic parameter between IMU and Camera.
estimate_extrinsic: 2   # 0  Have an accurate extrinsic parameters. We will trust the following imu^R_cam, imu^T_cam, don't change it.# 1  Have an initial guess about extrinsic parameters. We will optimize around your initial guess.# 2  Don't know anything about extrinsic parameters. You don't need to give R,T. We will try to calibrate it. Do some rotation movement at beginning.
#If you choose 0 or 1, you should write down the following matrix.

这里IMU和camera之间的外参矩阵建议使用Kalibr工具进行离线标定,也可以改成1或者2让估计器自己标定和优化。

4、IMU参数,这个需要对IMU的噪声和Bias进行标定,同时重力加速度对结果有影响。

#imu parameters       The more accurate parameters you provide, the better performance
acc_n: 0.2          # accelerometer measurement noise standard deviation. #0.2
gyr_n: 0.05         # gyroscope measurement noise standard deviation.     #0.05
acc_w: 0.02         # accelerometer bias random work noise standard deviation.  #0.02
gyr_w: 4.0e-5       # gyroscope bias random work noise standard deviation.     #4.0e-5
g_norm: 9.81       # gravity magnitude

5、realsense d435i说是已经做好了硬件同步所以不需要在线估计同步时差(但是用kalibr标定出来和在线估计出来都存在大概-0.06的时间差)

#unsynchronization parameters
estimate_td: 0                      # online estimate time offset between camera and imu
td: 0.000                           # initial value of time offset. unit: s. readed image clock + td = real image clock (IMU clock)

6、相机曝光方式应为全局曝光

#rolling shutter parameters
rolling_shutter: 0                      # 0: global shutter camera, 1: rolling shutter camera
rolling_shutter_tr: 0               # unit: s. rolling shutter read out time per frame (from data sheet).

然后就可以运行了

roslaunch realsense2_camera rs_camera.launch
roslaunch vins_estimator realsense_color.launch
roslaunch vins_estimator vins_rviz.launch

报错:

[ WARN] [1652767456.813384298]: waiting for image and imu...
vocabulary_file/home/sfann/catkin_ws/src/VINS-Mono/pose_graph/../support_files/brief_k10L6.bin
loop start load vocabulary
OpenCV Error: Assertion failed (_mask.empty() || (_mask.type() == CV_8UC1 && _mask.sameSize(_image))) in goodFeaturesToTrack, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/featureselect.cpp, line 366
terminate called after throwing an instance of 'cv::Exception'what():  /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/featureselect.cpp:366: error: (-215) _mask.empty() || (_mask.type() == CV_8UC1 && _mask.sameSize(_image)) in function goodFeaturesToTrackBRIEF_PATTERN_FILE/home/sfann/catkin_ws/src/VINS-Mono/pose_graph/../support_files/brief_pattern.yml
/home/tony-ws1/output/pose_graph/ not exists, trying to create it
/home/tony-ws1/output not exists, trying to create it
/home/tony-ws1 not exists, trying to create it
Failed to create folder /home/tony-ws1
/home/tony-ws1/output/ not exists, trying to create it
/home/tony-ws1 not exists, trying to create it
Failed to create folder /home/tony-ws1
no previous pose graph
[feature_tracker-1] process has died [pid 8424, exit code -6, cmd /home/sfann/catkin_ws/devel/lib/feature_tracker/feature_tracker __name:=feature_tracker __log:=/home/sfann/.ros/log/2a718c1c-d5a7-11ec-a32c-000c298e2de6/feature_tracker-1.log].
log file: /home/sfann/.ros/log/2a718c1c-d5a7-11ec-a32c-000c298e2de6/feature_tracker-1*.log
[ WARN] [1652767552.186227336]: image discontinue! detect a new sequence!
new sequence
sequence cnt 2
[ WARN] [1652767557.666477363]: image discontinue! detect a new sequence!
new sequence
sequence cnt 3
[ WARN] [1652767601.168880999]: image discontinue! detect a new sequence!
new sequence
sequence cnt 4
[ WARN] [1652767626.179102064]: image discontinue! detect a new sequence!
new sequence
sequence cnt 5
[ WARN] [1652767632.880353309]: image discontinue! detect a new sequence!
new sequence
sequence cnt 6
[ WARN] [1652767632.908686706]: only support 5 sequences since it's boring to copy code for more sequences.
[FATAL] [1652767632.908739701]: BREAKPOINT HITfile = /home/sfann/catkin_ws/src/VINS-Mono/pose_graph/src/pose_graph_node.cppline=77[pose_graph-3] process has died [pid 8426, exit code -9, cmd /home/sfann/catkin_ws/devel/lib/pose_graph/pose_graph __name:=pose_graph __log:=/home/sfann/.ros/log/2a718c1c-d5a7-11ec-a32c-000c298e2de6/pose_graph-3.log].
log file: /home/sfann/.ros/log/2a718c1c-d5a7-11ec-a32c-000c298e2de6/pose_graph-3*.log

解决办法:

修改enable_gyro,enable_accel为true;默认不发布

<arg name="enable_gyro"   default="true"/>
<arg name="enable_accel"  default="true"/>

修改相机的图片大小相关参数,以及根据相机的内参矩阵K对相机的内参进行修改

image_width: 1280
image_height: 720

修改后的文件

参考文献

https://blog.csdn.net/weixin_44444810/article/details/121252009?
https://blog.csdn.net/qq_41839222/article/details/86552367

Ubuntu 18.04 ———(Intel RealSense D435i)运行VINS-Mono相关推荐

  1. Ubuntu 18.04 Intel RealSense D435i 相机标定教程

    1.D435i相机简介 RealSenseD435i 是一款立体视觉深度相机,如下图所示,其集成了两个红外传感器(IR Stereo Camera).一个红外激光发射器(IR Projector)和一 ...

  2. .nsh 怎么样运行_如何在Ubuntu 18.04上使用nsh运行安全的远程命令

    .nsh 怎么样运行 介绍 (Introduction) It can often be difficult to manage multiple machines on a daily basis. ...

  3. Ubuntu 18.04安装GPGPU-Sim,运行ispass-2009 benchmarks

    最近做实验要搭建GPGPU-Sim环境,无奈这个软件太过小众,官网教程也不明确,百度只查到大光叔叔在2015年发的比较完整的安装方法(大光安装方法),但安装的Ubuntu版本太过老旧,还是server ...

  4. ubuntu16.04 Intel Realsense D435i 环境安装

    ubuntu16.04 Intel D435i 开发 背景 intel Realsense D435i 环境配置 安装realsense D435i SDK以及realsense-ros 安装libr ...

  5. Linex Ubuntu环境下 Intel Realsense D435I 驱动+ROS驱动安装配置

    任务背景 在ROS环境中使用d435i,订阅图像和imu数据 任务概述 实现在ros中使用d435i主要有两步骤:1.安装d435i sdk,即librealsense: 2.安装realsense- ...

  6. Ubuntu 18.04 安装RealSense D435教程

    1.更新内核 运行代码 uname -r 如果>=4.4.0-50的版本则ok,否则需要升级内核. 2.更新cmake(需要3.6以上版本)(需要科学上网) 首先下载cmake-3.13.2.t ...

  7. linux18.04 英文文件夹,在Ubuntu 18.04 LTS中打开文件夹的6种方法

    在Ubuntu中打开文件夹是作为常规Ubuntu用户执行的基本任务之一.尽管有很多方法可以这样做,但是当访问系统上的文件夹时,我们都有选择的方式. 在本文中,我们将解释一些方法: 在文件管理器(Nau ...

  8. linux右键没有创建新文件夹,将新建文档添加回Ubuntu 18.04中的右键菜单

    当我最近转移到Ubuntu 18.04时,我注意到Nautilus的右键菜单中没有选项来创建一个空文本文件. 当然,我可以使用命令行快速创建新文档,甚至可以使用文本编辑器创建新文件,但这不是我想要的. ...

  9. ubuntu系统配置nijia_使用Apache/Nginx在Ubuntu 18.04上安装InvoiceNinja的方法

    本文介绍使用Apache/Nginx在Ubuntu 18.04 Server上安装InvoiceNinja的方法,你需要一台至少具有512MB RAM的Linux服务器,同时要搭载PHP和MySQL/ ...

  10. linux如何调整文本大小,如何在Ubuntu 18.04 LTS中更改文本大小

    在使用Ubuntu系统时,如果您在阅读屏幕上的文本时遇到困难,可以根据您的视力要求通过多种方法对其进行修复. 在本文中,我们将介绍三种在Ubuntu中更改屏幕文本大小的方法. 我们已经在Ubuntu ...

最新文章

  1. 能力素质有所欠缺_孩子说话啰嗦没重点?家长学会“大脑整理术”,提高孩子表达能力...
  2. 围观云栖大会有感:从不“栖”而遇到后会有“栖”
  3. 64位Linux下的栈溢出
  4. 大专一年级计算机考试题,(大专一年级语文期中考试试卷.doc
  5. 自制快速冒烟测试小工具--基于python多线程(1)
  6. 【笛卡尔树】【线段树】meetings 会议(P5044)
  7. MIPS快速入门(原文+翻译):MIPS Architecture and Assembly Language Overview(持续更新中)
  8. holer实现外网访问内网数据库
  9. createPattern() 自定义宽高
  10. 一个合格程序员的标准
  11. extjs 方法执行顺序_百战程序员:方法论
  12. ++[[]][+[]]+[+[]] == 10 //true
  13. 为什么有的人手机通知栏显示的是4G+而有的是HD?
  14. Flexsim在固定资源类中没有分拣传送带?
  15. 中国移动”5G大规模外场测试技术要求(V1.0)”基站要求
  16. MySQL笔记4——SQL去重/笛卡尔积现象
  17. 【Mysql 错误定位】语法错误
  18. QIIME2教程. 03老司机上路指南Experience(2020.11)
  19. java证书验证失败_使用certbot证书验证失败
  20. mac 远程控制android,允许Mac用户使用其Android设备远程控制其Mac媒体

热门文章

  1. 视频号该如何涨粉引流,分享10种涨粉技巧+5种引流方法丨国仁网络
  2. 【第134期】 游戏策划:我录用了一位待业半年的往届生
  3. 条形码识别软件linux,条形码生成和识别库 Aspose.BarCode
  4. 机器学习 --- PCA
  5. VS2005使用easyx图形库graphics.h链接过程出错:error LNK2001: 无法解析的外部符号 __iob
  6. 【Java IO流知识总结】
  7. 【Python】Python脚本命令行解析
  8. JS HTML标签尺寸距离位置定位计算
  9. earth power oracle,平行世界 | 他「抛弃」绘画从事摄影,将绘画与摄影结合在一起,创造了电影般的震撼场景,邀请我们与他一起穿越黑暗世界的旅程...
  10. 14_扫雷游戏地雷数计算