APP下载

仿生智能飞行控制算法及其虚拟仿真

2024-10-15葛陕行牛健马超张剑波

今日自动化 2024年3期

[摘 要]文章针对无人机在各种复杂环境下飞行控制模型的不确定性问题,设计了基于闭环系统辨识算法、校正控制算法参数整定技术的智能飞行控制系统,并设计了一套虚拟样机仿真系统,保证无人机高速、高精度、高鲁棒性飞行控制性能的同时,避免调参带来的巨大工作量,同时,通过虚拟样机仿真对该算法进行了验证。

[关键词]飞行控制;闭环系统辨识算法;校正控制算法;参数整定

[中图分类号]V249 [文献标志码]A [文章编号]2095–6487(2024)03–0165–03

1 闭环系统辨识算法

针对闭环控制系统中噪声与干扰信号随着反馈环节传递变为不可预估和建模的干扰信号,从而使得辨识无法得到系统参数的无偏估计值的问题,设计了一种有效的闭环系统辨识算法,其分为以下3步。

(1)预处理滤波。利用广义泊松矩泛函(GPMF)的方法构造滤波器,利用GPMF 滤波器的特性,在保留输入输出数据中与传递函数有关信息的同时,滤除高频噪声。

(2)迭代调用辅助变量法。辅助变量法通过构造特定的辅助变量,可以得到任何传递函数的无偏估计。通过迭代的方式,所构造的辅助变量中包含的传递函数本身的响应信息越来越多,噪声干扰信息越来越少,使其逐渐接近理想化的辅助变量。

(3)线性优化。通过线性寻优方法减小方程误差,有效地提高系统参数的辨识结果所计算的输出与真实输出的拟合度。

2 虚拟样机仿真技术

在三维建模软件SolidWorks 中建立无人机的模型,其中各个零件的尺寸、材料,以及各零件之间的配合约束都完全按照真实无人机进行设计,以保证其动力学模型的真实性。然后将其导出为Simulink 可调用的三维可视化动力学模型。

利用MathWorks 官方插件smlink(SimscapeMultibody Link), 可以快速地将SolidWorks 中的装配体模型转化为MATLAB 运算兼容的SimulinkMultibody 模型。在以下网址或MathWorks 首页搜索smlink, 下载SolidWorks 与Simulink 相关联的插件,并运行相应的代码进行关联:https ://ww2.mathworks.cn/campaigns/offers/download_smlink.html?s_tid=srchtitle( 命令窗口输入install_addon 安装插件;输入smlink_linksw 以关联SolidWorks);将matlab 与SolidWorks 关联成功后,SolidWorks 软件的装配体界面中就会出现相对应的导出选项。在建立好的三维装配体模型中,通过选择工具- simscapeMultibody Link - Export - Simscape Multibody 选项,可以将三维模型快速导出为matlab 可调用的文件类型STEP 及xml 文件。在MATLAB 命令窗口中输入命令smimport('***.xml'),将模型导入为Simulink/Multibody 文件(.slx),即为初始化Multibody 模型。

Multibody 是Simulink 中的一个库函数,主要负责机器人可视化动力学模型的建立和仿真。Multibody模型包含了无人机模型的运动学和动力学属性,并且可以利用Simulink 图形化编程进行控制和运算过程的添加。

3 模型调整与坐标系建立

无人机动力学模型建立后,还需要建立与世界坐标系之间的坐标转换关系,以计算与反馈无人机在世界坐标系下的运动状态,所以添加各个运动副来实现坐标转换。

先根据模型的实际情况,设置正确的重力加速度方向,然后进行模型的调整。由于SolidWorks 等三维建模软件中通过各个零件组成装配体时,需要在各个零件之间添加配合,即自由度约束。在利用smlink 插件将SolidWorks 模型转换为Multibody 动力学模型时,这些配合会自动生成相应的运动副。而SolidWorks 模型的配合与Multibody 动力学模型中的运动副的不同之处在于,SolidWorks 中的零件在未添加配合之前,其各个自由度都是不受约束的,即如果不添加配合,则零件可以进行六自由度自由旋转和平移;而在Multibody 中,零件之间未添加任何运动副,意味着这两个零件是固结的,无法发生位移和旋转。同时,SolidWorks 中的高级配合,如距离配合、对称配合等,在转化过程都是无法识别的。所以在进行转化过程中,各个零件之间的配合、运动副会出现错误,需要进行调整。

在通过运动副调整和坐标变换调整,使得动力学模型成为一个合理的、最简化的模型后,需要对其添加运动自由度。对于伴飞无人机的动力学模型,由于合理化调整后的模型与地面之间不存在任何运动副,所以无人机目前是与地面固结的、不可移动的,需要合理添加与地面之间的运动副,使得无人机获得全空间六自由度的运动能力。

