纵列式无人直升机飞行控制系统设计

2023-01-12 00:49何志辉高万林何雄奎任延昭马仲伟
关键词:遥控旋翼直升机

何志辉, 高万林,2, 何雄奎, 任延昭, 马仲伟

(1. 中国农业大学 信息与电气工程学院, 北京 100083; 2. 农业农村部 农业信息化标准化重点实验室, 北京 100083; 3. 中国农业大学 理学院, 北京 100193; 4. 深圳禾苗通信科技有限公司西安分公司, 陕西 西安 710000)

随着嵌入式微处理器、传感器、导航、通信、动力与能源供给以及控制理论等技术的发展,对具有广阔军事和民用前景的纵列式无人直升机进行研究与开发具有很重要的现实意义[1-5].设计及搭建纵列式无人直升机样机,研究开发纵列式无人直升机飞行控制系统对深入研究该机型是必要的[6-7].纵列式无人机直升机主要优点是两副旋翼同步反向旋转,相互抵消旋翼产生的反扭矩,因此可以将动力全部用于旋翼旋转产生升力[8-9].同时由于这种布局的直升机无尾浆,可以节省尾桨消耗的功率,该功率约占总功率的7%~10%,悬停时的气动效率高于传统单旋翼布局[10-11].另外这种布局的直升机在机体质量接近单旋翼直升机的同时,具有更大的桨盘面积,可以获得更大的起飞质量,在相同起飞质量时,具有更小的搬运体积,其安全性也较单旋翼无人直升机好.同时由于纵列式无人直升机在结构上较为对称,在结构上比单旋翼直升机更加简单,便于模块化设计,方便维护和降低使用成本[12].

与多旋翼无人机及单旋翼带尾浆的直升机相比,纵列式无人直升机有其独特的优点,如载重比较大,续航时间较长,但是目前没有针对纵列式无人直升机的开源飞控,必须对纵列式无人直升机的飞行控制系统加以深入研究与开发,并进行飞行试验.文中从纵列式无人直升机的飞行控制原理、硬件设计、软件开发、系统调试与飞行试验等几个方面对搭建的飞行控制系统进行较为详细的阐述,最后通过遥控飞行试验对所设计的飞行控制系统进行验证.

1 纵列式无人直升机运动控制设计

1.1 纵列式无人直升机总体结构参数

电动无人直升机采用由电动机、电池和电子调速器组成的电动系统作为动力,相对于内燃机驱动的传统直升机,具有噪声低、振动小、清洁无污染、维护性好、可靠性高等特点.文中所设计的纵列式无人直升机采用无刷电动机驱动,其机械结构简单、操纵灵敏、噪声低,所设计的三维模型如图1所示.

图1 纵列式无人直升机三维模型

该纵列式无人直升机由2个无刷电动机提供动力,另外有 6个数字舵机,前后旋翼下面各安装3个数字舵机,控制前后自动倾斜器实现前后旋翼的总距变化、横向周期变距和纵向周期变距.所搭建的纵列式无人直升机样机如图2所示.

图2 纵列式无人直升机样机

文中所搭建的纵列式无人直升机样机总体参数如下:质量3.0 kg;最大起飞质量5.5 kg;机身长度1 650 mm;机身高度245 mm;桨盘半径405 mm;桨叶长度360 mm;桨叶弦长34 mm;桨叶数6片;电动机功率1 250×2 W;电池电压22.2 V,容量2 200×2 mAh.

1.2 纵列式无人直升机运动控制分析

纵列式无人直升机完成飞行控制必须具备的基本条件是有效控制飞行器的滚转、俯仰、航向和高度[13].该纵列式无人直升机通过2个无刷电动机的转速和6个数字舵机输出角度控制前后两个自动倾斜器的状态,使得无人直升机产生垂向运动、纵向运动、横向运动和偏航运动.

垂直向上、向下运动是通过同等增加、减少前后旋翼的总距来实现的,如图3a所示.俯仰控制是通过前、后旋翼拉力大小的差分变化来实现的,即通过前、后旋翼的差分总距或差分纵向周期变距来实现,如图3b所示.滚动控制是通过沿横滚轴同等倾斜前后倾斜盘来实现,即通过前后旋翼的横向周期变距来实现,如图3c所示.最后,偏航运动是通过前后两个旋翼的横向周期变距的差分变化获得的,如图3d所示.

图3 纵列式无人直升机飞行控制原理

2 飞行控制系统硬件设计

2.1 飞行控制系统硬件总体设计

