CN112596515A - 一种多物流机器人移动控制方法及装置 - Google Patents
一种多物流机器人移动控制方法及装置 Download PDFInfo
- Publication number
- CN112596515A CN112596515A CN202011334302.4A CN202011334302A CN112596515A CN 112596515 A CN112596515 A CN 112596515A CN 202011334302 A CN202011334302 A CN 202011334302A CN 112596515 A CN112596515 A CN 112596515A
- Authority
- CN
- China
- Prior art keywords
- action
- sub
- value
- robot
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000009471 action Effects 0.000 claims abstract description 644
- 238000012549 training Methods 0.000 claims abstract description 177
- 230000002787 reinforcement Effects 0.000 claims abstract description 98
- 230000006870 function Effects 0.000 claims description 273
- 238000011156 evaluation Methods 0.000 claims description 135
- 230000007613 environmental effect Effects 0.000 claims description 119
- 238000005070 sampling Methods 0.000 claims description 110
- 238000004422 calculation algorithm Methods 0.000 claims description 56
- 230000001186 cumulative effect Effects 0.000 claims description 41
- 230000007704 transition Effects 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 6
- 230000006872 improvement Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 description 31
- 238000013528 artificial neural network Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 208000034840 pagnamenta type spondylometaphyseal dysplasia Diseases 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0289—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
本发明实施例提供一种多物流机器人移动控制方法及装置,通过根据机器人可执行的动作构建动作空间;接收任务信息中的终点位置;将机器人的移动路径规划为一个或多个子目标位置,构成子目标位置空间;经训练分层强化学习网络的网络参数的数值得到网络参数的最终数值;通过基于网络参数的最终数值的分层强化学习网络控制机器人完成移动任务,实现了多物流机器人相互协同的移动控制的同时解决了复杂问题的维度灾难问题,提高了训练的效率。
Description
技术领域
本发明涉及智能机器人领域,尤其涉及一种多物流机器人移动控制方法及装置。
背景技术
物流行业已经进入了高度信息化、自动化、智能化和网络化的智能物流时代。智慧物流系统各环节 的高效运行离不开智能仓储系统的支持。智能仓储系统利用物联网技术实时感知仓储状态,并应用人工 智能技术进行数据处理和分析。与传统仓储系统相比,智能仓储系统具有效率高、容错率高、人工成本 低、鲁棒性强等特点。智能仓储系统在运行过程中会产生大量的信息,其特点是订单信息、货物信息和 仓储信息的动态性。因此,需要大量的仓储物流机器人和人工智能技术来优化决策。订单的动态任务分 配问题属于拣货工作的一个环节,它包括订单批量、订单任务分配、路径规划、拣货、包装、发货等过 程。在仓储系统中,订单信息通常存在种类多、类别杂、高频次、大批量等动态问题。因此,研究智能仓储系统最重要的是订单动态任务分配。
在多智能体动态任务分配研究方面的成果主要采用启发式的智能算法。智能算法主要是利用环境学 习或者启发式搜索的算法,如A*算法、演化算法、基于神经网络的方法等。基于模拟生物的演化算法 主要有蚁群算法、遗传算法或将二者相结合的算法。现有的蚁群算法在求解高维空间问题时计算时间复 杂度高、容易陷入局部最小。遗传算法仅能逼近全局最优解,且求解速度不快,在求解时可以与其他智 能算法相结合。基于A*算法及其改进算法也是研究比较多的方法。此外也有基于搜索算法的相关研究, 搜索算法在进行全局搜索时计算量庞大,而局部搜索需要启发式规则。
发明内容
本发明实施例提供一种多物流机器人移动控制方法及装置,通过将改进的SAC算法应用于分层强 化学习解决了多物流机器人移动控制问题的同时解决了复杂问题的维度灾难问题,提高了训练的效率。
为实现上述目的,一方面,本发明实施例提供了一种多物流机器人移动控制方法,其步骤包括:
根据机器人可执行的动作构建动作空间;
构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网络,并 随机初始化其网络参数的数值;所述分层强化学习网络用于从所述动作空间中选择待执行动作;
根据训练起点位置、训练终点位置构建训练子目标位置空间;将所述训练子目标位置空间和训练环 境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到所述网络参数的最终数值;将 所述最终数值用作所述分层强化学习网络的网络参数的数值,得到应用网络;
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器采集当前数 据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作为任务起点 位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间;
根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网络从所述动作空 间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动到所述任务终点 位置。
进一步地,所述分层强化学习网络包括:元控制器和控制器;
所述控制器包括:动作策略网络和动作评价网络;
所述元控制器包括:元控制器策略、元控制器值函数和元控制器损失函数;
所述动作策略网络包括:动作策略和动作策略损失函数;
动作评价网络包括:内部奖赏函数、动作评价值函数和动作评价损失函数;
所述元控制器用于通过估算所述元控制器值函数的值及最小化所述元控制器损失函数的值,更新所 述元控制器策略;所述元控制器策略用于根据机器人所处的环境状态和外部奖励值从子目标位置空间选 择一个子目标位置;所述控制器的所述动作评价网络通过估算所述动作评价值函数的值及最小化所述动 作评价损失函数的值,更新动作评价网络,并根据内部奖赏函数,生成内部奖励值;所述动作网络根据 所述内部奖励值和机器人所处的环境状态,通过最小化所述动作策略损失函数的值,更新所述动作策略; 所述动作策略用于根据所述子目标位置及机器人所处的环境状态从所述动作空间选择一个或多个待执 行动作;所述待执行动作被机器人执行,控制机器人向所述子目标位置移动,导致外部环境产生新的环 境状态;外部环境还会根据外部奖赏函数产生新的外部奖励值;
所述外部环境还会根据外部奖赏函数产生新的外部奖励值,具体为:
使用如下r(st,at)函数作为外部奖赏函数,产生新的外部奖励值:
其中:st表示第t时间步时的所述当前环境状态;at表示第t时间步时的所述待执行动作;distt表 示在执行第t时间步对应的所述待执行动作以前,机器人所在位置与所述终点位置的距离;distt+1表示 在执行第t时间步对应的所述待执行动作以后,机器人所在位置与所述终点位置的距离;k是权重系数; rcollision是当机器人发生碰撞时的奖励值,为常数,取值为负数,表示惩罚;rtask是当机器人到达所述终 点位置的奖励值,为常数,取正值,表示奖励;
所述构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网 络,具体为:
使用如下Q(st)函数作为元控制器值函数:
其中:γ是折扣因子;r(st)表示在时间步t时的当前环境状态st下元控制器获得的外部奖励值; logπg(·|st)表示执行到时间步t时,在当前环境状态为st时,得到动作空间中各种动作的元控制器策 略的熵;α是温度系数的超参数,用于调整熵值;πg表示元控制策略;
使用如下JQ(ψ)函数作为所述元控制器损失函数:
其中:Qψ(st;gt)表示元控制器值函数;Qθ(st,at;gt)表示动作评价值函数;logπφ(at|st,gt)表 示动作策略网络在当前环境状态st时,试图到达子目标位置gt,得到待执行动作at时所采用的动作策 略的熵;πφ表示动作策略网络的动作策略,其中φ表示动作策略网络参数;
使用如下Q(st,at;gt)函数作为所述动作评价值函数:
其中:γ是折扣因子;α是温度系数的超参数,用于调整熵值;πag表示控制器的策略,表示在时 间步t时,当前环境状态为st,试图到达子目标位置gt时,得到待执行动作at的控制器的策略;logπag(at|st,gt)表示控制器策略的熵;表示在时间步t时,当前环境状态为st,执行待执 行动作at,试图到达子目标位置gt,所获得的内部奖励值;
使用如下JQ(θ)函数作为所述动作评价损失函数:
其中:
θ是动作评价网络参数;γ是折扣因子;α是温度系数的超参数,用于调整熵值;Qθ(st,at;gt)表 示为在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,动作评价值函数Qθ的值; 表示在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,获得的内部 奖励值;log(πφ(at+1|st+1,gt))表示,为达到当前子目标位置gt,动作策略在新环境状态st+1下生成新 动作at+1的动作策略的熵;
其中:Qθ(st,at;gt)表示为在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,动作评价值函数Qθ的值;α是温度系数的超参数,用于调整熵值;logπφ(at|st,gt)表示为达到 当前子目标位置gt,在当前环境状态st+1下生成待执行动作at的动作策略的熵;Z(st,gt)代表分区函 数,用于对分布进行归一化操作;该分布对于元控制器策略π(gt|st)来说是常数,在实际计算中可以直 接忽略;
其中:st+1表示第t时间步对应的所述带执行动作执行后的所述新环境状态;st表示第t时间步对 应的所述带执行动作执行前的所述当前环境状态;at表示第t时间步时的所述待执行动作;r(st,at)为 外部奖赏函数,表示在第t时间步时的外部奖励值;rsubgoal为机器人达到所述当前子目标位置时获得的 奖励值,为正数。
进一步的,所述元控制器还包括:元控制器参数
所述动作策略网络还包括:动作策略网络参数
所述动作评价网络还包括:动作评价网络参数;
所述分层强化学习网络还包括:外部奖励累积值、第一经验缓冲区和第二经验缓冲区;
所述分层强化学习网络的所述网络参数包括:所述元控制器参数、所述动作网络策略参数、所述动 作评价网络参数;
所述将所述训练子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参 数的数值,得到所述网络参数的最终数值,具体步骤为:
随机初始化所述元控制器参数、所述动作策略网络参数、所述动作评价网络参数的数值;
输入所述动作空间、所述训练子目标位置空间、所述训练环境状态空间;
初始化第一经验缓冲区和第二经验缓冲区;
从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态;
从所述训练子目标位置空间中选择一个子目标位置作为当前子目标位置;
将所述外部奖励累积值清零;将所述初始环境状态赋值给当前环境状态;
将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
在所述当前环境状态下,以所述当前子目标位置为目的地,执行所述待执行动作后,按以所述当前 环境状态和所述待执行动作为条件的环境状态条件转移概率,得到新环境状态;
根据所述待执行动作、所述当前环境状态、所述新环境状态获得外部奖励值;将所述待执行动作、 所述当前环境状态、所述新环境状态及所述外部奖励值输入给所述内部奖赏函数得到所述待执行动作的 所述内部奖励值;
将所述当前环境状态、所述待执行动作、所述当前子目标位置、所述内部奖励值、所述新环境状态 缓存到第一经验缓冲区;
从所述第一经验缓冲区中采样数据,将所述待执行动作、所述当前环境状态、所述新环境状态、所 述内部奖励值输入给动作评价值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过 最小化动作策略损失函数,更新动作策略网络参数;
当所述第二经验缓冲区有数据时,从所述第二经验缓冲区采样所述当前环境状态、所述当前子目标 位置、所述外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失函 数,更新元控制器参数;所述子目标环境状态为机器人从所述当前环境状态下完成了尝试向所述当前子 目标位置移动时的环境状态;
将所述新环境状态赋值给所述子目标环境状态;将所述外部奖励值累加到所述外部奖励累积值中; 将所述新环境状态赋值给所述当前环境状态;
若机器人到达所述子目标位置或者由第七步骤至当前步骤的执行次数达到预置的动作次数,则继续 执行后续步骤;否则执行第七步骤;其中,所述第七步骤为将所述当前环境状态输入给所述动作策略, 所述动作策略从所述动作空间选择一个待执行动作;
将所述初始环境状态、所述子目标位置、所述外部奖励累积值及所述子目标环境状态缓存到第二 经验缓冲区;
若第四步骤至当前步骤的执行次数达到预置的训练次数,则终止训练,输出所述元控制器参数、动 作策略网络参数、动作评价网络参数的最终数值;否则执行第四步骤,其中所述第四步骤为从所述训练 环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态。
进一步地,所述传感器包括:距离感应装置和摄像头;
所述接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器采集当 前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作为任务 起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间,具体步骤为:
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置;
采样所述距离感应装置的信号,获得机器人与附近物体或机器人与其他机器人之间的距离信息;
采样所述摄像头的环境图像数据,获得机器人所处环境的图像信息;
采样所述摄像头拍摄的位置二维码图像,获得机器人所在当前位置的位置数据,作为所述任务起点 位置;
预处理所述任务起点位置和所述任务终点位置,得到所述任务子目标位置空间。
进一步地,所述根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网 络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动 到所述任务终点位置,具体步骤为:
获取所述任务子目标位置空间和所述动作空间;
通过传感器采集实时采样数据;
判断机器人所在位置若已经位于所述任务终点位置则机器人停止,否则继续执行后续步骤;
通过所述应用网络根据所述实时采样数据,从所述子目标位置空间,选择子目标位置;
通过所述应用网络根据所述子目标位置和所述实时采样数据从所述动作空间,选择待执行动作;
执行所述待执行动作,机器人从当前所在位置向所述子目标位置移动,继续执行第二步骤,其中, 所述第二步骤为通过传感器采集实时采样数据。
另一方面,本发明实施例还提供了一种多物流机器人移动控制装置,其包括:
动作分解装置,用于根据机器人可执行的动作构建动作空间;
模型构建装置,用于构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分 层强化学习网络,并随机初始化其网络参数的数值;所述分层强化学习网络用于从所述动作空间中选择 待执行动作;
模型参数训练装置,用于根据训练起点位置、训练终点位置构建训练子目标位置空间;将所述训练 子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到所述 网络参数的最终数值;将所述最终数值用作所述分层强化学习网络的网络参数的数值,得到应用网络;
任务接收装置,用于接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通 过传感器采集当前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当 前位置作为任务起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间;
任务执行装置,用于根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应 用网络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置 移动到所述任务终点位置。
进一步地,所述分层强化学习网络包括:元控制器和控制器;
所述控制器包括:动作策略网络和动作评价网络;
所述元控制器包括:元控制器策略、元控制器值函数和元控制器损失函数;
所述动作策略网络包括:动作策略和动作策略损失函数;
动作评价网络包括:内部奖赏函数、动作评价值函数和动作评价损失函数;
所述元控制器用于通过估算所述元控制器值函数的值及最小化所述元控制器损失函数的值,更新所 述元控制器策略;所述元控制器策略用于根据机器人所处的环境状态和外部奖励值从子目标位置空间选 择一个子目标位置;所述控制器的所述动作评价网络通过估算所述动作评价值函数的值及最小化所述动 作评价损失函数的值,更新动作评价网络,并根据内部奖赏函数,生成内部奖励值;所述动作网络根据 所述内部奖励值和机器人所处的环境状态,通过最小化所述动作策略损失函数的值,更新所述动作策略; 所述动作策略用于根据所述子目标位置及机器人所处的环境状态从所述动作空间选择一个或多个待执 行动作;所述待执行动作被机器人执行,控制机器人向所述子目标位置移动,导致外部环境产生新的环 境状态;外部环境还会根据外部奖赏函数产生新的外部奖励值;
所述外部环境还会根据外部奖赏函数产生新的外部奖励值,具体为:
使用如公式(1)所述的r(st,at)函数作为外部奖赏函数,产生新的外部奖励值;
所述模型构建装置中的所述构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算 法的分层强化学习网络,具体为:
使用如公式(2)所述的Q(st)函数作为元控制器值函数;
使用如公式(3)所述的JQ(ψ)函数作为所述元控制器损失函数;
使用如公式(4)所述的Q(st,at;gt)函数作为所述动作评价值函数;
使用如公式(5)所述的JQ(θ)函数作为所述动作评价损失函数;
进一步地,所述元控制器还包括:元控制器参数
所述动作策略网络还包括:动作策略网络参数
所述动作评价网络还包括:动作评价网络参数;
所述分层强化学习网络还包括:外部奖励累积值、第一经验缓冲区和第二经验缓冲区;
所述分层强化学习网络的所述网络参数包括:所述元控制器参数、所述动作网络策略参数、所述动 作评价网络参数;
所述模型参数训练装置,具体用于:
随机初始化所述元控制器参数、所述动作策略网络参数、所述动作评价网络参数的数值;
输入所述动作空间、所述训练子目标位置空间、所述训练环境状态空间;
初始化第一经验缓冲区和第二经验缓冲区;
从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态;
从所述训练子目标位置空间中选择一个子目标位置作为当前子目标位置;
将所述外部奖励累积值清零;将所述初始环境状态赋值给当前环境状态;
将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
在所述当前环境状态下,以所述当前子目标位置为目的地,执行所述待执行动作后,按以所述当前 环境状态和所述待执行动作为条件的环境状态条件转移概率,得到新环境状态;
根据所述待执行动作、所述当前环境状态、所述新环境状态获得外部奖励值;将所述待执行动作、 所述当前环境状态、所述新环境状态及所述外部奖励值输入给所述内部奖赏函数得到所述待执行动作的 所述内部奖励值;
将所述当前环境状态、所述待执行动作、所述当前子目标位置、所述内部奖励值、所述新环境状态 缓存到第一经验缓冲区;
从所述第一经验缓冲区中采样数据,将所述待执行动作、所述当前环境状态、所述新环境状态、所 述内部奖励值输入给动作评价值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过 最小化动作策略损失函数,更新动作策略网络参数;
当所述第二经验缓冲区有数据时,从所述第二经验缓冲区采样所述当前环境状态、所述当前子目标 位置、所述外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失函 数,更新元控制器参数;所述子目标环境状态为机器人从所述当前环境状态下完成了尝试向所述当前子 目标位置移动时的环境状态;
将所述新环境状态赋值给所述子目标环境状态;将所述外部奖励值累加到所述外部奖励累积值中; 将所述新环境状态赋值给所述当前环境状态;
若机器人到达所述子目标位置或者由第七步骤至当前步骤的执行次数达到预置的动作次数,则继续 执行后续步骤;否则执行第七步骤;其中,所述第七步骤为将所述当前环境状态输入给所述动作策略, 所述动作策略从所述动作空间选择一个待执行动作;
将所述初始环境状态、所述子目标位置、所述外部奖励累积值及所述子目标环境状态缓存到第二 经验缓冲区;
若第四步骤至当前步骤的执行次数达到预置的训练次数,则终止训练,输出所述元控制器参数、动 作策略网络参数、动作评价网络参数的最终数值;否则执行第四步骤,其中所述第四步骤为从所述训练 环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态。
进一步地,所述传感器包括:距离感应装置和摄像头;
所述任务接收装置,具体用于:
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置;
采样所述距离感应装置的信号,获得机器人与附近物体或机器人与其他机器人之间的距离信息;
采样所述摄像头的环境图像数据,获得机器人所处环境的图像信息;
采样所述摄像头拍摄的位置二维码图像,获得机器人所在当前位置的位置数据,作为所述任务起点 位置;
预处理所述任务起点位置和所述任务终点位置,得到所述任务子目标位置空间。
进一步地,所述任务执行装置,具体用于:
获取所述任务子目标位置空间和所述动作空间;
通过传感器采集实时采样数据;
判断机器人所在位置若已经位于所述任务终点位置则机器人停止,否则继续执行后续步骤;
通过所述应用网络根据所述实时采样数据,从所述子目标位置空间,选择子目标位置;
通过所述应用网络根据所述子目标位置和所述实时采样数据从所述动作空间,选择待执行动作;
执行所述待执行动作,机器人从当前所在位置向所述子目标位置移动,继续执行第二步骤,其中, 所述第二步骤为通过传感器采集实时采样数据。
上述技术方案具有如下有益效果:
本发明通过将改进的SAC算法应用于分层强化学习,并通过设计分层强化学习网络的元控制器及 控制器的Q值函数及损失函数进一步提高了训练的效率;本发明还设计了针对多物流机器人移动控制 训练的内部奖赏函数和外部奖赏函数,对机器人之间的相互碰撞及机器人与障碍物的碰撞做出奖赏,从 而实现多机器人的协同运动。上述方案起到了改进训练效率的效果,使多物流AGV机器人协同工作, 效率显著提高。在解决多物流机器人移动控制问题的同时解决了复杂问题的维度灾难问题,提高了训练 的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需 要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种多物流机器人移动控制方法的一种流程图;
图2是本发明实施例的一种多物流机器人移动控制装置的一种组成示意图;
图3是本发明实施例中的Soft Actor-Critic网络结构示意图;
图4是本发明实施例中的分层强化学习网络的结构示意图;
图5是本发明实施例中的一种无人仓路网布局示意图;
图6是本发明实施例中的分层强化学习网络训练的成本收益对比曲线;
图7是本发明实施例中的分层强化学习网络训练的帕累托最优示意图;
图8是本发明实施例在模拟环境中机器人完成任务的路径示意图;
图9是本发明实施例的分层强化学习网络在一种随机种子下的调度结果示意图;
图10是本发明实施例的分层强化学习网络在另一种随机种子下的调度结果示意图;
图11是本发明实施例的分层强化学习网络在另一种随机种子下的调度结果示意图;
图12是本发明实施例的分层强化学习网络在另一种随机种子下的调度结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
智能仓储系统的规模较大,在实际工作过程中,需要多个仓储物流机器人,即机器人,即AGV机 器人,的配合。仓储物流机器人主要采用以亚马逊的KIVA机器人等为代表的仓储物流机器人。如何使 多个机器人协同完成多个任务,仍然是实现多移动机器人智能仓储系统的重点和难点。很多物流机器人 的动态任务分配问题是指在某一状态下的已知仓储环境中,利用实时环境条件,根据任务分配结果最优 分配给物流机器人的任务,并结合路径规划算法,产生从起点到货架和货架之间选择无静态障碍和动态 碰撞冲突的最优路径,在此过程中,尽可能的少系统的时间成本。如何进行多物流机器人的协同动态任 务分配是本发明的主要内容。传统的方法将任务分配视为单台或多台机器人的路径规划问题。假设AGV 机器人在仓库环境中规划出从当前位置到目标位置的轨迹。虽然传统的任务分配算法在很多情况下都很 有用,但在实际应用中缺乏灵活性。环境的复杂性和动态障碍会增加系统的不稳定性,降低了计算效率。 另外,大多数传统算法没有考虑到动态任务分配,只能根据静态的顺序信息来解决。发明人意识到深度 强化学习展现了在解决大规模无人仓任务分配问题的强大潜力。智能体通过深度强化学习能够提取高维 状态空间特征的特点来学习优化复杂问题的策略。因此,发明人提出了一种多物流机器人任务分配方法 及装置,以解决多物流机器人任务分配的核心问题。强化学习可以通过奖励机制实现智能体与环境的交 互作用的特点和深度学习可以提取高维数据特征的优势。它通过深度神经网络直接从复杂动态的海量环 境数据中提取特征,最后学习出代理的最优策略。在考虑多物流机器人的任务分配问题时,如果不同订 单所需的商品属于同一个货架,可以将这些订单分配到同一个拣货台,尽量不要让不同的物流机器人重 复搬运同一个货架。与传统的任务分配方式相比,分别分配货架、分拣台和物流机器人,效率更高。同 时,深度强化学习技术为动态环境下的多机器人任务分配提供了便利。发明人提出本发明的方法和装置 训练机器人进行路径规划来进行货架移动的路径规划。目的是进一步提高多物流机器人的动态任务分配效率。利用所提出的深度强化学习方法,使物流机器人的策略模块能够通过环境信息进行决策。当我们 将任务分配扩展到多机器人系统时,多机器人系统的特征量化和机器人之间的冲突解决变得更加复杂。 在本发明实施例中任务分配由分配机器人集中决定,多个物流机器人在完成任务和规划实际路径时进行 稀疏的交互。物流机器人的学习策略的神经网络中没有通信,物流机器人根据观察到的信息进行独立决 策。通过共享参数和模型,机器人可以学习其他机器人的策略。
如图1所示,是本发明实施例中的一种多物流机器人移动控制方法,其步骤包括:
步骤101,根据机器人可执行的动作构建动作空间;
步骤102,构建应用于多物流机器人的基于增加了子目标位置参数的SAC算法的分层强化学习网 络,并随机初始化其网络参数的数值;所述分层强化学习网络用于从所述动作空间中选择待执行动作;
步骤103,根据训练起点位置、训练终点位置构建训练子目标位置空间;将所述训练子目标位置空 间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到所述网络参数的最 终数值;将所述最终数值用作所述分层强化学习网络的网络参数的数值,得到应用网络;
步骤104,接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器 采集当前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作 为任务起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间;
步骤105,根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网络从 所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动到所 述任务终点位置。
在步骤101中,根据机器人具体要执行的任务,分解机器人的动作,使机器人通过执行一系列动作 达到完成指定任务的目的,对于物流机器人,可以将动作分解为停止、前进、左转、右转、后退、拿起 货架和放下货架,并将上述动作编码为枚举值,构成动作空间,以便可以由机器人的处理器处理。在上 述动作的基础上还可以进一步详细定义物流机器人可以执行的动作,例如可以定义前进及后退的速度, 每次前进或后退的距离等量化信息,需要说明的是,在此列举的动作仅用于说明本发明实施例,不作为 对本发明实施例的限制;在步骤102中,将子目标位置作为参数添加到基于SAC的分层强化学习网络 的网络函数中,构建得到用于解决多物流机器人的移动控制的网络模型,未经训练的网络模型中的网络 参数初始值为随机值。步骤103,为了让构建的网络模型真正可用,需要经过训练,确定网络模型中网 络参数的优选值。在训练时,可以先通过模拟状态下训练,得到基本可用的网络参数下的网络模型,再 继续在真实环境中训练,得到最终可用的网络参数下的网络模型;例如在模拟状态下,根据训练起点位 置到训练终点位置的可能路径预处理得到子目标位置空间;根据需要模拟的环境来创建训练环境状态空 间;训练环境状态空间中的环境状态的转移变化可依据在模拟状态下,机器人执行的动作、当前的环境 状态以及预先设定的环境状态转移条件概率模型决定机器人执行动作后新的环境状态。上述环境状态转 移条件概率模型可以以机器人执行的动作、当前环境状态、从子目标空间中得到的当前子目标位置等作 为条件。在模拟训练下,将上述得到的动作空间、训练子目标位置空间、训练环境状态空间,输入给本 发明实施例的分层强化学习网络,训练得到模拟训练下的模拟网络参数,即得到了模拟状态下的模拟网 络模型;可以继续在真实环境下,将真实环境下的训练起点位置到训练终点位置预处理为真实环境下的 训练子目标位置空间,将动作空间、训练子目标位置空间,以及真实环境下的训练环境状态输入给使用 模拟网络模型的机器人,控制机器人在真实环境下执行动作,并获得奖励,从而在真实环境下进一步训 练机器人中的模拟网络模型中的网络参数,最终得到本发明实施例的强化学习网络的网络参数的最终数 值,进而得到基于此网络参数最终数值的本发明实施例的强化学习网络的应用网络;其中真实环境下的 训练环境状态可以通过实施采样的机器人的传感器的数据得到。在步骤104中,机器人接受到任务信息 后,从任务信息中获取任务终点位置,通过采样机器人的传感器,获得环境状态,机器人可以通过环境 状态了解自身所处的当前位置即任务起点位置;机器人获得了任务起点位置和任务终点位置后,经预处 理,得到任务子目标位置空间。在步骤105中,机器人通过实时采样传感器的数据得到实时采样数据即 获得实时环境状态,环境状态可以包括来自距离感应装置比如雷达的距离信息,来自摄像头的周围环境 图像以及来自摄像头拍摄的位置二维码数据等,机器人还可以通过例如CNN等图像处理的神经网络处 理环境状态信息中的图像信息,通过对图像信息做特征提取,获得可帮助机器人更准确的从动作空间中 选择合适动作的信息;机器人还可以从环境状态信息中获得与附近其他物体或机器人的距离信息,从而 避免碰撞及选择运动方向;位置二维码数据可以用来获得机器人当前所在的位置。机器人根据实时环境 状态及任务子目标位置空间通过步骤103训练得到的应用网络生成一系列待执行动作,并执行待执行动 作,实现机器人向任务子目标位置空间中的一个子目标位置移动,最终到达任务终点位置。
进一步地,如图4所示,所述分层强化学习网络包括:元控制器和控制器;
所述控制器包括:动作策略网络和动作评价网络;
所述元控制器包括:元控制器策略、元控制器值函数和元控制器损失函数;
所述动作策略网络包括:动作策略和动作策略损失函数;
动作评价网络包括:内部奖赏函数、动作评价值函数和动作评价损失函数;
所述元控制器用于通过估算所述元控制器值函数的值及最小化所述元控制器损失函数的值,更新所 述元控制器策略;所述元控制器策略用于根据机器人所处的环境状态和外部奖励值从子目标位置空间选 择一个子目标位置;所述控制器的所述动作评价网络通过估算所述动作评价值函数的值及最小化所述动 作评价损失函数的值,更新动作评价网络,并根据内部奖赏函数,生成内部奖励值;所述动作网络根据 所述内部奖励值和机器人所处的环境状态,通过最小化所述动作策略损失函数的值,更新所述动作策略; 所述动作策略用于根据所述子目标位置及机器人所处的环境状态从所述动作空间选择一个或多个待执 行动作;所述待执行动作被机器人执行,控制机器人向所述子目标位置移动,导致外部环境产生新的环 境状态;外部环境还会根据外部奖赏函数产生新的外部奖励值;
所述外部环境还会根据外部奖赏函数产生新的外部奖励值,具体为:
使用如公式(1)所述的r(st,at)函数作为外部奖赏函数,产生新的外部奖励值;
所述构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网 络,具体为:
使用如公式(2)所述的Q(st)函数作为元控制器值函数;
使用如公式(3)所述的JQ(ψ)函数作为所述元控制器损失函数;
使用如公式(4)所述的Q(st,at;gt)函数作为所述动作评价值函数;
使用如公式(5)所述的JQ(θ)函数作为所述动作评价损失函数;
如图4所示的分层强化学习的架构模型,在本发明实施例中的分层强化学习模型中,提出了一种分 层的SAC算法即HSAC。与经典的SAC算法用于多物流机器人移动任务相比,HSAC算法具有两层结 构,即元控制器即Meta-controller和控制器即Controller。如图4所示,本发明实施例构建了基于SAC 的分层强化学习网络,由元控制器和控制器构成,控制器包括Actor和Critic,其中Actor即动作策略 网络,Critic即动作评价网络;图4中的环境即外部环境,图4中的环境输出的状态即环境状态,此环境 状态在模拟环境中训练机器人时,可以通过模拟环境中建立的训练环境状态空间表示;在真实环境中训 练机器人时,可以通过机器人的传感器采集采样数据,作为真实环境下的训练环境状态空间;在训练完成后实际使用机器人时,通过机器人的传感器采集实时采样数据,作为是实时环境状态;元控制器将状 态st即每个时间步t时的环境状态,即实时环境状态,作为输入并选择一个新的子目标gt,即子目标位 置,控制器使用状态st和选定的子目标gt来选择操作,即从动作空间中选择的待执行动作,直到达到 子目标或episode,即迭代,终止为止。控制器中使用了两种模型分别近似输出动作和动作值函数值。在 本发明实施例中,仅构建了两级层级结构,但是所提出的方法可以扩展到更大的层级深度。如图4所示, 元控制器为控制器提供子目标gt,即当前子目标位置。在每个时间步t,控制器的actor网络即动作策 略网络,都会根据状态st,子目标gt输出动作at和动作策略,其中,at即从动作空间中选择的待执行动 作。动作at以及状态st和子目标gt成为控制器的critic网络的输入,其中critic网络即动作评价网络, 并输出值Q(st,at;gt),即动作评价值函数。当控制器实现子目标gt时,元控制器从环境中接收状态st, 并从子目标集合,即子目标位置空间,中选择一个子目标即子目标位置。如图4,环境提供状态st和外部 奖励值rt+1。元控制器和控制器内部使用单独的网络,并且控制器内部具有actor网络和critic网络,其 中actor网络即动作策略网络。元控制器获取子目标gt,并通过估计值函数Q(st;gt)即元控制器值函数, 生成元控制器策略。控制器使用状态st和子目标gt作为输入,通过估算Q(st,at;gt)即动作评价值函数, 生成动作策略,并通过估算π(at|st,gt)即代表动作策略的函数,生成动作at即待执行动作。环境接 收动作at并产生新环境状态st+1和外部奖励值rt+1,其中st+1即新的环境状态,外部奖励rt+1即新的外部 奖励值。控制器的critic网络根据新环境状态st+1判断子目标gt是否已经完成。如果episode结束或子目 标gt完成,元控制器将选择一个新的子目标。如果子目标尚未完成,则控制器的critic网络将提供内在 奖励即内部奖励值。在本发明实施例中,使用公式(1)作为生成外部奖励值得函数,在公式(1)中考虑 到了机器人与其他物体以及机器人与其他机器人之间发生碰撞的情况,在发生碰撞时,生成负的外部奖 励值,从而达到惩罚的效果;机器人之间通过避免碰撞,也实现了多物流机器人之间的协调工作;外部 奖赏函数还根据执行待执行动作前后,机器人所在位置与任务终点位置之间的距离变化生成外部奖励 值,从而可以对机器人的每个动作的效果做出评价,为机器人下一步采取的动作提供依据;当任务完成 时,外部奖赏函数也会给出一个正的外部奖励值,以便给机器人一个正面的响应。在本发明实施例中, 在内部奖赏函数、元控制器值函数、元控制器损失函数、动作评价值函数、动作评价损失函数、动作策 略损失函数函数中引入子目标位置参数,从而将子目标位置参数引入神经网络中,实现了训练到达子目 标的策略。
进一步的,所述元控制器还包括:元控制器参数
所述动作策略网络还包括:动作策略网络参数
所述动作评价网络还包括:动作评价网络参数;
所述分层强化学习网络还包括:外部奖励累积值、第一经验缓冲区和第二经验缓冲区;
所述分层强化学习网络的所述网络参数包括:所述元控制器参数、所述动作网络策略参数、所述动 作评价网络参数;
所述将所述训练子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参 数的数值,得到所述网络参数的最终数值,具体步骤为:
随机初始化所述元控制器参数、所述动作策略网络参数、所述动作评价网络参数的数值;
输入所述动作空间、所述训练子目标位置空间、所述训练环境状态空间;
初始化第一经验缓冲区和第二经验缓冲区;
从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态;
从所述训练子目标位置空间中选择一个子目标位置作为当前子目标位置;
将所述外部奖励累积值清零;将所述初始环境状态赋值给当前环境状态;
将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
在所述当前环境状态下,以所述当前子目标位置为目的地,执行所述待执行动作后,按以所述当前 环境状态和所述待执行动作为条件的环境状态条件转移概率,得到新环境状态;
根据所述待执行动作、所述当前环境状态、所述新环境状态获得外部奖励值;将所述待执行动作、 所述当前环境状态、所述新环境状态及所述外部奖励值输入给所述内部奖赏函数得到所述待执行动作的 所述内部奖励值;
将所述当前环境状态、所述待执行动作、所述当前子目标位置、所述内部奖励值、所述新环境状态 缓存到第一经验缓冲区;
从所述第一经验缓冲区中采样数据,将所述待执行动作、所述当前环境状态、所述新环境状态、所 述内部奖励值输入给动作评价值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过 最小化动作策略损失函数,更新动作策略网络参数;
当所述第二经验缓冲区有数据时,从所述第二经验缓冲区采样所述当前环境状态、所述当前子目标 位置、所述外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失函 数,更新元控制器参数;所述子目标环境状态为机器人从所述当前环境状态下完成了尝试向所述当前子 目标位置移动时的环境状态;
将所述新环境状态赋值给所述子目标环境状态;将所述外部奖励值累加到所述外部奖励累积值中; 将所述新环境状态赋值给所述当前环境状态;
若机器人到达所述子目标位置或者由第七步骤至当前步骤的执行次数达到预置的动作次数,则继续 执行后续步骤;否则执行第七步骤;其中,所述第七步骤为将所述当前环境状态输入给所述动作策略, 所述动作策略从所述动作空间选择一个待执行动作;
将所述初始环境状态、所述子目标位置、所述外部奖励累积值及所述子目标环境状态缓存到第二 经验缓冲区;
若第四步骤至当前步骤的执行次数达到预置的训练次数,则终止训练,输出所述元控制器参数、动 作策略网络参数、动作评价网络参数的最终数值;否则执行第四步骤,其中所述第四步骤为从所述训练 环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态。
本发明实施例的上述训练步骤可由如下表1简明描述:
表1训练流程示例
下面对表1流程做详细说明,上述流程中每行开始的数字从000到023表示行号;
本发明实施例的元控制器、动作策略网络及动作评价网络都采用神经网络实现,元控制器参数ψ是实 现元控制器的神经网络的网络参数,动作策略网络参数φ是实现动作策略网络的神经网络的网络参数, 动作评价网络参数θ是实现动作评价网络的网络参数,上述网络参数经训练得到网络参数的最终数值, 即用于实现多物流机器人的移动任务。在第001行中,输入子目标位置空间即训练子目标位置空间;环 境状态可以来自模拟训练下的训练环境状态空间或者在真实环境下采样传感器的数据,获得的采样数据 构成的训练环境状态空间;从任务信息中获取终点位置,从获得的环境状态中取得起点位置,根据起点位和终点位置以及环境状态等信息,将机器人的移动路径规划为一个或多个子目标位置,由这些子目位 置构成了子目标位置空间即G。在第002行初始化网络参数θ,ψ,φ,神经网络在训练时,最初的网络 参数是未知的,可以选择一种初始化方式,比如可以随机初始化,也可以按指定的规则生成初始值,也 可以使用指定的初始值来初始化网络参数的初始值;随后的迭代训练可以将各网络参数的值收敛到适当 的优选值即最终数值;第003行,初始化第一经验缓冲区和第二经验缓冲区本发明通过共享经 验重现内存,即和和策略来实现无人仓订单拣选的目标。机器人使用相同的策略来规划从起点 到目的地的路径,并且机器人的轨迹存储在共享的经验缓冲区中,由此多物流机器人之间可以做大相互 协调。从第004行到第022行开始循环迭代,训练网络参数,直到迭代次数超过了预置次数才停止迭代; 第005行,环境S即训练环境状态空间,来自模拟环境下构建的训练环境状态空间或真实环境下,通 过采样传感器数据构建的训练环境状态空间,从机器人所处的环境S中获得初始环境状态s0,并赋值 给当前环境状态s;第006行,元控制器策略从子目标位置空间G中选择一个子目标位置作为当前子 目标位置gt;机器人将被迭代训练,尝试从当前的位置或起点位置移动到当前子目标位置gt;第007行 将外部奖励累积值G清零,以便在迭代过程中,记录每次迭代获得的外部奖励值的累加和。第008行 到第020行开始基于时间步的循环,在迭代结束前或者子目标完成前,循环执行每个时间步的待执行动 作;第009行,其中st是时间步t时的当前环境状态,最初时,st即s,在本流程的随后说明中简称当 前环境状态st;动作策略网络根据当前环境状态st,使用当前的动作策略πφ从动作空间选择一个待执行动作at;动作策略πφ在训练过程中会随着动作策略网络参数的更新持续改进选择待执行动作的效果。 第010行,待执行动作at在当前环境状态st下执行,导致环境状态发生改变,通过采集传感器的采样 数据检测到环境状态变为新环境状态st+1;待执行动作执行后,导致环境状态发生改变,动作评价网络 根据待执行动作at、当前子目标位置gt、时间步t时的当前环境状态st、新环境状态st+1计算内部奖励 值同时,机器人可以从环境中获得外部奖励值r,需要说明的是,在训练过程中,为了加快训练速 度,也可以使用模拟计算的外部奖励值r训练机器人。第012行,将当前环境状态st、待执行动作at、 当前子目标位置gt、内部奖励值新环境状态st+1添加到第一经验缓冲区第013到第015行从 第一经验缓冲区中采样数据,将待执行动作、当前环境状态、新环境状态、内部奖励值输入给动作评价 值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过最小化动作策略损失函数,更 新动作策略网络参数;第016到第018行,当第二经验缓冲区有数据时,从第二经验缓冲区采样当前环 境状态、当前子目标位置、外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化 元控制器损失函数,更新元控制器参数;第019行,将新环境状态st+1赋值给当前环境状态s;新环境 状态st+1赋值给子目标环境状态s';将外部奖励值r累加到外部奖励累积值G中;第020行,循环到第 008行执行,直到达到本次迭代完成或者机器人到达了子目标位置则继续执行第021行;第021行,将初 始环境状态s0、子目标位置gt、外部奖励累积值G及子目标环境状态s'缓存到第二经验缓冲区;最后 在第023行,输出动作评价网络参数θ、元控制器参数ψ、动作策略网络参数φ的最终数值。
进一步地,所述传感器包括:距离感应装置和摄像头;
所述接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器采集当 前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作为任务 起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间,具体步骤为:
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置;
采样所述距离感应装置的信号,获得机器人与附近物体或机器人与其他机器人之间的距离信息;
采样所述摄像头的环境图像数据,获得机器人所处环境的图像信息;
采样所述摄像头拍摄的位置二维码图像,获得机器人所在当前位置的位置数据,作为所述任务起点 位置;
预处理所述任务起点位置和所述任务终点位置,得到所述任务子目标位置空间。
本发明实施例中,机器人通过采集距离感应传感器的数据获得与附近其他物体或其他机器人之间的 距离从而避免碰撞,选择可以前进的方向。距离感应传感器,具体可以是雷达传感器、红外传感器、超 声波传感器等可感应距离的传感器。机器人还可以通过采集摄像头的图像获得周围环境的图像,还可以 通过摄像头采集位置二维码的图像,机器人可以通过位置二维码图像所包含的信息获得机器人当前所处 的准确位置。传感器还可以包括红外、加速度计、压力传感器等,此处不一一列举,本领域技术人员应 理解为任何可被机器人处理器采样的传感器均符合本发明实施例中的传感器的定义。上述通过距离感应传感器和摄像头得到的采样数据构成了机器人当前所处环境的环境状态,上述环境状态可以被送入到本 发明实施例中的分层强化学习网络中,被分析提取高级特征,依据这些高级特征对机器人当前所处的环 境状态做出判断,从而选择合适的待执行动作,控制机器人向任务终点位置移动。例如机器人通过采样 雷达信号,可以获知与附近其他物体比如墙壁、跌落的货物等或者其他机器人的距离,避免发生碰撞, 必要时可以根据雷达信号主动避让即将发生的被动碰撞;再例如在分层强化学习网络中,可以通过集成 CNN神经网络对摄像头拍摄到的图像信息做出里,训练分层强化学习网络从图像信息中提取货架、障 碍物、其他机器人和可选路径等信息的高级特征,并依据这些高级特征从动作空间中选择合适的待执行 动作。在本发明实施例中,机器人接收到任务信息,并从任务信息中获取到任务终点位置,此时,机器 人需要知道当前所处的位置,即任务起点位置,所以机器人通过采集摄像头拍摄到的位置二维码数据, 并从位置二维码数据中获取到任务起点位置。为了能正确的选择待执行动作,机器人还会采集距离传感 器的数据和周围环境的图像信息,将上述数据和信息以及位置二维码数据都作为环境数据输入给本发明 实施例的分层强化学习网络,作为机器人接收到任务是的初始环境状态。在确定了任务起点位置和任务 终点位置后,经预处理,得到任务子目标空间;机器人根据任务子目标空间、实时采集的传感器的信息 构成的当前环境状态,从任务子目标空间中选择一个子目标位置,作为当前子目标位置,本发明实施例 的分层强化学习网络根据当前子目标位置、当前环境状态从动作空间选择待执行动作,机器人执行待执 行动作向子目标位置移动,每一次移动,都导致环境状态变为新的环境状态,在下一次移动前,新环境 状态即成为下一次移动的当前环境状态;机器人持续重复上述采样传感器获得环境状态、选择子目标、 选择动作,执行动作,向子目标靠近的过程,最终从任务起点位置移动到任务终点位置。
进一步地,所述根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网 络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动 到所述任务终点位置,具体步骤为:
获取所述任务子目标位置空间和所述动作空间;
通过传感器采集实时采样数据;
判断机器人所在位置若已经位于所述任务终点位置则机器人停止,否则继续执行后续步骤;
通过所述应用网络根据所述实时采样数据,从所述子目标位置空间,选择子目标位置;
通过所述应用网络根据所述子目标位置和所述实时采样数据从所述动作空间,选择待执行动作;
执行所述待执行动作,机器人从当前所在位置向所述子目标位置移动,继续执行第二步骤,其中, 所述第二步骤为通过传感器采集实时采样数据。
在本发明实施例中,机器人接收到任务信息,并从任务信息中获取到任务终点位置,此时,机器人 需要知道当前所处的位置,即任务起点位置,所以机器人通过采集摄像头拍摄到的位置二维码数据,并 从位置二维码数据中获取到任务起点位置。为了能正确的选择待执行动作,机器人还会采集距离传感器 的数据和周围环境的图像信息,将上述数据和信息以及位置二维码数据都作为环境数据输入给本发明实 施例的分层强化学习网络,作为机器人接收到任务是的初始环境状态。在确定了任务起点位置和任务终 点位置后,经预处理,得到任务子目标空间;机器人根据任务子目标空间、实时采集的传感器的信息构 成的当前环境状态,从任务子目标空间中选择一个子目标位置,作为当前子目标位置,本发明实施例的 分层强化学习网络根据当前子目标位置、当前环境状态从动作空间选择待执行动作,机器人执行待执行 动作向子目标位置移动,每一次移动,都导致环境状态变为新的环境状态,在下一次移动前,新环境状 态即成为下一次移动的当前环境状态;机器人持续重复上述采样传感器获得环境状态、选择子目标、选 择动作,执行动作,向子目标靠近的过程,最终从任务起点位置移动到任务终点位置。
另一方面,如图2所示,本发明实施例还提供了一种多物流机器人移动控制装置,其包括:
动作分解装置201,用于根据机器人可执行的动作构建动作空间;
模型构建装置202,用于构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法 的分层强化学习网络,并随机初始化其网络参数的数值;所述分层强化学习网络用于从所述动作空间中 选择待执行动作;
模型参数训练装置203,用于根据训练起点位置、训练终点位置构建训练子目标位置空间;将所述 训练子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到 所述网络参数的最终数值;将所述最终数值用作所述分层强化学习网络的网络参数的数值,得到应用网 络;
任务接收装置204,用于接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置, 并通过传感器采集当前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置, 将当前位置作为任务起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间;
任务执行装置205,用于根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所 述应用网络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点 位置移动到所述任务终点位置。
进一步地,所述分层强化学习网络包括:元控制器和控制器;
所述控制器包括:动作策略网络和动作评价网络;
所述元控制器包括:元控制器策略、元控制器值函数和元控制器损失函数;
所述动作策略网络包括:动作策略和动作策略损失函数;
动作评价网络包括:内部奖赏函数、动作评价值函数和动作评价损失函数;
所述元控制器用于通过估算所述元控制器值函数的值及最小化所述元控制器损失函数的值,更新所 述元控制器策略;所述元控制器策略用于根据机器人所处的环境状态和外部奖励值从子目标位置空间选 择一个子目标位置;所述控制器的所述动作评价网络通过估算所述动作评价值函数的值及最小化所述动 作评价损失函数的值,更新动作评价网络,并根据内部奖赏函数,生成内部奖励值;所述动作网络根据 所述内部奖励值和机器人所处的环境状态,通过最小化所述动作策略损失函数的值,更新所述动作策略; 所述动作策略用于根据所述子目标位置及机器人所处的环境状态从所述动作空间选择一个或多个待执 行动作;所述待执行动作被机器人执行,控制机器人向所述子目标位置移动,导致外部环境产生新的环 境状态;外部环境还会根据外部奖赏函数产生新的外部奖励值;
所述外部环境还会根据外部奖赏函数产生新的外部奖励值,具体为:
使用如公式(1)所述的r(st,at)函数作为外部奖赏函数,产生新的外部奖励值;
所述模型构建装置202中的所述构建应用于多物流机器人的基于增加了子目标位置参数改进的 SAC算法的分层强化学习网络,具体为:
使用如公式(2)所述的Q(st)函数作为元控制器值函数;
使用如公式(3)所述的JQ(ψ)函数作为所述元控制器损失函数;
使用如公式(4)所述的Q(st,at;gt)函数作为所述动作评价值函数;
使用如公式(5)所述的JQ(θ)函数作为所述动作评价损失函数;
进一步地,所述元控制器还包括:元控制器参数
所述动作策略网络还包括:动作策略网络参数
所述动作评价网络还包括:动作评价网络参数;
所述分层强化学习网络还包括:外部奖励累积值、第一经验缓冲区和第二经验缓冲区;
所述分层强化学习网络的所述网络参数包括:所述元控制器参数、所述动作网络策略参数、所述动 作评价网络参数;
所述模型参数训练装置203,具体用于:
随机初始化所述元控制器参数、所述动作策略网络参数、所述动作评价网络参数的数值;
输入所述动作空间、所述训练子目标位置空间、所述训练环境状态空间;
初始化第一经验缓冲区和第二经验缓冲区;
从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态;
从所述训练子目标位置空间中选择一个子目标位置作为当前子目标位置;
将所述外部奖励累积值清零;将所述初始环境状态赋值给当前环境状态;
将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
在所述当前环境状态下,以所述当前子目标位置为目的地,执行所述待执行动作后,按以所述当前 环境状态和所述待执行动作为条件的环境状态条件转移概率,得到新环境状态;
根据所述待执行动作、所述当前环境状态、所述新环境状态获得外部奖励值;将所述待执行动作、 所述当前环境状态、所述新环境状态及所述外部奖励值输入给所述内部奖赏函数得到所述待执行动作的 所述内部奖励值;
将所述当前环境状态、所述待执行动作、所述当前子目标位置、所述内部奖励值、所述新环境状态 缓存到第一经验缓冲区;
从所述第一经验缓冲区中采样数据,将所述待执行动作、所述当前环境状态、所述新环境状态、所 述内部奖励值输入给动作评价值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过 最小化动作策略损失函数,更新动作策略网络参数;
当所述第二经验缓冲区有数据时,从所述第二经验缓冲区采样所述当前环境状态、所述当前子目标 位置、所述外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失函 数,更新元控制器参数;所述子目标环境状态为机器人从所述当前环境状态下完成了尝试向所述当前子 目标位置移动时的环境状态;
将所述新环境状态赋值给所述子目标环境状态;将所述外部奖励值累加到所述外部奖励累积值中; 将所述新环境状态赋值给所述当前环境状态;
若机器人到达所述子目标位置或者由第七步骤至当前步骤的执行次数达到预置的动作次数,则继续 执行后续步骤;否则执行第七步骤;其中,所述第七步骤为将所述当前环境状态输入给所述动作策略, 所述动作策略从所述动作空间选择一个待执行动作;
将所述初始环境状态、所述子目标位置、所述外部奖励累积值及所述子目标环境状态缓存到第二 经验缓冲区;
若第四步骤至当前步骤的执行次数达到预置的训练次数,则终止训练,输出所述元控制器参数、动 作策略网络参数、动作评价网络参数的最终数值;否则执行第四步骤,其中所述第四步骤为从所述训练 环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态。
进一步地,所述传感器包括:距离感应装置和摄像头;
所述任务接收装置204,具体用于:
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置;
采样所述距离感应装置的信号,获得机器人与附近物体或机器人与其他机器人之间的距离信息;
采样所述摄像头的环境图像数据,获得机器人所处环境的图像信息;
采样所述摄像头拍摄的位置二维码图像,获得机器人所在当前位置的位置数据,作为所述任务起点 位置;
预处理所述任务起点位置和所述任务终点位置,得到所述任务子目标位置空间。
进一步地,所述任务执行装置205,具体用于:
获取所述任务子目标位置空间和所述动作空间;
通过传感器采集实时采样数据;
判断机器人所在位置若已经位于所述任务终点位置则机器人停止,否则继续执行后续步骤;
通过所述应用网络根据所述实时采样数据,从所述子目标位置空间,选择子目标位置;
通过所述应用网络根据所述子目标位置和所述实时采样数据从所述动作空间,选择待执行动作;
执行所述待执行动作,机器人从当前所在位置向所述子目标位置移动,继续执行第二步骤,其中, 所述第二步骤为通过传感器采集实时采样数据。
动作分解装置201,根据机器人具体要执行的任务,分解机器人的动作,使机器人通过执行一系列 动作达到完成指定任务的目的,对于物流机器人,可以将动作分解为停止、前进、左转、右转、后退、 拿起货架和放下货架,并将上述动作编码为枚举值,构成动作空间,以便可以由机器人的处理器处理。 在上述动作的基础上还可以进一步详细定义物流机器人可以执行的动作,例如可以定义前进及后退的速 度,每次前进或后退的距离等量化信息,需要说明的是,在此列举的动作仅用于说明本发明实施例,不 作为对本发明实施例的限制;模型构建装置202用于将子目标位置作为参数添加到基于SAC的分层强 化学习网络的网络函数中,构建得到用于解决多物流机器人的移动控制的网络模型,未经训练的网络模 型中的网络参数初始值为随机值。模型参数训练装置203,为了让构建的网络模型真正可用,需要经过 训练,确定网络模型中网络参数的优选值。在训练时,可以先通过模拟状态下训练,得到基本可用的网 络参数下的网络模型,再继续在真实环境中训练,得到最终可用的网络参数下的网络模型;例如在模拟 状态下,根据训练起点位置到训练终点位置的可能路径预处理得到子目标位置空间;根据需要模拟的环 境来创建训练环境状态空间;训练环境状态空间中的环境状态的转移变化可依据在模拟状态下,机器人 执行的动作、当前的环境状态以及预先设定的环境状态转移条件概率模型决定机器人执行动作后新的环 境状态。上述环境状态转移条件概率模型可以以机器人执行的动作、当前环境状态、从子目标空间中得 到的当前子目标位置等作为条件。在模拟训练下,将上述得到的动作空间、训练子目标位置空间、训练 环境状态空间,输入给本发明实施例的分层强化学习网络,训练得到模拟训练下的模拟网络参数,即得 到了模拟状态下的模拟网络模型;可以继续在真实环境下,将真实环境下的训练起点位置到训练终点位 置预处理为真实环境下的训练子目标位置空间,将动作空间、训练子目标位置空间,以及真实环境下的 训练环境状态输入给使用模拟网络模型的机器人,控制机器人在真实环境下执行动作,并获得奖励,从 而在真实环境下进一步训练机器人中的模拟网络模型中的网络参数,最终得到本发明实施例的强化学习 网络的网络参数的最终数值,进而得到基于此网络参数最终数值的本发明实施例的强化学习网络的应用 网络;其中真实环境下的训练环境状态可以通过实施采样的机器人的传感器的数据得到。任务接收装置 204中,机器人接受到任务信息后,从任务信息中获取任务终点位置,通过采样机器人的传感器,获得 环境状态,机器人可以通过环境状态了解自身所处的当前位置即任务起点位置;机器人获得了任务起点 位置和任务终点位置后,经预处理,得到任务子目标位置空间。任务执行装置205中,机器人通过实时 采样传感器的数据得到实时采样数据即获得实时环境状态,环境状态可以包括来自距离感应装置比如雷达的距离信息,来自摄像头的周围环境图像以及来自摄像头拍摄的位置二维码数据等,机器人还可以通 过例如CNN等图像处理的神经网络处理环境状态信息中的图像信息,通过对图像信息做特征提取,获 得可帮助机器人更准确的从动作空间中选择合适动作的信息;机器人还可以从环境状态信息中获得与附 近其他物体或机器人的距离信息,从而避免碰撞及选择运动方向;位置二维码数据可以用来获得机器人 当前所在的位置。机器人根据实时环境状态及任务子目标位置空间通过在模型参数训练装置203中得到 的应用网络生成一系列待执行动作,并执行待执行动作,实现机器人向任务子目标位置空间中的一个子 目标位置移动,最终到达任务终点位置。
本发明实施例提供的一种多物流机器人移动控制装置是采用了本发明实施例的一种多物流机器人 移动控制方法中的任意一中方法得到的产品,本领域技术人员可根据本发明实施例的一种多物流机器人 移动控制方法中的说明充分理解本发明实施例的一种多物流机器人移动控制装置,所以在此不再赘述。
下面具体对本发明实施例中的基于增加了子目标位置参数改进的SAC算法的分层强化学习网络进 行说明:
1.问题描述
深度强化学习,即DRL,是机器学习和人工智能中的一个重要的领域,主要研究的问题是智能体如 何通过与环境直接交互以最大化长期回报来学习策略。传统的DRL基于马尔可夫决策过程即MDP,可 以表示为五元组<S,A,P,R,γ>。S是有限状态的集合,状态s属于集合S.A是有限动作的集合, 动作a属于集合A,并且A是可以在状态s下执行的一组动作。P是状态转移方程,这意味着智能 体在状态s执行动作a后环境将有可能以概率p跳转至状态s'。R是奖励函数。γ是折扣因子,属于 [0,1].MDP指示环境的下一个状态仅与当前状态有关,与之前的状态无关。但是,在复杂环境或困难 任务中,智能体的状态空间变大会导致学习参数和存储空间迅速增长。面对维度灾难问题,DRL很难 达到预期的效果,因此提出了分层强化学习即HRL。
HRL将一个复杂问题分解为几个子问题,与直接解决整个问题相比,单独解决子问题可以获得更 好的结果。HRL需要在半马尔可夫决策过程即SMDP上执行。在SMDP中,从当前状态到下一个状态 的步数是一个随机变量τ,例如在选择一个状态s的动作a后,它将以概率p在τ步后转换到下一个 状态s'。状态转换的概率P(s',τ|s,a)是s和τ的联合概率。
本发明的分层强化学习网络为多物流机器人系统提供一种具有深度强化学习算法的移动控制算法。 目标是找到一个可学习的策略模块π:S×A→[0,1],它可以指导智能体选择动作,动作值函数如公式 (8)所示表示可以通过在给定策略π和状态s的情况下执行动作a所获得的期望累计奖励。标准的强化 学习需要求最大化奖励总和的期望值。
为了获得更好的策略来实现动态任务分配,物流机器人需要学习感知和决策之间的规则,并在避免 冲突的情况下进行协作。
2.多物流机器人任务分配
在多物流机器人任务分配问题中,环境状态输入与输出之间的控制规则可能非常复杂。因此本文将 对Soft Actor-Critic即SAC进行一些改进作为基本架构。
3.Soft Actor-Critic架构介绍
SAC是一个表现优异的深度强化学习算法,可以解决离散和连续控制问题。与传统的DDPG算法 相比,SAC使用随机策略。相比确定性策略,随机策略在实际的机器人控制中具有更多优势。随机策 略通过最大熵实现,最大熵的思想可以避免任何有用的动作或轨迹被忽视。
SAC使用如公式(9)所示的最大熵目标来学习复杂任务的策略:
其中:α是温度系数的超参数,用于调整熵值;H(π(·|st))表示执行到时间步t时,SAC所采用 的各种策略的熵;r(st,at)表示在时间步t时的环境状态st下,执行动作at获得的奖励值;
最大熵强化学习的状态值函数V(st)可表示为公式(10):
其中:
Q(st,at)为动作-状态值函数,可以具体表示为:
logπ(at|st)为在时间步t时的环境状态st下,执行动作at的熵值;
r(st,at)表示在时间步t的环境状态st下,执行动作at获得的奖励值;
SAC构造了神经网络实现Qθ(st,at)模型,还构造了另一神经网络实现πφ(at|st)模型,来表示动 作值函数Q(st,at)和策略π。在每个时间步,actor网络和critic网络都通过从内存缓冲统一采样小批量 来进行更新。SAC还创建了目标网络Q(st,at)并通过学习后的网络进行软更新的策略π,可以大大提 升学习的稳定性。
SAC中的critic网络的损失函数,如公式(11)所示:
其中:θ表示critic网络的网络参数;Qθ(st,at)表示在时间步t时的环境状态st下,执行动作at得 到的critic网络的动作-状态值函数的值;r(st,at)表示在时间步t的环境状态st下,执行动作at获得的 奖励值;log(πφ(at+1|st+1))表示actor网络在新环境状态st+1下获得新动作at+1的策略的熵;
SAC中的Actor网络训练策略πφ的损失函数,如公式(12)所示:
其中:Z(st)代表分区函数,用于对分布进行归一化操作;Qθ(st,at)表示在时间步t时的环境状 态st下,执行动作at得到的critic网络的动作-状态值函数的值;log(πφ(at+1|st+1))表示actor网络在 时间步t时的环境状态st下获得新动作at的策略的熵;
4.本发明实施例的网络结构
在本发明实施例的分层强化学习网络的网络结构中,策略模块的感知信息包括有关无人仓库环境的 信息和有关机器人的信息。与任务分配相关的一些参数已经添加到框架中,例如分配给机器人的货架集 合和分配给拣选台的订单集合。这使得策略模块可以同时考虑拣选台和机器人的状态,这对于任务分配 至关重要。
框架中包含三种类型的神经网络,分别是V网络、策略网络和Q网络。如图3所示,它们都使用 感知信息即通过采集传感器的采样数据获得的环境状态信息作为输入。V网络通过全连接层传递数据并 输出状态值。策略网络将数据通过全连接层和高斯分布层,最后输出采用的动作取样和策略,此处的动 作取样即待执行动作,此处的策略即动作策略。从策略网络即动作策略网络输出的采用动作,即待执行 动作,和环境状态一起作为Q网络即动作评价网络的输入,最后Q网络输出状态动作值即动作评价函 数的值。
5.分层Soft Actor-Critic
本发明实施例的分层强化学习网络将分层结构加入到SAC中并提出分层SAC算法即HSAC。在多 物流机器人系统中,每个机器人的观察都包含有关其他机器人的信息。如果仅将其他机器人视为静态障 碍,而不考虑如何与其他机器人协作,那么将大大降低无人仓拣选任务分配的效率。
6.元控制器/控制器架构
如图4所示的分层强化学习的架构模型,在本发明实施例中的分层强化学习模型中,提出了一种分 层的SAC算法即HSAC。与经典的SAC算法用于多物流机器人任务分配相比,HSAC算法具有两层结 构,即元控制器即Meta-controller和控制器即Controller。元控制器将状态st即每个时间步t时的环境状 态,即实时环境状态,作为输入并选择一个新的子目标gt,即子目标位置,控制器使用状态st和选定 的子目标gt来选择操作,即从动作空间中选择的待执行动作,直到达到子目标或episode,即迭代,终止 为止。控制器中使用了两种模型分别近似输出动作和动作值函数值。在本发明实施例中,仅构建了两级 层级结构,但是所提出的方法可以扩展到更大的层级深度。
如图4所示,元控制器为控制器提供子目标gt,即当前子目标位置。在每个时间步t,控制器的 actor网络即动作策略网络,都会根据状态st,子目标gt输出动作at和动作策略,其中,at即从动作空 间中选择的待执行动作。动作at以及状态st和子目标gt成为控制器的critic网络的输入,其中critic网 络即动作评价网络,并输出值Q(st,at;gt),即动作评价值函数。当控制器实现子目标gt时,元控制器 从环境中接收状态st,并从子目标集合,即子目标位置空间,中选择一个子目标即子目标位置。
如图4,环境提供状态st和外部奖励值rt+1。元控制器和控制器内部使用单独的网络,并且控制器 内部具有actor网络和critic网络,其中actor网络即动作策略网络。元控制器获取子目标gt,并通过估 计值函数Q(st;gt)即元控制器值函数,生成元控制器策略。控制器使用状态st和子目标gt作为输入, 通过估算Q(st,at;gt)即动作评价值函数,生成动作策略,并通过估算π(at|st,gt)即代表动作策略的 函数,生成动作at即待执行动作。环境接收动作at并产生新环境状态st+1和外部奖励值rt+1,其中st+1即新的环境状态,外部奖励rt+1即新的外部奖励值。控制器的critic网络根据新环境状态st+1判断子目标 gt是否已经完成。如果episode结束或子目标gt完成,元控制器将选择一个新的子目标。如果子目标 尚未完成,则控制器的critic网络将提供内在奖励即内部奖励值。
控制器的目标函数是最大化未来累计内部奖励如公式(13):
元控制器的目标函数为最大化将来累积外部奖赏如公式(14):
其中:γ是折扣因子;rt是来自环境的外部奖励值;τ表示一个episode中最后一步。
在本发明实施例中,使用两个不同的值函数来学习元控制器的模型和控制器的critic模型。如公式 (2)是元控制器的值函数模型,即元控制器值函数;公式(4)是控制器的critic网络的值函数模型, 即动作评价值函数;
此外,如公式(15)所示,动作策略采用KL散度(Kullback-Leibler divergence)更新:
分区函数对分布进行归一化操作,该分布对于元控制器策略π(gt|st)来说是常数,在实 际计算中可以直接忽略。控制器的经验重现缓冲区即第一经验缓冲区,由组成。 元控制器的经验重现缓冲区即第二经验缓冲区,由(st,gt,Gt:t+T,gt+T)组成。其中t表示在时间步t时, st即当前环境状态,at即待执行动作,gt即当前子目标位置,即内部奖励值,st+1即新环境状态。
本发明实施例中采用V网络即用于元控制器、策略网络即用于动作策略网络和Q网络即用于动作 评价网络来近似元控制器的值、控制器actor网络的策略和控制器critic网络的值。本发明实施例考虑 使用参数化的值函数Qψ(st;gt)即元控制器值函数、值函数Qθ(st,at;gt)即动作评价值函数和策略 πφ(at|st,gt)即动作策略。本发明实施例中,在各Q值函数、损失函数及策略中引入了子目标gt,从而 可以训练机器人学习到达子目标状态的策略。
为了训练元控制器的值函数,基于环境的外部奖励值来最小化元控制器损失函数如公式(3)所示;
控制器的critic网络更新动作评价网络参数的最小化动作评价损失函数如公式(5)所示;
如表1训练流程示例所示本发明实施例的分层强化学习网络通过共享经验重现内存和策略来实现 无人仓订单拣选的目标。机器人使用相同的策略来规划从起点到目的地的路径,并且机器人的轨迹存储 在共享的经验缓冲区中。
下面对表1流程做详细说明,上述流程中每行开始的数字从000到023表示行号;本发明实施例的 元控制器、动作策略网络及动作评价网络都采用神经网络实现,元控制器参数ψ是实现元控制器的神 经网络的网络参数,动作策略网络参数φ是实现动作策略网络的神经网络的网络参数,动作评价网络参 数θ是实现动作评价网络的网络参数,上述网络参数经训练得到网络参数的最终数值,即用于实现多物 流机器人的任务分配。在第001行中,输入子目标位置空间即训练子目标位置空间;环境状态可以来自 模拟训练下的训练环境状态空间或者在真实环境下采样传感器的数据,获得的采样数据构成的训练环境 状态空间;从任务信息中获取终点位置,从获得的环境状态中取得起点位置,根据起点位和终点位置以 及环境状态等信息,将机器人的移动路径规划为一个或多个子目标位置,由这些子目位置构成了子目标 位置空间即G。在第002行初始化网络参数θ,ψ,φ,神经网络在训练时,最初的网络参数是未知的, 可以选择一种初始化方式,比如可以随机初始化,也可以按指定的规则生成初始值,也可以使用指定的 初始值来初始化网络参数的初始值;随后的迭代训练可以将各网络参数的值收敛到适当的优选值即最终 数值;第003行,初始化第一经验缓冲区和第二经验缓冲区本发明通过共享经验重现内存,即和和策略来实现无人仓订单拣选的目标。机器人使用相同的策略来规划从起点到目的地的路径, 并且机器人的轨迹存储在共享的经验缓冲区中,由此多物流机器人之间可以做大相互协调。从第004行到第022行开始循环迭代,训练网络参数,直到迭代次数超过了预置次数才停止迭代;第005行,环 境S即训练环境状态空间,来自模拟环境下构建的训练环境状态空间或真实环境下,通过采样传感器 数据构建的训练环境状态空间,从机器人所处的环境S中获得初始环境状态s0,并赋值给当前环境状 态s;第006行,元控制器策略从子目标位置空间G中选择一个子目标位置作为当前子目标位置gt; 机器人将被迭代训练,尝试从当前的位置或起点位置移动到当前子目标位置gt;第007行将外部奖励累 积值G清零,以便在迭代过程中,记录每次迭代获得的外部奖励值的累加和。第008行到第020行开 始基于时间步的循环,在迭代结束前或者子目标完成前,循环执行每个时间步的待执行动作;第009行, 其中st是时间步t时的当前环境状态,最初时,st即s,在本流程的随后说明中简称当前环境状态st; 动作策略网络根据当前环境状态st,使用当前的动作策略πφ从动作空间选择一个待执行动作at;动作 策略πφ在训练过程中会随着动作策略网络参数的更新持续改进选择待执行动作的效果。第010行,待 执行动作at在当前环境状态st下执行,导致环境状态发生改变,通过采集传感器的采样数据检测到环 境状态变为新环境状态st+1;待执行动作执行后,导致环境状态发生改变,动作评价网络根据待执行动 作at、当前子目标位置gt、时间步t时的当前环境状态st、新环境状态st+1计算内部奖励值同时, 机器人可以从环境中获得外部奖励值r,需要说明的是,在训练过程中,为了加快训练速度,也可以使 用模拟计算的外部奖励值r训练机器人。第012行,将当前环境状态st、待执行动作at、当前子目标位 置gt、内部奖励值新环境状态st+1添加到第一经验缓冲区第013到第015行从第一经验缓冲 区中采样数据,将待执行动作、当前环境状态、新环境状态、内部奖励值输入给动作评价值函数,并通 过最小化动作评价损失函数,更新动作评价网络参数,通过最小化动作策略损失函数,更新动作策略网 络参数;第016到第018行,当第二经验缓冲区有数据时,从第二经验缓冲区采样当前环境状态、当前 子目标位置、外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失 函数,更新元控制器参数;第019行,将新环境状态st+1赋值给当前环境状态s;新环境状态st+1赋值 给子目标环境状态s';将外部奖励值r累加到外部奖励累积值G中;第020行,循环到第008行执行, 直到达到本次迭代完成或者机器人到达了子目标位置则继续执行第021行;第021行,将初始环境状态 s0、子目标位置gt、外部奖励累积值G及子目标环境状态s'缓存到第二经验缓冲区;最后在第023行, 输出动作评价网络参数θ、元控制器参数ψ、动作策略网络参数φ的最终数值。
6.奖赏函数设计
奖赏函数设计在深度强化学习的应用中至关重要。通过指定和量化任务目标,确定机器人是否可以 学习所需的策略。当物流机器人在无人仓中完成任务时,奖励很稀疏,并且很难学习实现目标的适当策 略。为了解决此问题,本发明采用子目标位置帮助物流机器人完成一系列调度任务。本发明提出的方法 将无人仓调度分为三个阶段。首先,一组机器人被分配任务,并需要从其起始位置移动到货架位置。然 后,物流机器人将货架运送到拣选台。最后,当拣选完成时,机器人将货架送回。奖励函数分为几个不 同的部分:完成任务的奖励,碰撞惩罚和接近奖励。除了完成任务的正奖励以外,其他均设置为负奖励。 基于上述方法,本发明实施例具体定义了如公式(1)所示的外部奖赏函数和如公式(7)所示的根据是否完 成子目标给予奖励值的内部奖赏函数。每个物流机器人的奖励被汇总为一组奖励。当任意机器人发生碰 撞时,环境将被重置并且episode将结束。
下面对发明人的实验过程进行说明,为了评估本发明的性能,在无人仓模拟环境中进行了充分的实 验。为了构建用于物流机器人的无人仓环境,使用SMDP来对无人仓调度问题建模。所提出的算法在 Windows 10操作系统下具有16G RAM,i7-8750H处理器和Geforce GTX1060Ti的PC上实现的。
实验环境和参数设计如下,实验模拟了无人仓场景。对于一个物流机器人,其他机器人可以视为障 碍。在实验中,将机器人随即设置在不同的初始位置,并且限制了机器人在路径上的行走方向。图5 是实验的路网布局示意图,其中圆心方块表示无人仓中货架的分布,叉心方块表示具有初始位置的AGV 机器人,中心为三角形的方块表示拣选台。箭头指示此路径上允许机器人行走的方向。如图5所示,仿 真中建立了无人仓所需的货架、拣选台、机器人等部分。AGV机器人,即物流机器人,即机器人,在路 径上的行进方向受到限制。
为了更好地评估算法在调度任务的表现,发明人提出了四项指标:单位时间的订单吞吐量(TPH),平均 每个订单的完成时间,平均每个订单机器人行走的距离和机器人的空闲率.其中,机器人行走的距离用曼 哈顿距离计算.
本发明提出的方法及装置主要应用于大型无人仓的场景。在实验中,模拟了不同数量的机器人,货 架和拣选台下的任务分配情况。如表2列出了实验的超参数。
表2实验超参数
多物流机器人任务分配实验将本发明所提出的方法法及装置与无人仓调度现有技术相比较,并使用 相同的超参数训练.在模拟环境中,训练过程可以加快.发明人在模拟环境用不同的4个随机种子训练 HSAC算法,每100个episode执行一次评估。实线表示实验的平均回报和成本。图6证明了HSAC算 法的收敛性和成本,描述了HSAC算法在不同4个随机种子中的平均收益和成本。图7描述HSAC算 法在片段中的帕累托选择。
对于具有高决策空间的调度任务,具有分层结构的HSAC技术可以提高调度效率.图8显示的是在模 拟环境中机器人完成任务的路径.可以看到机器人从1到达2,然后在到达3后返回2,并将4作为下一个 目的地.
如图9、图10、图11、图12以甘特图的形式显示了HSAC算法不同4个随机种子的调度结果。可 以看出,HSAC算法充分利用了拣选台和AGV机器人的优势,在不同随机种子下表现稳定。
本发明以机器人的环境观测值作为神经网络的输入,直接控制AGV机器人在动态环境中穿梭于货 架和拣选台之间。在仿真环境中对该方法在多机器人环境下的性能进行评估。实验结果表明,该算法可 以使多物流机器人协同工作,高效完成拣选任务。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解, 过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权 利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开 方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈 述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案 的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自 作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本 领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不 脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例, 而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可 能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。 因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。 此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,” 在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者” 是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block), 单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换 性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描 述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本 领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为 超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器, 专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑系统,离散门或晶体管逻辑,离散硬件 部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通 用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合 来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理 器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两 者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储 器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储 媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选 地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户 终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者 的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令 或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地 方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如, 这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存 储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电 脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞 线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒 介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁 盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介 中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理 解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多物流机器人移动控制方法,其特征在于,其步骤包括:
根据机器人可执行的动作构建动作空间;
构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网络,并随机初始化其网络参数的数值;所述分层强化学习网络用于从所述动作空间中选择待执行动作;
根据训练起点位置、训练终点位置构建训练子目标位置空间;将所述训练子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到所述网络参数的最终数值;将所述最终数值用作所述分层强化学习网络的网络参数的数值,得到应用网络;
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器采集当前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作为任务起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间;
根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动到所述任务终点位置。
2.如权利要求1所述的多物流机器人移动控制方法,其特征在于,
所述分层强化学习网络包括:元控制器和控制器;
所述控制器包括:动作策略网络和动作评价网络;
所述元控制器包括:元控制器策略、元控制器值函数和元控制器损失函数;
所述动作策略网络包括:动作策略和动作策略损失函数;
动作评价网络包括:内部奖赏函数、动作评价值函数和动作评价损失函数;
所述元控制器用于通过估算所述元控制器值函数的值及最小化所述元控制器损失函数的值,更新所述元控制器策略;所述元控制器策略用于根据机器人所处的环境状态和外部奖励值从子目标位置空间选择一个子目标位置;所述控制器的所述动作评价网络通过估算所述动作评价值函数的值及最小化所述动作评价损失函数的值,更新动作评价网络,并根据内部奖赏函数,生成内部奖励值;所述动作网络根据所述内部奖励值和机器人所处的环境状态,通过最小化所述动作策略损失函数的值,更新所述动作策略;所述动作策略用于根据所述子目标位置及机器人所处的环境状态从所述动作空间选择一个或多个待执行动作;所述待执行动作被机器人执行,控制机器人向所述子目标位置移动,导致外部环境产生新的环境状态;外部环境还会根据外部奖赏函数产生新的外部奖励值;
所述外部环境还会根据外部奖赏函数产生新的外部奖励值,具体为:
使用如下r(st,at)函数作为外部奖赏函数,产生新的外部奖励值:
其中:
st表示第t时间步时的所述当前环境状态;
at表示第t时间步时的所述待执行动作;
distt表示在执行第t时间步对应的所述待执行动作以前,机器人所在位置与所述终点位置的距离;
distt+1表示在执行第t时间步对应的所述待执行动作以后,机器人所在位置与所述终点位置的距离;
k是权重系数;
rcollision是当机器人发生碰撞时的奖励值,为常数,取值为负数,表示惩罚;
rtask是当机器人到达所述终点位置的奖励值,为常数,取正值,表示奖励;
所述构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网络,具体为:
使用如下Q(st)函数作为元控制器值函数:
其中:
γ是折扣因子;
r(st)表示在时间步t时的当前环境状态st下元控制器获得的外部奖励值;
logπg(·|st)表示执行到时间步t时,在当前环境状态为st时,得到动作空间中各种动作的元控制器策略的熵;
α是温度系数的超参数,用于调整熵值;
πg表示元控制策略;
使用如下JQ(ψ)函数作为所述元控制器损失函数:
其中:
Qψ(st;gt)表示元控制器值函数;
Qθ(st,at;gt)表示动作评价值函数;
logπφ(at|st,gt)表示动作策略网络在当前环境状态st时,试图到达子目标位置gt,得到待执行动作at时所采用的动作策略的熵;
πφ表示动作策略网络的动作策略,其中φ表示动作策略网络参数;
使用如下Q(st,at;gt)函数作为所述动作评价值函数:
其中:
γ是折扣因子;
α是温度系数的超参数,用于调整熵值;
πag表示控制器的策略,表示在时间步t时,当前环境状态为st,试图到达子目标位置gt时,得到待执行动作at的控制器的策略;
logπag(at|st,gt)表示控制器策略的熵;
使用如下JQ(θ)函数作为所述动作评价损失函数:
其中:
θ是动作评价网络参数;
γ是折扣因子;
α是温度系数的超参数,用于调整熵值;
Qθ(st,at;gt)表示为在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,动作评价值函数Qθ的值;
log(πφ(at+1|st+1,gt))表示,为达到当前子目标位置gt,动作策略在新环境状态st+1下生成新动作at+1的动作策略的熵;
其中:
Qθ(st,at;gt)表示为在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,动作评价值函数Qθ的值;
α是温度系数的超参数,用于调整熵值;
logπφ(at|st,gt)表示为达到当前子目标位置gt,在当前环境状态st+1下生成待执行动作at的动作策略的熵;
Z(st,gt)代表分区函数,用于对分布进行归一化操作;该分布对于元控制器策略π(gt|st)来说是常数,在实际计算中可以直接忽略;
其中:
st+1表示第t时间步对应的所述带执行动作执行后的所述新环境状态;
st表示第t时间步对应的所述带执行动作执行前的所述当前环境状态;
at表示第t时间步时的所述待执行动作;
r(st,at)为外部奖赏函数,表示在第t时间步时的外部奖励值;
rsubgoal为机器人达到所述当前子目标位置时获得的奖励值,为正数。
3.如权利要求2所述的多物流机器人移动控制方法,其特征在于,
所述元控制器还包括:元控制器参数
所述动作策略网络还包括:动作策略网络参数
所述动作评价网络还包括:动作评价网络参数;
所述分层强化学习网络还包括:外部奖励累积值、第一经验缓冲区和第二经验缓冲区;
所述分层强化学习网络的所述网络参数包括:所述元控制器参数、所述动作网络策略参数、所述动作评价网络参数;
所述将所述训练子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到所述网络参数的最终数值,具体步骤为:
随机初始化所述元控制器参数、所述动作策略网络参数、所述动作评价网络参数的数值;
输入所述动作空间、所述训练子目标位置空间、所述训练环境状态空间;
初始化第一经验缓冲区和第二经验缓冲区;
从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态;
从所述训练子目标位置空间中选择一个子目标位置作为当前子目标位置;
将所述外部奖励累积值清零;将所述初始环境状态赋值给当前环境状态;
将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
在所述当前环境状态下,以所述当前子目标位置为目的地,执行所述待执行动作后,按以所述当前环境状态和所述待执行动作为条件的环境状态条件转移概率,得到新环境状态;
根据所述待执行动作、所述当前环境状态、所述新环境状态获得外部奖励值;将所述待执行动作、所述当前环境状态、所述新环境状态及所述外部奖励值输入给所述内部奖赏函数得到所述待执行动作的所述内部奖励值;
将所述当前环境状态、所述待执行动作、所述当前子目标位置、所述内部奖励值、所述新环境状态缓存到第一经验缓冲区;
从所述第一经验缓冲区中采样数据,将所述待执行动作、所述当前环境状态、所述新环境状态、所述内部奖励值输入给动作评价值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过最小化动作策略损失函数,更新动作策略网络参数;
当所述第二经验缓冲区有数据时,从所述第二经验缓冲区采样所述当前环境状态、所述当前子目标位置、所述外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失函数,更新元控制器参数;所述子目标环境状态为机器人从所述当前环境状态下完成了尝试向所述当前子目标位置移动时的环境状态;
将所述新环境状态赋值给所述子目标环境状态;将所述外部奖励值累加到所述外部奖励累积值中;将所述新环境状态赋值给所述当前环境状态;
若机器人到达所述子目标位置或者由第七步骤至当前步骤的执行次数达到预置的动作次数,则继续执行后续步骤;否则执行第七步骤;其中,所述第七步骤为将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
将所述初始环境状态、所述子目标位置、所述外部奖励累积值及所述子目标环境状态缓存到第二经验缓冲区;
若第四步骤至当前步骤的执行次数达到预置的训练次数,则终止训练,输出所述元控制器参数、动作策略网络参数、动作评价网络参数的最终数值;否则执行第四步骤,其中所述第四步骤为从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态。
4.如权利要求1所述的多物流机器人移动控制方法,其特征在于,
所述传感器包括:距离感应装置和摄像头;
所述接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器采集当前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作为任务起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间,具体步骤为:
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置;
采样所述距离感应装置的信号,获得机器人与附近物体或机器人与其他机器人之间的距离信息;
采样所述摄像头的环境图像数据,获得机器人所处环境的图像信息;
采样所述摄像头拍摄的位置二维码图像,获得机器人所在当前位置的位置数据,作为所述任务起点位置;
预处理所述任务起点位置和所述任务终点位置,得到所述任务子目标位置空间。
5.如权利要求4所述的多物流机器人移动控制方法,其特征在于,所述根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动到所述任务终点位置,具体步骤为:
获取所述任务子目标位置空间和所述动作空间;
通过传感器采集实时采样数据;
判断机器人所在位置若已经位于所述任务终点位置则机器人停止,否则继续执行后续步骤;
通过所述应用网络根据所述实时采样数据,从所述子目标位置空间,选择子目标位置;
通过所述应用网络根据所述子目标位置和所述实时采样数据从所述动作空间,选择待执行动作;
执行所述待执行动作,机器人从当前所在位置向所述子目标位置移动,继续执行第二步骤,其中,所述第二步骤为通过传感器采集实时采样数据。
6.一种多物流机器人移动控制装置,其特征在于,其包括:
动作分解装置,用于根据机器人可执行的动作构建动作空间;
模型构建装置,用于构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网络,并随机初始化其网络参数的数值;所述分层强化学习网络用于从所述动作空间中选择待执行动作;
模型参数训练装置,用于根据训练起点位置、训练终点位置构建训练子目标位置空间;将所述训练子目标位置空间和训练环境状态空间输入所述分层强化学习网络,训练所述网络参数的数值,得到所述网络参数的最终数值;将所述最终数值用作所述分层强化学习网络的网络参数的数值,得到应用网络;
任务接收装置,用于接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置,并通过传感器采集当前数据,得到当前采样数据,从所述当前采样数据中获得物流机器人的当前位置,将当前位置作为任务起点位置;根据所述任务起点位置和所述任务终点位置构建任务子目标位置空间;
任务执行装置,用于根据所述任务子目标位置空间和传感器采集的实时采样数据,机器人的所述应用网络从所述动作空间中选择待执行动作;通过执行所述待执行动作,机器人完成从所述任务起点位置移动到所述任务终点位置。
7.如权利要求6所述的多物流机器人移动控制装置,其特征在于,
所述分层强化学习网络包括:元控制器和控制器;
所述控制器包括:动作策略网络和动作评价网络;
所述元控制器包括:元控制器策略、元控制器值函数和元控制器损失函数;
所述动作策略网络包括:动作策略和动作策略损失函数;
动作评价网络包括:内部奖赏函数、动作评价值函数和动作评价损失函数;
所述元控制器用于通过估算所述元控制器值函数的值及最小化所述元控制器损失函数的值,更新所述元控制器策略;所述元控制器策略用于根据机器人所处的环境状态和外部奖励值从子目标位置空间选择一个子目标位置;所述控制器的所述动作评价网络通过估算所述动作评价值函数的值及最小化所述动作评价损失函数的值,更新动作评价网络,并根据内部奖赏函数,生成内部奖励值;所述动作网络根据所述内部奖励值和机器人所处的环境状态,通过最小化所述动作策略损失函数的值,更新所述动作策略;所述动作策略用于根据所述子目标位置及机器人所处的环境状态从所述动作空间选择一个或多个待执行动作;所述待执行动作被机器人执行,控制机器人向所述子目标位置移动,导致外部环境产生新的环境状态;外部环境还会根据外部奖赏函数产生新的外部奖励值;
所述外部环境还会根据外部奖赏函数产生新的外部奖励值,具体为:
使用如下r(st,at)函数作为外部奖赏函数,产生新的外部奖励值:
其中:
st表示第t时间步时的所述当前环境状态;
at表示第t时间步时的所述待执行动作;
distt表示在执行第t时间步对应的所述待执行动作以前,机器人所在位置与所述终点位置的距离;
distt+1表示在执行第t时间步对应的所述待执行动作以后,机器人所在位置与所述终点位置的距离;
k是权重系数;
rcollision是当机器人发生碰撞时的奖励值,为常数,取值为负数,表示惩罚;
rtask是当机器人到达所述终点位置的奖励值,为常数,取正值,表示奖励;
所述模型构建装置中的所述构建应用于多物流机器人的基于增加了子目标位置参数改进的SAC算法的分层强化学习网络,具体为:
使用如下Q(st)函数作为元控制器值函数:
其中:
γ是折扣因子;
r(st)表示在时间步t时的当前环境状态st下元控制器获得的外部奖励值;
logπg(·|st)表示执行到时间步t时,在当前环境状态为st时,得到动作空间中各种动作的元控制器策略的熵;
α是温度系数的超参数,用于调整熵值;
πg表示元控制策略;
使用如下JQ(ψ)函数作为所述元控制器损失函数:
其中:
Qψ(st;gt)表示元控制器值函数;
Qθ(st,at;gt)表示动作评价值函数;
logπφ(at|st,gt)表示动作策略网络在当前环境状态st时,试图到达子目标位置gt,得到待执行动作at时所采用的动作策略的熵;
πφ表示表示动作策略网络的动作策略,其中φ表示动作策略网络参数;
使用如下Q(st,at;gt)函数作为所述动作评价值函数:
其中:
γ是折扣因子;
α是温度系数的超参数,用于调整熵值;
πag表示控制器的策略,表示在时间步t时,当前环境状态为st,试图到达子目标位置gt时,得到待执行动作at的控制器的策略;
logπag(at|st,gt)表示控制器策略的熵;
使用如下JQ(θ)函数作为所述动作评价损失函数:
其中:
θ是动作评价网络参数;
γ是折扣因子;
α是温度系数的超参数,用于调整熵值;
Qθ(st,at;gt)表示为在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,动作评价值函数Qθ的值;
log(πφ(at+1|st+1,gt))表示,为达到当前子目标位置gt,动作策略在新环境状态st+1下生成新动作at+1的动作策略的熵;
其中:
Qθ(st,at;gt)表示为在当前环境状态st,执行待执行动作at,尝试到达当前子目标位置gt时,动作评价值函数Qθ的值;
α是温度系数的超参数,用于调整熵值;
logπφ(at|st,gt)表示为达到当前子目标位置gt,在当前环境状态st+1下生成待执行动作at的动作策略的熵;
Z(st,gt)代表分区函数,用于对分布进行归一化操作;该分布对于元控制器策略π(gt|st)来说是常数,在实际计算中可以直接忽略;
其中:
st+1表示第t时间步对应的所述带执行动作执行后的所述新环境状态;
st表示第t时间步对应的所述带执行动作执行前的所述当前环境状态;
at表示第t时间步时的所述待执行动作;
r(st,at)为外部奖赏函数,表示在第t时间步时的外部奖励值;
rsubgoal为机器人达到所述当前子目标位置时获得的奖励值,为正数。
8.如权利要求7所述的多物流机器人移动控制装置,其特征在于,
所述元控制器还包括:元控制器参数
所述动作策略网络还包括:动作策略网络参数
所述动作评价网络还包括:动作评价网络参数;
所述分层强化学习网络还包括:外部奖励累积值、第一经验缓冲区和第二经验缓冲区;
所述分层强化学习网络的所述网络参数包括:所述元控制器参数、所述动作网络策略参数、所述动作评价网络参数;
所述模型参数训练装置,具体用于:
随机初始化所述元控制器参数、所述动作策略网络参数、所述动作评价网络参数的数值;
输入所述动作空间、所述训练子目标位置空间、所述训练环境状态空间;
初始化第一经验缓冲区和第二经验缓冲区;
从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态;
从所述训练子目标位置空间中选择一个子目标位置作为当前子目标位置;
将所述外部奖励累积值清零;将所述初始环境状态赋值给当前环境状态;
将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
在所述当前环境状态下,以所述当前子目标位置为目的地,执行所述待执行动作后,按以所述当前环境状态和所述待执行动作为条件的环境状态条件转移概率,得到新环境状态;
根据所述待执行动作、所述当前环境状态、所述新环境状态获得外部奖励值;将所述待执行动作、所述当前环境状态、所述新环境状态及所述外部奖励值输入给所述内部奖赏函数得到所述待执行动作的所述内部奖励值;
将所述当前环境状态、所述待执行动作、所述当前子目标位置、所述内部奖励值、所述新环境状态缓存到第一经验缓冲区;
从所述第一经验缓冲区中采样数据,将所述待执行动作、所述当前环境状态、所述新环境状态、所述内部奖励值输入给动作评价值函数,并通过最小化动作评价损失函数,更新动作评价网络参数,通过最小化动作策略损失函数,更新动作策略网络参数;
当所述第二经验缓冲区有数据时,从所述第二经验缓冲区采样所述当前环境状态、所述当前子目标位置、所述外部奖励累积值及子目标环境状态,并输入到元控制器值函数,通过最小化元控制器损失函数,更新元控制器参数;所述子目标环境状态为机器人从所述当前环境状态下完成了尝试向所述当前子目标位置移动时的环境状态;
将所述新环境状态赋值给所述子目标环境状态;将所述外部奖励值累加到所述外部奖励累积值中;将所述新环境状态赋值给所述当前环境状态;
若机器人到达所述子目标位置或者由第七步骤至当前步骤的执行次数达到预置的动作次数,则继续执行后续步骤;否则执行第七步骤;其中,所述第七步骤为将所述当前环境状态输入给所述动作策略,所述动作策略从所述动作空间选择一个待执行动作;
将所述初始环境状态、所述子目标位置、所述外部奖励累积值及所述子目标环境状态缓存到第二经验缓冲区;
若第四步骤至当前步骤的执行次数达到预置的训练次数,则终止训练,输出所述元控制器参数、动作策略网络参数、动作评价网络参数的最终数值;否则执行第四步骤,其中所述第四步骤为从所述训练环境状态空间中选择机器人当前所处位置的环境状态作为初始环境状态。
9.如权利要求6所述的多物流机器人移动控制装置,其特征在于,
所述传感器包括:距离感应装置和摄像头;
所述任务接收装置,具体用于:
接收到发送给机器人的任务信息,从所述任务信息中获取任务终点位置;
采样所述距离感应装置的信号,获得机器人与附近物体或机器人与其他机器人之间的距离信息;
采样所述摄像头的环境图像数据,获得机器人所处环境的图像信息;
采样所述摄像头拍摄的位置二维码图像,获得机器人所在当前位置的位置数据,作为所述任务起点位置;
预处理所述任务起点位置和所述任务终点位置,得到所述任务子目标位置空间。
10.如权利要求9所述的多物流机器人移动控制装置,其特征在于,所述任务执行装置,具体用于:
获取所述任务子目标位置空间和所述动作空间;
通过传感器采集实时采样数据;
判断机器人所在位置若已经位于所述任务终点位置则机器人停止,否则继续执行后续步骤;
通过所述应用网络根据所述实时采样数据,从所述子目标位置空间,选择子目标位置;
通过所述应用网络根据所述子目标位置和所述实时采样数据从所述动作空间,选择待执行动作;
执行所述待执行动作,机器人从当前所在位置向所述子目标位置移动,继续执行第二步骤,其中,所述第二步骤为通过传感器采集实时采样数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334302.4A CN112596515B (zh) | 2020-11-25 | 2020-11-25 | 一种多物流机器人移动控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334302.4A CN112596515B (zh) | 2020-11-25 | 2020-11-25 | 一种多物流机器人移动控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112596515A true CN112596515A (zh) | 2021-04-02 |
CN112596515B CN112596515B (zh) | 2023-10-24 |
Family
ID=75183710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011334302.4A Active CN112596515B (zh) | 2020-11-25 | 2020-11-25 | 一种多物流机器人移动控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596515B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112801430A (zh) * | 2021-04-13 | 2021-05-14 | 贝壳找房(北京)科技有限公司 | 任务下发方法、装置、电子设备及可读存储介质 |
CN113093803A (zh) * | 2021-04-03 | 2021-07-09 | 西北工业大学 | 一种基于e-sac算法的无人机空战运动控制方法 |
CN113110509A (zh) * | 2021-05-17 | 2021-07-13 | 哈尔滨工业大学(深圳) | 一种基于深度强化学习的仓储系统多机器人路径规划方法 |
CN113268933A (zh) * | 2021-06-18 | 2021-08-17 | 大连理工大学 | 基于强化学习的蛇形急救机器人结构参数快速设计方法 |
CN113298445A (zh) * | 2021-07-22 | 2021-08-24 | 北京三快在线科技有限公司 | 一种模型训练和调度无人设备的方法及装置 |
CN113386133A (zh) * | 2021-06-10 | 2021-09-14 | 贵州恰到科技有限公司 | 一种强化学习机器人控制方法 |
CN114089751A (zh) * | 2021-11-11 | 2022-02-25 | 南京航空航天大学 | 一种基于改进ddpg算法的移动机器人路径规划方法 |
WO2022241808A1 (zh) * | 2021-05-19 | 2022-11-24 | 广州中国科学院先进技术研究所 | 一种多机器人轨迹规划方法 |
CN115493597B (zh) * | 2022-11-15 | 2023-04-18 | 山东大学 | 一种基于sac算法的auv路径规划控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105182334A (zh) * | 2015-08-28 | 2015-12-23 | 北京理工大学 | 一种基于sac算法的星载sar自聚焦方法 |
US20160202670A1 (en) * | 2015-01-08 | 2016-07-14 | Northwestern University | System and method for sequential action control for nonlinear systems |
CN107844460A (zh) * | 2017-07-24 | 2018-03-27 | 哈尔滨工程大学 | 一种基于p‑maxq的多水下机器人的围捕方法 |
CN109669452A (zh) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | 一种基于并行强化学习的云机器人任务调度方法和系统 |
CN111223170A (zh) * | 2020-01-07 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 动画生成方法、装置、电子设备和存储介质 |
CN111667513A (zh) * | 2020-06-01 | 2020-09-15 | 西北工业大学 | 一种基于ddpg迁移学习的无人机机动目标跟踪方法 |
-
2020
- 2020-11-25 CN CN202011334302.4A patent/CN112596515B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160202670A1 (en) * | 2015-01-08 | 2016-07-14 | Northwestern University | System and method for sequential action control for nonlinear systems |
CN105182334A (zh) * | 2015-08-28 | 2015-12-23 | 北京理工大学 | 一种基于sac算法的星载sar自聚焦方法 |
CN107844460A (zh) * | 2017-07-24 | 2018-03-27 | 哈尔滨工程大学 | 一种基于p‑maxq的多水下机器人的围捕方法 |
CN109669452A (zh) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | 一种基于并行强化学习的云机器人任务调度方法和系统 |
CN111223170A (zh) * | 2020-01-07 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 动画生成方法、装置、电子设备和存储介质 |
CN111667513A (zh) * | 2020-06-01 | 2020-09-15 | 西北工业大学 | 一种基于ddpg迁移学习的无人机机动目标跟踪方法 |
Non-Patent Citations (5)
Title |
---|
ITZHAK BARKANA等: "A simple adaptive control application to large flexible structures", 《MELECON 2010 - 2010 15TH IEEE MEDITERRANEAN ELECTROTECHNICAL CONFERENCE》 * |
TAO LIU等: "Quasi-Sliding-Mode Control Based on Non-linear Surface", 《2015 7TH INTERNATIONAL CONFERENCE ON INTELLIGENT HUMAN-MACHINE SYSTEMS AND CYBERNETICS》 * |
曹阳等: "基于PID和深度卷积神经网络的辐射源识别方法", 数据采集与处理, no. 04 * |
李英德: "波次分区拣货时装箱与货位指派问题协同优化的模型与算法", 《系统工程理论与实践》 * |
蒋李鸣等: "基于启发式的约束满足问题AC系列算法改进研究", 软件工程, no. 02 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113093803A (zh) * | 2021-04-03 | 2021-07-09 | 西北工业大学 | 一种基于e-sac算法的无人机空战运动控制方法 |
CN112801430A (zh) * | 2021-04-13 | 2021-05-14 | 贝壳找房(北京)科技有限公司 | 任务下发方法、装置、电子设备及可读存储介质 |
CN112801430B (zh) * | 2021-04-13 | 2021-11-12 | 贝壳找房(北京)科技有限公司 | 任务下发方法、装置、电子设备及可读存储介质 |
CN113110509A (zh) * | 2021-05-17 | 2021-07-13 | 哈尔滨工业大学(深圳) | 一种基于深度强化学习的仓储系统多机器人路径规划方法 |
CN113110509B (zh) * | 2021-05-17 | 2023-02-28 | 哈尔滨工业大学(深圳) | 一种基于深度强化学习的仓储系统多机器人路径规划方法 |
WO2022241808A1 (zh) * | 2021-05-19 | 2022-11-24 | 广州中国科学院先进技术研究所 | 一种多机器人轨迹规划方法 |
CN113386133A (zh) * | 2021-06-10 | 2021-09-14 | 贵州恰到科技有限公司 | 一种强化学习机器人控制方法 |
CN113268933A (zh) * | 2021-06-18 | 2021-08-17 | 大连理工大学 | 基于强化学习的蛇形急救机器人结构参数快速设计方法 |
CN113268933B (zh) * | 2021-06-18 | 2022-02-15 | 大连理工大学 | 基于强化学习的蛇形急救机器人结构参数快速设计方法 |
CN113298445A (zh) * | 2021-07-22 | 2021-08-24 | 北京三快在线科技有限公司 | 一种模型训练和调度无人设备的方法及装置 |
CN114089751A (zh) * | 2021-11-11 | 2022-02-25 | 南京航空航天大学 | 一种基于改进ddpg算法的移动机器人路径规划方法 |
CN115493597B (zh) * | 2022-11-15 | 2023-04-18 | 山东大学 | 一种基于sac算法的auv路径规划控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112596515B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112596515B (zh) | 一种多物流机器人移动控制方法及装置 | |
Gronauer et al. | Multi-agent deep reinforcement learning: a survey | |
Jiang et al. | Path planning for intelligent robots based on deep Q-learning with experience replay and heuristic knowledge | |
Bianchi et al. | Accelerating autonomous learning by using heuristic selection of actions | |
Tang et al. | A novel hierarchical soft actor-critic algorithm for multi-logistics robots task allocation | |
CN111260027B (zh) | 一种基于强化学习的智能体自动决策方法 | |
Botteghi et al. | On reward shaping for mobile robot navigation: A reinforcement learning and SLAM based approach | |
CN112269382B (zh) | 一种机器人多目标路径规划方法 | |
CN111783994A (zh) | 强化学习的训练方法和装置 | |
CN114020013B (zh) | 一种基于深度强化学习的无人机编队避撞方法 | |
Wang et al. | Learning-based 3d occupancy prediction for autonomous navigation in occluded environments | |
Andersen et al. | Towards safe reinforcement-learning in industrial grid-warehousing | |
Duan et al. | A multi-agent reinforcement learning approach to robot soccer | |
CN116679719A (zh) | 基于动态窗口法与近端策略的无人车自适应路径规划方法 | |
Luo et al. | A* guiding DQN algorithm for automated guided vehicle pathfinding problem of robotic mobile fulfillment systems | |
Zintgraf | Fast adaptation via meta reinforcement learning | |
Feng et al. | Mobile robot obstacle avoidance based on deep reinforcement learning | |
Bhatia et al. | Reinforcement learning | |
CN115081612A (zh) | 用以改进机器人策略学习的设备和方法 | |
CN113743442A (zh) | 元学习演化策略黑盒优化分类器 | |
Bucher et al. | Adversarial curiosity | |
Araújo et al. | Cooperative observation of smart target agents | |
Kumar et al. | A Novel Algorithm for Optimal Trajectory Generation Using Q Learning | |
Yang et al. | Towards behavior control for evolutionary robot based on RL with ENN | |
Uchibe | Cooperative behavior acquisition by learning and evolution in a multi-agent environment for mobile robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |