Kalibr使用

1、imu标定(这个没有具体做)

(我的理解是 将imu_utils、code_utils和Kalibr放在一个kalibr_ws下)

imu_utils下载地址为:https://github.com/gaowenliang/imu_utils
code_utils下载地址为: GitHub - gaowenliang/code_utils: my code utils

具体操作步骤:

mkdir -p imu_ws/src
cd imu_ws/src
git clone https://github.com/gaowenliang/code_utils.git
cd ..
catkin_make
git clone https://github.com/gaowenliang/imu_utils.git
catkin_make

catkin_make 两次是因为imu_utils依赖code_utils

编译过程遇见: code_utils-master/src/sumpixel_test.cpp:2:24: fatal error: backward.hpp:No such file or directory

在code_utils下面找到sumpixel_test.cpp,修改#include "backward.hpp"为 #include “code_utils/backward.hpp”,再编译

2、相机标定

 下载kallibr :https://github.com/ethz-asl/kalibr

cd src
git clone https://github.com/ethz-asl/kalibr.git
cd ..
catkin build -DCMAKE_BUILD_TYPE=Release -j4
source devel/setup.bash

标定板下载与设置(我用的是apriltag格式的,也可以用其他格式的)

cd devel/bin
/kalibr_create_target_pdf --type apriltag --nx 6 --ny 6 --tsize 0.088 --tspace 0.0264

这里根据打印的板子大小进行调整,运行后在devel/bin中能够看到一个与你设置同大小的target.pdf,打印出来即可,其中tsize和tspace的意义如图所示

(图片来源:Kalibr进行IMU+相机的标定_ChrisLiu的博客-CSDN博客)

 然后需要在github中wiki/Downloads的最下面下载april_6x6_80x80cm.yaml,如果打不开网页,自己建立一个名字一样的yaml(名字是否一样好像无所谓,只要后续在终端输入正确即可),然后按照下面的格式进行修改

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

然后在终端输入

rosrun kalibr kalibr_calibrate_cameras --bag ../../2021-11-26-09-49-01.bag --topics /mynteye/left/image_color --models pinhole-equi --target ../april_6x6_80x80cm.yaml

即可,这里文件要按照自己的路径进行修改

最后就能够得到相机参数啦

4、标定camera+imu

同上,输入

rosrun kalibr kalibr_calibrate_imu_camera --target ../april_6x6_80x80cm.yaml --cam camchain-....2021-11-26-09-49-01.yaml --imu ../x6_imu.yaml --bag ../../2021-11-26-09-49-01.bag --timeoffset-padding 0.3

遇见RuntimeError: Optimization failed! 不要慌, 合理加大 timeoffset-padding 即可(我之前设置的0.1, 后来设置了0.3)

参考:Kalibr进行相机-IMU联合标定踩坑记录RuntimeError: Optimization failed!_hyper的博客-CSDN博客

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值