王茂森,祁 建,戴劲松
(南京理工大学机械工程学院,江苏 南京 210094)
摘要:基于目前很流行的多轴飞行器,,提出了一主多从多机协调控制系统。主机以ARM架构微处理器S3C6410为主控核心,采用Linux操作系统作为S3C6410软件开发平台。从机采用STM32为控制核心,多机间基于2.4 G无线通讯模块进行信息交互。介绍了系统的总体设计、各节点间通信设计、主从机底层行为控制,并进行了相关测试,试验结果表明该系统能够满足多机协调控制的要求。
关键词:ARM;多轴飞行器;协调控制系统
中图分类号:TP273 文献标识码:A
0 引言
四轴飞行器近年来在无人机领域广受欢迎,它可以作为个人或团队工具,已经被设想用于各种自主平台中。基于嵌入式处理器加载嵌入式实时操作系统来构建飞行控制系统是目前国内外的主要研究方向,嵌入式Linux系统具有开放的源码、丰富的软件资源、功能强大的内核,性能高效稳定。基于Arm-linux的四轴飞行器的研究可以使得无人机的性能得到大大提高,为无人机处理各种任务提供了强有力的软、硬件基础,可以很方便地扩展无人机功能需求。本文介绍~种基于ARM的四轴飞行器协调控制系统的设计。
l 飞控系统总体设计
1.1 控制系统总体结构
整个飞控系统采用主从结构,地面和主机之间采用PPM无线遥控控制,主机和从机之间采用2.4G无线通讯进行信息交换。主机采用ARM11(S3C6410),其具备强大事务管理能力,专门负责决策规划。每个从机均采用AEM Cortex-M4内核的STM32F407,实时采集处理陀螺仪、加速度计电子罗盘、GPS等超声波传感信息。操作者实时监控飞机的飞行姿态和方位,通过遥控器给主机发送飞行指令,主机通过NRF24L01 2.4G无线通讯模块将控制指令传输给各从机,从机通过2. 4G无线模块实时将自己的位姿信息上传给主机,主机根据操作者给定的控制命令结合从机传上来的位姿信息计算出每架飞机的飞行路径和速度。整个控制系统的软、硬件设计同时具备了实时性、可靠性、安全性和可扩展性。由于飞控系统采用主从模块设计,大大节约了成本,提高了控制的灵活性,缩短了开发周期。飞控系统整体结构框图如图1所示。
1.2主机飞控系统设计
硬件上针对三星的S3C6410核心板,设计出一套底板,底板上载有HMC5883L电子罗盘、MPU6050陀螺仪和加速度计、HY-SRF05超生波模块,并留有串口、SPI总线、IIC、IO口、PWM输出等扩展口,用来连接GPS、电机、摄像机云台这些扩展模块。软件上主机飞控系统是基于嵌入式Linux系统平台搭建的,首先要移植U-Boot来引导Linux内核,然后裁剪配置Linux内核将其移植到S3C6410上面,最后移植Linux根文件系统来存放应用程序、必要的库和需要加载的模块。根据Linux内核版本编写相应的板载硬件驱动,按照一个设备对应一个驱动程序的原则,本文主要编写了罗盘( HMC5883L)、惯性模块(MPU6050)、遥控接收(PPM)、2.4G无线信号接收(NRF24L01)、GPS串口接收等底层硬件驱动并将其加载到内核中,然后在Windows环境下编写相应的应用程序,利用cuteftp将应用程序下载到Linux环境中,运行应用程序,调用编写的底层硬件驱动实现整个飞控系统的各项功能。主机飞控系统控制流程如图2所示。
1.3 从机飞控系统设计
从机控制系统采用STM32F407VGT6作为主控器,硬件上从机板载硬件资源和主机一样,包含有各种惯性传感器和无线传输模块等,其软件编程相对简单,直接在Keil软件中调用官方的库函数编写相关的应用程序来驱动相关硬件,无需像主机那样编写相关驱动。从机飞控系统控制流程如图3所示,主、从机飞控板硬件连线图如图4所示。
2 飞控算法设计
整个飞控算法中重要的几个模块为姿态解算、姿态控制、编队飞行,下面就着重对这3个方面进行介绍。
2.1 姿态解算
姿态角是控制四轴的依据,要控制四轴到正确的角度.就必须有一个正确的角度,它包括3个欧拉角的静态正确和动态准确。要计算出水平的2个欧拉角,最简单的方法是利用加速度计,计算重力加速度在各轴上的投影,通过反三角函数就能计算出姿态,但实际上,加速度不止重力加速度,还有运动加速度和噪声加速度,所以由此计算出来的欧拉角有噪声,不能用来控制四轴。
再者就是利用3个角速度,角速度的特点是噪声低,不会受运动的干扰。但如前所述想要四轴能自平衡,需要的是角度,而用角速度直接积分的角度,没有平衡点参照,积分会导致偏移。
将三维物体的简单旋转运动投影到二维图像中,就成了复杂的形态变化。而四元数把复杂的三维姿态运动放到四维空间中,使其成为简单的运动。每一个轴都要用另外的轴来融合,最后计算出角速度积分得到角度,再与加速度进行融合。姿态解算验证见图5。
通过旋转轴和绕该轴旋转的角度可以构造一个四元数:
其中:α为机体坐标系绕地理坐标系旋转的角度;cosβx、cosβy、cosβz分别为旋转轴在地理坐标系x、y、z轴上的分量。
由于载体的运动,四元数q是变量,其微分方程的矩阵形式为:
四元数到欧拉角的转换公式为:
2.2 姿态控制
飞控就是高频率不停地修正四轴的姿态。本设计使用自稳模式的控制算法,需要用到六轴平衡芯片MPU6050。使用加速度和陀螺仪直接计算出欧拉角,即四轴相对水平面的角度,至于航向角则利用罗盘矫正到经纬坐标角上。控制算法的核心思想是用角度PID控制四轴:P项为角度偏差乘以比例系数;D项为角度偏差进行微分(对其化简可以直接用MPU6050输出的角速度值来替代)再乘以微分系数;I项为对角度偏差进行积分再乘以积分系数。即:
电机输出量一比例系数×角度偏差十积分系数×角度偏差的积分十微分系数×角速度.
下面以控制俯仰角pit为例说明具体编程算法:
2.3编队飞行
由于本设计中是3个四轴飞行器按照指定的队列向前飞行,编队算法采用领导者一跟随者的模式。S3C6410作为领导者,两架Stm32F407作为跟随者,领导者接收地面的控制命令飞往指定目标,跟随者通过无线模块实时将自己的方位和高度信息传给领导者,领导者根据它们的位置信息发送控制命令给跟随者以保持原有的队形。由于本设计的四轴飞行器是用于高空飞行侦探的,考虑到高空中几乎无障碍影响,因此这里暂不考虑避障问题,编写算法时只要保证三架飞机之间的经纬度能保持固定的关系,则它们就能保持固定的队形向前飞行。主、从机间的数据通讯见图6。
3 试验与分析
本文对飞控的姿态解算、姿态控制、多机间通讯进行测试。测试如下:使用串口助手,摆动飞控板实时观察飞机的姿态值;发送遥控命令,结合当前的姿态值观察电机输出量;从机通过NRF94L01无线模块将自己的GPS位置值传给主机,主机通过串口显示出来。由测试结果可知,本套飞控系统在姿态解算、姿态控制、多机间协作通讯方面都是可行的。整机飞行控制效果验证见图7,四轴飞行器实物图见图8。
4 结语
应用该套飞控系统进行了初步的单机飞行控制试验和多机间信息交换通讯试验,得到了良好的运行效果。系统有着很好的实时性、可靠性,同时为今后多机间编队避障飞行、环境识别等提供了很好的软、硬件平台。为了更好地发挥整套群集控制系统的优势,还需要深入研究编队算法,采用Linux多线程调度、多传感融合技术等相关算法进行优化,使其在未来的军事和民用中发挥更大的作用。
参考文献:
[1]杨庆华,宋召青,时磊,四旋翼建模控制与仿真[J].海军航空工程学院学报,2009,10(3):205-210.
[2] 梅羡林,曹云峰.基于ARM的嵌入式SUAV飞控系统设计与实现[D].南京:南京航空航天大学,2008:16-44.
[3]孙纪坤,张小全,嵌入式Linux系统开发技术详解[M].北京:人民邮电出版社,2006.
[4]宋宝华,设备驱动开发详解[M].北京:人民邮电出版社,2008.
[5]陈哲.捷联惯导系统原理[M].北京:宇航出版社,1986.
[6]朱石林,潘海鹏.积分分离PID算法在变频调速系统中的实现[J].电气自动化,2010,32(1):33-35.
[7]王鹏基,杨涤.小卫星编队飞行队形设计与轨道要素确定[J].飞行力学,2002,20(3):39-43.
[8]魏星,何海燕,张建斌.多传感融合技术在蟑螂机器人控制中的应用[J].计算机测量与控制,2007,15 (12):1725-1728.
Design of Coordinated Control System for Quadrocopter Based on ARM
WANG Mao-sen, QI Jian, DAI Jin-song
( School of Mechanical Engineering, Nanjing University of Science and Technology, Nanjing 210094, China)
Abstract: Based on the very popular multi-axis aircraft, a master-slave multi-machine coordinated control system is proposed. The master using ARM microprocessor S3C6410 as core takes Linux as its software development platform. The slave uses STM32 as core, the communication between the master and slaves is designed based on 2. 4G wireless communication module. The overall design of the system, the design of communication between each node, the underlying behavioral control of the master and slave are introduced in this paper. Related tests are also carried out, and the results show that the system can meet the requirements of multi-machine coordinated control.
Key words: ARM; multi-axis aircraft; coordinated control system