CN107505833B - 一种基于嵌入式操作系统的飞行控制系统及方法 - Google Patents
一种基于嵌入式操作系统的飞行控制系统及方法 Download PDFInfo
- Publication number
- CN107505833B CN107505833B CN201710647731.9A CN201710647731A CN107505833B CN 107505833 B CN107505833 B CN 107505833B CN 201710647731 A CN201710647731 A CN 201710647731A CN 107505833 B CN107505833 B CN 107505833B
- Authority
- CN
- China
- Prior art keywords
- flight
- control
- module
- pwm
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 51
- 230000006854 communication Effects 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 5
- 230000007717 exclusion Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000007958 sleep Effects 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 claims 2
- 238000004806 packaging method and process Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种基于嵌入式操作系统的飞行控制系统及方法。该系统包括机载飞行控制仪和地面站,其中机载飞行控制仪包括飞控计算机、传感器模块、执行机构模块、PWM辅助模块、遥控信号接收模块和机载无线电台模块,飞控计算机通过多种串行接口采集传感器模块的数据,进行导航解算和控制律解算获得控制量,并通过UART发送给PWM辅助模,PWM辅助模块将控制量转为PWM输出给执行机构模块以控制飞机飞行;飞控计算机还通过机载无线电台模块与地面站进行数据交互,通过遥控信号接收模块和PWM辅助模块接收地面站的遥控信号。本发明提供的无人机飞行控制系统具有多任务处理、可靠性强、可移植性强、易扩展和二次开发等特点,具备多种飞行模式,特别在出现故障时,能最大程度保证飞机的安全。
Description
技术领域
本发明涉及一种无人机飞行控制系统,具体是涉及一种基于嵌入式操作系统的飞行控制系统及方法。
背景技术
小型固定翼无人机是一种由无线电地面遥控或/和自主飞行的飞行器,它依靠空气动力来克服自身重量,结构简单、控制灵活,具备快速性和高机动性,可搭载有效负荷执行特殊任务。在军事方面,小型固定翼无人机能够执行包括侦查、火力诱饵、火力制导等任务,在民用方面,小型固定翼无人机在森林防火、防汛抗旱监测、土地资源勘探等方面具有广泛的应用前景。
飞行控制系统是现代无人机的核心,用于实现从起飞到着陆整个飞行过程的飞行控制功能。随着飞行器技术的发展,要求提高小型固定翼无人机飞行控制系统的任务处理能力和控制精度。目前多数飞行控制系统仍在使用裸机开发的方式,采用前后台软件架构设计,往往开发一套飞行控制系统就面临这巨大的开发周期和工作量,实时性较差,系统资源空闲浪费,开发完成的应用程序也几乎不能扩展,也难以移植到其他硬件系统中。此外,按上述方式设计的飞行控制系统软件,一般负载任务与飞行任务耦合性强,一旦负载任务执行出错,可能造成飞行任务无法正常进程,从而危及飞行器安全。
发明内容
本发明的目的在于提供一种基于嵌入式操作系统的飞行控制系统及方法,具有多任务处理、可靠性强、可移植性强、易扩展和二次开发等特点,具备多种飞行模式,特别在出现故障时,能最大程度保证飞机的安全。
实现本发明目的的技术解决方案为:一种基于嵌入式操作系统的飞行控制系统,包括机载飞行控制仪和地面站,其中机载飞行控制仪包括飞控计算机、传感器模块、执行机构模块、PWM辅助模块、遥控信号接收模块和机载无线电台模块,飞控计算机通过多种串行接口采集传感器模块的数据,进行导航解算和控制律解算获得控制量,并通过UART发送给PWM辅助模,PWM辅助模块将控制量转为PWM输出给执行机构模块以控制飞机飞行;飞控计算机还通过机载无线电台模块与地面站进行数据交互,通过遥控信号接收模块和PWM辅助模块接收地面站的遥控信号。
所述传感器模块包括9轴IMU、气压高度计、空速计和GPS,其中9轴IMU包括3轴陀螺仪、3轴加速度计和3轴磁传感器。
所述PWM辅助模块包括STM32最小系统和PWM信号切换电路,STM32最小系统选择PWM信号切换电路的输入信号作为执行机构模块的输入。
所述飞行控制系统包括3种控制模式:全自动模式(UAV)、半自动模式(RPV)和手动模式(RC)。
一种基于嵌入式操作系统的飞行控制方法,飞控计算机运行嵌入式操作系统,进行进程调度,具体的:
步骤1、初始化控制律参数、飞行模式保存在飞行控制共享内存;
步骤2、数据采集进程分线程采集传感器模块的数据,将数据存入数据采集共享内存;
步骤3、导航解算进程根据数据采集共享内存的数据进行组合导航解算,获得飞机姿态、速度和位置,更新导航共享内存;
步骤4、飞行控制进程根据飞行控制共享内存的控制律参数、飞行模式和导航共享内存的飞行状态进行控制律解算,得到控制量更新飞行控制共享内存;
步骤5、PWM辅助进程将控制量发送给PWM辅助模块,PWM辅助模块将控制量转为PWM输出给执行机构模块,以控制飞机飞行。
PWM辅助进程还通过遥控信号接收模块和PWM辅助模块接收地面站的遥控信号。
所述控制方法还包括空地通信进程,空地通信进程通过串口与机载无线电台模块通信,实现与地面站的全双工数据交互,汇报飞行状态,根据指令更新飞行控制信息。
导航解算进程使用捷联惯导算法和卡尔曼滤波算法进行组合导航解算。
飞行控制进程使用PID算法进行控制律解算。
本发明与现有技术相比,具有以下优点是:1)本发明采用基于嵌入式Linux操作系统进行机载飞行控制仪中的飞控计算机的软件设计,在不增加飞控系统体积和重量的同时,实现数据采集、导航解算和飞行控制解算的分离,保证了数据采集、数据融合和实时控制的精确性,并且可通过以太网、串口等多种方式进行系统登录机载操作系统,通过NFS登录机载操作系统的文件系统,系统中的文件可以与PC系统兼容,更便于数据存储、传输和分析;2)本发明的飞行控制系统集成了9轴IMU、气压高度计、空速计和GPS,结合捷联惯导解算、卡尔曼滤波和数据融合算法,提供了高精度的姿态信息;3)本发明的机载飞行控制仪中的飞控计算机搭载大容量存储,可存储飞行过程的传感器数据、导航信息和控制信息作为离线分析;4)本发明提供了包括全自主、半自主以及全手动等多种飞行控制模式,地面操作人员可通过遥控器或者地面站无线电台指令实时更改飞行控制模式。
附图说明
图1为本发明系统的总体结构图。
图2为PWM辅助模块工作示意图。
图3为本发明方法的流程图。
图4为机载飞行控制仪中STM32辅助单片机的软件流程框图。
具体图例说明:1飞控计算机;2传感器模块;3电源管理模块;4执行机构模块;5PWM辅助模块;6遥控信号接收模块;7地面遥控器;8 PC机;9地面无线电台模块;10机载无线电台模块。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细描述。
如图1所示,基于嵌入式操作系统的飞行控制系统包括机载飞行控制仪和地面站,其中机载飞行控制仪包括飞控计算机1、传感器模块2、电源管理模块3、执行机构模块4、PWM辅助模块5、遥控信号接收模块6和机载无线电台模块10,飞控计算机1通过多种串行接口采集传感器模块2的数据,进行导航解算和控制律解算获得控制量,并通过UART发送给PWM辅助模5,PWM辅助模块5将控制量转为PWM输出给执行机构模块4以控制飞机飞行;飞控计算机1还通过遥控信号接收模块6和PWM辅助模块5接收地面站的遥控信号,通过机载无线电台模块10与地面站进行数据交互。
所述的飞控计算机1是由NXP公司的ARM A9四核芯片I.MX6Q、2GB DDR3内存、8GBeMMC存储组成,具有丰富的接口便于扩展摄像头等负载设备,其搭载嵌入式Linux操作系统,运行基于多进程多线程技术设计的应用程序,数据采集进程通过SPI、I2C与UART等串行通讯接口与传感器模块2通信,采集机载传感器,导航解算进程根据传感器数据解算飞机的姿态、速度和位置,控制解算进程计算飞行控制律得到控制量;UART3通过电平转换芯片转为232电平与机载无线电台10通信,接收地面站控制指令,向地面站汇报飞机飞行信息与控制信息;飞控计算机1与PWM辅助模块5通过SPI与UART通信,飞控计算机1向PWM辅助模块5通过UART发送控制量,通过SPI接受PWM辅助模块5读取的遥控信号接收模块6的PWM信号,并存储。飞控计算机还留有一个micro-USB接口作为操作系统烧写,一个UART和一个以太网口可用于调试、文件传输、系统登录。
所述的传感器模块2包括机载的所有传感器,包括9轴IMU(惯性测量单元)、空速计、气压高度计、GPS。其中9轴IMU按100Hz频率输出,输出为422信号,通过电平转换为TTL信号,发送至飞控计算1的UART2;该空速计采用NXP公司的MPXV5004DP,通过模数转换器AD7980转换成数字信号,用于获得空速观测量;该气压高度计采用MEAS公司的MS5607-02BA,用于获得高度反馈;该GPS采用U-blox公司的MAX-7Q,10Hz更新频率,29s快速冷启动,输出为TTL信号,发送至飞控计算机1的UART4,用于与捷联惯导组成组合导航系统,弥补惯导解算随时间发散的缺点,获得飞机的姿态、位置和速度;
所述的电源管理模块3对飞行控制系统电路板与执行机构模块4分别供电,其中前者由7.4V电池供电,包括7.4V转5V、7.4V转3.3V以及7.4V转2.5V三个部分,分别为上述的除执行机构模块4外的模块供电;后者由11.1V的航空电池供电,通过60A电调转为电机需要的三相电流以及5V电压分别供给电机和舵机。
所述的执行机构模块4,基础飞行功能需要包括4个电动舵机和一个电机,附加功能如摄像头云台、降落伞等需要增加电动舵机。
所述的PWM辅助模块5由STM32最小系统、PWM信号切换电路组成。它们之间的关系是:STM32为该模块核心,按软件设计实现读取PWM输入通道信号,输出PWM输出通道信号、控制PWM信号切换电路等功能;PWM输入通道接收遥控信号接收模块的8路PWM信号,输出到PWM信号切换电路;PWM输出通道共12路,前8路与PWM信号切换电路,后4路与STM32连接,所有通道输出PWM信号控制执行机构。
其中PWM信号切换电路由一片8路二选一芯片MAX4759实现,PWM辅助模块工作示意图如图2所示,由STM32控制8路PWM信号,对应前8路PWM输出模块,每一PWM输出通道对应2路输入,分别来自STM32与遥控信号接收模块。STM32根据遥控器CH5通道信号或者飞控计算机指令控制该电路。在STM32故障时,MAX4759通过下拉电阻将PWM通道切换为遥控信号。
所述的遥控信号接收模块6接收地面操作人员操控的遥控器信号,采用Futaba十二通道遥控器接收机,输入到STM32辅助单片机和PWM信号切换电路的输入端。
所述的机载无线电台模块10用于与地面站进行数据交互的全双工通信模块,采用的是Digi公司的Xtend数传电台,该模块与飞控计算机通过串口进行双工通信。
所述的地面站负责对机载飞行控制仪进行遥控遥测,它是由地面无线电台、运行地面站软件的PC机以及Futaba十二通道遥控器组成。其中地面无线电台接收机载飞行控制仪的数据帧,通过串口转USB发送给PC机中的地面站软件,进行解析并显示飞机状态,同时地面站也通过地面站软件发送控制指令、飞行任务、控制参数等遥控信息给机载飞行控制仪。
飞控计算机的软件设计结构示意图参见图3,飞控计算机中的软件运行在嵌入式Linux操作系统上,基于多进程多线程技术设计,多个进程和线程同时运行在飞控计算机中执行不同的任务,同一进程中的不同线程通过信号量同步,通过线程互斥锁保护全局资源,不同进程通过共享内存进行数据交互。不同进程运行时拥有各自的内存空间,互不影响。该软件的工作流程简述如下:系统上电后,操作系统加载,初始化后执行系统脚本,脚本将依次执行数据采集进程、导航解算进程、控制解算进程、PWM辅助进程、空地通信进程,在最后依次调用用户的负载任务进程。数据采集进程初始化后将创建4个线程,按100Hz的速率接收IMU、气压高度计和空速计的数据,按10Hz接收GPS的数据,接收完后,对数据进程简单处理,并存入数据采集共享内存中,并释放相应的信号量,唤醒等待相应数据的线程。
在导航解算进程中,初始化后,将创建组合导航线程,在主线程中,阻塞等待IMU信号量,线程阻塞时将休眠,退出调度队列,不占用CPU资源,该机制使CPU资源得到充分利用。当IMU采集到一帧数据,导航解算进程的主线程将被唤醒,重新被添加到调度队列,使用四元数算法进行捷联惯导解算,将结果存入导航共享内存中。另一方面组合导航线程阻塞等待GPS信号量,当被唤醒使用GPS数据进行卡尔曼滤波解算,并使用解算结果对惯导解算参数进行补偿。其中为了避免组合导航解算结果补偿时捷联惯导解算正在进行,从而导致惯导解算使用了错误的参数,所以使用了信号量进行互斥操作,即当补偿时,组合导航解算线程尝试获得信号量,若获得则捷联惯导解算不在进行,那么进行补偿,然后释放信号量,否则该线程阻塞等待惯导解算完成,被唤醒然后进行补偿,再释放信号量。
在控制解算进程中,初始化后,进程创建一个POSIX定时器,每20ms创建一个线程,线程先从导航共享内存获得导航解算结果和传感器标定补偿结果,再从飞行控制共享内存中获取飞行控制信息,根据飞行状态、飞行模式和飞控解算参数等进行控制律解算,将解算结果存入飞行控制共享内存中,然后唤醒PWM辅助进程。
在PWM辅助进程中,初始化后,首先读取配置文件中的STM32配置帧,通过UART发送给STM32,配置帧中规定了需要监控的输入端口和输出端口。创建一个子线程循环阻塞等待SPI数据,当收到数据帧,对数据解包,并存入飞行控制共享内存和日志文件中。主线程则阻塞等待被控制解算进程唤醒,被唤醒后,从飞行控制共享内存中获得解算结果,通过UART发送给PWM辅助模块,重新阻塞等待被唤醒。
空地通信进程在初始化中获取所有共享内存指针,设定一个100ms的POSIX定时器,每当定时器到期就创建一个子线程,按数据帧格式进行数据打包,向地面站发送飞机状态;主线程继续执行,阻塞接受地面站的指令,接收到指定后根据指令做出对应处理。
上述的共享内存具体为:
数据采集共享内存:包括3轴陀螺仪、3轴加速度计、3轴磁传感器数据、三轴陀螺仪温度、3轴加速度计温度、GPS数据帧、空速以及气压高度计的气压和温度;
导航共享内存:包括飞机的姿态、经纬度、高度、速度、经过标定补偿的传感器数据;
飞行控制共享内存:包括飞行模式、PID参数、航点信息、半自动模式指令、遥控器PWM采集数据等。
图4所示为PWM辅助模块中的STM32辅助单片机的程序流程图,简述如下:首先初始化:配置系统时钟、设置中断分组、配置UART收发DMA、配置SPI收发DMA、定时器PWM输入、输出初始化。等待飞控计算机的初始化配置帧,完成初始化配置,进入主循环。PWM输入在定时器中断中完成,当监控的某端口采集完成,标志变量中端口对应的标志位置位。主循环中轮询标志变量,当监控的所有端口采集完备,首先判断通道CH5的采样值,若是手动模式(2000~2800,),则切换PWM信号线路为遥控器PWM信号,并修改当前飞行模式,然后开启SPI发送DMA,将数据帧发送给飞控计算机。此外,在UART接收DMA中断中,先清除通道的中断标志位,关闭该DMA通道使能,对接收到的数据帧进行解包,并作对应操作,如修改当前飞行模式,切换PWM输出通道、输出PWM控制量等,打开该DMA通道使能。
综上所述,本发明在考虑小型固定翼无人机载重和安装空间限制,基于嵌入式Linux操作系统,设计了多任务协调运行飞行控制系统应用程序,同时用户可在不修改源程序的情况下增加负载任务,如拍照、监控等,并且各飞行控制系统应用程序中的进程接口明确,便于二次开发。嵌入式Linux操作系统工作稳定,不同进程拥有独立的内存空间,即使负载任务崩溃也不会影响飞行任务进程或者系统崩溃,使飞行控制系统具备较强的可靠性。而PWM辅助模块的设计则保证了在危机情况下可随时通过遥控器切换为手动模式,进行紧急控制,最大程度保持飞机安全。
Claims (4)
1.一种基于嵌入式操作系统的飞行控制系统,其特征在于,包括机载飞行控制仪和地面站,其中机载飞行控制仪包括飞控计算机(1)、传感器模块(2)、执行机构模块(4)、PWM辅助模块(5)、遥控信号接收模块(6)和机载无线电台模块(10),飞控计算机(1)通过多种串行接口采集传感器模块(2)的数据,进行导航解算和控制律解算获得控制量,并通过UART发送给PWM辅助模块(5),PWM辅助模块(5)将控制量转为PWM信号输出给执行机构模块(4)以控制飞机飞行;飞控计算机(1)还通过机载无线电台模块(10)与地面站进行数据交互,通过遥控信号接收模块(6)和PWM辅助模块(5)接收地面站的遥控信号;
所述传感器模块(2)包括9轴IMU、气压高度计、空速计和GPS,其中9轴IMU包括3轴陀螺仪、3轴加速度计和3轴磁传感器;
所述PWM辅助模块(5)包括STM32最小系统和PWM信号切换电路,正常运行情况下,STM32最小系统控制选择PWM信号切换电路的输入信号作为执行机构模块( 4) 的输入,STM32出现故障时,PWM信号切换电路下拉电阻使PWM信号线路切换至遥控器信号;
基于嵌入式操作系统的飞行控制方法,其特征在于,飞控计算机(1)运行嵌入式Linux操作系统,进行进程调度,具体步骤如下:
步骤1、初始化控制律参数、飞行模式保存在飞行控制共享内存中;
步骤2、数据采集进程分线程采集传感器模块(2)的数据,将数据存入数据采集共享内存中;
步骤3、导航解算进程根据数据采集共享内存的数据进行组合导航解算,获得飞机姿态、速度和位置,更新导航共享内存;
步骤4、飞行控制进程根据飞行控制共享内存的控制律参数、飞行模式和导航共享内存的飞行状态进行控制律解算,得到控制量更新飞行控制共享内存;
步骤5、PWM辅助进程将控制量发送给PWM辅助模块(5),PWM辅助模块(5)将控制量转为PWM信号输出给执行机构模块(4),以控制飞机飞行;PWM辅助进程还通过遥控信号接收模块(6)和PWM辅助模块(5)接收地面站的遥控信号;
所述控制方法还包括空地通信进程,空地通信进程通过串口与机载无线电台模块(10)通信,实现与地面站的全双工数据交互,汇报飞行状态,根据指令更新飞行控制信息;
具体的,数据采集进程初始化后将创建4个线程,按100Hz的速率接收IMU、气压高度计和空速计的数据,按10Hz接收GPS的数据,接收完后,对数据进行简单处理,并存入数据采集共享内存中,并释放相应的信号量,唤醒等待相应数据的线程;
在导航解算进程中,初始化后,将创建组合导航线程,在导航解算进程的主线程中,阻塞等待IMU信号量,导航解算进程的线程阻塞时将休眠,退出调度队列,不占用CPU资源,该机制使CPU资源得到充分利用;当IMU采集到一帧数据,导航解算进程的主线程将被唤醒,重新被添加到调度队列,使用四元数算法进行捷联惯导解算,将结果存入导航共享内存中;另一方面组合导航线程阻塞等待GPS信号量,当被唤醒使用GPS数据进行卡尔曼滤波解算,并使用卡尔曼滤波解算结果对惯导解算参数进行补偿,其中为了避免组合导航解算结果补偿时捷联惯导解算正在进行,从而导致惯导解算使用了错误的参数,使用信号量进行互斥操作,即当补偿时,组合导航解算线程尝试获得信号量,若获得则捷联惯导解算不在进行,那么进行补偿,然后释放信号量,否则该线程阻塞等待惯导解算完成,被唤醒然后进行补偿,再释放信号量;在控制解算进程中,初始化后,创建一个POSIX定时器,每20ms创建一个控制解算线程,控制解算线程先从导航共享内存获得组合导航解算结果和传感器标定补偿结果,再从飞行控制共享内存中获取飞行控制信息,根据飞行状态、飞行模式和飞控解算参数进行控制律解算,将控制率解算结果存入飞行控制共享内存中,然后唤醒PWM辅助进程;在PWM辅助进程中,初始化后,首先读取配置文件中的STM32配置帧,通过UART发送给STM32,配置帧中规定了需要监控的输入端口和输出端口,创建一个PWM辅助进程的子线程循环阻塞等待SPI数据,当收到数据帧,对数据解包,并存入飞行控制共享内存和日志文件中,PWM辅助进程的主线程则阻塞等待被控制解算进程唤醒,被唤醒后,从飞行控制共享内存中获得组合导航解算结果,通过UART发送给PWM辅助模块,重新阻塞等待被唤醒;
空地通信进程在初始化中获取所有共享内存指针,设定一个100ms的POSIX定时器,每当POSIX定时器到期就创建一个空地通信进程的子线程,按数据帧格式进行数据打包,向地面站发送飞机状态;空地通信进程的主线程继续执行,阻塞接受地面站的指令,接收到指令后,根据指令做出对应处理。
2.根据权利要求1所述的基于嵌入式操作系统的飞行控制系统,其特征在于,所述飞行控制系统包括3种控制模式:全自动模式、半自动模式和手动模式。
3.根据权利要求1所述的基于嵌入式操作系统的飞行控制系统,其特征在于,导航解算进程使用捷联惯导算法和卡尔曼滤波算法进行组合导航解算。
4.根据权利要求1所述的基于嵌入式操作系统的飞行控制系统,其特征在于,飞行控制进程使用PID算法进行控制律解算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710647731.9A CN107505833B (zh) | 2017-08-01 | 2017-08-01 | 一种基于嵌入式操作系统的飞行控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710647731.9A CN107505833B (zh) | 2017-08-01 | 2017-08-01 | 一种基于嵌入式操作系统的飞行控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107505833A CN107505833A (zh) | 2017-12-22 |
CN107505833B true CN107505833B (zh) | 2021-09-03 |
Family
ID=60689704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710647731.9A Active CN107505833B (zh) | 2017-08-01 | 2017-08-01 | 一种基于嵌入式操作系统的飞行控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107505833B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108508915A (zh) * | 2018-04-02 | 2018-09-07 | 沈阳航空航天大学 | 一种多旋翼飞行器自动控制系统及其控制方法 |
CN109062246B (zh) * | 2018-07-23 | 2021-11-09 | 南京理工大学 | 具有多任务自调度的模块化飞控系统及其设计方法 |
CN109459098A (zh) * | 2018-09-29 | 2019-03-12 | 中国飞行试验研究院 | 一种进气道空气流量实时计算系统 |
CN109857698A (zh) * | 2019-02-26 | 2019-06-07 | 重庆零壹空间航天科技有限公司 | 一种火箭飞行数据处理方法、装置 |
CN109839941A (zh) * | 2019-03-04 | 2019-06-04 | 张书玮 | 一种个人小型飞行器控制系统 |
CN110398978A (zh) * | 2019-04-24 | 2019-11-01 | 内蒙古科技大学 | 一种基于草畜平衡模型度放牧路径规划系统 |
CN111323839B (zh) * | 2020-04-07 | 2023-04-07 | 中国人民解放军国防科技大学 | 一种光电探测机构用嵌入式控制系统 |
CN111862747A (zh) * | 2020-07-31 | 2020-10-30 | 北京韦加科创技术有限公司 | 一种多旋翼无人机飞控教学开发套件 |
CN112731849A (zh) * | 2020-12-29 | 2021-04-30 | 中国航天空气动力技术研究院 | 一种小型飞控机 |
CN113138753B (zh) * | 2021-03-26 | 2024-04-02 | 上海卫星工程研究所 | 一种基于实时操作系统的多进程星务系统及其实现方法 |
CN115150218A (zh) * | 2021-03-30 | 2022-10-04 | 广东博智林机器人有限公司 | 一种上位机与驱动器的串行通信方法、装置及系统 |
CN113268075A (zh) * | 2021-06-10 | 2021-08-17 | 合肥工业大学 | 一种无人机控制方法及系统 |
CN113868029A (zh) * | 2021-08-12 | 2021-12-31 | 北京航天长征飞行器研究所 | 一种多任务并发测试方法及测试系统 |
CN114018264B (zh) * | 2021-10-28 | 2023-05-23 | 北京信息科技大学 | 导航用芯片 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902276A (zh) * | 2012-10-12 | 2013-01-30 | 大连理工大学 | 一种基于偏振光传感器的飞行控制系统 |
CN102915038A (zh) * | 2012-11-16 | 2013-02-06 | 北京航空航天大学 | 一种微小型无人直升机双余度自主飞行控制系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030052798A1 (en) * | 2001-09-17 | 2003-03-20 | Hanson Loyal Mckinley | Airplane anti-hijack system |
CN102360218A (zh) * | 2011-10-14 | 2012-02-22 | 天津大学 | 基于arm和fpga的无人直升机导航与飞行控制系统 |
CN103365295B (zh) * | 2013-06-29 | 2015-09-30 | 天津大学 | 基于dsp的四旋翼无人飞行器自主悬停控制系统及方法 |
CN106647264B (zh) * | 2016-12-02 | 2019-09-13 | 南京理工大学 | 一种基于控制约束的扩展鲁棒h∞的无人机控制方法 |
-
2017
- 2017-08-01 CN CN201710647731.9A patent/CN107505833B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902276A (zh) * | 2012-10-12 | 2013-01-30 | 大连理工大学 | 一种基于偏振光传感器的飞行控制系统 |
CN102915038A (zh) * | 2012-11-16 | 2013-02-06 | 北京航空航天大学 | 一种微小型无人直升机双余度自主飞行控制系统 |
Non-Patent Citations (1)
Title |
---|
敏捷飞行器未知室内探索与机动控制方法;杨盛毅;《中国博士学位论文全文数据库 工程科技Ⅱ辑》;20150715(第7期);正文30-43页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107505833A (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107505833B (zh) | 一种基于嵌入式操作系统的飞行控制系统及方法 | |
CN107831783B (zh) | 一种支持多无人机自主飞行的地面站控制系统 | |
Hattenberger et al. | Using the paparazzi UAV system for scientific research | |
CN101515178B (zh) | 基于can总线的主从负担式余度无人飞机自动驾驶仪 | |
CN201429796Y (zh) | 无人直升机自动飞行控制系统电路 | |
CN111045454B (zh) | 一种基于仿生自主导航的无人机自驾仪 | |
Jang et al. | Automation of small UAVs using a low cost MEMS sensor and embedded computing platform | |
CN204229233U (zh) | 一种多旋翼无人机自动飞行控制系统 | |
CN108965124A (zh) | 一种无人机控制系统 | |
KR101418487B1 (ko) | Arinc 653을 이용하는 무인기용 비행제어시스템 및 그 제어방법 | |
CN102707725A (zh) | 固定翼自动导航飞行控制系统及其使用方法 | |
CN100356281C (zh) | 一种用于飞行器的自动驾驶仪 | |
Sabikan et al. | Open-source project (OSPs) platform for outdoor quadcopter | |
CN109471433B (zh) | 一种基于偏振罗盘的航向与姿态参考系统 | |
CN202771262U (zh) | 固定翼自动导航飞行控制系统 | |
CN110989647B (zh) | 一种基于SoC的多传感器融合飞行控制器 | |
Taha et al. | Development of an onboard system for flight data collection of a small-scale UAV helicopter | |
CN110244755A (zh) | 无人机应急控制系统、方法及无人机 | |
Kendoul et al. | Embedded autopilot for accurate waypoint navigation and trajectory tracking: Application to miniature rotorcraft uavs | |
CN201004180Y (zh) | 无人机姿态控制系统 | |
CN112148031A (zh) | 一种支持无人机飞行的智能管理控制平台系统 | |
CN115202271A (zh) | 一种微小型无人机嵌入式飞行控制器 | |
Yongliang et al. | Attitude estimation for small helicopter using extended kalman filter | |
US20210343170A1 (en) | System and method for software-defined drones | |
Hong et al. | Ground control station development for autonomous UAV |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |