基于RK3399+STM32+PID的四轴飞行器跟踪与控制系统设计

系统硬件的总体方案设计
要设计一款具有跟踪功能且飞行稳定的四轴飞行器跟踪系统,首先要保证系
统硬件平台的功能稳定。系统各模块具有不同功能,所以需要根据各模块功能与
性能,进行芯片的选取与硬件电路设计,使系统在经济性、生产工艺、功能需求
等工程指标上得到优化,在一定程度上提高系统的稳定性和可靠性。
本文将四轴飞行器跟踪系统的硬件平台根据功能和设计需求不同分成三个
单元进行设计,在确保各个单元在独立运行的前提下,完成互相之间任务合作。
第一部分为四轴飞行器控制单元,该部分硬件主要完成对四轴飞行器机体的稳定
控制、遥控信号接收和执行追踪目标指令并执行的工作,是四轴飞行器跟踪功能
的执行部分。第二部分是遥控管理单元,该部分主要完成对四轴飞行器发来的信
息接收、跟踪目标选取和发送遥控信号的工作,是四轴飞行器跟踪功能的管理部
分。第三部分为目标跟踪单元,该部分硬件主要完成搭载目标跟踪算法和嵌入式
操作系统,并将图像信息实时回传给遥控管理单元,完成四轴飞行器跟踪功能的
算法处理。系统的整体硬件框图如图 2-1 所示。
从图 2-1 中可以看出,飞行控制单元和目标追踪系统之间采用有线传输方式,
而它们和飞行器管理系统之间采用无线通信方式。这符合一般四轴飞行器的操作
模式。其中飞行控制系统负责控制飞行器平稳飞行,在系统中相当于人类的小脑
功能。其在系统工作中会持续获取传感器信息,稳定飞行器自身姿态、保持与飞
行器管理系统的联系。是跟踪系统的执行机构,也是无人机保护自己的最后一道
屏障。目标跟踪系统负责完成对特定目标的跟踪功能,在系统中相当于人类大脑
的功能。其在接到管理系统指令后,会将人为选定的特定目标物信息带入跟踪算
法,以完成对目标物的实时跟踪,并在环境允许情况下,将图像实时回传给飞行
器管理系统。期间,如果出现目标丢失等特殊情况,系统会有一定的改错和保护
机制,确保自身安全和提高目标跟踪的稳定性。飞行器管理系统完成对跟踪目标
的选择及接收飞行器回传的图像和信息功能,其在整个系统中相当于家长的角
色。该系统实时对飞行器飞行状态进行掌控,用户可以根据飞行器的状态紧急恢
复手动控制功能。
2.2 四轴飞行器控制单元的硬件设计
为了确保四轴飞行器跟踪系统的稳定性,首要任务是确保飞行控制平台运行
的稳定性。四轴飞行器控制平台的设计主要是主控芯片及外围电路模块、飞行量
拾取模块,通信及飞行稳定控制模块组成。下面分别对以上模块进行详细介绍。
2.2.1 主控芯片的选取
飞行器控制芯片是飞行器控制系统最为重要的部分,大部分控制代码都要在
其内部完成,这其中包含许多浮点运算,而且为了让系统更加有序、高效的运行,
还要在主控芯片内部移植一款嵌入式实时操作系统,这种飞行器控制系统的设计
方法是现阶段被广泛采用的。目前, ST 公司推出的 STM32 系列微控制器在四轴
飞行器控制领域被广泛的应用,在很多公司的飞行控制系统中都取得了很好的表
现,所以本系统采用 STM32 系列作为系统的主控芯片。
其次从计算量和片内 ROM 空间考虑,需要一款内部带有 FPU 且片内存储空
间较大的 32 位微处理器,那么基于 M4 内核的 4 系列 STM32 芯片就是我们的首
要选择。
虽然本系统需要的外设及传感器有很多,但大多数接口都不复杂,而且没有
图像显示和外接存储芯片的需求,所以对待芯片的外部 I/O 数量没有硬性需求,
适量即可。所以从经济角度考虑选取 405 系列作为主控芯片就是很好的选择。
STM32F405 芯片内部是基于 ARM 公司的 CORTEX-M4 架构设计的,是一款
具有内部 FPU 单元的 32 位处理器。其内部具有 1M 字节的 FLASH 192kB
SRAM 存储器,可以满足带有一般的实时操作系统运行,并且可以最大外接
26MHz 的晶振,经过 PLL 倍频后可以使内部时钟具有很高的频率,可以加快代
码的运行速度。并且 STM32F405 接口资源丰富,有大量的外部通讯接口,可以
满足飞行器控制单元所需传感器的接口要求和控制单元的设计需求。
2.2.4 飞行姿态获取模块的硬件设计
陀螺仪作为四轴飞行器的核心传感部件,负责输出四轴飞行器运行时的角速
度和加速度,可以说近些年来四轴飞行器的兴起与发展,都得力于基于 MEMS
技术的陀螺仪的发展。它也成为了四轴飞行控制系统的重要组成部分之一。
飞行器控制单元在此处选用 MPU6500 作为四轴飞行器的角速度传感器。
MPU6500 系列采用 MEMS 工艺设计与制作,是世界上第一款集成了九轴传感器
的运动解决方案新芯片,常被用于游戏体验和运动感知等消费产品上。其内部具
有嵌入式 3 MEMS 陀螺仪、 3 轴微机电系统加速度计和数字运动处理器硬件加
速器引擎和一些外围通信接口。本文选用的 MPU6500 采取 SPI 总线通讯协议与
主控 MCU 进行通信。飞行姿态获取模块的硬件设计电路图如图 2-4 所示。
从图 2-4 中可以看出,飞行器姿态获取传感器 MPU6500 和主控芯片采用 SPI
通信协议传输数据,整个芯片只有四个数据引脚需要与主控芯片连接,并且通过
MOSI MISO 两个引脚传输数据与命令。虽然 MPU6500 系列速度传感器内部
结构很复杂,但现阶段 MEMES 技术以逐渐成熟,芯片集成化也越来越高,所以
其芯片的硬件电路设计并不复杂,只在一些引脚上加入滤波电容即可。
2.3 遥控管理单元的硬件设计
本文主要实现飞行器的自主跟踪功能,但是要真正实现完全无人控制的自主
跟踪较为困难,在移动物体较多的场景,必须人为选取跟踪目标,而且,在遇到
位置错误或意外情况时需要对飞行器的控制进行人为干预,保证飞行器自身和周
围事物的安全。所以本系统设计了实现上述功能的遥控管理单元。本单元除了完
成对无人机传输的图像进行转发和处理外,还拥有对无人机的最高控制权限,可
以在任何情况下人为接触飞行器自主跟踪飞行功能。
2.3.1 遥控管理单元主控模块的硬件设计
因为此部分要实现的功能、需要的芯片资源和对芯片处理能力的要求与飞行
器控制系统相似,除了需要外接 LCD 接口和用于数据存储的 SRAM 芯片外,无
太大区别,所以在此部分还是选用 STM32F4 系列 IO 口数目较多的 STM43F407
系列芯片做为系统的主控芯片。此部分的电路设计和飞行控制单元的主控模块的
硬件设计相似,在这里就不做过多赘述。遥控管理单元主控模块的原理图如图 2-8
所示。
主控单元模块主要负责接收四轴飞行的姿态、位置、以及其它飞行相关信息,
同时还要完成对目标跟踪单元通过 WiFi 模块传来的图像进行处理。在工作方式
上,该模块具有两种模式,一种是配合计算机,完成图像信息和飞行器信息的显
示和传输工作,另一种是独立自主的工作方式,将图像和飞行器信息实时显示在
模块自身 LCD 中,同时可以完成对飞行器的控制工作。
在手动操作模式下,用户可以通过遥控旋钮,实现对飞行器的人为控制。并
可以从主控单元外接的 LCD 上,读取飞行相关的姿态信息与状态,方便用户对
飞行器的管理。
即使 STM32F407 IO 口数目众多,也无法满足遥控管理单元的全部外围模
块的需求,所以在进行此模块的硬件设计时,将同样通信接口的传感器采用模块
化的设计方式,可以共用部分接口,节约了系统资源,提高了效率。

 

 

 

