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

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

3天内不再提示

DDS为ROS的通信系统提供了哪些特性

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

质量服务策略QoS

DDS为ROS通信系统提供了哪些特性呢?我们通过这个通信模型图来看下。

图片

DDS中的基本结构是Domain,Domain将各个应用程序绑定在一起进行通信,回忆下之前我们配置树莓派电脑通信的时候,配置的那个DOMAIN ID,就是对全局数据空间的分组定义,只有处于同一个DOMAIN小组中的节点才能互相通信。这样可以避免无用数据占用的资源。

DDS中另外一个重要特性就是质量服务策略,QoS。

QoS是一种网络传输策略,应用程序指定所需要的网络传输质量行为,QoS服务实现这种行为要求,尽可能地满足客户对通信质量的需求,可以理解为数据提供者和接收者之间的合约。

图片

具体会有哪些策略?比如:

DEADLINE策略,表示通信数据必须要在每次截止时间内完成一次通信;

HISTORY策略,表示针对历史数据的一个缓存大小;

RELIABILITY策略,表示数据通信的模式,配置成BEST_EFFORT,就是尽力传输模式,网络情况不好的时候,也要保证数据流畅,此时可能会导致数据丢失,配置成RELIABLE,就是可信赖模式,可以在通信中尽量保证图像的完整性,我们可以根据应用功能场景选择合适的通信模式;

DURABILITY策略,可以配置针对晚加入的节点,也保证有一定的历史数据发送过去,可以让新节点快速适应系统。

图片

所有这些策略在ROS系统中都可以通过类似这样的结构体配置,如果不配置的话,系统也会使用默认的参数

举一个机器人的例子便于大家理解。

比如我们遥控一个无人机航拍,如果网络情况不好的话,遥控器向无人机发送运动指令的过程,可以用reliable通信模式,保证每一个命令都可以顺利发送给无人机,但是可能会有一些延时,无人机传输图像的过程可以用best effort模式,保证视频的流畅性,但是可能会有掉帧。

如果此时出现一个黑客黑入我们的网络,也没有关系,我们可以给ROS2的通信数据进行加密,黑客也没有办法直接控制无人机。

DDS的加入,让ROS2的通信系统焕然一新,多众多样的通信配置,可以更好的满足不同场景下的机器人应用。

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

    关注

    206

    文章

    27033

    浏览量

    201400
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134391
  • DDS
    DDS
    +关注

    关注

    21

    文章

    614

    浏览量

    151731
  • ROS
    ROS
    +关注

    关注

    1

    文章

    271

    浏览量

    16680
收藏 人收藏

    评论

    相关推荐

    ROS是否适用于工业?

    ROS已经开始工业提供各种选项,我们可以通过这三个方面进一步了解ROS——ROS 1、
    发表于 10-17 13:24

    ROS RIKIBOT基础--使用系列 第一章节】ROS机器人硬件系统 精选资料分享

    ROS RIKIBOT基础–使用系列】ROS机器人硬件介绍1.RIKIBOT机器人硬件介绍1.1硬件框架ROS机器人硬件 采用树莓派和STM32驱动板组成双系统通信框架,具体组成参考
    发表于 07-30 06:59

    基于串口的STM32通过rosserial和ROS系统通信的代码

    前言最初参考网上资料移植一份基于串口的STM32通过rosserial和ROS系统通信的代码。对于小数据量格式的消息,可以正常通信,但消息量一大便会出错(如:发布
    发表于 08-06 08:54

    ROS与STM32是如何进行通信

    ROS与STM32通信2020.8.1主要内容制作ROS包,将控制命令传给STM32,并将接收到的数据作为话题进行发布STM32接收数据并将姿态数据传回给ROS接收:期望角速度、期望线
    发表于 08-11 07:25

    如何在ROS上使用serial包进行串口通信

    如何在ROS上使用其提供的serial包进行串口通信。我的环境介绍:PC:使用的是Ubuntu 16-04 ROS-Kinetic嵌入式端:STM32F071
    发表于 02-21 07:27

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

    ,重新再开发一套新的 ROS,这也就是 ROS2。新一代的 ROS2 使用 Data Distribution Service (DDS) 通信
    发表于 04-01 11:38

    怎样通过Arduino IDE直接使用ROS提供的一些特性

    直接使用ROS提供的一些特性。rosserial包提供一个ROS
    发表于 07-06 11:49

    ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

    ROS系统是什么 ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。它提供
    发表于 11-30 16:01

    最新RX65N微控制器,可以支持ROS 2的DDS

    (MCU) 的功能加速机器人系统的开发,以及支持DDS-XRCE(资源极端受限环境的数据分发服务),推动工业终端实现智能化。DDS-XRCE是即将推出的ROS 2
    发表于 04-06 17:02 1456次阅读
    最新RX65N微控制器,可以支持<b class='flag-5'>ROS</b> 2的<b class='flag-5'>DDS</b>

    利用ADISim DDS在线工具仿真DDS产品的频谱特性

    利用ADISim DDS来仿真DDS产品的频谱特性
    的头像 发表于 07-15 06:13 3639次阅读

    ROS与STM32通信

    ROS与STM32通信2020.8.1主要内容制作ROS包,将控制命令传给STM32,并将接收到的数据作为话题进行发布STM32接收数据并将姿态数据传回给ROS接收:期望角速度、期望线
    发表于 12-24 19:00 11次下载
    <b class='flag-5'>ROS</b>与STM32<b class='flag-5'>通信</b>

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

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

    什么是通信模型DDS

    来完成的,它相当于是ROS机器人系统中的神经网络。 通信模型 DDS的核心是通信,能够实现通信
    的头像 发表于 11-24 17:50 601次阅读

    DDSROS2中的应用

    DDSROS2中的应用 DDSROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。
    的头像 发表于 11-24 17:54 425次阅读
    <b class='flag-5'>DDS</b>在<b class='flag-5'>ROS</b>2中的应用

    ros1和ros2的通信模型

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