一种基于AVR单片机的四旋翼飞行器的制作方法

文档序号:18631380发布日期:2019-09-06 23:43阅读:288来源:国知局
一种基于AVR单片机的四旋翼飞行器的制作方法

本发明属于飞行器技术领域,尤其涉及一种基于avr单片机的四旋翼飞行器。



背景技术:

目前,最接近的现有技术:四旋翼飞行器是一个多功能性的工作系统;它的用法多种多样,无论是在军用还是民用,四旋翼都体现出了其他飞行器无法比拟的优点,被社会各行各业所认可,因此四旋翼的利用价值非常高。

四旋翼飞行器的滥觞可以追溯到上世纪初,然而当时由于机械结构和控制技术的掣肘,四旋翼飞行器的发展相当缓慢。近年来随着微控制技术,信息技术,传感技术的突破,四旋翼飞行器进入快速发展的阶段。国外很多著名的高校和实验室都开发出了不同的四旋翼飞行器和控制算法,比如宾夕法尼亚大学vijay和他的团队开发出的微型四旋翼飞行器采用视觉信息测量姿态融合惯性测量元件,可在复杂的三维环境中实现进行巡航。国内对四旋翼飞行器的研究正处于方兴未艾的阶段,和国外相比还有一段不小的距离,但我国已在飞行器上取得过许多良好的成绩,无论是在四旋翼飞行器的控制算法上还是在现实应用中都取得了斐然的成绩,目前国网供电公司在多省运用无人机搭载激光雷达进行输电线路巡检工作;然而,现有四旋翼飞行器飞行不平稳,容易受到外界因素对惯性测量元件的影响,导致飞行姿态不佳。四旋翼飞行器在空中飞行的过程中,会受到风向和电磁场的干扰,四旋翼自身设计的缺陷等的干扰,这些扰动会使得传感器采集的信号包含大量的谐波,影响四旋翼的飞行。

综上所述,现有技术存在的问题是:

四旋翼飞行器在空中飞行的过程中,会受到风向和电磁场的干扰,四旋翼自身设计的缺陷等的干扰,这些扰动会使得传感器采集的信号包含大量的谐波,影响四旋翼的飞行。

解决上述技术问题的难度:

如何对传感器采集到的数据进行滤波、补偿。

解决上述技术问题的意义:

本发明设计的飞行器是一款稳定性高,飞行平稳,同时具有良好的抗干扰的性能的飞行器,设计出来对以后四旋翼飞行器的发展具有借鉴意义和指导意义。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于avr单片机的四旋翼飞行器。

本发明是这样实现的,一种基于avr单片机的四旋翼飞行器的设计方法,所述基于avr单片机的四旋翼飞行器的设计方法包括:

步骤一,进行四旋翼姿态解算,将飞行器载体坐标系转化为地理坐标系的问题;

步骤二,进行四元数运算,在惯性测量单元模块里进行四元数规范化运算,然后将此四元数重新递归到开头;

步骤三,进行卡尔曼滤波及数据融合,采用陀螺仪和加速度计互补的方法,修正加速度计传感器采集到的数据误差及修正陀螺仪的偏差;

步骤四,进行双闭环串级pid控制,采用双闭环串级pid控制,外环采用飞行姿态角pid控制,内环采用角速度pid控制。

进一步,步骤一进一步包括:将飞行器载体坐标系转化为地理坐标系的问题,下式中的α是坐标轴旋转的角度,三个余弦分量则是代表在坐标系中三个轴上的分量;

q0=cos(α/2)

q1=sin(α/2)cos(βx)

q2=sin(α/2)cos(βy)

q3=sin(α/2)cos(βz);

从上式中利用四则运算转化成欧拉角;

θ=arcsin(-2(q1q3+q0q2))

进一步,步骤二进一步包括:首先在惯性测量单元模块里取加速度计中沿x,y,z坐标轴的16位的数值,并分别转化为单位为g的沿x,y,z坐标轴的矢量力accx,accy,accz;从陀螺仪中读取三个adc值,并且将读取的这三个值转换为单位为度秒的绕三个轴的角速率为陀螺仪wx,wy,wz;将误差比列后补偿到速度传感器上,得到速度传感器三个更新后的值wxintwyintwzint,也就是补偿零点漂移;速度传感器三个修正后的值wxintwyintwzint用于更新四元数;把上面得到的四元数规范化后,完成一次运算,然后将此四元数重新递归到开头。

