基于多智能体强化学习的自主移动机器人实时订单调度

原文:Real-time order dispatching for a fleet of autonomous mobile robots using multi-agent reinforcement learning(2020)


摘要

自主移动机器人(AMRs)越来越多地被用于动态生产环境中实现高效的物料流动。由于环境的快速变化带来的复杂性,以及调度、路径规划和路径执行之间的紧密耦合,在这样的环境中调度运输订单非常困难。对于订单调度,提出了一种使用多agent强化学习的方法,其中AMR agent根据各自的观察学习对订单进行投标。在机器人仿真环境中研究了该方法。结果表明,与常用的调度规则相比,该算法的订单分配效率更高。


1. 绪论

移动物资运输系统通常由自动引导车辆(agv)组成——无人驾驶的移动车辆能够遵循预定的运输路线。这些路线通常是由放在地板上的磁带来确定的。然而,最近一种被称为自主移动机器人(AMRs)的更先进的车辆正在被越来越多地使用。amr与agv的导航能力不同。它们配备了各种传感器,可以探测周围的静态和动态物体,从而实现自主定位和导航。它们的路径是根据静态和动态障碍物实时生成的,使amr可以自由移动,而不需要预定义的路由。

虽然系统的灵活性得到了提高,但实时路径生成带来了车队管理系统(FMS)必须满足的额外挑战,该系统执行诸如运输订单调度、车辆路由和任务执行调度等活动。在amr的情况下,这些可能是紧密耦合的,这导致整个系统的计算复杂度很高。例如,当考虑到执行的所有可能AMR路径和时间窗口时,即使将几个传输命令分配给两个AMR也会遭受组合爆炸的影响。因此,集中的AMR车队管理和订单执行优化往往无法实时执行。

这可以通过分离FMS活动并分别考虑它们来解决。例如,为了单独考虑调度问题,必须在问题制定中排除路由和调度。从调度的角度来看,AMR只需要能够从A点(例如取货点)移动到B点(例如落货点)。它选择哪条路线,如何避开障碍等等都是由AMR自主解决的。然后,通常使用集中方法,其中简单规则(启发式)定义对amr的顺序分配。这些规则通常没有考虑到特定问题的设置,如工厂布局或单个AMR能力,并可能导致次优解决方案,甚至导致系统作为一个整体的不稳定行为,例如死锁。

为此,本文提出了一种基于多智能体强化学习(RL)的分布式实时订单调度方法。该方法使调度适应特定的情况,这是由于工厂布局和运输订单到达的动态而产生的。amr由代理代表,代理根据对环境的观察学会对单个运输订单出价。该方法通过基于物理的AMR仿真验证。并与常用的实时调度规则进行了比较。


2. 移动运输系统的订单调度

在工场,运输订单可能是多种多样的,它们的到达可能很难提前预测,使长期规划变得困难。由于上述计算的复杂性,往往更好的是实时进行调度决策,即在新订单出现时,使用简单的规则将订单与车辆进行匹配。可以在订单端启动对合适匹配的搜索,其中必须为订单从车队中选择合适的车辆,或者在车辆端启动对最合适的订单的搜索,并将其分配给单个车辆[3]。

单属性调度规则分为三类:1)基于距离的调度规则,考虑了出行距离;(2)基于工作量的调度规则,考虑了工作站队列占用;(3)基于时间的调度规则,考虑了运输订单[4]的到达顺序。

利用离散事件模拟进行的评估表明,不同调度规则的性能受到各种因素的强烈影响,如工厂布局、订单到达间隔时间、AGV行程时间与装配时间的比例等。

选择最佳规则并不简单。在[6]中,为了提高调度效率,利用机器学习分析了各种调度规则的性能。当考虑自由移动的机器人车辆行驶时间的变异性较大时,调度规则的选择就更加困难。此外,在动态变化的环境中运行良好的调度规则在系统重构后可能会变得不够用。

