基于四旋翼无人机的嵌入式系统实践教学设计

2024-05-15 13:22王清华胡永兵李迎松
实验室研究与探索 2024年3期
关键词:旋翼嵌入式姿态

王清华,胡永兵,李迎松

(安徽大学电子信息工程学院,合肥 230601)

0 引言

嵌入式系统是电子信息类专业的一门重要专业必修课,具有很强的实践性和综合性[1],涉及的知识点十分广泛,包括电路、微机原理与接口技术、ARM处理器、C语言程序设计、单片机应用技术、操作系统等,且是硬件和软件相结合的综合设计。当前大部分高校开设的嵌入式系统开发技术课程由理论教学和实践教学两部分组成,一般理论教学所占的课时较大,实践教学所占的课时较少,而大量实验及项目实训是提升学生对嵌入式系统的理解与应用的关键环节[2-3]。然而,当前嵌入式系统实践教学中的实训项目少,内容较为陈旧,且主要采用实验板和实验箱等方式实现,学生学习积极性不高,实践教学效果不太理想,因此引入新的嵌入式系统教学案例对培养学生动手实践能力和学习兴趣具有重要的意义。

近年来,无人机技术飞速发展,在国防、民用和摄影等领域的应用日趋广泛。无人机系统是典型的嵌入式系统之一,作为无人机发展的主要类型之一的微型旋翼无人机,具有轻巧便携、使用灵活、体积小、成本低等特点,可以完成超低空侦察、干扰、监视等各种复杂的任务[4-6]。基于无人机开发的项目已应用于多种学科竞赛,如本校所主办的2023 年睿抗机器人开发者大赛(RAICOM)中,其中一项赛道就是采用四旋翼无人机进行空中侦察。此外,随着四旋翼无人机的兴起,其在学生中受欢迎程度不断提高。因此,本教学案例设计以睿抗机器人开发者大赛为例,将四旋翼无人机的飞行控制作为嵌入式系统教学内容不仅可以提升学生对该课程的兴趣,而且可以培养学生的创新和竞赛能力,进而使学生掌握就业需求的专业技能。

1 四旋翼无人机的空中侦察实现方案

无人机的本质是空中机器人,即具备飞行能力的机器人,应当与其他各类型机器人一致,具备感知、决策、执行的特征,并可以辅助甚至替代人类完成危险、繁重、复杂的工作。但在目前阶段,无人机主要在前往任务地(飞行)与执行任务过程中,需依赖人为控制完成飞行、完成任务全过程,与传统作业方式相比并没有起到提升工作效率的作用。

2023 年睿抗机器人开发者大赛中,无人机赛项的题目为小型无人机室内侦察作战。通过结合无人机在军事领域的广泛应用和无人机技术未来智能化、自主化的发展方向,模拟微小型多旋翼无人机在室内作战中的应用。假定在一处房间内,有一名武装人员(真实目标)和两名平民(假目标),为快速肃清房间,并降低直接突击造成的人员伤亡风险,要求参赛队员使用无人机进入房间内并对目标进行识别,攻击武装人员(真实目标)以完成房间肃清任务。

1.1 飞行和任务规则

无人机飞行区域及路线比赛场地如图1 所示,飞行区域为5 m×5 m的房间,在房间内部设置多个障碍物,要求无人机进行自主避障,并对目标进行识别和模拟攻击,在完成任务后回到起飞点降落。具体要求及流程如下:

图1 无人机飞行区域及路线示意图

(1)无人机从起飞点起飞,穿越障碍1 与障碍2,到达任务区入口后穿越任务区入口,并绕开圆柱形障碍物,到达识别区域。

(2)无人机悬停于目标识别区上方,使用无人机机载任务载荷对目标指示牌进行识别。如图2 所示,识别物为字母、数字或二维码。要求无人机对目标指示牌进行识别,确定正确目标。

图2 目标识别图像

(3)确定正确目标后,无人机飞行移动至正确目标的正前方方位,使用无人机机载激光指示装置,对正确目标进行模拟攻击,击中靶标任意位置即可触发声光装置,攻击时无人机与目标距离不限。

(4)确认正确靶标后,无人机返回起飞点并降落,任务完成。

(5)飞行时间不超过10 min,超过10 min的则任务失败。

1.2 整体设计方案

空中侦察飞行器选用四旋翼无人自主飞行器,整机采用4 个920 kV无刷电动机为无人机提供飞行动力。无人机搭载协同计算机,内置Ubuntu系统可以对无人机进行控制,利用ROS 机器人操作系统进行程序开发,控制无人机完成自动飞行功能。将图像识别放入系统计算机内部,通过对模型的调用来完成图像识别任务。系统搭配全向激光雷达用于室内的定位及避障,激光雷达可对周围环境进行探照,利用OPENCV等人工智能识别算法的载荷系统,通过生成代价地图来对周围障碍物进行识别和躲避。无人机内置雷迅创新的飞行控制器,采用STM32F412 作为主处理器,该飞控模块支持GPS定位并获取实时姿态数据,并对飞行中的姿态进行调整以保持稳定。

