一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于人工势场法的多水面船分布式编队的控制方法

2022-06-05 03:38:34 来源:中国专利 TAG:


1.本发明涉及多水面船路径规划领域,具体涉及一种基于人工势场法的多水面船分布式编队的控制方法。


背景技术:

2.随着船舶控制技术的快速发展,多水面船执行任务已经成为大势所趋,但是当遇到障碍物时,船舶在自主进行路径规划这一的方面研究还不够成熟。目前,大部分的人工势场法都应用在船舶从一个起始点出发以匀速的速度到达目标点,遇到障碍物之后,自主进行路径规划。但是对于船舶在由编队控制率控制的情况下,使得船舶在遇到障碍物在之后,自主进行路径规划这一研究还少之又少。并且由于船舶处在由障碍物和目标轨迹构成的人工势场中,当目标轨迹的附近存在障碍物时,船舶受到的引力较小,斥力较大,这样船舶很难按照编队控制率控制的目标轨迹来前进。当船舶航行到一定位置的时候,在某一位置,会使得船舶所受到的引力和斥力刚好大小相等,会使得船舶陷入局部最优解或震荡;在进行多船舶避碰研究时,都是基于船舶间通讯无阻碍的情况,没有考虑在无通讯条件下的无人艇间的自主避碰。


技术实现要素:

3.本发明提供一种基于人工势场法的多水面船分布式编队的控制方法,以克服以上问题。
4.本发明包括:
5.s1、建立船舶的数学模型,并使用人工势场法,建立船舶所受的总势场函数;
6.s2、采用反步法,设计多水面船分布式的鲁棒控制律,所述鲁棒控制律用于对控制船舶进行编队;
7.s3、使用单隐层神经网络,建立船舶受力的未知函数;
8.s4、根据船舶与障碍物之间的距离信息,判断船舶是否存在碰撞危险;
9.若否,则通过所述鲁棒控制律,控制船舶按照原目标轨迹前进;若是,则根据势场模型、未知函数,计算船舶下一时刻的位置,即下一时刻的避碰路径,通过所述鲁棒控制律,控制船舶前往所述位置。
10.进一步地,s1中建立船舶的数学模型为:
[0011][0012]
其中,r(ψi)表示转换矩阵,表示第i艘船舶的位置矢量ηi的导数,第i艘船舶的位置矢量ηi的二阶导数,mi(ηi)表示船舶刚体惯量和水动力附加质量共同组成的系统惯性矩阵,表示作用于船舶的科里奥利向心力矩阵,di(ηi)表示船舶水动力阻尼系数矩阵;τi=[τ
ui τ
vi τ
ri
]
t
表示第i艘船舶的推进器力矩;ρi(t)=[ρ
u ρ
v ρr]
t
表示由海洋环境风、浪、流引起的外界干扰力及船舶航行时模型的参数不确定量;ρu表示外界干扰力及参数的不确定量在船体坐标系中纵向上的分量,ρv表示外界干扰力参数的不确定量在船体坐标
系中横向上的分量,ρr表示外界干扰力参数的不确定量在船体坐标系中艏向上的分量,τ
fi
=[τ
uf τ
vf τ
rf
]
t
表示第i艘船舶在遇到障碍物是所受到合成势场中的合力;τ
uf
表示受到合成势场中的合力在船体坐标系中纵向上的分量,τ
vf
表示受到合成势场中的合力在船体坐标系中横向上的分量,τ
rf
表示受到合成势场中的合力在船体坐标系中艏向上的分量;ηi=[xi,yi,ψi]
t
表示第i艘船舶在航行时实际位置的坐标[xi,yi]以及转艏的角度ψi。
[0013]
进一步地,s1中使用人工势场法,建立船舶所受的总势场函数,包括以下步骤:
[0014]
s11、构建全局引力势场函数:
[0015][0016]
其中,ua(x)表示全局引力势场,x=[xi,yi]表示第i艘船舶在航行时实际位置的坐标,xg=[x
gi
,y
gi
]表示第i艘船舶期望轨迹的坐标;k表示引力增益常量;
[0017]
s12、构建全局斥力势场函数:
[0018][0019]
其中,uo(x)表示全局斥力势场,η表示斥力增益常量;p表示表示第i艘船舶与障碍物中心坐标的距离;po表示船舶在运动过程中受到障碍物斥力场作用的最大范围;m为指标系数;
[0020]
s13、建立船舶所受的总势场函数,即所述势场模型:
[0021]
u(x)=ua(x) uo(x)
ꢀꢀꢀ
(4)
[0022]
其中,u(x)表示势场模型。
[0023]
进一步地,s3中所述未知函数ρi(t)为:
[0024][0025]
其中,ρi(t)表示所述未知函数,表示估计的权值向量,h(χi)表示神经网络的基函数;表示单隐层神经网络的输入向量。
[0026]
进一步地,设计估计的权值向量的自适应更新律为:
[0027][0028]
其中,表示第i艘船舶的位置矢量ηi的导数,h(χi)表示神经网络的基函数;σi表示增益参数,ki∈r3×3表示船舶的推进器力矩所对应的正定对角矩阵,k
wi
∈r3×3表示由海洋环境风、浪、流引起的外界干扰力由海洋环境风、浪、流引起的外界干扰力,表示权值向量,表示自适应更新律;表示船舶刚体惯量和水动力附加质量共同组成的系统惯性矩阵的逆矩阵,表示编队误差的转置。
[0029]
进一步地,s2包括以下步骤:
[0030]
s21、定义每一艘船舶的位置跟踪误差:
[0031]z1i
=η
i-ηgꢀꢀꢀ
(7)
[0032]
其中,z
1i
表示位置跟踪误差,即第i船舶的位置跟踪误差是第i船舶的当前轨迹与期望轨迹的差值;ηg表示船舶期望轨迹的位置[xg,yg]以及转艏的角度ψg;ηi=[xi,yi,ψi]
t

