USB通信原理以及ROS2相机驱动安装

描述

在电脑上,我们最常用的接口之一,应该就是USB了,相比之前讲到的外设通信方法,USB更加复杂,速度也更快。

USB通信原理

USB不仅是我们生活中最常用的一种接口,也是一种串行总线的通讯方式。他类似于UART,有两根线用来传输数据。

而且USB还有专门的接口规范,比如我们常听说的USB Type A、Type C。例如这里列出来的USB口,打印机常用的B口,手机上用的C口,都是标准的USB接口。

USB的接口规范,使用广泛,很多成熟的外设都是采用的USB接口。

摄像头驱动

比如USB摄像头。

硬件接线

这里我们使用一个USB摄像头,通过一个相机驱动把它跑起来,并且可以看到图像数据。

方法有很多中,TogetherROS™·Bot兼容ROS2的所有功能,那我们就先试试ROS2中的标准方法,在旭日X3PI上直接安装一个usb_cam功能包。

ROS2相机驱动

安装与配置

首先安装ROS2的相机驱动包:

# 安装功能包
$ sudo apt install ros-foxy-usb-cam

安装好之后,为了让系统能够找到该功能包,需要进入tros的目录,建立对应的软连接。

# 建立软连接
$ cd /opt/tros
$ sudo python3 create_soft_link.py --foxy /opt/ros/foxy/ --tros /opt/tros/

因为旭日X3Pi可以连接csi摄像头,设备名占用了video0-7,所以外接的USB摄像头会被自动分配到video8,我们需要在ROS2的功能包中修改一下设备号。

# 修改配置文件
$ cd /opt/tros/share/usb_cam/config
$ sudo vim params.yaml

机器人

然后给这个设备添加权限,最后再设置TogetherROS™·Bot的环境变量就可以使用啦。

# 添加可执行权限
$ sudo chmod 777 /dev/video8
# 添加环境变量
$ source /opt/tros/local_setup.bash

运行相机驱动

我们来试一试。

$ ros2 launch usb_cam demo_launch.py     #启动相机,X3Pi
$ ros2 run rqt_image_view rqt_image_view #查看图像,PC

这里直接在X3Pi中启动usb_cam的launch文件,然后再启动一个能和他通信的Ubuntu桌面系统,打开rqt_image_view,选择对应的话题,就可以看到图像了。也就是说明我们成功的用TROS驱动了这个USB摄像头。

机器人

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分