方 可,霍 炬,赵志衡,晁 涛
(哈尔滨工业大学 控制与仿真中心,黑龙江 哈尔滨 150080)
自动控制原理是一门兼具理论和应用难度的高校专业课程,既具有一定的理论深度,又要求在实际系统中运用以体现学以致用的教学理念。传统的自动控制教学大都以锅炉、卫星等为对象进行举例和讲解,无法为学生建立耳熟能详的第一观感,影响了教学效果。多旋翼无人机[1-2]作为一种迅猛发展的新式飞行器,在军用、民用各领域都得到了广泛的应用,学生对其认知度相对较高。将自动控制原理的教学与多旋翼无人机的控制相结合,无疑是一个有良好前景的教改思路。
严格说来,无人机的飞行控制系统设计需要依靠空中飞行实验来验证,这给教学的可操作性和安全性带来了困难。无人机的控制是六自由度控制,但位置控制是以姿态控制为基础的,所以核心还是姿态控制。而多旋翼飞行器(以四旋翼[3-4]为常见)是几何对称的,因此是三自由度控制。三自由度的姿态控制可在小偏差线性解耦后转换为3个通道控制的叠加,每个通道都是一个单自由度绕质心运动控制。如果能基于多旋翼飞行器的原理,设计一个单自由度绕质心运动实验设备,即可在地面安全地实现无人机飞行控制系统的教学目标。
多旋翼飞行器在一个轴上的绕质心运动可简化为一个双旋翼天平,通过两侧电机驱动螺旋桨的不同转速来实现天平的姿态控制。借助于这样一个具体的控制对象,可以激发学生学习兴趣,将理论知识在实际系统中进行应用验证,并支持科技创新、学科竞赛等与多旋翼飞行器相关的项目实验。
为了实现该教学设备的单自由度姿态控制功能,同时保证系统与多旋翼飞行器控制的等价性和安全性,本文从工业级角度设计双旋翼天平设备,排除布线等对天平摆动的阻尼影响,保证系统的稳固支撑,加大设备舱及提供外部编程接口,并设置一个触摸屏便于观察参数和操作。
双旋翼天平的核心结构是一个两侧装备电机和螺旋桨、可绕水平中心在一定角度范围内自由旋转的摆臂。同时为了提供天平支点,需要设计一个撑座结构,将摆臂通过轴承架在撑座上。撑座底部包含一个设备舱,用以放置电子调速器、控制器、触摸式液晶屏等设备。最后需设计一个能够牢固支撑天平主体的撑脚结构,确保设备在任何旋翼转速下都不会移位或翻倒。设备的机械结构设计如图1所示。
图1 单自由度双旋翼天平自制教学设备的机械结构
摆臂采用直径15 mm的空心碳纤杆,电机的布线从摆臂中穿过,再从支点两侧的空心撑座中下穿抵达设备舱。使用一个四通中联连接摆臂和撑座,中联在撑座水平方向插入两个轴承以实现自由转动。姿态传感器位于中联上方,布线从中联下穿经空心撑座进入设备舱,避免阻尼干扰。设备舱上方设有两个垂直限位杆,可通过调整长度对天平摆动范围进行限定。设备舱底部设有4个可延展伸缩的撑脚,全展开长度为35 mm,确保对设备的可靠支撑。
参照多旋翼飞行器,摆臂的双侧电机采用无刷电机E-MAX RS2205,无刷电子调速器采用HobbyWing XRotor 20 A,惯性测量单元(inertial measurement unit,IMU)采用6轴陀螺仪/加速度计Invensense MPU6050[5-6],控制板采用STM32F103C8T6[7]最小系统板,触摸式液晶屏采用4.3寸TFT电容屏,同时使用一颗5 V、3 A的BEC(battery elimination circuit)对触摸屏供电。系统的动力电源使用一个外接式的12 V、30 A开关电源,通过设备舱左侧的XT60接口连接。系统的设备电源通过J-Link编程器连接控制板与计算机USB接口来提供。
当前多旋翼飞行器主流飞控的姿态控制律多采用串级 PID控制[8]和自抗扰控制[9]。结合双旋翼天平的实际情况,宜选取串级PID控制以降低学生的实验难度。
双旋翼天平是一个支点在摆臂几何中心的单自由度绕质心运动系统,由摆臂两侧的螺旋桨升力差来提供运动转矩。图2显示了双旋翼天平的物理模型,其中T1和T2表示摆臂两侧电机带动螺旋桨产生的升力,1ω和2ω表示螺旋桨的转速,L表示电机到摆臂中心的长度,θ表示倾角,G表示重力。
图2 单自由度双旋翼天平的物理模型
假设天平是完全几何对称的,重力的分量在天平两侧施加的转矩会相互抵消。使用角动量定理建立双旋翼天平的微分方程物理模型:
式中:θ为倾角,M为转矩,J为转动惯量。T1、T2分别为ω1、ω2的函数。设下式为系统的控制量:
螺旋桨在1标准大气压下产生的升力为[10]
式中:T为升力(kg),d为桨径(m),p为桨距(m),s为桨宽(m),ω为转速(rad/s)。式(3)可简写为
J可通过下面的转轴过中心的细杆转动惯量计算公式得到
式中:m为摆臂系统质量。
使用串级PID对双旋翼天平进行控制,为使系统型别保持在二阶,内外环均使用 PD控制律。控制系统方框图如图3所示。
图3 单自由度双旋翼天平的控制系统方框图
式中:θ(t)为天平倾角,θ˙(t)为天平转动的角速度。θ( t) 使用 IMU的角速度和加速度数据通过四元数[11]解法求得,θ˙(t)由IMU反馈得到。
设初始条件θ=20°,θ˙=0°/s,采用式(7)和(11)的控制参数,搭建图3的框图,在Simulink下的仿真结果如图4所示。
图4 参数1下的控制系统Simulink仿真曲线
图5 参数2下的控制系统Simulink仿真曲线
由式(2)可知,系统的控制量是摆臂两侧螺旋桨产生的升力差,而基于单片机的控制器通过一定频率范围内的脉宽调制(PWM)信号高电平脉宽来控制无刷电机的转速,则需将控制量u( t)在单片机程序中转化为摆臂两侧电机的PWM信号高电平脉宽值。
微控制单元(MCU)可通过定时器生成指定频率和占空比的PWM,所生成的PWM频率为
式中:f为MCU生成的PWM频率, fm为MCU的运行主频(STM32为72 MHz),p为定时器时钟的预分频因子,A为定时器的最大计数值(可通过Period属性设置,16位定时器最大为 65 535)。由于市面上大多数电调支持50~400 Hz的PWM输入,则p可取23,A可取10 000。
由于电机调速的 PWM 有效高电平脉宽范围是1~2 ms,变化很小,则定时器频率越高,调速分辨率越大。电机的调速分辨率为
PWM高电平的配值与螺旋桨转速的关系为
式中:ω为螺旋桨当前转速,ωmax为无刷电机的最高转速(可通过额定电压乘以电机的KV值(电机每伏特电压下提供的转速)求出),CCRx表示定时器的第x个PWM输出通道,Wmin是对应PWM高电平脉宽1ms时的匹配值(以MHz为单位的定时器频率值的1 000倍)。
首先使用摆臂两侧螺旋桨升力变化相等作为约束条件,建立方程组解算螺旋桨转速ω与控制量u( t)的关系:
式中ω1(t)和ω2(t)分别为时刻 t左侧和右侧螺旋桨的转速。求解式(16)可得
将式(17)代入式(15),并将ωmax视为常量与λ合并,可得
式中CCR1和CCR2分别表示左侧和右侧电机脉宽匹配值。继续向前一时刻逆推,可得
将式(19)代入式(18),则任一时刻的脉宽匹配值都可用前一时刻的匹配值来表示。由于初始时刻的电机脉宽匹配值相等,由数学归纳法可得
式中CCR(0)是初始时刻的左右电机脉宽匹配值,该值对应电机的初始转速,该转速可由控制器预先设定,对控制律来说是已知的。式(20)中的u( t)即式(12)所示的串级控制器内环输出uin(t),则通过式(20)可解算出每一控制时刻的左右电机驱动脉宽值。
采用式(12)所示的控制律,选取控制周期为5 ms,控制因子λ为0.001 7,电机脉宽最小值Wmin为3 000,电机脉宽初始值CCR(0)为3 650。将摆臂拨至向左倾斜20°静止,启动实验设备。
使用 J-Scope软件[12]对摆臂的摆动角度和角速度进行实时监测,采样频率 20 Hz,从启动设备开始进行5 s采样,记录的数据曲线如图6所示。
由图6可知,摆臂在0.5s以内即稳定在水平位置,未出现超调,满足调整时间小于或等于0.5s的设计指标。在调整时间内,摆臂摆动角速度从初始时刻的0(°)/s几乎瞬间增大到 - 1 40(°)/ s 左右,说明外环的角度控制在积极使摆臂恢复水平。此外,可观察到摆臂摆动角速度有2次较明显的换向,表明微分控制及串级PID控制在努力保持摆臂的稳定和控制超调。设备到达稳态后,可观察到摆臂角度和角速度有极小幅度的无规律波动(幅值分别小于 1°和 1 (°)/s),可解释为电机旋转产生的震动反射。
图6 实验设备的实际控制效果
将图6的实验设备实际控制效果与图3的仿真曲线进行对比,可知实际运行中未出现图3所示的角度超调,且调整时间也更短,取得了更优的控制效果。从角速度曲线来看,实际运行中进行了2次换向,多于仿真运行中的1次,且幅值更大,说明在实际运行中,控制器对摆臂施加了更积极的调整,且从角度曲线上来看,这种调整无疑是更有效的。考虑到建模过程中的模型和参数偏差(本例中有利于实物控制),以及实物装置的摩擦力影响(有利于实物控制),天平的实际运行效果基本与仿真相符,实验设备的控制律设计与运行是成功的。
在课堂教学中,教师先讲解自动控制原理和多旋翼飞行器的飞行及控制原理,带领学生完成各自的控制律设计,并完成Simulink仿真。然后将旋翼天平实验设备的控制律核心代码删去,提供给学生实现自己的控制律编程,并启动设备不断进行控制效果检验和参数调整。最后教师检查每组学生的实际控制效果和控制律代码,并给予成绩评定。
该设备已在我校本科生创新研修课“多旋翼飞行器的控制系统设计与实践”及本科生专业选修课“无人机系统工程应用”中得到了实际应用,并申请了相关专利,取得了良好的教学效果。
本文设计了单自由度双旋翼天平自制教学设备,在经过远程编程与应用改造后,已用于在疫情期间学生居家未返校状态下的远程实验教学,突破了疫情期间只能做仿真实验的局限性,获得了学生的一致好评。后期会进一步完善开发平台与设备的编译环境,为学生开放更多的编程接口(如屏幕显示等),并通过更优的滤波算法消除电机震动对系统产生的影响,取得更好的控制效果。