另外,调度也可以作为分布式问题来处理,其中代理[7]通过竞标过程进行交互,以分配交付任务或通过多代理强化学习制定调度策略。由于大部分计算分布在各个代理之间,这种方法的好处包括更好的可伸缩性和对更改的更快响应,而不需要系统范围内的重新计算。分布式系统也可以更加健壮,但另一方面,它们也可能表现出不可预测的新行为。然而,随着新的框架和学习算法的发展,分布式方法的能力正在迅速提高。


3.多智能体强化学习

在强化学习(RL)中,代理通过试错、观察环境、选择和执行动作以及收集奖励来学习。他们的目标是学习以一种能最大化获得奖励的方式行动。


4. 基于多agent RL的实时订单调度

要将RL应用到实时订单调度中,定义状态空间和状态之间的转换具有挑战性,因为糟糕的定义可能会受到大的状态空间或行动和奖励之间的延迟的影响,从而模糊因果关系。后者是调度设置中的一个关键问题,因为只有在运输订单完全执行之后才会颁发奖励或惩罚,而这可能是在发送订单很久之后。在制定调度问题时,必须考虑到这个问题。

订单调度被建模为一个多agent RL问题,其中学习agent是代表AMR车辆的决策单元,并与学习环境相互作用,如图1所示。

图1. RL框架架构

 学习环境收集关于新订单、AMR车辆当前位置和已分配订单状态的信息。这些数据用于形成对代理的观察,并计算和分配奖励。每个代理都会得到自己的观察和奖励,然后用它所选择的动作对学习环境做出回应。基于代理的操作,移动目的地被传递给amr,而amr反过来执行传输。

传输顺序T由元组描述,如式(2)所示,其中,表示顺序起始位置的x坐标和y坐标,表示顺序结束位置的x坐标和y坐标,为到期时间,用绝对时间表示。

 代理的观察是一个元组,如式(3)所示,其中是当前提供的运输订单的起始位置坐标,是代理的当前位置坐标。是当前分配给代理的订单数量。是代理的最后分配的运输订单的最终位置的坐标(如果代理有任何分配的订单( > 0)),否则是代理的当前位置的坐标。

 代理的观察是全局状态的部分表示。每个代理都有自己的策略,这是从观察到行动的映射。代理的动作是代理为观察到的订单向环境提出的出价。当代理接收到它的观察结果时,它选择出价,这是一个0到1之间的连续值a,并将其传回学习环境。所提供的订单被分配给代理的AMR,它在当前分配的订单少于两个的代理中出价最高。由于实时调度的限制,只允许代理有一个正在执行的订单和一个随后将立即执行的订单。当订单被分配给代理时,它会被添加到代理所分配的订单中,并由相应的AMR车辆以先进先出的方式自动执行。

 在AMR完成运输订单后,该订单将从代理分配的订单中删除,并由学习环境评估操作。需要设计奖励机制以鼓励代理人之间的合作。因此,每完成一个订单,所有AMR代理都将获得相同的奖励或惩罚。如果一个订单及时完成,所有的代理都将获得一个正的恒定奖励,否则,他们将收到一个惩罚,该惩罚随延迟时间的增加而增加。

 延迟奖励的问题处理如下。只有当订单准备好发送时,观察结果才交给代理。换句话说,在每个已分派的订单中,MDP状态之间的转换只发生一次。这大大减少了调度和奖励之间的延迟(状态转换的数量),这反过来允许代理有更短的记忆用于学习。这种方法的一个缺点是,奖励也是在发送时给出的,这意味着它们必须在此期间累积。因此,代理不能显式地了解它是如何被授予特定的操作的。另一个缺点是,状态转换不会以固定的时间间隔发生,这可能导致奖励或惩罚的累积或多或少。尽管如此,在提议的设置中,代理将能够评估他们的行为是否为整个系统带来了积极的或消极的净结果,并且仍然可以使用这些信息来改进他们的政策。

对于策略改进,提出了一种最先进的RL算法。提出了双延迟深度确定性(TD3)策略梯度算法[14]。TD3是一种针对连续动作空间的actor- critical算法,它使用神经网络同时逼近两个q函数和一个策略。它是DDPG算法[9]的升级版,该算法在具有连续动作空间的环境中表现出了出色的性能,但有时对超参数和其他类型的调优非常敏感,这使得它在某些情况下难以应用。

