2. 中国科学院大学, 北京 100049;
3. 中国科学院 FAST重点实验室, 北京 100101;
4. 中国科学院 沈阳自动化研究所, 沈阳 110016;
5. 中国科学院 机器人与智能制造创新研究院, 沈阳 110169;
6. 南京工业大学 计算机科学与技术学院, 南京 211816
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Key Laboratory of FAST, Chinese Academy of Sciences, Beijing 100101, China;
4. Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China;
5. Institutes for Robotics and Intelligent Manufacturing, Chinese Academy of Sciences, Shenyang 110169, China;
6. School of Computer Science and Technology, Nanjing Tech University, Nanjing 211816, China
500 m口径球面射电望远镜(five-hundred-meter aperture spherical radio telescope,FAST)被誉为“中国天眼”,是目前世界上口径最大、灵敏度最高的单口径球面射电望远镜[1]。主动反射面系统属FAST核心自主创新技术,由分布于大窝凼陡坡的2 225台液压促动器通过联合驱动实现4 450块望远镜反射面主动形成300 m口径抛物面,从而达到高效率实时接收目标天体射电信号的目的[2]。面对大批量促动器零部件即将到达理论使用寿命的现状,本文提出建立促动器自动化维护车间来加快促动器整体维护速度,以保障FAST的观测时间充足。
目前已研发迭代了4代促动器,由于促动器为多种型号共存,其零部件和损坏部位也呈现多样化的趋势,因此促动器维护车间的规划也需要不断升级,维护系统整体柔性化的趋势增强。动态化、复杂化的车间环境对转运机器人的探索、学习和适应能力提出了很大的挑战,如何设计一种既能适应车间升级速度,又能加快车间维护速度的转运机器人路径规划策略,是目前车间亟待解决的问题。
强化学习(reinforcement learning,RL)是机器学习的独特分支,是指智能体(agent)在与环境的交互过程中利用Markov决策过程不断调整自身决策,从而实现最大化奖励的学习范式[3]。RL使机器人在轨迹规划问题中具有自主决策的能力,但若将算法直接用于路径规划问题,则会引发环境探索效率太低的问题,故需要改进算法。王慧等[4]在解决家具板材搬运问题时,采用Q-learning的RL方法规划路径,提出了在奖励函数中添加转弯惩罚的创新点,提高了路径的平滑性;毛国君等[5]提出若一次探索失败则增大贪婪因子,使下一次探索的随机性增大的改进方法,减少了迭代步数。董瑶等[6]提出一种改进深度双Q网络(improved dueling deep double Q-network, IDDDQN)的方法,将Boltzmann分布与贪婪搜索相结合,使达到目标点的成功率提高了3倍以上。曾纪钧等[7]将监督学习与强化学习相结合,在迭代过程中逐步弱化监督指导,有效降低了路径规划的训练次数。张福海等[8]设计了一种连续的奖励函数,让机器人每步都可得到奖励,提高了算法的训练效率。
本文提出一种优势竞争网络(advantage dueling double deep Q-network,AD3QN)算法作为FAST促动器自动化维护车间转运机器人的路径规划方法,AD3QN算法不仅动态规划能力强、实时性好,还具有柔性高、鲁棒性强,以及准确率高等优点。经仿真实验可知,在目前的车间布局下使用AD3QN算法可实时规划一条可用最短路径,在升级后车间的复杂布局下依然能成功规划一条最短路径,验证了AD3QN算法的泛化能力足以应对车间的升级。本研究的成功应用有望提高促动器的维护效率,使FAST有更多宝贵的观测时间。
1 AD3QN算法搭建 1.1 AD3QN算法AD3QN算法是一种针对深度Q网络(deep Q-network, DQN,属于深度强化学习的一部分)结构的改进策略。
已知t时刻的折扣回报Ut的定义[9]为
$U_t=R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+\gamma^3 R_{t+3}+\cdots .$ | (1) |
其中:γ表示折扣率;Rt表示t时刻的奖励,Rt+1表示t+1时刻的奖励,以此类推。
E表示对Ut求条件期望,将t+1时刻之后的状态和动作从公式中消除,可得t时刻的动作价值函数为
$Q_\pi\left(s_t, a_t\right)=E\left[U_t \mid S_t=s_t, A_t=a_t\right] .$ | (2) |
其中:St是一个随机变量,表示t时刻处在状态s的概率;st是St的观测值,也是该随机事件的结果,表示t时刻的状态s;At也是一个随机变量,表示t时刻做出动作a的概率;at是At的观测值,表示t时刻的动作a。Qπ (st, at)表示在t时刻的状态s下,采用策略π做出动作a所获得的动作价值。
对t时刻状态s下的所有动作求期望,得到状态价值函数为
$V_\pi\left(s_t\right)=E_A\left[Q_\pi\left(s_t, A\right)\right] .$ | (3) |
其中:Vπ(st)表示在t时刻下,采用策略π所得到的状态s的价值;EA表示做出动作a的概率A的期望;A表示做出动作a的概率。
用最大动作价值函数来指导智能体的动作,用最大状态价值函数来评估状态的好坏,分别表示如下:
${Q^*}(s, a) = \mathop {\max }\limits_\pi {Q_\pi }(s, a), $ | (4) |
${V^*}(s) = \mathop {\max }\limits_\pi {V_\pi }(s).$ | (5) |
其中:Qπ (s, a)表示在状态s下,采用策略π做出动作a所获得的动作价值;Vπ (s)表示在状态s下,采用策略π获得的状态价值;Q*(s, a)表示在状态s下,采取所有可行策略中的所有动作所能得到的最大动作价值;V*(s)表示在t时刻,采取所有可行策略所能得到的最大状态价值。
定义优势函数来体现不同动作在同一状态下的优势程度, 表示如下:
$A^*(s, a)=Q^*(s, a)-V^*(s) .$ | (6) |
其中A*(s, a)表示在状态s下采取动作a的优势。显然,Q*(s, a)的最大值等于V*(s),因此可得
$\mathop {\max }\limits_a {A^*}(s, a) = 0.$ | (7) |
用状态网络V*(s; wV)来近似V*(s),用优势网络A*(s, a; wA)来近似A*(s, a)。其中:wV表示神经网络V的参数集合,wA表示神经网络A的参数集合。为了能通过学习V*(s)来确定唯一的A*(s, a),需将式(7)代入式(6),考虑到神经网络的学习速率,通常用均值代替最大值,可得
$\begin{array}{c} {Q^*}\left( {s, a;{w^V}, {w^A}} \right) = {V^*}\left( {s;{w^V}} \right) - \\ {A^*}\left( {s, a;{w^A}} \right) - \mathop {{\mathop{\rm mean}\nolimits} }\limits_a {A^*}\left( {s, a;{w^A}} \right). \end{array}$ | (8) |
其中Q*(s, a; wV, wA)表示动作价值网络。式(8)左侧作为神经网络的输出值,用来近似Q*(s, a),并指导转运机器人在每个状态下选择动作价值最大的动作。
1.2 改进状态价值层的初始参数AD3QN虽然改变了DQN的网络架构,但其网络的初始化方式并没有改变,即依旧对神经元权重进行正态分布的随机初始化,对神经元偏置进行常数初始化。但在机器人实际搜索目标点的过程中,从物理学中获得灵感的人工势场法[10]和从仿生学中获得灵感的气味掠食法[11]都可以让机器人更敏锐地感知目标点的大致方位。本文引入这种概念作为AD3QN状态价值层的先验样本,对状态价值层的参数进行预训练后,再将参数作为先验信息导入到网络中。由于状态价值层已经含有一部分先验信息,因此转运机器人将会以更快的速度找到目标点。AD3QN的具体架构如图 1所示。
![]() |
图 1 AD3QN的架构 |
1.3 改进贪婪搜索算法
DQN中的贪婪搜索算法是RL领域中运用最为广泛的一种搜索方法。该方法利用贪婪因子ε表示在当前状态下智能体探索环境的概率。ε是一个不断衰减的参数,初始ε一般设置为1,设定贪婪衰减率β和衰减最小值δ,机器人每走一步,ε都会减小β,但ε的最小值不会低于δ,以保证算法能够跳出局部极值小陷阱,贪婪度表示如下[12]:
$\varepsilon= \begin{cases}1-\beta \xi, & \varepsilon>\delta ; \\ \delta, & \varepsilon \leqslant \delta .\end{cases}$ | (9) |
其中ξ表示迭代次数。
传统贪婪算法有2个需要后续反复调节的超参数:β和δ。若ε最小只能为0.1,虽然保证了算法在后期依然有跳出局部极小值的可能性,但导致算法依然有较大的波动性,对于较远距离的路径规划算法尤甚。设计一种需要至少走30步的路径,δ=0.1,利用传统贪婪算法进行的路径规划中,在后期完全没有随机走完30步的概率仅剩0.042 3,远小于0.1。
因此,本文将机器学习二分类激活函数(Sigmoid函数)引入贪婪算法,改进贪婪算法的公式如下:
$\varepsilon=1-\frac{1}{1+\mathrm{e}^{\beta \xi}}.$ | (10) |
改进后的算法把ε由线性降低改为非线性降低。考虑β=0.001和β=0.003这2种情况,2种贪婪算法的对比如图 2所示。在迭代初期,由于AD3QN拥有先验信息,因此ε可不必初始化为1,而可适当调低至0.5。随着迭代次数的提升,改进贪婪算法ε缓慢趋向于0,斜率先陡后缓,降速先快后慢。相比于一般贪婪算法,改进后的贪婪算法在一开始不仅能使机器人更容易找到目标点,在后期的波动也会更平缓,可有效加快算法的收敛速度。
![]() |
图 2 2种贪婪算法的对比 |
1.4 改进动作选择模块
在AD3QN算法的动作选择模块中,指定整数0、1、2、3分别表示向上、向下、向右、向左4种动作。在选择动作时,首先从环境中接收观测状态,随后调用神经网络输出在该状态下的所有动作价值。设置一个从0到1的随机数u,若u<ε,则从上述4个指定整数中以简单随机抽样的方式随机输出一个整数作为动作,每个整数被抽中的概率相等,反之,则输出动作价值最大的动作所代表的整数。
在路径规划这类特殊问题中,转运机器人的动作通常不会被设计为自相矛盾的一组,即不可能在前进一步后后退一步,左行一步后右行一步,为避免矛盾动作的出现,需改进动作选择模块。当神经网络输出动作的方向与上一个动作的方向相反时,则抛弃该动作,并随机选择一个垂直于该动作方向的动作,以跳出局部极小值区,加快算法收敛速度。伪代码如表 1所示。
步骤 | 算法 |
1 | 初始化观测点Ot和上一个动作at-1 |
2 | 使用AD3QN算法获得动作价值 |
3 | 通过动作价值选择最佳动作at |
4 | If(at=0 and at-1=1) or (at-1=0 and at=1): |
随机选择2 or 3赋值给at | |
5 | If(at=2 and at-1=3) or (at-1=3 and at=2): |
随机选择0 or 1赋值给at | |
6 | If u<ε: |
随机选择0 or 1 or 2 or 4赋值给at | |
7 | 返回at |
8 | 结束 |
1.5 AD3QN算法的整体流程
AD3QN算法由RL模块、深度学习模块和环境交互模块3个模块组成。深度学习模块是RL模块的“大脑”,更新此模块使RL模块的判断更加精准;环境交互模块是RL模块的“双手”,通过与环境交互,RL模块才能获得对当前行为的评估与反馈,详细算法流程如图 3所示。
![]() |
图 3 AD3QN算法流程图 |
2 促动器自动化维护车间转运机器人路径规划 2.1 车间环境建模与维护流程
常见的环境建模方法有拓扑法、几何法和栅格法等,栅格法因其更新方便、可视化好等优点最为常用。本文采用栅格法建立一个12×36的栅格环境对促动器自动化维护车间进行建模。如图 4所示,以左上角为原点,栅格的单位长度设置为转运机器人的机身长度,每个栅格都代表智能体的一个状态。黑色栅格代表车间内各维护功能单元,是转运机器人所不可到达的位置;白色栅格代表可达位置;红色栅格的坐标为(12,9),代表转运机器人的当前位置,即起始点;黄色栅格的坐标为(25,4),代表需要到达的目标。
![]() |
注:①号位置为促动器存储装卸区;②、③、④、⑤号位置为4台促动器整机测试单元;⑥、⑫号位置为促动器主拆解单元;⑦、⑧号位置为促动器阀组测试单元;⑨号位置为促动器齿轮泵测试机器人单元;⑩、⑪号位置为促动器总装单元;⑬、⑭号位置为促动器油缸拆解单元;⑮号位置为促动器清洗机器人单元;⑯号位置为促动器油缸装配机器人单元。 图 4 促动器自动化维护车间布局栅格图 |
维护剩余寿命低于阈值的促动器的过程为在促动器主拆解单元拆解促动器,分解出来的齿轮泵、阀组将被分别送往促动器齿轮泵测试机器人单元和促动器阀组测试单元进行测试和更换;油缸在促动器油缸拆解单元被拆解后,将被送往促动器清洗机器人单元进行清洗,之后,被送往促动器油缸装配机器人单元进行装配;促动器的关键零部件将会在促动器总装单元进行总体装配,装配完成的促动器会被送往促动器整机测试单元,若测试合格则视为单台促动器维护完成。
2.2 参数设定AD3QN算法的相关参数设置如下:折扣率γ表示智能体对未来奖励的看重程度,若γ=0,则转运机器人只关注眼前利益,完全不考虑多步之后可能的奖励;若γ=1,则转运机器人将认为不论多少步之后的奖励都与当前奖励同样重要。本文选取的γ=0.9,记忆库大小m=500,目标网络更新频次∅=200。环境的奖励设置如下:当转运机器人踏入图 4中的黑色栅格时,奖励为-1,同时强制初始化车间环境;当转运机器人踏入黄色栅格,奖励为1,同时强制初始化车间环境;当转运机器人处于白色栅格时,奖励为红黄栅格Manhattan距离的负数。AD3QN算法使用Adam优化器,学习率为默认值。算法结束条件为目标点被找到30次,或迭代次数超过20 000次。
2.3 仿真实验现模拟一种维护工况:经过促动器故障诊断与寿命预测专家系统诊断后,得出促动器位移传感器仍然处于健康状态的结论。此时,在⑬号促动器油缸拆解单元拆解下来的位移传感器需要运往⑩号促动器总装单元,转运机器人的起始点与目标点与图 4一致。
仿真实验中,使用的4种算法分别是一般竞争网络、不带改进贪婪算法的AD3QN、不带状态网络参数先验的AD3QN和AD3QN,4种算法全部默认使用优先经验回放、双Q网络(double deep Q-network, DDQN)[13]并保持相同的环境奖励策略,实验结果如图 5所示。
![]() |
图 5 4种算法的收敛速度对比 |
由实验结果可知,在第1次行至目标点的所需步数方面,一般竞争网络迭代了7 369步,不带状态网络参数先验的AD3QN迭代了7 951步,不带改进贪婪算法的AD3QN迭代了3 593步,AD3QN算法迭代了2 674步。可见,AD3QN如果在没有加入状态网络参数先验的情况下贸然改进贪婪算法,只会增加算法整体收敛的时间。采用完整的AD3QN算法,在首次找到目标点的用时方面比一般竞争网络快176%。4种算法在第1次发现目标点后,都能通过优先经验回放迅速赋予参与本轮迭代的状态转移矩阵以较高的优先级,进行反复学习并快速降低后续前往目标点所需要的步数。AD3QN算法找到30次目标点共迭代了4 602步,耗时16.51 s即可完成一次路径规划。无论车间布局或工艺如何变化,AD3QN算法基本上都能动态实时地规划一条可行路线。AD3QN算法输出的路线如图 6所示,黑色箭头线表示可行路线。
![]() |
图 6 AD3QN的路径规划方案 |
2.4 多转运机器人路径规划
由于AD3QN可动态实时规划路径,对于3台转运机器人的工作场景,20 s内需要规划2台以上转运机器人行进路线的情况十分少见,在规划路径时可以秉持“先提出、先规划”的原则。假设在相同的工况下,1号转运机器人已获得路径,但尚未完成本次转运任务,维护车间内某促动器油缸需要从⑯号促动器油缸装配机器人单元运送至⑩号促动器总装单元,此时可以将1号转运机器人经过的路径栅格全部转化为不可达,不可达路径如图 7中黑色箭头线所示,随后调用AD3QN算法进行2号机器人的路径规划,得出的路线如图 7中的红色箭头线所示。
![]() |
图 7 多机器人路径规划方案 |
在图 7所示的2个机器人没有完成转运任务的情况下,若又有极小的概率需要将促动器油缸清洗件从⑮号促动器清洗机器人单元运往⑯号促动器油缸装配机器人单元,此时利用AD3QN进行3号转运机器人的路径规划会提示规划失败,原因是有效路径已经被1号机器人的路径挡住(用蓝色箭头线所表示的3号机器人的行进路线与用黑色箭头线所表示的1号机器人的行进路线产生交叉),此时需等待1号机器人完成转运才可进行3号转运机器人的路径规划。
2.5 车间升级后在复杂环境下的路径规划未来升级后的车间环境将逐步趋于复杂化,如图 8所示。设定转运机器人的起始点为红色栅格,目标点为黄色栅格,调用AD3QN算法规划的最短路径路线如红色箭头线所示,此路径从起始点至目标点共需46步。该仿真实验验证了AD3QN在不同场景下的强泛化能力,同时证明了AD3QN在车间升级后仍然可用。
![]() |
图 8 复杂环境下的路径规划方案 |
图 9展示了每轮平均奖励随值随算法迭代的变化,随着迭代次数逐渐增加,平均奖励值在总体上也逐步提高,表明转运机器人的AD3QN算法对路径的优化卓有成效。
![]() |
图 9 平均奖励值随迭代的变化 |
3 结论
本文提出了一种AD3QN算法,解决了FAST促动器自动化维护车间转运机器人的路径规划问题,主要结论如下:
1) 提出了一种可广泛运用于路径规划问题的AD3QN算法。该算法通过预先学习状态价值层参数、改进贪婪搜索算法和动作选择策略,在降低了首次接触目标点所需步数的同时,提高了机器人脱离局部极小值的能力,极大加快了算法的收敛速度。
2) 提出了FAST促动器自动化维护车间转运机器人路径规划方案。首先,对车间环境进行栅格建模;其次,分析促动器维护工艺流程;最后,调用AD3QN算法对转运机器人的工作场景进行仿真实验。结果表明:该路径规划方案在现有或未来的车间环境下都能生成可行的最短路径,同时也适用于多机器人场景下的路径规划,可有效提高FAST促动器维护的整体速度。
综上所述,本文提出的AD3QN算法可有效作为FAST促动器自动化维护车间转运机器人路径规划方法,同时,还能为其他类似路径规划的研究提供参考。
[1] |
NAN R D. Five-hundred-meter aperture spherical radio telescope (FAST)[J]. Science in China Series G: Physics, Mechanics & Astronomy, 2006, 49(2): 129-148. |
[2] |
何启嘉, 王启明, 雷政. 基于改进遗传算法的FAST促动器油缸装配机器人运动学[J]. 科学技术与工程, 2021, 21(19): 8072-8078. HE Q J, WANG Q M, LEI Z. Kinematics for oil cylinder assembly robot of FAST actuators based on improved genetic algorithm[J]. Science Technology and Engineering, 2021, 21(19): 8072-8078. (in Chinese) |
[3] |
孙长银, 穆朝絮. 多智能体深度强化学习的若干关键科学问题[J]. 自动化学报, 2020, 46(7): 1301-1312. SUN C Y, MU C X. Important scientific problems of multi-agent deep reinforcement learning[J]. Acta Automatica Sinica, 2020, 46(7): 1301-1312. (in Chinese) |
[4] |
王慧, 秦广义, 杨春梅. 定制家具板材搬运AGV路径规划[J]. 包装工程, 2021, 42(17): 203-209. WANG H, QIN G Y, YANG C M. AGV path planning of customized furniture plate transportation[J]. Packaging Engineering, 2021, 42(17): 203-209. (in Chinese) |
[5] |
毛国君, 顾世民. 改进的Q-Learning算法及其在路径规划中的应用[J]. 太原理工大学学报, 2021, 52(1): 91-97. MAO G J, GU S M. An improved Q-learning algorithm and its application in path planning[J]. Journal of Taiyuan University of Technology, 2021, 52(1): 91-97. (in Chinese) |
[6] |
董瑶, 葛莹莹, 郭鸿湧, 等. 基于深度强化学习的移动机器人路径规划[J]. 计算机工程与应用, 2019, 55(13): 15-19, 157. DONG Y, GE Y Y, GUO H Y, et al. Path planning for mobile robot based on deep reinforcement learning[J]. Computer Engineering and Applications, 2019, 55(13): 15-19, 157. (in Chinese) |
[7] |
曾纪钧, 梁哲恒. 监督式强化学习在路径规划中的应用研究[J]. 计算机应用与软件, 2018, 35(10): 185-188, 244. ZENG J J, LIANG Z H. Research of path planning based on the supervised reinforcement learning[J]. Computer Applications and Software, 2018, 35(10): 185-188, 244. (in Chinese) |
[8] |
张福海, 李宁, 袁儒鹏, 等. 基于强化学习的机器人路径规划算法[J]. 华中科技大学学报(自然科学版), 2018, 46(12): 65-70. ZHANG F H, LI L, YUAN R P, et al. Robot path planning algorithm based on reinforcement learning[J]. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2018, 46(12): 65-70. (in Chinese) |
[9] |
WANG Z Y, SCHAUL T, HESSEL M, et al. Dueling network architectures for deep reinforcement learning[C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning. New York, USA: JMLR, 2016: 1995-2003.
|
[10] |
徐晓苏, 袁杰. 基于改进强化学习的移动机器人路径规划方法[J]. 中国惯性技术学报, 2019, 27(3): 314-320. XU X S, YUAN J. Path planning for mobile robot based on improved reinforcement learning algorithm[J]. Journal of Chinese Inertial Technology, 2019, 27(3): 314-320. (in Chinese) |
[11] |
阮晓钢, 刘鹏飞, 朱晓庆. 基于气味奖励引导的Q-learning环境认知方法[J]. 清华大学学报(自然科学版), 2021, 61(3): 254-260. RUAN X G, LIU P F, ZHU X Q. Q-learning environment recognition method based on odor-reward shaping[J]. Journal of Tsinghua University (Science and Technology), 2021, 61(3): 254-260. (in Chinese) |
[12] |
MNIH V, AVUKCUOGLU K, SILVER D, et al. Playing Atari with deep reinforcement learning[C]//Proceedings of the Workshops at the 26th Neural Information Processing Systems. Lake Tahoe, USA: MIT Press, 2013: 201-220.
|
[13] |
VAN HASSELT H, GUEZ A, SILVER D. Deep reinforcement learning with double Q-Learning[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence. Phoenix, USA: AAAI, 2016: 2094-2100.
|