最后一步标定
得到imu和camera的外参矩阵
首先录制rosbag
// rosbag record /topic_name1 /topic_name2 /topic_name3 -O filename.bag
海康相机的topic需要自己手动写(还需研究)
得到含有相机和imu的rosbag包,
rosbag录制中标定中含有标定标定板的内容。(傻了,空录了一个包,导致一直角点不能从camera/image_raw)
啥都没有,怎么可能有呜呜呜…
kalibr安装
链接: https://github.com/ethz-asl/Kalibr.git.
别人的操作:
建立操作空间:
// mkdir -p~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/indigo/setup.bash
catkin init
catkin config --extend /opt/ros/indigo
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
##编译:
cd~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git
cd~/kalibr_workspace
catkin build -DCMAKE_BUILD_TYPE=Release -j4(根据自己电脑配置调整数值)
source~/kalibr_workspace/devel/setup.bash
我又有疑惑了,为啥不用catkin_make 。
然后发现其实catkin_make 编译也是一样的
上面内容我觉得麻烦
直接先建立操作空间
// mkdir -p~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git
cd ~/kalibr_workspace
catkin_make(-j*)##自己选择
即可
然后kalibr标定:
//
kalibr_calibrate_imu_camera --target /home/alinx/camera_imu_calibration/check.yaml --cam /home/alinx/camera_imu_calibration/cam_chain.yaml --imu /home/alinx/camera_imu_calibration/imu.yaml --bag /home/alinx/camera_imu_calibration/img_imu.bag --bag-from-to 0 12
// 棋盘格的设置与代码内参数设置一样即可
#example for checkerboard
target_type: 'checkerboard' #gridtype
targetRows: 12 #number of internal chessboard corners
targetCols: 8 #number of internal chessboard corners
rowSpacingMeters: 0.35 #size of one chessboard square [m]
colSpacingMeters: 0.35 #size of one chessboard square [m]
会卡住 一直在等待…
参考以下
链接: https://blog.csdn.net/u010590316/article/details/89297324.
可解决
可以得到标定结果(可我还没有得到 因为rosbag录制错误)
标定需要imu和cam的时间同步
后续重新录
再得到结果图
期待…