如如何让四旋翼飞行器在一个执行器损坏后继续飞行呢

电子说

1.2w人已加入

描述

简介  

多旋翼飞行器的安全问题一直伴随着多旋翼飞行器。尤其是对于四旋翼飞行器而言,单个旋翼的突然失效往往是致命的,不可恢复的。从2010左右就开始有大量的文章开始研究如何让四旋翼飞行器在一个执行器(旋翼损坏、电机停转、电调故障)完全损坏后继续飞行而不至于失去控制。很多控制方法被应用到了四旋翼无人机的容错控制研究中,并且取得了不错的效果。

然而,所有针对四旋翼飞行器单个执行器完全失效的控制策略均采用了放弃飞行器的偏航控制使其自由旋转,从而获得另外一种定义下的稳定性,也就是放弃偏航通道下的稳定性。说到底,四旋翼飞行器在一个旋翼完全失效的情况下,只能通过自身的高速旋转来维持自身的平衡。

那么说到旋转,我们是否能想到曾经或者现在依旧被人熟知的陀螺呢?该文章从这里入手,分析了四旋翼飞行器在执行器完全失效的情况下的哪些因素可以影响其旋转的特性,以及如何通过这些特性来提高容错控制系统的鲁棒性。

另外本文通过动态控制分配实现了不同故障程度的无缝衔接,即某个执行器从健康到部分失效以及完全失效完全是在唯一的控制器和控制参数下实现的,不需要针对不同故障进行不同的控制器切换或者参数切换。文章最后通过半物理仿真和户外真机实验进行了验证。  

一、控制器设计  

如图1所示,控制器分为了七个部分。具体的控制器详细设计可以参看我们的论文。这里主要说下各部分的作用。

控制器

图1 控制器框图

图中①和②是位置环的部分,作用是通过期望的位置计算出机体期望的主轴,这里提到的主轴是机体坐标系的Z轴。图中③和④是姿态环部分,负责根据期望的主轴来得到期望的角速率,从而进一步得到期望的力矩,以及拉力。图中⑤和⑦主要用于提高控制系统的响应速度,原因是考虑到了电机(执行器)本身的动态过程。

最后是⑥动态控制分配,在控制分配中我们为每个控制通道设置了不同的优先级。其中横滚俯仰通道的优先级最高,其次是力通道,最后是偏航通道,这样控制分配会优先保证飞行器控制俯仰和滚转的实现,在遇到执行故障的时候,则会自动优化实现对偏航通道的放弃,这时飞行器会逐渐进入稳定的旋转状态。

图2展示了单个旋翼逐渐失效后的容错控制效果,其中在位于20s、40s、60s和80s的时候,单个旋翼的拉力分别被乘以系数0.6、0.4、0.2和0。可以看出,在不同故障程度下,随着对于偏航通道控制能力的降低,机体的旋转速度逐渐提升。

控制器

图2 单个旋翼逐渐失效的容错控制效果

二、 模型参数对可控度的影响    

相信很多同学在小时候都玩过抽陀螺的游戏,只要陀螺能够保持足够大的转速,即使我们使用鞭子进行抽打它也会在倾斜后自动回到原有旋转的姿态。同时当它的转速逐渐减小后,其主轴的倾斜程度就会逐渐提高,最后随着转速下降而倒下,如图3所示,主轴和垂直轴存在一个夹角,通常其转速变慢,该夹角会越来越大并最终不再稳定。

学过惯性导航的同学其实都知道,陀螺的稳定性与陀螺旋转的进动性密切相关。其中转速的大小起到了非常重要的作用。这点与四旋翼飞行器失效后依靠旋转速维持可控性的特点非常相似。
 

控制器


图3 陀螺运动示意图

通过对线性化的四旋翼旋转时的运动模型分析其可控性,可知只要其Z轴转速不为0,那么就是可控的。但是直觉告诉我们,如果转速足够小,四旋翼实际上是很难实现控制的。为此我们采用了可控度这一项来分析机体转速对于可控度的影响。可控度指标是对于可控系统的量化描述,可控度越高说明其达成控制目标所需要的能量或者说难度越低。  

根据图5第一幅图所示,机体转速越高其可控度越好,就越容易实现机体的稳定旋转控制。当然这是理论上的结果,实际上还需要考虑控制器性能上的约束。虽然转速足够高可以提高可控度,但是过高的转速使得系统动态范围的提高,这个时候需要更加高频的控制器才能满足控制需要,我们的控制器在实验和仿真中运行在400Hz的频率上。  

同时我们还对四旋翼刚体模型中的角动量耦合项的作用进行了可控度分析。如图4所示,我们通过叠加其耦合项分析了其对于旋转刚体的可控度的影响,分析表明增加耦合项的作用也可以提高其可控度(图5中第三幅图),降低执行器的能量输出。  
 

控制器


图4 刚体运动模型中的角动量耦合项

与此同时图5中的第二幅图给出了机体的空气阻尼力矩系数可控度的影响,其空气阻尼越大,可控度越小
 

控制器


图5 可控度指标

文中,我们在控制器中人为增加了角动量耦合项来仿真验证了其对容错控制的影响。如图6所示,其中kcouple数值越大表示在控制器中叠加了更多的角动量耦合项。从图6中可以看出,增加kcouple后,主轴的响应速度和位置控制的精度都得到了提升。(其中h3表示机体主轴的第三个分量,在飞行器悬停的情况下h3=1)  
 

控制器

图6 角动量耦合项对控制的改善效果

三、仿真和实验展示  

实验过程中,单个旋翼故障首先被设置为了失效一半的状态,之后被设置为了完全的失效状态。根据前面的可控度分析,实验中设置了kcouple=0.6用于改善控制器的性能,事实上在设置kcouple=0的情况下,容错控制器难以进行长时间的稳定悬停。  

控制算法基于我们实验室的RflySim平台将基于Simulink设计的容错控制器进行代码生成并下载到Pixhawk 4飞控中,固件基于PX4 v1.11,控制器运行频率400Hz,估计系统采用PX4自身的LPE(即姿态互补滤波+位置卡尔曼滤波),并且估计系统也需要设置为400Hz运行。电机控制信号使用的是Oneshot125协议。    

图7给出了一次户外容错控制实验的实验数据,由上到下分别展示了机体的力矩、优化迭代次数、机体主轴的动态过程、机体角速率和故障切换过程即旋翼的健康程度从1降为0.5再降为0. 该控制器在单个旋翼完全失效的情况下依旧能能够实现长时间的稳定飞行,给安全降落留下了宝贵的时间。

控制器


图7 户外实验数据

Tip 1:如何设置PX4 滤波器估计频率

Tip 2:为了解决四旋翼旋转过程中角速率过大超出IMU(陀螺仪)量程的问题,我们采用了将飞控倾斜的办法,间接提高了飞行器的机体Z轴角速率上限。(特此感谢赵海欣同学提出的宝贵建议)如图 8所示:  

控制器

图8 飞控安装示意图

四、总结    

本文提出的四旋翼单个旋翼失效的容错控制方法,一方面实现了不同故障程度的统一容错控制不需要故障切换,另一方面受陀螺旋转的特性的启发,分析了机体Z轴角速率、角动量耦合项、空气阻尼力矩系数对于系统可控度的影响。并且在最后进行了户外的飞行实验,实验环境完全贴近真实场景,不依赖精确的室内光学定位等设备。该实验中验证了我们算法的稳定性以及增加模拟的角动量耦合项对于控制器鲁棒性的提升效果。  





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分