APP下载

四旋翼自主飞行器探测跟踪系统

2018-05-14买彩凤

科学与财富 2018年9期
关键词:PID算法

买彩凤

摘 要:以四旋翼自主飞行器为基础,基于视觉的目标识别与跟踪问题,完成了系统设计、识别跟踪算法设计和实验验证这一整套流程。飞行器通过电子调速器控制来驱动飞行器的四个直流电机,利用三轴角速度传感器与三轴加速度传感器集成的MPU6050芯片以及姿态解算实现飞机平稳上升,利用超声波测取当前高度达到目标高度并完成悬停要求。通过遥控器来发射信号,当遥控小车的接收模块接收到信息并将其传递给STM32单片机,再根据内部程序输出PWM波,电机驱动接收PWM波后将顺利完成四个基本动作:前进、后退、左转、右转;采用摄像头传感器追踪目标车的颜色,以此达到飞行器探测追踪要求。

关键词:四旋翼;瑞萨单片机;OV7670摄像头;PID算法;

一、系统方案

本系统主要由控制系统模块、电机驱动模块、飞行姿态检测模块、超声波测距模块、摄像头模块、电源模块组成。本设计以瑞萨(Renesas)单片机RX23T作为主控芯片为其控制系统模块。此控制器是一款功能强大的处理器,且运算速度快,非常适用于处理较复杂的任务。利用其单片机输出PWM波通过电子调速器来驱动四个直流电机构成电机驱动模块。利用3轴MEMS陀螺仪传感器,3轴MEMS加速度计传感器以及气压计传感器集成的芯片和STM32 F103芯片作为飞行姿态检测模块,通过三个16位的ADC将其测量到的模拟量转化为输出且能够被单片机直接处理的数字量,从而减轻单片机的工作量。利用超声波的反射特性来测距离从而控制飞行器的高度来构成超声波测距模块。利用摄像头采集图像通过腐蚀算法处理采集到信息找到目标信号构成其摄像头模块。

1、控制系统模块器件的论证与选择

主控模块的选择:主控模块作为整个控制系统的核心,其处理器的选型显得尤为重要。在本系统中,对处理器的选型需要考虑一下几点:

(1)处理器必须具有足够运算能力,能实时的对飞行器的姿态进行修正;

(2)在姿态解算过程中需要处理器进行大量的浮点运算。因此要求处理器具有一定的浮点运算能力;

(3)考虑到处理器和内存进行数据交换比较频繁,所以选用处理器芯片内部必须有足够的空间对数据进行存储;

(4)要有足够的外设,不仅考虑到当前用到的外设,而且还要考虑以后升级需要的外设,所以选用外设较多的处理器;

(5)由于对电机进行控制主要是靠控制 PWM 波的占空比来实现的,所以应该选用带有增强型的 HRPWM 控制器的处理器。

1.1.单片机的选择

采用RX23T型号的瑞萨单片机,RX23T的瑞萨单片机具有新高性能CPU:RXV2CORE;其最大工作频率为40MHZ,电源电压为单一电源2.7-5.5V;拥有64-128KB的Flash、12KB的RAM内置存储器、32MHz(精度± 1%: --20℃+85℃時)的内置发振电路。

1.2控制系统方案选择

利用实验室已有的单片机最小系统板,直接搭建控制系统,单片机最小系统可以直接使用,减少搭建硬件的难度,而且具有稳定性强,所占空间小等优点。

2、飞行姿态检测模块器件的论证与选择

利用陀螺仪和加速度传感器集成的MPU-6050

检测飞行姿态需要采用陀螺仪和加速度传感器来测量倾角,不断地检测自身的飞行状态,根据自身姿态来调节自身平衡,从而达到稳定飞行。为了避免陀螺仪和加速度传感器安装中可能出现的机械偏差。本设计采用3轴陀螺仪和3轴加速度计所集成两者的MPU6050传感器模块。

3、超声波测距模块器件的论证与选择

由于要求四旋翼飞行器近地飞行,且控制飞行在不低于1m高度悬停,因此决定采用超声波来测距。其具有测量准确,无接触,防水,防腐蚀,低成本等优点。本设计的超声波测距模块将采用HC-SR04超声波测距传感器,这是一种集发射与接收于一体的超声波模块,该模块性能稳定,测度距离精确,模块高精度,盲区小,且非常适合近地飞行测距。

4、摄像头模块器件的论证与选择

