首页> 中国专利> 基于FPGA的无人机飞行控制电路

基于FPGA的无人机飞行控制电路

摘要

本发明提供了一种基于FPGA的无人机飞行控制电路,包括:控制器模块、九轴测量模块、姿态解算模块、PID控制模块和遥控舵机模块,其中,九轴测量模块、姿态解算模块、PID控制模块以及遥控舵机模块依次电连接;九轴测量模块用于根据加速度计、陀螺仪和所述磁力计传送的测量数据生成并输出九轴数据;姿态解算模块用于根据九轴数据生成并输出飞行姿态数据;PID控制模块用于根据九轴数据以及飞行姿态数据计算生成电机控制数据,遥控舵机模块用于根据遥控信号、电机控制数据生成用以控制电子调速器的控制信号。本发明的基于FPGA的无人机飞行控制电路,通过采用FPGA作为微控制器,实现对无人机的各个电机的并行控制,提高了电机控制的精确度和实时性。

著录项

  • 公开/公告号CN105700540A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学深圳研究生院;

    申请/专利号CN201610132773.4

  • 发明设计人 张岩;徐基鑫;高鹏;张伟;

    申请日2016-03-09

  • 分类号G05D1/08(20060101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人吴平

  • 地址 518055 广东省深圳市南山区西丽大学城哈工大校区C栋电子与信息工程学院

  • 入库时间 2023-12-18 15:45:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-01

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):G05D1/08 申请日:20160309

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明涉及无人机技术领域,特别是涉及一种基于FPGA的无人机飞行控 制电路。

背景技术

一般多旋翼无人机的飞行控制电路包括控制芯片、惯性测量电路、电子罗 盘、气压计、PWM输入信号模块、PWM输出信号模块、GPS模块以及串口RS232 或I2C等接口。其中,控制芯片多采用MCU(MicrocontrollerUnit,微控制电路) 或DSP(DigitalSignalProcessor,数字信号处理器),即使有些使用了FPGA, FPGA也仅仅用以扩展IO接口。也就是说,目前的多旋翼无人机中飞行控制算 法均是采用串行的方式,不能够精确并行的控制多旋翼无人机的电机,对电机 控制的精度以及实时性较差。

发明内容

鉴于现有技术的现状,本发明的目的在于提供一种基于FPGA的无人机飞 行控制电路,能够并行的控制无人机的各个电机,从而提高电机控制的精度以 及实时性。

为实现上述目的,本发明采用如下技术方案:

一种基于FPGA的无人机飞行控制电路,包括:控制器模块以及分别与所 述控制器模块电连接的九轴测量模块、姿态解算模块、PID控制模块和遥控舵机 模块,其中,所述九轴测量模块、所述姿态解算模块、所述PID控制模块以及 所述遥控舵机模块依次电连接;

所述九轴测量模块连接至加速度计、陀螺仪和磁力计,用于根据所述加速 度计、所述陀螺仪和所述磁力计传送的测量数据生成并输出九轴数据;

所述姿态解算模块用于根据所述九轴数据生成并输出飞行姿态数据;

所述PID控制模块连接所述九轴测量模块,所述PID控制模块包括至少三 个并行设置的姿态角控制电路,用于根据所述九轴测量模块传送的九轴数据以 及所述飞行姿态数据计算生成电机控制数据;

所述遥控舵机模块连接遥控器接收机以及与所述无人机的各个电机连接的 电子调速器,所述遥控舵机模块用于根据所述遥控器发送的遥控信号、所述PID 控制模块输出的电机控制数据生成用以控制所述电子调速器的控制信号,并将 所述控制信号反馈至所述PID控制模块,以并行的控制所述无人机的各个电机 运行。

在本发明的一个实施例中,所述九轴测量模块包括中断控制电路以及依次 电连接的数据缓冲电路、数据处理电路、数据选通电路、数据还原电路和同步 输出电路;

其中,所述数据缓冲电路、所述数据处理电路和所述同步输出模块连接所 述控制器模块;所述中断控制电路连接至所述数据选通电路和所述数据还原电 路,用于控制所述数据选通电路的导通或关闭;

所述数据缓冲电路连接所述加速度计、所述陀螺仪和所述磁力计,用以获 取所述加速度计、所述陀螺仪和所述磁力计的测量数据,所述数据处理电路用 于对所述测量数据进行滤波处理,所述数据还原电路用于对所述测量数据进行 数制转换以及归一化处理,所述同步输出模块连接所述姿态解算模块,所述同 步输出电路用于同步生成所述九轴数据,并将所述九轴数据传送至所述姿态解 算模块。

在本发明的一个实施例中,所述数据处理电路包括加速度计数据处理单元、 陀螺仪数据处理单元和磁力计数据处理单元;

所述加速度计数据处理单元包括依次电连接的第一平滑滤波器组和第一数 据选通器,用于对所述加速度计的测量数据进行平滑滤波处理;

所述陀螺仪数据处理单元包括依次电连接的第二平滑滤波器组、零偏值计 算-消除电路以及第二数据选通器,用于对所述陀螺仪的测量数据进行平滑滤波、 消除零偏值的处理;

所述磁力计数据处理电路包括依次电连接的第三平滑滤波器组、校准-归一 化电路以及第三数据选通器,用于对所述磁力计的测量数据进行平滑滤波、校 准处理;

其中,所述第一数据选通器、所述第二数据选通器以及所述第三数据选通 器分别连接至所述控制器模块。

在本发明的一个实施例中,所述姿态解算模块包括加速度计误差测量电路、 磁力计误差测量电路、陀螺仪误差测量电路、四元数更新电路、姿态转换矩阵 更新电路以及姿态角转换电路;

所述加速度计误差测量电路、所述磁力计误差测量电路均连接至所述陀螺 仪误差测量电路,所述陀螺仪误差测量电路依次电连接所述四元数更新电路、 所述姿态转换矩阵更新电路以及所述姿态角转换电路;

所述陀螺仪误差测量电路用于根据所述加速度计误差测量电路生成的加速 度计误差值、所述磁力计误差测量电路生成的磁力计误差值以及所述陀螺仪的 测量数据通过互补滤波算法生成陀螺仪修正数据;

所述四元数更新电路用于根据所述陀螺仪修正数据以及上一次的四元数值 生成新的四元数值;所述姿态转换矩阵更新电路用于根据所述新的四元数值生 成姿态矩阵,并将所述新的四元数值反馈至所述加速计误差测量电路及所述磁 力计误差测量电路;所述姿态角转换电路用于根据所述姿态矩阵生成姿态角。

在本发明的一个实施例中,所述PID控制模块包括输出控制电路以及并行 设置的三个所述姿态角控制电路,三个所述姿态角控制电路分别为俯仰角控制 电路、翻滚角控制电路和航偏角控制电路;

所述俯仰角控制电路、所述翻滚角控制电路和所述航偏角控制电路分别连 接所述姿态解算模块、所述九轴测量模块和所述输出控制电路;所述输出控制 电路输出所述电机控制数据,并将所述电机控制数据反馈给所述俯仰角控制电 路、所述翻滚角控制电路以及所述航偏角控制电路。

在本发明的一个实施例中,所述俯仰角控制电路、所述翻滚角控制电路以 及所述航偏角控制电路均采用双环结构。

在本发明的一个实施例中,所述遥控舵机模块包括接收电路、电机控制电 路以及通道编码电路;所述接收电路连接所述电机控制电路和所述通道编码电 路,所述电机控制电路、所述通道编码电路连接所述控制器模块;

所述接收电路连接所述遥控器接收机,用于接收遥控器发送的包含多个通 道数据的遥控信号,并分别对所述遥控信号的多个通道数据进行处理;所述通 道编码电路用于根据所述遥控信号生成无人机工作模式控制信号,并将所述无 人机工作模式信号传送至所述控制器模块;

所述电机控制电路连接所述PID控制模块,所述电机控制电路根据所述PID 控制模块输出的电机控制数据以及所述无人机工作模式信号生成所述电机的通 道数值,并将所述电机的通道数值转换为用以控制所述电子调速器的控制信号。

在本发明的一个实施例中,还包括与气压计连接的气压计读取-补偿模块;

所述气压计读取-补偿模块包括分别与所述控制器模块电连接的初始化电 路、数据读取电路、第四数据选通器、温度补偿电路、AD系数归一化电路以及 数制转换电路;

所述第四数据选通器连接所述气压计,所述初始化电路、所述数据读取电 路均连接至所述第四数据选通器,所述数据读取电路、所述温度补偿电路、所 述AD系数归一化电路以及所述数制转换电路依次电连接,所述数制转换电路 用于输出气压值和温度值。

在本发明的一个实施例中,还包括GPS模块和数据融合模块;

所述气压计读取-补偿模块、所述GPS模块均连接至所述数据融合模块,所 述数据融合模块与所述遥控舵机模块、所述姿态解算模块电连接;

所述GPS模块用于获取所述无人机的定位信息,所述数据融合模块用于根 据所述气压计读取-补偿模块输出的气压值、温度值、所述GPS模块输出的定位 信息以及所述姿态解算模块生成的飞行姿态数据生成所述电机控制数据。

在本发明的一个实施例中,还包括与所述控制器模块电连接的定时器模块、 复位模块以及按键模块;

所述按键模块与外设的控制按键和显示灯连接,所述显示灯用于指示所述 无人机的工作状态。

在本发明的一个实施例中,所述基于FPGA的无人机飞行控制电路与上位 机通信连接。

本发明的有益效果是:

本发明的基于FPGA的无人机飞行控制电路,通过采用FPGA作为微控制 器,并设置有姿态解算模块实时获得无人机的飞行姿态数据,PID控制模块用于 根据飞行姿态数据和九轴测量模块传送的九轴数据计算生成电机控制数据,遥 控舵机模块根据电机控制数据生成控制信号,以实现对无人机的各个电机的并 行控制,同时,由于FPGA的并行处理速度远高于微控制器的串行处理速度, 因此,通过FPGA的控制平台,缩短了飞行控制电路的计算时间,从而提高了 电机控制的精确度和实时性,为无人机飞控芯片的开发奠定了基础。

附图说明

图1为本发明的基于FPGA的无人机飞行控制电路一实施例的原理框图;

图2为本发明的飞行控制电路中九轴测量模块一实施例的原理框图;

图3为本发明的飞行控制电路中九轴测量模块一实施例的读取测量数据的 操作示意图;

图4为本发明的飞行控制电路中姿态解算模块一实施例的原理框图;

图5为本发明的飞行控制电路中PID控制模块一实施例的原理框图;

图6为本发明的飞行控制电路中PID控制模块一实施例的控制过程图;

图7为本发明的飞行控制电路中遥控舵机模块一实施例的原理框图;

图8为本发明的飞行控制电路中气压计读取-补偿模块一实施例的原理框 图;

图9为本发明的飞行控制电路中气压计读取-补偿模块的初始化及数据读取 的操作流程图。

具体实施方式

为了使本发明的技术方案更加清楚,以下结合附图,对本发明的基于FPGA 的无人机飞行控制电路作进一步详细的说明。应当理解,此处所描述的具体实 施例仅用以解释本发明并不用于限定本发明。需要说明的是,在不冲突的情况 下,本申请中的实施例及实施例中的特征可以相互组合。

如图1所示,本发明提供了一种基于FPGA的无人机飞行控制电路,可以 用于多旋翼无人机或固定翼无人机等无人机的飞行控制。该基于FPGA的无人 机飞行控制电路。本发明的飞行控制电路采用FPGA芯片作为主要微控制单元, 包括控制器模块100、九轴测量模块200、姿态解算模块300、PID控制模块400、 遥控舵机模块500、气压计读取-补偿模块600、GPS模块700、数据融合模块800、 定时器模块110、复位模块120以及按键模块900。

其中,定时器模块110、复位模块120以及按键模块900均连接至控制器模 块100;本实施例中,定时器模块110的节拍频率可以为5ms,以提供稳定的定 时节拍。复位模块120用于为该飞行控制电路的各个电路模块提供稳定的复位 信号和时钟信号,其中,时钟信号的频率可以达到100MHz。GPS模块700用于 获取该无人机的实时定位信息。控制器模块100作为该飞行控制电路的顶层模 块,用于在定时器模块110的节拍下调控所有模块的输入输出,控制各个模块 的初始化。

九轴测量模块200、姿态解算模块300、PID控制模块400与控制器模块100 电连接,控制器模块100用于控制上述各个模块的初始化等操作,九轴测量模 块200、姿态解算模块300、PID控制模块400能够将其输出的测量数据反馈至 控制器模块100,以便于控制器模块100根据无人机的飞行参数实时控制其飞行 姿态。具体地,九轴测量模块200、姿态解算模块300、PID控制模块400以及 遥控舵机模块500依次电连接,九轴测量模块200连接至加速度计、陀螺仪和 磁力计,用于根据加速度计、陀螺仪和磁力计传送的测量数据生成并输出九轴 数据。

本实施例中,加速度计为三轴加速度计,陀螺仪为三轴陀螺仪,磁力计为 三轴磁力计,因此,九轴测量模块200输出的为九轴数据。其中,三轴加速度 计用于感知无人机在机体坐标系的三轴方向上的加速度,主要用于检测无人机 的三轴运动情况。三轴陀螺仪用于根据其内部的陀螺转子的垂直轴与无人机之 间的夹角,计算无人机在机体坐标系的三轴方向上的角速度,以判别无人机在 三轴方向的运动状态,三轴加速度计和三轴陀螺仪主要用于确定无人机的俯仰 角和翻滚角。三轴磁力计用以修正因陀螺仪零漂而产生的自旋,主要用于修正 陀螺仪的Z轴测量数据,即航偏角的测量数据,因此,三轴磁力计主要用于确 定无人机的指向方向。九轴测量模块200通过I2C总线连接加速度计、陀螺仪 以及磁力计,用以读取加速计、陀螺仪和磁力计等传感器的测量数据。

