随着服务、仓储物流产业的快速发展及其相关产业出现的升级难题,移动机器人成为安全公司、物流公司的研究热点[1-2]. 路径规划是移动机器人实现自主导航的关键技术之一,路径规划是指在具有障碍物的环境中,按照一定的评价标准,寻找一条从起始位姿到目标位姿无碰撞的最优路径[3]. 目前,大多数移动机器人是在高度结构化的已知地图中执行预先规定的动作序列. 例如,在已知静态环境中的路径规划算法已经比较成熟,主要有人工势场法[4]、可视图法[5]、RRT[6]、遗传算法[7]、粒子群算法[8]等. 相对来说在未知、非结构化或动态的环境中时,移动机器人对实际环境没有主动学习和自适应能力,导致移动机器人缺乏对环境的认识,无法确定自身的位置信息和环境中全部障碍物的信息. 因此,采用强化学习使机器人在无法预先感知障碍物具体信息的前提下,在不断地与环境交互的过程中,可以自适应规划出一条从起始点到目标点且满足一定优化标准的无碰撞路径尤为重要[9]. Q学习是一种在线的、无监督的机器学习算法,这使得Q学习成为了强化学习在未知环境下移动机器人路径规划的一个研究热点[10].
近年来,对于改进的Q学习移动机器人路径规划问题可以分为5类:(1) 重新定义环境的状态空间;(2) 动作的随机选择策略;(3) Q表的初始化策略;(4) Q函数的更新策略;(5) 奖惩函数的设计. 对此,国内外的一些学者对Q学习算法提出了一些改进方法. Konar A等[11]提出了一种改进的确定性Q学习路径规划方法,假设知道从当前状态到下一个状态和目标之间的距离,该算法就可以通过利用Q学习的4个派生性质有效地用于更新Q表中的条目,而不是像传统Q学习算法重复更新,因此节省了存储空间,但算法时间复杂度被提高了,导致收敛速度下降的问题. Hwang H J [12]提出了一种
针对上述研究现状及不足,本文提出了基于虚拟子目标的对立Q学习机器人路径规划. 该算法通过建立双向的状态链,使当前状态的动作决策快速地影响到前面的状态动作对,来改善传统Q学习数据传递的滞后性,提高收敛速度,同时通过在局部探测域内寻找最优虚拟子目标的方法解决了大规模环境下Q学习容易产生的维数灾难问题.
1 相关算法 1.1 激光雷达及激光数据坐标转换算法本文采用sick的激光雷达如图1所示,截取后的扫描范围为180°,通过扫描可以得到栅格地图[14]. 利用激光雷达测距速度快、精度高、抗干扰能力强和范围广等特点,机器人可以快速有效地获取周围的环境信息. 机器人的感知信息来自于激光雷达旋转180°所得的距离数据,通过旋转角度和激光末端点的测量距离,计算出机器人离周围障碍物的距离. 在二维坐标系中,激光末端点坐标假设以
${{{T}}_\phi }s = \left( {\begin{array}{*{20}{c}}\begin{array}{l}\cos {\phi _\theta }\\\sin {\phi _\theta }\end{array} & \begin{array}{l} - \sin {\phi _\theta }\\\cos {\phi _\theta }\end{array}\end{array}} \right)s + \left( \begin{array}{l}{\phi _x}\\{\phi _y}\end{array} \right).$ | (1) |
![]() |
图 1 激光雷达与移动平台 Figure 1 Lidar and mobile platform |
Q学习算法[15]采用每个状态−动作对所对应的
${Q^*}(s,a) = r + \gamma \sum {T(s,a,{s'})\max {Q^*}({s'},{a'})} .$ | (2) |
其中,
${\pi ^*}(s) = \arg \max {Q^*}(s,a).$ | (3) |
Q学习算法中Q值得更新公式为
$\begin{split}& Q({s_t},{a_t}) = Q({s_t},{a_t}) + \beta (r +\gamma \max Q({s_{t + 1}},{a_t}) - Q({s_t},{a_t})).\end{split}$ | (4) |
其中,
针对已有算法存在的问题,本文算法的基本思想是根据移动机器人传感器的检测范围,以机器人为中心取得一个局部的环境作为一个窗口,以窗口滚动的方式来遍历整个环境,移动机器人在局部环境中根据得到的虚拟子目标来进行对立Q学习,并得到一条局部的最优路径. 移动机器人按照该路径前进一段距离L后,再产生一个新的窗口,再次进行对立Q学习并得到最优路径. 随着窗口的移动会产生一系列的局部最优路径并到达虚拟子目标点,将这些路径有序地组织起来就构成了一条全局优化的路径.
假设工作环境为
定义1 任意两个栅格之间的距离计算公式为
$d({g_i},{g_j}) = \sqrt {{{({x_i} - {x_j})}^2} + {{({y_i} - {y_j})}^2}} .$ | (5) |
定义2
定义3 obs为所有障碍物
定义4 记
定义5 记
定义6 机器人的视野区域
对立意味着在每个时间
![]() |
图 2 Q值矩阵 Figure 2 Q Matrix |
其中,定义
$\begin{split}{\rm{For}}\;\;\;\;&k = t - 1,t - 2 \cdots 3,2,1\\&Q({s_k},{a_k}) \leftarrow (1 - \beta )Q({s_k},{a_k}) + \\&\beta [{r_k} + \gamma \mathop {\max }\limits_{{a_{k + 1}} \in A} Q({s_{k + 1}},{a_{k + 1}})].\end{split}$ | (6) |
$\;\;\quad\quad\quad\begin{split}&Q({s_k},a_k') \leftarrow (1 - \beta )Q({s_k},a_k') + \\&\beta [r_k' + \gamma \mathop {\max }\limits_{{a_{k + 1}} \in A} Q({s_{k + 1}},{a_{k + 1}})].\\&{\rm{Until}}\;\;\;\;\;k = 1\;\;\;\;\;{\rm{end}}\end{split}\quad\quad\;\;\quad(7)$ |
其中,
第1步训练:
$\begin{array}{l}Q({s_0},{a_0}) \leftarrow Q({s_1},{a_1}),\\Q({s_0},a_0') \leftarrow Q({s_1},a_1').\end{array}$ |
第2步训练:
$\begin{array}{l}Q({s_0},{a_0}) \leftarrow Q({s_1},{a_1}) \leftarrow Q({s_2},{a_2}),\\Q({s_0},a_0') \leftarrow Q({s_1},a_1') \leftarrow Q({s_2},a_2').\end{array}$ |
…
第
$\begin{array}{l}Q({s_0},{a_0}) \leftarrow Q({s_1},{a_1}) \leftarrow \cdots \leftarrow Q({s_{n - 1}},{a_{n - 1}}) \leftarrow Q({s_n},{a_n}),\\Q({s_0},a_0') \leftarrow Q({s_1},a_1') \leftarrow \cdots \leftarrow Q({s_{n - 1}},a_{n - 1}') \leftarrow Q({s_n},a_n').\end{array}$ |
根据对立链的数据更新过程可知,状态
步骤1 对当前的环境进行栅格的划分,设置初始位置
$Q({s_i},a) = 1/d({g_i},{g_{\rm{goal}}}).$ | (8) |
步骤2 机器人对当前位置
步骤3 对当前状态−动作给予一定的惩罚,对立状态−动作对给予一定的奖励.
步骤4 到达目标点,记录下当前的
步骤5 将
步骤6
步骤7 迭代结束,根据
按照上述步骤,其流程图如图3所示.
![]() |
图 3 对立Q学习路径规划 Figure 3 Opposite Q learing path planing |
根据移动机器人传感器的检测范围,以机器人为中心取得一个局部的环境作为一个窗口,将窗口内的环境栅格化,根据移动机器人的当前位置计算每个栅格的坐标位置,并将目标点的位置作为指引,如果
虚线圆表示的是激光雷达的最大扫描范围,在扫描区域与障碍物膨胀边界交汇的点分别为
由上面的分析,可得式(9)为当前探测域内最优虚拟子目标的策略:
${\rm{min}}({d_{R \to {P_i}}} + {d_{{P_i} \to {R_{\rm{goal}}}}}),i \in n.$ | (9) |
![]() |
图 4 虚拟子目标点的选取 Figure 4 Choose virtual sub targets |
其中
虚拟子目标生成算法的基本步骤如下.
步骤1 根据激光雷达的扫描范围和障碍物的信息,获得
步骤2 将间隔小于某个固定值
步骤3 根据式(9)计算出当前探测区域中最优虚拟子目标.
2.3 基于虚拟子目标的对立Q学习算法步骤为了提高全局规划的速度将给出障碍物的密度函数为
${P_{{\rm{obs}}}} = {n_{{\rm{obs}}}}/{n_{{\rm{total}}}}.$ | (10) |
其中,
在一个窗口中前进的距离L定义为
$L = \left\{ {\begin{array}{*{20}{l}}{1{\text{个栅格长度,}}} & {{P_{{\rm{obs}}}} > {n_2};}\\{2{\text{个栅格长度,}}} & {{n_1} < {P_{{\rm{obs}}}} < {n_2};}\\{1/3{\text{局部路径长度,}}} & {{P_{{\rm{obs}}}} < {n_1}.}\end{array}} \right.$ | (11) |
其中,
步骤1 初始化移动机器人的激光雷达的视野半径
步骤2 如果
步骤3 根据式(9)计算最终选取最优虚拟子目标
步骤4 根据式(10)计算
步骤5 根据当前位置和视野
![]() |
图 5 本文算法流程图 Figure 5 The flow chart of the algorithm in this paper |
为了验证在大规模环境下基于虚拟子目标对立Q学习算法的效果,本文在ROS机器人仿真平台上搭建未知环境,环境中包括了四周的墙壁、箱子和挡板等障碍物. 在50×50的未知环境下进行实验,实验中相关参数设置如下:学习因子
![]() |
图 6 复杂环境中机器人导航路径 Figure 6 Robot navigation path in complex environment |
从图6可以看到,每个算法的导航路径有所差异,传统Q学习算法由于在U型区域无法找到合适的路径,与障碍物发生了碰撞,
图7中传统的Q学习算法在训练的过程中陷入到U型区域一直在角落徘徊,导致无法到达目的地,其他3种算法都能到达目标点,并且可以看出本文算法在训练到第8次左右就开始收敛,优于其他3种算法.
为了验证本文算法的实时性,在这32个障碍物随机变化的环境中进行了20组实验,测得的规划时间结果如图8所示. 平均规划时间为0.152 s,基本能满足移动机器人动态路径规划的实时性的要求.
![]() |
图 7 4种算法迭代收敛速度 Figure 7 Iterative convergence rate of four algorithms |
![]() |
图 8 测试规划时间 Figure 8 The measurements experimental planning |
根据获得的导航路径表明本文提出的强化学习算法可以在未知环境中完成导航任务. 同时在相同的环境条件下,与传统的Q学习,
![]() |
表 1 收敛性能对比 Table 1 Convergence performance comparison |
其中,N1表示收敛尝试的次数,N2表示收敛时行走的总步数,从表1可以看出在简单环境中本文算法收敛的速度是对立Q学习算法的1.67倍,是
为了进一步验证本文算法对环境适应能力,在障碍物更加复杂的环境中进行仿真实验,如图9所示,在复杂的环境中移动机器人也能规划一条无碰撞的路径,表明本文算法对各种环境有较强的适应能力.
![]() |
图 9 复杂环境下的规划路径 Figure 9 Path planning in complex environment |
虽然传统的Q学习算法能够在未知的环境下找到一条到达目标点的无碰撞路径,但是由于对环境的先验知识不足,使得算法迭代速度慢,特别是在环境规模增大,状态空间会急剧增大导致维数灾难. 本文针对上述问题,在传统Q学习的基础上,依据实际情况,提出了基于虚拟子目标的对立Q学习,该算法通过建立两条单链来回溯更新Q值并通过设置虚拟子目标将复杂大环境转化为局部简单环境. 采取这些措施后,大幅度地提高了算法的实时性和对环境的适应能力. 实验结果表明该算法简单、速度快、对环境的适应能力强等特点,特别是当环境规模较大时,更能体现算法的优越性.
[1] |
赵晓东, 鲍方. 清洁机器人路径规划算法研究综述[J].
机电工程, 2013, 30(11): 1440-1444.
ZHAO X D, BAO F. Survey on cleaning robot path planning algorithm[J]. Journal of Mechanical & Electrical Engineering, 2013, 30(11): 1440-1444. |
[2] |
LOPEZ A, PAREDES R, QUIROZ D, et al. R-obotman: A security robot for human-robot int-eraction[C]// International Conference on Adva-nced Robotics. Singapore Sands Expo: IEEE, 2017: 7-12.
|
[3] |
朱大奇, 颜明重. 移动机器人路径规划技术综述[J].
控制与决策, 2010, 25(7): 961-967.
ZHU D Q, YAN M Z. A survey of path planning techniques for mobile robots[J]. Control and Decision, 2010, 25(7): 961-967. |
[4] |
王钦钊, 程金勇, 李小龙. 复杂环境下机器人路径规划方法研究[J].
计算机仿真, 2017, 34(10): 296-300.
WANG Q Z, CHENG J Y, LI X L. Researchon robot path planning method in complex en-vironment[J]. Computer Simulation, 2017, 34(10): 296-300. DOI: 10.3969/j.issn.1006-9348.2017.10.066. |
[5] |
张海燕, 林志贤, 郭太良. 机器人避障路径规划优化控制仿真[J].
计算机仿真, 2017, 34(9): 325-330.
ZHANG H Y, LIN Z X, GUO T L. Robot obstacle avoidance path planning optimization control simulation[J]. Computer Simulation, 2017, 34(9): 325-330. DOI: 10.3969/j.issn.1006-9348.2017.09.070. |
[6] |
SALZMAN O, DAN H. Asymptotically near optimal RRT for fast, high-quality motion planning[J].
IEEE Transactions on Robotics, 2016, 32(3): 473-483.
DOI: 10.1109/TRO.2016.2539377. |
[7] |
卢月品, 赵阳, 孟跃强, 等. 基于改进遗传算法的狭窄空间路径规划[J].
计算机应用研究, 2015(2): 413-418.
LU Y P, ZHAO Y, MENG Y Q, et al. Path planning in narrow space by improved genetic algorithm[J]. Application Research of Computers, 2015(2): 413-418. DOI: 10.3969/j.issn.1001-3695.2015.02.021. |
[8] |
韩明, 刘教民, 吴朔媚, 等. 粒子群优化的移动机器人路径规划算法[J].
计算机应用, 2017, 37(8): 2258-2263.
HAN M, LIU J M, WU S M, et al. Path planning algorithm of mobile robot based on particle swarm optimization[J]. Computer Application, 2017, 37(8): 2258-2263. DOI: 10.3969/j.issn.1001-3695.2017.08.004. |
[9] |
LAMINI C, FATHI Y, BENHLIMA S. H-MAS architecture and reinforcement learning method for autonomous robot path planning[C]//2017 Intelligent Systems and Computer Vision. Morocco, Fez: IEEE, 2017.
|
[10] |
CETIN H, DURDU A. Path planning of mobile robots with Q-learning[C]// Signal Processing and Communications Applications Conference. India, Kerala: IEEE, 2014.
|
[11] |
KONAR A, CHAKRABORTY I G, SINGH S J, et al. A deterministic Improved Q-learning for path planning of a mobile robot[J].
IEEE Transactions on Systems Man & Cybernetics Systems, 2013, 43(5): 1141-1153.
|
[12] |
HWANG H J, VIET H H, CHUNG T C. Q(λ) based vector direction for path planning problem of autonomous mobile robots
[J].
Speech Communication, 2011, 17(3-4): 249-262.
|
[13] |
PIETERS M, WIERING M A. Q-learning withexperience replay in a dynamic environment[C]//2016 IEEE Symposium Series on Computational Intelligence. Greece, Athens: IEEE, 2017.
|
[14] |
梁嘉俊, 曾碧, 何元烈. 基于改进势场栅格法的清洁机器人路径规划算法研究[J].
广东工业大学学报, 2016, 33(4): 30-36.
LIANG J J, ZENG B, HE Y L. Research on path planning algorithm for cleaning robot based on improved potential field grid method[J]. Journal of Guangdong University of Technology, 2016, 33(4): 30-36. DOI: 10.3969/j.issn.1007-7162.2016.04.006. |
[15] |
LEI T, MING L. A robot exploration strategy based on Q-learning network[C]// IEEE Intern-ational Conference on Real-Time Computing a-nd Robotics. Okinawa: IEEE, 2016: 57-62.
|