小觅相机问题解决后开始进行标定的事

小觅相机问题解决后开始进行标定的事项:

0:一定确保环境安装正常,这里出了问题就等于白给,测试环境可以参考https://blog.csdn.net/u011392872/article/details/106204419/

1:开始准备小觅相机的标定,

运行

roslaunch mynt_eye_ros_wrapper mynteye.launch

//这条语句对小觅相机是通用的,如果roslaunch失败,请检查环境变量,或者进入到小觅相机的SDK里,激活下devel/setup.bash 比如小觅标准版S:

cd MYNT-EYE-S-SDK 

source ./wrappers/ros/devel/setup.bash

     激活后再运行 

roslaunch mynt_eye_ros_wrapper mynteye.launch

 

然后新建一个窗口,运行 

roslaunch mynt_eye_ros_wrapper display.launch 

因为是双目相机,所以有左右两个相机端口,如果需要修改相机话题发布频率,(ps:环境是基于ROS的,所以通信是使用话题的)。

可以采用以下的例子方法,

新建一个窗口输入这段代码,作用为,将摄像机流的频率降低到4 Hz左右,

rosrun topic_tools throttle messages /mynteye/left/image_raw 4.0

 

rosrun topic_tools throttle messages /mynteye/right/image_raw 4.0 

做好数据预处理后,就可以开始采集数据了,

这里分条块做出处理,

1.做双目相机和imu的联合标定(基于小觅相机S)

记录数据包:

rosbag record -o 3.bag /mynteye/left/image_color /mynteye/right/image_color

这里使用的是kalibr标定工具,下载安装和配置环境时一定要注意不要出错,特别是opencv的地方,版本不对,或是安装命令的执行顺序等,都会爆出一堆奇奇怪怪的错误,甚至有可能你在github的issue里都翻完几百页都找不到的奇葩错误,如果出错,

请及时回填,检查手法,1重新装填依赖包,避免依赖缺失,2卸载已经装好的kalibr,3重装opencv,4重装opencv,或在cmakelist里指定opencv的路径,

标定准备:(ps:里面的\是换行符,输入后敲回车等待下一行出现>后继续输入指令就好,效果检验可以输完执行后,按方向键↑进行回滚查看,会默认置为一行的内容)。

kalibr_calibrate_cameras \    ---------------------这里是工具名字

--bag [filename.bag] \    ---------------------这里是之前rosbag record 记录下来的包的名字

--topics [TOPIC_0 ... TOPIC_N] \    ---------------------这里是当时指定的话题名字,(对应这里的: 记录数据包:rosbag record -o 3.bag /mynteye/left/image_color /mynteye/right/image_color  /mynteye/left/image_color和/mynteye/right/image_color)

--models [MODEL_0 ... MODEL_N] \    ---------------------这里是用于指定相机模型的,常见的相机模型有pinhole 和equel等等,使用小觅相机时采用pinhole和equels都可以。

--target [target.yaml]    ---------------------这里是从官网下载的yaml文件,

yaml文件在这里贴一份,备注修改。

比如这里使用的语句:

kalibr_calibrate_imu_camera --target april_6x6.yaml --cam camchain.yaml --imu imu_adis16448.yaml --bag ImuCam_2021-02-08-09-08-41.bag --bag-from-to 5 45

先贴出yaml内容:(ps:该内容即是本文参考的博文里链接包内的文件)

下载链接https://download.csdn.net/download/qq_41949066/15117187

内容:

april_6x6.yaml //这是文件名别粘进去

#example for aprilgrid
  target_type: 'aprilgrid' #gridtype
  tagCols: 6                  #number of apriltags
  tagRows: 6                  #number of apriltags
  tagSize: 0.015              #size of apriltag, edge to edge [m]
  tagSpacing: 0.3             #ratio of space between tags to tagSize
                              #example: tagSize=2m, spacing=0.5m --> tagSpacing=0.25[-]

#example for checkerboard
#  targetType: 'checkerboard' #gridtype
#  targetCols: 6              #number of internal chessboard corners
#  targetRows: 7              #number of internal chessboard corners
#  rowsMetricSize: 0.06       #size of one chessboard square [m]
#  colsMetricSize: 0.06       #size of one chessboard square [m]


 

camchain.yaml//这是文件名别粘进去

cam0:
  cam_overlaps: [1, 3]
  camera_model: pinhole
  distortion_coeffs: [-0.0016509958435871643, 0.02437222940989351, -0.03582816956989852,
    0.019860839087717054]
  distortion_model: equidistant
  intrinsics: [461.487246372674, 460.1113992557959, 356.39105303227853, 231.15719697054647]
  resolution: [752, 480]
  rostopic: /cam0/image_raw
cam1:
  T_cn_cnm1:
  - [0.9999987703316401, 0.0011891090293591699, -0.0010224259962834177, -0.11016759824092018]
  - [-0.0011883808160330711, 0.9999990400088897, 0.0007125533866886033, -0.0003216647632433766]
  - [0.0010232723184295653, -0.0007113374790444545, 0.9999992234560721, 0.00012078907255410462]
  - [0.0, 0.0, 0.0, 1.0]
  cam_overlaps: [0, 3]
  camera_model: pinhole
  distortion_coeffs: [-0.0009362378060020789, 0.018833308358932984, -0.030558453797100132,
    0.01955083559432553]
  distortion_model: equidistant
  intrinsics: [462.4318044040118, 461.1780497604126, 377.0119530476368, 226.49966248854923]
  resolution: [752, 480]
  rostopic: /cam1/image_raw


 

imu_adis16448.yaml//这是文件名别粘进去

rostopic: /imu0
update_rate: 200.0 #Hz

accelerometer_noise_density: 0.01 #continous
accelerometer_random_walk: 0.0002 
gyroscope_noise_density: 0.005 #continous
gyroscope_random_walk: 4.0e-06


 

粘贴完毕,测试包链接已发。

完成后修改参数即可,需要修改的地方为april_6x6.yaml

这里根据使用的标定板进行修改,贴出翻译

april_6x6.yaml //这是文件名别粘进去

#example for aprilgrid
  target_type:  标定板类型
  tagCols: 6   列数
  tagRows: 6 行数
  tagSize: 0.015 tagSize指的是每一个格子的尺寸
  tagSpacing: 0.3 标记之间的间距与标记大小的比率

测量后改写进去。

改写成功后,开始进行标定,

使用前请先激活kalibr工具:进入kalibr工作空间后

source kalibr_workspace/devel/setup.bash

然后比如使用语句进行相机和imu的联合标定:

kalibr_calibrate_imu_camera --target april_6x6.yaml --cam camchain.yaml --imu imu_adis16448.yaml --bag ImuCam_2021-02-08-09-08-41.bag --bag-from-to 5 45

执行完成后会生成一些文件,这些文件即是矫正相机模型时所需用到的数据,如果觉得不合适的,可以多次采集数据后进行校验处理,缩减误差。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值