基于深度强化学习和人工势场法的移动机器人导航

陈满 李茂军 李宜伟 赖志强

引用本文:
Citation:

基于深度强化学习和人工势场法的移动机器人导航

    作者简介: 陈 满(1998−),男,安徽人,硕士生,主要研究强化学习、机器人技术. E-mail:647821639@qq.com;
    通讯作者: 李茂军, rayalen036@163.com
  • 中图分类号: TP241.2

Mobile robot navigation based on deep reinforcement learning and artificial potential field method

    Corresponding author: LI Mao-jun, rayalen036@163.com ;
  • CLC number: TP241.2

  • 摘要: 针对移动机器人在公共服务领域导航任务中的深度强化学习算法所面临的状态信息交互困难、回馈机制不充分和动作探索冗余等问题,提出势场增强注意力深度强化学习PARL算法. 首先,利用人工势场法和注意力机制设计势场注意力网络;然后,利用人工势能场理论构建一种全新的势场奖励函数;最后,提出反向近似模型,并结合势场奖励函数的空间划分方式改进动作空间. 实验结果表示,使用PARL算法驱动的机器人,自主学习效率得到提高,平均导航成功率和安全率分别为100%和98.2%,与SARL、CADRL、ORCA算法相比,平均导航时间缩短0.14~1.11 s,且导航动作的鲁棒性更强.
  • 图 1  人工势场受力分析

    Figure 1.  Force analysis of artificial potential field

    图 2  势场注意力网络

    Figure 2.  Potential field attention network

    图 3  势场奖励函数空间

    Figure 3.  Potential field reward function space

    图 4  反向近似模型

    Figure 4.  Reverse approximation model

    图 5  PARL算法训练过程示意图

    Figure 5.  Schematic diagram of the training process of PARL algorithm

    图 6  移动机器人V-REP仿真环境

    Figure 6.  V-REP simulation environment for mobile robot

    图 7  不同算法机器人平均导航成功率

    Figure 7.  Average navigation success rate of robots with different algorithms

    图 8  不同算法机器人平均导航时间

    Figure 8.  Average navigation time of robots

    表 1  测试实验各指标数据对比

    Table 1.  Comparison of various index data of test experiment

    算法平均成
    功率/%
    平均碰
    撞率/%
    平均导航
    时间$ /{\text{s}} $
    平均安
    全率/%
    平均导航
    时间标准差
    PARL100.00.010.4398.20.15
    SARL98.41.610.5794.90.34
    CADRL46.253.011.5480.71.35
    ORCA41.858.210.86-0.82
    注:-表示无实验数据
    下载: 导出CSV
  • [1] Kahn G, Villaflor A, Ding B, et al. Self-supervised deep reinforcement learning with generalized computation graphs for robot navigation[C]//IEEE International Conference on Robotics and Automation (ICRA), IEEE, Prague, Czech, 2018: 5 129-5 136. DOI: 10.1109/ICRA.2018.8460655.
    [2] Chik S F, Yeong C F, Su E L M, et al. Gaussian pedestrian proxemics model with social force for service robot navigation in dynamic environment[C]//Asian Simulation Conference, Springer, Singapore, 2017: 61-73. DOI: 10.1007/978-981-10-6463-0_6.
    [3] Takanashi H, Abe K, Michitsuji Y, et al. Prediction for obstacle avoidance route of pedestrian using stochastic distributions[J]. The Japan Society of Mechanical Engineers, 2017: 202-211. DOI:  10.1299/jsmermd.2017.2P2-D11.
    [4] 赵英男. 基于强化学习的路径规划问题研究[D]. 哈尔滨: 哈尔滨工业大学, 2017.

    Zhao Y N. Research on path planning based on reinforcement learning[D]. Harbin: Harbin Institute of Technology, 2017.
    [5] Chen Y F, Liu M, Everett M, et al. Decentralized non-communicating multiagent collision avoidance with deep reinforcement learning[C]//IEEE International Conference on Robotics and Automation (ICRA), IEEE, Marina Bay Sands, Singapore, 2017: 285-292. DOI: 10.1109/ICRA.2017.7989037.
    [6] Chen C, Liu Y, Kreiss S, et al. Crowd-robot interaction: Crowd-aware robot navigation with attention-based deep reinforcement learning[C]//IEEE International Conference on Robotics and Automation (ICRA), IEEE, Montreal, Canada, 2019: 6 015-6 022. DOI: 10.1109/ICRA.2019.8794134.
    [7] 江杰, 任恒靓. 基于改进人工势场法的移动机器人路径规划的研究[J]. 自动化应用, 2017(8): 80-81. DOI:  10.3969/j.issn.1002-6886.2006.06.020. Jiang J, Ren H L. Research on path planning of mobile robot based on improved artificial potential field method[J]. Application of Automation, 2017(8): 80-81.
    [8] 王云鹏, 郭戈. 基于深度强化学习的有轨电车信号优先控制[J]. 自动化学报, 2019, 45(12): 2 366-2 377. DOI:  10.16383/j.aas.c190164. Wang Y P, Guo G. Tram signal priority control based on deep reinforcement learning[J]. Acta Automatica Sinica, 2019, 45(12): 2 366-2 377.
    [9] Marinescu A, Taylor A, Clarke S, et al. Optimising residential electric vehicle charging under renewable energy: Multi-agent learning in software simulation and hardware-in-the-loop evaluation[J]. International Journal of Energy Research, 2019, 43(8): 3 853-3 868. DOI:  10.1002/er.4559.
    [10] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533. DOI:  10.1038/nature14236.
    [11] Pawe W, Tanwani A K. Autonomous reinforcement learning with experience replay[J]. Neural Networks: the Official Journal of the International Neural Network Society, 2012, 41(5): 156-167.
    [12] Yang X, He D, Zhou Z, et al. Learning to read irregular text with attention mechanisms[C]// Twenty-sixth International Joint Conference on Artificial Intelligence, Melbourne, Australia, 2017: 3 280-3 286. DOI: 10.24963/ijcai.2017/458.
    [13] Gaudart J, Giusiano B, Huiart L. Comparison of the performance of multi-layer perceptron and linear regression for epidemiological data[J]. Computational Stats & Data Analysis, 2018, 44(4): 547-570. DOI:  10.1016/S0167-9473(02)00257-8.
    [14] 高慧. 基于强化学习的移动机器人路径规划研究[D]. 成都: 西南交通大学, 2016.

    Gao H. Research on path planning of mobile robot based on reinforcement learning[D]. Chengdu: Southwest Jiaotong University, 2016.
    [15] van den Berg J, Lin M, Manocha D. Reciprocal velocity obstacles for real-time multi-agent navigation[C]//IEEE International Conference on Robotics and Automation (ICRA), IEEE, California, USA, 2008: 1 928-1 935. DOI: 10.1109/ROBOT.2008.4543489.
    [16] Zeng A, Song S, Welker S, et al. Learning synergies between pushing and grasping with self-supervised deep reinforcement learning[C]//IEEE/RS, J International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 2018: 4 238-4 245. DOI: 10.1109/IROS.2018.8593986.
    [17] Pellegrini S, Ess A, Schindler K, et al. You’ll never walk alone: Modeling social behavior for multi-target tracking[C]// IEEE 12th International Conference on Computer Vision (ICCV), IEEE, Kyoto, Japan, 2009: 261-268. DOI: 10.1109/ICCV.2009.5459260.
  • [1] 胡仕柯赵海军张天翠贺春林陈毅红王登辉 . 一种可应用于无人飞行器控制的ICM-SAC智能学习算法. 云南大学学报(自然科学版), 2021, 43(3): 1-7.
    [2] 郜冬林裴以建朱久德许文慧刘云凯 . 轮式移动机器人预定时间轨迹跟踪控制. 云南大学学报(自然科学版), 2021, 43(1): 33-38. doi: 10.7540/j.ynu.20200084
    [3] 宋炯金钊杨维和 . 机器学习中加速强化学习的一种函数方法. 云南大学学报(自然科学版), 2011, 33(S2): 176-181.
    [4] 裴以建余江宗容蔡光卉 . 行走机器人高精度视觉系统. 云南大学学报(自然科学版), 2006, 28(6): 483-486.
    [5] 周云松裴以建余江池宗琳 . 双足行走机器人步态轨迹规划. 云南大学学报(自然科学版), 2006, 28(1): 20-26.
    [6] 钱谦裴以建余江宗容 . 基于OpenGL的关节型机器人实时控制与仿真系统的研究. 云南大学学报(自然科学版), 2006, 28(5): 398-403.
    [7] 陆正福周宪法杨慧慧李佳 . 基于深度学习的隐私保护型分布式人脸识别系统. 云南大学学报(自然科学版), 2021, 43(4): 700-706. doi: 10.7540/j.ynu.20200404
    [8] 姚如苹孙静潘家华王威廉 . 基于变值逻辑与深度学习模型的心音分类研究. 云南大学学报(自然科学版), 2021, 43(5): 859-867. doi: 10.7540/j.ynu.20200549
    [9] 姜阅孙珮石邹平毕晓伊王洁魏中华吴志浩任洪强王艳茹 . 生物强化法提高生物塔烟气同时脱硫脱氮性能的实验研究. 云南大学学报(自然科学版), 2016, 38(1): 133-140. doi: 10.7540/j.ynu.20150400
    [10] 燕志星王海瑞杨宏伟靖婉婷 . 基于深度学习特征提取和GWO-SVM滚动轴承故障诊断的研究. 云南大学学报(自然科学版), 2020, 42(4): 656-663. doi: 10.7540/j.ynu.20190535
    [11] 王洋肖宇晴袁盛磊于浩飞王兴红张荣平 . 人工诱导龙血竭与野生龙血竭化学成分的比较研究. 云南大学学报(自然科学版), 2011, 33(3): 366-369, .
    [12] 魏中华孙珮石姜阅邹平毕晓伊任洪强张宴王艳茹 . 化学强化剂提高生物膜填料塔烟气同时脱硫脱氮性能的实验研究. 云南大学学报(自然科学版), 2015, 37(2): 259-264. doi: 10.7540/j.ynu.20140469
    [13] 王崇文任翔 . 一种基于移动智能手机的微学习模式研究. 云南大学学报(自然科学版), 2013, 35(S1): 133-137. doi: 10.7540/j.ynu.20130262
    [14] 尉洪周浩杨鉴 . 基于矢量量化的组合参数法说话人识别. 云南大学学报(自然科学版), 2002, 24(2): 96-100.
    [15] 尹丽云许迎杰邓勇张腾飞刘雪涛 . VAD迭代法对多普勒雷达风场缺测区数据填补的应用研究. 云南大学学报(自然科学版), 2011, 33(S2): 359-366.
    [16] 解朝娣吴小平虎雄林 . 用离散波数法计算层状介质中地震破裂产生的动态位移场. 云南大学学报(自然科学版), 2005, 27(5): 410-415.
    [17] 纳海莺蒋丽红陈雪萍 . 化学沉淀-溶剂沉淀法脱除湿法磷酸中氟的研究. 云南大学学报(自然科学版), 2010, 32(1): 68-72 .
    [18] 万丽娟杨明张丽 . 水热法和电化学表面处理制备高性能Fe2O3光阳极. 云南大学学报(自然科学版), 2020, 42(2): 319-324. doi: 10.7540/j.ynu.20190296
    [19] 梁林巧郭俊明杨灵艳苏长伟段开娇向明武白玮 . 固相燃烧法合成LiNi0.10ZnxMn1.90-xO4(x≤0.15)正极材料及其电化学性能研究. 云南大学学报(自然科学版), 2020, 42(1): 119-126. doi: 10.7540/j.ynu.20190433
    [20] 赵新闻李毓成 . 用Hammerling交换势计算碱金属原子高激发态能级. 云南大学学报(自然科学版), 2003, 25(1): 33-36.
  • 加载中