示第i艘船舶在船舶在航行时实际位置的坐标[xi,yi]以及转艏的角度ψi;
[0033]
s22、根据船舶的位置跟踪误差z
1i
,建立虚拟控制律αi:
[0034][0035]
其中,λi∈r3×3表示正定对角矩阵,αi表示虚拟控制律;
[0036]
s23、定义每艘船舶的速度跟踪误差z
2i
,所述速度跟踪误差为第i船舶的速度跟踪误差是第i船舶的当前轨迹所对应的速度与期望轨迹所对应的速度的差值;速度跟踪误差z
2i
的计算公式为:
[0037][0038]
其中,z
2i
表示速度跟踪误差,ηi=[xi,yi,ψi]
t
表示第i艘船舶在航行时实际位置的坐标[xi,yi]以及转艏的角度ψi;αi表示虚拟控制律;
[0039]
s24、计算相邻船舶间的位置同步误差:
[0040][0041]
其中,表示相邻船舶间的位置同步误差,表示船舶i的邻居集合,l
ij
表示拉普拉斯矩阵的第(i,j)个元素;z
1j
表示第j艘船舶的位置跟踪误差;j表示第j艘船舶;
[0042]
s25、设定每艘船舶位置的耦合误差ei,所述位置耦合误差用于控制多艘船舶在编队过程中位置同步;位置耦合误差ei的计算公式为:
[0043]
间的位置同步误差。
[0044]
s26、计算多艘船舶在编队时的编队误差:
[0045][0046]
s27、根据编队误差,采用反步法,设计编队鲁棒控制律:
[0047][0048]
其中,pi是正对角矩阵;z
2j
表示第j艘船舶的速度跟踪误差;λj∈r3×3表示第j艘船所对应的正定对角矩阵;r
t
(ψi)表示转换矩阵的转置;表示第i艘船舶所对应的虚拟控制律的导数;k
i-1
正定对角矩阵的转置;τi表示编队鲁棒控制律,pi∈r3×3表示正对角矩阵;ρi(t)表示未知函数,r(ψi)表示转换矩阵:表示第i艘船舶的位置矢量ηi的导数,第i艘船舶的位置矢量ηi的二阶导数,mi(ηi)表示船舶刚体惯量和水动力附加质量共同组成的系统惯性矩阵,表示作用于船舶的科里奥利向心力矩阵,di(ηi)表示船舶水动力阻尼系数矩阵;λi∈r3×3表示正定对角矩阵,αi表示虚拟控制律,γi是待设计的耦合系数;船舶的位置跟踪误差z
1i
,z
2i
表示船舶的的速度跟踪误差,ki∈r3×3表示正定对角矩阵,ei表示编队误差。
[0049]
进一步地,s4中船舶与障碍物之间的距离信息计算公式为:
[0050][0051]
其中,p表示船舶与障碍物之间的距离信息,即第i艘船舶与第i个障碍物之间的距离;x
oi
表示第i个障碍物的位置坐标中的横坐标,y
oi
表示第i个障碍物的位置坐标中的纵坐标。
[0052]
进一步地,s4中判断船舶是否存在碰撞危险:
[0053]
当p≥po时,表示船舶在安全区域的范围内前进,即不存在碰撞危险,使用编队鲁棒控制律,控制船舶运行,po表示船舶与障碍物之间的设定距离;
[0054]
当p<po时,表示船舶的安全区域范围内存在障碍物,即存在碰撞危险,则计算下一时刻船舶的位置,使用编队鲁棒控制律,控制船舶前往所述位置。
[0055]
进一步地,计算下一时刻船舶的位置,包括以下步骤:
[0056]
s41、根据引力势场函数,计算船舶受到的引力:
[0057][0058]
其中,ua(x)表示全局引力势场,τ
fa
(x)表示船舶受到的引力;x=[xi,yi]表示第i艘船舶当前位置的坐标;xg=[x
gi
,y
gi
]表示第i艘船舶当前位置对应的期望轨迹的坐标;k表示引力增益常量;
[0059]
s42、计算目标点对船舶产生的引力与x轴方向的夹角:
[0060][0061]
其中,α表示目标点对船舶产生的引力与x轴方向的夹角;xg表示船舶期望轨迹的横坐标;yg表示船舶期望轨迹的纵坐标;xi表示第i艘船舶在航行时实际位置的横坐标;yi表示第i艘船舶在航行时实际位置的纵坐标;
[0062]
s43、计算目标点对船舶的引力在x轴与y轴方向的分力为:
[0063]
τ
fax
=τ
fa
·
cosα
[0064]
τ
fay
=τ
fa
·
sinα
ꢀꢀꢀ
(17)
[0065]
其中,τ
fax
表示目标点对船舶的引力在x轴方向的分力,τ
fay
表示目标点对船舶的引力在y轴方向的分力;
[0066]
s44、根据斥力势场函数,计算船舶受到的斥为:
[0067][0068]
其中,τ
fo1
、τ
fo2
均表示斥力分量,τ
fo1
表示由障碍物指向船舶的斥力,τ
fo2
表示由船舶指向目标点的斥力;τ
fo
(x)表示船舶受到的斥力;
[0069]
s45、船舶与目标点相对距离对船舶产生的斥力与x轴方向的夹角为:
[0070][0071]
其中,β表示船舶与目标点相对距离对船舶产生的斥力与x轴方向的夹角;x
oi
表示第i个障碍物的位置坐标中的横坐标,y
oi
表示第i个障碍物的位置坐标中的纵坐标;
[0072]
船舶与目标点相对距离对船舶产的斥力在x轴与y轴方向的分力为:
[0073]
τ
fox
=τ
fo
(x)
·
cosβ
[0074]
τ
fay
=τ
fo
(x)
·
sinβ
ꢀꢀꢀ
(20)
[0075]
其中,τ
fox
表示船舶与目标点相对距离对船舶产的斥力在x轴方向的分力;τ
fay
表示船舶与目标点相对距离对船舶产的斥力在y轴方向的分力;τ
fo
(x)表示船舶受到的斥力;
[0076]
s46、船舶所受到的合力为:
[0077]
τf(x)=τ
fa
(x) τ
fo
(x)
ꢀꢀꢀ
(21)
[0078]
其中,x=[xi,yi]表示第i艘船舶在航行时实际位置的坐标,τf(x)表示船舶所受到的合力;
[0079]
船舶所受到的x方向的合力总和为:
[0080]
τ
fx
=τ
fax
τ
fox
ꢀꢀꢀ
(22)
[0081]
其中,τ
fx
表示船舶所受到的x方向的合力总和;
[0082]
船舶所受到的y方向的合力总和为:
[0083]
τ
fy
=τ
fay
τ
foy
ꢀꢀꢀ
(23)
[0084]
其中,τ
fy
表示船舶所受到的y方向的合力总和;
[0085]
s47、计算船舶的航向角:
[0086][0087]
其中,h表示船舶的航向角;
[0088]
s48、根据步骤s47所求得的航向角,计算下一时刻船舶的位置表达式为:
[0089][0090]
其中,xg(t)表示第t时刻船舶的位置的横坐标;yg(t)表示第t时刻船舶的位置的纵坐标;ui表示第t时刻船舶的纵向速度;vi表示第t时刻船舶的横向速度;xg(t 1)表示下一时刻船舶的位置的横坐标;yg(t 1)表示下一时刻船舶的位置的纵坐标;t表示周期。
[0091]
有益效果:
[0092]
当船舶有未知环境的干扰以及模型的参数不确定时,利用神经网络来逼近;在船舶受到未知环境扰动的影响下,本发明通过利用船舶的位置跟踪误差与相邻船舶之间的同步误差,采用反步法进行构建编队控制率来解决多艘水面船同步性能较差的问题;当遇到障碍物时,通过在原有斥力场的基础上,加入了物体与障碍物距离的影响,解决了船舶不能按照原先编队的目标轨迹前进的问题。本发明提高无人艇在航行时的安全性,有效的预防了船舶的避碰;且这种改进的人工势场法运算简单,算法结构简洁,且实时性较高,可以广泛应用到工程实践中。
附图说明
[0093]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0094]
图1为本发明步骤流程图。
具体实施方式
[0095]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0096]
如图1所示,本发明包括以下步骤:
[0097]
s1、建立船舶的数学模型,并使用人工势场法,建立船舶所受的总势场函数;
[0098]
s2、采用反步法,设计多水面船分布式的鲁棒控制律,所述鲁棒控制律用于对控制船舶进行编队;
[0099]
s3、使用单隐层神经网络,建立船舶受力的未知函数;
[0100]
s4、根据船舶与障碍物之间的距离信息,判断船舶是否存在碰撞危险;
[0101]
若否,则通过所述鲁棒控制律,控制船舶按照原目标轨迹前进;若是,则根据势场模型、未知函数,计算船舶下一时刻的位置,即下一时刻的避碰路径,通过所述鲁棒控制律,控制船舶前往所述位置。
[0102]
优选的,s1中建立船舶的数学模型为:
[0103][0104]
其中,r(ψi)表示转换矩阵,表示第i艘船舶的位置矢量ηi的导数,第i艘船舶的位置矢量ηi的二阶导数,mi(ηi)表示船舶刚体惯量和水动力附加质量共同组成的系统惯性矩阵,表示作用于船舶的科里奥利向心力矩阵,di(ηi)表示船舶水动力阻尼系数矩阵;τi=[τ
ui τ
vi τ
ri
]
t
表示第i艘船舶的推进器力矩;ρi(t)=[ρ
u ρ
v ρr]
t
表示由海洋环境风、浪、流引起的外界干扰力及船舶航行时模型的参数不确定量;ρu表示外界干扰力及参数的不确定量在船体坐标系中纵向上的分量,ρv表示外界干扰力参数的不确定量在船体坐标系中横向上的分量,ρr表示外界干扰力参数的不确定量在船体坐标系中艏向上的分量,τ
fi
=[τ
uf τ
vf τ
rf
]
t
表示第i艘船舶在遇到障碍物是所受到合成势场中的合力;τ
uf
表示受到合成势场中的合力在船体坐标系中纵向上的分量,τ
vf
表示受到合成势场中的合力在船体坐标系中横向上的分量,τ
rf
表示受到合成势场中的合力在船体坐标系中艏向上的分量;ηi=[xi,yi,ψi]
t
表示第i艘船舶在航行时实际位置的坐标[x
i,
yi]以及转艏的角度。
[0105]
具体而言,考虑到包含n艘水面船的编队系统(编号为0,1,....n),第i艘水面船的运动学模型和动力学模型为:
[0106][0107]
其中,ηi=[xi,yi,ψi]
t
表示第i艘船舶在航行时实际位置的坐标[xi,yi]以及转艏的角度ψi;vi=[ui,vi,ri]
t
表示第i艘船舶在惯性坐标系下的平移速度[ui,vi]以及艏向回转率ri;i=1,2...n表示第i艘船舶,n表示需要进行编队的船舶总数量;
[0108]
其中,r(ψi)表示船体坐标系到大地坐标系转换的矩阵:
[0109]
[0110]
且:
[0111]
r(ψi)r
t
(ψi)=i3×3ꢀꢀꢀ
(4)
[0112]
其中,i3×3表示三阶单位矩阵。
[0113][0114][0115]
其中,s(ri)是反对称矩阵:
[0116][0117]
m=m
rb
ma是由船舶刚体惯性矩阵和水动力附加质量矩阵共同组成的系统惯性矩阵,其中,代表船舶刚体惯性矩阵,表示水动力附加质量矩阵;
[0118][0119][0120]
其中,m是船舶质量,xg表示船体坐标系下的坐标原点到重心的纵向距离,iz为船体坐标系下船舶绕oz轴转动的转动惯量,是纵向加速度产生的纵向附加质量系数,是横向加速度产生的横向附加质量系数,是艏向角加速度产生的横向附加质量系数,是艏向角加速度产生的艏向附加质量系数;
[0121]
c(v)=c
rb
(v) ca(v)是作用于船舶的科里奥利向心力矩阵,其中,代表船舶自身刚体科里奥利向心力矩阵,表示由水动力附加质量引起的科里奥利向心力矩阵;
[0122][0123][0124]
d是船舶水动力线性阻尼系数矩阵;
[0125][0126]
其中,xu表示船舶纵向速度产生的纵向线性阻尼系数,yv表示船舶横向速度产生的
横向线性阻尼系数,yr表示船舶艏向角速度产生的横向线性阻尼系数,nv表示船舶横向速度产生的艏向线性阻尼系数,nr表示船舶艏向角速度产生的艏向线性阻尼系数;
[0127]
将运动学方程式代入入到动力学模型中,可得到船舶的数学模型为:
[0128][0129]
其中:
[0130]
mi(ηi)=r(ψi)mir-1
(ψi)
ꢀꢀꢀ
(14)
[0131][0132]di
(ηi)=r(ψi)dir-1
(ψi)
ꢀꢀꢀ
(16)
[0133]
优选的,s1中使用人工势场法建立船舶的工作区域的势场模型:
[0134]
s11、使用人工势场法建立船舶的工作区域的势场模型:
[0135]
s12、构建全局引力势场函数:
[0136][0137]
其中,ua(x)表示全局引力势场,x=[xi,yi]表示第i艘船舶在航行时实际位置的坐标,xg=[x
gi
,y
gi
]表示第i艘船舶期望轨迹的坐标;
[0138]
k表示引力增益常量;
[0139]
s13、构建全局斥力势场函数:
[0140][0141]
其中,uo(x)表示全局斥力势场,η表示斥力增益常量;p表示表示第i艘船舶与障碍物中心坐标的距离;po表示船舶在运动过程中受到障碍物斥力场作用的最大范围;m为指标系数;
[0142]
具体而言,m本实施例中取值为2,船舶在目标点附近斥力逐渐减小,引力逐渐增大,从而解决船舶不能按照原目标轨迹前进的问题。
[0143]
s14、建立船舶所受的总势场函数,即所述势场模型:
[0144]
u(x)=ua(x) uo(x)
ꢀꢀꢀ
(19)
[0145]
其中,u(x)表示势场模型。
[0146]
优选的,所述s2中未知函数ρi(t)为,
[0147][0148]
其中,ρi(t)表示未知函数,表示估计的权值向量,h(χi)表示神经网络的基函数;表示单隐层神经网络的输入向量;
[0149]
具体而言h(χi)本实施例选取的是sigmoid函数,即
[0150][0151]
具体而言,本实例的未知函数用于计算阻尼矩阵的不确定部分以及海洋环境风、浪、流引起的外界干扰力。
[0152]
优选的,设计估计的权值向量的自适应更新律为:
[0153][0154]
其中,表示第i艘船舶的位置矢量ηi的导数,h(χi)表示神经网络的基函数;σi表示增益参数,ki∈r3×3表示船舶的推进器力矩所对应的正定对角矩阵,k
wi
∈r3×3表示由海洋环境风、浪、流引起的外界干扰力由海洋环境风、浪、流引起的外界干扰力,表示权值向量,表示自适应更新律;表示船舶刚体惯量和水动力附加质量共同组成的系统惯性矩阵的逆矩阵,表示编队误差的转置。
[0155]
优选的,s3包括以下步骤:
[0156]
s31、定义每一艘船舶的位置跟踪误差:
[0157]z1i
=η
i-ηgꢀꢀꢀ
(23)
[0158]
其中,z
1i
表示位置跟踪误差,即第i船舶的位置跟踪误差是第i船舶的当前轨迹与期望轨迹的差值;
[0159]
ηg表示船舶期望轨迹的位置[xg,yg]以及转艏的角度ψg;ηi=[xi,yi,ψi]
t
表示第i艘船舶在航行时实际位置的坐标[xi,yi]以及转艏的角度ψi;
[0160]
s32、根据船舶的位置跟踪误差z
1i
,建立虚拟控制律αi:
[0161]
αi=η
g-λiz
1i
ꢀꢀꢀ
(24)
[0162]
其中,λi∈r3×3表示正定对角矩阵,αi表示虚拟控制律。
[0163]
s33、定义每艘船舶的速度跟踪误差z
2i
,所述速度跟踪误差为第i船舶的速度跟踪误差是第i船舶的当前轨迹所对应的速度与期望轨迹所对应的速度的差值;速度跟踪误差z
2i
的计算公式为:
[0164][0165]
其中,z
2i
表示速度跟踪误差,ηi=[xi,yi,ψi]
t
表示第i艘船舶在航行时实际位置的坐标[xi,yi]以及转艏的角度ψi;αi表示虚拟控制律;
[0166]
s34、计算相邻船舶间的位置同步误差:
[0167][0168]
其中,表示相邻船舶间的位置同步误差,表示船舶i的邻居集合,l
ij
表示拉普拉斯矩阵的第(i,j)个元素;
[0169]
具体而言,将各艘船舶视为图,用各艘船舶的位置视为节点。
[0170]
拉普拉斯矩阵是一种图形拓扑的矩阵描述。拉普拉斯矩阵可表示为:
[0171][0172]
其中矩阵是图的度矩阵,是图的邻接矩阵。
[0173]
邻接矩阵是用来表示节点(即船舶)之间连接关系的矩阵。邻接矩阵定义为:
[0174][0175]
其中是节点i的邻居集合;a
ij
是指边(j,i)的权值。
[0176]
度矩阵是用来描述节点(船舶)与其相连所有节点(船舶)的连接程度的矩阵,则度矩阵定义为:
[0177][0178]
其中,a
ij
是邻接矩阵的第(i,j)个元素,是节点i的邻居集合。
[0179]
s35、定义每艘船舶的位置耦合误差ei,所述位置耦合误差用于控制多艘船舶在编队过程中位置同步;位置耦合误差ei的计算公式为:
[0180][0181]
其中,γi是待设计的耦合系数。
[0182]
s36、计算多艘船舶在编队时的编队误差:
[0183][0184]
其中,ki∈r3×3是正定对角矩阵。
[0185]
具体而言,对船舶编队系统的编队误差ei求导,并且联立前面步骤的式子得到:
[0186][0187]
之后为船舶编队系统的编队误差来构建如下李雅普诺夫函数:
[0188][0189]
对李雅普诺夫函数v1求导,得:
[0190][0191]
s37、根据编队误差,采用反步法,设计编队鲁棒控制律:
[0192][0193]
其中,pi是正对角矩阵;z
2j
表示第j艘船舶的速度跟踪误差;λj∈r3×3表示第j艘船所对应的正定对角矩阵;r
t
(ψi)表示转换矩阵的转置;表示第i艘船舶所对应的虚拟控制律的导数;k
i-1
正定对角矩阵的转置;τi表示编队鲁棒控制律,pi∈r3×3表示正对角矩阵;ρi(t)表示未知函数,r(ψi)表示转换矩阵:表示第i艘船舶的位置矢量ηi的导数,第i艘船舶的位置矢量ηi的二阶导数,mi(ηi)表示船舶刚体惯量和水动力附加质量共同组成的系统惯性矩阵,表示作用于船舶的科里奥利向心力矩阵,di(ηi)表示船舶水动力阻尼系数矩阵;λi∈r3×3表示正定对角矩阵,αi表示虚拟控制律,γi是待设计的耦合系数;船舶的位置跟踪误差z
1i
,z
2i
表示船舶的的速度跟踪误差,ki∈r3×3表示正定对角矩阵,ei表示编队误差。
[0194]
具体而言,r(ψi)是表示船体坐标系到大地坐标系转换的矩阵。
[0195]
优选的,s4中船舶与障碍物之间的距离信息计算公式为:
[0196][0197]
其中,p表示船舶与障碍物之间的距离信息,即第i艘船舶与第i个障碍物之间的距离;x
oi
表示第i个障碍物的位置坐标中的横坐标,y
oi
表示第i个障碍物的位置坐标中的纵坐标。
[0198]
优选的,s4中判断船舶是否存在碰撞危险:
[0199]
当p≥po时,表示船舶在安全区域的范围内前进,即不存在碰撞危险,使用编队鲁棒控制律,控制船舶运行;ρo表示船舶与障碍物之间的设定距离,po为根据经验设定;
[0200]
当p<po时,表示船舶的安全区域范围内存在障碍物,即存在碰撞危险,则计算下一时刻船舶的位置,使用编队鲁棒控制律,控制船舶前往所述位置。
[0201]
优选的,计算下一时刻船舶的位置包括以下步骤:
[0202]
s41、根据步骤s121所构建的引力势场函数,计算船舶受到的引力:
[0203][0204]
其中,τ
fa
(x)表示船舶受到的引力;x=[xi,yi]表示第i艘船舶当前位置的坐标;xg=[x
gi
,y
gi
]表示第i艘船舶当前位置对应的期望轨迹的坐标;
[0205]
s42、计算目标点对船舶产生的引力与x轴方向的夹角:
[0206][0207]
其中,α表示目标点对船舶产生的引力与x轴方向的夹角;x
gi
表示船舶期望轨迹的横坐标;y
gi
表示船舶期望轨迹的纵坐标;xi表示第i艘船舶在航行时实际位置的横坐标;yi表示第i艘船舶在航行时实际位置的纵坐标;
[0208]
s45、船舶与目标点相对距离对船舶产生的斥力与x轴方向的夹角为:
[0209][0210]
其中,β表示船舶与目标点相对距离对船舶产生的斥力与x轴方向的夹角;x
oi
表示第i个障碍物的位置坐标中的横坐标,y
oi
表示第i个障碍物的位置坐标中的纵坐标;
[0211]
船舶与目标点相对距离对船舶产的斥力在x轴与y轴方向的分力为:
[0212]
τ
fox
=τ
fo
(x)
·
cosβ
[0213]
τ
fay
=τ
fo
(x)
·
sinβ
ꢀꢀꢀ
(40)
[0214]
其中,τ
fox
表示船舶与目标点相对距离对船舶产的斥力在x轴方向的分力;τ
fay
表示船舶与目标点相对距离对船舶产的斥力在y轴方向的分力;
[0215]
s46、船舶所受到的合力为:
[0216]
τf(x)=τ
fa
(x) τ
fo
(x)
ꢀꢀꢀ
(41)
[0217]
其中,x=[xi,yi]表示第i艘船舶在航行时实际位置的坐标,τf(x)表示船舶所受到的合力;
[0218]
船舶所受到的
x
方向的合力总和为:
[0219]
τ
fx
=τ
fax
τ
fox
ꢀꢀꢀ
(42)
[0220]
其中,τ
fx
表示船舶所受到的x方向的合力总和;
[0221]
船舶所受到的y方向的合力总和为:
[0222]
τ
fy
=τ
fay
τ
foy
ꢀꢀꢀ
(43)
[0223]
其中,τ
fy
表示船舶所受到的y方向的合力总和;
[0224]
s47、计算船舶的航向角:
[0225][0226]
其中,h表示船舶的航向角;
[0227]
s48、根据步骤s47所求得的航向角,计算下一时刻船舶的位置表达式为:
[0228][0229]
其中,xg(t)表示第t时刻船舶的位置的横坐标;yg(t)表示第t时刻船舶的位置的纵坐标;ui表示第t时刻船舶的纵向速度;vi表示第t时刻船舶的横向速度;xg(t 1)表示下一时刻船舶的位置的横坐标;yg(t 1)表示下一时刻船舶的位置的纵坐标;t表示周期。
[0230]
具体而言,周期的数值为根据经验设定。
[0231]
有益效果:
[0232]
当船舶有未知环境的干扰以及模型的参数不确定时,利用神经网络来逼近;在船舶受到未知环境扰动的影响下,本发明通过利用船舶的位置跟踪误差与相邻船舶之间的同步误差,采用反步法进行构建编队控制率来解决多艘水面船同步性能较差的问题;当遇到障碍物时,通过在原有斥力场的基础上,加入了物体与障碍物距离的影响,解决了船舶不能按照原先编队的目标轨迹前进的问题。本发明提高无人艇在航行时的安全性,有效的预防了船舶的避碰;且这种改进的人工势场法运算简单,算法结构简洁,且实时性较高,可以广泛应用到工程实践中。
[0233]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献