2 教学内容设计

2.1 四旋翼无人机的结构与飞行原理

2.1.1 四旋翼无人机的结构

四旋翼无人机的结构如图3 所示,主要由电动机、旋翼、相机、机载硬件、遥控器和地面站计算机等组成。电动机主要为四旋翼飞行器提供动力,旋翼在电动机的带动下旋转控制飞行器的悬停和机动。机载核心硬件包括机载计算机、飞行控制器、GPS 模块、视觉传感器、数传、图传、信号接收器。机载计算机主要负责图像的处理和制导律的实现[7]。飞行控制器是无人机系统的核心,直接控制无人机的姿态、飞行路线;数传主要实现无人机与地面站之间的数据双向传输,使地面站可以实时查看飞行状态,并发出指令控制无人机飞行;图传模块则可以将实时视频图像传输到地面站。

图3 四旋翼无人机系统结构

2.1.2 四旋翼无人机的飞行原理

四旋翼无人机驱动4 个电动机带动旋翼进行旋转,从而实现飞行。按照其机械结构的对称性可以分为十字型和X 型。十字型结构的优点是控制简单,缺点是稳定性不好;而X 型则相反。本文设计采用的是X 型模型,结构如图4 所示。为了消除由于不同转向电动机带动桨叶转动时产生的陀螺效应和空气动力扭矩对稳定性的影响,四旋翼对角的2 个电动机的转向都是相同的,且与另一对角线上电动机的转向相反,M1 和M3 的螺旋桨方向相同,M2 和M4 的螺旋桨方向相同且与M1 相反。无人机主要实现的升降运动、俯仰运动、滚动运动和偏航运动。以升降运动为例,同时提高或降低4 个电动机的速度以改变升力大小,即实现升降或悬停运动;其他几种运动都是基于控制4 个电动机转速的情况下实现。

图4 四旋翼飞行器结构图

2.2 硬件教学内容

四旋翼无人机的硬件控制系统主要包含感知模块、控制系统、动力系统[8]。首先由感知模块经过滤波和数据融合得到无人机的姿态数据,并将其传送给飞行控制器;飞行控制器通过算法和判断下达飞行指令,将输出的控制信号传动给电调;电调带动电动机和旋翼完成飞行和姿态调整。飞行控制器采用STM32F4 嵌入式处理器,完成数据的处理和控制。

2.2.1 飞行控制系统

飞行控制系统是无人机最核心的部分,无人机的电调和电动机都是依靠飞行控制系统发出的指令进行工作的,飞控中一般集成了加速度计、陀螺仪、GPS 等各种传感器。通过若干传感器传送的数据进行姿态解算,并通过控制无人机的姿态来判断无人机的位置信息,整个过程中需要进行大量的数据采集和计算。本系统主控芯片采用STM32F4,该芯片基于Cortex-M4内核,采用了DSP 指令和浮点运算单元,可以实现高速的信号处理和计算。主控模块利用PID控制算法进行PWM方式驱动飞行器电动机。

2.2.2 感知模块

感知模块是实现飞行控制的基础,无人机在运动前需要先获取当前所在位置、方向、是否存在障碍物等信息,在飞行控制系统发出指令后,姿态调整状态也需要重新返回给飞行控制器。这些信息数据是由多个传感器配合得到,最终进入到飞控主控芯片进行数据融合处理,主要涉及到的传感器包括以下几种:惯性传感器;高度传感器;光流传感器;视觉传感器。

2.2.3 动力系统

动力系统主要由旋翼、电调、电动机和电池组成,由飞行控制器输出的PWM 信号,改变4 个电动机的转速,从而使无人机的姿态和位置发生改变,实现飞行运动控制。动力系统决定了无人机的飞行性能,表现为飞行速度和续航时间,且模块之间紧密配合,否则容易造成飞行不稳定,发生坠机的可能性。

2.3 软件教学内容

无人机飞行中最重要的环节就是对姿态的控制,因此软件方面需要通过姿态解算和控制方法进行分析设计。同时,本系统还要求无人机系统可以进行自主避障和目标侦查,因此还需对目标识别和自动跟踪算法进行研究学习。

2.3.1 ROS机器人操作系统

无人机系统涉及多个软件层,为方便调试和后期拓展,可采用节点方式进行模块化设计,本系统的程序设计在ROS 机器人操作环境中开发。ROS 机器人操作系统最早由美国斯坦福大学人工智能实验室STAIR提出,经过后期的完善与发展,目前ROS 系统已具备丰富的开发工具和强大的生态系统,成为机器人领域的普遍标准。

本系统软件部分采用模块化设计,其核心节点有:图像信息采集节点“web_cam”,目标跟踪节点“tracker_kcf”,信息转换节点“mavros”,期望信息解算节点“target_tracking”,图像伺服控制节点“px4 _pos_control”。

2.3.2 飞行控制软件算法

