• 一、ROS2简介


    ros2相关简介

    ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System)。但是ROS本身并不是一个操作系统,而是一个软件库和工具集
    Ros的出现解决了机器人各个组件的通信问题,后来越来越多的机器人算法也集成到了ROS中,ROS2继承了ROS,相比ROS更强大更优秀。
    ROS的设计目的:简化在各种机器人平台上创建复杂而强大的机器人行为的任务即不重复造造论子,即实现某一个功能时,可以直接使用现成或者进行改造。
    在ROS之前,让机器人的各个部分协调通信起来是一件非常复杂的事情。例如一个简单的机器人包含感知(深度相机及传感器等)、决策(算法部分)、控制(硬件驱动)三大部分。ROS使上面几个部分合理的连接在了一起。
    下图是ROS2的部分版本历史。
    请添加图片描述

    ROS和ROS2对比

    ROS为简化机器人开发设计了一整套通信机制(话题、服务、参数、动作)。通过这套机制可以将机器人的各个组件连接起来。这套机制设计了一个叫做Ros Master的节点,其他所有组件的通信必须经过该主节点,一旦主节点挂掉,将会导致整个机器人系统通信崩溃!所以不能利用Ros的不稳定性不能用来做一些类似于自动驾驶等一些高风险的机器人。此外还有以下缺点:
    1、基于TCP实现的通信、实时性差,系统开销大
    2、对python3支持不友好
    3、消息机制不兼容
    4、无加密机制,安全性不高
    ROS2首先去掉了ROS中存在的主节点。去掉主节点之后,各个节点之间可以通过DDS的节点相互发现,各个节点都是平等的,可以实现一对一、一对多、多对多进行互相通信。采用DDS进行通信之后,可靠性和稳定性都有了增强。
    相比于ROS只支持Linux系统,ROS2还支持windows,mac,甚至RTOS平台;

  • 相关阅读:
    RHCE之搭建DNS服务器
    如何在Pacman (Arch Linux)中用Configuration设置HTTP?
    什么是导通电阻测试?ATECLOUD芯片测试软件如何测试?
    SpringBoot学习之注解校验参数@Validated@Valid
    Android:实现手机前后摄像头预览同开
    设计原则之【里式替换原则】
    Java web中使用servlet进行用户登录
    武汉星起航:做亚马逊最常见的错误思想
    【Maven】maven安装、IDEA创建maven管理的web项目、添加依赖、集成Tomcat
    嵌套路由写法
  • 原文地址:https://blog.csdn.net/weixin_44014982/article/details/128003902