本实施例中,在采集测量数据之前,需要对加速度计、陀螺仪和磁力计等 传感器进行初始化配置,如预设传感器的电源参数、复位参数或传感器的采集 频率等。由于本实施例中的加速度计、陀螺仪以及磁力计均连接在I2C总线上, 因此,九轴测量模块200读取测量数据的操作与传感器的初始化操作共用一个 I2C接口,读取测量数据的操作和传感器的初始化操作需要串行执行。如图3所 示,九轴测量模块200首先通过I2C总线将相应的初始化参数写入各个传感器 中,以实现各个传感器的初始化,之后开始循环读取各个传感器的测量数据。

姿态解算模块300用于根据九轴测量模块200传送的九轴数据,利用导航 原理生成并输出飞行姿态数据,并将飞行姿态数据传送至PID控制模块400。这 里的飞行姿态数据用于记录飞行器的三轴在空中相对于某条参考线、或某个参 考平面、或某固定的坐标系统间的状态。PID控制模块400连接九轴测量模块 200和姿态解算模块300,包括至少三个并行设置的姿态角控制电路,用于根据 九轴测量模块200传送的九轴数据以及姿态解算模块300传送的飞行姿态数据 计算生成电机控制数据,并将电机控制数据传送至遥控舵机模块500。其中,每 个姿态角控制电路对应控制一个姿态角,该无人机的姿态角包括俯仰角、翻滚 角以及航偏角等等。至少三个姿态角控制电路相互独立、并行工作,以缩短该 飞行控制电路的计算时间,通过采用FPGA的并行处理方式,可以提高控制数 据的精度。PID控制模块400输出的电机控制数据用于控制各个电机的运行,包 括油门系数、俯仰角、翻滚角、航偏角等等。

遥控舵机模块500作为无人机的控制信号的输入和输出执行设备,连接遥 控器以及与无人机的各个电机连接的电子调速器,遥控舵机模块500通过电子 调速器控制各个电机的运行。具体地,遥控舵机模块500通过I/O接口连接接收 机,遥控器与接收机对应设置。操控者通过遥控器将控制信息编码后以电磁波 的形式将遥控信号发送出去,接收机对遥控信号进行解调后,将解调后的遥控 信号传送至遥控舵机模块500,遥控舵机模块500用于根据接收的遥控信号、PID 控制模块400输出的电机控制数据生成用以控制电子调速器的控制信号,并将 控制信号反馈至PID控制模块400,以并行的控制无人机的各个电机的运行。

在本发明的一个实施例中,如图2所示,九轴测量模块200包括中断控制 电路260以及依次电连接的数据缓冲电路210、数据处理电路220、数据选通电 路230、数据还原电路240和同步输出电路250,同步输出模块250连接姿态解 算模块300,同步输出电路250用于同步生成九轴数据,并将九轴数据传送至姿 态解算模块300,用于计算无人机的飞行姿态数据。

其中,数据缓冲电路210、数据处理电路220和同步输出电路250连接控制 器模块100,控制器模块100用于选通数据处理电路220并控制同步输出电路 250的输出。中断控制电路260连接至数据选通电路230和数据还原电路240, 中断控制电路260用于通过输出的中断信号控制数据选通电路230的选通或关 闭以及数据还原电路240的执行顺序。本实施例中,数据选通电路230可以是 数据选通器。

数据缓冲电路210连接三轴加速度计、三轴陀螺仪和三轴磁力计,用以读 取并存储三轴加速度计、三轴陀螺仪和三轴磁力计的测量数据,并将上述传感 器的原始测量数据传送至数据处理电路220。数据处理电路220用于对测量数据 进行滤波处理、数据校准等操作,并将经过预处理的测量数据经数据选通电路 230传送至数据还原电路240。

数据还原电路240用于对测量数据进行数制转换以及归一化处理,即根据 各个传感器的AD转换系数,还原测量数据的实际值,其中,数据还原电路240 为九轴数据的共用电路,包括依次电连接的系数归一化单元241和数制转换单 元242。本实施例中,系数归一化单元241和数制转换单元242的串行执行顺序 由中断控制电路260控制。系数归一化单元241可以用于测量数据的归一化处 理,数制转换单元242可以用于计算机数制转换。

最后同步输出电路250根据姿态解算模块300对九轴数据的要求,等待缓 冲一次完成的九轴数据(包括三轴加速度计测量数据、三轴陀螺仪测量数据和 三轴磁力计测量数据)后,拉高指示信号,并输出九轴数据至姿态解算模块300。

