CN107894775A - 一种欠驱动无人水下航行器轨迹生成与控制方法 - Google Patents

一种欠驱动无人水下航行器轨迹生成与控制方法 Download PDF

Info

Publication number
CN107894775A
CN107894775A CN201710962628.3A CN201710962628A CN107894775A CN 107894775 A CN107894775 A CN 107894775A CN 201710962628 A CN201710962628 A CN 201710962628A CN 107894775 A CN107894775 A CN 107894775A
Authority
CN
China
Prior art keywords
msub
mrow
mover
msubsup
mtd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710962628.3A
Other languages
English (en)
Other versions
CN107894775B (zh
Inventor
王锐
司昌龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201710962628.3A priority Critical patent/CN107894775B/zh
Publication of CN107894775A publication Critical patent/CN107894775A/zh
Application granted granted Critical
Publication of CN107894775B publication Critical patent/CN107894775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0875Control of attitude, i.e. control of roll, pitch, or yaw specially adapted to water vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • External Artificial Organs (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及一种欠驱动无人水下航行器轨迹生成与控制方法,包括:建立水下航行器的运动学以及动力学模型,并引入单位四元数对姿态进行描述;在已知三维参考位置信息的条件下,设计轨迹生成器,生成姿态指令信息;设计控制器,用于跟踪所述参考位置信息和所述姿态信息。本发明基于单位四元数提出了一种轨迹生成方法,根据已知的位置信息生成了6自由度的参考轨迹,最后设计控制器对所生成的轨迹进行跟踪,并证明闭环***的稳定性。

Description

一种欠驱动无人水下航行器轨迹生成与控制方法
技术领域
本发明涉及无人水下航行器领域,涉及一种欠驱动无人水下航行器轨迹生成与控制方法。
背景技术
无人水下航行器已经在海洋救助、资源勘探、水文观测、水下测量、水下管道检修、工程施工等领域得到了大量的应用,而且在军事领域也具有广泛的应用前景。随着应用的领域的增加,许多复杂的任务要求水下航行器具有更好的控制性能,从而可以应对水下复杂的环境,因此水下航行器的控制器设计得到了大量的研究。
大部分文献所提出的无人水下航行器模型多为3自由度的平面模型或者是忽略滚转方向的5自由度模型,而实际的水下航行器是一个3维空间的6自由度模型,在许多情况下无法线性化为更简单的模型来考虑,因此6自由度的水下航行器模型的控制器设计更具有实际工程意义;此外,现有技术使用欧拉角来对姿态进行描述,不仅引入了正弦余弦的非线性运算,而且还会导致姿态奇异现象的发生,使得控制器失效;最后,大部分技术是基于全驱动的水下航行器的模型,而通常在水下环境中,要求水下航行器的结构紧凑,节省能量与成本,此时可以使航行器在某个自由度上没有控制器,形成欠驱动***;而且,当全驱动航行器在某个自由度上控制器发生故障时就会退化为欠驱动***,因此研究欠驱动水下航行器的控制***既可以简化水下航行器的结构设计,又能够为全驱动水下航行器提供一种冗余的控制方法,增强航行器水下行驶的可靠性。
发明内容
针对上述问题,本发明考虑了更复杂的6自由度欠驱动水下航行器的控制模型,更具有实际的意义;引入了单位四元数来对姿态进行描述,可以避免奇异现象同时提高运算效率。此外,由于欠驱动***内部固有的约束,在已知三维位置参考信息的情况下如何得到姿态指令信息也是一个难点,本发明基于单位四元数提出了一种欠驱动无人水下航行器轨迹生成与控制方法,根据已知的位置信息生成了6自由度的参考轨迹,最后设计控制器对所生成的轨迹进行跟踪,并证明闭环***的稳定性。
为实现上述目的,本发明一方面提供了一种欠驱动无人水下航行器轨迹生成与控制方法,包括:建立水下航行器的运动学以及动力学模型,并引入单位四元数对姿态进行描述;在已知三维参考位置信息的条件下,设计轨迹生成器,生成姿态指令信息;设计控制器,用于跟踪所述参考位置信息和所述姿态信息。
优选地,所述无人水下航行器模型包括运动学模型、动力学模型,其表达式为:
运动学表达式:
其中,η1为航行器浮心在惯性坐标系下的位置坐标,单位四元数Q为机体坐标系{B}相对于惯性坐标系{E}的姿态,
动力学表达式:
其中,M包含附加质量的惯性矩阵,C(v)由科氏力矩阵CRB(v)与向心力矩阵CA(v)组成,D(v)为流体水动力阻尼矩阵,G(η)为恢复力与力矩向量。
优选地,基于四元数对姿态的描述,航行器动力学方程变换成位置动力学方程和姿态动力学方程,其表达式为:
位置动力学方程:
其中, W为航行器受到的重力,B为航行器所产生的浮力,N代表航行器沿着本体坐标系b1方向的控制推力;
姿态动力学方程:
其中,M22是M质量惯性矩阵的一个分量,C21(v1)和C22(v2)是C(v)的两个分量,D22(v2)是D(v)流体水动力阻尼矩阵的一个分量,为重心相对于浮心在本体坐标系下的位置坐标,Γ=(Γ123)T为控制力矩。
优选地,所述轨迹生成器生成理想姿态指令信息为:
其中,
优选地,所述控制器包括控制推力和控制力矩,其表达式为:
控制推力:
F=(F1,F2,F3)T
其中,k1,c1为大于零的控制增益;
控制力矩:
其中,辅助控制量设计为kQ,k2,kβ为大于零的控制增益。
优选地,所述控制推力跟踪所述参考位置信息,所述控制力矩来跟踪所述姿态信息。
优选地,所述无人水下航行器模型为6自由度欠驱动水下航行器的控制模型。
本发明建立基于单位四元数的6自由度欠驱动水下航行器的模型,模型更加精确,符合实际的应用;利用单位四元数对姿态进行描述,提高了计算效率,避免了奇异现象;设计了轨迹生成的方法,可以得到姿态子***的参考姿态信息;所提出的控制器的闭环稳定性得到了证明。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为欠驱动无人水下航行器轨迹生成与控制方法流程示意图;
图2为本发明实施例欠驱动水下航行器结构图;
图3为本发明实施例欠驱动水下航行器三维轨迹跟踪效果图;
图4为本发明实施例欠驱动水下航行器姿态指令qd1、qd2、qd3和λd生成与跟踪图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为欠驱动无人水下航行器轨迹生成与控制方法流程示意图。如图1所示,本发明提供一种欠驱动无人水下航行器轨迹生成与控制方法,其具体步骤包括:
步骤S101,建立水下航行器的运动学以及动力学模型,并引入单位四元数对姿态进行描述。
建立欠驱动无人水下航行器模型,定义北东地{E}=[e1,e2,e3]T为惯性坐标系,e1=[1,0,0]T,e2=[0,1,0]T,e3=[0,0,1]T为惯性坐标系{E}在x,y,z方向上的单位向量;{B}=[b1,b2,b3]T为本体坐标系b1=[1,0,0]T,b2=[0,1,0]T,b3=[0,0,1]T为本体坐标系{B}在x,y,z方向上的单位向量。本体坐标系{B}的原点与航行器的浮心CB重合rb=(0,0,0)T,为了产生恢复力矩,航行器的重心CM在b3的正半轴,重心在本体坐标系下的坐标为rg=(0,0,zg)T
定义如下变量来描述航行器的运动状态:
η1=[x,y,z]T,Q=[q1,q2,q3,λ]T
Q=[qT,λ]T,q=(q1,q2,q3)T
v1=[u,v,w]T,v2=[p,q,r]T
其中,η1为航行器浮心在惯性坐标系下的位置坐标,单位四元数Q为机体坐标系{B}相对于惯性坐标系{E}的姿态。v1为航行器浮心在机体坐标系{B}中的线速度大小,v2为机体坐标系{B}相对于惯性坐标系{E}的角速度大小在机体坐标系{B}中的投影。
定义单位四元数为其中称q=(q1,q2,q3)T∈R3为单位四元数矢量部分,称为单位四元数标量部分,单位四元数的各个分量满足qTq+λ2=1。
为从惯性坐标系到本体坐标系的旋转矩阵,利用Rodrigues定理,可以得到由单位四元数表示的本体系{B}相对于惯性系{E}的旋转矩阵为
其中I3×3为三阶的单位对角矩阵,||·||为向量欧式范数。S(×)为3×3斜对称矩阵,对于一个三维的列向量a=(a1,a2,a3)T,其斜对称矩阵可以表示为:
由单位四元数表示的从本体坐标系{B}到惯性坐标系{E}的旋转矩阵为
满足||R(Q)||=1。
将式(2)展开可得
则航行器在机体坐标系{B}与在惯性坐标系{E}中的线速度矢量满足
水下航行器结构如图1所示,其运动学以及动力学微分方程表示为
其中,
M包含附加质量的惯性矩阵,定义为
其中,m为航行器的质量,为航行器的转动惯量; 为关于附加质量的流体参数。
C(v)由科氏力矩阵CRB(v)与向心力矩阵CA(v)组成,定义为
其中,为重心相对于浮心在本体坐标系下的位置坐标。
D(v)为流体水动力阻尼矩阵,定义为
其中,Xu,Yv,Zw,Kp,Mq,Nr,X|u|u,Y|v|v,Z|w|w,K|p|p,M|q|q,N|r|r为关于阻力的流体参数。
G(η)为恢复力与力矩向量,定义为
其中,W为航行器受到的重力,B为航行器所产生的浮力。
控制输入定义为
τ=(N,0,0,Γ123)T (10)
其中N代表航行器沿着本体坐标系b1方向的控制推力,Γ=(Γ123)T为控制力矩,控制力矩与三个控制舵δ=(δrblbr)T的关系满足Γ=M(u)δ,
根据式(6)-(10),可将式(5)展开为
由式(4)可知
代入式(12)可得惯性坐标系下的位置坐标动力学方程为
可得
变换后的方程式(16)为惯性坐标系下的位置坐标动力学方程,称为位置子***,式(17)为本体坐标系下的姿态动力学方程,称为姿态子***。
步骤S102,在已知三维参考位置信息的条件下,设计轨迹生成器,生成姿态指令信息。
由上述航行器动力学微分方程以及控制输入(10)可知,位置子***(16)为欠驱动***,在横向b2与升沉b3方向没有执行器产生控制量。观察式(17)可知,控制输入为Γ,***状态变量为Q,因此姿态子***是全驱动的。为了使***能够跟踪一个三维的理想位置坐标轨迹姿态信息需要作为额外的控制量,使得式(16)的控制推力扩展为一个三维的控制输入来跟踪已知的理想位置坐标轨迹,生成一个被约束的理想姿态信息以作为姿态子***的参考轨迹,并设计控制力矩来跟踪所生成的理想姿态信息。
定义为所生成的理想姿态信息,根据上述的思路,可将式(16)改写为
其中,
F:=NR(Qd)Tb1 (19)
为推力与理想姿态信息所合成的三维控制力,为理想姿态与实际姿态之间的误差对位置子***所造成的影响,可以求得
设推力与理想姿态所合成的控制力的三维分量为F=(F1,F2,F3)T,可以通过已知的F的信息反解出实际的推力N与理想姿态信息Qd
将式(19)展开为
观察式(21)可知未知量有N与Qd共5个,又已知单位四元数满足
因此式(21)具有4个待求的量,而方程组是三维的,解有无穷多个。为了得到唯一的一组解,可将Qd的某个分量固定。由于航行器在行驶过程中要求滚转方向不能有太大的变化,因此对滚转方向进行约束,令qd1=0,并根据式(22),可将式(21)写为
将式(23)前两行的平方相加,可得
通过配方法可以解出
根据式(23)第一行可知,因此可得从而可以得到实际的控制推力为
将式(26)代入式(25)可以解出λd
根据式(23)后两行与式(26)-(27),可以解出qd
进而得到通过理想姿态可以得到理想角速度为
根据上述步骤,利用已知的合成控制力F可以生成理想的姿态信息,结合已知的理想位置信息可以得到最终***状态的目标轨迹pd与Qd,并设计控制推力N与控制力矩Γ对所生成的轨迹进行跟踪。
步骤S103,设计控制器,用于跟踪所述参考位置信息和所述姿态信息。
控制器包括控制推力和控制力矩,控制推力来跟踪参考位置信息,控制力矩来跟踪姿态信息。
(1)控制推力N的设计
注意到N是一维控制推力,作用在三维的位置子***上,因此N与***状态并不是一一对应的,上述性质使直接对N进行设计具有一定的难度。而通过式(26)可知N与三维合成控制力F的对应关系,因此对推力N的设计可以首先转化为对F的设计,在得到F的表达式后根据式(26)可以得到实际的控制推力N。
位置子***给定的参考轨迹为可以得到位置误差为速度误差为加速度误差为将上述位置误差表达式代入位置子***微分方程(18)可得
将上式展开得
设计中间控制律为
其中
k1,c1为大于零的控制增益。
(2)控制力矩Γ的设计
通过式(32)以及姿态信息可以生成姿态子***的目标轨迹Qd与ωd。利用单位四元数的运算关系,可得本体坐标系与理想坐标系之间的姿态误差以及角速度误差为
其中 为理想坐标系到机体坐标系的旋转矩阵,其导数关系满足
将上述姿态误差表达式代入姿态子***微分方程(17)可得
设计控制力矩为
辅助控制量设计为
其中,kQ,k2,kβ为大于零的控制增益。
根据提出的控制器,关于其稳定性分析:
利用Lyapunov理论对闭环***进行稳定性分析,定义如下Lyapunov函数
其中,根据单位四元数运算关系可知
对式(39)求导可得
展开得到
注意到为斜对称矩阵,因此最终可得
将所设计的位置子***控制律式(32)-(33)以及姿态子***控制律式(36)-(38)代入式(42)可得
可知s1s2是有界的。又因为有界,可知一致连续。根据Barbalat引理可知因此s1→0,s2→0,状态误差渐进收敛,即η1→pdQ→Qd,v2→ωd
所提出的控制器的闭环稳定性得到了证明。
实施例
航行器质量为m=5400kg;重力加速度为g=9.8m/s2;惯性矩阵为Io=diag(2038,13587,13587)kg·m2,水的密度为ρ=1000kg/m3,航行器长度为L=5.3m;
关于附加质量的流体参数为:
重心在本体系的坐标为:
关于阻力的流体参数为:
Xu=0kg/s,Yv=-1404.5kg/s,Zw=-4213.5kg/s,Kp=-4399.76kg·m/s,Mq=-14045.05kg·m/s,Nr=-6312.38kg·m/s,
X|u|u=-30.9kg/m,Y|v|x=-206.5kg/m,Z|w|w=-338.1kg/m,K|p|p=0kg·m,M|q|q=-214.66kg·m,N|r|r=-346.26kg·m;
舵与力矩的对应参数为:Kdb=5.7×10-4,Mab=3.5×10-3,Ndr=-1.3×10-2
控制增益为:k1=10,c1=5,kQ=20,k2=40,kβ=10。
***变量初始状态为η1(0)=(1,1,7)Tm,q(0)=(0.5,0.5,0.5)T,λ(0)=1,v2(0)=(0,0,0)Trad/s。
参考轨迹为:pd=(-2.5πcos(t/2π),1.25πcos(t/2π),-2t)Tm,为使航行器螺旋下潜的指令。
仿真结果如图3所示,在航行器三维轨迹跟踪中航行器实际轨迹与参考轨迹基本重合,说明仿真效果比较好。
图4为姿态指令qd1、qd2、qd3和λd跟踪效果图。如图4所示,欠驱动无人水下航行器的仿真姿态信息与理想姿态信息也基本吻合。
根据图3-图4可以看出本发明提出的方法能很好对无人水下航行器的轨迹信息和姿态信息进行跟踪。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种欠驱动无人水下航行器轨迹生成与控制方法,其特征在于,包括:
建立水下航行器的运动学以及动力学模型,并引入单位四元数对姿态进行描述;
在已知三维参考位置信息的条件下,设计轨迹生成器,生成姿态指令信息;
设计控制器,用于跟踪所述参考位置信息和所述姿态信息。
2.如权利要求1所述的无人水下航行器轨迹生成与控制方法,其特征在于,所述无人水下航行器模型包括运动学模型、动力学模型,其表达式为:
运动学表达式:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mover> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mi>R</mi> <msup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <msub> <mi>v</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>Q</mi> <mo>&amp;CenterDot;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>T</mi> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>
其中,η1为航行器浮心在惯性坐标系下的位置坐标,单位四元数Q为机体坐标系{B}相对于惯性坐标系{E}的姿态,
<mrow> <mi>R</mi> <msup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>q</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>q</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>q</mi> <mn>3</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msup> <mi>&amp;lambda;</mi> <mn>2</mn> </msup> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <msub> <mi>q</mi> <mn>1</mn> </msub> <msub> <mi>q</mi> <mn>2</mn> </msub> <mn>2</mn> <msub> <mi>q</mi> <mn>3</mn> </msub> <mi>&amp;lambda;</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <msub> <mi>q</mi> <mn>1</mn> </msub> <msub> <mi>q</mi> <mn>3</mn> </msub> <mo>+</mo> <mn>2</mn> <msub> <mi>q</mi> <mn>2</mn> </msub> <mi>&amp;lambda;</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>2</mn> <msub> <mi>q</mi> <mn>1</mn> </msub> <msub> <mi>q</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>q</mi> <mn>2</mn> </msub> <mi>&amp;lambda;</mi> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msubsup> <mi>q</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>q</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>q</mi> <mn>3</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msup> <mi>&amp;lambda;</mi> <mn>2</mn> </msup> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <msub> <mi>q</mi> <mn>2</mn> </msub> <msub> <mi>q</mi> <mn>3</mn> </msub> <mo>-</mo> <mn>2</mn> <msub> <mi>q</mi> <mn>1</mn> </msub> <mi>&amp;lambda;</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>2</mn> <msub> <mi>q</mi> <mn>1</mn> </msub> <msub> <mi>q</mi> <mn>3</mn> </msub> <mo>-</mo> <mn>2</mn> <msub> <mi>q</mi> <mn>2</mn> </msub> <mi>&amp;lambda;</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <msub> <mi>q</mi> <mn>2</mn> </msub> <msub> <mi>q</mi> <mn>3</mn> </msub> <mo>+</mo> <mn>2</mn> <msub> <mi>q</mi> <mn>1</mn> </msub> <mi>&amp;lambda;</mi> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msubsup> <mi>q</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>q</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>q</mi> <mn>3</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msup> <mi>&amp;lambda;</mi> <mn>2</mn> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mi>T</mi> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&amp;lambda;I</mi> <mrow> <mn>3</mn> <mo>&amp;times;</mo> <mn>3</mn> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mrow> <mo>(</mo> <mi>q</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <msup> <mi>q</mi> <mi>T</mi> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>
动力学表达式:
<mrow> <mi>M</mi> <mover> <mi>v</mi> <mo>&amp;CenterDot;</mo> </mover> <mo>+</mo> <mi>C</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mi>v</mi> <mo>+</mo> <mi>D</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mi>v</mi> <mo>+</mo> <mi>G</mi> <mrow> <mo>(</mo> <mi>&amp;eta;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>&amp;tau;</mi> <mo>,</mo> </mrow>
其中,M包含附加质量的惯性矩阵,C(v)由科氏力矩阵CRB(v)与向心力矩阵CA(v)组成,D(v)为流体水动力阻尼矩阵,G(η)为恢复力与力矩向量。
3.如权利要求2所述的无人水下航行器动力学模型,其特征在于,基于四元数对姿态的描述,航行器动力学方程变换成位置动力学方程和姿态动力学方程,其表达式为:
位置动力学方程:
<mrow> <msubsup> <mi>M</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mover> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <msubsup> <mi>C</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mover> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <msubsup> <mi>C</mi> <mn>12</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>V</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>+</mo> <msubsup> <mi>D</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>V</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mover> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <mrow> <mo>(</mo> <mi>W</mi> <mo>-</mo> <mi>B</mi> <mo>)</mo> </mrow> <msub> <mi>e</mi> <mn>3</mn> </msub> <mo>=</mo> <mi>N</mi> <mi>R</mi> <msup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>;</mo> </mrow>
其中, W为航行器受到的重力,B为航行器所产生的浮力,N代表航行器沿着本体坐标系b1方向的控制推力;
姿态动力学方程:
<mrow> <msub> <mi>M</mi> <mn>22</mn> </msub> <msub> <mover> <mi>v</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>C</mi> <mn>21</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>C</mi> <mn>22</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>D</mi> <mn>22</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>+</mo> <mi>S</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>b</mi> <mi>g</mi> </msubsup> <mo>)</mo> </mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mi>We</mi> <mn>3</mn> </msub> <mo>=</mo> <mi>&amp;Gamma;</mi> <mo>.</mo> </mrow>
其中,M22是M质量惯性矩阵的一个分量,C21(v1)和C22(v2)是C(v)的两个分量,D22(v2)是D(v)流体水动力阻尼矩阵的一个分量,为重心相对于浮心在本体坐标系下的位置坐标,Γ=(Γ123)T为控制力矩。
4.如权利要求1所述的无人水下航行器轨迹生成与控制方法,其特征在于,所述轨迹生成器生成理想姿态指令信息为:
<mrow> <msub> <mi>Q</mi> <mi>d</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>q</mi> <mi>d</mi> <mi>T</mi> </msubsup> <mo>,</mo> <msub> <mi>&amp;lambda;</mi> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow>
其中,
5.如权利要求1所述的无人水下航行器轨迹生成与控制方法,其特征在于,所述控制器包括控制推力和控制力矩,其表达式为:
控制推力:
<mrow> <mi>N</mi> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>F</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>F</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>F</mi> <mn>3</mn> <mn>2</mn> </msubsup> </mrow> </msqrt> </mrow>
F=(F1,F2,F3)T
<mrow> <mi>F</mi> <mo>=</mo> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>&amp;eta;</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mover> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>,</mo> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msub> <mi>s</mi> <mn>1</mn> </msub> </mrow>
<mrow> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>&amp;eta;</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mover> <mi>&amp;eta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>,</mo> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <msubsup> <mi>M</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mover> <mover> <mi>&amp;eta;</mi> <mo>~</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <msubsup> <mi>M</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>+</mo> <msubsup> <mi>C</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>-</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <msub> <mover> <mi>&amp;eta;</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <msubsup> <mi>C</mi> <mn>12</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>+</mo> <msubsup> <mi>D</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mover> <mover> <mi>&amp;eta;</mi> <mo>~</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <msubsup> <mi>D</mi> <mn>11</mn> <mi>&amp;eta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mover> <mi>p</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>+</mo> <mrow> <mo>(</mo> <mi>W</mi> <mo>-</mo> <mi>B</mi> <mo>)</mo> </mrow> <msub> <mi>e</mi> <mn>3</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,k1,c1为大于零的控制增益;
控制力矩:
<mrow> <mi>&amp;Gamma;</mi> <mo>=</mo> <mo>-</mo> <msub> <mi>k</mi> <mi>Q</mi> </msub> <mover> <mi>q</mi> <mo>~</mo> </mover> <mo>+</mo> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mover> <mi>&amp;beta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mo>,</mo> <mover> <mi>Q</mi> <mo>~</mo> </mover> <mo>,</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>&amp;omega;</mi> <mi>d</mi> </msub> <mo>,</mo> <msub> <mover> <mi>&amp;omega;</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msub> <mi>s</mi> <mn>2</mn> </msub> </mrow>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mover> <mi>&amp;beta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mo>,</mo> <mover> <mi>Q</mi> <mo>~</mo> </mover> <mo>,</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>&amp;omega;</mi> <mi>d</mi> </msub> <mo>,</mo> <msub> <mover> <mi>&amp;omega;</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msub> <mi>M</mi> <mn>22</mn> </msub> <mover> <mi>&amp;beta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mo>+</mo> <msub> <mi>M</mi> <mn>22</mn> </msub> <mover> <mi>R</mi> <mo>&amp;CenterDot;&amp;CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mover> <mi>Q</mi> <mo>~</mo> </mover> <mo>)</mo> </mrow> <msub> <mi>&amp;omega;</mi> <mi>d</mi> </msub> <mo>+</mo> <msub> <mi>M</mi> <mn>22</mn> </msub> <mi>R</mi> <mrow> <mo>(</mo> <mover> <mi>Q</mi> <mo>~</mo> </mover> <mo>)</mo> </mrow> <msub> <mover> <mi>&amp;omega;</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>+</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <msub> <mi>C</mi> <mn>21</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>C</mi> <mn>22</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mover> <mi>v</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mo>+</mo> <mi>R</mi> <mo>(</mo> <mover> <mi>Q</mi> <mo>~</mo> </mover> <mo>)</mo> <msub> <mi>&amp;omega;</mi> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <msub> <mi>D</mi> <mn>22</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mover> <mi>v</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mo>+</mo> <mi>R</mi> <mo>(</mo> <mover> <mi>Q</mi> <mo>~</mo> </mover> <mo>)</mo> <msub> <mi>&amp;omega;</mi> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mi>S</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>b</mi> <mi>g</mi> </msubsup> <mo>)</mo> </mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>Q</mi> <mo>)</mo> </mrow> <msub> <mi>We</mi> <mn>3</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中,辅助控制量设计为kQ,k2,kβ为大于零的控制增益。
6.如权利要求5所述所述控制器,其特征在于,所述控制推力跟踪所述参考位置信息,所述控制力矩来跟踪所述姿态信息。
7.如权利要求1所述的无人水下航行器轨迹生成与控制方法,其特征在于,所述无人水下航行器模型为6自由度欠驱动水下航行器的控制模型。
CN201710962628.3A 2017-10-16 2017-10-16 一种欠驱动无人水下航行器轨迹生成与控制方法 Active CN107894775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710962628.3A CN107894775B (zh) 2017-10-16 2017-10-16 一种欠驱动无人水下航行器轨迹生成与控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710962628.3A CN107894775B (zh) 2017-10-16 2017-10-16 一种欠驱动无人水下航行器轨迹生成与控制方法

