当前位置: 首页 > news >正文

【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】

【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】

提示:继上篇文章

文章目录

  • 【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】
  • 四、RGB相机与IMU联合标定
    • 1.调节帧率
    • 2.录制数据包
    • 3.重写yaml文件
      • (1)相机标定的yaml文件
      • camchain-…camd435i.yaml
      • (2)新建imu.yaml
    • 4.使用Kalibr进行标定
      • 生成好多个文件,主要关注一个文件:


四、RGB相机与IMU联合标定

1.调节帧率

相机20Hz,IMU200Hz,官方说这个参数比较好,并分别以/color和/imu为话题名发布

roslaunch realsense2_camera rs_camera.launch color_width:=640 color_height:=480 color_fps:=30
rosrun topic_tools throttle messages /camera/color/image_raw 20.0 /color
rosrun topic_tools throttle messages /camera/imu 200.0 /imu

2.录制数据包

官方似乎没有说录多久,但是说了每一个方向都要给激励,可以参考官网的视频。YouTube看不了的话可以看泡泡机器人搬运过来的视频。
总结下来就是偏航角左右摆动2次,俯仰角摆动2次,滚转角摆动2次,上下移动2次,左右移动2次,前后移动2次,然后自由移动一段时间,摆动幅度要大一点,让视角变化大一点,但是移动要缓慢一点,同时要保证标定板在2个相机视野内部,整个标定时间要在90s以上更好,但是优化时间会比较长。

rosbag record -O dynamic /color /imu

3.重写yaml文件

标定需要三个文件,一个是相机的标定文件,一个是IMU的标定文件,一个是录制的数据包

(1)相机标定的yaml文件

由于我们刚刚也是在kalibr工作环境下标定的,所以直接用刚刚标定好的相机yaml文件即可。
即上述所说的

camchain-…camd435i.yaml

cam0:cam_overlaps: []camera_model: pinholedistortion_coeffs: [0.11114194921960645, -0.2171600270591326, -0.0037942616908056637,-0.004000340562604045]distortion_model: radtanintrinsics: [579.5589935482029, 578.1762234104125, 326.6772381912598, 243.3955018655041]resolution: [640, 480]rostopic: /color

(2)新建imu.yaml

在kalibr工作环境目录下新建imu.yaml文件,格式如下:
格式如下:

#Accelerometers
accelerometer_noise_density: 1.86e-03   #Noise density (continuous-time)
accelerometer_random_walk:   4.33e-04   #Bias random walk#Gyroscopes
gyroscope_noise_density:     1.87e-04   #Noise density (continuous-time)
gyroscope_random_walk:       2.66e-05   #Bias random walkrostopic:                    /imu0      #the IMU ROS topic
update_rate:                 200.0      #Hz (for discretization of the values above)

已知

Gyr:avg-axis:gyr_n: 3.1820671461855504e-03gyr_w: 3.0693398103399251e-05
Acc:avg-axis:acc_n: 2.6449533258549235e-02acc_w: 7.2111910796954259e-04

把IMU标定结果对应地填到imu.yaml去,如下:

#Accelerometers
accelerometer_noise_density: 2.64e-02   #Noise density (continuous-time)
accelerometer_random_walk:   7.21e-04   #Bias random walk#Gyroscopes
gyroscope_noise_density:     3.18e-03   #Noise density (continuous-time)
gyroscope_random_walk:       3.07e-05   #Bias random walkrostopic:                    /imu   #the IMU ROS topic
update_rate:                 200.0      #Hz (for discretization of the values above)

由于我们刚刚也是在kalibr工作环境下标定的,所以直接用刚刚标定好的相机yaml文件即可。
即上述所说的

4.使用Kalibr进行标定

然后下面的参数仍然需要自己修改

rosrun kalibr_calibrate_imu_camera --target 标定板位置/标定板名称.yaml --cam 相机标定位置/相机标定名称.yaml --imu imu.yaml --bag dynamic.bag --show-extractionrosrun kalibr kalibr_calibrate_imu_camera --target ../camera_calib/april_6x6_80x80cm.yaml --cam ./d435i-camchain.yaml --imu imu.yaml --bag dynamic.bag --show-extraction# --show-extraction 可以增加参数可视化标定

在这里插入图片描述

运行时间会根据你录制数据包的大小和电脑性能而定,我录制了将近两分钟,电脑是四年前的神舟,所以速度较慢,大概用了有半个小时以上,可以去喝杯咖啡再回来看看。

生成好多个文件,主要关注一个文件:

camchain-imucam-dynamic.yaml

里面有一个T_cam_imu,就是我们要求的外参。

http://www.dtcms.com/a/511672.html

相关文章:

  • 单肩包自定义页面设计模板seo关键词优化软件app
  • 朊病毒检测市场:技术突破与公共卫生需求驱动下的全球增长
  • 思维清晰的基石:概念和命题解析
  • ubuntu中替换python版本
  • mybatis请求重试工具
  • 高速运放输入引脚并联电阻太小会怎样?
  • vue前端面试题——记录一次面试当中遇到的题(10)
  • 有没有做高仿手表的网站php网站地图
  • wordpress提交百度站长中建装饰集团有限公司官网
  • 牛客网 AI题​(一)机器学习 + 深度学习
  • 第一例:石头剪刀布的机器学习(xedu,示例15)
  • 【AI论文】D2E:基于桌面数据扩展视觉-动作预训练规模,以迁移至具身人工智能领域
  • 机器学习和深度学习模型训练流程
  • C++ STL——allocator
  • 开题报告--中美外贸企业电子商务模式的比较分析
  • 基于原子操作的 C++ 高并发跳表实现
  • java 8 lambda表达式对list进行分组
  • 网站建设 有聊天工具的吗网站开发者的设计构想
  • 建网站 北京网站接入支付宝在线交易怎么做
  • scrapy爬取豆瓣电影
  • bisheng 的 MCP服务器添加 或 系统集成
  • 一个完整的 TCP 服务器监听示例(C#)
  • 执行操作后元素的最高频率1 2(LeetCode 3346 3347)
  • Java 大视界 -- Java 大数据在智慧交通停车场智能管理与车位预测中的应用实践
  • 版本设计网站100个关键词
  • 网站前置审批工程建设服务平台
  • 共聚焦显微镜(LSCM)的针孔效应
  • STM32CubeMX
  • 网站实现搜索功能四川建设安全协会网站
  • spark组件-spark core(批处理)-rdd特性-内存计算