纵列式无人直升机的飞行控制系统硬件按模块化设计思想可以分为以下几个模块:主控制模块、传感器模块、遥控器接收机模块、无线通信模块和电压模块等模块部分.

1) 主控制模块是纵列式无人直升机飞行控制系统最核心控制部分.它的主要任务是在每个控制周期内处理姿态传感器采集到的数据,通过控制算法,计算得到无人机的位姿信息,再结合遥控器发送过来的飞行动作控制信号,综合计算并将计算结果转化为不同占空比的脉宽调制(pulse width modulation,PWM)信号来驱动2个无刷电动机和6个数字舵机,以确保纵列式无人直升机平稳地完成目标飞行任务[14].

2) 传感器模块是纵列式无人直升机的飞行姿态参数的测量装置,其测量的信息主要包括3轴加速度、3轴角速度、航向和姿态信息等.在传感器测量的过程中,由于无人机机体振动等外界环境和传感器自身的局限性,对测量的参数有很大的影响,从而导致测得的无人机姿态和位置信息不精确.因此需要将加速度计、陀螺仪和磁力计等姿态测量传感器的信息进行融合,获得相对较为精确的无人机的横滚角、俯仰角、偏航角姿态信息[14-16].

3) 遥控器接收机模块用于接收遥控器的控制信号,将遥控信号传递给主控制器模块.

4) 无线通信模块可用于主控制器模块和上位机之间的通信,完成控制参数的修改,也可以将无人机的姿态信息发送到上位机进行显示[2].

5) 电压模块为主控制模块和传感器及无线通信模块提供稳定的5.0 V和3.3 V电压,保证各模块的正常工作.

根据以上各功能模块设计的整个纵列式无人直升机飞行控制系统硬件总体结构如图4所示.

图4 纵列式无人直升机飞行控制系统硬件总体结构

2.2 飞行控制系统硬件选型及电路设计

2.2.1主控制模块选型及电路设计

通过综合考虑,采用STM32H750微控制器芯片作为纵列式无人直升机控制系统的主控制器模块芯片.它具有 CortexTM-M7内核,工作频率高达480 MHz.使用串行总线(serial peripheral interface,SPI)接口与 6轴运动处理传感器 LSM6DSR,磁强力计 LIS2MDL通信.使用PPM方式读取遥控器接收到的遥控信号,采用定时器TIM2和TIM3输出电动机转速 PWM以及数字舵机的控制信号.

2.2.2姿态检测模块

纵列式无人直升机的姿态检测单元选用LSM6DSR惯性模块作为机体姿态检测的传感器.LSM6DSR是意法半导体在2019年6月推出的高性能MEMS惯性模块,该模块封装包含1个3轴数字加速度计和1个3轴数字陀螺仪,角速率满量程被扩大至4 000(°)·s-1,且在温度和时间上具有高稳定性.加速度可选量程为±2,±4,±6,±8和±16g,陀螺仪可选量程为±125,±250,±500,±1 000,±2 000和±4 000 (°)·s-1.LSM6DSR惯性模块的方向及引脚示意图如图5所示.文中采用该模块进行机体姿态检测,其外围电路设计如图6所示.

图5 LSM6DSR惯性模块的方向及引脚连接示意图

图6 LSM6DSR惯性模块外围电路设计

纵列式无人直升机的航向采用磁力计进行测量.磁力计选用意法半导体公司的LIS2MDL传感器.该器件可以测量3轴方向的磁场强度,动态测量范围为±50×10-4T,测量值通过16位数据输出,另外该器件提供了SPI和I2C总线两种接口,文中选择SPI接口方式进行通信.该器件的供电电压为1.71~3.60 V.LIS2MDL磁力计模块的方向及引脚连接示意图如图7所示.文中所设计的LIS2MDL磁力计模块外围电路如图8所示.

图7 LIS2MDL磁力计模块的方向及引脚连接示意图

图8 LIS2MDL磁力计模块外围电路设计

2.2.3遥控器接收模块

PWM和 PPM(pulse position modulation)是接收机输出信号的两种通行标准.PWM信号相对于PPM信号最大的区别在于PWM的每条物理连线上只能传输1个通道的信号,因此有几个通道的信号,就需要几组物理连线[17].每组物理连线一般为3根线:电源线、信号线和地线,因此如果通道数较多,则物理连线会比较多,而在PPM方式下,仅需1根电源线、1根信号线和1根地线,共3根线就可以传输多个通道的控制信号,非常方便.文中的接收机选用与富斯科技FS-i6遥控器发射机配对的FS-iA6B接收机组成的一个6通道2.4 GHz遥控指令系统.

文中使用飞行控制系统的主控制芯片STM32H750VBT6的高级定时器 TIM1输入捕获模式测量遥控器上的油门、俯仰、横滚和偏航4个通道输入的 PWM脉冲宽度.

2.2.4无线通信模块

采用ESP-12F WiFi模块作为无线通信模块和纵列式无人直升机的飞行控制系统进行通信,利用上位机可以对纵列式无人直升机的飞行控制系统进行无线调参,同时纵列式双引擎无人直升机的姿态信息也可以通过串口WiFi模块发送到上位机进行显示.

ESP-12F WiFi模块是由安信可科技开发的,该模块核心处理器ESP8266 在较小尺寸封装中集成了业界领先的Tensilica L106 超低功耗32 位微型MCU,带有16 位精简模式,主频支持80 MHz 和160 MHz,支持RTOS,集成Wi-Fi MAC/BB/RF/PA/LNA.ESP8266 负责无线上网接入承担WiFi 适配器的任务时,可以将其添加到任何基于微控制器的设计中,连接简单易行,只需通过SPI/SDIO 接口或I2C/UART口即可.

2.2.5电源模块

文中的飞行控制系统模块的供电电压是通过无刷电子调速器自带的BEC进行供电,其输出电压为5~8 V可调,但飞行控制系统中不同的模块和传感器对电压的需要不同,需要5.0 V和3.3 V两种电压,因此文中设计了5.0 V和3.3 V两种稳压电源电路,如图9所示.

图9 稳压电源电路

3 飞行控制系统软件设计

3.1 系统软件流程

根据不同功能进行设计可以将纵列式无人直升机飞行控制软件系统分为系统初始化、姿态数据采集、控制律解算、电动机及舵机控制、无线数据传输以及地面控制站6个模块,其主程序流程如图10所示.

图10 纵列式无人直升机主程序流程图

3.2 子模块软件设计

在纵列式无人直升机飞行控制系统软件的子模块软件设计中,姿态数据采集模块和控制律解算模块软件设计是重点和难点[2].

3.2.1姿态数据采集模块软件设计

姿态数据采集模块软件设计主要包括初始化、数据采集和数据解算3部分.

1) 模块初始化.初始化主要是对寄存器进行设置,包括6轴运动传感器LSM6DSR和3轴磁力计 LIS2MDL的初始化.

2) 数据采集.数据采集先通过SPI总线采集数据并保存在数组里,然后将数据合并成所需的数据形式.

3) 数据解算.数据解算的目的是将采集的数据转化为姿态角,即滚转角、俯仰角和偏航角.另外数据解算还涉及多传感器的信息融合,以解决陀螺仪存在积分误差发散、温漂现象和加速度计动态性能差等问题[2].

从机体坐标系到地面坐标系的旋转矩阵[18]R为

(1)

式中: s和c分别表示正弦和余弦函数;φ为滚转角;θ为俯仰角;ψ为偏航角.

为了避免在数据融合过程中利用欧拉角表示姿态而导致的旋转矩阵求解运算量大的问题,使用四元数表示旋转矩阵为[19]

(2)

由以上两式可解算出飞行器的姿态角为

(3)

将获取的加速度、角速度以及磁场数据使用四元数互补滤波算法融合,即可获得精确的姿态角信息.根据四元数得到姿态角的程序如下:

attitude_angle.yaw=atan2(2f*(q1q2+q0q3),q0q0+q1q1-q2q2-q3q3)*57.3f;

attitude_angle.rol=atan2(2f*q2q3+2f*q0q1,q0q0-q1q1-q2q2+q3q3)*57.3f;

attitude_angle.pit=asin(2f*(q0q2-q1q3))*57.3f.

3.2.2控制律解算模块软件设计

控制模块软件利用传感器反馈的姿态角,并采取一定的控制策略完成遥控接收机或者导航解算给定的控制任务[2].文中采用串级PID对纵列式无人直升机的姿态进行控制,内环控制角速度,外环控制角度.串级PID控制原理如图11所示.

图11 纵列式无人直升机串级PID控制原理图

纵列式无人直升机飞行控制系统PID控制算法程序实现如下:

void pid_cal(struct pid_data_t *pid_para, float target, float measure)

{

pid_para->error=target-measure;

pid_para->integral+=pid_para->error;

pid_para->differ=-(measure- pid_para->measure_last);

pid_para->error_last=pid_para->error;

pid_para->measure_last=measure;

pid_para->p_out=pid_para->kp * pid_para->error;

pid_para->i_out=pid_para->ki * pid_para->integral;

pid_para->d_out=pid_para->kd * pid_para->differ;

pid_para->output=pid_para->p_out+pid_para->i_out+pid_para->d_out;

}

