使用evo测试aruco_detect精度
- 一、实验目的
- 二、实验设备
- 三、实验步骤
- 四、实验结果
- 五、实验结论
- 六、结论分析
一、实验目的
- 测试aruco_detect的精确度;
- 分析影响aruco_slam精准度的主要因素。
二、实验设备
- 普通USB单目摄像头一个;
- aruco_detect文件、usb_cam文件、fiducial_slam文件等;
- 有ros相关配置的Ubuntu系统(本实验使用的是18.04版本)。
三、实验步骤
- 配置好相关环境及文件;
- 更改usb_cam的launch 文件,将USB摄像头的端口改成与自己摄像头相适配的,如下图所示,将“video_device”对应的value改成了“/dev/video2”。
- 更改aruco_detect的launch文件,将USB端口的数据喂到aruco_detect中,如下图所示:
- 校准USB摄像头。
- 开始录制bag,命令如下:
roslaunch usb_cam usb_cam-test.launch
roslaunch aruco_detect aruco_detect.launch
roslaunch fiducial_slam fiducial_slam.launch
roslaunch fiducial_slam fiducial_rviz.launch
rosbag record -a
roscore
rosbag play <bag name>
rostopic echo -p /tf >tf.txt
- 处理tf.txt文件中的数据,使用evo小工具进行对其等处理,此处可以参考文章。
注:安装好evo之后如果tab不出来指令的话,可以尝试重启电脑,轨迹对齐的指令为:
evo_ape tum data.tum FrameTrajectory_TUM_Format.txt -va --plot
四、实验结果
五、实验结论
- aruco_detect结合fiducial_slam对于单个二维码的定位效果较好,在识别出来的情况下可以达到厘米级,但是对于存在多个二维码的环境,它所存在的误差极大,基本丧失了定位的效果。
- 在多个二维码的环境下,影响aruco定位效果的主要是二维码识别的稳定性上:即当视野中所有的二维码都能够准确识别出来时,该slam的定位效果良好,但是由于二维码摆放、远近(即在视野中的大小)等因素的影响,二维码的识别存在一定的不稳定性,这个不稳定性导致预测位置的抖动。
六、结论分析
- 本次aruco_detect的测试,虽然在多个二维码随机摆放的条件下效果极差,但是由单个二维码位置预测可以得出,摄像头与二维码的位置适合,例如二维码依次贴在天花板上,该slam将能很好的适用,就好像视频里面所展示的一样链接: aruco_example。
另外,我们也可以通过提高相机的分辨率来提高aruco_detect对二维码的检测。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)