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

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

3天内不再提示

DDS在ROS2中的应用

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

DDS在ROS2中的应用

DDS在ROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。在这个ROS2的架构图中,蓝色和红色部分就是DDS。

图片

刚才我们也提到,DDS是一种通信的标准,就像4G5G一样,既然是标准,那大家都可以按照这个标准来实现对应的功能,所以华为、高通都有很多5G的技术专利,DDS也是一样,能够按照DDS标准实现的通信系统很多,这里每一个红色模块,就是某一企业或组织实现的一种DDS系统。

既然可选用的DDS这么多,那我们该用哪一个呢?具体而言,他们肯定都符合基本标准,但还是会有性能上的差别,ROS2的原则就是尽量兼容,让用户根据使用场景选择,比如个人开发,我们选择一个开源版本的DDS就行,如果是工业应用,那可能得选择一个商业授权的版本了。

为了实现对多个DDS的兼容,ROS设计了一个Middleware中间件,也就是一个统一的标准,不管我们用那个DDS,保证上层编程使用的函数接口都是一样的。此时兼容性的问题就转移给了DDS厂商,如果他们想让自己的DDS系统进入ROS生态,就得按照ROS的接口标准,开发一个驱动,也就是这个部分。

无论如何,ROS的宗旨不变,要提高软件代码的复用性,下边DDS任你边,上边的软件没影响。

在ROS的四大组成部分中,由于DDS的加入,大大提高了分布式通信系统的综合能力,这样我们在开发机器人的过程中,就不需要纠结通信的问题,可以把更多时间放在其他部分的应用开发上。

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

    关注

    211

    文章

    28403

    浏览量

    207009
  • 通信
    +关注

    关注

    18

    文章

    6029

    浏览量

    135973
  • DDS
    DDS
    +关注

    关注

    21

    文章

    634

    浏览量

    152648
  • ROS
    ROS
    +关注

    关注

    1

    文章

    278

    浏览量

    17006
收藏 人收藏

    评论

    相关推荐

    系统镜像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是怎样进行通信的

    的 teleop 软件包用键盘远程控制 Kobuki 机器人了:[img][/img]ROS2 (micro_ros)前面提到,第二代 ROS 主机之间的通信是建立
    发表于 04-01 11:38

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

    地平线的TogetherROS)的设备,设备的IP地址同一网段,并且ROS_DOMAIN_ID相同(如果不设置,默认是0),即可实现设备之间通过ROS2通信。原作者:zhuk
    发表于 07-13 15:13

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

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

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

    /suitesparse-devel-5.10.1-2.oe2203.riscv64.rpm 安装 ROS2 humble packages.list(见附件)列了现阶段已经支持的软件包,可以
    发表于 09-04 03:33

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

    VisionFive2 上体验 ROS2 humble 一、系统准备 参考 VisionFive2 上安装
    发表于 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'>在</b><b class='flag-5'>ROS2</b><b class='flag-5'>中</b>运行小乌龟实例

    Window10怎么安装ROS2

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

    了解ROS2是什么

    ROS2是从底层构建时便考虑使其适用于商业用途,它是机器人操作系统现有框架的重构,经过优化以适用于工业应用,开发可在新的应用中进行扩展,如移动机器人、无人机群和自动驾驶汽车。
    的头像 发表于 02-28 13:38 2.1w次阅读

    如何在命令行配置DDS

    ,循环发布任意数据,另外一个终端,如果我们使用reliable模型订阅同一话题,无法实现数据通信,如果修改为同样的best_effort,才能实现数据传输。 $ ros2 topic pub
    的头像 发表于 11-24 18:03 978次阅读
    如何在命令行<b class='flag-5'>中</b>配置<b class='flag-5'>DDS</b>

    ros1和ros2的通信模型

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

    ROS2自带例程测试

    的一个例程。 和刚才一样打开两个终端,这里我们需要source一下ROS里的环境变量。 该环境变量我们刚才已经设置了过软连接,所以配置过程它也会配置ROS2的功能包路径。 终端1输
    的头像 发表于 11-28 16:29 965次阅读
    <b class='flag-5'>ROS2</b><b class='flag-5'>中</b>自带例程测试

    TogetherROS如何安装ROS2功能包

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