4 系统调试与飞行试验

4.1 软件开发平台

在整个程序开发过程中使用了软件集成开发环境 KEIL 5.可以选择 C 或C++语言进行编程,然后进行编译、链接和调试,可以很方便地将调试好的程序上传到单片机,还可以进行在线调试.

4.2 系统调试

系统调试分为 3 个阶段,依次为硬件调试、软件调试和软硬件联调.硬件调试是在焊接好 PCB 板的基础上,进一步确认硬件电路无故障,提供各模块正常工作的硬件环境[2,20].主要调试内容包括电源转换电路、STM32H750VBT6 最小系统、姿态传感器模块、无线通信模块和遥控接收机模块.飞行控制系统软件包括上位机(地面站)调试软件和下位机飞行控制软件两部分,上位机调试软件主要是检测上位机和下位机通信的串口收发协议是否正确,下位机飞行控制软件的调试依托系统硬件,主要检测各模块能否正常工作以及控制算法参数调试.软硬件联调目的是使整个飞行控制系统正常稳定工作,最终实现遥控飞行等[2].

4.3 飞行试验

纵列式无人直升机的飞行控制试验具有一定的危险性,一旦失控,不但会损坏机体平台和器件,甚至可能伤及试验人员.因此,需要设计一个安全可靠的试验方案,文中采取“系留试验+放飞遥控试验”的试验方案:① 搭建系留试验平台,进行系留遥控试验,基本确定各通道控制参数,使之在台架上能够进行较为稳定的姿态控制;② 进行放飞遥控试验,进一步调试参数,使其在空中的飞行更为稳定.

4.3.1系留试验

各通道的系留试验基本类似,文中以俯仰通道的系留试验为例进行说明.俯仰的试验方法如下:拨动遥控器的俯仰摇杆,观察无人机能否较好地跟随操纵意图,在试验过程中从小到大修改被试验PID参数,直到无人机能较好地跟踪操纵者的控制意图,并记录下PID控制参数.俯仰通道具体的试验过程如下:当纵列式无人直升机的俯仰角在0°附近时(俯仰角范围从物理上进行了限制,最小-6.5°到最大4.5°,俯仰角可以通过上位机读取),按上仰方向打俯仰摇杆,俯仰角到最大4.5°时,再反向打俯仰摇杆,下俯至最小-6.5°位置停止,观察整个俯仰试验过程的情况.纵列式无人直升机俯仰通道的俯仰过程如图12所示.

图12 俯仰通道系留试验

为证明上述试验结果,对试验观察进行量化,观察上位机上显示的惯导传感器检测到的俯仰角随时间变化的数据波形如图13所示.

图13 俯仰角随时间变化的数据波形

由图13可知,俯仰通道能较好地跟踪指令信号,误差角度在可接受范围内,基本上达到试验要求.横滚通道及偏航通道的试验方法和俯仰通道试验方法相类似,试验也达到了预期控制效果.经过系留遥控试验,能够较为稳定地控制机体姿态,可以进行放飞遥控试验.

4.3.2放飞遥控试验

放飞遥控试验对飞行场地有一定的要求,需要场地比较空旷,试飞场地内没有树木、电线杆和围观观众.试飞对天气情况也有一定要求,需要风速小、能见度高,以便于观察纵列式无人直升机试飞中的情况.另外需要有拍摄录像设备,以记录试飞情况.由于试飞具有一定的危险性,为防止螺旋桨桨叶伤及试验人员并保护机体,给机体增加防护装置.最后根据试飞的需求,选择了中农航天智慧农业集成示范园里的藜麦地作为试飞场地,飞行试验情况如图14所示.放飞遥控试验表明文中所设计的飞行控制系统能够对纵列式无人直升机的姿态进行稳定控制,达到了预期设计目标.

图14 纵列式无人直升机放飞遥控试验

5 结 论

文中从硬件设计、软件设计和系统调试与飞行试验等几个方面较为详细地介绍了纵列式无人直升机飞行控制系统的设计和实现过程.在试验上,依次进行了软硬件系统联调、系留试验、放飞遥控试验.飞行试验表明:所设计的飞行控制系统初步实现了对机体姿态的有效控制.

猜你喜欢
遥控旋翼直升机
直升机?
直升机
“遥控”老师
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
基于STM32的四旋翼飞行器的设计
他是如何遥控引爆的
四旋翼无人机动态面控制
直升机取票
遥控赛车