2. 上海交通大学 海洋智能装备与系统教育部重点实验室,上海 200240;
3. 上海交通大学 深圳研究院,广东 深圳 518000
2. Key Laboratory of Marine Intelligent Equipment and Systems, Ministry of Education, Shanghai Jiao Tong University, Shanghai 200240, China;
3. Shenzhen Institute, Shanghai Jiao Tong University, Shenzhen 518000, China
随着传感器技术和机器学习算法的飞速发展,无人艇被广泛应用于多个海洋关键领域,如资源勘探、自主搜索与救援、环境信息监测等。无人艇以其强大的自主作业能力和高效的任务执行效率,成为了现代海洋探索和资源开发的重要工具[1]。其中,路径跟踪方法作为其关键技术之一,扮演着至关重要的角色[2]。无论是在开阔的海域,还是在复杂的近岸水域,无人艇都能依据路径跟踪算法提供的精确指导,保持稳定的航向和速度,确保各项任务能够准确无误地完成[3]。
无人艇路径跟踪算法是一种通过计算当前位置与目标路径之间的偏差,动态调整路径跟踪策略,以提高路径跟踪的准确性和稳定性。无人艇路径跟踪问题的关键是如何对目标轨迹采用优化算法,制定出更有效的路径规划策略以供控制器使用[4]。为了解决这些不确定性问题,许多研究提出了不同的方法。滑模控制方案的研究中,控制策略主要是将固定时间与滑膜理论相结合。这种基于输出反馈的方法通常在直线路径跟踪问题上取得较好效果,而在较复杂路径下跟踪效果并不理想[5]。Zhao等[6]在连续折线跟踪场景下,提出一种不确定环境下无人艇的折线跟踪算法,但其收敛速度均有较大的提升空间。
随着信息技术的快速发展,深度学习方法正在逐步增强无人艇路径追踪研究对模型不确定性的适应。近年来,许多强化学习算法正在逐渐取代传统的方法,例如深度确定性策略梯度算法等策略优化学习算法也被应用到无人艇路径跟踪研究中[7],Zhong等[8]也证明通过构造新的状态空间和奖励函数,能够提高无人艇跟踪的有效性和稳定性。尽管强化学习方法在无人艇路径跟踪问题上具有较好的性能,可以通过学习来解决无人艇模型的不确定性。但在训练过程中,特别是在训练初期,仍然存在较大误差的问题。同时,无人艇运动学模型的训练成本高、建模不准确等问题仍然阻碍着强化学习方法的发展。
在无人艇路径跟踪中,贝叶斯平滑器(Bayesian Smoothing,BS)主要用于去除传感器噪声,还原真实轨迹数据。例如,通过卡尔曼滤波和平滑器对传感器探测到的数据进行预处理,可以过滤掉无关数据,得到更加准确的位置信息。Mousazadeh等[9]开发了一种基于扩展卡尔曼滤波、搜索球和势流场概念的融合算法。但该研究一般不考虑模型的附加约束问题,采集输入是完整状态,不考虑测量误差。卡尔曼滤波的优势在于能够通过递归更新,结合噪声和不确定性信息,对动态系统的状态进行实时、精准估计。何静[10]利用卡尔曼滤波技术,结合适当的运动模型和状态方程,对船舶轨迹进行动态建模,通过估计与实际观测的偏差有效实现异常轨迹的检测。虽然贝叶斯平滑器能够处理去除传感器数据中的噪声和异常值,但会引入一定的相位失真,影响数据的准确性。
因此,本文结合贝叶斯平滑器与优化方法的优势,提出了一种基于贝叶斯平滑-交替方向乘子法(Bayesian Smoothing-Alternating Direction Method of Multipliers, BS-ADMM)的无人艇路径跟踪方法。该方法基于无人艇的三自由度运动学和动力学模型,构建了无人艇路径跟踪的状态空间模型,定义相应的等式和不等式约束函数,以适应多样化的无人艇任务需求。通过将无人艇路径跟踪问题建模为一类非线性约束下的优化问题,利用提出的BS-ADMM方法进行求解,最终实现高效、精确的无人艇路径跟踪。
1 无人艇状态空间方程建模 1.1 无人艇三自由度运动方程无人艇运动的数学方程建模过程可以从运动学和动力学两方面来考虑。为了描述无人艇运动情况,可选取2种右手直角坐标系:惯性坐标系(或地球坐标系)和运动坐标系(或随体坐标系)。地球坐标系的原点位于地心,x坐标轴选为向东为正,
|
图 1 无人艇三自由度平面运动示意图 Fig. 1 Schematic diagram of USV three-degree-of-freedom plane motion |
当无人艇受到外力扰动时,可能伴随着纵摇、横摇和升沉方向上的运动。大多数无人艇在力的作用下,这些方向上的运动较小,因此为了简便运算,通常忽略不计。在无人艇运动建模中,只考虑如表1所示的纵荡、横荡和艏摇3个自由度,其中在各个自由度上的位置矢量和速度矢量命名规则遵循美国造船工程师学会。
|
|
表 1 SNAME自由度符号 Tab.1 SNAME semi-code |
在建立运动方程中,通常假设无人艇质量分布均匀且关于
| $ \left\{ {\begin{aligned} &\boldsymbol{\dot{\eta}=J}\left(\boldsymbol{\eta}\right)\boldsymbol{\nu},\\ &\boldsymbol{M\dot{\nu}=-C(\nu)\nu-(D+}\boldsymbol{D}_{\boldsymbol{n}}\boldsymbol{(\nu))\nu+\tau+}\boldsymbol{\tau}_{\boldsymbol{E}}。\end{aligned}} \right. $ | (1) |
式中:
具体来说,各矩阵定义如下[12]:
| $ \left\{ {\begin{aligned} { \begin{gathered} {\boldsymbol{J(\eta )}} = \left( {\begin{array}{*{20}{c}} {\cos \phi }&{ - \sin \phi }&0 ,\\ {\sin \phi }&{\cos \phi }&0 ,\\ 0&0&1 \end{array}} \right), \\ {\boldsymbol{M}} = \left( {\begin{array}{*{20}{c}} {m - X\dot u}&0&0 \\ 0&{m - Y\dot v}&{m{x_g} - Y\dot v} \\ 0&{m{x_g} - Y\dot r}&{{I_z} - N\dot r} \end{array}} \right) ,\\ {\boldsymbol{C(\nu )}} = \left( {\begin{array}{*{20}{c}} 0 & 0 & { - m({x_g}r + v) + Y\dot vv + Y\dot rr} \\ 0 & 0 & {mu - X\dot uu} \\ {m({x_g}r + v) - Y\dot vv - Y\dot rr} & { - mu + X\dot uu} & 0 \end{array}} \right),\\ {\boldsymbol{D}} = - \left( {\begin{array}{*{20}{c}} {{X_u}}&0&0 \\ 0&{{Y_v}}&{{Y_r}} \\ 0&{{N_V}}&{{N_r}} \end{array}} \right), \\ {{\boldsymbol{D}}_{\boldsymbol{n}}}{\boldsymbol{(\nu )}} = - \left( {\begin{array}{*{20}{c}} {{X_{\left| u \right|u}}\left| u \right|}&0&0 \\ 0&{{Y_{\left| v \right|v}}\left| v \right| + {Y_{\left| v \right|r}}\left| r \right|}&{{Y_{\left| v \right|r}}\left| v \right|} \\ 0&{{N_{\left| v \right|v}}\left| v \right| + {N_{\left| v \right|r}}\left| r \right|}&{{N_{\left| v \right|r}}\left| v \right| + {N_{\left| r \right|r}}\left| r \right|} 。\end{array}} \right)。\\ \end{gathered} } \end{aligned}} \right.$ | (2) |
式中:
在一些情况下,为了简化运算,常常考虑到船舶左/右的对称性,以及水面平面运动不需要考虑顶/底部的不对称性,而艏/艉不对称通常是惯性矩阵和阻尼矩阵的非对角线项为零,但与主对角线元素相比,这些项非常小,可以忽略不计。因此,忽略附加质量矩阵
| $ \begin{gathered} {\boldsymbol J}(\eta ) = \left( {\begin{array}{*{20}{c}} {\cos \phi } & { - \sin \phi } & {0} \\ {\sin \phi } & {\cos \phi } & {0} \\ 0 & {0} & {1} \end{array}} \right),{\boldsymbol M} = \left( {\begin{array}{*{20}{c}} {{m_{11}}} & {0} & {0} \\ 0 & {{m_{22}}} & {0} \\ 0 & {0} & {{m_{33}}} \end{array}} \right),\\ {\boldsymbol C}(\nu ) = \left( {\begin{array}{*{20}{c}} {0\;\;\;\;\;\;} & {0} & { - {m_{22}}v} \\ 0 & {0} & {{m_{11}}u} \\ {{m_{22}}v} & { - {m_{11}}u} & {\;\;\;\;0} \end{array}} \right){\text{,}}{\boldsymbol D} = \left( {\begin{array}{*{20}{c}} {{d_{11}}} & {\;0} & {0} \\ 0 & {{d_{22}}} & {0} \\ 0 & {0} & {{d_{33}}} \end{array}} \right) 。\\ \end{gathered} $ | (3) |
式中:
将该模型展开为方程形式,得到如下的无人艇三自由度运动方程:
| $ \left\{ {\begin{aligned} & \dot{x}=u\cos\phi-v\sin\phi,\\ & \dot{y}=u\sin\phi+v\cos\phi,\\ & \dot{\phi}=r,\\ & \dot{u}=\displaystyle\frac{m_{22}}{m_{11}}vr-\displaystyle\frac{d_{11}}{m_{11}}u+\displaystyle\frac{1}{m_{11}}\tau_{u,} \\ & \dot{v}=-\displaystyle\frac{m_{11}}{m_{22}}ur-\displaystyle\frac{d_{22}}{m_{22}}v,\\ & \dot{r}=\displaystyle\frac{m_{11}-m_{22}}{m_{33}}uv-\displaystyle\frac{d_{33}}{m_{33}}r+\displaystyle\frac{1}{m_{33}}\tau_{r。} \end{aligned}} \right. $ | (4) |
为了提高路径跟踪算法的计算速度,将无人艇运动视为一个部分观测马尔可夫过程:
| $ {{\boldsymbol{x}}_t} \sim p\left( {{{\boldsymbol{x}}_t}\left| {{{\boldsymbol{x}}_{t - 1}}} \right.} \right),{\text{ }}{{\boldsymbol{y}}_t} \sim p\left( {{{\boldsymbol{y}}_t}\left| {{{\boldsymbol{x}}_t}} \right.} \right){\text{ }} 。$ | (5) |
式中:
假设系统误差
| $ \boldsymbol{x}_t=\boldsymbol{a}_t\left(\boldsymbol{x}_{t-1}\right)+\boldsymbol{q}_t,\text{ }\boldsymbol{y}_t=\boldsymbol{h}_t\left(\boldsymbol{x}_t\right)+\boldsymbol{r}_t。$ | (6) |
式中:
| $ {{e} _t}\left( {{{\boldsymbol{x}}_t}} \right) = 0,{\text{ }}{{c} _t}\left( {{{\boldsymbol{x}}_t}} \right) \leqslant 0 。$ | (7) |
式中:
| $ \boldsymbol{a}_t\left(\boldsymbol{x}_{t-1}\right) = \left[ \begin{array}{*{20}{c}}\cos\left(\phi\right)u-\sin\left(\phi\right)v \\ \sin\left(\phi\right)u+\cos\left(\phi\right)v \\ r \\ \displaystyle\frac{m_{22}}{m_{11}}vr - \displaystyle\frac{d_{11}}{m_{11}}u + \frac{\tau_u}{m_{11}} \\ -\displaystyle\frac{m_{22}}{m_{11}}uv-\displaystyle\frac{d_{22}}{m_{22}}v \\ -\displaystyle\frac{m_{22}}{m_{33}}vu + \displaystyle\frac{m_{11}}{m_{33}}uv-\displaystyle\frac{d_{33}}{m_{33}}r+\displaystyle\frac{\tau_r}{m_{33}}\end{array} \right],\boldsymbol{h}_t\left(\boldsymbol{x}_t\right) = \left[ \begin{array}{*{20}{c}}\boldsymbol{x} \\ \boldsymbol{y}\end{array} \right]。$ | (8) |
此时,状态空间方程为连续非线性,应用优化求解方法时要将状态空间方程转为离散情况。常见的离散化方法有欧拉法和零阶保持法[13]。为了简化计算和形式简单,选择欧拉法对状态空间方程离散化,利用泰勒展开的一阶近似,将状态导数表示为:
| $ \boldsymbol{\dot{x}}=\frac{\boldsymbol{x}_{t+1}-\boldsymbol{x}_t}{T_z}。$ | (9) |
式中:
| $ \left\{ {\begin{aligned} \boldsymbol{x}_t=\boldsymbol{A}_t\boldsymbol{x}_{t-1}+\boldsymbol{q}_t,\\ \boldsymbol{y}_t=\boldsymbol{H}_tx_{t-1}+\boldsymbol{r}_t。\\ \end{aligned}} \right.$ | (10) |
在离散的状态空间方程中,
| $ \begin{gathered}\boldsymbol{A}_t=\left[ \begin{array}{*{20}{c}}T_z & 0 & 0 & \cos\phi_{t-1} & -\sin\phi_{t-1} & 0 \\ 0 & T_z & 0 & \sin\phi_{t-1} & \cos\phi_{t-1} & 0 \\ 0 & 0 & T_z & 0 & 0 & 1 \\ 0 & 0 & 0 & T_z-\displaystyle\frac{d_{11}}{m_{11}} & \displaystyle\frac{m_{22}}{m_{11}}r_{t-1} & 0 \\ 0 & 0 & 0 & -\displaystyle\frac{m_{11}}{m_{22}}r_{t-1} & T_z-\displaystyle\frac{d_{22}}{m_{22}} & 0 \\ 0 & 0 & 0 & \displaystyle\frac{m_{11}}{m_{33}}v_{t-1} & -\displaystyle\frac{m_{22}}{m_{33}}u_{t-1} & T_z+\displaystyle\frac{d_{33}}{m_{33}}\end{array} \right] \\ \boldsymbol{H}_t=\left[\begin{array}{*{20}{c}}1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0\end{array}\right]。\\ \end{gathered},$ | (11) |
至此,结合公式(6)、式(7)和式(10),将无人艇的路径追踪视作从部分观测序列
在无人艇路径跟踪问题中,引入等式和不等式约束具有重要的现实意义。这些约束不仅确保了无人艇在遵循特定动态模型和边界条件下的运动,还避免了复杂约束带来的求解困难问题。通常情况下,等式约束用于模拟无人艇在运动过程中必须遵循的物理条件限制,或确保无人艇按照预定路径行驶;而不等式约束则用于处理实际操作中的各种限制条件,如避免碰撞、避开禁航区,或考虑环境因素(如水流、风力等)对航行的影响。通过引入这些约束,路径跟踪能够更加贴近实际情况,从而显著提高无人艇航行的安全性、稳定性和效率。
ADMM是一种广泛应用于求解分布式、大规模优化问题的算法[14],其核心思想是利用增广拉格朗日法,将多优化变量问题转化为单优化变量问题。在无人艇路径跟踪问题中,由于该问题是一个高斯驱动的非线性系统,其成本函数可以表示为:
| $ \begin{split}\theta\left(\boldsymbol{x}_{1:T}\right)= & \frac{1}{2}\sum\limits_{t=1}^T \left\| \boldsymbol{y}_t-\boldsymbol{h}_t\left(\boldsymbol{x}_t\right) \right\| _{\boldsymbol{R}_t^{-1}}^2+ \\ & \frac{1}{2}\sum\limits_{t=2}^T \left\| \boldsymbol{x}_t-\boldsymbol{a}_t\left(\boldsymbol{x}_{t-1}\right) \right\| _{\boldsymbol{Q}_t^{-1}}^2+\frac{1}{2} \left\| \boldsymbol{x}_1-\boldsymbol{m}_1 \right\| _{\boldsymbol{P}_1^{-1。}}^2\end{split} $ | (12) |
式中:
| $ \mathop {\min }\limits_{{{\boldsymbol{x}}_{1:T}}} \theta \left( {{{\boldsymbol{x}}_{1:T}}} \right),{\text{ s}}{\text{.t}}{\text{.}}{e} \left( {{{\boldsymbol{x}}_{1:T}}} \right) = 0,{c} \left( {{{\boldsymbol{x}}_{1:T}}} \right) \leqslant 0 。$ | (13) |
在ADMM的计算过程中,将大的全局问题分解为多个较小、较容易求解的局部子问题,并通过计算子问题的解而得到原始问题的最优解,从而减少计算量,提高计算效率。对式(13),引入一系列辅助变量
| $ \begin{aligned} &{\mathop {\min }\limits_{{{\boldsymbol{x}}_{1:T}}} \theta \left( {{{\boldsymbol{x}}_{1:T}}} \right)} \\ &{{\text{s}}{\text{.t}}{\text{. }}{{e} _t}\left( {{{\boldsymbol{x}}_t}} \right) = 0,{{c} _t}\left( {{{\boldsymbol{x}}_t}} \right) + {n_t} = 0,{\text{ }}t = 1,2, \ldots T} \\ &{{I} \left( {{n_t}} \right) = \left\{ {\begin{array}{l} {0,{\text{ }}{n_t} \geqslant 0},\\ {\infty ,{\text{otherwise}}} 。\end{array}} \right.} \end{aligned} ,$ | (14) |
引入拉格朗日乘子
| $ \left\{ {\begin{aligned} &{\boldsymbol{x}}_{1:T}^{\left( {k + 1} \right)} = \mathop {\arg \min }\limits_{{{\boldsymbol{x}}_{1:T}}} \theta \left( {{{\boldsymbol{x}}_{1:T}}} \right) + \frac{{{\rho _1}}}{2}\left\| {{c} \left( {{{\boldsymbol{x}}_{1:T}}} \right) + n_{1:T}^{(k)} + } \right.{{\left. {{{\eta _{1:T}^{(k)}} / {{\rho _1}}}} \right\|}^2} +\\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \frac{{{\rho _2}}}{2}\left\| {e} \left( {{{\boldsymbol{x}}_{1:T}}} \right) + {{{\zeta _{1:T}^{(k)}} /{{\rho _2}}}} \right\|^2 ,\\ &{n_{1:T}^{(k + 1)} = \max \left( {0, - {c} \left( {{\boldsymbol{x}}_{1:T}^{(k + 1)}} \right) - {{\eta _{1:T}^{(k)}} \mathord{\left/ {\vphantom {{\eta _{1:T}^{(k)}} {{\rho _1}}}} \right. } {{\rho _1}}}} \right)},\\ &{\eta _{1:T}^{(k + 1)} = n_{1:T}^{(k + 1)} + {\rho _1}\left( {{c} \left( {{\boldsymbol{x}}_{1:T}^{(k + 1)}} \right) + n_{1:T}^{(k + 1)}} \right)} ,\\ &{\zeta _{1:T}^{(k + 1)} = \zeta _{1:T}^{(k)} + {\rho _2}{e} \left( {{\boldsymbol{x}}_{1:T}^{(k + 1)}} \right)} 。\end{aligned}} \right.$ | (15) |
式中:max为取最大值函数,min为取最小值函数。在子问题迭代求解过程中,求解步骤采用交替
当无人艇状态空间是线性仿射的,对于式(15)中
| $ \left\{ {\begin{aligned} & \boldsymbol{a}_t\left(\boldsymbol{x}_{t-1}\right)=\boldsymbol{A}_t\boldsymbol{x}_{t-1}+\boldsymbol{b}_t,\text{ }\boldsymbol{h}_t\left(\boldsymbol{x}_t\right)=\boldsymbol{H}_t\boldsymbol{x}_t+\boldsymbol{g}_t,\\ & \boldsymbol{c}_t\left(\boldsymbol{x}_t\right)=\boldsymbol{C}_t\boldsymbol{x}_t+\boldsymbol{d}_t,\text{ }\boldsymbol{e}_t\left(\boldsymbol{x}_t\right)=\boldsymbol{E}_t\boldsymbol{x}_t+\boldsymbol{f}_t。\end{aligned}} \right. $ | (16) |
式中:
| $ \begin{split} {\boldsymbol{x}}_{1:T}^* = & \mathop {\arg \min }\limits_{{{\boldsymbol{x}}_{1:T}}} \frac{1}{2}\sum\limits_{t = 1}^T {\left\| {{{\boldsymbol{y}}_t} - {{\boldsymbol{H}}_t}{{\boldsymbol{x}}_t} - {{\boldsymbol{g}}_t}} \right\|_{{\boldsymbol{R}}_t^{ - 1}}^2} + \\ &\frac{1}{2}\sum\limits_{t = 2}^T {\left\| {{{\boldsymbol{x}}_t} - {{\boldsymbol{A}}_t}{{\boldsymbol{x}}_{t - 1}} - {{\boldsymbol{b}}_t}} \right\|_{{\boldsymbol{Q}}_t^{ - 1}}^2} + \frac{{{\rho _2}}}{2}\sum\limits_{t = 1}^T {{{\left\| {{{\boldsymbol{E}}_t}{{\boldsymbol{x}}_t}{\text{ + }}{{\boldsymbol{f}}_t} + \frac{{{\zeta _t}}}{{{\rho _2}}}} \right\|}^2}} +\\ &\frac{{{\rho _1}}}{2}\sum\limits_{t = 1}^T {{{\left\| {{{\boldsymbol{C}}_t}{{\boldsymbol{x}}_t}{\text{ + }}{{\boldsymbol{d}}_t} + {{\boldsymbol{n}}_t} + \frac{{{\eta _t}}}{{{\rho _1}}}} \right\|}^2}} + \frac{1}{2}\left\| {{{\boldsymbol{x}}_1} - {{\boldsymbol{m}}_1}} \right\|_{{\boldsymbol{P}}_1^{ - 1}}^2 。\\ \end{split} $ | (17) |
为了解决式(17),定义2个人工测量噪声
| $ \begin{split}&\sum_t^{ }=\boldsymbol{I}\mathord{\left/\vphantom{\boldsymbol{I}\rho_1}\right.}\boldsymbol{\rho}_1,\text{ }z_t=-\boldsymbol{b}_t-\boldsymbol{\eta}_t\mathord{\left/\vphantom{\eta_t\rho_1}\right.}\boldsymbol{\rho}_1 ,\\ &\Delta_t=\boldsymbol{I}\mathord{\left/\vphantom{\boldsymbol{I}\rho_2}\right.}\boldsymbol{\rho}_2,\text{ }w_t=\boldsymbol{\zeta}_t\mathord{\left/\vphantom{\zeta_t\rho_2}\right.}\boldsymbol{\rho}_2。\end{split} $ | (18) |
式中:
| $ \left\{ {\begin{aligned} & \boldsymbol{x}_t=\boldsymbol{A}_t\boldsymbol{x}_{t-1}+\boldsymbol{b}_t+\boldsymbol{q}_t\text{ },\\ & \text{ }\boldsymbol{y}_t=\boldsymbol{H}_t\boldsymbol{x}_t+\boldsymbol{g}_t+\boldsymbol{r}_t,\\ & z_t=\boldsymbol{C}_t\boldsymbol{x}_t+\boldsymbol{d}_t+\boldsymbol{\sigma}_t ,\\ & w_t=\boldsymbol{E}_t\boldsymbol{x}_t+\boldsymbol{f}_t+\boldsymbol{\delta}_t 。\end{aligned}} \right.$ | (19) |
式中:
贝叶斯平滑算法的核心在于结合观测数据
| $ \left\{ {\begin{aligned} & m_t^ - = {{\boldsymbol{A}}_t}{m_{t - 1}} + {b_t} ,\\ & {\boldsymbol{P}}_t^ - = {{\boldsymbol{A}}_t}{{\boldsymbol{P}}_{t - 1}}{\boldsymbol{A}}_t^{\rm{T}} + {{\boldsymbol{Q}}_t} 。\end{aligned}} \right.$ | (20) |
式中:
| $\left\{ {\begin{aligned} &{{\boldsymbol{S}}_t^y = {{\boldsymbol{H}}_t}{\boldsymbol{P}}_t^ - {\boldsymbol{H}}_t^{\text{T}} + {{\boldsymbol{R}}_t}},\\ &{{\boldsymbol{K}}_t^y = {\boldsymbol{P}}_t^ - {\boldsymbol{H}}_t^{\text{T}}{{\left[ {{\boldsymbol{S}}_t^y} \right]}^{ - 1}}} ,\\ &{m_t^y = m_t^ - + {\boldsymbol{K}}_t^y\left[ {{{\boldsymbol{y}}_t} - {{\boldsymbol{H}}_t}m_t^ - - {g_t}} \right]} ,\\ &{{\boldsymbol{P}}_{_t}^y = {\boldsymbol{P}}_t^ - - {\boldsymbol{K}}_t^y{\boldsymbol{S}}_t^y{{\left[ {{\boldsymbol{K}}_t^y} \right]}^{\text{T}}}}。\end{aligned}} \right. $ | (21) |
| $ \left\{ {\begin{aligned} &{{\boldsymbol{S}}_t^z = {{\boldsymbol{C}}_t}{\boldsymbol{P}}_t^y{\boldsymbol{C}}_t^{\text{T}} + {\sum _t}} ,\\ &{{\boldsymbol{K}}_t^z = {\boldsymbol{P}}_t^y{\boldsymbol{C}}_t^{\text{T}}{{\left[ {{\boldsymbol{S}}_t^z} \right]}^{ - 1}}} ,\\ &{m_t^z = m_t^y + {\boldsymbol{K}}_t^z\left[ {{{\boldsymbol{z}}_t} - {{\boldsymbol{C}}_t}m_t^y - {d_t}} \right]} ,\\ &{{\boldsymbol{P}}_{_t}^z = {\boldsymbol{P}}_t^y - {\boldsymbol{K}}_t^z{\boldsymbol{S}}_t^z{{\left[ {{\boldsymbol{K}}_t^z} \right]}^{\text{T}}}}。\end{aligned}} \right. $ | (22) |
| $ \left\{ {\begin{aligned} &{{\boldsymbol{S}}_t^w = {{\boldsymbol{E}}_t}{\boldsymbol{P}}_t^z{\boldsymbol{E}}_t^{\text{T}} + {\Delta _t}} ,\\ &{{\boldsymbol{K}}_t^w = {\boldsymbol{P}}_t^z{\boldsymbol{E}}_t^{\text{T}}{{\left[ {{\boldsymbol{S}}_t^w} \right]}^{ - 1}}} ,\\ & {{m_t} = m_t^z + {\boldsymbol{K}}_t^w\left[ {{{\boldsymbol{w}}_t} - {{\boldsymbol{E}}_t}m_t^z - {f_t}} \right]} ,\\ &{{{\boldsymbol{P}}_t} = {\boldsymbol{P}}_t^z - {\boldsymbol{K}}_t^w{\boldsymbol{S}}_t^w{{\left[ {{\boldsymbol{K}}_t^w} \right]}^{\text{T}}}} 。\end{aligned}} \right. $ | (23) |
式中:
| $\left\{ {\begin{aligned} &{{{\boldsymbol{G}}_t} = {{\boldsymbol{P}}_t}{\boldsymbol{A}}_{t + 1}^{\text{T}}{{\left[ {{\boldsymbol{P}}_{t + 1}^ - } \right]}^{ - 1}}} ,\\ &{m_t^s = {{\boldsymbol{P}}_t} + {{\boldsymbol{G}}_t}\left[ {m_{t + 1}^s - m_{t + 1}^ - } \right]} ,\\ &{{\boldsymbol{P}}_t^s = {{\boldsymbol{P}}_t} + {{\boldsymbol{G}}_t}\left[ {{\boldsymbol{P}}_{t + 1}^s - {\boldsymbol{P}}_{t + 1}^ - } \right]{\boldsymbol{G}}_t^{\text{T}}} 。\end{aligned}} \right.$ | (24) |
式中:
| $ \boldsymbol{x}_{1:T}^{\left(k+1\right)}=m_{1:T}^s。$。 | (25) |
对于ADMM分离出的其他子问题按照式(15)迭代求解,经过ADMM分离的子问题结构按照例如最小二乘法等常规解法通常面临着计算复杂度较高,迭代时间较长等问题。贝叶斯平滑能够将约束函数等条件转换为新的观测向量,按照平滑器步骤计算,能够有效提高计算效率,对我们最关心的状态
在无人艇路径跟踪问题中,BS-ADMM为解决复杂约束优化问题提供了一种高效的计算方法。通过引入等式和不等式约束,ADMM将全局优化问题分解为多个易于求解的局部子问题,显著降低了计算复杂度。为进一步提升求解效率,本文提出了BS方法,通过将状态空间分解为时间序列并引入伪测量信息,优化了子问题的求解过程。BS-ADMM不仅能够有效处理无人艇路径跟踪中的动态约束和状态估计问题,还在保证计算精度的同时大幅提升了算法的实时性和鲁棒性,为复杂水域环境下的无人艇路径跟踪提供了可靠的技术支持。为验证该方法的稳定性,本文还提出了理论1,对其稳定性进行了深入分析。本文算法总结如表2所示。
|
|
表 2 贝叶斯平滑-交替方向乘子法 Tab.2 BS-ADMM |
理论[BS-ADMM稳定性]:当
证明:根据无人艇状态空间可知,
本试验中,无人艇模型的水动力导数参考Fossen工具包中现有的模型[18],在状态空间模型中,m11=25.8,m22=33.8,m33=
| $ {x_t} = {\left( {\begin{array}{*{20}{c}} t&{1.3 - \sin t}&1&1&{ - \cos t}&0 \end{array}} \right)^{\text{T}}} 。$ | (26) |
转移函数的协方差矩阵设置如下:
| $ {{\boldsymbol{Q}}_t} = \left[ {\begin{array}{*{20}{c}} {\Delta {t^3}} & 0 & 0 & {{{\Delta {t^2}} \mathord{\left/ {\vphantom {{\Delta {t^2}} 2}} \right. } 2}} & 0 & 0 \\ 0 & {{{\Delta {t^3}} \mathord{\left/ {\vphantom {{\Delta {t^3}} 3}} \right. } 3}} & 0 & 0 & {{{\Delta {t^2}} \mathord{\left/ {\vphantom {{\Delta {t^2}} 2}} \right. } 2}} & 0 \\ 0 & 0 & {{{\Delta {t^3}} \mathord{\left/ {\vphantom {{\Delta {t^3}} 3}} \right. } 3}} & 0 & 0 & {{{\Delta {t^2}} \mathord{\left/ {\vphantom {{\Delta {t^2}} 2}} \right. } 2}} \\ {{{\Delta {t^2}} \mathord{\left/ {\vphantom {{\Delta {t^2}} 2}} \right. } 2}} & 0 & 0 & {\Delta t} & 0 & 0 \\ {{{\Delta {t^2}} \mathord{\left/ {\vphantom {{\Delta {t^2}} 2}} \right. } 2}} & 0 & 0 & {\Delta t} & 0 & 0 \\ 0 & 0 & {{{\Delta {t^2}} \mathord{\left/ {\vphantom {{\Delta {t^2}} 2}} \right. } 2}} & 0 & 0 & {\Delta t} \end{array}} \right] 。$ | (27) |
式中:
| $ {{\boldsymbol{R}}_t} = \left[ {\begin{array}{*{20}{c}} {{\tau ^2}}&0 \\ 0&{{\tau ^2}} \end{array}} \right] 。$ | (28) |
式中:
路径跟踪的效果如图2所示,图中展示了二维平面内的轨迹跟踪效果,以及纵荡和横荡方向上的跟踪效果对比。从图中可以看出,基于约束的BS-ADMM相比无约束条件下的方法,能够更有效地跟踪实际轨迹。并且BS-ADMM方法在跟踪精度上显著优于传统的约束卡尔曼-布什滤波(CKBS)方法,展现了其在复杂路径跟踪问题中的优越性能。
|
图 2 跟踪的路径结果 Fig. 2 Path-following results |
邻近正则化子问题方法(Proximal Regularized Subproblem,PRS)和分裂Bregman方法(Splitting Bregman Method,SBM)是2种变量分离方法,其中PRS通过引入邻近正则化项改进收敛性能,适用于非线性优化问题;而SBM利用Bregman距离分解变量,提高求解稀疏和分段线性问题的效率,两者都被用于路径跟踪问题研究中[19]。本文将提出的BS-ADMM与其他变量分割方法PRS、SBM结合方法的代价函数值与迭代速度的关系如图3所示。可以发现,基于BS-ADMM的方法迭代次数少,迭代速度快,相比其他的滤波方法和变量分离法,迭代速度平均约提高了65%。能够有效解约束状态估计问题,大大降低了估计的时间成本。
|
图 3 每种方法的成本函数和迭代速度 Fig. 3 Cost function and iteration speed for each method |
每个迭代步骤的估计误差如图4所示,相比其他的组合方法(BS-PRS和BS-SBM),基于BS-ADMM的路径跟踪方法能够更快的跟踪到真实路径,且保持稳定估计的误差更小,对比不同的方法误差平均约下降了15%。
|
图 4 每种方法在迭代阶段的估计误差 Fig. 4 Estimation error of each method at iteration steps |
本文提出了一种基于贝叶斯平滑-交替方向乘子法(BS-ADMM)的无人艇路径跟踪方法,核心在于基于ADMM框架对约束估计问题进行分解,得到若干子问题后利用增广贝叶斯平滑器迭代求解。该方法将船舶运动的三自由度运动学和动力学模型相结合,建立了无人艇平面运动的状态空间方程。引入非线性约束来模拟环境限制,有效地模拟了海洋环境和测量噪声的影响。为了解决环境干扰和目标遮挡对传感器数据造成的数据误差,采用了非完备测量来有效地解决这些问题。
通过仿真试验验证了本文方法相较于传统的优化算法,具有更高的路径跟踪精度和更快的收敛效率。通过试验分析,相较于传统的滤波方法和其他变量分离法,迭代速度提高约65%,跟踪误差减小约15%。
| [1] |
张韩西子, 倪海参, 石正坤, 等. 水面无人艇发展趋势及关键技术展望[J]. 舰船科学技术, 2024, 46(8): 108-111. ZHANG H X Z, NI H S, SHI Z K, et al. Development trends and key technology prospects of unmanned surface vessels[J]. Ship Science and Technology, 2024, 46(8): 108-111. |
| [2] |
李家良. 水面无人艇发展与应用[J]. 火力与指挥控制, 2012, 37(6): 203-207. LI J L. Development and application of unmanned surface vehicles[J]. Fire Control & Command Control, 2012, 37(6): 203-207. |
| [3] |
黎为. 基于预测控制的水面无人艇航迹跟踪方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2016.
|
| [4] |
KATAYAMA H, AOKI H. Straight-line trajectory tracking control for sampled-data underactuated ships[J]. IEEE Transactions on control systems technology, 2013, 22(4): 1638-1645. |
| [5] |
CAO G, YANG J, QIAO L, et al. Adaptive output feedback super twisting algorithm for trajectory tracking control of USVs with saturated constraints[J]. Ocean Engineering, 2022, 259: 111507. DOI:10.1016/j.oceaneng.2022.111507 |
| [6] |
ZHAO Y, QI X, INCECIK A, et al. Broken lines path following algorithm for a water-jet propulsion USV with disturbance uncertainties[J]. Ocean Engineering, 2020, 201: 107118. DOI:10.1016/j.oceaneng.2020.107118 |
| [7] |
WU C, YU W, LIAO W, et al. Deep reinforcement learning with intrinsic curiosity module based trajectory tracking control for USV[J]. Ocean Engineering, 2024, 308: 118342. DOI:10.1016/j.oceaneng.2024.118342 |
| [8] |
ZHONG W, LI H, MENG Y, et al. USV path following controller based on DDPG with composite state-space and dynamic reward function[J]. Ocean Engineering, 2022, 266: 112449. DOI:10.1016/j.oceaneng.2022.112449 |
| [9] |
MOUSAZADEH H, JAFARBIGLU H, ABDOLMALEKI H, et al. Developing a navigation, guidance and obstacle avoidance algorithm for an Unmanned Surface Vehicle (USV) by algorithms fusion[J]. Ocean Engineering, 2018, 159: 56-65. DOI:10.1016/j.oceaneng.2018.04.018 |
| [10] |
何静. 利用卡尔曼滤波预测船舶航行轨迹异常行为[J]. 舰船科学技术, 2017, 39(2): 16-18. HE J. Predicting abnormal behavior in ship navigation trajectories using Kalman filter[J]. Ship Science and Technology, 2017, 39(2): 16-18. |
| [11] |
董早鹏, 万磊, 廖煜雷, 等. 基于非对称模型的欠驱动无人艇路径跟踪控制[J]. 中国造船, 2016, 57(1): 116-126. DONG Z P, WAN L, LIAO Y L, et al. Path tracking control of underactuated USV based on an asymmetric model[J]. Shipbuilding of China, 2016, 57(1): 116-126. |
| [12] |
FOSSEN T I, BREIVIK M, SKJETNE R. Line-of-sight path following of underactuated marine craft[J]. IFAC Proceedings volumes, 2003, 36(21): 211-216. DOI:10.1016/S1474-6670(17)37809-6 |
| [13] |
孙波, 熊常鹏. 常微分方程欧拉折线法的 Picard 迭代改进[J]. Advances in Applied Mathematics, 2023, 12: 3763. SUN B, XIONG C P. Improvement of the Euler polygon method for ordinary differential equations using Picard iteration[J]. Advances in Applied Mathematics, 2023, 12: 3763. DOI:10.12677/AAM.2023.128370 |
| [14] |
王慧芳. 线性化乘子交替方向法求解稀疏组最小一乘模型[D]. 北京: 北京交通大学, 2017.
|
| [15] |
GAO R, TRONARP F, SÄRKKÄ S. Iterated extended kalman smoother-based variable splitting for L_1 $-regularized state estimation[J]. IEEE Transactions on Signal Processing, 2019, 67(19): 5078-5092. DOI:10.1109/TSP.2019.2935868 |
| [16] |
BOYD S, PARIKH N, CHU E, et al. Distributed optimization and statistical learning via the alternating direction method of multipliers[J]. Foundations and Trends in Machine learning, 2011, 3(1): 1-122. |
| [17] |
HE B S, YANG H, WANG S L. Alternating direction method with self-adaptive penalty parameters for monotone variational inequalities[J]. Journal of Optimization Theory and Applications, 2000, 106: 337-356. DOI:10.1023/A:1004603514434 |
| [18] |
FOSSEN T I. Handbook of marine craft hydrodynamics and motion control[M]. Hoboken:John Willy & Sons Ltd, 2011.
|
| [19] |
BELL B M, BURKE J V, PILLONETTO G. An inequality constrained nonlinear Kalman–Bucy smoother by interior point likelihood maximization[J]. Automatica, 2009, 45(1): 25-33. DOI:10.1016/j.automatica.2008.05.029 |
2025, Vol. 47