进一步,步骤三进一步包括:采用陀螺仪和加速度计互补的方法,用陀螺仪采集数据修正加速度计传感器采集到的数据误差;把加速度计采集到的姿态信息进行加权处理,再反馈给陀螺仪,修正陀螺仪的存在的偏差。

本发明的另一目的在于提供一种利用所述基于avr单片机的四旋翼飞行器的设计方法设计的基于avr单片机的四旋翼飞行器,所述基于avr单片机的四旋翼飞行器包括:

主控模块,与遥控通信模块、惯性测量模块、电源模块、驱动模块连接,用于接收来自惯性测量模块传递的飞行姿态数据、并且对姿态数据进行分析解算,输出pwm信号,驱动直流电机旋转,还用于接受由用户手持遥控器发出的指令,并按照具体的指令控制飞行器完成相应飞行动作;

遥控通信模块,与主控模块连接,包括无线遥控器和地面站,用户利用无线遥控器向四旋翼发送飞行动作指令;地面站向四旋翼发送简单的控制指令外,还用于设置四旋翼的的定点巡航,定点悬停飞行计划,地面站还用于把四旋翼的当前飞行姿态在pc机上模拟出来;

惯性测量模块,与主控模块连接,用于采集四旋翼当前飞行的状态信息,将采集的信息传给主控芯片,主控芯片根据软件算法利用四元数将四旋翼载体坐标系转化为地理坐标系,经过误差修正后,控制四旋翼;

电源模块,与主控模块连接,用于为四旋翼飞行器提供电源;

驱动模块,与主控模块连接,包括无刷直流电机和电子调速器,用于通过电子调速器、电机对四旋翼飞行器进行驱动操作。

进一步,所述基于avr单片机的四旋翼飞行器四旋翼重量900g;四旋翼飞行产生最大升力1200g;四旋翼续航时间30分钟;四旋翼机身轴距大小450mm。

本发明的另一目的在于提供一种所述基于avr单片机的四旋翼飞行器的控制方法,所述基于avr单片机的四旋翼飞行器的控制方法通过arduinoide进行软件编程与开发;主程序设计流程,中断包括spi中断、串口中断、定时器中断、遥控通信中断;定时器中断使用定时器完成10ms中断,并且要在中断函数中完成飞行姿态传感器的采样、算法融合、pid控制器运算与实现电机输出和数据通信。

本发明的另一目的在于提供一种实现所述基于avr单片机的四旋翼飞行器的设计方法的信息数据处理终端。

本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于avr单片机的四旋翼飞行器的设计方法。

本发明的另一目的在于提供一种利用所述基于avr单片机的四旋翼飞行器的设计方法设计的民用植保领域无人机。

在本发明中,惯性测量模块主要包括加速度计、三轴陀螺仪、罗盘和气压计;电源模块,该模块主要为四旋翼飞行器的提供正常工作电压,四旋翼飞行器主要用到的电压有11.1v、5v和3.3v等。

本发明的优点及积极效果为:

本发明设计的四旋翼飞行器具有机械结构简单,成本低,事故率低,重量轻等优点,因此应用前景广泛;以arduinomega2560单片机为核心控制器设计一架小型四旋翼飞行器;首先,通过主控制器、惯性测量单元、遥控通信模块、电源与驱动模块完成系统的硬件结构设计;其次,采用卡尔曼滤波来消除干扰,以及利用四元数算法解算出飞行姿态角控制电机的转速,并通过双闭环串级pid控制来调节飞行器的平衡性;最后采用c语言编写控制程序,软硬件联机调试并进行实地飞行测试。

本发明可以实现飞行器自稳,悬停,返航等功能的四旋翼飞行器,因为控制算法的实现尤为重要,从惯性测量元件中提取加速度与角速度,利用四元数法解算出初步的欧拉角,再利用卡尔曼滤波及融合算法对解算后的欧拉角进行滤波和融合,消除外界因素对惯性测量元件的影响,得到正确的飞行姿态角(欧拉角),同时配合双闭环串级pid控制算法对四旋翼飞行器进行控制,最后利用上位机软件进行联机调试,经户外实地飞行测试证明,四旋翼可以很好的平稳起飞,并且可以完成自稳,悬停等动作,达到了设计的目的。

附图说明

图1是本发明实施例提供的基于avr单片机的四旋翼飞行器结构示意图。

图2是本发明实施例提供的四旋翼飞行器的系统结构框图。

图3是本发明实施例提供的四元数运算流程图。

图4是本发明实施例提供的双闭环串级pid控制框图。

图5是本发明实施例提供的主程序流程图。

图6是本发明实施例提供的中断程序流程图。

图7是本发明实施例提供的missionplanner初始化界面图。

图8是本发明实施例提供的烤机调试示意图。

图9是本发明实施例提供的四旋翼欧拉角曲线图。

图10是本发明实施例提供的四旋翼定点悬停图。

图11是本发明实施例提供的飞行姿态自稳图。

图中:1、主控模块;2、遥控通信模块;3、惯性测量模块;4、电源模块;5、驱动模块。

具体实施方式

为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下。

下面结合附图对本发明的结构作详细的描述。

如图1所示,本发明实施例提供的基于avr单片机的四旋翼飞行器包括:主控模块1、遥控通信模块2、惯性测量模块3、电源模块4、驱动模块5。

主控模块1,与遥控通信模块2、惯性测量模块3、电源模块4、驱动模块5连接,用于通过主控芯片控制各个模块正常工作;

遥控通信模块2,与主控模块1连接,用于通过无线遥控器进行无线通信遥控四旋翼飞行器;

惯性测量模块3,与主控模块1连接,用于测量四旋翼飞行器惯性;

电源模块4,与主控模块1连接,用于为四旋翼飞行器提供电源;

驱动模块5,与主控模块1连接,用于通过电子调速器、电机对四旋翼飞行器进行驱动操作。

本发明提供的四旋翼飞行器控制器的设计方法包括:

步骤一,进行四旋翼姿态解算,将飞行器载体坐标系转化为地理坐标系的问题;

步骤二,进行四元数运算,在惯性测量单元模块里进行四元数规范化运算,然后将此四元数重新递归到开头;

步骤三,进行卡尔曼滤波及数据融合,采用陀螺仪和加速度计互补的方法,修正加速度计传感器采集到的数据误差及修正陀螺仪的偏差;

步骤四,进行双闭环串级pid控制,采用双闭环串级pid控制,外环采用飞行姿态角pid控制,内环采用角速度pid控制。

步骤一中,四旋翼姿态解算:

四旋翼的姿态解算算法实质是坐标系转化问题,就是如何将飞行器载体坐标系转化为地理坐标系的问题。下式中的α是坐标轴旋转的角度,三个余弦分量则是代表在坐标系中三个轴上的分量。

从上式中可以看出,利用简单的四则运算就可以转化成欧拉角,与单纯的欧拉角计算相比,减少了复杂多次的三角函数换算,从计算量上来看简单很多。

步骤二中,四元数运算流程:

四元数的运算流程也是模数转化的过程,首先把惯性测量单元模块里取加速度计中沿x,y,z坐标轴的16位的数值,并分别转化为单位为g的沿x,y,z坐标轴的矢量力accx,accy,accz,从陀螺仪中读取三个adc值,并且将读取的这三个值转换为单位为度秒的绕三个轴的角速率为陀螺仪wx,wy,wz。向量之间的误差计算是在载体坐标系上进行的,而速度传感器的积分误差同样也在机体坐标系上的,向量误差的大小与速度传感器的积分误差成正比,他们之间存在一个比例系数,因此可以用加速度计来标定速度传感器积分,同样对误差进行积分,实际也是进行了一次比例控制,将误差比列后补偿到速度传感器上,这样可以得到速度传感器三个更新后的值wxintwyintwzint,也就是补偿零点漂移,速度传感器三个修正后的值wxintwyintwzint用于更新四元数。把上面得到的四元数规范化后,就完成了一次运算,然后将此四元数重新递归到开头。

步骤三中,卡尔曼滤波及数据融合:

四旋翼飞行器从惯性测量单元采集姿态数据质量对系统的稳定性影响很大,而姿态传感器易受到来自外界的干扰,故需要对扰动较大姿态数据先进行滤波处理。卡尔曼滤波算法可以预测处于许多干扰数据中的系统下一时刻的系统的动态。卡尔曼滤波算法和编程都相对简单、它实时更新预处理数据,因而本发明采用卡尔曼滤波算法对采集到的飞行姿态数据进行预测处理,以得到校准后的飞行的姿态角。为了整合四旋翼的每个传感器获取的信息,以及减少加速度和陀螺仪传感器受到外界的干扰,所以需要根据每一个传感器的特点,组合使用传感器,来弥补由于传感器单一性造成采集信息的片面性。本发明采用陀螺仪和加速度计互补的方法,即用陀螺仪采集数据来修正加速度计传感器采集到的数据误差,类似闭环控制,再把加速度计采集到的姿态信息进行加权处理,再反馈给陀螺仪,用来修正陀螺仪的存在的偏差。

步骤一中,双闭环串级pid控制:

简单的pid控制无法适应如此复杂的飞行环境,因此本发明采用双闭环串级pid控制,外环采用飞行姿态角pid控制,在内环采用角速度pid控制。

与传统的pid相比,双闭环串级pid的抗干扰能力更强,控制系统性能也更加稳定。

在本发明实施例中,本发明选择基于开源平台的arduinomega2560最小系统板作为四旋翼的主控制器,通过arduinoide进行软件编程与开发,主程序设计流程图,中断包括spi中断、串口中断、定时器中断、遥控通信中断。定时器中断使用定时器完成10ms中断,并且要在中断函数中完成飞行姿态传感器的采样、算法融合、pid控制器运算与实现电机输出和数据通信等功能。

本发明工作时,首先,通过电源模块4为四旋翼飞行器提供电源;其次,通过主控模块1利用主控芯片控制遥控通信模块2、惯性测量模块3、电源模块4、驱动模块5各个模块正常工作;然后,通过遥控通信模块2利用无线遥控器进行无线通信遥控四旋翼飞行器;通过驱动模块5利用电子调速器、电机对四旋翼飞行器进行驱动操作;最后,通过惯性测量模块3测量四旋翼飞行器惯性。

下面结合具体实施例对本发明的应用原理作进一步的描述。

1.四旋翼飞行器的硬件设计

四旋翼飞行器核心部分是飞行控制系统,四旋翼的所有飞行动作都是在飞行控制系统的指令下完成的,是四旋翼的大脑。四旋翼的一套完整控制系统应由主控芯片、遥控通信模块、惯性测量模块、电源模块和驱动模块组成。四旋翼的整体结构框架图如2所示。

2.四旋翼飞行器控制器的设计

2.1四旋翼姿态解算

四旋翼的姿态解算算法实质是坐标系转化问题,就是如何将飞行器载体坐标系转化为地理坐标系的问题。下式中的α是坐标轴旋转的角度,三个余弦分量则是代表在坐标系中三个轴上的分量。

q0=cos(α/2)

q1=sin(α/2)cos(βx)

q2=sin(α/2)cos(βy)

q3=sin(α/2)cos(βz);

从上式中可以看出,利用简单的四则运算就可以转化成欧拉角,与单纯的欧拉角计算相比,减少了复杂多次的三角函数换算,从计算量上来看简单很多。

θ=arcsin(-2(q1q3+q0q2)

2.2四元数运算流程

四元数的运算流程也是模数转化的过程,首先把惯性测量单元模块里取加速度计中沿x,y,z坐标轴的16位的数值,并分别转化为单位为g的沿x,y,z坐标轴的矢量力accx,accy,accz,从陀螺仪中读取三个adc值,并且将读取的这三个值转换为单位为度秒的绕三个轴的角速率为陀螺仪wx,wy,wz。向量之间的误差计算是在载体坐标系上进行的,而速度传感器的积分误差同样也在机体坐标系上的,向量误差的大小与速度传感器的积分误差成正比,他们之间存在一个比例系数,因此可以用加速度计来标定速度传感器积分,同样对误差进行积分,实际也是进行了一次比例控制,将误差比列后补偿到速度传感器上,这样可以得到速度传感器三个更新后的值wxintwyintwzint,也就是补偿零点漂移,速度传感器三个修正后的值wxintwyintwzint用于更新四元数。把上面得到的四元数规范化后,就完成了一次运算,然后将此四元数重新递归到开头。如图3所示。

2.3卡尔曼滤波及数据融合

四旋翼飞行器从惯性测量单元采集姿态数据质量对系统的稳定性影响很大,而姿态传感器易受到来自外界的干扰,故需要对扰动较大姿态数据先进行滤波处理。卡尔曼滤波算法可以预测处于许多干扰数据中的系统下一时刻的系统的动态。卡尔曼滤波算法和编程都相对简单、它实时更新预处理数据,因而本发明采用卡尔曼滤波算法对采集到的飞行姿态数据进行预测处理,以得到校准后的飞行的姿态角。为了整合四旋翼的每个传感器获取的信息,以及减少加速度和陀螺仪传感器受到外界的干扰,所以需要根据每一个传感器的特点,组合使用传感器,来弥补由于传感器单一性造成采集信息的片面性。本发明采用陀螺仪和加速度计互补的方法,即用陀螺仪采集数据来修正加速度计传感器采集到的数据误差,类似闭环控制,再把加速度计采集到的姿态信息进行加权处理,再反馈给陀螺仪,用来修正陀螺仪的存在的偏差。

2.4双闭环串级pid控制

简单的pid控制无法适应如此复杂的飞行环境,因此本发明采用双闭环串级pid控制,外环采用飞行姿态角pid控制,在内环采用角速度pid控制。

与传统的pid相比,双闭环串级pid的抗干扰能力更强,控制系统性能也更加稳定。四旋翼飞行器双闭环串级pid控制框图,如图4所示。

2.5软件流程

本发明选择基于开源平台的arduinomega2560最小系统板作为四旋翼的主控制器,通过arduinoide进行软件编程与开发,主程序设计流程图如图5所示,中断包括spi中断、串口中断、定时器中断、遥控通信中断。定时器中断使用定时器完成10ms中断,并且要在中断函数中完成飞行姿态传感器的采样、算法融合、pid控制器运算与实现电机输出和数据通信等功能。其工作流程图如图6所示。

3.四旋翼飞行器飞行实验及结果分析

3.1上位机软件

四旋翼飞行器的参数调试工作,四旋翼飞行数据的采集,四旋翼飞行状态的监控,飞行模式的调整都离不开上位机软件missionplanner。安装后打开界面如6所示。

3.2pid参数设置

pid参数的调试对四旋翼的飞行有着举足轻重的作用,如果pid参数调整过大或过小都会对四旋翼产生较大影响,甚至导致四旋翼左右摇摆无法起飞。在对加速度计,罗盘校准后,开始对pid参数进行整定,为了保证pid参数的准确性和操作的安全性,此次调试在“烤机”情况下进行。“烤机”示意图如8所示。

上述过程都是在上位机操作下完成的,上位机软件可以将修正后的pid参数烧录到飞行控制板中,可以进一步提高四旋翼的抗干扰能力。

3.3校准后的pid数据分析

通过翻滚机身,在上位机软件的模拟飞行界面中可以看到滚转角和俯仰角的动态曲线图的变化。当四旋翼受到扰动时,missionplanner就可以检测到飞行器当前的欧拉角的信息。

绿色曲线为偏航角,红色曲线为滚转角,在对四旋翼施加一个外界扰动后可以看到曲线的波动,但是可以看到四旋翼很快又趋于原来的稳定状态。

3.4实地飞行测试

为了测试四旋翼飞行器的自稳特性,选择室外空旷草地进行试飞工作,试验地点选在校医院旁空旷草地上,试验当天微风。给四旋翼上电后,逐渐调整飞行器为自稳模式,该模式飞行器可以自我调整平衡,并测试飞行器的定高悬停模式,最后得出结论,本文设计的飞行器能稳定起飞,并在风力的干扰下可以自稳,如图10所示。

3.5实验结果分析

由于风力的不稳定,因此外界干扰是动态的,这样可以更好的反应出四旋翼的平衡性能,图11展现了本次飞行试验四旋翼局部姿态角变化曲线图,从图上来看,前3min是四旋翼准备起飞阶段,由于风力的干扰,四旋翼的抖动很大,4min-5min这个时间段是四旋翼在定点悬停模式,能从图中可以看出,曲线波动很小,证明飞行器的抗干扰能力强。

以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1