具体地,数据处理电路220包括并行设置的加速度计数据处理单元、陀螺 仪数据处理单元和磁力计数据处理单元。其中,加速度计数据处理单元包括依 次电连接的第一平滑滤波器组221和第一数据选通器222,用于对加速度计的测 量数据进行平滑滤波处理。第一数据选通器222连接至控制器模块100和数据 选通电路300,控制器模块100用于控制第一数据选通器的选通或关闭。当控制 器模块100根据用户的需求向第一数据选通器222发送平滑度选通信号时,加 速度计输出的三轴测量数据经过第一平滑滤波器组221的平滑滤波后,直接通 过数据选通电路300进入数据还原电路240。

陀螺仪数据处理单元包括依次电连接的第二平滑滤波器组223、零偏值计算 -消除电路以及第二数据选通器229,用于对陀螺仪的测量数据进行平滑滤波、 消除零偏值的处理。其中第二数据选通器229连接至控制器模块100以及数据 选通电路230,控制器模块100用于控制第二数据选通器229的选通或关闭。更 进一步的,在一个实施例中,零偏值计算-消除电路包括零偏值计算单元224和 零偏值消除单元225,第二平滑滤波器组223同时连接至零偏值计算单元224和 零偏值消除单元225,且零偏值计算单元224连接零偏值消除单元225,零偏值 消除单元225的输出连接第二数据选通器229的输入,用于消除陀螺仪的零偏 值,保证飞行控制的精确度。

当控制器模块100根据用户的需求向第二数据选通器229发送平滑度选通 信号时,陀螺仪输出的陀螺仪三轴测量数据首先经过第二平滑滤波器组223的 平滑滤波后,进入零偏值计算单元224计算陀螺仪的出零偏值,之后通过零偏 值消除单元225消除陀螺仪的三轴测量数据的零偏值,最后通过数据选通电路 230进入数据还原电路240。或者,陀螺仪输出的陀螺仪三轴测量数据首先经过 第二平滑滤波器组223的平滑滤波后,直接通过零偏值消除单元225消除陀螺 仪的三轴测量数据的零偏值,最后通过数据选通电路230进入数据还原电路240。

磁力计数据处理电路包括依次电连接的第三平滑滤波器组226、校准-归一 化电路以及第三数据选通器201,用于对磁力计的测量数据进行平滑滤波、校准 处理。其中,第三数据选通器201分别连接至控制器模块100和数据选通电路 230,控制器模块100用于控制第三数据选通器201的选通或关闭。更进一步的, 在一个实施例中,校准-归一化电路包括数据校准单元227和数据归一化单元 228,第三平滑滤波器组226同时连接至数据校准单元227和数据归一化单元 228,且数据校准单元227与数据归一化单元228电连接,数据归一化单元228 的输出连接第三数据选通器201的输入,用于磁力计三轴测量数据的校准,保 证飞行控制的精确性。

即当控制器模块100根据用户的需求向第三数据选通器201发送平滑度选 通信号时,磁力计输出的磁力计三轴测量数据首先经过第三平滑滤波器组226 的平滑滤波后,进入数据校准单元227进行校准,之后通过数据归一化单元228 对磁力计的三轴测量数据的系数进行归一化处理,最后通过数据选通电路230 进入数据还原电路240。或者,磁力计输出的磁力计三轴测量数据首先经过第三 平滑滤波器组226的平滑滤波后,直接通过数据归一化单元228进行磁力计的 三轴测量数据进行系数归一化,最后通过数据选通电路230进入数据还原电路 240。

在本发明的一个实施例中,如图4所示,姿态解算模块300包括加速度计 误差测量电路310、磁力计误差测量电路320、陀螺仪误差测量电路330、四元 数更新电路340、姿态转换矩阵更新电路350以及姿态角转换电路360。其中, 加速度计误差测量电路310、磁力计误差测量电路320均连接至陀螺仪误差测量 电路330,陀螺仪误差测量电路330依次电连接四元数更新电路340、姿态转换 矩阵更新电路350以及姿态角转换电路360,姿态角转换电路360连接至PID控 制模块400,用于将无人机的飞行姿态数据传送至PID控制模块400。

由于在实际的环境中,MEMS传感器输出的数据通常存在一定的误差,所 以为保证后续计算的准确性,应该对MEMS传感器输出的测量数据进行去噪滤 波等处理,以保证系统的运算精度。本实施例中,采用互补滤波算法对各个传 感器的测量数据进行去噪滤波等处理。其中,加速度计误差测量电路310连接 至九轴测量模块200,用于根据九轴数据中的加速度计的测量数据计算其与预设 的参考比力之间的相对误差,生成加速度计误差值。磁力计误差测量电路320 连接至九轴测量模块200,用于根据九轴数据中的磁力计的测量数据计算其与预 设的参考磁力之间的相对误差,生成磁力计误差值。

陀螺仪误差测量电路300也连接至九轴测量模块200,用于根据加速度计误 差测量电路310生成的加速度计误差值、磁力计误差测量电路320生成的磁力 计误差值以及九轴数据中的陀螺仪的测量数据通过互补滤波算法生成陀螺仪修 正数据。本实施例中的陀螺仪误差测量电路可以采用互补滤波器等实现。由于 陀螺仪存在一定的漂移,会导致其测量的数据越来越不准确,本实施例中,采 用互补滤波算法就是在短时间内较多的参考陀螺仪的测量数据,而随着时间的 增加,通过加速度计和磁力计的测量数据对陀螺仪的测量数据进行补偿校正。 也就是说,由于加速度计的动态响应较慢,因此在高频段存在误差,可以通过 低通滤波器来抑制其高频误差,而陀螺仪由于常值零漂因而在低频段存在较大 的误差,所以需要高频滤波器来抑制其低频误差,通过互补滤波器在其频域上 的互补特性,以抑制干扰误差,以提高测量数据的精确性,满足后续电路的使 用需求,从而提高该飞行控制电路的控制精度。

四元数更新电路340用于根据陀螺仪修正数据以及上一次的四元数值生成 新的四元数值,本实施例中,四元数更新电路340使用一阶龙格-库塔算法(即 欧拉算法)对四元数进行更新,并输出本次更新的新的四元数值。应当清楚的 是,四元数是一种简单的超复数,四元数都是由实数加上三个复数组成,可以 理解为一个实数和一个向量的组合,也可以理解为四维的向量。在组合旋转方 面,四元数表示的效果最佳。当然,在其他实施例中,姿态解算模块300也可 以通过矩阵表示、欧拉角表示或轴角表示等方式来表示旋转。

姿态转换矩阵更新电路350用于根据四元数更新电路340输出的新的四元 数值生成姿态矩阵,并将新的四元数值反馈至加速计误差测量电路310及磁力 计误差测量电路320;姿态角转换电路360用于根据姿态矩阵生成姿态角,并将 姿态角等飞行状态数据传送至PID控制模块400。

在本发明的一个实施例中,如图5所示,PID控制模块400包括输出控制电 路440以及并行设置的三个姿态角控制电路,每一个姿态角控制电路对应控制 一个姿态角,三个姿态角控制电路分为与输出控制电路440电连接的俯仰角控 制电路410、翻滚角控制电路420和航偏角控制电路430,这样可以对姿态解算 模块300输出的姿态角数据并行的进行处理,从而缩短了系统的运算时间,提 高了运算效率。

俯仰角控制电路410、翻滚角控制电路420和航偏角控制电路430分别连接 至姿态解算模块300和九轴测量模块200,用于获取姿态解算模块300输出的飞 行姿态数据(即无人机的姿态角数据)、九轴测量模块200输出的九轴测量数据 以及遥控器传送的遥控信号等外部数据以及各个传感器的状态信号。输出控制 电路440根据三个姿态角控制电路传送的信号生成并输出电机控制数据,以通 过电子调速器分别控制各个电机的运行,实现各个电机的并行控制。同时,输 出控制电路440将电机控制数据反馈给俯仰角控制电路410、翻滚角控制电路 420以及航偏角控制电路430。

具体地,本实施例的俯仰角控制电路410、翻滚角控制电路420以及航偏角 控制电路430均采用双环结构,其中外环用于控制角度,内环用于控制角速度。 以下结合图6以翻滚角为例说明PID控制算法的具体过程:

外环控制:将获取的陀螺仪的测量数据、遥控器的遥控信号进行锁定,以 保证数据的准确性以及控制精度,并结合获取的陀螺仪和遥控器的状态信号对 陀螺仪的测量数据以及遥控信号进行数据滤波等预处理,以减小噪声对系统的 干扰。之后,对预处理后的陀螺仪的测量数据和遥控信号进行PID操作(还可 以是PI操作、PD操作),生成并输出内环PID控制的期望值。

内环控制:将获取的内环PID控制的期望值与姿态解算模块输出的飞行姿 态数据进行锁定,以保证数据的准确性以及控制精度,并结合外环控制模块输 出的状态信号以及姿态解算模块输出的状态信号对内环PID控制的期望值以及 飞行姿态数据进行滤波等预处理,以减小噪声对系统的干扰。之后,对预处理 后的飞行姿态数据和内环PID控制的期望值进行PID操作(还可以是PI操作、 PD操作),生成并输出电机控制数据,以控制各个电机的翻滚角。此外,俯仰 角和航偏角的PID控制与翻滚角的控制过程基本一致,此处不再赘述。

在本发明的一个实施例中,如图7所示,遥控舵机模块500包括接收电路 510、电机控制电路530以及通道编码电路520;接收电路510连接电机控制电 路530和通道编码电路520,电机控制电路530、通道编码电路520连接控制器 模块100,控制器模块100用于控制各个模块电路的初始化以及运行状态。

其中,接收电路510包括依次电连接的接收校验单元511和预处理单元512, 其中,接收校验单元511通过外设的接收机连接至遥控器,用于接收遥控器发 送的包含多个通道数据的遥控信号,接收校验单元511分别对其接收的遥控信 号的各个通道数据进行滤波处理后,将处理后的遥控信号传送至预处理单元 512。预处理单元512连接至PID控制模块400,用于根据PID算法对通道数据 的要求将滤波处理后的遥控信号进行线性约束和格式转换等操作,之后,将预 处理之后的遥控信号等数据反馈至PID控制模块400,即预处理单元512连接 PID控制模块400的输入端。

本实施例中,遥控器通过接收机向接收电路输入具有7个通道数据的遥控 信号,相应的,接收校验单元也设置有7个校验通道,分别针对7个通道数据 进行滤波处理,以提高数据处理的效率。之后,将滤波处理后的遥控信号传送 至通用的预处理单元512,完成遥控信号的初步处理。最后,根据各个通道的功 能,采用相应的处理机制。其中,遥控信号的7个通道数据可以是飞行高度、 俯仰角、航偏角、翻滚角、飞行速度、油门系数以及飞行状态等等。例如:

遥控信号的其中一个通道数据用于控制无人机的俯仰角,则通过接收校验 单元511中相应的俯仰角校验通道进行滤波处理,然后,将滤波处理后的俯仰 角通道数据经预处理单元后输出至PID控制模块400的俯仰角控制电路410的 输入端,俯仰角控制电路410根据俯仰角通道数据、陀螺仪的测量数据以及加 速度计的测量数据进行PID操作(PI/PD/PID运算),输出用于控制无人机的俯 仰角的电机控制数据。

通道编码电路520作为遥控信号等数据的编码电路,用于根据遥控信号生 成无人机工作模式控制信号,并将无人机工作模式信号传送至控制器模块100, 以控制无人机运行在不同的工作模式。本实施例中,无人机的工作模式包括调 试模式、锁定模式和PID控制模式。

本实施例中,无人机在启动飞行前,一般需要对遥控器进行油门校准或电 气编程等操作,在系统上电启动时,遥控器必须锁定,以防发生误触操作。在 空中飞行时,若遇见突发状况,必须立刻锁定机体,暂停无人机系统的工作, 以保证无人机的飞行安全。通道编码电路520用于根据上述不同的工作模式, 根据接收的遥控信号进行通道编码处理,并发出相应的工作模式信号至控制器 模块,使得无人机能够安全的飞行或调试。

电机控制电路530连接PID控制模块400,电机控制电路530根据PID控 制模块400输出的电机控制数据以及控制器模块100输出的无人机工作模式信 号生成电机的通道数值,并将电机的通道数值转换为用以控制电子调速器的 PWM控制信号。具体地,电机控制电路530包括依次电连接的转换单元531、 第五数据选通器532和电调控制单元533。其中,转换单元531连接至PID控制 模块400,具体地,转换单元531连接至PID控制模块400的输出端(即输出控 制电路440),用于从PID控制模块读取电机控制数据,并将电机控制数据转换 为舵机的通道信号。

第五数据选通器532的输入端分别连接至转换单元531、接收电路510的接 收校验单元511以及控制器模块100,第五数据选通器532的输出端连接至电调 控制单元533,电调控制单元533连接控制器模块100以及外设的电子调速器。 电调控制单元533用于根据舵机的通道信号以及控制器模块100传送的无人机 工作模式信号生成电机的通道数值并将其转换为PWM信号输出给电子调速器, 用以控制各个电机的运行。

下面以四旋翼无人机为例说明电机控制电路的控制原理:

四旋翼无人机是由固连在刚性十字交叉结构上的四个电机驱动的无人机, 无人机的运动通过控制四个电机的转速差进行控制,按照其旋翼布置方式可以 分为“X”模式和“+”模式。

若该四旋翼无人机为“X”模式,则PID控制模块400输出的电机控制数据 与四个电机的通道值的转换关系为:

M1=Thr-Pitch+Roll-YawM2=Thr+Pitch+Roll+YawM3=Thr+Pitch-Roll-YawM4=Thr-Pitch-Roll+Yaw

其中,M1~M4分别用于表示四个电机的通道数值,Thr用于表示油门系数, Ptich用于表示俯仰角,Roll用于表示翻滚角,Yaw用于表示航偏角。

若该四旋翼无人机为“+”模式,则PID控制模块400输出的电机控制数据 与四个电机的通道值的转换关系为:

M1=Thr-Pitch-YawM2=Thr-Roll+YawM3=Thr-Pitch-YawM4=Thr+Roll+Yaw

其中,M1~M4分别用于表示四个电机的通道数值,Thr用于表示油门系数, Ptich用于表示俯仰角,Roll用于表示翻滚角,Yaw用于表示航偏角。

在本发明的一个实施例中,如图8所示,气压计读取-补偿模块600通过SPI 接口外设的气压计连接,气压计用于实时测定无人机所处的环境高度的大气压, 通过气压计测定的大气压可以计算出无人机的相对飞行高度等,从而可以修正 无人机的导航数据,提高无人机的控制精度。

气压计读取-补偿模块600包括分别与控制器模块100电连接的初始化电路 610、数据读取电路630、第四数据选通器620、温度补偿电路640、AD系数归 一化电路650以及数制转换电路660。第四数据选通器620连接气压计,初始化 电路610、数据读取电路630均连接至第四数据选通器620,数据读取电路630、 温度补偿电路640、AD系数归一化电路650以及数制转换电路660依次电连接, 数制转换电路660用于输出气压值和温度值。

当系统复位后,控制器模块100首先启动初始化电路610,初始化电路610 通过SPI接口向气压计发送复位命令以及气压计参数读取命令。当初始化电路 610返回完成信号至控制器模块100时,控制器模块100控制数据读取电路630 重复的读取气压计的气压值和温度值。每次读取的气压值和温度值依次经过温 度补偿电路640、AD系数归一化电路650和数制转换电路660后输出。

下面结合图9说明该气压计读取-补偿模块的初始化以及数据读取过程:

初始化电路610首先通过SPI接口向气压计发送复位命令(Reset命令),之 后等待第一预设时间(可以为2.8ms)后,初始化电路610通过SPI接口向气压 计发送气压计参数读取命令,读取气压计的主要参数。本实施例中,气压计的 主要包括六个参数:压力灵敏度、压力抵消、温度压力灵敏系数、温度系数的 压力抵消、参考温度、温度系数的敏感度等等。当初始化电路610完成上述操 作,返回完成信号至控制器模块100。

然后,控制器模块100首先向气压计发送AD1转换命令,等待第二预设时 间(可以是8.22ms)后发送ADC读取命令,控制数据读取模块630读取气压值。 温度值的读取过程与气压值的读取过程类似,控制器模块100向气压计发送AD2 转换命令,等待第二预设时间(可以是8.22ms)后发送ADC读取命令,控制数 据读取模块630读取温度值。本实施例中,气压值的读取操作与温度值的读取 操作交替重复进行,以不断的读取新的气压值和温度值,实现对无人机飞行状 态的实时控制。

进一步地,气压计读取-补偿模块600、GPS模块700均连接至数据融合模 块800,数据融合模块800与遥控舵机模块500、姿态解算模块300电连接。GPS 模块700用于获取无人机的定位信息,数据融合模块800用于根据气压计读取- 补偿模块600输出的气压值、温度值,GPS模块700输出的定位信息以及姿态 解算模块300生成的飞行姿态数据生成电机控制数据,并将生成的电机控制数 据传送至遥控舵机模块500,以便更好的控制各个电机的运行,调整无人机的飞 行状态。

按键模块900与外设的控制按键和显示灯连接,用于接收外部输入的按键 信号。控制按键可以用于设定该飞行控制电路的工作模式,也可以通过设置复 位按键实现该飞行控制电路的复位。显示灯可以为LED显示灯等,用于指示无 人机的工作状态,如,红灯表示无人机工作在调试模式,黄灯表示无人机工作 在锁定模式,绿灯表示无人机工作在PID模式等等。

本发明的一个实施例中,该基于FPGA的无人机飞行控制电路通过UART 接口与上位机130通信连接,用于将该飞行控制电路的控制信息以及配置信息 等传送至上位机。

本发明的基于FPGA的无人机飞行控制电路,通过采用FPGA作为微控制 器,并设置有姿态解算模块实时获得无人机的飞行姿态数据,PID控制模块用于 根据飞行姿态数据和九轴测量模块传送的九轴数据计算生成电机控制数据,遥 控舵机模块根据电机控制数据生成控制信号,以实现对无人机的各个电机的并 行控制,同时,由于FPGA的并行处理速度远高于微控制器的串行处理速度, 因此,通过FPGA的控制平台,缩短了飞行控制电路的计算时间,从而提高了 电机控制的精确度和实时性,为无人机飞控芯片的生成奠定了基础。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域 的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和 改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附 权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号