使用ROS和AprilTags进行相机定位

环境:
虚拟机:VMware workstation Ubuntu 18.04 ROS: melodic
相机:笔记本自带

一、USB相机驱动

1.在Ubuntu中打开相机

要首先测试,在Ubuntu中相机是否可以正常打开。
打开相机:菜单栏 --> 茄子
如果黑屏且显示:“未发现设备”,执行以下步骤:
在这里插入图片描述
检查摄像头:
打开终端:lsusb
查找到usb相机

2.安装uvc camera功能包

sudo apt-get install ros-melodic-uvc-camera

3.安装usb_cam软件包

sudo apt-get install ros-melodic-usb-cam

4.运行uvc_camera节点,调出摄像头:依次打开终端输入:

(1)roscore
(2)rosrun uvc_camera uvc_camera_node
(3)rosrun rqt_image_view rqt_image_view
调出摄像头:
在这里插入图片描述

二、相机标定 camera calibration

1.需要软件包:

Apriltags2_VO-master/apriltags2_ros
image_pipeline-noetic/camera_calibration
文件路径:
catkin_ws/src/Apriltags2_VO-master/apriltags2_ros
catkin_ws/src/image_pipeline-noetic/camera_calibration
实验室现有上述代码已经做过更改,都要在workspace中catkin_make 编译成功,并且 设置环境变量

2.编译过程中可能出现错误:

前一段时间电脑系统崩溃,导致Ubuntu重装。

  • 共享文件夹方法:
    https://jingyan.baidu.com/article/fec7a1e54ff0935191b4e765.html
  • Ubuntu 网络激活失败解决办法
    (但是解决后好像还是会继续出现这个毛病):
    https://blog.csdn.net/Javaxw666/article/details/88137325
  • 编译出错:
    在这里插入图片描述
    分析:缺少缺少ros的串口包
    解决办法: sudo apt-get install ros-melodic-serial
    见博客:https://blog.csdn.net/weixin_37058227/article/details/79319056
  • 编译出错:
    关于serialport,没有在include中找到头文件 “serial_port/xyz.h”,serialport的include文件夹是空的
    在这里插入图片描述在这里插入图片描述
    解决办法:找到laser.h,放入serial_port/include文件夹中
    并在serial_port/src/serial_port.cpp 中加入头文件: #include “serial_port/laser.h”

3.开始标定:依次打开终端输入:

1.roscore
2.roslaunch usb_cam usb_cam-test.launch(在usb_cam-test.launch的文件夹路径中打开终端) 调出摄像头
在这里插入图片描述
3.rosrun camera_calibration cameracalibrator.py --size 7x5 --square 0.018 image:=/usb_cam/image_raw camera:=/usb_cam
注意:这里有几个参数需要根据自己设定 size 7x5的7x5标定棋盘的内角点数,不是色块数; square 0.018 是色块的大小,单位是米;
上述命令执行后会出来摄像头标定窗口
在这里插入图片描述
标定过程:当移动棋盘时,会看到校准侧栏上的三个条的长度增加。当CALIBRATE按钮亮起时,表明有足够的数据进行校准,可以单击CALIBRATE查看结果。校准可能需要大约一分钟。窗户可能是灰色的,但只是等待,它正在工作。

点击save,会卡一会。点击upload。数据会自动导入。重新启动摄像头、标定完成。

三、摄像头二维码定位

1.依次打开终端:

1.roscore
2.roslaunch usb_cam usb_cam-test.launch 打开摄像头
3.roslaunch apriltags2_ros continuous_detections.launch 运行apriltags2_ros
(报错时,设置一下环境变量,输入:source devel/setup.bash)
4.rostopic echo /tag_detections 运行二维码检测节点,输出定位结果

2.打开Rviz之后对其设置:

在这里插入图片描述

3.检测结果,动态显示:在这里插入图片描述

致谢:
参考博客:

  1. https://blog.csdn.net/qq_42879437/article/details/108850578?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
  2. https://www.cnblogs.com/linuxAndMcu/p/10649356.html
  3. https://blog.csdn.net/weixin_43331257/article/details/82932904
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值