王 刚,陈 龙,薛远奎,苏 扬
(1.电子科技大学 信息与通信工程学院,四川 成都 611731;2.电子科技大学 机器人中心,四川 成都 611731)
近年来,随着四旋翼无人机的快速发展[1-9],以及国家 “创客”“双创”等政策的大力支持,各种电子设计大赛、创新创业比赛中与无人机相关的课题越来越多,大学生对四旋翼的关注也越来越多。因此,有必要结合高校创新教育的目的,开设无人机相关的实践课程。
现代高校的工程教育,不仅要培养符合社会发展要求的合格工程师,还要使学生具有创新能力;不仅要注重培养学生综合应用多门课程知识解决实际工程问题的能力,还要培养学生从一个实际问题中去探索发现自己需要什么知识去解决问题的能力[10-12]。
四旋翼无人机是一种能够通过程序控制,能够自主完成任务的机器系统,能打开人的视角去观测世界,正逐步用于航拍、农业质保、电网巡检和警用等领域。课程旨在通过一系列的课程设计为学生展示数学公式的作用和物理方程的概念,以及如何建立数学模型并通过程序进行仿真;通过激发学生思考书本上数学公式背后所代表的物理意义,引导学生通过团队合作一步一步去完成一个综合性的小工程,培养学生在实践中求知的能力。通过课程设计,学生能够初步掌握未来科研所需的各种工具,能够针对一个需要解决的实际问题有针对性地检索信息,从而能掌握高效学习的方法和能力。
教具是课程的基础,目前的旋翼无人机平台很多,但可以用作教具的还比较少。大疆、零度等公司的无人机功能和种类很多,性能稳定,但飞控核心代码不开源,无法完成对学生在飞控算法方面的教学;开源飞控,如PX4和APM,虽然代码公开,但结构复杂,新手难以在短时间内完成核心飞控算法的修改和调试。
在科研项目的基础上,开发了无人机的软硬件平台[1],并把相关算法集成到平台中,软件架构简单易懂。实践表明,有C语言基础的本科三年级学生能够读懂软件,并通过嵌入式开发软件,实现算法与无人机平台的结合。学生熟悉控制算法后,可以把不同参数的软件算法写入硬件平台中,观测不同参数对无人机控制性能的影响,从而加深对算法以及数学公式的物理意义的理解。
开发的无人机教具如图1所示。该系统主要包括机架、电机、电调、螺旋桨、电池、遥控设备、传感器系统和自动控制板等。机架和电路板集成在一块碳纤板上,其力臂长度为300 cm,设计的起飞重量在0.5 kg左右。电源放电倍数为35 C,容量为2 300 mAh。在起飞重量为0.5 kg的情况下,可供飞行15 min左右。飞控的主控制器采用法国ST公司的ARM控制芯片STM32F417ZGT6。该ARM处理器基于Cortex-M4的内核,主频168 MHz,外设丰富,并附加了一个浮点处理单元(FPU),处理浮点计算。
图1 开发的无人机教具
为了防止新手试飞对他人的影响,搭建了如图2所示的网状场地。旋翼周围用碳纤网包围,既避免了旋翼的旋转伤人,也避免了无人机挂网,从而增加了飞行的安全性。
图2 无人机试飞场地
本课程由浅入深分为3个部分:
1)四旋翼动力学模型建立及仿真;
2)四旋翼基本控制理论与方法;
3)基于自主开发的飞控的实验。
每个部分将设计3~5个课程设计,课程设计是在提供程序框架的前提下基于所学知识完成四旋翼的某一功能,这种 “填空”形式能让学生快速上手并留有充分发挥的空间。每个课程设计都将以前面课程设计为基础不断增加难度。前两个部分主要基于MATLAB这一工具,重在培养学生对基本物理概念的理解以及编程表达数学公式的能力;最后一部分将涉及嵌入式硬件的讲解以及C/C++语言的开发,最后有一个将所有知识串联起来的综合性课程设计。
四旋翼动力学建模,就是根据必要的物理参数建立输入量和输出量之间的关系。在四旋翼中,物理参数包括四旋翼的重量、转动惯量、尺寸大小、电机转速与升力的关系、电机转速与扭矩的关系等。输入量是4个电机带动桨产生的升力与扭矩,输出就是四旋翼的姿态和因姿态改变而产生的三维空间的速度和位置。物理建模过程如图3所示。
图3 物理建模
在基本知识方面,根据飞行视频及动画向学生介绍无人机实际应用、无人机的基本组成部分和飞行运动原理,介绍国内外的商业无人机发展及学术研究型无人机的发展。
在理论建模方面,通过建立无人机数学建模讲解坐标系、转移矩阵、欧拉角、姿态动力学方程和位置动力学方程等基本概念。
在硬件平台方面,主要介绍开发环境,具体包括:1)讲解简要的C语言,基于实际开发,讲解关键编程技能;2)介绍IAR开发环境,即介绍如何编译、下载和调试。
四旋翼是一个欠驱动系统,因为其动力学结构特殊,所以需要将姿态、高度和水平位置从动力学方程中解耦出来,然后分开进行控制。针对其欠驱动特性,在系统的总体控制方面,本文采用增加虚拟控制量的方法,将其变为全驱动系统。总体控制框架如图4所示,φdes和θdes为增加的虚拟控制量。其中,“水平位置控制器”通过期望的水平位置计算虚拟控制量,即期望的滚转角φdes和期望的俯仰角θdes;“姿态控制器”根据输入的期望偏航角ψdes和 “水平位置控制器”计算出的φdes和θdes,计算出力矩控制量T;“高度控制器”直接通过期望高度计算出总拉力F;最后通过 “数据整合器”反解出真正的控制量ωi(i=1,2,3,4) 。
图4 总体控制框架图
在控制理论方面,主要采用PID进行控制。滚转角、俯仰角和偏航角的实际控制结果如图5、图6和图7所示。
图5 姿态(滚转)角实际控制结果
图6 姿态(俯仰)角实际控制结果
图7 姿态(偏航)角实际控制结果
在控制理论讲解中,本文以实际飞行控制的例子介绍基于经典PID控制理论及编程实现;以无人机中姿态融合算法为例讲解信号处理、互补滤波及卡尔曼滤波的概念。
在相关的实验中,本文讲解基于C语言的嵌入式编程,包括:1)通过编程实现PWM波形输出,控制无刷电机转动并调速;2)通过串口编程实现无人机与地面站控制软件的通信;3)介绍通信协议和数据解析是什么;4)如何使用I2C和SPI等芯片通信协议去读取芯片数据信息。
在无人机组装调试方面,要求学生:1)能够根据飞行硬件平台说明书,自己拆卸并再次组装无人机;2)在不安装桨的情况下熟悉无人机操作的基本流程。
在飞行模拟器练习及实际飞行练习方面,要求学生:1)熟悉遥控器,知道什么是通道,什么是油门遥杆,并学会控制飞机飞行;2)进行飞机悬停模式的飞行练习,学会最基本的飞行操作;3)掌握姿态模式、高度模式和位置模式下的飞行技巧。
在课程推进过程中,采用基于问题引导的启发式教育:1)教师作为引导者,帮助学生进入问题的研究和探索;2)鼓励学生在课堂上随时提出问题,积极与老师交流。
在实验中,强调以学生为中心:1)学生以小组为单位,每个小组自由组队,包括3~5人;2)学生根据特长或爱好进行操作飞机、算法理解、软件编程等方面的分工;3)小组中,学生合作学习和自主学习,小组成员为了解决问题,互相交流合作分享知识。
最后有一个将所有知识串联起来的综合性课程设计。该课程设计不设标准答案,学生根据自己的特长,选择无人机开发的切入点。例如:喜欢操控无人机的学生,可以从四旋翼飞行状态中思考不同的控制参数对飞行状态的影响;喜欢研究控制算法的学生,可以思考模型的物理意义(如模型在什么情况下与实际不符合?);喜欢传感器的学生,可以思考为什么要进行数据融合等。
在课程开展过程中,学生的兴趣被动手操作飞机、软件编程、硬件编程、算法物理意义探索等问题逐步吸引和调动,不断提出自己的想法和意见。虽然大多数想法是不成熟的,但学生的视野得到了开阔,通过对实际问题的思考,学生的兴趣也在不断增加。
本课程面对电子信息工程专业的本科三年级学生开设。该专业的学生已学过信号与系统、模拟电路基础、数字电路等信号和电路方面的专业课,但控制理论方面的基础较为薄弱。因此,课后学生对信号处理方面的问题更加关心,希望多介绍互补滤波、卡尔曼滤波等信号方面的知识;而对控制方面的知识关心有限。
在课程讨论中,本文发现大多数学生是想先学会各种各样的知识后,再去融会贯通,最后去解决实际问题。但是,每个人能掌握的知识是有限的,而实际问题是无限的;知识再丰富的人,在遇到实际问题的时候也会遇到不懂的地方。所以,在靠个人解决不了问题的情况下,教师应引导学生一切从实际出发,遇到不懂的问题,擅于找人合作或者从文献、专利中寻找答案。
通过这门学科前沿课的理论与实践,学生能够逐步了解真实的科研是如何完成的:从实际问题出发,思考物理意义;在物理意义的基础上建立数学模型;通过软件、硬件的仿真和实验去验证模型的有效性。在个人解决不了问题的情况下,通过查找资料来找到适合的算法 (或他人帮助)来解决问题。
[1]WANG G,GE S S.General fight rule-based trajectory planning for pairwise collision avoidance in a known environment[J].International Journal of Control Automation& Systems,2014,12(4):813-822.
[2]ZHAO X,WANG G,GE S S.Cooperative localization based on robust GPS and Radar fusion for multiple aerial vehicles[J].International Journal of Control Automation & Systems,2017,15(2):732-742.
[3]ZHAO X,WANG G,CAI M,et al.Stereo-vision based obstacle avoidance by finding safe region[J].International Journal of Control Automation & Systems,2017,15(3):1374-1383.
[4]WANG G,XIE R Q,ZHANG H B,et al.Robust exponential H∞ Filtering for Discrete-Time Switched Fuzzy Systems with Time-Varying Delay,Circuits Systems&Signal Processing,2016,35(1):117-138.
[5]CHEN L,WANG G.Attitude Stabilization for a Quadrotor Helicopter Using a PD Controller[J].IFAC Proceedings Volumes,2013,46(20):236 -239.
[6]TANG L W,WANG G.The Implementation of Trajectory Planning in Real DEM Maps based on MILP[J].IFAC Proceedings Volumes,2013,46(20):86 -90.
[7]WANG G,GE S S.A 3D trajectory planning scheme based on visual obstacle localization and avoidance[C]//Control Conference.IEEE,2013:5889-5894.
[8]WANG J,ZHAO P,HOI S C H,et al.Online Feature Selection and Its Applications[J].IEEE Transactions on Knowledge and Data Engineering,2014,26(3):698-710.
[9]HUANG J.Stereo matching based on segmented B-spline surface fitting and accelerated region belief propagation[J].Computer Vision Iet,2015,9(4):456 -466.
[10]韩晋东.理工科高校创新教育体系与平台探究[J].实验科学与技术,2015,13(1):163-166.
[11]葛青,葛良全,吴建平.《数字信号处理》实践教学改革[J].实验科学与技术,2013,11(5):71-73.
[12]马志诚,陈敏.教育机器人在创新实践教学中的应用[J].实验科学与技术,2008,6(6):96-98.