图(8)表(1)
计量
  • 文章访问数:  254
  • HTML全文浏览量:  247
  • PDF下载量:  16
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-03-08
  • 录用日期:  2021-07-25
  • 网络出版日期:  2021-09-26
  • 刊出日期:  2021-11-15

基于深度强化学习和人工势场法的移动机器人导航

    作者简介:陈 满(1998−),男,安徽人,硕士生,主要研究强化学习、机器人技术. E-mail:647821639@qq.com
    通讯作者: 李茂军, rayalen036@163.com
  • 长沙理工大学 电气与信息工程学院,湖南 长沙 410114

摘要: 针对移动机器人在公共服务领域导航任务中的深度强化学习算法所面临的状态信息交互困难、回馈机制不充分和动作探索冗余等问题,提出势场增强注意力深度强化学习PARL算法. 首先,利用人工势场法和注意力机制设计势场注意力网络;然后,利用人工势能场理论构建一种全新的势场奖励函数;最后,提出反向近似模型,并结合势场奖励函数的空间划分方式改进动作空间. 实验结果表示,使用PARL算法驱动的机器人,自主学习效率得到提高,平均导航成功率和安全率分别为100%和98.2%,与SARL、CADRL、ORCA算法相比,平均导航时间缩短0.14~1.11 s,且导航动作的鲁棒性更强.