OV7670传感器体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。且拥有独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、拖尾、浮散等,提高图像質量,得到清晰的稳定的彩色图像。为了完成探测跟踪,使其追击到目标信号,本次设计将使用STM32驱动ALIENTEK OV7670摄像头模块,实现摄像头功能。

二、系统理论分析与计算

1、数字PID位置型控制算法

PID控制是迄今为止最为广泛应用的控制算法,大多数反馈回路都是通过该方法或其变形来实现控制。并且由于PID控制算法结构简单,对误差和扰动模型的建立具有稳定性且容易操作。在四旋翼自主飞行器的控制中,虽然文献[2]中都对四旋翼飞行器的控制都建立的数学模型,但由于被控制过程中有许多未知干扰和扰动影响飞行器的飞行,因此本设计采用PID控制。按偏差的比例、积分、微分进行控制的控制器成为PID控制器,用来调节其稳定性、回复性、阻尼性,控制俯仰角、翻滚角、航向角的速度。

输出值=P的调节值+ I的调节值+ D的调节值

ki_out= ki * increment;

kd_out=kd * (sensor.gyro.histor.y - sensor.gyro.averag.y)*33;

kp_out= kp * E_pitch;

俯仰角:kp=1.5,ki=0.07,kd=0.35、翻滚角:kp=5.8,ki=0.04,kd=0.35、航向角:kp=1.8,ki=0,kd=0.1。

2、定高部分控制算法

定高控制算法采用的是位置式 PID 控制,定高控制的输出最后与姿态控制的输出叠加到四个电机的控制中[4]。对超声波的数据滤波使用的是低通滤波,采用近三次的平均值。为减小高度控制对姿态控制的干扰,通过PID算法确定结果,再输出高度PWM波。HightPwm=Rc_data.THROTLO+(g_HightControl-g_HightControlold)*kp;一键起飞是当遥控器发出该指令时,高度设定为0.5m,定高控制PID起作用,直到四轴飞行器达到设定高度后,飞行器进行自主定高飞行。

kp=0.25,Rc_data.THROTLO=1650,g_HightControlold=0.5,g_HightControl为当前高度。

三、电路与程序设计

1、电路的设计

(1)系统总体框图

(2)飞行控制子系统框图与电路原理图

1、飞行控制子系统框图

2、程序的设计

四旋翼飞行器飞行控制系统软件设计的主要任务是对以DSP处理器为核心的控制系统进行软件开发。软件设计应用模块化设计思想,易于扩展和升级.

(1)主程序功能描述与设计思路

整个软件设计可以分为两部分。其中中断处理部分可以将采集的传感器的数据通过外设与 DSP 进行数据交换。主程序主要完成对系统内各部分进行控制。四旋翼飞行器控制系统完成自检后,系统进入等待状态。若有控制命令,则中央控制单元对命令进行解析,执行相关操作。控制系统执行完命令后再次进入等待状态,等待接收新的命令。系统上电后,先执行自检过程,包括通讯状态检测、传感器偏置检测和电机执行模块的检测等。执行命令的过程就是四旋翼飞行器接收姿态解算角度值送入设计的

(2)子程序功能描述与设计思路

姿态解算模块软件设计在本系统中选用了微机电数字传感器,该传感器内部集成了滤波电路,所以控制器读取到数据后不需要花费时间进行滤波,同时也节省了 DSP处理器的资源。姿态解算模块软件设计主要完成的工作包括数据的采集、数据的预处理和姿态的解算三个方面的工作。通过串级PID控制器,完成对飞行器姿态的调整,以达到设计要求给定的飞行任务。

参考文献:

[1]夏长亮,杨晓军,史婷娜等,基于鲁棒调节器的无刷直流电机速度控制研究[J],电工电能新技术,21(3):5-8,2008.

[2] 曾小勇,彭辉,吴军.四旋翼飞行器的建模与姿态控制[J].中南大学学报(自然科学版),2013,44(9):3693-3700.

[3] 张涛.基于QFT的四旋翼飞行器飞行控制算法研究[J].科技创新导报,2012,(24):10-11.

猜你喜欢

PID算法
多轴电机同步运动控制器设计
基于AT89C51单片机的烤箱温度控制系统的设计
基于瑞萨单片机的风力摆系统设计
一种高精度风力摆控制系统
基于LabVIEW的旋转倒立摆系统设计
基于STM32的风力摆控制系统
风力摆控制系统
基于K60的智能循迹小车系统实现
基于嵌入式系统的智能水循环控制装置研究
基于AVR单片机的旋转倒立摆设计