dreamstime_138547722
Ros 2 Promo dreamtime Xxl 138547722 Web

ROS 2解释:概述和功能

2022年1月13日
您需要了解的关于Robot Operating System 2.0的内容,包括DDS支持、数据可视化工具和QoS配置文件带来的实时通信好处等特性。

你将学习:

  • ROS 2.0基础知识。
  • 为什么ROS 2.0很重要。
  • ROS 2.0实现的特性和增强。

Open Robotics发布了第一个ROS(机器人操作系统)2007年,它被设计用来提供一套软件库和工具,开发人员可以用来构建机器人应用程序。在其根,ROS系统由许多独立的节点组成,每个节点使用发布/订阅消息传递平台与其他节点通信。

例如,某个特定传感器的驱动程序可以实现为一个节点,该节点以消息流的形式发布传感器数据。这些消息可以被任意数量的其他节点读取,包括过滤器、记录器、映射、导航等。

这些节点甚至不需要位于相同的系统上,也不需要由相同的体系结构使用来执行某个功能。用户可以使用Arduino系统发布消息;一台笔记本电脑订阅了它们;安卓手机驱动电机或激活传感器。这使得ROS更加灵活,能够适应用户的需要。更重要的是,这个平台也是开源的,由许多人维护,其中一些人上传了代码,其他人可以在他们的机器人项目中使用。

此外,ROS是一个位于操作系统之上的框架,允许它将硬件从软件中抽象出来,这意味着它可以被认为是机器人所有硬件的软件。这意味着用户可以在不需要物理硬件的情况下为机器人编写程序。

什么是ROS 2?一个框架概述

ROS的设计结构分解为几个关键参数和工具,包括一个计算图模型,其中进程表示为图结构中的节点,由称为主题的边连接。ROS节点可以通过这些主题相互传递消息,对其他节点进行服务调用,为其他节点提供服务,或者从称为参数服务器的公共数据库中设置或检索共享数据。

每个节点表示运行ROS图的单个进程。每个节点都有一个名称,它在执行任何其他操作之前向ROS主节点注册这个名称。在不同的名称空间下可以存在多个具有不同名称的节点,或者可以将节点定义为匿名的,在这种情况下,节点将随机生成一个额外的标识符,添加到其给定的名称中。

节点能够通过称为主题的总线发送和接收消息,主题可以是用户定义的,包括从收集传感器数据到执行器命令的所有内容。节点还可以发布服务或动作,这些服务或动作提供了一个有开始和结束的结果,例如捕获一个帧图像。节点之间共享的数据库(称为参数服务器)允许对静态和非静态信息(比如很少更改的数据)进行公共访问。

此外,ROS的核心功能还包括一些工具,开发人员可以利用这些工具来可视化数据、导航包结构,以及创建自动化复杂配置和设置过程的脚本。其中包括“rviz”,一个用于为机器人、传感器数据及其工作环境成像的3D可视化工具,以及“rosbag”,一个记录和播放消息数据的命令行工具,以及catkin ROS构建系统。

ROS核心平台的一些附加包包括映射和定位(2D/3D SLAM)、导航、感知、坐标框架表示和仿真。工具集还提供了“rosbash”,这是一个应用程序,提供了一个工具子集,以增强基于unix的bash shell和命令语言的功能。最后,核心功能包括“roslaunch”,这是一个用于在本地和远程启动多个节点的工具,并设置节点发送和接收主题的服务器参数。

所以,功能是什么ROS 2提供吗?该平台使用的核心组件、工具和库与它的前身基本相同,并包含许多新特性,如改进的实时数据分发服务(DDS)协议通信堆栈。DDS充当节点间通信的中间件,并使用服务质量(QoS)配置文件提供实时通信、可伸缩性、性能增强和安全优势。

ROS 2的特性

  • 通过DDS进行发现、传输和序列化
  • 支持多种DDS实现
  • 通用核心客户端库
  • 发布/订阅主题
  • ROS 1/ROS 2通信桥接
  • DDS安全支持
  • 非理想网络的服务质量设置
  • 节点需求的组合(编译、链接、加载、运行时)
  • 支持具有托管生命周期的节点

额外的细节

  • 协调多个节点的发射系统
  • 对节点和主题的名称空间支持
  • 对ROS名称进行静态重映射
  • 对实时代码的初步支持
  • 裸金属微控制器的初步支持
  • 一个全ros 2移动机器人的演示

ROS 2还提供了多种日志记录改进,允许用户指定每个日志记录器的日志级别,并通过环境变量配置他们的日志目录。除此之外,它还能够在启动时配置QoS,并对ROS 2 CLI进行了改进,包括回显序列化的主题数据、YAML数据表示,以及在运行时加载参数文件的能力。其他特性包括RViz2的新时间面板、新的和改进的Connext RMW实现,以及改进的rosbag2性能。


除了修复了许多错误和提高了性能,最新的银河版本还包括Red Hat Enterprise Linux(RHEL) V8作为二级操作系统,可以作为ROS 2的开源基础。此外,银河维护了来自192个贡献者的超过500个ROS 2包,以增加任何数量的机器人应用程序的功能。

从我们的合作伙伴

实现5G和机器人的未来

2021年11月18日,

超高可靠性,低延迟

当你读这篇文章时,5G正在美国推广。有些人有一个兼容5G的手机,可以连接到AT&T网络,T-Mobile,等等。

你的科技指数是多少?

稍微看一下人工智能的技术图景——我们已经在哪里,我们在哪里,我们将走向哪里。然后与我们的合作伙伴Micr…

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?
2018beplay

英特尔取代离职的个人电脑部门主管,雇佣新的财务主管

2022年1月13日
格雷戈里·布莱恩特将辞去英特尔个人电脑部门负责人一职。这家半导体巨头正在聘请米歇尔·约翰斯顿·霍尔索斯,她是这家公司销售、营销和通信部门的执行副总裁……
电源管理

可充电电池是一根长丝,你可以根据需要切割它

2022年1月13日
这种可充电电池制造成任意长的,拉长的字符串,可以切断而不损坏或泄漏。
Baidu