2.4 目标跟踪单元的硬件设计
本单元是跟踪算法的运行平台,同时还需要完成对目标信息的采集和数据传
输工作,对硬件的图像处理性能有较高的要求。一般的带有实时操作系统的嵌入
式平台很难适应该部分的需求,所以本文采用了搭载嵌入式 Ubuntu 的大型嵌入
式系统,通过移植 OpenCV 实现的目标跟踪算法,完成系统功能。
2.4.1 系统主控芯片的选择
通过上述描述,常规的智能芯片都已无法满足设计需求,而常用的 ARM9
ARM11 系列处理器过于陈旧且部分已停产也无法满足设计需求,选用性能更
好的处理器才是正确选择,例如以 ARM 公司的 CORTEX-A 系列为内核的微处理
器。此部分处理器通常是智能设备、个人 PDA 设备和手机的主控芯片。通常这
类芯片都被国外芯片厂商垄断,恰逢在本人毕业期间,某些中国企业购买国外芯
片的渠道被破坏,这让从事这一领域工作的工程师感觉,选取一款国内自主设计
的只能芯片就很有必要了。
目前,国内在这一领域比较突出的产品有,华为的海思系列、瑞芯的 RK3399
全志系列和联发科的一些型号芯片。其中华为的海思直接面向企业级用户,个人
开发难度较大。珠海全志科技 A64 系列资料较少,只有零星文档可以参考,也主
要面向企业级用户。而瑞芯的 RK3399 对待个人开发者较为友好,有自己的开源
社区,个人开发者可以在上面获取相应的芯片资料、 bootloader 资料、片内外设
驱动以及操作系统移植的相关资料。对高校的个人开发人员是一个很好的选择。
RK3399 内部采用 -Big.Little 架构,其内部包含双核 Cortex-A72 和四核
Cortex-A53 架构,是一款高性能低能耗的高性能 64 位处理器。通常被应用于电
脑、个人移动设备和数字媒体处理设备上。
RK3399 和许多具有高性能的嵌入式设备一样,内部集成了 H.264/H.265/VP9
4K 高清视频单元、高性能的 JPEG 编码器和特殊图像处理单元。其内部还集
成了完全匹配 OpenCL DirectX 11.1 3D 高性能 GPU 处理器。同时在外接芯
片内存和存储芯片部分, RK3399 配有高性能双通道的外部存储器接口,包括
DDR3/DDR3L/LPDDR3/LPDDR4 类型的内存芯片,能够保证外接大容量存储芯
片。并且其外围接口资源丰富,可以为应用提供灵活的支持。其芯片内部的资源
相当的丰富。通过查阅福州瑞芯公司的官方 Design_Guide 手册,可以得到不同应
用场景的芯片设计结构图,其中根据本文描述系统的特性与技术需求,选用手册
中的 Tablet Apllication Block Diagtam 作为系统基础设计范例,在其中进行相应的
改进与扩展。
在目标跟踪单元中用到的主要有 DDR3\EMMC\WIFI\USB\display panel\MIPI
CAMERA 等模块的硬件设计。 RK3399 采用 BGA 封装,芯片底部共有 828 个引
脚,所以不可能一一介绍,所以,在本文对该部分硬件系统的描述上,选取重要
部分单独描述。下面就按以上模块分别对该系统进行简单介绍。
5.1 系统总体软件设计描述
本文将四轴飞行器跟踪与控制系统的软件设计分成三个单元,即飞行控制单
元的软件设计、目标跟踪单元的软件设计和飞行器遥控管理单元的软件设计。三
个部分各司其职,互相配合的完成对目标物体的跟踪与四轴飞行器控制工作。其
中飞行控制单元的软件设计选用 keil 编译器和 FreeRTOS 嵌入式实时操作系统为
基础,控制代码采用 C 语言编写,主要完成飞行器姿态控制的工作。目标跟踪单
元的软件设计选用 arm-linux-gcc 编译器和搭载 OpenCV Ubuntu 操作系统为基
础,采用 C++ 语言和一些脚本语言对目标跟踪算法和进程进行编写,完成对跟踪
目标运动方向和距离的识别。遥控管理单元从功能上将其分为两部分进行软件设
计,一部分为下位机遥控通讯模块,该部分选用 Keil 编译器和 FreeRTOS 嵌入式
实时操作系统为基础,信息传输和遥控代码采用 C 语言编写,完成接收跟踪模块
发来的图像数据和与上位机通讯任务。另一部分为上位机显示和管理模块,该部
分选用 VS2013 Windows 操作系统为基础,显示与控制代码采用 MFC 下的 C++
语言编写,主要完成跟踪目标的选择以及飞行器飞行相关信息的显示工作。
5.2 飞行控制单元的软件设计
飞行控制单元的软件设计主要集中在完成姿态解算和控制算法的工作,为了
建立算法运行平台和保证算法运行的稳定,还需要在该部分系统的硬件设计的基
础上,通过移植嵌入式实时操作系统 FreeRTOS 和编写相关硬件外设的驱动函数,
保证整个飞行控制单元的稳定运行。
5.2.1 飞行控制单元算法运行环境搭建
由于四轴飞行器自身传感器众多,而且需要处理的遥控数据也较多,所以一
般的裸机程序就无法满足飞行控制单元对稳定性的需求,移植实时嵌入式系统
FreeRTOS ,将飞行控制单元要完成的功能以 task() 函数方式编写,通过系统内部
任务调度器按优先级或时间片调度方式控制,保证整体单元的所有任务平稳运
行。 FreeRTOS 系统移植流程图如图 5-1 所示。

 

 

 

 

