双目相机标定
0.介绍几个实用的ROS小技巧
这几个命令在标定遇到问题的时候可以分析错误
rostopic list /topic 查看topic
rostopic hz /topic 查看topic发布频率
rostopic info /topic 查看topic信息
rosbag info /topic 查看录制数据的一些信息
rosbag play /topic 播放录制的数据
1.环境配置以及前期准备
需要ROS环境,我的环境还需要补。安装小觅相机的SDK,请看官网。
前期准备:去github的kalibr下载标定板和对应yaml文件(例如april_6x6_50x50cmmy.yaml),建议原尺寸打印,十分的巨大。
sudo pip install python-igraph --upgrade
2.开启相机
cd MYNT-EYE-D-SDK
source wrappers/ros/devel/setup.bash
roslaunch mynteye_wrapper_d display.launch
3.重新发布一个topic,降低帧率
注意这里有个坑,多亏大佬提示,这两行是在新的两个终端里分别输入,然后输入后不需要再进行任何操作
rosrun topic_tools throttle messages /mynteye/right/image_color 4.0 /img_right
rosrun topic_tools throttle messages /mynteye/left/image_color 4.0 /img_left
4.将相机拍摄的照片流放在一个bag中
打开另一个新的终端,路径自己改
rosbag record -O ~/tmp/stereo_calibra.bag /img_left /img_right
录完检查bag信息,我第一次录的时候,bag缺少的
5.进行标定
新打开终端,建立一个新的基于ros的工作环境
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace/src
catkin_init_workspace
echo "source ~/kalibr_workspace/devel/setup.bash">>~/.bashrc
cd ~/kalibr_workspace/
catkin_make
下载工程代码并编译
cd ~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git
cd ..
catkin_make -j4
catkin_make时间比较长,确保没有错误,才能往下
#后面的中文不要输入啊
\命令换行用的,换行以后前面会提示>然后再输入
source ~/kalibr_workspace/devel/setup.bash
kalibr_calibrate_cameras \
--target ~/tmp/april_6x6_50x50cmmy.yaml \ #标定板的参数文件,需要根据实际情况修改
--bag ~/tmp/stereo_calibra.bag \ #刚才打包的照片
--models pinhole-radtan pinhole-radtan \ #默认相机模型
//我使用的是pinhole-equi pinhole-equi,效果好一点,可能比较符合小觅的,你们也可以尝试一下其他的模型
--topics /img_left /img_right #包中照片的topic
参考:
- https://blog.youkuaiyun.com/xinmei4275/article/details/84995151
- https://blog.youkuaiyun.com/ZHAGNQ/article/details/84036776
- https://blog.youkuaiyun.com/zhubaohua_bupt/article/details/80222321
- https://blog.youkuaiyun.com/heyijia0327/article/details/83583360