李位星,王大东,葛声扬,潘 峰
(北京理工大学 自动化学院,北京 100081)
近几年,以一流人才培养、一流本科教育、一流专业建设为目标的新工科建设在各高校积极推进。高校作为人才培养的重要基地,需要为国家科技创新发展不断培养优秀的具备创新思维和实践能力的新时代人才。当前,高校对学生创新与实践能力的培养还主要依靠培养计划中的实验教学环节来完成,已不能满足实际需求。科技竞赛越来越吸引大学生对自身创新实践能力提升的关注,但竞赛只能满足少数学生的需求。因此提升实验教学环节的含金量,加强在实验教学中对学生综合应用理论知识解决实际问题能力的培养,是高校实验教学改革的核心任务。
为满足学生对创新实践能力提升的需求,培养学生综合应用多门理论课程知识解决实际工程问题的能力。本文以四旋翼无人机为载体,设计了一种四旋翼无人机实验教学平台。四旋翼无人机虽然结构简单,但涉及电子技术、自动控制、计算机等多学科的知识,国内也有不少教学仪器厂商开发了基于四旋翼无人机的教学设备,但只能为学生开设定制好的实验课程,产品开源性较差,不利于学生的自主创新设计。因此,本平台设计了以STM32 单片机为核心的飞行控制器,完成了四旋翼无人机硬件和软件的设计,并以此为基础开发了无人机综合实验项目。学生在该平台上可以完成无人机姿态解算和飞行控制的理论学习与验证、无人机组装与调试、无人机任务应用系统设计与实现等多个环节的实验实践学习[1-10]。
为满足自动化、电子及机电等相关专业的综合性实践实验课程的开设要求,四旋翼无人机实验教学平台采用模块化的结构,也便于平台设备的维修与功能扩展。该平台的硬件整体结构如图1 所示。
图1 四旋翼无人机实验教学平台硬件结构
该实验平台主要包括三部分:飞控子系统、悬停子系统和导航子系统。飞控子系统以STM32F407 单片机为核心,使用ICM20602 姿态传感器实现无人机的飞行控制功能;悬停子系统由激光和光流传感器组成,完成无人机定点悬停功能;导航子系统由视觉里程计和机载计算机组成,为无人机提供定位信息和飞行路径规划。根据四旋翼无人机系统的交互数据,实验平台的系统框图如图2 所示。
图2 四旋翼无人机系统框图
飞行控制器硬件系统框图如图3 所示。STM32F407芯片作为中央处理单元,主频高达168 MHz,片内封装了512 kB 的Flash 和192 kB 的SRAM,自带DSP指令和浮点处理单元有利于提高无人机姿态数据的解算速度,支持UART、I2C、SPI、USB 等常见的接口。姿态传感器芯片ICM20602 相比传统的MPU6050,具有输出数据稳定、精度高、抗干扰能力强等优点,内部包含了3 轴陀螺仪、3 轴加速度计和温度传感器,可以通过SPI 由主控芯片快速读取姿态数据并进行解算。此外,硬件电路还集成了气压计,也是通过SPI由主控芯片读取高度数据。Flash 储存芯片W25Q32 用于记录无人机在飞行过程中的实时数据。硬件电路板还预留了USB、UART、SWD 等接口,用来实现无人机与上位机、机载计算机、外接激光和光流传感器的通信,同时设计了LED 指示灯实时显示无人机状态。为了实现无人机的控制,系统设计了16 路PWM 输入输出接口,其中8 路用于输入接收到的遥控器信号,可支持PPM 和PWM 遥控器信号;另外8 路用于输出旋翼无人机电机驱动信号。
图3 飞行控制器硬件原理框图
无人机的飞行控制主要包括姿态、高度和位置控制,其中姿态控制是核心[11]。为实现四旋翼无人机的稳定飞行控制,设计了三个双闭环串级PID 控制器分别实现四旋翼无人机的姿态、高度和位置的控制,其中姿态控制框图如图4 所示,高度和位置控制框图与姿态控制类似。姿态双闭环控制中内环实现角速度控制,外环实现角度的期望误差控制[12],系统中的PID控器制均采用了离散增量PID 算法,公式为:
式中,n是采样序号,n=0,1,…;U(n) 是第n次采样时的输出;e(n) 和e(n-1) 分别是第n和(n-1) 次采样时的输入误差;Kp、Ki、Kd分别是比例、积分、微分系数;Ti是积分时间常数;Td是微分时间常数;T是采样周期。
图4 四旋翼无人机姿态双闭环控制框图
为方便学生在实验项目中实现软件算法,提高软件系统功能的可扩展性和易维护性,该平台的软件系统采用了模块化的设计思想,主要包括底层软件子系统和ROS 应用软件子系统,如图5 所示。
图5 实验平台软件总体框图
底层软件子系统在飞行控制器中实现,主要包括硬件驱动、传感器驱动和飞行控制应用三个模块。其中,硬件驱动模块完成STM32 芯片底层设备的驱动功能,传感器驱动模块完成姿态传感器、激光和光流传感器等的读取任务,飞行控制应用模块完成数据处理、状态监测任务及姿态和位置控制算法。ROS 应用软件子系统主要在机载工控机中实现,主要包括传感器数据采集程序和ROS 应用层软件。其中,传感器数据采集程序完成摄像头、激光雷达和视觉里程计等传感器的数据读取任务,ROS 应用层软件完成数据的滤波、融合及任务实现的控制策略等。
飞行控制器与机载计算机之间采用串口通信,分为串口读和串口写两部分。其中,串口读Read() 传输的是飞控的反馈数据(见表1),包括无人机的姿态、高度等信息,为无人机导航系统的数据融合、控制策略等任务提供实时反馈信息;串口写Write() 传输的是导航系统的命令信号(见表2),包括导航系统向无人机发送的期望位置、控制量等信息,实现对飞行控制系统的外部控制信号的发送,以此完成设计的飞行任务。
表1 串口反馈数据
表2 串口命令信号
以培养学生创新能力为理念,培养学生发现问题、解决问题及团队协作能力为导向,加强学生对四旋翼无人机组成及飞行控制原理的掌握为教学目标,本文设计了四旋翼无人机的组装、操控和参数调试等基本实验内容,并在此基础上设计了无人机自主循线飞行综合性实验项目。
亲手完成一架四旋翼无人机的组装是掌握无人机硬件模块组成及各模块功能的最直接方式,根据实验教程完成四旋翼无人机的组装、调试、线路焊接和遥控器对码等任务也是完成后续项目的基础。在实验课程开展过程中,一般4~5 人一个小组,逐步学习飞行原理、认识硬件模块到完成无人机组装。组装完成后的无人机如图6 所示。组装完成后,由助教配合检查接线是否正确及电机、浆叶安装方向是否匹配等。确认无误后进行上电测试,若LED 指示信号正常,表示安装过程正确,随后即可进行参数调试;否则就要进行故障检查和排除工作。无人机参数调试是指利用上位机软件来完成对控制器参数的调整。默认的PID 控制器参数一般可以满足无人机的稳定飞行,但是由于重心位置、飞行控制器安装位置等因素的影响,每架无人机的飞行性能会有所不同,因此需要微调姿态内环PID 参数。因为实验平台所配置的四旋翼无人机部件的重量和大小相同,所以外环控制器的PID 参数一般可以使用默认参数。
图6 组装完成的无人机实物图
完成无人机的控制器参数调试后,各小组同学即可进行四旋翼无人机的操控实践和训练。实验平台配置了天地飞ET07 型遥控器,最大支持10 通道,其中双遥控共4 个通道控制无人机的俯仰、横滚、航偏和油门,实现无人机的前、后、上、下飞行。SA 通道定义为自动起飞和一键降落控制;SB 通道定义为飞行模式切换,包括不定高、定高两种;SC 通道定义为不定点、定点两种位置模式。其中定高模式利用气压计或激光传感器的反馈数据实现,定点模式由光流传感器的反馈数据完成,自动飞行模式主要利用摄像头或视觉里程计的反馈数据完成。
在完成基本实验任务的基础上,为加深学生对无人机应用功能的设计、程序实现及任务调试的理解,开发了基于ROS 平台的四旋翼无人机自主循线飞行综合实验。该实验涉及到图像处理、数据滤波与融合、ROS 程序开发等方面的知识。循线飞行实验中,利用光流、激光、姿态传感器进行数据融合得到无人机相对于地面的飞行速度,然后反馈到位置控制器,实现无人机悬停功能。机载计算机获取地面标识线的图像,利用数字图像处理技术得到无人机相对于图像坐标系的坐标偏差值和航向角度值,如图7 所示,这些坐标值通过串口通信反馈给飞行控制器,从而实现无人机的位置控制,重复执行该过程即可实现无人机沿着地面标识线飞行。
图7 无人机循线示意图
基于STM32 的四旋翼无人机综合实验教学平台融合了自动化、电子信息、计算机等多门专业课知识。学生在此平台上可以将课堂中所学专业知识运用到实践中,在巩固理论知识的同时,提高了动手实践、创新意识和系统综合设计能力。两年来,利用该实验教学平台面向我校工科专业开设了“四旋翼无人机综合实验项目”开放课程,深受学生的欢迎,每学期的选课人数都超过限定人数。该实验课程带领学生进入了无人机应用开发的大门,培养了他们的科研兴趣,收获了无人机相关的知识和开发经验。选修课程的部分学生先后参加了IMAV、中航工业杯、国际机器人挑战赛等无人机相关的比赛,均取得了良好的成绩。未来,将进一步对该综合实验教学平台的功能进行开发,丰富综合实验任务设计,不断满足学生对四旋翼无人机相关技术学习的需求,提升选课学生的实践创新能力,在一流人才培养的过程中,建设实践实验教学课程体系中的“金课”。