System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于容错控制,涉及一种自主水下机器人多电机协同的容错控制方法。
技术介绍
1、自主水下机器人主要工作在复杂的海洋环境中,其受到海流等外部海洋环境的干扰较大。自主水下机器人在工作的过程中,时常会有发生故障的情况,从而使得水下航行任务的失败,严重时甚至会导致机器人的损坏或者丢失。
2、多电机协同推进系统出现故障会影响到作业中水下机器人的稳定性,甚至出现严重的事故,如果在系统某一部分出现故障之后,其他部分仍然能够维持运行,这对于降低损失是非常有利的,因此需要对自主水下机器人多电机协同推进系统进行容错控制。另外,由于每台电机的技术参数不同,同时受负载变化、电机参数飘移等因素影响,如何保持多台电机高精度同步运行是首要问题。
3、水下机器人推进器容错控制可以分成主动容错控制及被动容错控制两类。但是被动容错控制虽然省去了故障检测的环节,但通常会降低整体的控制性能,主动容错控制方面,常用滑模容错控制等,但这种滑模容错控制器有特定的应用范围,无法应用于推进器完全失效的情况。因此及时诊断出推进器故障并采取相应的控制策略将有力保障auv的安全性。
技术实现思路
1、本专利技术的目的在于提供一种自主水下机器人多电机协同的容错控制方法。首先针对本专利技术应用的自主水下机器人进行数学模型的建立。针对推力饱和问题,本专利技术提出使用伪逆-自适应遗传切换算法进行推力分配求解,在推力饱和时,使用自适应遗传算法进行推力分配二次优化,提高全局优化能力,获得更好的推力分配结果。针对推进器
2、本专利技术的目的通过以下技术方案予以实现:
3、为达到上述目的,本专利技术提供一种自主水下机器人多电机协同的容错控制方法,所述方法包括以下步骤:
4、(1)建立两路侧推、两路垂推与一路主推的六自由度自主水下机器人推进器模型,其中1号电机为主推,2号、5号电机为前后侧推,3号、4号电机为前后垂推;
5、(2)运用伪逆-自适应遗传切换算法求解推力分配问题,首先利用伪逆法计算得到推力分配问题的初解,然后判断推力分配结果是否超过推进器推力极限,如果超过推力极限,则采用自适应遗传算法进行二次优化分配,更新推力分配的结果,推力二次优化分配所考虑的优化目标包括:消耗功率最小、实际推力输出与期望控制指令间的误差最小、避免推进器奇异结构,约束条件包含等式约束、推进器推力约束;
6、(3)设计基于推力分配的主动容错控制器,获取各个推进器的故障系数s1、s2、s3、s4、s5,其中,s1是主推的故障系数,s2、s5是前后侧推的故障系数,s3、s4是前后垂推的故障系数,引入故障权值矩阵w,当无故障时,基于推力分配矢量矩阵b对自主水下机器人进行推力分配,当故障发生时,基于原分配矩阵b与故障权值矩阵w重新进行推力分配,通过重新分配推力以达到补偿推进器故障的效果;
7、(4)建立虚拟主轴与偏差耦合相结合的多电机控制结构,针对推进器故障时的多电机协同问题,引入容错协调系数λi(t)维持自主水下机器人在动态干扰或者故障下的动态平衡。
8、本专利技术的目的还可通过以下技术措施进一步实现:
9、进一步的,步骤(1)具体包括:
10、步骤(1.1):由螺旋桨转速和推力的关系,建立推进器的期望推力与转矩公式:
11、
12、其中,t为螺旋桨的推力,q为螺旋桨的转矩,kp为转矩系数,km为推力系数,ρ为海水密度,d为推进器螺旋桨直径,va为机器人进速,n为螺旋桨转速;
13、步骤(1.2):auv推进系统模型可以用下式表示:
14、
15、式中,xprop为x轴的推力,yprop为y轴的推力,zprop为z轴的推力,kprop为推力围绕x轴作用的力矩,mprop为推力围绕y轴作用的力矩,nprop为推力围绕z轴作用的力矩;t1、t2、t3、t4、t5分别为1号、2号、3号、4号和5号推进器的推力;l1、l2、l3、l4、l5分别为1号、2号、3号、4号和5号推进器推力的力臂;q1、q2、q3、q4、q5分别为1号、2号、3号、4号和5号推进器的转矩,转矩在实际工作中作为扰动处理;
16、作用在自主水下机器人本体上的六自由度的控制矢量用下式表示:
17、τ=bt (3)
18、其中,τ=[xprop yprop zprop kprop mprop nprop]t为非奇异终端滑模路径跟踪控制器中所输出的期望控制量,t=[t1 t2 t3 t4 t5]为推进器的推力矢量,b为推力分配矢量矩阵。
19、进一步的,步骤(2)具体包括:
20、步骤(2.1):采用伪逆法求取推力分配问题的初解:
21、运用拉格朗日乘子法求解目标函数:
22、
23、其中,j1为伪逆法求解推力分配问题的目标函数,tt为矩阵t的转置矩阵,w为对称的正定权值矩阵;
24、采用拉格朗日乘子法求解上式所描述的优化问题,可得推进器的推力分配为:
25、t=bwτ=[w-1bt(bw-1bt)-1]τ (5)
26、其中,bw=w-1bt(bw-1bt)-1为推进器分布矩阵b的伪逆矩,w-1为矩阵w的逆矩阵,bt为推力分配矢量矩阵b的转置矩阵,(bw-1bt)-1为矩阵bw-1bt的逆矩阵;
27、步骤(2.2):若推力分配结果超过推进器推力极限,则进行推力分配二次优化,推力二次优化分配的目标函数为:
28、
29、其中,j2为使用自适应遗传算法进行推力分配二次优化的目标函数,s=τ-bt,st为矩阵s的转置矩阵,ρ和ε是调节参数,det(bbt)为矩阵bbt的行列式;目标函数第一项ttwt反映了功耗最小原则,第二项stqs表明了推力分配应当保证各推进器实际产生的合力与期望控制量之间的误差尽可能地小,第三项是为了避免推进器的奇异结构;
30、等式约束:
31、bt+s=τ (7)
32、推力约束:
33、ti,min≤ti≤ti,max
34、δti,min≤δti≤δti,max (8)
35、其中,i=1,2,…,5;ti指推进器i的推力,ti,max、ti,min指推进器i推力的上限和下限;δti为推进器i的推力变化值,δti,min、δti,max为推进器i推力变化的上限和下限;
36、步骤(2.3):使用自适应遗传算法求解推力分配二次优化的目标函数:
37、(1)设定初始种群,设置最大进化代数k,种群规模m,交叉概率pc,变异概率pm,随机生成m个个体作为初始化种群p0;
38、(2)采用实数编码方式;
...【技术保护点】
1.一种自主水下机器人多电机协同的容错控制方法,其特征在于,该方法包含下列步骤:
2.如权利要求1所述的自主水下机器人多电机协同的容错控制方法,其特征在于,所述步骤(1)中,其中六自由度自主水下机器人推进器模型的建立包括以下步骤:
3.如权利要求1所述的自主水下机器人多电机协同的容错控制方法,其特征在于,所述步骤(2)中,伪逆-自适应遗传切换算法首先利用伪逆法计算得到推力分配问题的初解,然后判断推力分配结果是否超过推进器推力极限,如果超过推力极限,则采用自适应遗传算法进行二次优化分配,更新推力分配的结果包括以下步骤:
4.如权利要求1所述的自主水下机器人多电机协同的容错控制方法,其特征在于,所述步骤(3)中,获取各个推进器的故障系数并引入故障权值矩阵重新进行推力分配包括以下步骤:
5.如权利要求1所述的自主水下机器人多电机协同的容错控制方法,其特征在于,所述步骤(4)中,建立虚拟主轴与偏差耦合相结合的多电机控制结构,当推进器故障时引入容错协调系数解决多电机协同问题包括以下步骤:
【技术特征摘要】
1.一种自主水下机器人多电机协同的容错控制方法,其特征在于,该方法包含下列步骤:
2.如权利要求1所述的自主水下机器人多电机协同的容错控制方法,其特征在于,所述步骤(1)中,其中六自由度自主水下机器人推进器模型的建立包括以下步骤:
3.如权利要求1所述的自主水下机器人多电机协同的容错控制方法,其特征在于,所述步骤(2)中,伪逆-自适应遗传切换算法首先利用伪逆法计算得到推力分配问题的初解,然后判断推力分配结果是否超过推进器推力极限,如果超过推力...
【专利技术属性】
技术研发人员:曾庆军,裴雪晶,戴晓强,吴云凯,
申请(专利权)人:江苏科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。