飞行控制器在发出控制指令前首先需要对传感器所传送的数据进行姿态融合算法处理得到姿态估计值[9]。姿态表述主要有3 种方法:欧拉角、旋转矩阵和四元数法。目前市面上应用最广泛的飞行器姿态融合方法是基于四元数法的经典互补滤波和扩展卡尔曼滤波。互补滤波是以陀螺仪测量数据为主进行姿态解算,没有考虑到飞行器姿态运动学,因此在应用中会存在一定的偏差。扩展卡尔曼滤波算法是目前使用最多的姿态融合算法[10],其在互补滤波的基础上估计了传感器内部偏移,根据当前状态来预测下一状态。

在姿态融合算法后获得姿态数据,飞行控制器系统采用经典的PID控制算法对无人机进行姿态控制,全称为比例积分微分控制器,其基本结构包含比例单元P(Proportional)、积分单元I(Integral)和微分单元D(Derivative)。四旋翼无人机的飞行速度较快,对控制要求的灵敏度要求比较高,可采用串联形式的PID 控制方法[11-12],将外环角度计算的PID 输出量作为内环角速度PID 的期望值,然后计算最终PID输出幅值。

2.3.3 目标识别软件算法

室内侦查的核心就是对环境中的目标物体进行识别处理,为后面进行精准打击提供基础。目标检测技术已发展较为成熟,R-CNN、YOLO、SSD等基于卷积神经网络的目标检测方法克服了手工构建特征等问题,得到了广泛的应用。但在此类算法较依赖无人机协同计算机的性能,无人机终端设备计算能力有限,为实现高效精准的目标识别任务,需要进行合适的算法选取。

2.3.4 自主避障软件算法

对于室内的飞行导航系统,自主避障能力不可或缺。无人机的避障方法大体可以分为规划法和反应式避障法两种。前者适用于已知全局地图情况下,但在未知环境下无法使用规划法进行路径规划;而后者可以根据传感器探测结果直接对障碍物进行规避,能有效应对未知环境。目前应用较为广泛的机器人的避障算法有:可见图法、RRT算法、BUG2 算法、向量场直方图法、遗传算法、模糊逻辑法、人工势场法等。

3 实验测试

3.1 飞行准备

无人机上电后,地面站PC 连接机载WIFI 数传,然后使用Nomachine远程桌面控制软件进行连接无人机,连接完成后,在无人机协同计算机上进行飞行程序控制。将无人机上的相关传感器(激光雷达、TFmini、USB 摄像头、飞控)都与NX 开发板连接,激光头与舵机控制板连接到NX开发板的IO口,且激光头的供电口接在3.3 V 引脚处。通过输入指令roslaunch location location.launch 开启激光雷达定位,开启效果如图5 所示。

图5 激光雷达定位开启效果

在飞行前还需对飞行控制,电调等参数进行校准。利用QGC地面站软件连接飞控,对视觉定位参数进行相应设置后,重新启动飞控。做好飞行前测试后就可安装螺旋桨进行实飞,如图6 所示。

图6 无人机飞行测试初始位置

3.2 飞行测试

本四旋翼无人机系统用于室内侦查,主要满足自主飞行和避障、目标识别和悬停攻击几个要求,因此飞行测试主要分为以下两个内容。

3.2.1 自主飞行和避障实验

搭建室内场地如图1 所示,本次实验室是为了验证无人机在自主飞行时的避障能力。根据搭建的实验场地及预设飞行路线,无人机在飞行中需要避开障碍1、2 和圆柱形障碍物,实验结果如图7 所示。通过实验,可以看出无人机能够完成自主飞行,且能准确识别障碍物并进行自主避障,最后一幅图可以看出飞行器已成功绕过圆柱形障碍物。

图7 无人机自主飞行与避障测试

3.2.2 目标识别和悬停攻击实验

本四旋翼无人机系统另一个主要任务就是对侦查目标的识别,并进行模拟攻击。因此,要求本次实验要验证无人机是否能正确识别目标,并在识别目标后移动到目标正前方悬停,使用无人机机载激光指示装置对正确目标进行模拟攻击。实验结果如图8 所示,可以看出无人机在飞入目标识别区后,能够正确识别目标并悬停,并打开机载激光指示装置发出攻击信号。

图8 无人机目标识别和悬停攻击测试

4 结语

本文以睿抗机器人开发者大赛为基础,将四旋翼无人机的飞行控制引入到嵌入式系统教学中,以改善当前嵌入式系统课程教学案例较少且陈旧的问题。该四旋翼无人机利用STM32F4 嵌入式处理器作为主控芯片,搭载多个传感器,通过软件层程序设计实现无人机姿态控制、自主避障、目标识别与攻击任务。同时,无人机系统的飞行试验可以有效培养学生的创新和实践能力,培养学生的兴趣,充分利用学生的关注度开展创新创业及专业竞赛,也有助于进一步提高课程的趣味性。

猜你喜欢
旋翼嵌入式姿态
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
攀爬的姿态
基于STM32的四旋翼飞行器的设计
全新一代宋的新姿态
跑与走的姿态
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
四旋翼无人机动态面控制
Altera加入嵌入式视觉联盟