在电脑上,我们最常用的接口之一,应该就是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摄像头。
智能袜子?!CES上的那些贴心设备
XR虚拟拍摄的“幕”后,LED器件这样助力
一种低成本、高精度的激光雷达辅助视觉SLAM系统
如何在电池应用中使用ADC中的省电模式节省功耗
联通有意推联通版小米手机:双方已会面讨论
USB通信原理以及ROS2相机驱动安装
简单的状态机入门知识详解
如何将PDF文件转化为WORD文档的步骤
AI算命的套路你知道吗你使用过吗?
电磁流量计的选型要求有哪些
美商柏恩与德国Kaschke KG正式向德国联邦政府申请合并审查
阿里为何抛售小鹏28亿股份 只是基于阿里的资本管理目标
禾赛XT32激光雷达为矿山“量身定制”智能化方案
江铃代工爱驰不是问题 爱驰能否迈向未来才是
USB控制器与phy有何关系
使用钽电解注意事项
Silicon Labs为轮调收音机设计推出最高集成度的多波段接收器解决方案
面向人工智能和深度学习嵌入式视觉优化设计
细说美国Rapid+TCT2018 3D打印展
“绝不造车”的华为,主持了一场新车发布会