本发明涉及一种多auv编队方法,特别是涉及一种一种通信限制下基于预测控制的多auv编队方法。
背景技术:
auv在执行编队任务时,需要获得编队中其它auv的位置、航向、速度等信息。在水下唯一有效的通信方式是水声通信,但是水声通信的带宽比较窄、距离较短、质量也不是特别好,通信失效和时延都会增加系统的不稳定性和不可控性,不利于编队的形成和队形保持。针对这一情形有的学者将编队控制分成两个子问题:在底层,auv根据控制律向虚拟目标运动实现路径跟踪;在高层,通过调整虚拟目标的速度使auv之间的运动到达一致。有的学者用人工势场法设计编队控制律,通过降低编队过程中对通信的要求来解决通信时延,本发明使用图论建立通信网络,利用通信网络来交换或共享相关的运动信息来实现多auv的协调控制。
假定多auv都在水声通信距离范围内,考虑在多auv之间的通信条件为弱通信时,基于逻辑通信的控制策略设计预测控制器,编队中每个auv使用简单的原则和少量的信息交换,减少通信量,多auv间的协调是通过预估与之相邻的auv的协调状态来实现的,此方法可以降低通信成本,适用于复杂的水下通信环境。
技术实现要素:
针对上述现有技术,本发明要解决的技术问题是借鉴预测控制思想提供一种使auv可以在通信约束(包括数据包丢失和通信时延)条件下仍可以形成期望编队队形,并可以保持此队形航行的一种通信限制下基于预测控制的多auv编队方法。
针对上述技术问题,本发明一种通信限制下基于预测控制的多auv编队方法,包括以下步骤:
步骤一:建立每个auv的水平面模型;
步骤二:初始化编队中每个auv的速度,位置和艏向角;
步骤三:基于步骤一的auv水平面模型,引入虚拟参考点,设计动力学路径跟踪控制器和运动学路径跟踪控制器,完成单个auv的路径跟踪;
步骤四:判断auv之间是否存在通信约束,当auv间不存在通信约束时,执行步骤五;当auv间通信存在约束时,执行步骤六;
步骤五:设计协调编队控制器,利用图论建立多auv间的通信拓扑关系和协调误差模型,通过对虚拟参考点的整体协调控制,实现编队队形,执行步骤八;
步骤六:基于逻辑通信的控制策略,设计预测控制器,对其它auv的协调状态进行估计;
步骤七:判断是否实现期望编队,当形成期望编队,执行步骤八;当未形成期望编队,返回步骤六继续执行;
步骤八:保持此队形航行至目标点。
本发明一种通信限制下基于预测控制的多auv编队方法,还包括:
1.auv的水平面模型满足:
其中:
2.步骤二初始化编队中每个auv的速度,位置和艏向角,具体为:
编队中n个auv,在初始时刻指定其中任意一个auv是领航者,其余auv是跟随者;
n个auv在初始时刻上浮至海面,每个auv通过gps获得自身的位置信息;
领航者使用所携带的声呐设备向与之相邻的跟随者发送自身的位置、速度和艏向角信息,跟随者间也使用所携带的声呐设备将位置、速度、艏向角发送给与之相邻的auv。
n个auv下潜至同一深度开始定深航行,领航者将自身的位置、速度和艏向角发送给与之相邻的auv。
3.步骤三具体过程为:
针对步骤一建立的水平面模型,设计控制律τa=[τu,τr]t,使
ue(t)=u(t)-ud(t)代表速度跟踪误差,控制律为:
其中,k1=diag{ku,kr}是正定矩阵,ma为质量和惯性矩阵,ca为科氏和向心矩阵,da为阻尼和摩擦力矩阵,ud和rd为期望速度和角速度,τu和τr为力和力矩;
将路径跟踪的位置误差定义为
其中
将auv当前航迹点和参考点两者间的距离作为新的误差向量(ε-δ),ν1=[u,v]t,δ是一常量,已知u=ud+ue,式(3)可以被写为:
设计ud的控制律,ud是与参数ξ相对应的速度,目标点的期望速度为
即:
控制律
其中,p=diag{1,0.01},f为双曲正切函数:f(x)=tanh(x),其中,k2=diag{kx,ky}为正定阵。
4.步骤五具体为:
多个auv情形∑:={1,…,n},用ξ=[ξ1,…,ξn]t表示auv间的协调状态;
对于编队中的跟随者auv,为
定义协调误差为:
ξe=gξ(7)
其中,g=d-1(d-a),d为通信拓扑图g的顶点度矩阵,a为邻接矩阵,当dii=0时,
对(7)求导并把式(5)代入(7)中,得
ud是由各个auv的期望速度所构成的向量,即
则编队中各个auv均在设计的运动控制律(2)和(6)作用下沿期望的路径航行,假定g是一个标准的拉普拉斯矩阵、描述了多auv间的通信拓扑结构,假设相邻auv间的通信是连续的,分散控制律为:
ul=ud+kef(gξ)(9)
其中,f(x)=tanh(x),ke是一个足够大的常值。
5.步骤六具体为:
将式(5)和式(9)代入到式(8)中,得状态估计方程为:
通过将它的真实值和估计值进行比较来确定给相邻的auv发送信息的时间,若在某一个明确的时间点tk,估计值和真实值之间的差值大于某一个阈值,即
则编队协调控制律(9)可以变为:
假定auvi在时间tk时开始通过通信拓扑向与之相邻的auv发送自己的协调状态信息,在其旁边的auvj和auvk在tk+τ1和tk+τ2接收到此信息;
当时延有界时,上式就是有界的;
在tk时auvi将信息传递给auvj,auvj在tk+τij收到该信息,在收到该信息后auvj会把在此刻计算得到的时延τij传递给auvi,而auvi接收到该信息的时刻点是t=tk+τij+τji,假定有下式成立:
其中
假设auvi在时刻tk要跟auvj交换信息ξi,假设传输时延的最大值是τmax,如果在tk+τmax这个时间点之前auvi可以接收到auvj传输回来的回复信息,那么在tk+τmax时刻所有auv的估计状态信息更新完毕;
若在规定的时间内没有接收到回复信息,意味着该信息已经丢失,此时需要将下一拍的数据发送过来,将信息发送和信息更新时两者间最大的时间差选为最新的ξi和τmax,真实值和估计值间的误差满足:
同一链路之间的估计同步,即:
如果auvj已经收到信息,auvi仍然没有收到回复信息,则只有auvj进行了状态信息更新,则auvi再重新发送一个信息,不管是否存在时延控制律(12)都一直有效。
本发明的有益效果:本发明基于逻辑通信的控制策略设计预测控制器,适用于存在弱通信约束下(包括数据包丢失和通信时延)多auv的编队控制。
1.方法适合实际应用。由于水下环境的约束,auv间通信肯定存在时延,且通信信息量较小,本方法在编队过程中不需要auv间进行大量的信息交换。
2.具有实际应用价值。auv单体往往功能单一,应用会受到限制,多auv编队协同可以更高效的完成作业任务。编队作业可以用于海底石油管道的检修等。
本发明使得多auv在弱通信约束下仍可以形成并保持期望队形,方法比较简单,应用范围广。
附图说明
图1是本发明的工作流程图;
图2是多auv编队航迹示意图;
图3是领航auv速度与角速度示意图;
图4是跟随auv1速度与角速度示意图;
图5是跟随auv2速度与角速度示意图;
图6是跟随auv3速度与角速度示意图;
图7是跟随auv4速度与角速度示意图;
图8是各auv的位置误差示意图。
具体实施方式
下面结合附图和案例对本发明做进一步描述。
本发明流程如图1所示,当多auv间通信条件为弱通信时,基于逻辑通信控制策略设计预测控制器,通过对auv的协调状态进行估计,达到协调编队的目的,在程序中设定的是通信时延为5s,跟随者在5s后才接收到领航者的信息,而数据包丢失是此间5s内的信息都已丢失,跟随者得到的信息是离散的,所设计的预测控制器可以很好的对信息进行估计,实现编队队形,主要以时延情形进行说明。
步骤一:建立auv的水平面模型:
其中:
步骤二:单体控制器的设计
本案例以5个auv为例进行说明,假定领航者和跟随者的控制器都是一样的,针对所用的动力学方程(1),令ud(t)=[ud,rd]t∈r2,假定ud是光滑的,对时间可微且有界,设计控制律τa=[τu,τr]t,使
ue(t)=u(t)-ud(t)代表速度跟踪误差。控制律为
由前面建立的auv运动学模型,运动学路径跟踪控制问题可以表述为:用连续变量ξ(t)∈r把期望路径γ(ξ)∈r2参数化,ud(ξ)∈r是期望速度,当变量ξ是微分有界的,且期望路径γ(ξ)是连续光滑的,通过设计合适的控制器可以让auv航迹收敛到期望路径。
路径跟踪的位置误差可以定义为
对其求导可得
其中
将auv当前航迹点和参考点两者间的距离作为新的误差向量(ε-δ),ν1=[u,v]t,已知u=ud+ue,式(4)可以被写为:
设计ud的控制律,ud不是auv的真实速度,是与参数ξ相对应的速度,目标点的期望速度为
即:
控制律
其中,p=diag{1,0.01},f为双曲正切函数:f(x)=tanh(x),
第三步:在控制律(2)和(7)作用下,可以实现单体的路径跟踪,下面针对理想通信条件下,实现编队,设计编队控制器,用ξ=[ξ1,…,ξn]t表示auv间的协调状态。
对于编队中的其他auv,为
定义协调误差为
ξe=gξ(8)
其中,g=d-1(d-a)。
对(8)求导并把式(6)代入(8)中,得
ud是由各个auv的期望速度所构成的向量,即
这样编队中各个auv都可以在设计的运动控制律(2)和(7)作用下沿期望的路径航行,假定g是一个标准的laplacian矩阵,此矩阵描述了多auv间的通信拓扑结构,假设相邻auv间的通信是连续的,分散控制律为
ul=ud+kef(gξ)(10)
其中,f(x)=tanh(x),ke=4000。
第四步:预测控制器设计。当多auv间通信条件为弱通信时,前面设计的编队协调控制器不再适用,此时基于逻辑通信控制策略设计一种预测控制器,多auv间的协同可以通过预估与之相邻的auv的协调状态来实现,此方法可以降低通信成本,适用于复杂的水下通信环境,编队的协调是通过交换某两个auv之间的协同状态实现的,编队中auv需要估计其它个体的协同状态。
将式(6)和式(10)代入到式(9)中,得状态估计方程为:
通过将它的真实值和估计值进行比较来确定什么时候给相邻的auv发送信息,若在某一个明确的时间点tk,它的估计值和真实值之间的差值大于某一个阈值
则编队协调控制律(10)可以变为:
假定auv1在时间t=10s时开始通过通信拓扑向与之相邻的auv发送自己的协调状态信息,在其旁边的auv2,auv3,auv4,auv5分别在t=15s,t=15s,t=20s,t=20s接收到此信息。如果说它们四个在接收到信息之后都可以及时更新ξ1的估计值,那么所应用的估计模块就不能再保持同步性,但是当通信网络拓扑结构需要进行信息更新时必须要保证在时间上具有同步性,所以通信策略需要改变。为每一个auv装备了不同个数(它的值是和它相邻的auv的个数)的估计模块(就是在一条通信链路上会有两个估计器),用来解决当有时延时如何实现状态估计同步的问题。
用
当时延有界时,上式就是有界的。
前面所设计的编队控制策略都是假定通信信道两端之间的时延是一样的,但是在现实中,会出现同一通信信道的两端接收和发送信息所用的时间不同这个情形,在t=10s时auv1将信息传递给auv2,auv2在t=15s收到该信息,在收到该信息后auv2会把在此刻计算得到的时延τ21传递给auv1,而auv1接收到该信息的时刻点是t=20s,我们假定有下式成立:
|τ21-τ12|≤0.01
即:
auv1在时刻t=10s要跟auv2交换信息ξi,设定传输时延的最大值是5s,如果在t=15s这个时间点之前auv1可以接收到auv2传输回来的回复信息,那么意味着在t=15s时刻所有auv的估计状态信息都已经更新完毕。
若在规定的时间内没有接收到回复信息,意味着该信息已经丢失,此时需要将下一拍的数据(将信息发送和信息更新时两者间最大的时间差选为最新的ξ1和t=5s)发送过来,和前面的控制策略相比,这个策略中的真实值和估计值间的误差比较大,即有下式成立:
另外,这也确保了同一链路之间的估计同步,即
如果auv2已经收到信息,但是auv1仍然没有收到回复信息,这就说明只有auv2进行了状态信息更新,这个时候auv1可以再重新发送一个信息。不管是否存在时延控制律(13)都一直有效,若auv装备有多个估计模块,假设auv2有两个估计模块,可以由auv1的估计模块得到ξ1的精确预估,此模块可以把它的值应用到控制律当中,同理可得,auv3,auv4,auv5,的估计模块也会使用ξ3,ξ4,ξ5因此有下式成立:
仿真结果如图2-图8所示,为了更好的检验上章所设计的控制器切实有效,进行仿真时将轨迹分成直线和圆形,从图中可以看出,auv在直线编队航行时,各auv的初始位置并不规则,因此在初始阶段,跟踪误差比较大,但是各跟随者仍可以跟踪上领航者,尽管存在通信延迟,编队能够保持直线形队形,跟踪误差也趋近于零。在400m处领航者的航行路径从直线变为圆形时,auv所构成的编队动态变化,可以看出在开始时各auv的跟踪误差较大,经过一段时间的航行,编队中各auv都可以跟踪上领航者的航迹,编队系统在存在通信时延的情况下,仍能获得很好的编队队形,但是因为存在时延,auv的跟踪误差并未收敛到零,而是收敛到一个小的恒值,误差是一致最终有界的。
本发明具体实施方式还包括:
包括以下步骤:
步骤一:建立每个auv的水平面模型;
步骤二:初始化编队中每个auv的速度,位置和艏向角;
步骤三:基于步骤一的auv水平面模型,引入虚拟参考点,设计动力学路径跟踪控制器和运动学路径跟踪控制器,完成单个auv的路径跟踪;
步骤四:判断auv之间是否存在通信约束,当auv间不存在通信约束时,执行步骤五;当auv间通信存在约束时,执行步骤六;
步骤五:设计协调编队控制器,利用图论建立多auv间的通信拓扑关系和协调误差模型,通过对虚拟参考点的整体协调控制,实现编队队形,执行步骤八;
步骤六:设计协调编队控制器,基于逻辑通信的控制策略,设计预测控制器,对auv的协调状态进行估计;
步骤七:判断是否实现期望编队,当形成期望编队,执行步骤八;当未形成期望编队,返回步骤六继续执行;
步骤八:保持此队形航行至目标点。
auv的水平面模型满足:
其中:
步骤二初始化编队中每个auv的速度,位置和艏向角,具体为:
编队中n个auv,在初始时刻指定其中任意一个auv是领航者,其余auv是跟随者;
n个auv在初始时刻上浮至海面,每个auv通过gps获得自身的位置信息;
领航者通过声呐设备向与之相邻的跟随者发送自身的位置、速度和艏向角信息,跟随者通过声呐设备将自身的位置和艏向角发送给相邻auv;
n个auv下潜至同一深度开始定深航行,领航者将自身的位置和艏向角发送给与之相邻的auv。
步骤三具体过程为:领航者控制律
针对步骤一建立的水平面模型,设计控制律τa=[τu,τr]t,使
ue(t)=u(t)-ud(t)代表速度跟踪误差,控制律为:
其中,k1=diag{ku,kr}是正定矩阵,ma为质量和惯性矩阵,ca为科氏和向心矩阵,da为阻尼和摩擦力矩阵,ud和rd为期望速度和角速度,τu和τr为力和力矩;
将路径跟踪的位置误差定义为
其中
将auv当前航迹点和参考点两者间的距离作为新的误差向量(ε-δ),ν1=[u,v]t,δ是一常量,已知u=ud+ue,式(3)可以被写为:
设计ud的控制律,ud是与参数ξ相对应的速度,目标点的期望速度为
即:
控制律
其中,p=diag{1,0.01},f为双曲正切函数:f(x)=tanh(x),
步骤五具体为:
多个auv情形∑:={1,…,n},用ξ=[ξ1,…,ξn]t表示auv间的协调状态。
对于编队中的跟随者auv,为
定义协调误差为:
ξe=gξ(7)
其中,g=d-1(d-a),d为通信拓扑图g的顶点度矩阵,a为邻接矩阵,当dii=0时,
对(7)求导并把式(5)代入(7)中,得
ud是由各个auv的期望速度所构成的向量,即
这样编队中各个auv都可以在设计的运动控制律(2)和(6)作用下沿期望的路径航行,假定g是一个标准的拉普拉斯(laplacian)矩阵,此矩阵描述了多auv间的通信拓扑结构,假设相邻auv间的通信是连续的,可得跟随auv的控制律为
ul=ud+kef(gξ)(9)
其中,f(x)=tanh(x),ke=4000。
步骤六具体为:
将式(5)和式(9)代入到式(8)中,得状态估计方程为:
通过将它的真实值和估计值进行比较来确定什么时候给相邻的auv发送信息,若在某一个明确的时间点tk,它的估计值和真实值之间的差值大于某一个阈值
则编队协调控制律(9)可以变为:
假定auvi在时间tk时开始通过通信拓扑向与之相邻的auv发送自己的协调状态信息,在其旁边的auvj和auvk在tk+τ1和tk+τ2接收到此信息。
用
当时延有界时,上式就是有界的。
在tk时auvi将信息传递给auvj,auvj在tk+τij收到该信息,在收到该信息后auvj会把在此刻计算得到的时延τij传递给auvi,而auvi接收到该信息的时刻点是t=tk+τij+τji,我们假定有下式成立:
其中
假设auvi在时刻tk要跟auvj交换信息ξi,假设传输时延的最大值是τmax,如果在tk+τmax这个时间点之前auvi可以接收到auvj传输回来的回复信息,那么意味着在tk+τmax时刻所有auv的估计状态信息都已经更新完毕。
若在规定的时间内没有接收到回复信息,意味着该信息已经丢失,此时需要将下一拍的数据(将信息发送和信息更新时两者间最大的时间差选为最新的ξi和τmax)发送过来,和前面的控制策略相比,这个策略中的真实值和估计值间的误差比较大,即有下式成立:
另外,这也确保了同一链路之间的估计同步,即
如果auvj已经收到信息,但是auvi仍然没有收到回复信息,这就说明只有auvj进行了状态信息更新,这个时候auvi可以再重新发送一个信息。不管是否存在时延控制律(12)都一直有效。
本发明具体实施方式还包括:
初始化编队中auv的速度,位置和艏向角;
引入虚拟参考点,设计动力学路径跟踪控制器和运动学路径跟踪控制器,实现单个auv的路径跟踪;
设计协调编队控制器,利用图论描述多auv间的通信拓扑关系,建立协调误差模型,通过对虚拟参考点的整体协调控制,实现编队队形。
当多auv间通信条件为弱通信时,设计预测控制器,通过对auv的协调状态进行估计,达到协调编队的目的。
编队中n个auv,在初始时刻指定其中任意一个作为领航者,其余的为跟随者。
n个auv在初始时刻上浮至海面,使用所携带的gps获得各自位置信息;
领航者使用所携带的声呐设备向与之相邻的跟随者发送自身的位置、速度和艏向角信息,跟随者间也使用所携带的声呐设备将速度,艏向角等信息发送给与之相邻的auv。
n个auv下潜至同一深度开始定深航行,此时领航者会将自身的速度,艏向角等信息发送给与之相邻的auv。
针对所建立的auv模型,设计控制律τa=[τu,τr]t,使
ue(t)=u(t)-ud(t)代表速度跟踪误差,控制律为
其中,k1=diag{ku,kr}是正定矩阵,ma为质量和惯性矩阵,ca为科氏和向心矩阵,da为阻尼和摩擦力矩阵,ud和rd为期望速度和角速度,τu和τr为力和力矩。
将路径跟踪的位置误差定义为
其中
将auv当前航迹点和参考点两者间的距离作为新的误差向量(ε-δ),ν1=[u,v]t,已知u=ud+ue,式(2)可以被写为:
设计ud的控制律,ud不是auv的真实速度,是与参数ξ相对应的速度,目标点的期望速度为
即:
控制律
其中,p=diag{1,δ},f为双曲正切函数:f(x)=tanh(x),其中,k2=diag{kx,ky}为正定阵。
前面的步骤讨论的是单艘auv的情形,下面考虑多个auv情形∑:={1,…,n},用ξ=[ξ1,…,ξn]t表示auv间的协调状态。
对于编队中的其他auv,为
定义协调误差为
ξe=gξ(7)
其中,g=d-1(d-a)。(g由代数图论知识可得,其中d为通信拓扑图g的顶点度矩阵,a为邻接矩阵,当dii=0时,有
对(7)求导并把式(5)代入(7)中,得
ud是由各个auv的期望速度所构成的向量,即
这样编队中各个auv都可以在设计的运动控制律(3)和(6)作用下沿期望的路径航行,假定g是一个标准的laplacian矩阵,此矩阵描述了多auv间的通信拓扑结构,假设相邻auv间的通信是连续的,分散控制律为
ul=ud+kef(gξ)(9)
其中,f(x)=tanh(x),ke是一个足够大的常值。
当多auv间通信条件为弱通信时,前面设计的编队协调控制器不再适用,此时设计一种预测控制器,多auv间的协同可以通过预估与之相邻的auv的协调状态来实现,此方法可以降低通信成本,适用于复杂的水下通信环境,编队的协调是通过交换某两个auv之间的协同状态实现的,编队中auv需要估计其它个体的协同状态。
将式(6)和式(10)代入到式(9)中,得状态估计方程为:
通过将它的真实值和估计值进行比较来确定什么时候给相邻的auv发送信息,若在某一个明确的时间点tk,它的估计值和真实值之间的差值大于某一个阈值
则编队协调控制律(9)可以变为:
假定auvi在时间tk时开始通过通信拓扑向与之相邻的auv发送自己的协调状态信息,在其旁边的auvj和auvk在tk+τ1和tk+τ2接收到此信息。用
当时延有界时,上式就是有界的。
在tk时auvi将信息传递给auvj,auvj在tk+τij收到该信息,在收到该信息后auvj会把在此刻计算得到的时延τij传递给auvi,而auvi接收到该信息的时刻点是t=tk+τij+τji,我们假定有下式成立:
其中
假设auvi在时刻tk要跟auvj交换信息ξi,假设传输时延的最大值是τmax,如果在tk+τmax这个时间点之前auvi可以接收到auvj传输回来的回复信息,那么意味着在tk+τmax时刻所有auv的估计状态信息都已经更新完毕。
若在规定的时间内没有接收到回复信息,意味着该信息已经丢失,此时需要将下一拍的数据(将信息发送和信息更新时两者间最大的时间差选为最新的ξi和τmax)发送过来,和前面的控制策略相比,这个策略中的真实值和估计值间的误差比较大,即有下式成立:
另外,这也确保了同一链路之间的估计同步,即
如果auvj已经收到信息,但是auvi仍然没有收到回复信息,这就说明只有auvj进行了状态信息更新,这个时候auvi可以再重新发送一个信息。不管是否存在时延控制律(11)都一直有效。