由于无人机是个欠驱动不稳定的系统,其6 个自由度需要分层次进行控制。为了保证无人机在空间内的稳定飞行,需要先保证无人机3 个姿态角的稳定及高度方向的稳定控制,再通过俯仰和横滚角保证xy方向的位置控制。所以无人机的自由度设置也应分层次。先添加最外环的xy 方向位置自由度,然后添加高度方向自由度,最后按照欧拉角的表示方法,一次建立3 个姿态角度的自由度。

还需要添加状态的反馈接口及控制力的输入接口。添加xyz 3 轴方向的移动运动副,使得无人机可以平动;在运动副上添加状态输出,作为四旋翼位置的反馈。然后在此基础上,依次添加3 个单自由度转动副,依次代表四旋翼的偏航、滚转和俯仰3 个欧拉角(用欧拉角表示机器人的姿态时,需要规定一定的顺序);分别在3 个转动副上添加状态输出,获取四旋翼的姿态角度反馈。

将四旋翼模型的运动自由度与虚拟传感器建立完成后,需要搭建对4 个电机的控制线路。对电机的PWM(脉冲宽度调制)模拟输入同样接在转动副上,在仿真建模中直接设置为扭矩输入。另外,由于Multibody 工具箱中没有空气动力学仿真,所以在螺旋桨转动时,只通过模型内部的解算,是不会给四旋翼提供升力的,只能提供反扭矩。所以需要通过外力和扭矩模块,手动添加螺旋桨升力。升力与螺旋桨的转速呈二次函数关系,所以在转动副中导出电机的转速,通过函数f(u)计算得到升力,作用在4 个臂上。图1 为其中一个转子的控制接口与升力模块设置。

至此,四旋翼无人机的动力学模型及输入输出接口设计完成。然后在此虚拟样机模型基础上,添加了控制算法,来控制四旋翼的飞行动作。

4 建立联合仿真控制系统

四旋翼无人机是一个耦合的复杂机电系统,但由于在控制时,其3 个旋转自由度与高度方向自由度的控制相对独立,而xy 轴方向的自由度又是通过横滚和俯仰两个旋转自由度控制的,所以可以将四旋翼无人机系统视为一个具有4 个相对独立自由度的系统。4 个自由度进行独立控制。设置4 个PID 控制器,分别控制高度、偏航、横滚和俯仰4 个自由度。另外,在xy 轴方向自由度上设置两个PID 控制器,分别作为横滚和俯仰姿态控制的外环。对各个PID 控制器进行有效的调参后,四旋翼的控制系统对于各个自由度的期望响应达到快速、准确、稳定的效果。

在添加控制器之前,需要先搭建系统的控制回路。回路和混控器设置完毕后,在回路中添加控制器。控制系统框图如图2 所示。

控制响应的性能决定了四旋翼无人机对于规划算法的执行能力。通过调节控制器性能,在执行过程中,无人机能够及时、准确地响应规划算法对于下一时刻的位置期望;在一些常数期望的自由度上,即第一阶段的高度方向位置期望,以及第二阶段的水平方向位置期望,控制器保证了四旋翼无人机稳态的稳定控制。

5 最终控制和虚拟样机模型

最终控制和四旋翼无人机Simulink 模型如图3 所示。其可以对仿真过程与模型的运动状态进行可视化的观测与优化。

6 结束语

文章针对无人机在各种复杂环境下飞行控制模型的不确定性问题,提出了基于闭环系统的辨识算法,该方法通过预处理滤波、迭代调用辅助变量法、线性优化,有效提高了系统参数的辨识结果;通过虚拟样机仿真技术,设计了虚拟样机仿真系统,建立了三维可视化四旋翼无人机动力学模型;建立了包含高度、偏航、横滚和俯仰4 个自由度独立的仿真控制系统,最终形成控制和虚拟样机模型,实现对仿真过程与模型的运动状态进行可视化的观测与优化。

参考文献

[1] KRISHNAKUMAR K,GONSALVES P,SATYADAS A,et al . Hybrid fuzzy logic flight controller synthesis via pilot modeling[J].Journal of Guidance Controland Dynamics,2015,18(5):1098-1105.

[2] 姜长生,郭树军. 先进武装直升机一种新型组合智能飞控系统和火/飞综合系统的设计与仿真[J]. 航空学报,1998,19(6):719-725.

[3] 刘广萍,张汉杰. 遗传算法在模糊控制器参数寻优中的应用[J]. 哈尔滨建筑大学学报,2000,33(3):78-81.