文章信息
- 汪栋, 张杰, 金久才, 毛兴鹏. 2018.
- WANG Dong, ZHANG Jie, JIN Jiu-cai, MAO Xing-peng. 2018.
- 一种基于有限状态机模型的局部转向避碰路径规划算法
- Local steering collision avoidance path planning algorithm based on finite state machine model
- 海洋科学, 42(1): 119-127
- Marine Sciences, 42(1): 119-127.
- http://dx.doi.org/10.11759/hykx20171011010
-
文章历史
- 收稿日期:2017-10-11
- 修回日期:2017-12-22
2. 国家海洋局第一海洋研究所, 山东 青岛 266061
2. First Institute of Oceanography, State Oceanic Administration, Qingdao 266061, China
无人船(unmanned surface vehicle, USV)作为一种海上无人移动平台, 其小体积、大负载、高机动和低成本的优势, 使得其可以在无人侦察、环境监测、水深绘图、海洋学研究等一系列海洋任务中发挥重要的作用。随着传感器、电子集成、计算机等相关技术的发展, 近十几年来无人船受到了越来越多的关注[1-4]。然而, 当前无人船的自主化水平无法满足绝大部分的应用需求, 严重制约了无人船的应用和发展[1]。
避碰路径规划是无人船导航、制导与控制(navigation, guidance and control, NGC)系统的重要部分。根据障碍物信息是否已知, 路径规划一般包括全局路径规划和局部路径规划。作为无人船研究的核心问题之一, 路径规划一定程度上代表了无人船自主化水平的程度, 尤其是在未知海洋环境下的局部避碰路径规划能力。在无人船局部路径规划方面, Soltan等[5]提出了一种结合轨迹规划和实时跟踪控制的方法。耿以才等[6]针对Dijkstra算法缺点, 结合无人船航行环境, 提出了一个动态网络环境下的实时路径模型, 并构造Dijkstra双桶算法, 设计实现了无人船实时最短路径算法。Tang等[7]则提出了一种包含方向稳态模型和平动速度模型的局部反射避碰算法用于高速无人船。
速度障碍(velocity obstacles, VO)方法最初是一种用于机器人路径规划的方法, Fiorini和Shiller[8]介绍了该算法的基本理论, 该方法及其扩展方法, 如概率速度障碍法[9], 归一化速度障碍法[10]等被广泛应用于机器人局部避碰路径规划应用, 在无人船局部路径规划方面也同样存在很多相应的研究和应用。例如, Kuwata等[11]考虑COLREGs规则提出了基于速度障碍法的自主运动规划算法。Larson等[12]利用速度障碍法确定安全的速度范围用于运动障碍物的避碰。这类算法通常同时改变无人船的航速和航向, 然而, 在某些特定的应用场合, 如环境监测、海底地形测绘等, 可能希望无人船保持一个稳定的航速, 一方面可使无人船推进系统在稳定经济航速下提高续航能力, 另一方面可以得到更稳定的测量数据。此时可通过转向控制实现无人船的避碰, 在绝大多数情况下基本都可以实现。
全局路径规划通常以关键位点构成规划路径进行导航, 为使得局部避碰路径规划可以更有效地与全局路径规划兼容, 提出基于位点导航的算法。有限状态机(finite-state machine, FSM)是一种表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型, 具有离散、有限的特征, 在硬件电路设计和软件工程中广泛应用。将该思想应用于导航算法设计, 可使算法更易于理解、维护和后期扩展。因此, 本文基于FSM模型提出了一种以位点导航为主要状态的局部转向避碰路径规划算法, 并利用仿真实验进行了验证。
1 环境模型及危险评估模型路径规划的主要任务是在有障碍物的环境内, 按照一定的评价标准, 寻找一条从起始状态到达目标状态的无碰撞路径[13]。无人船局部路径规划基于环境模型实现, 不同的算法通常需要选择合适的环境模型。
1.1 环境模型构建 1.1.1 坐标系组本文中建立了一组坐标系用于环境模型构建, 包括绝对坐标系OXY, 相对坐标系oxy以及极坐标系ox。OXY选择测地学直角坐标系, X和Y轴正方向分别为正北和正东向; oxy以实时无人船中心
障碍物探测系统是无人船避碰系统的重要组成部分, 目前复杂海洋环境下准确的障碍物探测仍是无人船避碰技术的一大难点, 但随着传感器及相关探测技术的发展, 无人船障碍物探测能力也在不断提高。本文假设基于多传感器融合探测技术可以探测得到满足精度需求的障碍物特征, 包括障碍物相对无人船的运动速度和方向, 相对方位角β, 有效探测视角φ, 相对距离DLOS等参数, 如图 1所示。此时可将障碍物近似等效为圆形障碍物, 其半径RObs为
$ {R_{{\text{Obs}}}} = {D_{{\text{LOS}}}}\sin \left( {\frac{\varphi }{2}} \right)/\left( {1-\sin \left( {\frac{\varphi }{2}} \right)} \right) $ | (1) |
若障碍物比较“狭长”, 则将其等效成多个相连或重叠的圆形障碍物。具体的障碍物探测技术实现不在本文讨论范围内。
1.1.3 速度变量不同坐标系下, 速度变量的速度值相等, 方向值不完全一致。设oxy下无人船、障碍物及两者相互运动的速度变量分别记为
任意Tn采样时刻, 无人船航速νU和航向ψ可通过导航系统和电子罗盘获取, 相对运动速度νUO和方向θUO基于障碍物探测系统获取。由于
$ {\upsilon _{\text{O}}} = \sqrt {\upsilon _{\text{U}}^2 + \upsilon _{{\text{UO}}}^2 - 2{\upsilon _{\text{U}}}{\upsilon _{{\text{UO}}}}\cos {\theta _{{\text{UO}}}}} $ | (2) |
$ {\theta _{\text{O}}} = {F_{\text{atan} }}\left( {\text{Re} \left( {{\boldsymbol{V}_\text{O}}} \right), \text{Im} \left( {{\boldsymbol{V}_\text{O}}} \right)} \right) $ | (3) |
式中, 函数
通过危险评估对一个可能发生的碰撞进行及时地警告可以帮助无人船进行更有效的避碰操作。基于相关研究成果[14-15]并考虑无人船系统受到的干扰, 本文提出了一个简单的危险评估模型。如图 2所示, 该模型利用障碍物边界BO, 禁止边界BP, 警告边界BW和安全边界BS共四个边界(均可用Bx或By边界表示)将障碍物周边划分为障碍区域SO, 禁止区域SP, 警告区域SW, 安全区域SS和无碰区域SNoC。假设无人船和障碍物运动保持不变, 则可利用最近点(closest point of approach, CPA)方法确定无人船和障碍物之间的最近点。若CPA位于SP内, 无人船会驶入SP, 无人船几乎无法避免碰撞; 相似地, 若CPA位于SW内, 无人船极易与障碍物发生碰撞, 但通过避碰操作基本可以避免碰撞; 若CPA位于SS内, 无人船基本不会与障碍物发生碰撞, 但需要实时关注; 若CPA位于SNoC内, 无人船可以确保航行安全。
设Bx和By边界半径分别为Rx和Ry, 半径差
$ \Delta {\beta _x} = {\sin ^{-1}}\left( {\frac{{{R_x}}}{{{D_{{\rm{UO}}}}}}} \right), {R_x} < {D_{{\rm{UO}}}} $ | (4) |
其中,
$ {\phi _x} = \left\{ {\left. {\left( {{\beta _{{\rm{L, }}x}}, {\beta _{{\rm{R, }}x}}} \right)} \right|{\beta _{{\rm{L, }}x}} = \beta-\Delta {\beta _x}, {\beta _{{\rm{R, }}x}} = \beta + \Delta {\beta _x}} \right\} $ | (5) |
满足
设Tn时刻无人船与障碍物存在相对运动, 保持oxy不变并将无人船航向转向
$ {\mathit{\Psi} _{{\rm{N, }}x}} = \left\{ {\left. {{\theta _{{\rm{U\_}}\Delta \theta }}} \right|{\theta _{{\rm{U\_}}\Delta \theta }} = \Delta \theta {\rm{, }}{\theta _{{\rm{UO\_}}\Delta \theta }} \in {\phi _x}} \right\} $ | (6) |
$ {\mathit{\Psi} _{{\text{A}}, x}} = {\complement _U}{\mathit{\Psi} _{{\text{N}}, x}} $ | (7) |
在OXY下可航行角和不可航行角区间分别记为
$ {\mathit{\Psi} _{{\rm{abs, N, }}x}} = \left\{ {\left. {{\theta _{{\rm{abs, U\_}}\Delta \theta }}} \right|{\theta _{{\rm{abs, U\_}}\Delta \theta }} = {F_{{\rm{TriC}}}}({\theta _{{\rm{U\_}}\Delta \theta }} + \psi ), {\theta _{{\rm{U\_}}\Delta \theta }} \in {\mathit{\Psi} _{{\rm{N, }}x}}} \right\} $ | (8) |
$ {\mathit{\Psi} _{{\rm{abs, A, }}x}} = {\complement _U}{\mathit{\Psi} _{{\rm{abs, N, }}x}} $ | (9) |
同样保持
$ {\theta _{{\rm{UO\_}}\Delta \theta }} = {F_{\text{atan}}}\left( {\operatorname{Re} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right), \operatorname{Im} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right)} \right) $ | (10) |
记
$ \sin (\Delta \theta - {\theta _{{\rm{UO\_}}\Delta \theta }}) = \delta \sin ({\theta _{\rm{O}}} - {\theta _{{\rm{UO\_}}\Delta \theta }}) $ | (11) |
随着
记
$ {F_{\Delta {\theta _{{\rm{e}}, 1}}}}(\theta, \varsigma ) = \theta + {\sin ^{ - 1}}\varsigma $ | (12) |
$ {F_{\Delta {\theta _{{\rm{e}}, 2}}}}(\theta, \varsigma ) = \left\{ {\begin{array}{*{20}{l}} {\theta - {{\sin }^{ - 1}}\varsigma + \pi {\rm{, }}\varsigma \geqslant 0} \\ {\theta - {{\sin }^{ - 1}}\varsigma - \pi {\rm{, }}\varsigma < 0} \end{array}} \right. $ | (13) |
对于Bx边界, 若给定
$ \Delta {\theta _{{\text{e, }}{{\text{L}}_i}, x}} = {F_{\Delta {\theta _{{\text{e}}, i}}}}({\beta _{{\text{L}}, x}}, {\varsigma _{{\text{L, }}x}}), {\text{ }}i = 1{\text{ }}或{\text{ 2}} $ | (14) |
$ \Delta {\theta _{{{\text{L}}_i}, x}} = {F_{{\text{TriC}}}}(\Delta {\theta _{{\text{e, }}{{\text{L}}_i}, x}}), {\text{ }}i = 1{\text{ }}或{\text{ 2}} $ | (15) |
同样, 给定
$ \Delta {\theta _{{\text{e, }}{{\text{R}}_i}, x}} = {F_{\Delta {\theta _{{\text{e}}, i}}}}({\beta _{{\text{R}}, x}}, {\varsigma _{{\text{R, }}x}}), {\text{ }}i = 1{\text{ }}或{\text{ 2}} $ | (16) |
$ \Delta {\theta _{{{\text{R}}_i}, x}} = {F_{{\text{TriC}}}}(\Delta {\theta _{{\text{e, }}{{\text{R}}_i}, x}}), {\text{ }}i = 1{\text{ }}或{\text{ 2}} $ | (17) |
基于上述变量, 不考虑无人船后侧障碍物, 可得6大类情形的分类条件及结果如下:
(1) 对于情形一, 分类条件为
$ \delta \leqslant 1 $ | (18) |
分别计算
$ {\theta _{{\text{t1}}}} = {\left. {{F_{\text{atan}}}\left( {\operatorname{Re} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right), \operatorname{Im} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right)} \right)} \right|_{\Delta \theta = \frac{{{\kappa _1} + {\kappa _2}}}{2}}} $ | (19) |
则不可航行角区间
$ {\mathit{\Psi} _{{\text{N}}, x}} = \left\{ {\begin{array}{*{20}{l}} {\left\{ {\left. \theta \right|\theta \in \left( {{\kappa _1}, {\kappa _2}} \right)} \right\}\;\;\;\;\;\;\;\;\;\;, {\text{ }}{\theta _{{\text{t1}}}} \in {\phi _x}} \\ {\left\{ {\left. \theta \right|\theta \in \left( {-{\pi}, {\kappa _1}} \right) \cup \left( {\left. {{\kappa _2}, {\pi}} \right]} \right.} \right\}, {\text{ 其他}}} \end{array}} \right. $ | (20) |
(2) 对于情形二和情形三, 基础条件为
$ \delta > 1, \left| {{\varsigma _{{\rm{L, }}x}}} \right| \geqslant 1, \left| {{\varsigma _{{\rm{R, }}x}}} \right| \geqslant 1 $ | (21) |
为进一步区分两者, 记临时变量
$ {\theta _{{\rm{t2}}}} = {\left. {{F_{\text{atan}}}\left( {\operatorname{Re} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right), \operatorname{Im} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right)} \right)} \right|_{\Delta \theta = \frac{{\rm{ \mathsf{ π} }}}{2}}} $ | (22) |
若进一步满足条件
$ \min \left( {{\theta _{{\text{UO}}}}, {\theta _{{\text{t2}}}}} \right) < {\beta _{{\text{L}}, x}}{\text{ }}{\text{ }}或\max \left( {{\theta _{{\text{UO}}}}{\text{, }}{\theta _{{\text{t2}}}}} \right) > {\beta _{{\text{R}}, x}} $ | (23) |
则此时为情形二,
$ {\mathit{\Psi} _{{\rm{N, }}x}} = \emptyset $ | (24) |
否则为情形三,
$ {\mathit{\Psi} _{{\rm{N, }}x}} = U $ | (25) |
(3) 对于情形四, 分类条件为
$ \delta > 1, \left| {{\varsigma _{{\rm{L, }}x}}} \right| < 1, \left| {{\varsigma _{{\rm{R, }}x}}} \right| \geqslant 1 $ | (26) |
计算
$ {\mathit{\Psi} _{{\text{N}}, x}} = \left\{ {\begin{array}{*{20}{l}} {\left\{ {\left. \theta \right|\theta \in \left( {{\kappa _1}, {\kappa _2}} \right)} \right\}\;\;\;\;\;\;\;\;\;\;, {\text{ }}{\theta _{{\text{t1}}}} \in {\phi _x}} \\ {\left\{ {\left. \theta \right|\theta \in \left( {-{\pi}, {\kappa _1}} \right) \cup \left( {\left. {{\kappa _2}, {\pi}} \right]} \right.} \right\}, {\text{其他}}} \end{array}} \right. $ | (27) |
(4) 对于情形五, 分类条件为
$ \delta > 1, \left| {{\varsigma _{{\rm{L, }}x}}} \right| \geqslant 1, \left| {{\varsigma _{{\rm{R, }}x}}} \right| < 1 $ | (28) |
计算
(5) 对于情形六, 分类条件为
$ \delta > 1, \left| {{\varsigma _{{\rm{L, }}x}}} \right| < 1, \left| {{\varsigma _{{\rm{R, }}x}}} \right| < 1 $ | (29) |
计算
$ {\theta _{{\rm{t3}}}} = {\left. {{F_{\text{atan}}}\left( {\operatorname{Re} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right), \operatorname{Im} \left( {{\boldsymbol{V}_{\text{UO}\_\Delta \theta }}} \right)} \right)} \right|_{\Delta \theta = \frac{{{\kappa _2} + {\kappa _3}}}{2}}} $ | (30) |
此时
$ {\mathit{\Psi} _{{\text{N, }}x}} = \left\{ {\begin{array}{*{20}{l}} {\left\{ {\left. \theta \right|\theta \in \left( {-{\pi}, {\kappa _1}} \right) \cup \left( {{\kappa _2}, {\kappa _3}} \right) \cup \left( {\left. {{\kappa _4}, {\pi}} \right]} \right.} \right\}, {\theta _{{\text{t3}}}} \in {\phi _x}} \\ {\left\{ {\left. \theta \right|\theta \in \left( {{\kappa _1}, {\kappa _2}} \right) \cup \left( {{\kappa _3}, {\kappa _4}} \right)} \right\}\;\;\;\;\;\;\;\;\;\;\;\;\;, 其他} \end{array}} \right. $ | (31) |
当存在多个障碍物时, 记等效障碍物数量为N, 第i个障碍物对应的可航行角和不可航行角区间分别为
$ {\mathit{\Psi} _{{\rm{N}}, x}} = \left\{ {\theta \left| {\theta \in \bigcup\limits_{i = 1}^N {\mathit{\Psi} _{{\rm{N}}, x}^i} } \right.} \right\} $ | (32) |
相应的可航行区间
位点导航是当前无人船导航控制中最成熟的技术之一。将位点导航模型结合到局部避碰路径规划可有效简化无人船控制跟踪器的设计, 提高无人船的实用性。
2.2.1 最优导航角在
$ {F_{\text{opt}}}\left( \theta \right) = {\omega _1}{f_{\rm{G}}}\left( \theta \right) + {\omega _2}{f_{{\rm{safe}}}}\left( \theta \right) $ | (33) |
式中,
$ {f_{\rm{G}}}\left( \theta \right) = 1 - \frac{{\left| {{\theta _{\rm{G}}} - \theta } \right|}}{\pi } $ | (34) |
$ {f_{{\rm{safe}}}}\left( \theta \right) = \frac{1}{{N'}}\sum\limits_{j = 1}^{N'} {\frac{{\left| {\theta - \theta _{{\mathit{\Psi} _{{\rm{N}}, x}}}^j} \right|}}{\pi }} $ | (35) |
式中,
在约束条件下最大化
任务开始后建立OXY, 并设OXY下目标位点PG的坐标为
$ {\theta _{{\rm{abs, G}}}} = {F_{{\rm{atan}}}}\left( {{x_{{\rm{abs, }}{P_{\rm{G}}}}} - {x_{{\rm{abs, }}\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{C} }}, {y_{{\rm{abs, }}{P_{\rm{G}}}}} - {y_{{\rm{abs, }}\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{C} }}} \right) $ | (36) |
在oxy下的实时目标位点期望角
$ {\theta _{\rm{G}}} = {F_{{\rm{TriC}}}}\left( {{\theta _{{\rm{abs, G}}}} - \psi } \right) $ | (37) |
当无人船无法直接向PG点导航时, 由于
$ \left\{ {\begin{array}{*{20}{l}} {{x_{{\rm{abs, }}{{\rm{P}}_{{\rm{t}}, i}}}} = x_{{\rm{abs, }}\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{C} }^{{T_n}} + D_{{{\rm{P}}_{{\rm{t}}, i}}}^{{T_n}}\cos \left( {\theta _{{\rm{opt}}}^{{T_n}} + {\theta _{{\rm{abs, U}}}}} \right)} \\ {{y_{{\rm{abs, }}{{\rm{P}}_{{\rm{t}}, i}}}} = y_{{\rm{abs, }}\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{C} }^{{T_n}} + D_{{{\rm{P}}_{{\rm{t}}, i}}}^{{T_n}}\sin \left( {\theta _{{\rm{opt}}}^{{T_n}} + {\theta _{{\rm{abs, U}}}}} \right)} \end{array}} \right. $ | (38) |
相似地, 可以计算OXY和oxy下的实时缓冲位点期望角
本文中设计的FSM包含现态、条件、动作和次态4个要素。现态即指当前所处状态, 如位点导航状态; 条件用于判定下一周期迁移的状态, 包括同一状态的自迁移或迁移到新的状态; 动作主要指相关的导航操作, 非必需; 次态相对现态而言, 即为下一状态, 可能为原状态或新状态, 一旦被激活就转为现态。当确定有限的状态以及执行动作和条件后, FSM从初始状态开始执行动作, 并根据条件不断进行状态迁移直至进入最终态。FSM虽然为有限状态, 但只要未进入最终状态即可一直执行。该思想与无人船局部避碰导航过程非常契合。
2.3.2 基本导航策略根据无人船自身运动状态、障碍物分布和运动情况等, 提出适用于无人船局部避碰的基本导航策略。
记到达位点的距离阈值为DTh, 无人船航向与目标位点期望角所组成的角度区间为
$ {\mathit{\Psi} _{\rm{G}}} = \left\{ {\begin{array}{*{20}{l}} {\left[{0, {\theta _{\rm{G}}}} \right], {\theta _{\rm{G}}} \geqslant 0} \\ {\left[{{\theta _{\rm{G}}}, 0} \right], {\theta _{\rm{G}}} < 0} \end{array}} \right. $ | (39) |
实时θopt与θG或θN的角度偏差阈值为θTh, θopt和θN与θG的角度偏差分别为Δθopt-G和ΔθN-G。基本导航策略如下:
(1) 当
(2) 若
(3) 无人船向
(4) 无人船向
(5) 无人船向
(6) 保持导航位点不变。
2.3.3 局部避碰路径规划FSM设计分析提出的基本策略易知导航状态及其动作主要包括: (1)
基础条件 | 数学描述 |
CB1 | |
CB2 | |
CB3 | |
CB4 | |
CB5 |
条件 | 数学描述(N选1) |
无。直接触发 | |
(1) |
|
(1) |
|
(1) |
|
(1) |
|
(1) |
|
(1) |
|
(2) |
|
(3) |
|
(1) |
|
无。直接触发 | |
无。直接触发 |
表 2中, 对于任意
针对提出的局部转向避碰算法, 基于Matlab进行了仿真验证。主要仿真条件如下:起始位点坐标为(0 m, 0 m), 目标位点坐标为(950 m, 930 m), 无人船航速6 m/s, 初始航向15°, 尺寸8 m; 等效静态障碍物在[50 m, 950 m]中心位置和[5 m, 55 m]有效半径范围内随机生成, 数量为8个; 等效动态障碍物在[4 m, 29 m]有效半径和[1 m/s, 10 m/s]运动速度范围内随机生成, 数量为3个。障碍物探测半径基准为300 m, 针对不同的障碍物设置40 m的随机波动。危险评估模型半径差
在图 6中, T1时刻无人船开始导航, 由于没有探测到障碍物, 直接向目标位点导航, 轨迹点为青色。图中同心圆表示静态障碍物, 分别标号Os1— Os8, 红色和黄色圆分别表示BW和BS边界。随着无人船的航行, T2时刻探测到从东南向西北方向运动的障碍物Od1, 由于可能发生碰撞, 增加缓冲位点Pt, k1, 无人船向Pt, k1导航, 轨迹点为蓝色, 最后无人船从Od1后方驶过, 如图 6中T3时刻子图所示。此时无人船仍未探测到其他障碍物, 继续向目标位点导航, 直到部分静态障碍物进入探测范围, 障碍物BS边界设置为绿色, 设置缓冲位点Pt, k2, 无人船向Pt, k2导航, 如图 6中T4时刻子图所示。无人船继续航行, 在T5时刻探测到从西北向东南方向运动的障碍物Od2, 继续更新缓冲位点Pt, k3, 无人船从Od2后方驶过, 如图 6中T6时刻子图所示。此后, 无人船探测到东南向西北方向运动的障碍物Od3, 此时无人船导航主要受静态障碍物影响, 更新缓冲位点Pt, k4, 无人船从Od3前方驶过, 如图 6中T7时刻子图所示。最后, 无人船绕过静态障碍物后对目标位点“可视”, 直接向目标位点导航, 直至到达目标位点, 如图 6中T8时刻子图所示。仿真结果表明了所提出方法的有效性。
4 讨论与结论针对近海多礁石、渔船等障碍物的复杂环境下的环境监测等应用, 本文提出一种基于有限状态机模型的局部转向避碰路径规划算法。考虑经济航速下的续航能力及测量数据的稳定性在某些特定应用的需求, 本算法以转向控制为主, 通过划分以向目标位点或缓冲位点导航为主的有限状态设计FSM, 一方面将局部路径规划与以位点序列组成的全局路径无缝结合, 另一方面算法包含FSM易于理解、维护和扩展的优点。仿真结果表明所提出的方法具有可行性和实用性。
同样, 本算法也存在不足及改进的空间。例如, 最优导航角θopt的结果主要由目标位点PG方向上的障碍物所决定, 特别当无人船和障碍物中心与PG近似处于一条直线时, 导航过程中无人船航向的扰动可能导致θopt关于障碍物左右两侧振荡; 本算法部分参数通过经验确定, 虽然通过参数设置可提高避碰安全性, 但通常无法保证全局最优。基于大量实际航行数据的分析可对参数进行优化; 当某个区域障碍物较密集时, 可能会出现较大转向的路径, 出现“绕远路”的情况, 若引入转向时机机制则可在一定程度上解决该问题。另外, 对算法进行国际海上避碰规则的约束也可以进一步提高安全性。
[1] |
Campbell S, Naeem W, Irwin G W. A review on improving the autonomy of unmanned surface vehicles through intelligent collision avoidance manoeuvres[J]. Annual Reviews in Control, 2012, 36(2): 267-283. DOI:10.1016/j.arcontrol.2012.09.008 |
[2] |
Yan R J, Pang S, Sun H B, et al. Development and missions of unmanned surface vehicle[J]. Journal of Marine Science & Application, 2010, 9(4): 451-457. |
[3] |
柳晨光, 初秀民, 吴青, 等. USV发展现状及展望[J]. 中国造船, 2014, 55(4): 194-205. Liu Chenguang, Chu Xiumin, Wu Qing, et al. A review and prospect of USV research[J]. Shipbuliding of China, 2014, 55(4): 194-205. |
[4] |
Liu Z, Zhang Y, Yu X, et al. Unmanned surface vehicles: an overview of developments and challenges[J]. Annual Reviews in Control, 2016, 41: 71-93. DOI:10.1016/j.arcontrol.2016.04.018 |
[5] |
Soltan R A, Ashrafiuon H, Muske K R. Trajectory real-time obstacle avoidance for underactuated unmanned surface vessels[C] // American Society of Mechanical Engineers. Proceedings of ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference. San Diego: American Society of Mechanical Engineers, 2009: 1059-1067.
|
[6] |
耿以才, 黄立新, 陈凌珊, 等. 无人船安全目标追踪与自动避障算法[J]. 计算机测量与控制, 2015, 23(7): 2467-2469. Geng Yicai, Huang Lixin, Chen Lingshan, et al. Safe target-tracking algorithm with obstacle avoidance for unmanned ship[J]. Computer Measurement & Control, 2015, 23(7): 2467-2469. |
[7] |
Tang P, Zhang R, Liu D, et al. Local reactive obstacle avoidance approach for high-speed unmanned surface vehicle[J]. Ocean Engineering, 2015, 106: 128-140. DOI:10.1016/j.oceaneng.2015.06.055 |
[8] |
Fiorini P, Shiller Z. Motion planning in dynamic environments using velocity obstacles[J]. International Journal of Robotics Research, 1998, 17(7): 760-772. DOI:10.1177/027836499801700706 |
[9] |
Kluge B, Prassler E. Reflective navigation: individual behaviors and group behaviors[C]//IEEE. Proceedings of the 2004 IEEE International Conference on Robotics and Automation. New Orlwans: IEEE. 2004: 4172-4177. https://ieeexplore.ieee.org/document/1308926/
|
[10] |
Wilkie D, Berg J V D, Manocha D. Generalized velocity obstacles[C]// IEEE. IEEE/RSJ International Conference on Intelligent Robots and Systems. St. Louis: IEEE, 2009: 5573-5578.
|
[11] |
Kuwata Y, Wolf M T, Zarzhitsky D, et al. Safe maritime autonomous navigation with colregs, using velocity obstacles[J]. IEEE Journal of Oceanic Engineering, 2011, 39(1): 110-119. |
[12] |
Larson J, Bruch M, Ebken J. Autonomous navigation and obstacle avoidance for unmanned surface vehicles[J]. Proceedings of SPIE - The International Society for Optical Engineering, 2006, 6230: 623007-1-623007-12. |
[13] |
蒋新松. 机器人学导论[M]. 沈阳: 辽宁科学技术出版社, 1994: 511-516. Jiang Xinsong. Robotics Introduction[M]. Shenyang: Liaoning Science and Technology Publishing, 1994: 511-516. |
[14] |
Szlapczynski R. On evolutionary computing in multi- ship trajectory planning[J]. Applied Intelligence, 2012, 37(2): 155-174. DOI:10.1007/s10489-011-0319-7 |
[15] |
Almeida C, Franco T, Ferreira H, et al. Radar based collision detection developments on USV ROAZ Ⅱ[C]// IEEE. Oceans'09 IEEE Bremen. Bremen: IEEE, 2009: 1-6.
|
[16] |
Wang D, Zhang J, Jin J, et al. A steering occasion strategy for local collision avoidance of an unmanned surface vehicle in a complex environment[C]// IEEE. 2017 Chinese Control Conference Proceedings of the 36th CCC. Dalian: IEEE, 2017: 6133-6138.
|
[17] |
Fox D, Burgard W, Thrun S. The dynamic window approach to collision avoidance[J]. IEEE Robotics & Automation Magazine, 2002, 4(1): 23-33. |