主要内容

开始使用ROS2

机器人操作系统2 (ROS 2)是ROS的第二个版本,它是一个通信接口,使机器人系统的不同部分能够发现、发送和接收数据。MATLAB®支金宝app持ROS 2是一个函数库,允许您与ROS 2启用的物理机器人或机器人模拟器(如Gazebo®)交换数据。ROS 2是建立在数据分发标准(DDS)它是一种端到端中间件,提供诸如发现之类的功能,系列化和运输。这些特性与ROS 2的设计原则一致,例如分布式发现控制不同的“服务质量”交通选择。DDS使用实时发布-订阅(RTPS)协议,该协议通过不可靠的网络协议(如UDP)提供通信。有关详细信息,请参阅rtp.

此示例显示了如何:

  • 在MATLAB中设置ROS2

  • 获取关于ros2网络中能力的信息

  • 获取有关ROS 2消息的信息

要了解ROS,请参阅开始使用ROS.

ROS 2术语

  • A.ROS 2网络由机器人系统(如规划器或摄像头接口)的不同部分组成,这些部分通过ROS 2网络进行通信。网络可以分布在几台机器上。

  • A.ROS 2节点是一个包含一系列相关ROS 2功能(如发布者和订阅者)的实体。一个ROS 2网络可以有许多ROS 2节点。

  • 出版商订户是处理数据的不同类型的ROS 2实体。他们用计算机交换数据信息.

  • 发布者向特定用户发送消息主题(例如“odometry”),该主题的订阅者将接收这些消息。可以有多个发布者和订阅者与一个主题关联。

  • A.领域是网络的物理分割。它由一个唯一的整数值标识,称为域ID。默认情况下域ID0.

  • ROS 2网络中的每个节点在创建时向同一网络中的其他节点播发其存在域ID只有.

  • 活性氧2该网络基于数据分发标准(DDS)构建,该标准使跨分布式网络连接多个节点成为可能。

  • rtp(实时发布者-订户)协议为ROS 2网络提供了在不可靠的网络条件下发送消息的能力。

  • ROS 2提供多种服务质量(QoS)允许优化节点间通信的策略。有关详细信息,请参阅管理ROS 2中的服务质量政策.

有关详细信息,请参阅机器人操作系统2(ROS 2)概念ROS 2网站上的部分。

初始化ROS 2网络

与ROS不同,ROS 2不需要在MATLAB中初始化。ROS 2网络自动开始创建节点。

使用罗斯诺德创建一个节点。

test1=ros2node(“/ test1”)
test1=ros2node,属性为:名称:'/test1'ID:0

使用ros2节点列表查看ROS 2网络中的所有节点。

罗斯2节点列表
/ test1

使用清晰的关闭ros2网络中的节点。

清晰的test1

使用exampleHelperROS2CreateSampleNetwork使用带有示例发布者和订阅者的三个附加节点填充ROS网络。

exampleHelperROS2CreateSampleNetwork

使用ros2节点列表再次,观察有三个新节点,节点1,节点2,节点3).

罗斯2节点列表
/ node_1 node_2 / node_3

ROS 2网络当前状态的可视化表示如下所示。在本示例的其余部分中,当您探索此示例网络时,请将其用作参考。

话题

使用ros2主题列表查看ROS 2网络中的可用主题。请注意,有三个活动主题:/构成,/ parameter_events/扫描. 话题/ parameter_events是ROS 2网络中始终存在的全球性主题。节点使用它来监视或更改网络中的参数。另外两个话题/扫描和/姿势作为样本网络的一部分。

罗斯2主题列表
/参数_事件/姿势/扫描

每个主题都与m相关联essage类型. 使用ros2主题列表-t查看主题的消息类型。

罗斯2主题列表- t
主题MessageType  _____________________ _________________________________ {'/ parameter_events’}{' rcl_interfaces / ParameterEvent '}{/构成的}{geometry_msgs /“扭转操作”}{/扫描的}{' sensor_msgs /提升'}

信息

发布者和订阅者使用ros2消息交换信息。每个ROS 2消息都有一个相关的消息类型,该类型定义了该消息中的数据类型和信息布局。有关详细信息,请参阅使用基本ROS 2消息.

使用ros2味精秀查看消息类型的属性。这个geometry_msgs /扭消息类型有两个属性,线性的. 每个属性都是类型为的消息geometry_msgs / Vector3,它又具有类型的三个属性双重的.

罗斯2味精显示geometry_msgs /扭
#这表示自由空间中的速度分解为线性部分和角度部分。向量3线性向量3角度
罗斯2味精显示geometry_msgs / Vector3
#这表示自由空间中的向量。浮动64 x浮动64 y浮动64 z

使用ros2消息列表查看MATLAB中可用消息类型的完整列表。

断开与ROS 2网络的连接

使用示例帮助错误2关闭采样网络将样本节点、发布者和用户从ROS 2网络中移除。要删除自己的节点,请使用清晰的使用节点、发布服务器或订阅服务器对象。

示例帮助错误2关闭采样网络

下一步