本发明属于控制分配技术领域,具体涉及一种基于动态构建可达集的直接控制分配方法。
背景技术:
控制分配(controlallocation,ca)技术常用来解决执行器冗余的控制问题,它能够将由控制律得出的虚拟控制指令合理的分配到各个执行器,进而实现控制目标。控制分配问题从提出至今已有20多年的发展历程,控制分配技术在汽车、船舶、航天器等多个领域的应用中取得了瞩目成果,而控制分配技术本身也经历了由线性控制分配到非线性控制分配、由静态控制分配到动态控制分配、由简单的单目标优化控制分配到复杂的多目标优化控制分配的发展过程。现常见的控制分配算法有显式分配方法、直接分配方法、非线性控制分配方法。
显式分配方法是在控制分配环节之前,首先对各个执行器施以线性的约束关系,降低控制分配的维度,使欠定方程组转换为正定方程组,从而减小解空间的大小,甚至直接得出确定解。但显式分配方法很难处理执行器受到最大偏转位置和最大偏转速率限制的问题,并且其能够实现的虚拟控制指令远远小于可达集,无法充分发挥执行器冗余配置的结构优势。
直接分配(directallocation,da)算法是由弗吉尼亚理工大学的durham教授于1992年首先提出了,该算法的实现基于可达集(attainablemomentsubset,ams)的构建与运算。这种方法的优点在于它具有明确的几何意义,并且能够保证经直接分配算法得出的虚拟控制指令与期望虚拟控制指令方向相同。但该方法的缺点在于当系统执行机构冗余度较高时,其计算时间随着执行器的数目呈二次方增长,很难满足控制系统对实时性的要求。
非线性控制分配(nonlinearcontrolallocation,nca)用以解决执行机构非线性情况下的控制分配问题。doman等利用仿射函数逼近操纵面控制效能,并基于该方法实现了非线性控制分配的分配目标;对于执行机构角度失衡以及因此导致的控制效率矩阵不能确定的情况,huqinglei等结合终端滑模控制方法提出了一种基于鲁棒最小二乘法的有限时间控制分配方法,实现了对空间飞行器的有效控制。
经过几十年的发展,控制分配技术在理论研究和工程实践上取得了重大成就,并进一步应用到了先进气动布局的飞行器、分布式电驱动汽车等众多领域。但是,当前的控制分配技术仍然存在着诸多问题,特别是在考虑操纵面受到偏转位置和速率限制条件下的受限控制分配,以及已有分配算法的实时性、准确性的提高等方面。因此,对控制分配技术,特别是在考虑操纵面受到偏转位置和速率限制条件下的受限控制分配技术进行更加深入的研究,对于先进气动布局的飞行器和分布式电驱动汽车等先进技术的发展具有重大意义。
技术实现要素:
有鉴于此,本发明的目的是提供一种基于动态构建可达集的直接控制分配方法,可提高控制效率。
一种基于动态构建可达集的直接控制分配方法,包括如下步骤:
步骤一:取控制效率矩阵b中任意一对不同的列向量bi和bj作为参数,构建平面参数方程,可得到平面族;其中,b=[b1,b2,...,bm]i,j=1,2,...m且i≠j,m表示执行器的数量;
在平面族中随机指定一个初始小面,作为小面f;
步骤二:计算小面f各个顶点坐标;
步骤三:判断给定的期望虚拟指令vd正方向和小面f是否相交,若相交,则进入步骤四;若不相交,找到虚拟指令vd正方向与小面f最靠近的一条边,假设为ab,以ab作为相邻边构建出相邻小面f′并令其为小面f,返回步骤二;
其中,构建出相邻小面f′过程中,假设ab对应的参数为bi,则需要确定相邻小面f′的另一个参数bk,具体为:
待构建小面f′上边ab上的点u′t,l表示为:
其中,umin,l表示第l个执行器输出的最小值;ut,l表示小面f上边ab上的点;
首先,除bi和bj以外,在b1到bm中任意选择一个值作为bk,令bl在b1到bm中依次取值,并分别代入公式
其中,umax,l表示第l个执行器输出的最大值;|bibkbl|表示bi、bk和bl三者的混合积;
步骤五:计算期望虚拟指令vd正方向和小面f的交点;
步骤六:根据所述交点计算交点坐标vd,根据虚拟控制指令与控制输入之间的线性转换反推出分配给各执行器的实际控制指令ud,并分配给过驱系统。
本发明具有如下有益效果:
在执行器受到最大偏转位置和最大偏转速率限制的控制系统中,可达集实时可变,无法通过离线存储可达集数据的方法提高算法效率,且实时构建完整可达集的计算量较大,很难满足系统对实时性的要求,并且需要较大的存储空间,本发明的一种基于动态构建可达集的直接控制分配方法,动态构建可达集的方法通过分部分、实时构建搜索过程中涉及到的可达集小面,而不是构建完整的可达集,极大地减小了计算量,提高了算法效率,存储空间也大幅减小,解决了可达集实时可变的复杂控制系统的控制问题。
附图说明
图1是本发明中的基于动态构建可达集的直接控制分配算法流程图;
图2是确定可达集小面某个边的相邻小面示意图;
图3至图11分别是针对某一个向量进行搜索时,可达集依次构建的过程。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
对于执行器受偏转速率限制的系统,可达集实时可变。因此,不能再通过存储离线数据来提高计算效率,而只能通过操纵面实际偏转情况检测机构检测上一时刻执行机构的实际偏转情况,由此得到控制子集,并构建可达集。然而实时构建完整可达集必然导致超长的在线计算时间,使直接分配算法失去实用价值。
本发明提出的一种分部分、实时构建可达集的方法,在初始时刻随机构建一对平行的可达集小面,根据期望虚拟指令与小面法向的几何关系确定搜索方向,仅构建搜索环节中涉及到的小面,把算法时间控制在一个合理的范围内。实现上述构想的关键在于确定搜索方向后,如何建立已知小面在某一个邻边上的相邻小面。
当各个操纵面受到最大偏转速率限制时,每一个时刻的实际可达位置取决于上一时刻操纵面的位置、最大偏转速率和最大偏转位置,在每一个时刻,执行器的实际可达位置是可变的,即:
umax(t+t0)=min{umax,u(t)+t0smax}(1)
umin(t+t0)=max{umin,u(t)-t0smax}(2)
式中:u(t)为此时的控制指令,即表示当前时刻各个执行器的所在位置的向量,t0为每个虚拟指令到来的时间间隔,umax(t+t0)和umin(t+t0)分别为下一次控制分配中各个执行器实际可以达到的范围。
由于各个时刻的执行器上下界不同,导致各个时刻的控制子集,可达集都不同,即:
ω(t+t0)={u|umin(t+t0)≤u≤umax(t+t0)}(3)
φ(t+t0)={v|v=b·u,u∈ω(t+t0)}(4)
其中b是控制效率矩阵,ω(t+t0)为下一时刻进行控制分配时的实际的控制子集,φ(t+t0)为下一时刻实际的可达集。
在构建可达集小面时,取控制效率矩阵b中任意一对不同的列向量bi和bj作为参数,则可得到一个法向量相同的平面族,平面族上界小面f1和下界小面f2的方程分别为:
1≤i≤m,1≤j≤m,i≠j;
其中:ut1=[ut1,1,ut1,2,...,ut1,m]表示上界小面f1上的点,ut2=[ut2,1,ut2,2,...,ut2,m]表示下界小面f2上的点;则小面上的4个顶点坐标为:
其中,|abc|表示abc的混合积;umax,p和umin,p分别表示第p执行器的最大值和最小值;
由于要随机选取一个小面,所以只要在上界小面和下界小面中任意选取一个即可。不妨设选取了上界小面:
f:|bibjv|=(bi×bj)tbut,ut∈ωt
如图1所不得到一个小面f,其各顶点坐标分别为va,vb,vc和vd,其中:
va=bua,ua∈ωt且ua,i=umin,i,ua,j=umin,j
vb=bub,ub∈ωt且ub,i=umax,i,ub,j=umin,j
vc=buc,uc∈ωt且uc,i=umax,i,uc,j=umax,j
vd=bud,ud∈ωt且ud,i=umin,i,ud,j=umax,j
所以显然可以得到:
线段ab由ωt的一个真子集ωt,1映射得到,即:
线段ab上的点表示为:
下面假定我们需要搜索ab边的邻接小面f′,如下图所示。此时bi和bj和小面f对应的ωt都是已知的,确定小面f′的两个向量其中一个一定是bi,另一个我们设为bk,我们只要找到bk,即可完成小面f′的构建,如图2所示。
我们可以确定构建小面f′对应的棱ab上的点u′t为:
而根据式(4)和(5),bk确定的搜索条件,即对所有l≠k,i情况下:
除bi和bj以外,在b1到bm中任意选择一个值作为bk,令bl在b1到bm中依次取值,并分别代入如下公式,
计算期望虚拟指令vd正方向和小面f的交点;根据所述交点计算交点坐标vd,根据虚拟控制指令与控制输入之间的线性转换反推出分配给各执行器的实际控制指令ud,并分配给过驱系统。
为了展示动态构建可达集,图3至图11给出了在针对某一个向量进行搜索时,可达集依次构建的过程。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。