T265相机标定

1.标定IMU

1.1在机载端录制imu的.bag文件

修改rs_t265.launch

<arg name="unite_imu_method" default="linear_interpolation"/>
#不懂
<arg name="enable_sync"   default="true"/>
#开启同步
roslaunch realsense2_camera rs_t265.launch
#启动t265相机

rosrun topic_tools throttle messages /camera/imu 200.0 /imu/data #控制输出频率和更改话题名

rosbag record /imu/data -o imu_uav.bag --duration=2h #录制bag文件

1.2在主机上标定imu(该步骤暂时写在calibrate_imu.sh文件中)

roslaunch imu_utils t265_imu.launch #运行标定软件

t265_imu.launch文件内容如下

<launch>
    <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
        <param name="imu_topic" type="string" value= "/imu"/>#IMU发布的话题
        <param name="imu_name" type="string" value= "imu1"/>#IMU名字
        <param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
        <param name="max_time_min" type="int" value= "120"/>#运行时间
        <param name="max_cluster" type="int" value= "100"/>
    </node>
</launch>

rosbag play -r 1000 ~/nnz_vins/kalibr/t265/t265_01/imu.bag #播放bag文件

2.标定双目相机

2.1在机载端录制camra.bag文件(暂时放于001.sh中)

rosrun topic_tools throttle messages /camera/fisheye1/image_raw 20.0 /fisheye1 修改相机和IMU的输出频率和话题名

rosrun topic_tools throttle messages /camera/fisheye2/image_raw 20.0 /fisheye2

#数据频率推荐是20,但是很多人用的4,.bag文件大小20hz是1.9G,4hz是512mb

rosrun topic_tools throttle messages /camera/imu 200.0 /imu

rosbag record -O imu_cameras_calibration /fisheye1 /fisheye2 /imu --duration=100 #录制.bag文件

2.2在主机上标定相机

rosrun kalibr kalibr_calibrate_cameras --target ./apriltags.yaml --bag ./calibration.bag --bag-from-to 10 90 --models pinhole-equi pinhole-equi --topics /fisheye1 /fisheye2 --approx-sync 0.04

#--target 标定板参数文件 --models 相机模型 运行openvins算法models选择pinhole-equi

此处有疑问,其他人选择的相机模型为omni-radtan,我觉得也是这样,单openvins里面对鱼眼相机推荐为pinhole-equi

#openvins相机模型选择参考: ​​​​​https://docs.openvins.com/gs-calibration.htmls​​​​​​

#相机模型参数:Supported models · ethz-asl/kalibr Wiki · GitHub

2.3遇到的问题及解决办法

2.3.1焦距初始化失败

Initialization of focal length failed. You can enable manual input by setting ‘KALIBR_MANUAL_FOCAL_LENGTH_INIT’.

焦距初始化失败

export KALIBR_MANUAL_FOCAL_LENGTH_INIT=1

终端中设置变量 KALIBR_MANUAL_FOCAL_LENGTH_INIT = 1,重新运行程序, 然后程序运行时报错会提示手动输入,手动给相机设置初始焦距400

2.3.2标定板获取

在线下载标定板PDF:Camera Calibration Pattern Generator – calib.io

3.联合标定

修改imu参数文件格式为kalibr支持的格式,新建一个yaml文件,需要的是acc_n、acc_w、gyr_n和gyr_w这四个数据,将其对应的填到文件中即可

touch imu.yaml #新建文件

3.1主机上进行标定

rosrun kalibr kalibr_calibrate_imu_camera --target ./apriltags.yaml --cam ./imu_cameras_calibration_camchain.yaml --imu ./imu.yaml --bag imu_cameras_calibration.bag --bag-from-to 10 90
#--target 标定板参数信息存放的路径,即我们上面的april_s.yaml的路径 --cam Camera的标定文件路径 --imu IMU的标定文件路径 --bag 录制的Camera-IMU数据包的路径 --bag-from-to 起始和终止时间,单位是秒。为了避免开始录制和结束录制时的抖动,这里取了第30秒到第90秒之间的信息。

rosrun kalibr kalibr_calibrate_imu_camera --imu-models scale-misalignment --reprojection-sigma 1.0 --target apriltags.yaml --imu imu.yaml --cams cam.yaml --bag calibration.bag --show-extraction

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值