话题vs服务vs动作 [小鱼@6548]

设计系统时,有三种主要的界面风格。内容的规格在 Interfaces Overview 中。编写此文档的目的是为读者提供有关何时使用每种类型的界面的指南。 [待校准@6549]

话题 [待校准@6550]

  • 应用于连续数据流 (传感器数据、机器人状态等)。 [待校准@6551]

  • 用于连续数据流。数据可以在任何时间独立于任何发送者/接收者发布和订阅。多对多连接。一旦数据可用,回调将接收数据。发布者决定何时发送数据。 [待校准@6552]

服务

  • 应该用于快速终止的远程过程调用,例如用于查询节点的状态或进行快速计算 (如IK)。它们不应该用于运行时间较长的进程,特别是,如果发生特殊情况,可能需要抢占的过程,并且它们永远不应改变或依赖于状态,以避免对其他节点产生不必要的副作用。 [待校准@6554]

  • 简单的阻塞调用。主要用于请求特定数据的速度相当快的任务。Semanti调用y来处理请求。 [待校准@6555]

动作(Actions)

  • 应该用于移动机器人或运行更长时间但在执行过程中提供反馈的任何离散行为。 [待校准@6557]

  • 动作最重要的特性是它们可以被抢占,抢占应该始终由动作服务器干净地实现。 [待校准@6558]

  • [需手动修复的语法]Action可以在目标的一生中保持状态,即如果执行两个动作目标并行同一服务器,每个客户端单独状态实例可以保持以来目标独特账号entified其账号。 [待校准@6559]

  • 需要几秒钟来终止或启动较低级别的控制模式的慢感知例程是动作的好用例。 [待校准@6560]

  • 更复杂的非阻塞后台处理。用于更长的任务,如执行机器人动作。Semanti为真实世界的动作调用y。 [待校准@6561]