0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-11-24 15:38 次阅读

电脑上,我们最常用的接口之一,应该就是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摄像头。

图片

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

    关注

    208

    文章

    27403

    浏览量

    202401
  • usb
    usb
    +关注

    关注

    59

    文章

    7601

    浏览量

    260503
  • 通信
    +关注

    关注

    18

    文章

    5779

    浏览量

    134853
  • 驱动
    +关注

    关注

    12

    文章

    1739

    浏览量

    84575
  • 相机
    +关注

    关注

    4

    文章

    1272

    浏览量

    52836
收藏 人收藏

    评论

    相关推荐

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    ROS2安装与使用 精选资料推荐

    ros2的乌龟仿真turtlesim,介绍topic,service,action等元素及其使用,介绍ros的基本操作
    发表于 08-30 08:24

    如何在ROS2中运行小乌龟呢

    ROS2中运行小乌龟,其实主要就是安装两个工具,turtlesim和rqt。A: 安装turtlesim。输入【sudo apt update】输入【sudo apt install
    发表于 11-05 06:08

    RT-Thread实时操作系统与ROS2是怎样进行通信

    ,重新再开发一套新的 ROS,这也就是 ROS2。新一代的 ROS2 使用 Data Distribution Service (DDS) 通信,可以自动发现主机,这样分布式的系统设计
    发表于 04-01 11:38

    基于无线wifi网络的X3派和PC虚拟通过ROS2实现跨设备通信

    1、X3派和PC虚拟都连接无线wifi网络的情况下通过ROS2实现跨设备通信通信ROS
    发表于 07-13 15:13

    教你一步步创建自己的ROS2工作空间应用

    ,IP地址替换为自己的实际IP地址。ssh root@192.168.31.1922、在X3派中执行下面的命令脚本进行系统的更新以及ROS2编译环境依赖安装apt -y update &
    发表于 11-24 15:00

    imx8mp安装ros2失败的原因?

    我参考这个教程来创建一个ROS开发环境。我配置编译ROS2 dashing版时,最后编译正常生成完整固件。但是我在编译ROS2-foxy的时候会报错在meta-robot-platform/imx
    发表于 04-03 08:54

    【昉·星光 2 高性能RISC-V单板计算机体验】四:在 VisionFive2安装 ROS2 humble

    在 VisionFive2安装 ROS2 humble ROS(Robot Operating System)是一种用于编写机器人软件的灵活框架。它是一个工具(tools)、库
    发表于 09-04 03:33

    【昉·星光 2 高性能RISC-V单板计算机体验】五:在 VisionFive2 上体验 ROS2 humble

    在 VisionFive2 上体验 ROS2 humble 一、系统准备 参考 在 VisionFive2安装 ROS2 humble
    发表于 09-04 04:59

    Window10怎么安装ROS2

    Window10怎么安装ROS2,以下的操作都要管理员的权限,我可以提前剧透,我应该应该是没有安装上DDS,应该是算安装好了80%的样子。
    的头像 发表于 02-22 10:12 712次阅读
    Window10怎么<b class='flag-5'>安装</b><b class='flag-5'>ROS2</b>

    ROS1的通信架构的基础通信方式及相关概念

    ROS通信架构是ROS的灵魂所在,它包括数据处理,进程运行,消息传递等** 。这篇文章主要介绍ROS1的通信架构的基础
    的头像 发表于 05-19 17:23 2994次阅读
    <b class='flag-5'>ROS</b>1的<b class='flag-5'>通信</b>架构的基础<b class='flag-5'>通信</b>方式及相关概念

    X3派和PC虚拟机之间基于ROS2和wifi的通信

    X3派、PC虚拟机连接无线wifi网络下,通过ROS2实现跨设备通信……
    的头像 发表于 07-13 15:03 596次阅读
    X3派和PC虚拟机之间基于<b class='flag-5'>ROS2</b>和wifi的<b class='flag-5'>通信</b>

    DDS在ROS2中的应用

    DDS在ROS2中的应用 DDS在ROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。在这个ROS2的架构图中,蓝色和红色部分就是DDS。 刚才我们也提到,DDS是一种通信
    的头像 发表于 11-24 17:54 567次阅读
    DDS在<b class='flag-5'>ROS2</b>中的应用

    ROS2中自带例程测试

    如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装ROS2系统,那ROS2
    的头像 发表于 11-28 16:29 533次阅读
    <b class='flag-5'>ROS2</b>中自带例程测试

    在TogetherROS中如何安装ROS2功能包

    安装ROS2功能包 接下来,还有一个很重要的配置,那就是安装ROS2功能包,我们说TogetherROS是基于ROS2深度优化的,很多模块还
    的头像 发表于 12-01 16:02 602次阅读
    在TogetherROS中如何<b class='flag-5'>安装</b><b class='flag-5'>ROS2</b>功能包