多旋翼飞行器的控制方法、装置及多旋翼飞行器的制造方法

文档序号:10488021阅读:975来源:国知局
多旋翼飞行器的控制方法、装置及多旋翼飞行器的制造方法
【专利摘要】本发明公开了一种多旋翼飞行器的控制方法,根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理,确定所述飞行器的姿态角度;根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩阵;根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各个螺旋桨的转速。本发明还公开了一种多旋翼飞行器的控制装置及多旋翼飞行器。本发明实现了提高多旋翼飞行器飞行时的稳定性。
【专利说明】
多旋翼飞行器的控制方法、装置及多旋翼飞行器
技术领域
[0001] 本发明涉及飞行器控制技术领域,尤其涉及多旋翼飞行器的控制方法、装置及多 旋翼飞行器。
【背景技术】
[0002] 目前,多旋翼飞行器在摄影、救灾、测绘等领域得到了越来越广泛的应用。多旋翼 飞行器根据旋翼的数量分为四旋翼飞行器、六旋翼飞行器等,在飞行过程中依靠各个螺旋 桨提供动力,可以在由X轴、Y轴、Z轴建立的空间坐标系中进行前后、左右、上下六个方向的 飞行。当多旋翼飞行器沿X轴方向旋转时,称为pitch,此时飞行器与X轴构成的角度称为俯 仰角度,当多旋翼飞行器沿Z轴方向旋转时,称为roll,此时飞行器与Z轴构成的角度称为翻 滚角度。
[0003] 然而在飞行过程中,多旋翼飞行器容易受到外界干扰导致飞行不平稳,当多旋翼 飞行器飞行不平稳时会导致拍摄效果不佳、测绘不准确、降落时摔坏飞机等问题,因此提升 多旋翼飞行器飞行时的稳定性是一个亟需解决的问题。

【发明内容】

