轨迹规划是无人船自主航线的核心模块,依据感知模块获得的周边环境信息,目标是生成一条时空平滑、保证行驶安全、可执行的行驶轨迹。关于轨迹规划问题,快速扩展随机树搜索算法(RRT)[1]是路径规划中一种基于采样的规划算法,RRT改进方法 Goal-biasing[2]是将一定比例的目标点补充作为扩展节点以提高算法的求解速度。然而,RRT算法包含随机种子,导致生成的路径具有一定的随机性,算法规划的效率难以保证。A*算法是基于栅格地图搜索的规划算法,它将规划空间离散,通过设计启发值对节点的扩展进行引导[3-4]。文献[5-6]提出一种 Anytime D*算法以进行增量式轨迹规划。Field D*算法[7-8]和Theta*算法[9-10]等是继承A*演化而来的算法。这些算法需要对规划空间进行离散,建立栅格地图,因此规划得到的路线曲率并不连续。针对环境周围存在静态障碍物的场景,上述各种基于搜索的规划方法可以快速找到一个可行的航行轨迹,但劣势是生成的轨迹曲率不连续,后续需要利用其他方法进行平滑性拟合。相比采样和搜索的方法,数值曲线计算简单且易于构造最优目标函数。Chu[12]基于数值离散优化思想,提出以3次多项式作为无人车运动参考线的算法,能够安全有效地避开静态障碍物,但没有考虑多车道场景和动态障碍物。Werling,Ziegler等[13]以5次多项式作为无人车运动参考线,同时采用最优控制的方法进行规划,能够避开静态和低速行驶的障碍物,但无人车行驶时会频繁的转动方向盘。采样数值优化的轨迹规划方法,在建立并求解模型时,通常会面临非线性优化问题,导致计算复杂度太高结果难以满足模型求解实时性要求。
无人船自主航行的2种典型应用场景,一种是在狭窄内河的航道中,航道线通过电子海图通常已给出;另一种是在广袤的海洋中,一些区域需按航道线自主航行,一些区域无航道线可参考。本文针对以上2种有无航道线参考的应用场景,提出一种统一且可实施的规划路径生成方法,作为轨迹规划的指引线。
为了解决轨迹规划问题,特别是为了降低计算的复杂度和提高实时性,将轨迹规划问题分解成轨迹的路线规划和速度规划,首先确定轨迹的路线,也就是轨迹的几何形状,然后在已经得到路线的基础上,计算速度分配。通过顺序计算路线及此路线上的速度,将一个高维度的规划问题,转换成2个低维度规划问题。
然后,基于路径的光滑度、路径与参考线的横向偏移距离、与障碍物的碰撞风险等以构建约束,通过构建和求解优化约束函数实现各种复杂环境中无人船的轨迹规划。
1 指引线生成在轨迹规划中,借助弗莱纳坐标系(Frenet)[13]。在弗莱纳坐标系中,通常计算和使用航道的中心线作为参考线,在此基础上,采用参考线的法线向量
狭窄内河的航道中,通过提取电子海图中的信息,得到航道线,再计算得到航道中心线,可作为弗莱纳坐标系的指引线,也就是轨迹规划的指引线,如图2所示。在广袤的海洋中,可根据无人船自主航行规划的路径点连线作为弗莱纳坐标系的指引线,这样2种典型应用场景下,提出一种统一且可实施的规划路径生成方法,作为轨迹规划的指引线,如图3所示。
无人船轨迹规划的定义如下:
计算得到一个以时间
$ f(t):t \to {s_t} = (x,y,\theta ,\kappa ,v,a),\forall t \in [0,{t_{\max }}] 。$ | (1) |
无人船轨迹规划是一个复杂且困难的问题,首先,轨迹规划需要考虑并加入无人船的状态、时间和速度的信息,增加了轨迹规划的维度。其次,由于无人船自主航线运动学模型是非线性系统,需要满足特殊的运动学约束条件。由无人船运动学模型可知,典型无人船不能独立地横向运动,需要纵向运动的同时才能获得横向运动。无人船自主航线时如何规避障碍物,尤其是高速动态障碍物,也是一个非常困难的问题。规划出的轨迹必须做到平滑,加速度、向心加速度等参数,也必须保持在能够容忍的范围内。另外,为了应对多变的环境,轨迹规划算法需要以短周期高频率运行,这对规划算法的运算效率也提出了严格要求。
在无人船平台中,为了解决轨迹规划问题,特别是为了降低计算的复杂度和提高实时性,将轨迹规划问题分解成轨迹的路线规划和速度规划。首先确定轨迹的路线,也就是轨迹的几何形状,然后在已经得到的路线的基础上,计算速度分配,也就是此路线上各点的速度。使用这种分解策略,通过顺序计算路线及此路线上的速度,将一个高维度的规划问题,转换成2个低维度规划问题:路线规划,在弗莱纳坐标系中,沿着坐标系纵向,路线的累计长度
借助于弗莱纳坐标系,在之前得到的平滑指引线基础上,按照无人船位置,将其投影到指引线上。以投射点为坐标系原地,将地图坐标系下当前无人船的运动状态
沿着坐标轴
对于沿着坐标系s轴方向的每一个离散点
选取和设定优化目标函数。首先,对于沿着坐标系s轴方向的每一个离散点
$ f(l) = {w_l}\sum\limits_{i = 0}^{n - 1} {l_i^2} + {w_{l'}}\sum\limits_{i = 0}^{n - 1} {l'}_i^2 + {w_{l''}}\sum\limits_{i = 0}^{n - 1} {{l''}_i^2} 。$ | (2) |
为了保证路径的连续性,横向距离
$ {l'_i} \approx \frac{{{l_{i + 1}} - {l_i}}}{{\Delta s}},$ | (3) |
$ {l''_i} \approx \frac{{{l_{i + 2}} - 2{l_{i + 1}} + {l_i}}}{{\Delta {s^2}}} 。$ | (4) |
路径规划及优化后的效果如图5所示。
在已知路线上的速度分配需要具有机动灵活性,能够规避周边复杂环境中的静止和移动障碍物。同时速度分配需要满足无人船的动力学的限制条件,包括无人船最大速度、最大加速度、转弯半径等。确保规化出来的轨迹无人船自主航行能够执行。规划出来的速度分配需要满足船舶海上避碰规则的限制,需要在无人船最大速度的限制范围内进行规划。规划的速度分配需要完成在指定时间
在确定了路线的条件下,综合考虑周边环境中动静态障碍物。路径-时间障碍物图非常适合此场景的多障碍物规避问题,其基本思想是:首先通过环境感知模块获得周围障碍物的形状及预测轨迹,然后将各障碍物的轨迹投影到已经确定的无人船路线上,如图6所示。各障碍物代表着在何时
在路线-时间障碍物图的坐标系下,沿着时间轴
搜索结果由多条直线段依序连接而成,不符合无人船自主航行平滑性要求,也不满足运动学约束,需对结果进行优化。首先计算时间戳
$ f(s) = {w_h}\cdot\sum\limits_{i = 0}^{n - 1} {{{({s_i} - s_i^h)}^2}} + {w_s}\cdot\sum\limits_{i = 0}^{n - 1} {({{s''}_i}} {)^2}。$ | (5) |
第1项是为了使优化的结果尽可能贴合原始的搜索结果,另一方面也保证速度优化能够高效快速的收敛到全局最优;第2项是对纵向距离
建立避免碰撞约束关系时,通过对路径-时间障碍物图进行处理,将搜索结果
$ {s_i} \leqslant {s_{i + 1}},{s_{d,i}} \leqslant {s_i} \leqslant {s_{h,i}}(i = 0,1, \cdots ,{N_t} - 1)。$ | (6) |
为了保证速度分配的连续性,
$ {s'_i} \approx \frac{{{s_{i + 1}} - {s_i}}}{{\Delta t}},$ | (7) |
$ {s''_i} \approx \frac{{{{s'}_{i + 1}} - {{s'}_i}}}{{\Delta t}}。$ | (8) |
上述各约束都是线性约束,决策变量
为验证本算法的有效性,在试验中设置若干移动或静止的障碍物,针对静态障碍物和动态障碍物2种典型的场景进行测试。在试验场景下,通过对比
此场景在航道上随机布置多个静止障碍物,要求无人船能同时避让多个障碍物。图8和图9分别为2种不同规划方法生产的避障轨迹和轨迹段上的横向加速度。2种轨迹规划算法得到的轨迹虽然大体一致,但也存在可辨别的差异,
此场景布置无人船与动态目标分别以10 kn的速度相向行驶,图10和图11针对此场景,进行2种不同轨迹规划算法的仿真结果对比,
本文针对2种有无航道线参考的应用场景,提出一种统一且可实施的规划路径生成方法,作为轨迹规划的指引线。为了解决规划问题,特别是为了降低计算的复杂度和提高实时性,将轨迹规划问题分解成轨迹的路线规划和速度规划。然后基于路径的光滑度、路径与参考线的横向偏移距离、与障碍物的碰撞风险等以构建约束,通过构建和求解优化约束函数实现各种复杂场景中无人船的轨迹规划。在2种试验场景下,对比
[1] |
LAVALLE STEVEN M. Motion planning[J]. IEEE Robotics & Automation Magazine, 2011, 18(1): 79. |
[2] |
ZHENG Kaiyu, LIU Shan. RRT based path planning for autonomous parking of vehicle[C] //2018 IEEE 7th Data Driven Control and Learning Systems Conference(DDCLS). [S. l. ]: IEEE, 2018: 627−632.
|
[3] |
周慧子, 胡学敏, 陈龙, 等. 面向自动驾驶的动态路径规划避障算法[J]. 计算机应用, 2017(3): 883-888. DOI:10.11772/j.issn.1001-9081.2017.03.883 |
[4] |
FERGUSON D, HOWARD T M, LIKHACHEV M. Motion planning in urban environments[J]. Journal of Field Robotics, 2010, 25(11/12): 939. |
[5] |
彭晓燕, 谢浩, 黄晶. 无人驾驶汽车局部路径规划算法研究[J]. 汽车工程, 2020, 42(1): 1-10. |
[6] |
WAGNER G, CHOSET H. M*: a complete multirobot path planning algorithm with performance bounds[C] //Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ International Conference on. [S. l. ]: IEEE, 2011: 3260−3267.
|
[7] |
安林芳, 陈涛, 成艾国, 等. 基于人工势场算法的智能车辆路径规划仿真[J]. 汽车工程, 2017, 39(12): 1451-1456. |
[8] |
NASH A, DANIEL K, KOENING S, et al. Theta*: any-angle path planning on grids [C] //AAAI. Vancouver: [s. n. ], 2007: 1177−1183.
|
[9] |
余卓平, 李奕姗, 熊璐. 无人车运动规划算法综述[J]. 同济大学学报(自然科学版), 2017, 45(8): 1150-1159. DOI:10.11908/j.issn.0253-374x.2017.08.008 |
[10] |
DUBINS L E. On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents[J]. American Journal of Mathematics, 1957, 79(3): 497. DOI:10.2307/2372560 |
[11] |
陈成, 何玉庆, 卜春光, 等. 基于四阶贝塞尔曲线的无人车可行轨迹规划[J]. 自动化学报, 2015, 41(3): 486-496. |
[12] |
CHU K, LEE M, SUNWOO M. Local path planning for off-road autonomous driving with avoidance of static obstacles[ J]. IEEE Transactions on Intelligent Transportation Systems, 2012, 13(4) : 1599−1616.
|
[13] |
WERLING M, ZIEGLER J, KAMMEL S, et al. Optimal trajectory generation for dynamic street scenarios in a Frenét frame[C]// IEEE International Conference on Robotics and Automation. Anchorage: IEEE, 2010: 987−993.
|