English Abstract

  • 移动机器人导航任务可以描述为移动机器人依据自身和周围的环境信息,安全自主地避开障碍物并实现朝向目标位置的运动[1]. 随着移动机器人导航技术的迅速发展,其应用场景已经逐渐从工厂等结构化场景走向公共服务领域. 该领域的场景通常存在众多行人,并且行人的运动随机性较大,因此机器人需要与行人频繁地交互并合理预测行人的运动轨迹,这给导航任务带来了难度.

    目前行人环境中的导航方法通常可以分为基于模型的方法和数据驱动方法. 基于模型的方法使用数学或物理模型来描述机器人与行人的交互,并预测行人的运动轨迹,然后结合传统的路径规划算法如滚动窗口法完成导航任务. Chik等[2]使用高斯过程模型对行人的运动进行建模,并进行机器人与行人的交互,在行人环境中实现了导航任务;Takanashi等[3]提出了行人随机建模方法,通过大量行人轨迹获取随机模型,获得更精确的交互效果. 这类基于模型的方法需要根据不同的实验场景设置不同参数,对于陌生的导航场景泛化能力有限,且导航效果欠佳.

    随着机器学习的发展,无模型的数据驱动方法成为行人环境下机器人导航的热门研究方向. 赵英男[4]将导航任务抽象为“格子游戏”,使用Sarsa算法进行移动机器人导航,实现了初步导航功能;Chen等[5]使用深度强化学习解决行人状态下多机器人协同导航问题,使导航更高效;Chen等[6]提出了社会注意力深度强化学习算法,采用社会注意力网络作为状态值函数,使机器人与行人的交互更充分. 以上数据驱动的方法使机器人具有“学习能力”,极大地提升了场景适应性,但也面临着学习效率低下、收敛困难等问题.

    针对上述现有导航技术中存在的不足,本文将传统物理模型和数据驱动方法融合,提出势场增强注意力深度强化学习PARL算法. 主要工作有:①提出势场注意力网络,有效地扩充了机器人和行人的状态信息,促进状态信息的交互;②建立势场奖励函数,并设置不同空间平衡各部分奖励,完善了奖励回馈机制;③提出反向近似模型,并结合综合奖励函数的空间划分方式改进动作空间,减少机器人的无效探索.

    • 人工势场法是一种虚拟力法,常用于机器人导航任务中[7]. 该方法假设机器人在目标位置的引力势场中受到引力作用,在障碍物的斥力势场中受到斥力作用. 引力势场函数和斥力势场函数分别表示为:

      $ {U_{{\text{gra}}}} = \frac{1}{2}\xi \alpha _{{\text{gra}}}^2, $

      $ {U_{{\text{rep}}}} = \left\{ \begin{array}{l} \dfrac{1}{2}\eta {\left(\dfrac{1}{{{\alpha _{{\text{rep}}}}}} - \dfrac{1}{{{\alpha _0}}}\right)^2},{\alpha _{{\text{rep}}}} \leqslant {\alpha _0}, \\ 0,{\alpha _{{\text{rep}}}} > {\alpha _0}, \end{array} \right. $

      其中,$ \xi $ 为引力势场常数,$ \eta $ 为斥力势场常量,$ {\alpha _{{\text{gra}}}} $ 为机器人当前位置与目标位置之间的欧氏距离,$ {\alpha _{{\text{rep}}}} $ 为机器人当前位置与障碍物之间的欧氏距离,$ {\alpha _0} $ 代表障碍物的最大影响距离. 引力为引力势场的负梯度,斥力为斥力势场的负梯度,表示为:

      $ {F_{{\text{gra}}}} = - \nabla {U_{{\text{gra}}}} = - \xi {\alpha _{{\text{gra}}}}, $

      $ \begin{split} {F_{{\text{rep}}}} =& - \nabla {U_{{\text{rep}}}} = \\ &\left\{ \begin{array}{l} \eta \left(\dfrac{1}{{{\alpha _{{\text{rep}}}}}} - \dfrac{1}{{{\alpha _0}}}\right)\dfrac{1}{{\alpha _{{\text{rep}}}^2}}\nabla {\alpha _{{\text{rep}}}},{\alpha _{{\text{rep}}}} \leqslant {\alpha _0}, \\ 0,{\alpha _{{\text{rep}}}} > {\alpha _0}. \end{array} \right. \end{split}$

      因此,机器人在其工作空间受到的合力为所受引力与斥力的矢量和(图1),该合力决定机器人在该位置的运动情况.

      图  1  人工势场受力分析

      Figure 1.  Force analysis of artificial potential field

    • 基本的强化学习以马尔科夫决策过程(Markov Decision Process,MDP)为理论框架[8],具体过程如下:在 $ t $ 时刻,智能体获取状态 $ {s_t} $,根据给定的策略 $ \pi $,选择并执行相应的动作 $ {a_t} $,然后过渡到新的状态 $ {s_{t + 1}} $ 并获取奖励 $ {r_t} $. 智能体强化学习的最终目的是找到一个最优策略 $ {\pi ^*} $,该策略可以最大化未来奖励之和:

      $ R_t^\infty = \sum\limits_{i = t}^\infty \gamma {r_i}, $

      其中,$ \gamma \in [0,1) $ 是未来奖励的折扣系数. 状态值函数 $ V({s_t}) $ 可以定义为 $ t $ 时刻状态 $ {s_t} $ 的期望奖励,拆分成即时奖励和后续折扣奖励,表示为:

      $ V({s_t}) = {{E}}[{r_{t + 1}} + \gamma V({s_{t + 1}})], $

      其中,E 为数学期望. 最优策略 $ {\pi ^*} $ 可以执行最高累计奖励的控制动作,从而得到最佳状态值函数 $ {V^{\text{*}}}({s_t}) $,用贝尔曼最优方程表示为[9]

      $ {V^{\text{*}}}({s_t}) = \mathop {\max }\limits_{{a_t} \in A} ({r_t} + \gamma \int_{{s_{t + 1}}} {P_{{s_t}{s_{t + 1}}}^{{a_t}}{V^*}({s_{t + 1}})} {\rm{d}}{s_{t + 1}}), $

      其中, $ P_{{s_t}{s_{t + 1}}}^{a_t} $ 为在状态 $ {s_t} $ 下执行动作 $ {a_t} $ 过渡到 $ {s_{t + 1}} $ 的状态转移函数.

      深度强化学习(Deep Reinforcement Learning,DRL)算法[10]使用深度神经网络作为非线性函数近似器来近似 $ V $ 值,并且引入经验重播方法[11]和目标值网络. 经验重播方法将智能体与环境交互获得的经验集储存在记忆池中,训练时采样经验集,打破经验之间的关联性,增加学习的效率与稳定性. 目标值网络用于更新状态值网络参数,提升算法的收敛能力.

    • 状态空间包括机器人状态和行人状态两个方面,将机器人和行人均抽象为2D平面中的圆,目标位置 $ {\text{g}} $ 抽象为平面中的点,以机器人为原点,机器人到目标位置的方向为 ${{x}}$ 轴正方向建立坐标系. 则机器人自身的状态 $ B $ 表示为:

      $ B = [p,v,r,{v_{\text{o}}},{d_{\text{g}}}], $

      其中,$ p $$ v $$ r $$ {v_{\text{o}}} $ 分别表示机器人的位置、速度、半径和预设速度,$ {d_{\text{g}}} $ 表示机器人与目标位置的距离. 行人的状态 $ {H_i} $ 为:

      $ {H_i} = [{p_i},{v_i},{r_i},{d_i},{d_{\text{m}}},{d_{\text{s}}}],i = 1,\cdots,n, $

      其中,$ n $ 为行人的数量,$ {p_i} $$ {v_i} $$ {r_i} $ 分别表示行人的位置、速度和半径,$ {d_i} $ 表示机器人与行人的距离,$ {d_{\text{m}}} $$ {d_{\text{s}}} $ 分别表示行人的最大影响距离和机器人与行人的安全距离. 综合(8)、(9),得到状态 $ s $ 为:

      $ s = \{ B,{H_1},{H_2},\cdots,{H_n}\} . $

    • 对于行人环境中的机器人导航任务,需要机器人与行人充分交互,并对状态信息进行编码,预测行人运动轨迹. 势场注意力网络(图2)将人工势场模型和注意力机制[12]融合,主要由3个模块组成:势能模块、交互池化模块、整合模块.

      图  2  势场注意力网络

      Figure 2.  Potential field attention network

    • 势能模块将行人和机器人的部分状态用人工势场法抽象,再合并到原有状态中,扩充状态信息. 首先,依据公式(1)、(2)构建机器人势能因素 $ U $ 和行人势能因素 $ {U_i} $,表示为:

      $ U({d_{\text{g}}}) = \frac{1}{2}{\xi _1}d_{\text{g}}^2, $

      $ {U_i}({d_i}) = \left\{ \begin{array}{l} \dfrac{1}{2}{\eta _1}{\left(\dfrac{1}{{{d_i}}} - \dfrac{1}{{{d_{\text{m}}}}}\right)^2},{d_i} \leqslant {d_{\text{m}}}, \\ 0,{d_i} > {d_{\text{m}}}, \end{array} \right. $

      其中,$ {\xi _1} $ 为引力势能因子,$ {\eta _1} $ 为斥力势能因子. 则融合势能因素的机器人状态 $ {B^{'}} $ 和行人的状态 $ H_i^{'} $ 分别为:

      $ {B'} = [p,v,r,{v_{\text{o}}},U({d_{\text{g}}})], $

      $ H'_i = [{p_i},{v_i},{r_i},{d_i},{d_{{\text{m,}}}},{d_{\text{s}}},{U_i}({d_i})],i = 1,\cdots,n. $

      经过势场模块扩充后的状态 ${s'}$ 为:

      $ {s'} = \sigma (s) = \{ {B^{'}},H_1^{'},H_2^{'},\cdots,H_n^{'}\} . $

    • 交互池化模块使用多个多层感知器(Multi-Layer Perceptron,MLP)[13]构建,将扩充后的状态信息编码为长度固定的向量,获取机器人与行人的交互特征,然后使用注意力机制构建行人对机器人的影响力,最后得到人群特征. 首先将状态 $ {s'} $ 编码到固定长度的向量 $ {e_i} $ 中:

      $ {e_i} = {\phi _e}({s'};{W_e}), $

      其中,$ {W_e} $$ {\phi _e} $ 的权重,$ {\phi _e} $ 使用ReLU激活. 再将 $ {e_i} $ 输入到后续的MLP $ {\rho _f} $ 中,获得机器人与行人的交互特征:

      $\begin{split} \\{f_i} = {\rho _f}({e_i};{W_f}), \end{split}$

      其中,$ {\rho _f} $ 表示全连接层,使用ReLU激活,$ {W_f} $$ {f_i} $ 的权重. 然后使用MLP $ {\varphi _\psi } $ 获取行人注意力分数 $ {\psi _i} $,用于表征行人对机器人的影响力,表示为:

      $ {\psi _i} = {\varphi _\psi }({e_i};{W_\psi }), $

      其中,$ {\varphi _\psi } $ 使用ReLU激活,$ {W_\psi } $$ {\varphi _\psi } $ 的权重. 最后将交互特征 $ {f_i} $ 和行人注意力分数 $ {\psi _i} $ 加权线性组合,得人群特征:

      $ N = \sum\limits_{i = 1}^n {{\text{Softmax}}({\psi _i}){f_i}} . $

    • 整合模块用于计算状态值网络输出结果. 将 $ {B^{'}} $ 和人群特征 $ N $ 输入到整合模块的MLP $ {z_v} $ 中,则输出状态值函数的输出结果 $ V(s) $ 为:

      $ V(s) = {z_v}({B^{'}},N;{W_v}), $

      其中,$ {z_v} $ 使用ReLU激活,$ {W_v} $$ {z_v} $ 的权重.

    • 对于行人导航环境,需要机器人准确避开行人,并尽量以最短的时间到达目标位置,因此需要设置一种合理的奖励策略. 受人工势场理论的启发,构建势场奖励函数,该奖励函数由位置奖励函数和方向奖励函数构成,并设计势场奖励函数空间平衡各部分奖励.

    • 位置奖励函数由目标引导奖励函数和避障奖励函数组成,目标引导奖励使机器人快速到达目标点,避障奖励使机器人与行人保持一定距离. 首先,使用引力势场函数构建目标引导奖励函数:

      $ {r_{{\text{aim}}}}({d_{\text{g}}}) = {\xi _2}d_{\text{g}}^{\text{2}}, $

      其中,$ {\xi _2} $ 为引力奖励因子. 使用斥力势场函数构建避障奖励函数部分,设置该奖励为负数,随着机器人与行人相对距离 $ {d_i} $ 的减小而减小:

      $ {r_{{\text{avo}}}}({d_i}) = \left\{ \begin{array}{l} - \dfrac{1}{2}{\eta _2}{\left(\dfrac{1}{{{d_i}}} - \dfrac{1}{{{d_{\text{m}}}}}\right)^2},{d_i} \leqslant {d_{\text{m}}}, \\ 0,{d_i} > {d_{\text{m}}}, \end{array} \right. $

      其中,$ {\eta _2} $ 为斥力奖励因子.

    • 机器人导航任务中,机器人的当前方向对于合理导航起到了重要的影响. 考虑到人工势场法中机器人受到的合力方向可以良好地契合机器人的运动方向,故依此设计方向奖励函数,对当前机器人的方向做出评价. 由公式(3)可知,机器人所受目标位置的引力大小 $ {F_{\text{g}}} $ 为:

      $ {F_{\text{g}}}({d_{\text{g}}}) = {\xi _2}{d_{\text{g}}}, $

      引力方向为机器人指向目标位置. 由公式(4)可知,机器人所受行人的斥力大小 $ {F_i} $ 为:

      $ {F_i} = \left\{ \begin{array}{l} {\eta _2}\left(\dfrac{1}{{{d_i}}} - \dfrac{1}{{{d_{\text{m}}}}}\right)\dfrac{1}{{d_i^2}}\nabla {d_i},{d_i} \leqslant {d_{\text{m}}}, \\ 0,{d_i} > {d_{\text{m}}}, \end{array} \right. $

      斥力方向为行人指向机器人. 合力表示为全体引力和斥力的矢量相加:

      $ {{\boldsymbol{F}}_{\text{j}}} = {{\boldsymbol{F}}_{\text{g}}} + \sum\limits_{i = 1}^n {{{\boldsymbol{F}}_i}} , $

      使用合力 $ {{\boldsymbol{F}}_{\text{j}}} $ 的方向表示预期方向. 机器人预期方向和实际方向之间的契合程度表示为:

      $ \varphi =\mathrm{arccos}\frac{{\boldsymbol{F}}_{\text{j}}·{\boldsymbol{F}}_{\text{a}}}{\left|{\boldsymbol{F}}_{\text{j}}\right|\left|{\boldsymbol{F}}_{\text{a}}\right|}, $

      其中 $ {{{\boldsymbol{F}}}_{\text{a}}} $ 表示机器人实际运动向量,$\varphi $为预期方向与实际方向$ {{{\boldsymbol{F}}}_{\text{a}}} $的夹角. 考虑公式(26),设计方向奖励函数 $ {r_{{\text{ori}}}}(\varphi ) $,表示为:

      $ {r_{{\text{ori}}}}(\varphi ) = - \tau \left| {\frac{{2\pi }}{\varphi }} \right|, $

      其中, $ \tau $ 为角度因子.

    • 图3所示,以行人为中心构建势场奖励函数空间,依次将行人周围空间划分为方向引导空间、综合空间和目标引导空间. 其中方向引导空间和综合空间使用半径为 $ {d_{\text{s}}} $ 的圆区分,综合空间和目标引导空间使用半径为 $ {d_{\text{m}}} $ 的圆区分,如公式(9),$ {d_{\text{s}}} $ 为行人的最大影响距离,$ {d_{\text{m}}} $ 为机器人与行人的安全距离. 势场奖励函数空间使用权重向量 $ {\lambda _i} = [\lambda _i^{{\text{aim}}},\lambda _i^{{\text{ori}}}] $ 表示:

      图  3  势场奖励函数空间

      Figure 3.  Potential field reward function space

      $ {\lambda ^i} = \left\{ \begin{aligned} & [\lambda _i^{{\text{aim}}} = 0,\lambda _i^{{\text{ori}}} = 1],{d_i} < {d_{\text{s}}}, \\ &[\lambda _i^{{\text{aim}}} = \frac{{{d_i} - {d_{\text{s}}}}}{{{d_{\text{m}}} - {d_{\text{s}}}}},\lambda _i^{{\text{ori}}} = \frac{{{d_{\text{m}}} - {d_i}}}{{{d_{\text{m}}} - {d_{\text{s}}}}}],{d_{\text{s}}} \leqslant {d_i} < {d_{\text{m}}}, \\ &[\lambda _i^{{\text{aim}}} = 0,\lambda _i^{{\text{ori}}} = 0],{d_{\text{m}}} \leqslant {d_i}. \end{aligned} \right. $

      综合公式(21)、(22)、(27)、(28),得到势场奖励函数为:

      $ r = {r_{{\text{aim}}}}({d_{\text{g}}}) + \sum\limits_{i = 0}^n {{\lambda ^i}\left[ \begin{array}{l} {r_{{\text{avo}}}}({d_i}) \\ {r_{{\text{ori}}}}(\varphi ) \end{array} \right]} . $

    • 受基于近似动作模型策略选择的Q−学习算法[14]启发,提出反向近似模型,用于在新的环境状态下删减部分动作选项,减少不必要的探索. 假设机器人的原始动作空间为 $ {M_{\max }} $,新环境状态为 $ O $,定义反向近似动作空间 $ {M_{{\text{rev}}}} $ 为:

      $ {M_{{\text{rev}}}} = {{J}}({M_{\max }},O), $

      其中,${{J}}$ 表示反向近似函数.

    • 假设移动机器人可以朝任何方向移动,其动作 $ {a_t} $ 主要包括速度 $ v $、速度偏差 $ {v_{{\text{dev}}}} $、方向 $ \omega $ 和方向偏差 $ {\omega _{{\text{dev}}}} $ 4个要素,其中 $ {v_{{\text{dev}}}} $$ {\omega _{{\text{dev}}}} $ 用于表征机器人内部故障或外部环境因素对速度和方向造成的偏差. 则 $ {a_t} $ 表示为:

      $ {a_t} = \{ v,{v_{{\text{dev}}}},\omega ,{\omega _{{\text{dev}}}}\} \in A, $

      其中,$ v $ 可取5个值,分别在 $ (0,{v_o}] $ 呈指数间隔分布,$ \omega $ 可取16个值,分别在 $ [0,2\pi ) $ 均匀分布,$ {v_{{\text{dev}}}} $$ {\omega _{{\text{dev}}}} $ 与机器人内部状态和实际导航场景有关,为了简化动作空间,实验中均设置为0,因此原始动作空间 A 为80种离散动作的集合.

      依据综合奖励函数空间划分方式将状态分为 $ {S_{\rm{a}}} $$ {S_{\rm{b}}} $$ {S_{\rm{c}}} $ 3类,结合反向近似模型,将动作空间重新改进(图4). 其中,$ {S_{\rm{a}}} $ 表示环境中存在机器人位于行人的方向引导空间中,此时机器人的动作空间为 $ A $$ {S_{\rm{b}}} $ 表示机器人位于所有行人的目标引导空间中,采用动作空间 $ {A_{\rm{b}}} $,由公式(30)得:

      $ {A_{\rm{b}}} = {\text{J}}(A,{S_{\rm{b}}}), $

      该动作空间的方向 $ \omega $ 可取11个值,有55种离散动作;$ {S_{\rm{c}}} $ 表示机器人同时位于综合空间和目标引导空间(或均位于综合空间)中,采用动作空间 $ {A_{\rm{c}}} $,该动作空间的 $ \omega $ 有13种取值,有65种离散动作.

      图  4  反向近似模型

      Figure 4.  Reverse approximation model

    • 当机器人从零开始学习时,获得的奖励具有稀疏性,收敛速度较慢,因此使用ORCA算法[15]收集3000个经验集并预训练50轮,目的是初始化状态值网络 $ V $ 和目标值网络 $ {V^{'}} $ 的权重,让机器人具有一般的导航能力,即保证机器人总体上能够朝向目标点运动,但是不能保证机器人不发生碰撞,也不能保证其导航时间最短.

      强化学习训练过程使用 $ \varepsilon $−贪婪策略选择最优动作或随机动作,最优动作由最优策略 ${{\textit{π}} ^*} $ 决定. 引入记忆池 $ D $,采用随机经验重播方法[16]选择经验集. 其中 ${{\textit{π}} ^*} $ 表示为:

      $ {{\textit{π}}^*} = \mathop {\arg \max }\limits_{{a_t} \in A} (r({s_t},{a_t}) + \gamma \int_{{s_{t + \Delta t}}} {P_{{s_t}{s_{t + \Delta t}}}^{{a_t}}{V^{\text{*}}}({s_{t + \Delta t}})} {\rm{d}}{s_{{s_{t + \Delta t}}}}), $

      其中 ,$ \Delta t $ 为相邻两个动作决策之间的时间间隔,$ {V^{\text{*}}}({s_t}) $ 为最佳状态值函数. 由于相邻两个动作决策之间的时间间隔 $ \Delta t $ 较小,因此可使用等速模型近似[17],则 $ {{\textit{π}} ^*} $ 简化为:

      $ {{\textit{π}} ^*} = \mathop {\arg \max }\limits_{{a_t} \in A} (r({s_t},{a_t}) + \gamma {V^{\text{*}}}({s_{t + \Delta t}})). $

      最终,得到势场增强注意力深度强化学习(potential field enhanced attention deep reinforcement learning,PARL)算法,用该算法进行训练,算法训练过程如图5所示.

      图  5  PARL算法训练过程示意图

      Figure 5.  Schematic diagram of the training process of PARL algorithm

      算法1 势场增强注意力深度强化学习

      输入 未来奖励折扣 $ \gamma $、预训练学习率 $ {\alpha _{\text{P}}} $、强化学习学习率 $ {\alpha _{\text{R}}} $、目标网络权重更新周期 $ C $、贪婪因子 $ \varepsilon $、记忆池容量 $ L $、最大运行时间 $ {t_{\max }} $

      输出 状态值网络V的权重参数θ,目标值网络${V^{'}} $的权重${\theta ^{'}} $

      步骤1 预训练状态值网络 $ V $ 并获得权重 $ \theta $,初始化目标值网络 $ {V^{'}} $ 和权重 $ {\theta ^{'}} $,使 $ {\theta ^{'}} = \theta $

      步骤2 初始化机器人导航场景,获取初始状态 $ {s_{\text{0}}} $

      步骤3 判断当前状态类别并选择动作空间;

      步骤4 使用 $ \varepsilon $-贪婪策略选择动作 $ {a_t} $:在当前动作空间内随机选择动作或选择最优动作 $ {a_t} = $$ \mathop {\arg \max }\limits_{{a_t} \in A} (r({s_t},{a_t}) + \gamma {V^\theta }({s_{t + \Delta t}})) $$ {V^\theta } $ 表示状态值网络 $ V $ 的状态值函数);

      步骤5 执行动作 $ {a_t} $,过渡到新状态空间 $ {s_{t + \Delta t}} $,并获得奖励 $ r({s_t},{a_t}) $

      步骤6 若记忆池 $ D $ 中经验集的数量为 $ L $,则删除最早的经验集,并将新的经验集存入 $ D $ 中,并使用随机经验重播方法从记忆池 $ D $ 中抽取经验集;

      步骤7 依据经验集和目标值网络 $ {V^{'}} $ 计算目标值 $ y = r({s_t},{a_t}) + \gamma {V^{{\theta ^{'}}}}({s_{t + \Delta t}}) $$ {V^{{\theta ^{'}}}} $ 表示目标值网络 $ {V^{'}} $ 的状态值函数);

      步骤8 根据目标值 $ y $,使用梯度下降方法更新状态值网络 $ V $ 的权重参数 $ \theta $

      步骤9 目标值网络权重更新,即在一轮中,若机器人导航到当前位置所用的总时间小于 $ {t_{\max }} $,则每隔 $ C $ 步动作决策更新一次目标值网络 $ {V^{'}} $ 的权重 $ {\theta ^{'}} $,使 $ {\theta ^{'}} = \theta $

      步骤10 更新贪婪因子 $ \varepsilon $

      步骤11 判断是否满足终止条件,即机器人到达目标点或导航时间大于 $ {t_{\max }} $,若满足则终止本轮循环;否则,转到步骤3;

      步骤12 判断是否达到设定的轮次,若满足则结束训练;否则,转到步骤2.

    • 图6所示,使用V-REP仿真软件建立仿真环境. 机器人的导航空间S为 $ 10\;{\text{m}} \times 10\;{\text{m}} $ 正方形区域,为了防止训练过程中移动机器人运动到工作空间S之外,在其边缘设置墙壁. 机器人的起始位置 ${{\text{p}}}$ 和目标位置 $ {\text{g}} $ 均在图6中表示,预设最大速度 $ {v_{\text{o}}} $ 为1 $ {\text{m/s}} $,半径 $ r $ 取值为0.3 m,相邻两个动作决策之间的时间间隔 $ \Delta t $ 为0.25 $ {\text{s}} $,最大运行时间 $ {t_{\max }} $ 设置为25 $ {\text{s}} $. 行人数量 $ n $ 取值为5,行人的运动使用随机模型控制[3].

      图  6  移动机器人V-REP仿真环境

      Figure 6.  V-REP simulation environment for mobile robot

      使用PyTorch框架建立PARL算法模型控制机器人,其中预训练学习率为0.01,强化学习学习率为0.001,未来奖励的折扣系数 $ \gamma $ 为0.9,贪婪因子 $ \varepsilon $ 在5000轮训练中从0.5线性衰减到0.1.

    • 本实验将一轮定义为一次完整的机器人导航过程,按照导航结果的不同,可将每次导航分为以下3种情况:①导航成功,即机器人在最大运行时间 $ {t_{\max }} $ 内成功到达目标位置;②超出导航时间,即机器人运行时间超过 $ {t_{\max }} $,且未发生碰撞;③发生碰撞,即机器人在 $ {t_{\max }} $ 内碰到行人或墙壁. 在每轮导航过程中,机器人每隔 $ \Delta t $ 进行一次迭代,直到完成此轮导航为止.

      使用PARL算法对移动机器人进行5000轮训练,使用SARL算法[6]和CADRL算法[5]作为对比实验. 如图78所示,分别绘制机器人平均导航成功率和平均导航时间曲线,其中横坐标表示训练轮数,纵坐标分别表示未来200轮训练的平均导航时间和平均导航成功率,发生情况②和③时导航时间均视为 $ {t_{\max }} $.

      图  7  不同算法机器人平均导航成功率

      Figure 7.  Average navigation success rate of robots with different algorithms

      图  8  不同算法机器人平均导航时间

      Figure 8.  Average navigation time of robots

      图78可知,随着训练轮数的增加,机器人导航时间减少,导航成功率提高,说明机器人在行人环境下具有自主学习能力,导航效果随着自主学习逐渐变好. 训练过程中,PARL和SARL的导航时间和导航成功率均显著优于CADRL,这是因为CADRL的状态值函数只能考虑机器人与最近行人的关系,交互不充分,导致训练效果较差. 相比于SARL,PARL在训练过程中的导航时间更少,成功率更高,并且训练曲线的收敛速度更快,这说明PARL将物理模型和数据驱动结合的方式,可以提升机器人训练过程中的自主学习效率. 值得注意的是,PARL在前期对平均导航时间的改善尤为明显,而且SARL的平均导航时间在700轮左右出现大幅度下跌,且曲线整体平滑程度较差,这是说明SARL在训练前期的探索效果较差,而融合了APFM的PARL改善了这一情况,使前期的训练更具有合理性.

    • 分别对训练5000轮的PARL、SARL和CADRL进行500次测试,计算平均结果. 除了训练过程所采用的3种强化学习算法之外,添加ORCA算法作为对比实验,用于反映基于模型的算法和强化学习算法的性能差异,同样进行500次测试实验,计算平均结果.

      对于每组测试实验设置5个实验指标:①平均成功率;②平均碰撞率;③平均导航时间,即机器人完成情况①所需的平均时间;④平均安全率,用于表征发生情况①时机器人和行人距离大于行人安全距离 $ {d_{\text{s}}} $ 的概率,表示为:

      $ {f_a} = \frac{1}{W}\sum\limits_{a = 1}^W {\frac{{{t_a}}}{{{T_a}}}} , $

      其中 $ W $ 为测试实验导航成功总次数,$ {t_a} $ 为机器人第 $ a $ 次成功导航过程中相对于所有行人均处于安全距离的时间,$ {T_a} $ 为机器人第 $ a $ 次成功导航所用的总时间;⑤平均导航时间标准差,用于表征导航动作鲁棒性,发生情况②和③的测试实验不参与计算,表示为:

      $ V = \frac{1}{W}\sqrt {\sum\limits_{a = 1}^W {{{({T_a} - T)}^2}} } . $

      表1可知,测试实验中的PARL的平均成功率和平均安全率达到100%和98.2%,PAPL和SARL的导航成功率均大幅度高于CADRL,这是因为注意力机制可以充分考虑机器人与导航场景中各行人的位置关系,而CADRL只能考虑最近行人的位置,对导航场景存在短视现象,从而引起较多碰撞. ORCA的导航成功率分别低于PARL和SARL58.2%和56.6%,这是因为ORCA这类基于模型的方法仅考虑当前一定范围的导航场景,对于较远距离行人运动的预测不够充分. PARL的导航成功率不仅远高于CADRL和ORCA,也比同样拥有注意力机制SARL高出1.6%,表明PARL这种将数据驱动和物理模型融合的方法,对机器人导航任务具有积极作用.

      算法平均成
      功率/%
      平均碰
      撞率/%
      平均导航
      时间$ /{\text{s}} $
      平均安
      全率/%
      平均导航
      时间标准差
      PARL100.00.010.4398.20.15
      SARL98.41.610.5794.90.34
      CADRL46.253.011.5480.71.35
      ORCA41.858.210.86-0.82
      注:-表示无实验数据

      表 1  测试实验各指标数据对比

      Table 1.  Comparison of various index data of test experiment

      平均导航时间方面,PAPL比其他3种算法缩短0.14~1.11 s,CADRL的平均导航时间不仅远高于PARL和SARL,也比基于模型的ORCA高,这是因为CADRL驱动的机器人没有系统的规划路径能力,不会快速靠近目标位置,因此也出现了超出最大导航时间 $ {t_{\max }} $(情况②)的现象,同为短视算法的ORCA可以更快地靠近目标位置,但是更容易发生碰撞. 另外,PARL和SARL的机器人平均导航时间分别比ORCA低,说明PARL和SARL在快速接近目标位置的能力上优于ORCA. PARL算法的平均导航时间相比于SARL下降了1.3%,说明在导航过程中,PARL驱动的机器人运动路径更加合理,能够更快到达目标位置.

      平均安全率方面,PARL分别高于SARL和CADRL3.3%和17.5%,这表明PARL在导航过程中对行人安全距离 $ {d_{\text{s}}} $ 的控制较为精确,在快速到达目标位置的同时,又保证了导航的安全性.

      平均导航时间标准差方面,使用CADRL驱动的机器人,其鲁棒性不仅远低于PARL和SARL,也低于ORCA,这同样是因为该算法的缺乏系统的规划路径能力,因此平均导航时间的波动幅度较大,鲁棒性较差. PARL的平均导航时间标准差相对于SARL降低了55.9%,这说明PARL可以提升机器人导航的鲁棒性,使机器人的导航动作更加稳定.

      由上述实验结果和分析可知,本文提出的PARL对移动行人导航场景具有较好的效果,在导航成功率、导航时间、导航安全性和导航动作鲁棒性等方面均优于对比实验.

    • 根据公共服务领域行人场景中的机器人导航任务,本文提出了PARL算法. 该算法将物理模型和数据驱动从状态值函数、奖励函数和动作空间3个方面融合,分别以势场注意力网络作为状态值网络,使用人工势场思想设计奖励函数,使用反向近似模型改进动作空间. 实验结果表示,PARL可以使移动机器人的自主学习效率得到提高,且平均导航成功率和安全率分别为100%和98.2%,与SARL、CADRL、ORCA算法相比,平均导航时间缩短0.14~1.11 $ {\text{s}} $,且导航动作鲁棒性更强. 在未来的工作中,将集成更多的功能到深度强化学习框架中,使移动机器人更加适应真实的行人环境. 同时,拓展该算法到具体的移动行人场景中,也是未来研究工作的重要课题.

参考文献 (17)

目录

    /

    返回文章
    返回