资 源 简 介
基于协同控制策略,多无人机之间可以通过能力互补和行动协调,实现单架无人机任务能力的扩展以及多无人机整体效能的提升,进而解决个体能力限制与任务需求之间的矛盾。本文以多固定翼无人机姿态同步控制为例,分析无人机飞行过程中可能面临的实际情况,认为无人机模型或参数不确定、测量误差、干扰、系统中存在的时延及控制器故障是影响多无人机协同控制的主要因素。本文针对上述无人机中存在的复杂情况,分析和设计各中复杂情况下的多无人机协同控制算法,实现多无人机系统控制的稳定性。主要研究成果概括如下: 首先,根据牛顿力学对理想情况(无干扰或故障)下多固定翼无人机姿态运动过程进行数学建模,并根据构造的理想情况下固定翼无人机姿态运动的数学模型,结合无人机在运行过程中所面临的实际复杂情况,分别构建以下数学模型: (1) 伴随集成不确定项(外部干扰、模型或参数不确定、测量误差及控制器微小故障)的多固定翼无人机姿态运动数学模型。(2) 伴随集成不确定项以及状态时延的多固定翼无人机姿态运动数学模型。(3) 伴随集成不确定项以及控制器卡死故障的多固定翼无人机姿态运动数学模型。 然后,结合主从式协同控制策略和理想情况下多固定翼无人机姿态运动模型,设计多固定翼无人机姿态一致性控制方法。最后,设计相应的方法解决上述复杂情况下的多无人机姿态同步问题。针对包含集成不确定项的多无人机姿态运动方程,设计两种方法用以解决其姿态一致性同步问题,分别为在提出的基于主从式控制策略设计的姿态一致性控制方法中结合神经网络设计直接姿态一致性控制器以补偿不确定项;结合观测器与神经网络设计间接姿态一致性控制器以观测并补偿不确定项,并对比这两种方法各自的优劣性。针对包含集成不确定项以及状态时延的情况,在提出的基于神经网络的直接姿态一致性控制器的基础上,结合Lyapunov-Krasovskii函数以补偿时延造成的剧烈波动,最后通过理论证明及仿真验证其有效性,并对比有无Lyapunov-Krasovskii函数时无人机姿态的控制效果。针对包含集成不确定项以及控制器卡死故障的情况,在提出的基于观测器与神经网络的间接姿态一致性控制器基础上,结合基于扩展卡尔曼滤波器设计的故障检测方案和基于控制分配方法设计的控制器重构模块,确保各无人机在检测到控制器卡死故障的同时重构健康控制器,进而使无人机控制力矩及姿态稳定在期望值附近。 【核心代码】 程序 ├── 第3章│ ├── Cbn.m│ ├── Cnb.m│ ├── MultiUAVs_noNN.m│ ├── Uav_Model_FD.m│ ├── moment.m│ ├── nummarkers.m│ └── plotfit.m├── 第4-1节程序│ ├── Cbn.m│ ├── Cnb.m│ ├── MultiUAVs.m│ ├── Uav_Model_FD.m│ ├── moment.m│ ├── nummarkers.m│ └── plotfit.m├── 第4-2节程序│ ├── Cbn.m│ ├── Cnb.m│ ├── MultiUAVs.m│ ├── Uav_Model_FD.m│ ├── moment.m│ ├── nummarkers.m│ └── plotfit.m├── 第5章程序│ ├── Cbn.m│ ├── Cnb.m│ ├── Contrast_mutiUAVs.m│ ├── ShiftOperation.m│ ├── Uav_Model.m│ ├── moment.m│ ├── mutiUAVs.m│ ├── nummarkers.m│ └── plotfit.m└── 第6章程序 ├── Actuator_fault1.m ├── Augmented_matrix_vector.m ├── CD.mat ├── Cbn.m ├── Cnb.m ├── Contrust_MultiUAVs.m ├── Disred_control.m ├── FDI_robust_false_alarm.m ├── MoM.mat ├── MultiUAVs.m ├── Probability_Density_Adjust.m ├── Simplified2_MultiUAVs.m ├── Uav_Model_FD.m ├── control_allocation.m ├── control_two1ifault_allocation.m ├── control_two2ifault_allocation.m ├── control_two3ifault_allocation.m ├── control_two4ifault_allocation.m ├── control_two5ifault_allocation.m ├── desired_torque_parameters.m ├── fault_torque1.m ├── fault_torque1i.m ├── fault_torque2i.m ├── fault_torque3i.m ├── fault_torque4i.m ├── fault_torque5i.m ├── fualt_filter.m ├── kalman_filt.m ├── kalman_filt_new.m ├── kalman_filt_old.m ├── moment.m ├── newKalman.m ├── nummarkers.m ├── printFilt.m ├── probability_adjust.m ├── two1ifualt_filter.m ├── two2ifualt_filter.m ├── two3ifualt_filter.m ├── two4ifualt_filter.m ├── two5ifualt_filter.m └── z1.m5 directories, 71 files