Tasks in RMF

RMF 简化了跨多机队系统的任务分配和管理。 当用户提交新任务请求时,RMF 将智能地将其分配给机队中能够最佳执行任务的机器人。当

RMF 支持三种类型的现成任务请求:

  • 清洁:适用于能够清洁设施内地板空间的机器人
  • 配送:适用于能够在设施内不同位置之间配送物品的机器人
  • 循环:适用于能够在设施内不同位置之间来回导航的机器人

注意:单个机器人可能能够执行上述一项或多项任务,并且可以配置队列适配器以反映其机器人的能力。 有关支持的任务类型的更多信息,请单击此处

在 RMF 21.04 及更高版本中,任务将根据由 Dispatcher 节点 rmf_dispatcher_node 协调的竞标过程的结果授予机器人队列。 当 Dispatcher 从仪表板或终端收到新任务请求时,它会向所有队列适配器发送 rmf_task_msgs/BidNotice 消息。如果队列适配器能够处理该请求,它会向 Dispatcher 提交 rmf_task_msgs/BidProposal 消息,并附带完成该任务所需的成本。队列适配器使用 rmf_task::agv::TaskPlanner 实例来确定如何最好地满足新请求。有关任务规划器的更多信息,请单击此处

然后,调度员将比较收到的所有“BidProposals”,并提交“rmf_task_msgs/DispatchRequest”消息,其中包含中标机器人的车队名称。调度员评估提案的方式有几种,例如最快完成、最低成本等,这些都可以配置。

电池充电与新的任务规划器紧密集成。当机器人的电量不足以完成一系列任务时,“ChargeBattery”任务将最佳地注入机器人的计划中。目前,我们假设地图中的每个机器人都有一个专用的充电位置,如交通编辑器地图中用“is_charger”选项注释的那样。

RMF Bidding Diagram