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博客
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)