ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用ROS和AprilTags进行相机定位

2021-06-13 17:29:45  阅读:476  来源: 互联网

标签:ros usb 相机 camera 摄像头 cam 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

标签:ros,usb,相机,camera,摄像头,cam,ROS,AprilTags
来源: https://blog.csdn.net/qq_35686734/article/details/117881911

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有