移动机器人的目标搜索是指以单个或多个移动机器人在工作环境中对单个或多个目标进行搜索, 以获取其信息或对其操作, 任务执行过程中涉及同步定位与建图(SLAM)、运动控制、路径规划、目标识别、追-逃行为等共性技术[1-2].移动机器人路径规划可分为全局路径规划、局部路径规划、任务规划等, 移动机器人在目标搜索时的路径规划通常被视为任务规划, 其目的在于根据任务需求按照最短距离、最短时间、最大可靠性等预期目标生成一条最优或次优的可行路径[3-4].
针对移动机器人目标搜索任务的问题, 现有研究通常设置待搜索目标在工作环境内服从均匀分布, 并以最短距离作为指标规划出用于跟踪的路径, 旨在减少获取目标所需的时间, 该方法得到的路径通常接近于时间最优, 属于次优选择[4-5].Sarmiento等[6]发现以最短距离作为指标为目标搜索规划路径, 忽略了移动机器人目标搜索过程中的大量不确定性因素, 包括目标分布的不确定性、环境的不确定性等, 其假设通常与实际情况不符.为使机器人目标搜索策略与现实工作环境具有更高的契合度, 文献[6]将概率方法引入到目标搜索中, 模仿人类搜索目标的策略构建相应的模型, 提出了以期望时间作为机器人目标搜索的优化指标, 并认为最优期望时间在很多情况下比最短距离方法更具有合理性, 但是该方法的缺陷是假设目标在观测点处服从均匀分布且与可行面积成正比关系, 属于非常理想的情况, 与机器人的实际工作环境有一定差距.Espinoza等[7]在文献[6]的基础上将概率模型由二维平面延伸至三维空间, 通过移动机械臂的手眼来扩展机器人视野, 减少机器人本体移动, 从而构建了面向移动机械臂的最优期望时间目标搜索方法.文献[8]发现当工作空间存在回路时, 其在回路中的搜索方向会导致期望时间的差异, 并结合概率密度函数的实时更新进一步优化了机器人目标搜索的期望时间.文献[9]提出了以最大可靠性为优化指标的目标搜索方法, 尝试以最优安全性作为指标为移动机器人目标搜索规划路径.在基于观测序列规划的目标搜索问题中, 客观事实表明了目标在各观测点处的概率并不相等, 以最短距离为指标规划出的路径与以最短期望时间生成的路径并不一致.因此, 在以节省时间为目标的移动机器人目标搜索任务中, 长度最短的路径并非最佳选择.
针对以上问题, 本文按照最优期望时间指标进行路径寻优, 采用分层式规划策略.尽管蚁群算法在机器人路径规划中的应用不是很理想, 但其在旅行商问题等组合优化问题方面具有良好的表现, 所以本文上层拓扑序列规划采用蚁群算法搜索期望时间最优的观测点序列.因上层规划只给出节点序列, 无法提供适于机器人跟踪的局部路径, 故在下层特征地图中采用改进快速随机搜索树(RRT)算法(collision information detection-RRT, CID-RRT)生成易于机器人跟踪的轨迹.该算法在RRT的基础上引入碰撞信息检测和非完整约束, 从而使RRT可更快逃脱局部极小值, 规划出的路径更适用于非完整约束移动机器人跟踪[10].
1 概率测算模型的构建对于目标搜索策略而言, 移动机器人目标搜索采用的方法可分为连续与离散.其中: 连续搜索方法是模仿人类在工作环境中的搜索方式, 但对全局优化而言效率不高; 离散规划的思想是将整个观测区域划分为若干子观测区域, 在其区域中选取观测点, 并依次访问.针对两种方法的优势, 一些研究者将两者融合, 上层采用全局优化, 下层采用局部规划.基于最优期望时间的目标搜索定义如下.
定义1 对于移动机器人的工作环境
| $ \begin{align} U_{k}(V_{k})\in S, \end{align} $ | (1) |
观测点应服从
| $ \begin{align} V = \{ {{V}_{k}}|{{V}_{k}}\in S, k = 1, 2, \ldots, n\}. \end{align} $ | (2) |
其中:
在移动机器人的实际工作环境中, 物体的属性各异, 使得其出现在不同区域的概率通常差异非常大, 例如: 笔记本电脑出现在书房的概率远远高于出现在卫生间的概率, 平底锅出现在厨房的概率远远高于出现在卧室的概率.对此, 本文引入概率密度因子, 以
| $ \begin{align} {{p}_{k}} = \frac{{\rm Area}( {{U}_{k}}( {{\rho }_{k}}, {{V}_{k}}) ){{\rho }_{k}}}{ \sum\limits_{k = 1}^{n}{({\rm Area}( {{U}_{k}}( {{\rho }_{k}}, {{V}_{k}} )){{\rho }_{k}})}}. \end{align} $ | (3) |
其中:
| $ \begin{align} {{U}_{k}}( {{\rho }_{k}}, {{V}_{k}})\in S. \end{align} $ | (4) |
假设移动机器人匀速运动, 且其速度
| $ \begin{align} {{t}_{k}} = {{L}_{k}}/v, \end{align} $ | (5) |
其中
根据文献[7]中的离散搜索理论, 在机器人的工作环境
| $ \begin{align} p( V = {{V}_{k}}) = {{p}_{k}}, \; k = 1, 2, \ldots, n, \end{align} $ | (6) |
搜索目标所用的期望时间为
| $ \begin{align} E(T) = {{t}_{1}}{{p}_{1}}+{{t}_{2}}{{p}_{2}}+\ldots+{{t}_{n}}{{p}_{n}} = \sum\limits_{k = 1}^{n}{{{t}_{k}}{{p}_{k}}}. \end{align} $ | (7) |
其中:
| $E\left( T \right) = \int_0^\infty {\left( {1 - P\left( {T \le t} \right)} \right){\rm{dt}} = \int_0^\infty {\left( {1 - f\left( T \right)} \right){\rm{d}}\mathit{t}.} } $ | (8) |
以4个节点为例, 其累积分布函数的示意图如图 1所示[6].
|
图 1 累积分布函数示意图 |
近年来, 在基于概率的移动机器人目标搜方法中, 国内外研究者通常采用分层规划模式来生成符合指定指标的最优或次最优路径, 即: 在上层规划中根据任务需求优化节点访问序列, 如: 文献[11]以贪婪算法搜索拓扑序列, 其优点是计算复杂度低, 缺点则是很难得到全局最优方案.本文采用蚁群算法(ant colony optimization, ACO)来代替贪婪算法, ACO属于启发式搜索, 通过信息素正反馈机制得到全局效果较好的节点序列.
ACO算法属于群体随机优化方法, 在环境复杂时易陷入局部极小, 故本文通过限定信息素阈值来提高ACO算法的全局优化能力.蚂蚁在寻找最优解的过程中会分泌信息素, 蚂蚁选择下一步节点主要依靠信息素及启发式函数, 蚂蚁路径构建主要依靠如下公式:
| ${P_k}\left( {i, j} \right) = \left\{ {\begin{array}{*{20}{l}} {\frac{{{{\left[ {\tau \left( {i, j} \right)} \right]}^c}{{\left[ {\eta \left( {i, j} \right)} \right]}^d}}}{{\sum\limits_{j \in A\left( r \right)} {{{\left[ {\tau \left( {i, j} \right)} \right]}^c}{{\left[ {\eta \left( {i, j} \right)} \right]}^d}} }}, j \in A\left( r \right);}\\ {0, j \notin A\left( r \right).} \end{array}} \right.$ | (9) |
其中:
随着时间的推移, 信息素也会随之逐渐消逝, 每只蚂蚁经过一个节点后都通过下式对局部信息素进行更新:
| $ \begin{align} \tau (r, s) = (1 - \rho ) \cdot \tau (r, s) + \rho \cdot \Delta \tau (r, s). \end{align} $ | (10) |
每只蚂蚁完成一次搜索之后, 按照下述公式进行全局信息素的更新:
| $ \begin{align} &\tau (r, s) = (1 - \rho )\tau (r, s) + \rho \sum\limits_{k = 1}^m {\Delta \tau _{r, s}^k}; \end{align} $ | (11) |
| $ \begin{align} &\varDelta \tau _{r, s}^k = \begin{cases} {Q}/{L_{k }}, \; (r, s) \in {R_{k}};\\[2pt] 0, \; {\rm otherwise}. \end{cases} \end{align} $ | (12) |
其中:
信息素影响因子
| $ \begin{align} \begin{cases} c = ( {{c}_{\max }}-{{c}_{0}})\dfrac{N}{D}+{{c}_{0}}, \\[9pt] d = ( {{d}_{\max }}-{{d}_{0}})\dfrac{N}{D}+{{d}_{0}}. \end{cases} \end{align} $ | (13) |
其中:
为了提高ACO算法解的质量, 抑制算法收敛于局部最优值, 应用最大最小蚂蚁法, 在每次信息素更新后, 对节点
| $ \begin{align} \begin{cases} {{\tau }_{\min }}, \; {{\tau }_{ij}}<{{\tau }_{\min }};\\[2pt] {{\tau }_{ij}}, \; {{\tau }_{\min }}<{{\tau }_{ij}}<{{\tau }_{\max }};\\[2pt] {{\tau }_{\max }}, \; {{\tau }_{ij}}>{{\tau }_{\max }}. \end{cases} \end{align} $ | (14) |
其中:
由ACO算法得到最优的期望时间序列的步骤如下:
step 1: 参数的初始化, 其中蚂蚁的最大迭代次数为
step 2: 蚂蚁
step 3: 得到寻优期望时间的节点序列, 按照
step 4: 根据期望时间和节点序列, 按照式(11)和(12)更新全局信息素, 再根据式(13)对信息素影响因子和启发式因素影响权重的值进行更新.完成本轮迭代后, 将禁忌表清空, 若未超出最大迭代次数,则返回step 2.
step 5: 当迭代次数
上层基于拓扑地图所获得的拓扑点序列, 属于路径寻优的概要路线, 并不适用于机器人直接跟踪.因此, 本文采用改进快速随机搜索树算法进行节点间的路径寻优, 根据局部环境信息, 避开环境中的不可行区域, 生成一条易于跟踪的无碰可行路径.
RRT算法的扩展过程如图 2所示, 选出随机树中距离随机生成的点
|
图 2 RRT扩展模型 |
为降低RRT算法的随机性, 引入目标偏好机制
| $ \begin{align} f(x) = \begin{cases} 1, \; {\rm rand}(\; )>{\mu };\\ 0, \; {\rm rand}(\; )<{\mu }. \end{cases} \end{align} $ | (15) |
设置一个阈值
为解决目标偏好RRT易陷入局部极小值的问题, 引入碰撞检测机制, 碰撞检测示意图如图 3所示.在地图中随机生成点
|
图 3 碰撞信息检测模型 |
扩展过程中每次发生碰撞都会更新随机树上节点的碰撞概率, 如图 4所示,
|
图 4 碰撞信息更新模型 |
基于上层拓扑图的改进ACO算法得到优化后的节点访问序列, 然后在下层规划中采用CID-RRT算法进行局部路径规划, 经过两层优化后得到基于最优期望时间目标搜索路径规划算法如图 5所示.
|
图 5 期望时间下的移动机器人目标搜索路径规划 |
为了验证本文所提出观测点的上层序列规划以及下层CID-RRT路径规划能够优化目标搜索的期望时间, 本文在Matlab环境中进行验证, 处理器为Intel Core i5-3230M CPU @2.60 GHz, 内存2 GB.首先单独验证观测点的序列规划能够缩短目标搜索的期望时间; 然后在不同的地图环境下分别检验ACO算法和贪心算法基于最优期望时间的上层观测点序列规划的优劣, 以及RRT和CID-RRT对点与点之间的路径规划对于移动机器人目标搜索期望时间大小的影响, 并结合算法运行时间进行分析.
优化期望时间所获路径, 与以概率或长度为单目标进行优化有一定区别, 其效果与所采用的地图有一定关联.本文所提出算法在有的地图中优势较大, 有的则较小, 但是从期望时间来看, 一定优于单独优化概率或长度所生成路径的期望时间.
为了验证以期望时间为指标生成的观测点访问序列能对目标搜索的期望时间进行优化, 本文在地图环境中选取一个点作为起始点, 记为
|
图 6 起始点与随机生成9个观测点 |
| 表 1 起始点与随机生成观测点发现目标的概率分布 |
| 表 2 ACO算法参数表 |
贪心算法获得的序列和最优期望时间的序列如图 7和图 8所示.贪心算法获得的序列为
|
图 7 贪心算法得到的目标搜索序列 |
|
图 8 ACO算法得到的目标搜索序列 |
为了验证对上层观测点的序列规划能够得到更佳期望时间的普遍性, 随机生成100组观测点发现目标的概率分布, 分别计算贪心算法获得的序列与最优期望时间的序列对应的期望时间, 所得结果如图 9所示.
|
图 9 不同概率下两种算法的期望时间 |
为验证本文所提出算法在移动机器人目标搜索任务中的有效性, 首先在上层的拓扑序列规划中将本文的ACO算法与贪心算法进行比较; 然后在下层的点对点规划中将原始RRT算法与本文改进的CID-RRT算法进行比较.环境的不同导致搜索结果存在差异, 所以本文采用不同的工作环境来验证所提出两层优化算法的有效性, 并搭建工作环境
|
图 10 工作环境S1 |
|
图 11 工作环境S2 |
对于移动机器人目标搜索任务而言, 期望以最少的观测点覆盖待搜索的空间, 这样能减少算法处理时间及所需搜索的路径长度, 有利于提高移动机器人目标搜索的效率.面向期望时间的搜索任务举例说明: 如图 10、图 11所示, 黑色区域代表障碍物, 为不可行区间, 其余区域为可行区域.
每个观测点发现目标的概率估算过程: 首先将地图环境栅格化, 若栅格表征障碍物, 则令栅格值为0;若栅格表征地图环境的可行区域, 则令其栅格值为1.假设每个观测点都是光源, 其发射的光能够穿过栅格值为1的栅格, 不能穿过栅格值为0的栅格, 故地图环境中能被某个光源照亮的栅格便是该观测点的可见区域; 然后结合模拟空间中目标出现的概率及位置的关联人工设置每个观测点的密度因子
| 表 3 环境S1下目标在观测区域的概率分布 |
在
|
图 12 S1下基于贪心-RRT的目标搜索路径 |
|
图 13 S1下基于ACO-RRT的目标搜索路径 |
|
图 14 S1下基于贪心CID-RRT的目标搜索路径 |
|
图 15 S1下基于本文所提出算法的目标搜索路径 |
从图 12
| 表 4 环境S1下4种算法对应的指标 |
为了验证本文所提出算法在移动机器人不取回搜索这类问题中的有效性, 将工作环境复杂化, 记为
| 表 5 环境S2下目标在观测区域的概率分布 |
|
图 16 S2下基于贪心-RRT的目标搜素路径 |
|
图 17 S2下基于ACO-RRT的目标搜索路径 |
|
图 18 S2下基于贪心CID-RRT的目标搜索路径 |
|
图 19 S2下基于本文所提出算法的目标搜索路径 |
| 表 6 环境S2下4种算法对应的指标 |
从图 16
针对概率地图下的移动机器人目标搜索问题, 本文提出了一种基于最优期望时间的分层式目标搜索路径规划方法.本文引入目标概率分布函数描述目标在环境中的分布特点, 在上层拓扑序列规划中采用改进ACO算法优化观测节点的访问序列; 在下层的点对点精细路径规划中, 以CID-RRT生成易于机器人跟踪的无碰撞局部路径.实验结果显示, 本文所提出算法能显著缩短移动机器人搜索获得目标的预期时间, 且具有良好的实时性.
| [1] |
Meghjani M, Manjanna S, Dudek G. Multi-target rendezvous search[C]. International Conference on Intelligent Robots and Systems. Daejeon, 2016: 2596- 2603.
|
| [2] |
Schlotfeldt B, Atanasov N, Pappas G J. Maximum information bounds for planning active sensing trajectories[C]. International Conference on Intelligent Robots and Systems. Macau, 2019: 4913-4920.
|
| [3] |
Lu W J, Liu D K. A scalable sampling-based optimal path planning approach via search space reduction[J]. IEEE Access, 2019, 7: 153921-153935. DOI:10.1109/ACCESS.2019.2948976 |
| [4] |
Konar A, Goswami Chakraborty I, Singh S J, et al. A deterministic improved Q-learning for path planning of a mobile robot[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2013, 43(5): 1141-1153. DOI:10.1109/TSMCA.2012.2227719 |
| [5] |
Cheng L P, Liu C X, Yan B. Improved hierarchical A-star algorithm for optimal parking path planning of the large parking lot[C]. International Conference on Information and Automation. Hailar, 2014: 695-698.
|
| [6] |
Sarmiento A, Murrieta R, Hutchinson S A. An efficient strategy for rapidly finding an object in a polygonal world[C]. International Conference on Intelligent Robots and Systems. Nevada, 2003: 1153-1158.
|
| [7] |
Espinoza J, Sarmiento A, Murrieta-Cid R, et al. Motion planning strategy for finding an object with a mobile manipulator in three-dimensional environments[J]. Advanced Robotics, 2011, 25(13/14): 1627-1650. |
| [8] |
Zhang B T, Wang J, Lue Q, et al. An expected-time optimal path planning method for robot target search in uncertain environments[C]. Chinese Control Conference. Wuhan, 2018: 5554-5559.
|
| [9] |
Zhang B T, Liu Y, Lu Q, et al. A path planning strategy for searching the most reliable path in uncertain environments[J]. International Journal of Advanced Robotic Systems, 2016, 13(5): 172988141665775. |
| [10] |
张波涛, 李加东, 刘士荣. 采用碰撞测试和回归机制的非完整约束机器人快速扩展随机树运动规划[J]. 控制理论与应用, 2016, 33(7): 870-878. (Zhang B T, Li J D, Liu S R. Rapidly-exploring random trees motion planning for non-holonomic robot with collision-test and regression mechanism[J]. Control Theory & Applications, 2016, 33(7): 870-878.) |
| [11] |
Rashid R, Perumal N, Elamvazuthi I, et al. Mobile robot path planning using ant colony optimization[C]. IEEE International Symposium on Robotics and Manufacturing Automation. Ipoh, 2016: 1-6.
|
| [12] |
曾梦凡, 陈思洋, 张文茜, 等. 利用蚁群算法生成覆盖表: 探索与挖掘[J]. 软件学报, 2016, 27(4): 855-878. (Zeng M F, Chen S Y, Zhang W Q, et al. Using ant colony algorithm to generate coverage table: Exploration and mining[J]. Journal of Software, 2016, 27(4): 855-878.) |
| [13] |
Deng H, Xia Z Y, Xiong J. Robotic manipulation planning using dynamic RRT[C]. International Conference on Real-time Computing and Robotics. Angkotr Wat, 2016: 500-504.
|
| [14] |
Chen L, Shan Y, Tian W, et al. A fast and efficient double-tree RRT*-like sampling-based planner applying on mobile robotic systems[J]. IEEE/ASME Transactions on Mechatronics, 2018, 23(6): 2568-2578. DOI:10.1109/TMECH.2018.2821767 |
2022, Vol. 37
