系列文章目录
- walking机器人入门教程-目录
- walking机器人入门教程-硬件清单
- walking机器人入门教程-软件清单
- walking机器人入门教程-测试底盘
- walking机器人入门教程-测试键盘控制
- walking机器人入门教程-测试手柄
- walking机器人入门教程-测试D435i相机
- walking机器人入门教程-测试IMU
- walking机器人入门教程-测试激光雷达
- walking机器人入门教程-测试里程
- walking机器人入门教程-测试USB相机(选配)
- walking机器人入门教程-测试语音阵列(选配)
- walking机器人入门教程-查看TF树和机器人模型
- walking机器人入门教程-slam_toolbox算法建图
- walking机器人入门教程-cartographer算法建图
- walking机器人入门教程-gmapping算法建图
- walking机器人入门教程-单点导航
- walking机器人入门教程-多点导航
- walking机器人入门教程-融合建图和导航
- walking机器人入门教程-测试深度数据转激光数据
- walking机器人入门教程-视觉转激光建图-gmaping算法建图
- walking机器人入门教程-视觉转激光建图-slam_toolbox算法建图
- walking机器人入门教程-视觉转激光建图-cartographer算法建图
- walking机器人入门教程-语音交互-语音播报
- walking机器人入门教程-使用统一建图入口
- walking机器人入门教程-语音交互-录音和播放
- walking机器人入门教程-语音交互-配置百度语音服务
- walking机器人入门教程-语音交互-自定义唤醒词
- walking机器人入门教程-开启和关闭自启动功能
- walking机器人入门教程-实现基于WebRTC的p2p在线视频通话
- walking机器人入门教程-rosbag包的录制和回放
- walking机器人入门教程-离线建图-slam_toolbox算法建图
- walking机器人入门教程-离线建图-gampping算法建图
- walking机器人入门教程-离线建图-cartographer算法建图
- walking机器人入门教程-测试-直行1米测试线速度
- walking机器人入门教程-测试-旋转360度测试角速度
- walking机器人入门教程-应用-障碍检测
- walking机器人入门教程-应用-位置控制
- walking机器人入门教程-应用-绘制圆形
- walking机器人入门教程-视觉建图-rtabmap使用激光建图和导航
- walking机器人入门教程-视觉建图-rtabmap使用视觉建图和导航
- walking机器人入门教程-应用-查看图像话题
- walking机器人入门教程-应用-实现拍照功能
- walking机器人入门教程-应用-实现录像功能
- walking机器人入门教程-应用-读取图片文件并发布图像话题
- walking机器人入门教程-应用-生成aruco标签
- walking机器人入门教程-应用-识别图片中aruco标签
- walking机器人入门教程-应用-识别视频中aruco标签
- walking机器人入门教程-应用-定位视频中aruco标签
- walking机器人入门教程-应用-定位和发布aruco标签TF信息和位姿信息
- walking机器人入门教程-校准-相机校准
- walking机器人入门教程-应用-aruco标签TF实现跟随
- walking机器人入门教程-应用-aruco标签实现目标导航
- walking机器人入门教程-应用-全景图
- walking机器人入门教程-工具-命令管理器
说明:
- 介绍如何进行相机校准,获取更准确的图片数据
- 通过相机校准后,能获取更准确AR标签的定位数据
相关设备:
- walking机器人
- 罗技720P的摄像头
步骤:
- 进入棋盘图片目录
cd ~/aiwalking_ws/src/walking_visual/walking_visual/chessboard
- 打印pattern_6x9.png图片,这是一个6 x 9的棋盘图片.并粘贴到一个平板或硬纸板上
- 效果图:
- 启动相机, 目前测试的是罗技720P的摄像头
ros2 launch usb_camera_driver usb_camera_node.launch.py
- 启动之后,图像话题是/camera/image_raw
- 启动校准
ros2 run camera_calibration cameracalibrator --size 6x9 --square 0.021 --ros-args -r image:=/camera/image --ros-args -r camera:=/camera
- 参数size是棋盘格是6 x 9的, 每个单元格的边长square是0.021
- 指定图像话题是/camera/image_raw
- 带棋盘的纸板放在相机前
- 效果图:
- 然后放置不同的方位,上下左右前后各个方向的倾斜等,直到左边的X Y Size Skew都为绿色即可
- 标定完成,左边的“校准(CALIBATE)” “保存(SAVE)”按钮和“提交(COMMIT)”几个按钮就会点亮
- 效果图:
- 再点击左边的CALIBATE进行校准, 点一下就可以,这里容易误解没反应.实际处理有点慢.等几秒种就可以了
- 会在终端下显示校准后数据, 效果图下:
**** Calibrating ****
mono pinhole calibration...
D = [0.13498639482914762, -0.2009855613985599, 0.004663205151826484, -0.01561952859160686, 0.0]
K = [1413.8706554045123, 0.0, 562.3427378079716, 0.0, 1429.2309823544167, 379.80404189143763, 0.0, 0.0, 1.0]
R = [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P = [1437.0772705078125, 0.0, 549.0191073617716, 0.0, 0.0, 1471.25927734375, 381.29332585919474, 0.0, 0.0, 0.0, 1.0, 0.0]
None
# oST version 5.0 parameters
[image]
width
1280
height
720
[narrow_stereo]
camera matrix
1413.870655 0.000000 562.342738
0.000000 1429.230982 379.804042
0.000000 0.000000 1.000000
distortion
0.134986 -0.200986 0.004663 -0.015620 0.000000
rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
projection
1437.077271 0.000000 549.019107 0.000000
0.000000 1471.259277 381.293326 0.000000
0.000000 0.000000 1.000000 0.000000
- 再点击“保存(SAVE)”按钮,进行保存,效果如下:
('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')
- 解压, 里面包含了校准使用的图片, 含校准参数的ost.yaml和ost.txt文件
mkdir -p ~/tools/calibrate
tar -zxvf /tmp/calibrationdata.tar.gz -C ~/tools/calibrate
- 使用校准参数的文件, 如果相机启动时候没有指定校准文件.会出现提示
- 这里我们指定了usb_camera_node.launch.py文件使用如下路径
file:///home/ubuntu/aiwalking_ws/src/walking_visual/config/camera_720p.yaml
- 复制参数文件到指定目录下
cp ~/tools/calibrate/ost.yaml /home/ubuntu/aiwalking_ws/src/walking_visual/config/camera_720p.yaml
- 在启动相机,就会自动加载这个文件
参考:
- navigation2的校准流程