Publications (2)

Publication Number Publication Date
CN107894775A true CN107894775A (zh) 2018-04-10
CN107894775B CN107894775B (zh) 2020-08-28

Family

ID=61802797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710962628.3A Active CN107894775B (zh) 2017-10-16 2017-10-16 一种欠驱动无人水下航行器轨迹生成与控制方法

Country Status (1)

Country Link
CN (1) CN107894775B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108873925A (zh) * 2018-08-02 2018-11-23 深圳市吉影科技有限公司 一种水下无人机的定俯仰角运动控制方法及其装置
CN111781938A (zh) * 2020-06-23 2020-10-16 中国科学院声学研究所 欠驱动水下航行器及其镇定方法与装置
CN115357037A (zh) * 2022-09-14 2022-11-18 中国科学院声学研究所 一种水下航行器自适应量化控制方法及***
CN115576334A (zh) * 2022-09-07 2023-01-06 中国科学院声学研究所 一种欠驱动水下航行器编队控制方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105841698A (zh) * 2016-03-28 2016-08-10 中国船舶重工集团公司第七研究所 一种无需调零的auv舵角精确实时测量***
CN105929842A (zh) * 2016-04-20 2016-09-07 哈尔滨工程大学 一种基于动态速度调节的欠驱动uuv平面轨迹跟踪控制方法
CN107168312A (zh) * 2017-05-17 2017-09-15 哈尔滨工程大学 一种补偿uuv运动学和动力学干扰的空间轨迹跟踪控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105841698A (zh) * 2016-03-28 2016-08-10 中国船舶重工集团公司第七研究所 一种无需调零的auv舵角精确实时测量***
CN105929842A (zh) * 2016-04-20 2016-09-07 哈尔滨工程大学 一种基于动态速度调节的欠驱动uuv平面轨迹跟踪控制方法
CN107168312A (zh) * 2017-05-17 2017-09-15 哈尔滨工程大学 一种补偿uuv运动学和动力学干扰的空间轨迹跟踪控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴琪: "欠驱动智能水下机器人的三维轨迹跟踪控制方法研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *
徐正武等: "四元数在水下航行体运动建模中的应用", 《中国舰船研究》 *
高富东等: "多矢量推进水下航行器6自由度非线性建模与分析", 《机械工程学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108873925A (zh) * 2018-08-02 2018-11-23 深圳市吉影科技有限公司 一种水下无人机的定俯仰角运动控制方法及其装置
CN111781938A (zh) * 2020-06-23 2020-10-16 中国科学院声学研究所 欠驱动水下航行器及其镇定方法与装置
CN115576334A (zh) * 2022-09-07 2023-01-06 中国科学院声学研究所 一种欠驱动水下航行器编队控制方法及***
CN115357037A (zh) * 2022-09-14 2022-11-18 中国科学院声学研究所 一种水下航行器自适应量化控制方法及***