提出的RL框架学会根据订单和AMR位置以及AMR立即计划将到达订单分配给AMR。因此,预计它将学会考虑布局。仿真实验验证了这一点。


 5. 仿真实验

RL框架是使用RLlib库[15]实现的,该库支持通过分布式和可伸缩计算实现RL,优化学习参数,并为多代理应用程序使用RL算法。AMR舰队仿真的体系结构如图2所示。

图2. 仿真框架架构

 开发了两个模拟框架:一个是快速的,但物理上不准确的数据生成和学习框架,用Python编写;另一个是计算上更密集的基于物理的模拟框架,用于验证学习到的策略,使用机器人操作系统(ROS)和Gazebo模拟器开发。在这两种情况下,具有两个主要组件(运输订单生成过程和运输订单执行)的模拟由模拟包装器控制,模拟包装器直接与学习环境通信。

 运输订单到达模型为到达率λ的泊松过程。订单的到期时间与订单开始和结束位置之间的欧氏距离成比例。模拟了一个由5个amr组成的舰队。布局为矩形,有一面墙将上下两部分部分隔开,允许布局一侧自由移动,但限制另一侧的通行,如图2所示。这种简单的布局并没有促进死锁和拥塞问题的出现,然而,规避操作仍然经常发生。使用TD3学习算法,神经网络使用两个隐含层,每个隐含层有400个神经元。每一回合持续到10个随机运输订单完成。快速模拟需要花费数小时才能在一台高端PC上完成100万个订单,而广泛模拟的计算强度大约是前者的100倍。


 6. 结果

仿真实验结果如图3所示。图3(a)给出了RL学习曲线的一个例子,显示了每集的平均奖励如何随着决策步骤的数量而增加。虽然每集的奖励值在30万步的过程中趋于10左右,但这一政策在之后仍在不断完善,但效果甚微。

图3. (a)快速模拟中的策略训练    (b)基于物理的模拟中的策略评估

 由于,AMR代理在每个订单到达时对其进行评估,因此将选择适用于相同条件的调度规则进行比较和性能评估。将学习到的策略与随机策略(向随机选择的自由AMR分配顺序)和最接近优先策略(实现最接近车辆优先规则,见图3(b))进行比较。结果表明,学习到的策略略优于最近优先策略(0.55 vs 0.49(最高可能奖励))。

为了深入了解学习过程,图4使用热图显示了其中一个代理的策略的演化。热图显示了代理行为的价值,即对一个具有固定起始位置和代理的每一个可能的当前位置的订单的出价。

图4. 随着时间的推移策略改进(快速模拟)

 经过200,000步之后(图4(a)),代理的出价平均较低,并且只略微偏向于靠近订单起始点的位置。30万步之后,该策略变得类似于最近优先规则,AMR和拾取点之间的距离是定义特征(图4(b))。在此之后,由于开始考虑布局特征,该策略会略有改进(图4(c)和(d))。


7. 结论

本文介绍了如何将多智能体RL应用于AMR船队的订单调度问题。在提出的问题抽象中,只给代理一个简单的顺序说明。根据他们的位置和近期计划,他们会学习如何为订单出价。通过提出的奖励机制,所有代理商都将因任何一个代理商成功完成订单而获得奖励,从而奖励合作。训练是使用快速、简化的模拟进行的。然后将学习到的策略转移到基于物理的AMR车队模拟中,在那里该方法得到验证。结果表明,通过学习利用布局的特征,学习到的策略优于最接近优先规则。
由于所提出的方法成功地形成了考虑布局的单个代理策略,这意味着该方法可以扩展到任意数量的amr。然而,要将这种方法应用到更复杂的布局中,还需要付出额外的努力。虽然在提出的简单场景中的结果是有希望的,但将该方法扩展到更大的AMR车队和更复杂的布局的影响应在未来进一步研究。应考虑将问题扩展,例如考虑有额外限制的订单或具有不同承载能力的amr车队。

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值