[0004] 本发明的主要目的在于提供一种多旋翼飞行器的控制方法、装置及多旋翼飞行 器,旨在实现提高多旋翼飞行器飞行时的稳定性的目的。
[0005] 为实现上述目的,本发明提供的一种多旋翼飞行器的控制方法包括以下步骤:
[0006] 根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理,确定所述飞行 器的姿态角度;
[0007] 根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩阵;
[0008] 根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各个 螺旋桨的转速。
[0009] 优选地,所述根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理, 确定所述飞行器的姿态角度包括:
[0010] 每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的飞行参数;
[0011] 利用所述姿态检测算法对所述飞行参数进行姿态角度计算,确定飞行器的一组姿 态角度,所述姿态角度包括俯仰角度和翻滚角度。
[0012] 优选地,所述根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩阵包 括:
[0013] 将连续的N组姿态角度分别输入预置的飞行状态矩阵模型,得到N个飞行状态矩 阵;
[0014] 所述飞行状态矩阵为:
[0015]
[0016] 兵甲Xi芏xm,yi芏yn艿t贝坟但,扑艿侧仰用度,卟艿翻滚用度,乜扑和卟为一组姿态角 度。
[0017] 优选地,所述根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞 行器的各个螺旋桨的转速包括:
[0018] 将所述N个飞行状态矩阵输入基于深度学习的飞行控制模型,得到所述飞行控制 模型输出的对应各个螺旋桨的转速的预测值;
[0019] 根据所述预测值控制对应的螺旋桨的转速。
[0020] 优选地,所述方法还包括:
[0021] 构建深度神经网络,所述深度神经网络的输入层为N个飞行状态矩阵,输出层为M 个代表对应的螺旋桨的转速的预测值,M为正整数且大于等于8,所述深度神经网络包含网 络权重值;
[0022] 获取用于在所述深度神经网络中进行训练的训练集;
[0023] 将所述训练集通过预置的神经网络训练算法进行训练,得到优化的网络权重值, 确认包含所述优化的网络权重值的深度神经网络为所述飞行控制模型。
[0024]此外,为实现上述目的,本发明还提供一种多旋翼飞行器的控制装置,所述装置包 括:
[0025] 确定模块,用于根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处 理,确定所述飞行器的姿态角度;
[0026] 运算模块,用于根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩 阵;
[0027] 控制模块,用于根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述 飞行器的各个螺旋桨的转速。
[0028]优选地,所述确定模块包括:
[0029] 获取单元,用于每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的 飞行参数;
[0030] 确定单元,用于利用所述姿态检测算法对所述飞行参数进行姿态角度计算,确定 飞行器的一组姿态角度,所述姿态角度包括俯仰角度和翻滚角度。
[0031] 优选地,所述运算模块具体用于,将连续的N组姿态角度分别输入预置的飞行状态 矩阵模型,得到N个飞行状态矩阵;
[0032]则所述控制模块包括:
[0033]运算单元,用于将所述N个飞行状态矩阵输入基于深度学习的飞行控制模型,得到 所述飞行控制模型输出的对应各个螺旋桨的转速的预测值;
[0034]控制单元,用于根据所述预测值控制对应的螺旋桨的转速。
[0035] 优选地,所述装置还包括:
[0036]深度神经网络构建模块,用于构建深度神经网络,所述深度神经网络的输入层为N 个飞行状态矩阵,输出层为M个代表对应的螺旋桨的转速的预测值,M为正整数且大于等于 8,所述深度神经网络包含网络权重值;
[0037] 训练集获取模块,用于获取用于在所述深度神经网络中进行训练的训练集;
[0038] 训练模块,用于将所述训练集通过预置的神经网络训练算法进行训练,得到优化 的网络权重值,确认包含所述优化的网络权重值的深度神经网络为所述飞行控制模型。
[0039] 本发明还提供一种多旋翼飞行器,其特征在于,所述多旋翼飞行器包括上述所述 的一种多旋翼飞行器的控制装置。
[0040] 本发明实施例根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理, 确定所述飞行器的姿态角度;根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态 矩阵;根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各个螺旋 桨的转速。通过利用代表飞行器飞行状态的飞行状态矩阵和基于深度学习的飞行控制模型 控制螺旋桨的转速,控制精度更高,从而实现了提高多旋翼飞行器飞行时的稳定性的目的, 同时,由于飞行状态矩阵代表飞行器的飞行状态,因此即使飞行器在丢失一个浆的情况下, 也能通过控制其他浆的转速,使飞行器整体可以平稳着落。
【附图说明】
[0041] 图1为本发明多旋翼飞行器的控制方法第一实施例的流程示意图;
[0042] 图2为本发明多旋翼飞行器的控制方法第二实施例的流程示意图;
[0043]图3为本发明多旋翼飞行器的控制方法第三实施例的流程示意图;
[0044] 图4为本发明多旋翼飞行器的控制装置第一实施例的功能模块结构示意图;
[0045] 图5为本发明多旋翼飞行器的控制装置第二实施例的功能模块结构示意图;
[0046] 图6为本发明多旋翼飞行器的控制装置第三实施例的功能模块结构示意图。
[0047] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0048]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0049] 本发明提供一种多旋翼飞行器的控制方法。参照图1,在多旋翼飞行器的控制方法 第一实施例中,该方法包括:
[0050] 步骤S10,根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理,确定 所述飞行器的姿态角度;
[0051] 步骤S20,根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩阵;
[0052]步骤S30,根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行 器的各个螺旋桨的转速。
[0053] 本发明提供的多旋翼飞行器的控制方法用于控制多旋翼飞行器飞行时的稳定性, 主要是在pitch和roll方向的稳定性。通常多旋翼飞行器的各个螺旋桨是设置于电机上,多 旋翼飞行器通过改变电机的转速使得螺旋桨以一定转速旋转,从而调整多旋翼飞行器的飞 行姿态。以下将多旋翼飞行器简称为飞行器。
[0054] 本实施例中上述姿态检测算法是用于检测飞行器飞行姿态的算法,飞行姿态是指 飞行器的三轴(X轴、Y轴、Z轴)在空中相对于某条参考线或某个参考平面的状态。具体的姿 态检测算法可以根据需要进行选择,常用的姿态检测算法有卡尔曼滤波、互补滤波等。上述 飞行器的飞行参数是指飞行器飞行时的角速度、加速度等值,当使用姿态检测算法时通常 需要结合传感器检测到的飞行参数来计算,从而得到飞行器的姿态角度。
[0055] 在获取到姿态角度后,结合预置的飞行状态矩阵模型得到飞行状态矩阵,该飞行 状态矩阵是该飞行器以该姿态角度飞行时的飞行状态矩阵,所述飞行状态矩阵模型是预置 的用于代表飞行器的飞行状态的一个矩阵模型。
[0056] 然后根据飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各个 螺旋桨的转速。上述飞行控制模型是基于深度学习的数学模型。深度学习是通过构建具有 很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或 预测的准确性。基于深度学习的飞行控制模型使得飞行器能够通过大量的数据训练学习后 对飞行器的飞行进行控制。
[0057] 本发明实施例通过根据预置的姿态检测算法对获取到的飞行器的飞行参数进行 处理,确定所述飞行器的姿态角度;根据所述姿态角度和预置的飞行状态矩阵模型得到飞 行状态矩阵;根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各 个螺旋桨的转速。通过利用代表飞行器飞行状态的飞行状态矩阵和基于深度学习的飞行控 制模型控制浆的转速对飞行器的飞行进行控制,控制精度更高,从而实现了提高多旋翼飞 行器飞行时的稳定性,同时,由于飞行状态矩阵代表飞行器的飞行状态,因此即使飞行器在 丢失一个浆的情况下,也能通过控制其他浆的转速,使飞行器整体可以平稳着落。
[0058]参照图2,基于本发明多旋翼飞行器的控制方法的第一实施例,提出了本发明多旋 翼飞行器的控制方法第二实施例,本实施例中,本发明提出的多旋翼飞行器的控制方法包 括:
[0059] 步骤S110,每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的飞行 参数;
[0060] 步骤S120,利用所述姿态检测算法对所述飞行参数进行姿态角度计算,确定飞行 器的一组姿态角度,所述姿态角度包括俯仰角度和翻滚角度;
[0061] 步骤S130,将连续的N组姿态角度分别输入预置的飞行状态矩阵模型,得到N个飞 行状态矩阵;
[0062]步骤S140,将所述N个飞行状态矩阵输入基于深度学习的飞行控制模型,得到所述 飞行控制模型输出的对应各个螺旋桨的转速的预测值;
[0063]步骤S150,根据所述预测值控制对应的螺旋桨的转速。
[0064] 上述步骤3110和步骤3120为步骤310的细化步骤,上述步骤3130为步骤320的细化 步骤,上述步骤S140和步骤S150为步骤S30的细化步骤。
[0065] 本实施例中上述预置的飞行检测装置为飞行器中预置的用于检测飞行器状态的 装置,例如预置的陀螺仪、加速度传感器、倾角传感器等。其中陀螺仪用于检测飞行器飞行 时的角速度,加速度传感器用于检测飞行器飞行时的加速度,倾角传感器用于检测相对于 水平面的倾角变化。上述飞行参数就是陀螺仪、加速度传感器等装置检测到的飞行器飞行 时的角速度、加速度等参数。具体需要获取哪些飞行参数根据姿态检测算法需要哪些参数 而定。
[0066] 每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的飞行参数,其中 预置时间可以根据需要进行设定,例如当预置时间设置为60ms时,则每间隔60ms获取一次 飞行器的飞行参数。由于飞行检测装置在飞行时是持续的进行检测,在这里只需要获取特 定时间点时检测到的飞行参数。
[0067] 当获取到飞行器的飞行参数后,利用姿态检测算法对飞行参数进行姿态角度计 算,确定飞行器的一组姿态角度,是指获取到的飞行参数输入姿态检测算法中进行运算,从 而得到姿态角度。具体的,需要获取的姿态角度为俯仰角度和翻滚角度。飞行器的俯仰角度 为飞行器饶X轴旋转时与X轴之间的角度,飞行器的翻滚角度为飞行器饶Z轴旋转时与Z轴之 间的角度。
[0068] 上述获取连续的N组姿态角度是为了获取飞行器飞行时连续的姿态。例如可以根 据时间来获取最近获取的N组姿态角度。在N组姿态角度输入预置的飞行状态矩阵模型后, 得到N个飞行状态矩阵,则N个飞行状态矩阵代表了飞行器在一段时间的状态。具体的是获 取最新的连续N组姿态角度,用于控制下一时刻浆的转速。当飞行器飞行时不同时刻有不同 的状态,因此得到多个飞行状态矩阵使飞行器的飞行状态更精确。
[0069] 例如,获取与当前时间最近的7组姿态角度,将7组姿态角度分别输入飞行状态矩 阵模型,则通过计算可以得到7个飞行状态矩阵,这7个飞行状态矩阵代表了飞行器最新的 连续7个飞行状态。
[0070] 可以理解的是,这里也可以获取8组姿态角度,来得到8个飞行状态矩阵,具体的获 取几组姿态角度来得到几个飞行状态矩阵可以根据需要进行选择,得到的飞行状态矩阵 为:
[0071;
[0072]其中,Xi至xm,yi至yn为预设值,代表所述飞行器在X轴与y轴方向的坐标;θρ为俯仰 角度,Qr为翻滚角度,且Θ[^ΡΘΚ为一组姿态角度。幻至&1及71至7 11的具体值的获取方式是,以 飞行器的中心为原点,根据矩阵的行数为η,列数为m,将飞行器在X轴方向分为η个坐标点,Y 轴方向分为m个坐标点,取X轴方向的坐标点的值为^至^,取Y轴方向的坐标点的值为 71至 yn,其中,11至心和71至7 11的具体数值根据111和11的取值以及飞行器的实际尺寸来决定。
[0073]例如,可以将矩阵设置为9*9的矩阵,则某一个时刻飞行器的状态矩阵为:
[0074]
[0075] 其中,X1Sx9分别为以飞行器的中心为原点在X轴方向平均分配的9个坐标点,71至 y 9分别为以飞行器的中心为原点在Y轴方向平均分配的9个坐标点,ΘΡ此时刻的俯仰角度,0R 为此时刻的翻滚角度。
[0076]上述飞行控制模型是基于深度学习的模型,基于深度学习的模型通常有输入层、 隐藏层和输出层。在这里将N个飞行状态矩阵输入飞行控制模型,即将N个飞行状态矩阵作 为飞行控制模型输入层的数据输入。
[0077]当N个飞行状态矩阵输入飞行控制模型后,得到飞行控制模型输出的对应各个螺 旋桨的转速的预测值。具体的,将当飞行控制模型接收到N个飞行状态矩阵后,会根据飞行 控制模型包含的网络权重值寻找路径得到对应的各个螺旋桨的转速的预测值。飞行控制模 型包含的网络权重值是根据训练得到的,随着训练,网络权重值可以不断优化更新,在飞行 控制模型的输出层有预先定义的输出节点,输出节点包含的值代表各个螺旋桨的转速的预 测值,根据网络权重值找到对应的输出节点后,输出该节点代表的螺旋桨的转速的预测值。 [0078]例如,飞行控制模型的输入层为7个飞行状态矩阵时,获取最新的7组姿态角度,然 后通过飞行状态矩阵模型得到7个飞行状态矩阵,将7个飞行状态矩阵输入预置的飞行控制 模型,根据输入的7个飞行状态矩阵和飞行控制模型包含的网络权重值,自动选择路径,输 出对应各个螺旋桨的转速的预测值。
[0079]当得到各个螺旋桨的转速的预测值以后,再根据各个螺旋桨的转速的预测值控制 对应的螺旋桨的转速。具体的,得到转速的预测值后输出指令,该指令代表对应螺旋桨的转 速的预测值。例如,将四旋翼飞行器的螺旋桨分别确认为第一螺旋桨、第二螺旋桨、第三螺 旋桨和第四螺旋桨,若得到的转速动作为第一螺旋桨转速增加,则输出第一螺旋桨转速增 加的指令,将该指令传送给电子调速器,电子调速器根据接收到的指令控制浆的转速在基 准转速的基础上增加预置值。例如,预设的基准转速为l〇〇r/m,每次改变的预置值为5r/ min,当接收到第一螺旋桨转速增加的指令时,电子调速器根据接收到的指令控制第一螺旋 桨转速变为l〇5r/min。也可以取飞行器的螺旋桨的当前转速为基准转速,在此基础上进行 转速的增减变化。具体的控制转速如何增加可以根据需要进行设定。
[0080] 本发明实施例通过每隔预置时间获取飞行监测装置检测到的飞行器的飞行参数, 然后将飞行参数利用姿态检测算法进行计算,确定飞行器的一组姿态角度,从而得到多个 时间点的飞行姿态角度。通过获取连续的N组姿态角度,将N组姿态角度分别输入飞行状态 矩阵模型,从而得到N个飞行状态矩阵,N个飞行状态矩阵代表了飞行器飞行时连续的飞行 状态,将N个代表飞行器飞行状态的飞行状态矩阵输入基于深度学习的飞行控制模型,得到 对应各个螺旋桨的转速的预测值,通过根据预测值控制飞行器螺旋桨的转速,从而控制飞 行器飞行时的稳定性,使得即使飞行器在丢失一个浆的情况下,也能通过控制其他浆的转 速,使飞行器整体可以平稳着落。
[0081] 参照图3,基于本发明多旋翼飞行器的控制方法的第一实施例,提出了本发明多旋 翼飞行器的控制方法第三实施例,本实施例中,本发明提出的多旋翼飞行器的控制方法还 包括:
[0082]步骤S40,构建深度神经网络,所述深度神经网络的输入层为N个飞行状态矩阵,输 出层为M个对应的螺旋桨的转速的预测值,M为正整数且大于等于8,所述深度神经网络包含 网络权重值;
[0083] 步骤S50,获取用于在所述深度神经网络中进行训练的训练集;
[0084] 步骤S60,将所述训练集通过预置的神经网络训练算法进行训练,得到优化的网络 权重值,确认包含所述优化的网络权重值的深度神经网络为所述飞行控制模型。
[0085] 本实施例介绍了通过深度学习创建飞行控制模型的过程,该过程可以包含在步骤 SlO之前,也可以在步骤S30以后再次优化飞行控制模型,即:每执行一次操作,即是对深度 神经网络的一次训练,图3所示为在步骤SlO之前创建飞行控制模型的示例图,由于训练过 程在飞行时是连续的,因此其实也可以看成是上一个训练的结尾承接下一个训练的开始, 即步骤S40-S60为上一个训练的步骤,S10-S30为本次训练的步骤。
[0086] 本实施例中构建的深度神经网络(Deep Neural Networks,DNN)用于通过训练得 到网络权重值,使得输入不同状态序列的飞行状态矩阵时,根据网络权重值得到对应的预 测值,从而根据输出节点代表的预测动作控制飞行器的螺旋桨的转速。上述深度神经网络 包含输入层、隐藏层、输出层。
[0087] 具体地,输入层为N个飞行状态矩阵,该飞行状态矩阵也是通过前述飞行状态矩阵 模型得到的,代表飞行器在飞行时的状态。输出层为M个代表对应的螺旋桨的转速的预测 值,M为正整数且大于等于8,一般的,M为偶数,以四旋翼飞行器为例,四旋翼飞行器有4个螺 旋桨,每个螺旋桨的转速都对应两种动作,分别是转速增加、转速减小,构建的网络的输出 层设置至少8个节点代表每个螺旋桨的一种转速状态,同时,还可以增加几个预测值不预先 设置预测值,或者是预先设置预测值作为备用,具体可以根据需要进行选择。例如,定义输 出层有10个预测值,其中8个预测值分别代表第一螺旋桨的转速增加、第一螺旋桨的转速减 小、第二螺旋桨的转速增加、第二螺旋桨的转速减小、第三螺旋桨的转速增加、第四螺旋桨 的转速减小,其他两个预测值没有任何预测值。
[0088] 同时,获取用于在所述深度神经网络中进行训练的训练集,该训练集的数据可以 通过实验得到,可以通过现有的平台随机产生海量符合要求的数据等方式得到。该训练集 的数据用于输入构建的深度神经网络。
[0089] 当获取到训练集以后,将训练集通过预置的神经网络训练算法进行训练,例如DNN 算法,训练的目的是为了获取深度神经网络的网络权重值。在实现时,以四旋翼飞行器为 例,可以定义两个回报分数函数,第一回报分数函数包含飞行器在pitch方向的第一姿态角 度与第二姿态角度的差值,第二回报分数函数包含飞行器在roll方向的第三姿态角度与第 四姿态角度的差值,当第二姿态角度与第一姿态角度差值最小时,第一回报分数函数值最 大,当第四姿态角度与第三姿态角度最小时,第二回报分数函数值最大。也可以设置一个回 报分数函数,同时包括第第一姿态角度与第二姿态角度的差值,第三姿态角度的与第四姿 态角度的差值,当第二姿态角度与第一姿态角度最小且第四姿态角度与第三姿态角度最小 时,回报分数函数最大。
[0090] 其中,第二姿态角度是第一姿态角度调整浆的转速以后的姿态角度,当第二姿态 角度与第一姿态角度最小时,表明姿态调整幅度不大,表明在pitch方向飞行器的变化不 大,即飞行在pitch方向保持稳定;第四姿态角度是第三姿态角度调整浆的转速以后的姿态 角度,当第四姿态角度与第三姿态角度最小时,表明姿态调整幅度不大,表明在roll方向飞 行器的变化不大,即飞行在roll方向保持稳定。在训练时通过执行回报分数函数最大的输 出而不断调整深度神经网络中的网络权重值,最终得到的优化的网络权重值,确认包含优 化的网络权重值的深度神经网络为飞行控制模型。
[0091] 当飞行器飞行时,通过向飞行控制模型输入不同状态的飞行状态矩阵,然后根据 优化的网络权重值,得到输出层对应的预测值,即得到对应浆的转速的预测值。例如,若为 四旋翼飞行器,且飞行器的四个浆都在运转,则此时得到对应于四个浆各自的转速的预测 值。若为四旋翼飞行器,但此时丢失了一个浆只有三个浆在运转,根据输入的飞行器的姿态 矩阵,得到对应于三个正在运转的浆的各自的转速的预测值。
[0092] 本实施例通过构建深度神经网络、获取用于在该深度神经网络中进行训练的训练 集,然后将训练集通过预置的神经网络算法进行训练得到优化的网络权重值,确认包含优 化的网络权重值的深度神经网络为飞行控制模型,使得在飞行器飞行时,可以根据输入的 飞行状态矩阵和该飞行控制模型得到对应的螺旋桨的转速的预测值,从而通过控制螺旋桨 的转速保证飞行器飞行时的稳定性。
[0093]本发明还提供一种多旋翼飞行器的控制装置,参照图4,提供了本发明多旋翼飞行 器的控制装置第一实施例,该实施例中,多旋翼飞行器的控制装置包括:
[0094]确定模块10,用于根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处 理,确定所述飞行器的姿态角度;
[0095]运算模块20,用于根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩 阵;
[0096]控制模块30,用于根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所 述飞行器的各个螺旋桨的转速。
[0097] 本发明提供的多旋翼飞行器的控制装置用于控制多旋翼飞行器飞行时的稳定性, 主要是在pitch和roll方向的稳定性。通常多旋翼飞行器的多个螺旋桨是设置于电机上,多 旋翼飞行器通过改变电机的转速使得螺旋桨以一定转速旋转,从而调整多旋翼飞行器的飞 行姿态。以下将多旋翼飞行器简称为飞行器。
[0098] 本实施例中上述姿态检测算法是用于检测飞行器飞行姿态的算法,飞行姿态是指 飞行器的三轴(X轴、Y轴、Z轴)在空中相对于某条参考线或某个参考平面的状态。具体的姿 态检测算法可以根据需要进行选择,常用的姿态检测算法有卡尔曼滤波、互补滤波等。上述 飞行器的飞行参数是指飞行器飞行时的角速度、加速度等值,当使用姿态检测算法时通常 需要结合传感器检测到的飞行参数来计算,从而得到飞行器的姿态角度。
[0099] 在获取到姿态角度后,运算模块20结合预置的飞行状态矩阵模型得到飞行状态矩 阵,该飞行状态矩阵是该飞行器以该姿态角度飞行时的飞行状态矩阵,所述飞行状态矩阵 模型是预置的用于代表飞行器的飞行状态的一个矩阵模型。
[0100] 控制模块30根据飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器 的各个螺旋桨的转速。上述飞行控制模型是基于深度学习的数学模型。深度学习通过构建 具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分 类或预测的准确性。基于深度学习的飞行控制模型使得飞行器能够通过大量的数据训练学 习后对飞行器的飞行进行控制。
[0101] 本发明实施例通过根据预置的姿态检测算法对获取到的飞行器的飞行参数进行 处理,确定所述飞行器的姿态角度;根据所述姿态角度和预置的飞行状态矩阵模型得到飞 行状态矩阵;根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各 个螺旋桨的转速。通过利用代表飞行器飞行状态的飞行状态矩阵和基于深度学习的飞行控 制模型控制浆的转速对飞行器的飞行进行控制,控制精度更高,从而实现了提高多旋翼飞 行器飞行时的稳定性,同时,由于飞行状态矩阵代表飞行器的飞行状态,因此即使飞行器在 丢失一个浆的情况下,也能通过控制其他浆的转速,使飞行器整体可以平稳着落。
[0102] 参照图5,基于本发明多旋翼飞行器的控制装置的第二实施例,提出了本发明多旋 翼飞行器的控制装置第二实施例。
[0103] 本实施例包括多旋翼飞行器的控制装置的第一实施例中的确定模块10、运算模块 20、控制模块30,对于确定模块10、运算模块20、控制模块30已在多旋翼飞行器的控制装置 的第一实施例进行了描述,此处不再赘述。
[0104] 其中,确走板块10包括:
[0105] 获取单元110,用于每间隔预置时间获取预置的飞行检测装置检测到的所述飞行 器的飞行参数;
[0106] 确定单元120,用于利用所述姿态检测算法对所述飞行参数进行姿态角度计算,确 定飞行器的一组姿态角度,所述姿态角度包括俯仰角度和翻滚角度;
[0107] 运算模块20具体用于:将连续的N组姿态角度分别输入预置的飞行状态矩阵模型, 得到N个飞行状态矩阵;
[0108] 控制模块30包括:
[0109] 运算单元310,用于将所述N个飞行状态矩阵输入基于深度学习的飞行控制模型, 得到所述飞行控制模型输出的对应各个螺旋桨的转速的预测值;
[0110] 控制单元320,用于根据预测值控制对应的螺旋桨的转速。
[0111] 本实施例中上述预置的飞行检测装置为飞行器中预置的用于检测飞行器状态的 装置,例如预置的陀螺仪、加速度传感器、倾角传感器等。其中陀螺仪用于检测飞行器飞行 时的角速度,加速度传感器用于检测飞行器飞行时的加速度,倾角传感器用于检测相对于 水平面的倾角变化。上述飞行参数就是陀螺仪、加速度传感器等装置检测到的飞行器飞行 时的角速度、加速度等参数。具体需要获取哪些飞行参数根据姿态检测算法需要哪些参数 而定。
[0112] 获取单元110每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的飞 行参数,其中预置时间可以根据需要进行设定,例如当预置时间设置为60ms时,则每间隔 60ms获取一次飞行器的飞行参数。由于飞行检测装置在飞行时是持续的进行检测,在这里 只需要获取特定时间点时检测到的飞行参数。
[0113] 当获取到飞行器的飞行参数后,确定单元120利用姿态检测算法对飞行参数进行 姿态角度计算,确定飞行器的一组姿态角度,是指获取到的飞行参数输入姿态检测算法中 进行运算,从而得到姿态角度。具体的,需要获取的姿态角度为俯仰角度和翻滚角度。飞行 器的俯仰角度为飞行器饶X轴旋转时与X轴之间的角度,飞行器的翻滚角度为飞行器饶Z轴 旋转时与Z轴之间的角度。
[0114] 上述获取连续的N组姿态角是为了获取飞行器飞行时连续的姿态。例如可以根据 时间来获取最近获取的N组姿态角度。运算模块20具体用于将N组姿态角度输入预置的飞行 状态矩阵模型进行运算,得到N个飞行状态矩阵,则N个飞行状态矩阵代表了飞行器在一段 时间的状态。具体的是获取最新的连续N组姿态角度,用于控制下一时刻浆的转速。当飞行 器飞行时不同时刻有不同的状态,因此得到多个飞行状态矩阵使飞行器的飞行状态更精 确。
[0115] 例如,获取与当前时间最近的7组姿态角度,将7组姿态角度分别输入飞行状态矩 阵模型,则通过计算可以得到7个飞行状态矩阵,这7个飞行状态矩阵代表了飞行器最新的 连续7个飞行状态。
[0116] 可以理解的是,这里也可以获取8组姿态角度,来得到8个飞行状态矩阵,具体的获 取几组姿态角度来得到几个飞行状态矩阵可以根据需要进行选择,得到的飞行状态矩阵 为:
[0117]
[0118]其中,Xi至Xm,yi至yn为预设值,代表所述飞行器在X轴与y轴方向的坐标;θρ为俯仰 角度,Qr为翻滚角度,且Θ[^ΡΘΚ为一组姿态角度。幻至&1及71至7 11的具体值的获取方式是,以 飞行器的中心为原点,根据矩阵的行数为η,列数为m,将飞行器在X轴方向分为η个坐标点,Y 轴方向分为m个坐标点,取X轴方向的坐标点的值为^至^,取Y轴方向的坐标点的值为 71至 yn,其中,11至心和71至7 11的具体数值根据111和11的取值以及飞行器的实际尺寸来决定。
[0119] 例如,可以将矩阵设置为9*9的矩阵,则某一个时刻飞行器的状态矩阵为:
[0120]
[0121] 其中,^至19分别为以飞行器的中心为原点在X轴方向平均分配的9个坐标点,71至 y 9分别为以飞行器的中心为原点在Y轴方向平均分配的9个坐标点,ΘΡ此时刻的俯仰角度,0R 为此时刻的翻滚角度。
[0122] 上述飞行控制模型是基于深度学习的模型,基于深度学习的模型通常有输入层、 隐藏层和输出层。在这里将N个飞行状态矩阵输入飞行控制模型,即将N个飞行状态矩阵作 为飞行控制模型输入层的数据输入。
[0123] 运算单元310将N个飞行状态矩阵输入至飞行控制模型后进行运算,得到飞行控制 模型输出的对应各个螺旋桨的转速的预测值。具体的,将当飞行控制模型接收到N个飞行状 态矩阵后,会根据飞行控制模型包含的网络权重值寻找路径得到对应的各个螺旋桨的转速 的预测值。飞行控制模型包含的网络权重值是根据训练得到的,随着训练,网络权重值可以 不断优化更新,在飞行控制模型的输出层有预先定义的输出节点,输出节点包含的值代表 各个螺旋桨的转速的预测值,根据网络权重值找到对应的输出节点后,输出该节点代表的 螺旋桨的转速的预测值。
[0124] 例如,飞行控制模型的输入层为7个飞行状态矩阵时,获取最新的7组姿态角度,然 后通过飞行状态矩阵模型得到7个飞行状态矩阵,将7个飞行状态矩阵输入预置的飞行控制 模型,根据输入的7个飞行状态矩阵和飞行控制模型包含的网络权重值,自动选择路径,输 出对应各个螺旋桨的转速的预测值。
[0125] 当得到各个螺旋桨的转速的预测值以后,控制单元320根据各个螺旋桨的转速的 预测值控制对应的螺旋桨的转速。具体的,得到转速的预测值后输出指令,该指令代表对应 螺旋桨的转速的预测值。例如,将四旋翼飞行器的螺旋桨分别确认为第一螺旋桨、第二螺旋 桨、第三螺旋桨和第四螺旋桨,若得到的转速动作为第一螺旋桨转速增加,则输出第一螺旋 桨转速增加的指令,将该指令传送给电子调速器,电子调速器根据接收到的指令控制浆的 转速在基准转速的基础上增加预置值。例如,预设的基准转速为l〇〇r/m,每次改变的预置值 为5r/min,当接收到第一螺旋桨转速增加的指令时,电子调速器根据接收到的指令控制第 一螺旋桨转速变为l〇5r/min。也可以取飞行器的螺旋桨的当前转速为基准转速,在此基础 上进行转速的增减变化。具体的控制转速如何增加可以根据需要进行设定。
[0126] 本发明实施例通过每隔预置时间获取飞行监测装置检测到的飞行器的飞行参数, 然后将飞行参数利用姿态检测算法进行计算,确定飞行器的一组姿态角度,从而得到多个 时间点的飞行姿态角度。通过获取连续的N组姿态角度,将N组姿态角度分别输入飞行状态 矩阵模型,从而得到N个飞行状态矩阵,N个飞行状态矩阵代表了飞行器飞行时连续的飞行 状态,将N个代表飞行器飞行状态的飞行状态矩阵输入基于深度学习的飞行控制模型,得到 对应各个螺旋桨的转速的预测值,通过根据预测值控制飞行器螺旋桨的转速,从而控制飞 行器飞行时的稳定性,使得即使飞行器在丢失一个浆的情况下,也能通过控制其他浆的转 速,使飞行器整体可以平稳着落。
[0127] 参照图6,基于本发明多旋翼飞行器的控制装置的第一实施例,提出了本发明多旋 翼飞行器的控制装置第三实施例,本实施例中,本发明提出的多旋翼飞行器的控制装置还 包括:
[0128] 深度神经网络构建模块40,用于构建深度神经网络,所述深度神经网络的输入层 为N个飞行状态矩阵,输出层为M个代表对应的螺旋桨的转速的预测值,M为正整数且大于等 于8,所述深度神经网络包含网络权重值;
[0129] 训练集获取模块50,用于获取用于在所述深度神经网络中进行训练的训练集;
[0130] 训练模块60,用于将所述训练集通过预置的神经网络训练算法进行训练,得到优 化的网络权重值,确认包含所述优化的网络权重值的深度神经网络为所述飞行控制模型。 [0131]本实施例中深度神经网络构建模块40、训练集获取模块50、训练模块60用于,基于 深度学习创建飞行控制模型。创建飞行控制模型可以在确定模块10确定飞行器的姿态角度 之前,也可以在控制模块30控制飞行器的各个螺旋桨的转速之后,即:每执行一次操作,即 是对深度神经网络的一次训练,由于训练过程在飞行时是连续的,因此其实也可以看成是 上一个训练的结尾承接下一个训练的开始。
[0132] 本实施例中深度神经网络构建模块40构建的深度神经网络(Deep Neural NetW〇rkS,DNN)用于通过训练得到网络权重值,使得输入不同状态序列的飞行状态矩阵时, 根据网络权重值得到对应的预测值,从而根据输出节点代表的预测动作控制飞行器的螺旋 桨的转速。上述深度神经网络包含输入层、隐藏层、输出层。
[0133] 具体地,输入层为N个飞行状态矩阵,该飞行状态矩阵也是通过前述飞行状态矩阵 模型得到的,代表飞行器在飞行时的状态。输出层为M个代表对应的螺旋桨的转速的预测 值,M为正整数且大于等于8,一般的,M为偶数,以四旋翼飞行器为例,四旋翼飞行器有4个螺 旋桨,每个螺旋桨的转速都对应两种动作,分别是转速增加、转速减小,构建的网络的输出 层设置至少8个节点代表每个螺旋桨的一种转速状态,同时,还可以增加几个预测值不预先 设置预测值,或者是预先设置预测值作为备用,具体可以根据需要进行选择。例如,定义输 出层有10个预测值,其中8个预测值分别代表第一螺旋桨的转速增加、第一螺旋桨的转速减 小、第二螺旋桨的转速增加、第二螺旋桨的转速减小、第三螺旋桨的转速增加、第四螺旋桨 的转速减小,其他两个预测值没有任何预测值。
[0134] 同时,训练集获取模块50获取用于在所述深度神经网络中进行训练的训练集,该 训练集的数据可以通过实验得到,可以通过现有的平台随机产生海量符合要求的数据等方 式得到。该训练集的数据用于输入构建的深度神经网络。
[0135] 当获取到训练集以后,训练模块60将训练集通过预置的神经网络训练算法进行训 练,例如DNN算法,训练的目的是为了获取深度神经网络的网络权重值。在实现时,以四旋翼 飞行器为例,可以定义两个回报分数函数,第一回报分数函数包含飞行器在pitch方向的第 一姿态角度与第二姿态角度的差值,第二回报分数函数飞行器在roll方向的第三姿态角度 与第四姿态角度的差值,当第二姿态角度与第一姿态角度差值最小时,第一回报分数函数 值最大,当第四姿态角度与第三姿态角度最小时,第二回报分数函数值最大。也可以设置一 个回报分数函数,同时包括第第一姿态角度与第二姿态角度的差值,第三姿态角度的与第 四姿态角度的差值,当第二姿态角度与第一姿态角度最小且第四姿态角度与第三姿态角度 最小时,回报分数函数最大。
[0136] 其中,第二姿态角度是第一姿态角度调整浆的转速以后的姿态角度,当第二姿态 角度与第一姿态角度最小时,表明姿态调整幅度不大,表明在pitch方向飞行器的变化不 大,即飞行在pitch方向保持稳定;第四姿态角度是第三姿态角度调整浆的转速以后的姿态 角度,当第四姿态角度与第三姿态角度最小时,表明姿态调整幅度不大,表明在roll方向飞 行器的变化不大,即飞行在roll方向保持稳定。在训练时通过执行回报分数函数最大的输 出而不断调整深度神经网络中的网络权重值,最终得到的优化的网络权重值,确认包含优 化的网络权重值的深度神经网络为飞行控制模型。
[0137] 当飞行器飞行时,通过向飞行控制模型输入不同状态的飞行状态矩阵,然后根据 优化的网络权重值,得到输出层对应的预测值,即得到对应浆的转速的预测值。例如,若为 四旋翼飞行器,且飞行器的四个浆都在运转,则此时得到对应于四个浆各自的转速的预测 值。若为四旋翼飞行器,但此时丢失了一个浆只有三个浆在运转,根据输入的飞行器的姿态 矩阵,得到对应于三个正在运转的浆的各自的转速的预测值。
[0138] 本实施例通过构建深度神经网络、获取用于在该深度神经网络中进行训练的训练 集,然后将训练集通过预置的神经网络算法进行训练得到优化的网络权重值,确认包含优 化的网络权重值的深度神经网络为飞行控制模型,使得在飞行器飞行时,可以根据输入的 飞行状态矩阵和该飞行控制模型得到对应的螺旋桨的转速的预测值,从而通过控制螺旋桨 的转速保证飞行器飞行时的稳定性。
[0139] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发 明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技 术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1. 一种多旋翼飞行器的控制方法,其特征在于,所述方法包括W下步骤: 根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理,确定所述飞行器的 姿态角度; 根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩阵; 根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行器的各个螺旋 奖的转速。2. 如权利要求1所述的多旋翼飞行器的控制方法,其特征在于,所述根据预置的姿态检 测算法对获取到的飞行器的飞行参数进行处理,确定所述飞行器的姿态角度包括: 每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的飞行参数; 利用所述姿态检测算法对所述飞行参数进行姿态角度计算,确定飞行器的一组姿态角 度,所述姿态角度包括俯仰角度和翻滚角度。3. 如权利要求2所述的多旋翼飞行器的控制方法,其特征在于,所述根据所述姿态角度 和预置的飞行状态矩阵模型得到飞行状态矩阵包括: 将连续的N组姿态角度分别输入预置的飞行状态矩阵模型,得到N个飞行状态矩阵; 所述飞行状态矩阵为:其中XI至xm,y适yn为预设值,θρ为俯仰角度,0R为翻滚角度,且θρ和0R为一组姿态角度。4. 如权利要求3所述的多旋翼飞行器的控制方法,其特征在于,所述根据所述飞行状态 矩阵和基于深度学习的飞行控制模型控制所述飞行器的各个螺旋奖的转速包括: 将所述Ν个飞行状态矩阵输入基于深度学习的飞行控制模型,得到所述飞行控制模型 输出的对应各个螺旋奖的转速的预测值; 根据所述预测值控制对应的螺旋奖的转速。5. 如权利要求1至4任一项所述的多旋翼飞行器的控制方法,其特征在于,所述方法还 包括: 构建深度神经网络,所述深度神经网络的输入层为Ν个飞行状态矩阵,输出层为Μ个代 表对应的螺旋奖的转速的预测值,Μ为正整数且大于等于8,所述深度神经网络包含网络权 重值; 获取用于在所述深度神经网络中进行训练的训练集; 将所述训练集通过预置的神经网络训练算法进行训练,得到优化的网络权重值,确认 包含所述优化的网络权重值的深度神经网络为所述飞行控制模型。6. -种多旋翼飞行器的控制装置,其特征在于,所述装置包括: 确定模块,用于根据预置的姿态检测算法对获取到的飞行器的飞行参数进行处理,确 定所述飞行器的姿态角度; 运算模块,用于根据所述姿态角度和预置的飞行状态矩阵模型得到飞行状态矩阵; 控制模块,用于根据所述飞行状态矩阵和基于深度学习的飞行控制模型控制所述飞行 器的各个螺旋奖的转速。7. 如权利要求6所述的多旋翼飞行器的控制装置,其特征在于,所述确定模块包括: 获取单元,用于每间隔预置时间获取预置的飞行检测装置检测到的所述飞行器的飞行 参数; 确定单元,用于利用所述姿态检测算法对所述飞行参数进行姿态角度计算,确定飞行 器的一组姿态角度,所述姿态角度包括俯仰角度和翻滚角度。8. 如权利要求7所述的多旋翼飞行器的控制装置,其特征在于,所述运算模块具体用 于,将连续的腺且姿态角度分别输入预置的飞行状态矩阵模型,得到N个飞行状态矩阵; 则所述控制模块包括: 运算单元,用于将所述N个飞行状态矩阵输入基于深度学习的飞行控制模型,得到所述 飞行控制模型输出的对应各个螺旋奖的转速的预测值; 控制单元,用于根据所述预测值控制对应的螺旋奖的转速。9. 如权利要求6至8任一项所述的多旋翼飞行器的控制装置,其特征在于,所述装置还 包括: 深度神经网络构建模块,用于构建深度神经网络,所述深度神经网络的输入层为N个飞 行状态矩阵,输出层为Μ个代表对应的螺旋奖的转速的预测值,Μ为正整数且大于等于8,所 述深度神经网络包含网络权重值; 训练集获取模块,用于获取用于在所述深度神经网络中进行训练的训练集; 训练模块,用于将所述训练集通过预置的神经网络训练算法进行训练,得到优化的网 络权重值,确认包含所述优化的网络权重值的深度神经网络为所述飞行控制模型。10. -种多旋翼飞行器,其特征在于,所述多旋翼飞行器包括如权利要求6-9任一项所 述的多旋翼飞行器的控制装置。
【文档编号】G05D1/08GK105843243SQ201610300437
【公开日】2016年8月10日
【申请日】2016年5月6日
【发明人】张显志
【申请人】深圳电航空技术有限公司, 深圳一电航空技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1