Also Published As

Publication number Publication date
CN107894775B (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
Vermillion et al. Electricity in the air: Insights from two decades of advanced control research and experimental flight testing of airborne wind energy systems
CN109634307A (zh) 一种无人水下航行器复合航迹跟踪控制方法
CN106933104A (zh) 一种基于dic‑pid的四旋翼飞行器姿态与位置的混合控制方法
Wang et al. A bio-inspired robot with undulatory fins and its control methods
CN107894775A (zh) 一种欠驱动无人水下航行器轨迹生成与控制方法
CN104898683B (zh) 一种挠性卫星神经网络反步滑模姿态控制方法
CN108459612A (zh) 基于人工势场法的无人机编队控制方法及装置
CN106708068A (zh) 仿生波动鳍推进水下航行器路径跟踪控制方法
Siddiqui et al. Lab-scale, closed-loop experimental characterization, model refinement, and validation of a hydrokinetic energy-harvesting ocean kite
CN109343347A (zh) 一种海底飞行节点的轨迹跟踪控制方法
CN107656530A (zh) 变参数开架式海洋水下机器人的轨迹跟踪控制方法、装置和***
CN114004015B (zh) 一种基于ROS-Gazebo的无人艇建模与运动仿真方法
Wen et al. Multi-body coupled dynamic modelling of the Wave Glider
CN106840143A (zh) 一种判别水下机器人姿态稳定的方法
Sandino et al. On the applicability of linear control techniques for autonomous landing of helicopters on the deck of a ship
CN108227723A (zh) 一种水下机器人及其稳定性分析及结构优化的应用方法
Thornton et al. Internal actuation of underwater robots using control moment gyros
Ghanem et al. Planar formation control of a school of robotic fish
Chen et al. Decoupling attitude control of a hypersonic glide vehicle based on a nonlinear extended state observer
Czyba Design of attitude control system for an UAV type-quadrotor based on dynamic contraction method
Razzanelli et al. Development of a hybrid simulator for underwater vehicles with manipulators
Patel et al. Control of Hybrid Transitioning Morphing-wing VTOL UAV
Ahn Attitude dynamics and control of a spacecraft using shifting mass distribution
Bao et al. Hardware-in-the-loop simulation applied to auv control
Lu et al. Nonsingular fast terminal sliding-mode tracking control for hybrid aerial underwater vehicles

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant