无人机编队表演控制系统设计与实现

2021-09-05 11:43谢海军梁湛民王健
电子设计工程 2021年17期
关键词:主程序伪距控系统

谢海军,梁湛民,王健

(北京理工大学珠海学院,广东 珠海 519085)

随着无人机编队表演的兴起,编队飞行表演成为小型无人机发展的新方向[1-4]。目前,编队表演是由成百上千架无人搭载LED灯光在空间组成点阵,通过灯光色彩编程控制每架无人机上LED光源的亮灭组成各种图案[5-11]。但是,编队表演形式存在一些不足,主要表现为需要无人机数量多、大批量摔机、单个掉落、单个飞走等,抗干扰能力有待加强,而且每一次表演的费用昂贵[12-15]。文中设计了一种新型的无人机编队表演控制系统,可降低无人机编队表演成本。

1 无人机组成原理

无人机由飞控计算机、传感器系统、GPS模块和动力系统等组成[15-16]。飞行控制系统被视为无人机的大脑,其核心是飞控计算机,飞机是悬停还是飞行、向哪个方向飞都是由飞控下达指令;传感器系统相当于无人机的眼睛,用于实时测量和采集无人机数据;GPS模块用于对无人机进行定位;通信模块用于无人机和地面基站进行通信;动力系统由无人机的风门、升降机、方向机、副翼和动力电池组成,飞控计算机发出的指令给动力系统,从而完成各种动作。

1.1 飞控系统

无人机飞控系统如图1所示,其主要由遥控板和飞控板组成。无人机飞行控制系统是指能够稳定无人机飞行姿态,并能控制无人机自主或半自主飞行的控制系统。飞控系统实时采集各传感器测量的飞行状态数据、接收无线电测控终端传输的由地面测控站上行信道送来的控制命令及数据,经计算处理,输出控制指令给执行机构,实现对无人机中各种飞行模态的控制和对任务设备的管理与控制。同时,将无人机的状态数据及发动机、机载电源系统、任务设备的工作状态参数实时传送给机载无线电数据终端,经无线电下行信道发送回地面测控站。

图1 无人机飞控系统

1.2 无人机定位

文中系统采取差分GPS定位方法,目的在于消除常规GPS技术中人为加入的系统误差。差分系统由坐标已知、固定不动的基准站和移动站组成,其工作原理如下:

式中,i=1,2,…,n。

设基准站A观察j卫星,测得伪距为:

式中,ρjAt为t时刻A至卫星j的真实距离。送往移动台B点的差分改正为:

设基准站B观察j卫星,测得伪距为:

式中,ρjBt为t时刻B至卫星j的真实距离。送往移动台A点的差分改正为:

将A、B两个测量点的伪距改成正数代入差分原理式(1)中,得:

假设A、B两点间距不超过50 km,因而LjBtrop≈LjAion,LjAtrop≈LjBion。设d=c(VTB-Vtj),所以式(6)可简化为:

式(7)按台劳级数展开并整理得:

对式(8)按最小二乘法表示的伪距差分模型为:

整理得:

由式(10)可计算无人机之间的相对距离。该方法通过两点GPS的差分消除两个GPS中的共模误差。

1.3 飞控系统硬件

飞控板由STM32主控制器和MPU6000陀螺仪组成,其原理如图2所示。主控制器根据当前的任务指示结合控制算法,输出适当占空比的PWM波信号,控制电源输出的交变电流大小及尾部舵机转向,由此完成四旋翼、固定翼、直升机的姿态控制飞行。飞控系统无需借助GPS融合或者磁场传感器参与修正,就能保持长时间的姿态控制。通过C语言编译便可设置或者更改飞机种类、飞行模式、支持云台增稳等功能。由于地面站软件集成了完整的电子地图,因此可以通过电台实时监测飞机状态。

图2 飞控板原理图

1.4 LED点阵