5.5.2 四轴飞行器跟踪系统的测试
本文最后针对四轴飞行器的整体跟踪性能进行了测试,待追踪目标选为颜色
较实验室背景色差别较大的绿色写字板,通过旋转板面,将写字板绿色一面朝上
放置,通过拉动下方轮子使其移动,观察写字板上空飞行器的跟踪状况。四轴飞
行器跟踪性能测试过程如图 5-9 所示。
从图 5-9 所示试验中得出,随着人为缓缓拉动写字板,四轴飞行器也伴随着
向写字板运动方向缓缓移动,由实验结果可知,本文设计的系统对特征简单物体
的跟踪性能较好。依据相同原理,在实验室中对复杂目标进行跟踪实验,分对速
度为 0.8m/s 1.5m/s 的待跟踪目标进行跟踪,获得表 5-2 和表 5-3 的实验结果。

信迈提供RK3399+STM32软硬一体化方案。 

 

 

设计提出一种基于WIFI的微型四轴飞行器,实现数据高速度传输,实时控制微型四轴飞行器的飞行速度、姿态,提高微型四轴飞行器的可靠性。 为达到上述目的,本实用新型采用的具体技术方案如下: 一种基于WIFI的微型四轴飞行器,包括安装主体,其关键在于,所述安装主体上包围设置有四个旋臂,四个所述旋臂处于同一水平面且整体呈“X”形,在靠近所述旋臂的端部均设有一个直流电机,所述直流电机的转轴上安装有旋翼;所述安装主体为一电路安装腔,该电路安装腔内设有微控制器,所述微控制器分别与四个所述旋臂上的电机连接,在所述微控制器上连接WIFI通信模块,所述微控制器经WIFI通信模块与飞行控制系统连通。 采用上述方案,四个旋臂处于同一水平面且整体呈“X”形,并通过设置在旋臂的端部直流电机实现飞行,其中,相邻两个直流电机的旋转方向相反,相对两个直流电机旋转方向相同,通过调节4个电机的转速来改变旋翼转速,以实现微型四轴飞行器空间6个运动自由度,即分别沿X、Y、Z坐标轴作平移和旋转运动,以及4个可以控制的基本运动状态,即上下飞行、前后飞行、滚转飞行和偏航飞行;通过WIFI通信模块,微控制器与飞行控制系统之间实现无线通讯,飞行数据实现高速度传输,飞行控制系统对微型四轴飞行器实现实时控制,减少了微型四轴飞行器和其他物体发生碰撞,提高了微型四轴飞行器的安全性和可靠性。 进一步描述,所述微控制器上连接有陀螺仪传感器、加速度及磁力传感器、LED状态显示模块以及飞行姿态显示模块。 采用上述方案,根据陀螺仪传感器、加速度及磁力传感器确定实时监测飞行器相对于标准的X、Y、Z坐标轴的偏离,同时检测飞行器的加速度和飞行方向,并结合四元数得到欧拉角,从而得出飞行姿态参数,同时通过LED状态显示模块和飞行姿态显示模块实时显示出来。 再进一步描述,为了提高数据处理速率,所述微控制器为嵌入式微控制器,所述微控制器采用LPC2124芯片。 再进一步描述,所述陀螺仪传感器为三轴陀螺仪传感器,所述陀螺仪传感器采用FXAS21002芯片,该芯片小型、功耗低,该陀螺仪传感器的芯片经SPI接口与所述微控制器相连,传输数据块,实时性好。 再进一步描述,所述加速度及磁力传感器采用FXOS8700CQ芯片,将加速度传感器和磁力传感器合二为一,大大降低了飞行器的载重,并且根据该传感器可以飞行器的加速度及方向,有效监管飞行器的飞行状态,所述加速度及磁力传感器的芯片采用SPI接口与所述微控制器相连。 再进一步描述,所述WIFI通信模块采用RN1723模块,该模块是一款独立的、内嵌2.4GHzIEEE802.11b/g模块,其集成了晶振、电压调节器、匹配电路、功率放大器等。并支持Infrastructure与SoftAp网络模式,内置网络应用程序:TCP,UDP,DHCP,DNS,ARP,HTTP客户端与FTP客户端。板载TCP/IP网络协议栈以及唯一的MAC地址。支持UART通信接口,使用简单的AT命令字与外部微处理器进行读写操作。考虑到该模块如果采用外部天线,不仅其重量增加,并且也影响飞行器的正常飞行。因此在所述WIFI通信模块的电路板上设置有板载天线,提高了WIFI通信模块的通信可靠性,并降低了飞行器的载重。 再进一步描述,由于飞行器要在空中完成各种飞行姿态,则飞行器上的所有结构器件均需要连接牢固,则在所述电路安装腔内设置有电路板固定装置,为了防尘防水,在所述电路安装腔上还设置有电路板隔离装置,其中电路板隔离装置为包裹在安装主体上的薄膜或者透明塑料板,从而延长飞行器的使用寿命,其中薄膜重量轻,不会大幅度增加飞行器载重,而透明塑料板使用时间长,不会经常更换,使用方便。 本实用新型的有益效果:通过在微型四轴飞行器上设置WIFI通信模块,使飞行器与飞行控制系统连通,实现实时控制,减少控制延时而造成的损伤;并且在电路板上设置板载天线,既提高了传输速度,并且载重小;根据陀螺仪传感器、加速度及磁力传感器确定实时监测飞行器相对于标准的X、Y、Z坐标轴的偏离,同时检测飞行器的加速度和飞行方向,并结合四元数得到欧拉角,从而得出飞行姿态参数,同时通过LED状态显示模块和飞行姿态显示模块实时显示出来;并在飞行器上设置电路板固定装置,使飞行更加可靠;在飞行器上设置电路板隔离装置,防尘防水,延长了飞行器的使用寿命。 本实用新型的工作原理:微型四轴飞行器通过WIFI通信模块与飞行控制系统连通,微控制器采集油门、航向、滚转、俯仰信号,并通过WIFI通信模块传送到飞行控制系统,飞行控制系统发出控制信号,致使微型四轴飞行器控制四个直流电机旋转,实现微型四轴飞行器垂直上升、垂直下降、向左移动、向右移动、向前移动、向后移动、翻转飞行、测向飞行、自由悬停、紧急停机等,在飞行过程中,LED状态显示模块显示无线通信状态、飞行器启动状态、紧急停机状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值