一种基于Matlab的浮空器室内运动控制架构的制作方法

文档序号:17946805发布日期:2019-06-18 23:43阅读:229来源:国知局
一种基于Matlab的浮空器室内运动控制架构的制作方法

本发明提供一种基于matlab的浮空器室内运动控制架构,它为通用浮空器室内飞行控制方法验证提供控制算法验证平台,属于浮空器飞行控制领域。



背景技术:

目前平流层飞艇的战略价值、军事价值、经济价值越来越被人们发现,同时各国也加快了对其的研制脚步。飞行控制系统是浮空器研发的关键技术。然而由于大型浮空器控制系统研发难度过高,算法验证性差,各研制单位开始着力于对浮空器地面缩比飞行控制试验的研究。

然而,目前成熟的机载端设备,如pixhawk飞控、stm32飞控等都存在很多问题。由于上述成熟飞控产品的开发语言都为c语言,因此在验证智能算法时,存在代码友好型差,算法运行速度低,数据处理缓慢,数据精度低等致命问题。同时,由于机载计算机核心尺寸限制,这就注定了成熟飞控产品的计算能力弱。机载模块化开发难度大,在根据实际情况进行二次开发时具有很大的难度。

近年来由于人工智能的快速发展,智能控制技术急需应用在控制领域中。因此本发明提供了一种基于matlab的浮空器室内运动控制架构,将最复杂的智能算法移植至地面控制中心,由计算机解决机载计算机计算量不够的问题。同时大大简化了机载端模块的开发难度。



技术实现要素:

以上述技术背景为基础,结合工程实际情况与设计了一种可靠性高、移植性好、算法验证率高的一种基于matlab的浮空器室内运动控制架构。

本发明的基本原理为:

浮空器室内运动控制架构由matlab软件编写。由于matlab有很好的代码书写性且与pc电脑在硬件上有很多交互,因此matlab可以很好地完成算法在线验证的任务。该验证平台分为pc交互、gui、控制算法验证三个部分。pc交互主要完成通过协议接收机载端发送过来地数据,解析完成后再通过无线串口将协议包装地控制指令发送至机载端进行解析控制;gui主要完成数据可观和在线调参的作用,在matlab程序运行时,通过gui界面改变参数可大大降低控制算法参数调节的复杂性,节约开发时间;控制算法验证主要用来验证不同控制算法,这也是本发明最大的亮点所在。由于机载端飞控计算机的计算能力与可开发性有限,无法在机载端验证很多智能的控制算法,因此将控制算法放置地面端计算,再将计算结果控制指令发送至机载端。同时,matlab的人工智能算法包有很好的丰富性和易用性,这样既能提高飞行控制算法的广度也能提高其深度,使得一些新兴的人工智能算法可以方便应用于浮空器飞行控制。

本发明一种基于matlab的浮空器室内运动架构由以下部分组成:

1.基于matlab的浮空器室内运动架构的系统构成

如图1所示,基于matlab的浮空器室内运动架构的模块化控制中心由以下五个模块组成:用于接收机载端位置姿态数据的pc控制中心接口;matlab控制中心读取通过协议接收的数据信息并进行解析提取出需要的信息;matlab将数据处理解析出的数据传递到飞控算法并实现控制量分配,matlab控制界面对飞控参数在线调节;通过算法计算完成后的控制量通过pc串口无线传输至机载端;机载端接收控制量实现作动改变姿态位置,并将新的位置数据信息传送至控制中心。

2.基于matlab开发的模块化控制中心

matlab通过特定协议接收机载端传来的数据信息,并将接收的数据进行解析处理得到需要的信息。位置信息进入控制律计算,通过内外环控制计算得到控制量。同时将控制量以特定协议的形式传给机载端进行数据解析并控制驱动动力系统实现控制。matlabgui界面可以在线调节控制律中的参数,并将控制信息可视化,方便调试。利用时间函数,将控制算法进行循环运行,这样很好地解决了matlabgui在程序运行时在线调节参数,也可以使控制算法随着浮空器位置状态的改变运行。

3.高扩展性机载方案

机载端设备仅需无线接收模块、作动系统、姿态传感器构成。无线接收模块与地面站连接的无线模块配对并接收带有通讯协议的控制量信息。作动系统与无线接收模块硬件连接,解析接收数据控制电机以改变浮空器姿态与位置。此方案大大降低了机载端设备的嵌入式开发难度。

4.控制算法的可移植性和丰富性

由于matlab代码的书写友好性与函数包的丰富性,使得利用matlab进行数值仿真成为控制方法验证的必要途径。正因如此,基于matlab开发的地面站对于算法验证巨有与数值仿真相同的算法复杂程度和数值计算能力。因此基于matlab开发的地面站具有很好的控制算法移植性和丰富性。同时平台的特定运行逻辑使得在线缩比验证平台具有很低的开发难度。

本发明的优点是:

1)解决了目前成熟飞控产品二次开发难度大,计算能力差的问题,将大部分控制和计算功能移植到二次开发的matlab模块化控制中心,大大降低了项目开发难度,提高了架构的可靠性;

2)matlab有很好的代码书写性、函数丰富性和算法易用性,如此既能提高飞行控制算法的广度也能提高其深度,使得一些新兴的人工智能算法可以方便应用于浮空器飞行控制。

附图说明

图1一种基于matlab的浮空器室内运动架构流程图

图2matlab模块化控制中心工作示意图

图中标号作用解释如下:

1.程序开始时先进行数据初始化,赋予初值;2.gui界面程序函数;3.开启无线串口并设置数据传输模式,波特率,校验值,接收数据长短等;4.无线串口与机载设备互相通讯;

5.设置控制程序的循环执行;6.程序运行时修改控制界面;7.控制外环,负责浮空器位置控制;8.控制内环,将外环的控制量进行计算实现浮空器姿态控制;

9.分配控制算法得到的控制量,转化为作动系统的指令。

具体实施方式

下面结合附图对本发明做进一步的说明。图1、2分别为本方案的工作流程图与示matlab模块化控制中心具体实现方案

本发明中流程与实现方式如图1、2所示。本发明共分五个步骤进行实施,其具体步骤如下:

步骤一:机载设备将浮空器飞行状态通过协议发送至matlab模块化控制中心。

1)机载设备通过无线串口将飞行状态发送至matlab模块化控制中心,matlab将按照协议发送的数据进行解析。

2)首先将接收到的数据按一定时间间隔循环存放在数组中,再判断帧头之后进行解析。因为无线传输的数据肯定会存在丢包的现象,因此为了防止丢包导致控制系统计算出现离散的错误,对接收到的数据进行判断,主要依据是判断接收数据的时间信息,只要时间间隔在一定范围内,下次接收的数据就是可用的。

步骤二:matlab处理完成的数据进行控制量的计算。

1)可用数据包含位置、时间。通过时间与位置信息的微分可以计算出当前速度与姿态角等信息。

2)matlab模块化控制中心有不同的飞行模式,模式的选择可以在gui界面进行选择,同时程序中进行逻辑判断。进入不同的外环控制。飞行模式可以分为驻留模式、纯手动遥控模式、自主航线模式、姿态控制模式。其中驻留模式逻辑是将浮空器停留在固定区域内使其具有一定的抗干扰能力;手动模式是通过直接发送作动信号实现控制;自主航线模式规定航线坐标,通过控制浮空器侧偏距实现航线飞行;姿态控制模式主要作用是调节浮空器内环控制效果。

步骤三:matlabgui控制参数在线调节。

1)matlabgui可对飞控算法中的参数进行在线调试,也可将所需当前浮空器飞行状态通过gui后端回调函数联系起来实时显示,方便精确观测浮空器飞行状态。

2)由于主函数中调用了timer函数,使得飞控算法函数与gui函数可以交替运行同时可以实现在线调节的功能

步骤四:控制算法实现控制量的分配。

1)通过外环控制当前值与期望值计算出内环期望值,再通过内环当前值与期望值的偏差计算得出内环输出值。

2)通过设置内环输出与电机pwm波值的对应关系,调节参数并将最后所得控制量限制在电机实际能够驱动的pwm值范围内。

步骤五:电机控制量通过协议无线传输至机载设备。

1)首先根据电机通道设置循环发出次数。由于发送速度很快,不同电机的信号到达时间间隔可以忽略。

2)根据机载端数据解析的方式,打包要发送的数据。设置帧头,设置pwm波指令、设置通道号、高低字节十六进制形式。将打包完成的数据发送至串口,设置暂停0.05秒防止数据堵塞串口。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1