如图3所示,以8×8×8的点阵为例。4架无人机在同一平面上飞行,组成一个正方形,搭载LED点阵的一个端点。同一平面内有64个LED点阵,立体空间LED组成了512个点阵。编写图案程序,并将指令发送至FPGA,由FPGA控制LED的亮灭,形成所需图案。

图3 LED点阵

1.5 LED点阵驱动

设计采用FPGA芯片EP1C6QC240C8。系统根据LED点阵的要求,利用Avalon总线配置了32位CPU软核以及ROM、RAM、SRAM、FIFO、SDRAM和DMA等片内外资源。用C语言编写DMA控制程序,实现在FIFO与Avalon传输,同时还专门设计了LED控制器,以实现LED点阵显示图案的功能。使用FPGA的IO口来驱动LED点阵的行,但由于IO口的输出电流比较小,无法直接驱动行方向的LED灯,所以要在IO口输出管脚与点阵的行之间安装一个PNP型的三极管,起到放大电流的作用。当IO口给出低电平时,三极管导通,三极管的另一端输出高电平,点亮行向LED。行LED点阵行驱动如图4所示。以8×8×8的点阵为例,在8×8的平面内需要布置64个三极管放大器,用于驱动同一平面内的LED灯。列驱动采用FPGA,其本身就具有锁存功能和移位输出功能,且移位寄存器和输出锁存器的控制是相互独立的,可实现在显示一行的列数据同时传送出下一行的列数据。LED点阵的列线接到FPGA的IO口上。主机给出指令显示数据,实现对LED点的控制。列LED点阵列驱动如图5所示。

图4 行LED点阵行驱动

图5 列LED点阵列驱动

2 软件设计

2.1 飞行模块主程序设计

图6所示为飞行模块主程序图,电路通电后,各芯片进行初始化,进入按键扫描阶段,此时系统处于待机状态。

图6 主程序图

2.2 中断控制流程图程序设计

图7所示为中断控制流程图程序,中断源向MPU提出处理要求,MPU先暂时停止当前的工作,而转去处理另一件工作。具体步骤是首先要把中断打开,当有中断时,保护被中断进程现场,将当前PSW和PC等的值保存;接着,若有多个中断同时发出请求,则进入优先级最高的中断,处理数据;之后恢复被中断进程现场,返回主程序。

图7 中断控制流程图程序

2.3 LED点阵程序设计

图8所示为LED点阵显示主程序,系统采用C语言编写LED点阵图案程序,通过编译器将源程序编译成可执行文件并下载,对可执行程序进行调试和运行。主程序主要完成系统的初始化,其主要功能是:对于系统中的每一个微处理器,从设备都生成一个定义该设备地址的头文件,为软件开发创建存储器映射文件。DMA的操作通过中断服务程序执行,把需要送出的像素信息排成一行,顺序送出形成数据流,借助于Avalon流模式外设的设计方法,实现一个Avalon流模式的LED控制器。利用DMA控制器在流模式控制器和SRAM之间建立一条DMA传送通道,通过硬件来完成像素信息的自动读取。

图8 LED点阵显示主程序

3 结束语

文中提出一种新型无人机编队表演方法,由4架无人机搭载LED灯带组成点阵,控制点阵中LED的亮灭,实现各种所需图案;该系统LED灯点阵可以扩展,可由多架无人机LED平面灯组成空间立体,实现立体图案。该系统用LED灯带组成点阵,可以减小无人机数量,降低表演成本,具有一定使用推广价值。

猜你喜欢
主程序伪距控系统
关于DALI灯控系统的问答精选
联调联试中列控系统兼容性问题探讨
浅谈数控铣削技术代码程序的嵌套方式研究
电控冰箱软件模块化设计
北斗伪距观测值精度分析
时光倒流 换回PotPlayer老图标
GNSS伪距粗差的开窗探测及修复
一种新型列控系统方案探讨
联合码伪距和载波宽巷组合的相对定位技术研究
简析GSM-R在CTCS-3列控系统中的作用和故障判断处理