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摄像头。

图片

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

    关注

    210

    文章

    28180

    浏览量

    206369
  • usb
    usb
    +关注

    关注

    60

    文章

    7888

    浏览量

    263929
  • 通信
    +关注

    关注

    18

    文章

    5968

    浏览量

    135829
  • 驱动
    +关注

    关注

    12

    文章

    1824

    浏览量

    85169
  • 相机
    +关注

    关注

    4

    文章

    1343

    浏览量

    53492
收藏 人收藏

    评论

    相关推荐

    系统镜像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

    【昉·星光 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

    Linux嵌入式开发笔记(六)在ROS2中运行小乌龟实例

    ROS2中运行小乌龟,其实主要就是安装两个工具,turtlesim和rqt。A: 安装turtlesim。输入【sudo apt update】输入【sudo apt install
    发表于 11-02 15:21 10次下载
    Linux嵌入式开发笔记(六)在<b class='flag-5'>ROS2</b>中运行小乌龟实例

    Window10怎么安装ROS2

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

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

    ROS通信架构是ROS的灵魂所在,它包括数据处理,进程运行,消息传递等** 。这篇文章主要介绍ROS1的通信架构的基础
    的头像 发表于 05-19 17:23 3369次阅读
    <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 937次阅读
    X3派和PC虚拟<b class='flag-5'>机</b>之间基于<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 871次阅读
    DDS在<b class='flag-5'>ROS2</b>中的应用

    ros1和ros2通信模型

    数据 ROS2: 参与者(DomainParticipant):一个参与者Participant就是一个容器,对应于一个使用DDS的用户,任何DDS的用户都必须通过Participant来访问全局
    的头像 发表于 11-27 11:26 751次阅读
    <b class='flag-5'>ros</b>1和<b class='flag-5'>ros2</b>的<b class='flag-5'>通信</b>模型

    ROS2中自带例程测试

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

    在TogetherROS中如何安装ROS2功能包

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