一种无人机节能控制方法与流程

文档序号:16927498发布日期:2019-02-22 19:59阅读:512来源:国知局
一种无人机节能控制方法与流程

本发明涉及无人机领域,尤其涉及一种无人机节能控制方法。

技术背景

无人机全称无人驾驶飞机,是利用无线电遥控设备和自备的自动驾驶仪操纵,或者由外部计算机完全地或间歇地自主地操作的不载人飞机。

无人机按照应用领域可分为军用与民用。军用方面,无人机分为侦察机和靶机。民用方面,无人机目前在航拍、农业、植保、微型自拍、快递运输、灾难救援、野生动物观察、传染病监控、测绘、新闻报道、电力巡检、救灾、影视拍摄等领域应用广泛。

目前无人机大多通过无线遥控设备进行人工远程控制,当无人机遇到不可预知自然因素干扰,如大风干扰,无人机需要耗费大量电能来抵消干扰,导致无人机续航时间大幅下降。



技术实现要素:

本发明所要解决的技术问题是:如何提供一种无人机节能控制方法,能够在外界存在风干扰的情况下以最低能耗方式飞行,解决无人机在存在风干扰时续航时间大幅下降的问题。

本发明所采用的技术方案是:一种无人机节能控制方法,按照如下的步骤进行

步骤一、无人机在飞行过程中,实时获取机载惯性测量单元imu数据,获得实时的俯仰角数据、横滚角数据、偏航角数据、三个轴向速度和加速度数据;

步骤二、将无人机的俯仰角数据、横滚角数据、偏航角数据送入神经网络模型中,经神经网络模型处理后输出风的作用方向信息,神经网络模型处理过程按照如下步骤进行

一、随机建立初始神经网络模型,假设输入层节点的个数是n=3个,输出层神经元个数为m=4个,网络的隐含层有l=(m+n)1/2+a=3.5+a个节点,其中a为1—10之间的调节常数,

输入层神经元i到隐含层神经元j之间的连接权值ωij,隐含层神经元j到到输出层神经元k之间的连接权值ωjk,隐含层和输出层节点的输入是前一层节点的输出的加权和,输入层到隐含层的偏置为aj,隐含层到输出层的偏置为bk,每个节点的激励程度由它的激发函数来决定,设学习速率为η,激励函数为g(x),一般选取激励函数为sigmoid函数,其形式为:

初始化模型,将所有权值ωij和ωjk设置为较小的随机数;

二、建立训练模型,隐含层输出hj,以三层神经网络为例,其隐含层的输出格式为:xi为训练样本

输出层的输出ok:

误差的计算,取误差公式为:

其中yk为期望输出值,如果我们记yk-ok=ek,则e可以表示为:

以上式中,i=1···n,j=1···l,k=1···m;

三、将实验得到的样本数据送入一和二中建立的网络模型,训练所述模型,按照二所述模型计算系统的隐含层各个神经元输入和输出,

其中连接权值的更新公式为:

这是误差反向传播的过程,我们的目标是使得误差函数达到最小值,即mine,我们使用梯度下降法:

隐含层到输出层的权重更新为权重值减去误差对其的偏导数,误差对权重的偏导数推导如下:

则可得权重更新公式为:

ωjk=ωjk+ηhjek

输入层到隐含层的权重更新方式同理,误差对其偏导数如下推导:

其中:

hj(1-hj)xi

可得权重的更新公式:

偏置的更新公式为:

隐含层到输出层的偏置更新公式:

偏置的更新公式为:

bk=bk+ηek

输入层到隐含层的偏置更新:

其中

所以得到偏置的更新公式为:

利用二所得网络实际输出与期望输出,计算误差函数对输出层的各神经元的偏导数,以上述计算公式修正各神经元节点连接权值;

四、判断算法迭代是否结束:我们判断误差是否足够小,以及迭代次数是否满足要求,即:

e<ε&&n>nx

其中ε是设定的误差最小值,nx是设定的最大迭代次数。

若未满足迭代结束条件则返回步骤二继续训练,若满足迭代终止条件则继续进行五;

五、继续将下一组训练样本送入神经网络,即使用下一组样本进入二,直至所有训练样本都得到训练且满足迭代终止条件,至此神经网络模型的训练过程结束,保存此时网络各个神经元的参数ωij、ωjk、aj、bk不变,即得到所需要的神经网络控制器,

六、将神经网络控制器搭载于无人机飞控系统,输入为各个时刻无人机imu单元送入的姿态角数据,经过神经网络控制器判断后输出ok即可得到无人机此时所受风的方向信息;

步骤三、通过风的方向信息以及三个轴向速度和加速度数据,通过模糊控制,得到风作用力度信息,按照实时风作用信息生成所述飞行策略,即根据经验设定阈值,当风作用力度信息小于阈值时,按照原有方式飞行,当风作用力度信息大于等于阈值时,给无人机施加垂直于风向的作用力,使无人机沿风作用方向垂直方向飞行,避开风的干扰。

本发明的有益效果是:本发明能够在无人机运行时,检测无人机的实时姿态数据;基于所述数据得到风的作用方向以及作用力度信息;基于所述信息生成飞行控制策略,所述飞行控制策略用于控制无人机以最节能方式飞行。

附图说明

图1是本发明提供的无人机节能控制方法的流程示意图;

图2是本发明提供的无人机节能控制方法的风作用方向判断所用神经网络示意图。

具体实施方式

本发明的实施例提供一种无人机节能控制方法,

第一方面当无人机在飞行过程中检测到存在风干扰时,获取无人机的传感器数据;

第二方面基于所述无人机的传感器数据,判断风作用方向和作用力度,生成飞行控制策略,所述飞行控制策略用于控制无人机在所述风干扰条件下以最低能耗方式飞行;

第三方面按照所述飞行控制策略,控制无人机按最低能耗方式运动。

结合技术方案的第一方面的一种可能实现方式,所述风干扰主要指所述无人机在室内或室外环境下可能遇到的不确定的风干扰;

结合技术方案的第一方面的一种可能实现方式,所述无人机的传感器数据指从无人机的惯性测量单元(imu)获取,包括无人机的三个姿态角以及三轴向加速度值;

所述惯性测量单元由磁力计、加速度计、气压计、陀螺仪、gps传感器组成。

所述姿态角以及加速度值,包括无人机姿态解算后经融合滤波输出的值,所述融合滤波后的值指的是经过无人机自动驾驶仪内部姿态解算模块处理后所得到的经过一定修正的值。

结合技术方案的第一方面的一种可能实现方式,在技术方案的第二方面的第一种可能实现方式中,所述判断风的作用方向和作用力度,其特征在于,根据所述无人机传感器姿态角数据判断风的作用方向,将无人机的姿态角数据送入神经网络,经神经网络处理后输出风的作用方向信息。

基于所述无人机传感器各轴向加速度数据以及风的作用方向判断风的作用力度,将所述数据送入模糊控制器中,经模糊处理得到风的作用力度信息;

结合技术方案的第一方面的一种可能实现方式,在技术方案的第二方面的第二种可能实现方式中,所述飞行策略包括施加给无人机的作用力信息,所述施加给无人机的作用力信息其特征在于,控制无人机的各个电机输出,通过控制无人机各个电机转速来实现;

所述作用力的方向与所述风的作用方向相垂直,所述作用力的力度等于风的作用力度。

结合技术方案的第一方面的一种可能实现方式,或者第二方面的一种可能实现方式,基于所述施加给无人机的作用力方向以及力度,生成飞行策略,包括:

获取一段时间内的传感器数据;

基于所述的传感器三个姿态角数据,通过神经网络进行风作用方向判断,得到风作用方向信息;

基于所述风作用方向以及传感器轴向加速度信息,通过模糊控制,得到风作用力度信息;

基于所述风作用信息生成所述飞行策略。

以下是利用神经网络判断风作用方向的具体实施步骤:

步骤一、随机建立初始神经网络模型,假设输入层节点的个数是n个,输出层神经元个数为m个,网络的隐含层有l个节点,隐含层的层数以及隐含层神经元个数可根据情况设计,具体可参考经验公式:

l=(m+n)1/2+a

其中a为1—10之间的调节常数。

输入层神经元i到隐含层神经元j之间的连接权值ωij,隐含层神经元j到到输出层神经元k之间的连接权值ωjk,隐含层和输出层节点的输入是前一层节点的输出的加权和,输入层到隐含层的偏置为aj,隐含层到输出层的偏置为bk。每个节点的激励程度由它的激发函数来决定。设学习速率为η,激励函数为g(x),一般选取激励函数为sigmoid函数,其形式为:

初始化模型,将所有权值wij和wjk设置为较小的随机数。

步骤二、建立训练模型,隐含层输出hj,以三层神经网络为例,其隐含层的输出格式为:x;为训练样本

输出层的输出ok:

误差的计算,取误差公式为:

其中yk为期望输出值,如果我们记yk-ok=ek,则e可以表示为:

以上式中,i=1···n,j=1···l,k=1···m。

步骤三、将实验得到的样本数据送入步骤一、二建立的网络模型,训练所述模型。按照步骤二所述模型计算系统的隐含层各个神经元输入和输出。

其中连接权值的更新公式为:

这是误差反向传播的过程,我们的目标是使得误差函数达到最小值,即mine,我们使用梯度下降法:

隐含层到输出层的权重更新为权重值减去误差对其的偏导数,误差对权重的偏导数推导如下:

则可得权重更新公式为:

ωjk=ωjk+ηhj6k

输入层到隐含层的权重更新方式同理,误差对其偏导数如下推导:

其中:

hj(1-hj)x;

可得权重的更新公式:

偏置的更新公式为:

隐含层到输出层的偏置更新公式:

偏置的更新公式为:

bk=bk+η6k

输入层到隐含层的偏置更新:

其中

所以得到偏置的更新公式为:

利用步骤二所得网络实际输出与期望输出,计算误差函数对输出层的各神经元的偏导数,以上述计算公式修正各神经元节点连接权值。

步骤四、判断算法迭代是否结束:有很多的方法可以判断算法是否已经收敛,常见的有指定迭代的代数,判断相邻的两次误差之间的差别是否小于指定的值等等。一般我们判断误差是否足够小,以及迭代次数是否满足要求,即:

b<ε&&n>nx

其中ε是设定的误差最小值,nx是设定的最大迭代次数。

若未满足迭代结束条件则返回步骤二继续训练,若满足迭代终止条件则继续进行步骤五。

步骤五、继续将下一组训练样本送入神经网络,即使用下一组样本进入步骤二,直至所有训练样本都得到训练且满足迭代终止条件,至此神经网络模型的训练过程结束。保存此时网络各个神经元的参数ω;jωjkajbk不变,即得到所需要的神经网络控制器。

步骤六、将神经网络控制器搭载于无人机飞控系统,输入为各个时刻无人机imu单元送入的姿态角数据,经过神经网络控制器判断后输出ok即可得到无人机此时所受风的方向信息。通过风的方向信息以及三个轴向速度和加速度数据,通过模糊控制,得到风作用力度信息,按照实时风作用信息生成所述飞行策略,即根据经验设定阈值,当风作用力度信息小于阈值时,按照原有方式飞行,当风作用力度信息大于等于阈值时,给无人机施加垂直于风向的作用力,使无人机沿风作用方向垂直方向飞行,避开风的干扰。

本发明实施例提供一种无人机节能控制方法,其核心控制流程如图1所示,所述方法包括:101、程序入口。

所述程序入口指当在无人机开始运行后,在合适的位置进入本发明所述的控制方法。所述合适位置包括控制程序主循环或进程调度;

102、读取imu数据。

对于本发明实施例,可读取无人机自动驾驶仪所带imu(惯性测量单元)数据,所述数据可以包括磁力计,三轴加速度计,气压计、陀螺仪、gps等发送的数据。

所述数据也可以读取经姿态解算部分融合滤波处理后的数据,可以包括无人机实时的三个姿态角(俯仰角、横滚角、偏航角)数据、三个轴向(空间笛卡尔直角坐标系x轴、y轴、z轴方向)速度和加速度数据、高度等数据。

103、检测风的作用方向。

对于本发明实施例,可根据所述读取的imu(惯性测量单元)数据,送入处理器进行运算,经过内部程序中神经网络处理后可判断外界风作用方向的信息。

神经网络是一种模仿动物神经系统设计的一种模型,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。

输入单元接受外部世界的信号与数据,在神经网络中位于输入层,具体神经元个数根据实际情况而定;

输出单元实现系统处理结果的输出,在神经网络中位于输出层,具体神经元个数根据实际情况而定;

隐单元是处在输入和输出单元之间,不能由系统外部观察的单元,在神经网络中位于隐层,具体神经元个数以及层数根据实际情况使用而定。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。

神经网络模型搭建完成后,使用大量的已知数据训练神经网络,使神经网络自己在内部调整各个神经元之间链接的权值,从而得到最接近实际情况的神经网络模型。在本发明实施例中,使用已经训练过的神经网络进行判断。

具体的神经网络类型可根据实际无人机进行选择,本发明实施例使用的神经网络以bp神经网络为基础。

本发明实施例中,可以由无人机自动驾驶仪上集成的具有数据运算能力的处理芯片使用神经网络处理得到;也可以无人机将获取到的imu数据发送给服务器,由服务器基于所述数据,经服务器上控制程序中的神经网络计算处理后得到。

104、判断风的作用力度。

在所述风的作用方向信息的基础上,结合此方向上加速度数据,经模糊控制,判断风作用力度信息。

所述模糊控制包含两个输入信息,即风的作用方向信息和该方向上加速度大小信息,模糊控制方法具体实施方式是:

(1)变量模糊化。主要作用是选定模糊控制器的输入量,并将其转换为系统可识别的模糊量,具体包含以下三步:第一,对输入量进行满足模糊控制需求的处理;第二,对输入量进行尺度变换;第三,确定各输入量的模糊语言取值和相应的隶属度函数。对于本发明,将风的作用方向和加速度大小抽象为关于零点对称的点集,具体的论域以及隶属度函数可根据具体无人机模型选择;

(2)建立规则库。根据不同的无人机模型根据经验建立模糊规则库。本发明对风的作用方向信息不需要做到很精确,所以选择4个模糊变量:大(pb)、较大(ps)、较小(ns)、小(nb),模糊规则库先按照经验大概设置,然后再进行实验逐步优化模糊规则;

(3)模糊推理。主要实现基于知识的推理决策,经过上述参数选定,模糊控制器将进行模糊判断推理;

(4)解模糊化。主要作用是将推理得到的控制量转化为控制输出。本发明中输出变量可以是连续数值,根据实际试验情况合理设置阈值,以达到得到风的作用力度信息的目的。

加速度数据可由三轴向加速度数据经过矢量加减法计算得到。

105、生成飞行控制策略

所述飞行策略用于控制无人机在所述存在风干扰的情况下,按照最低能耗方式飞行,(具体消耗能量大小可根据实验数据得到,一种方法是实验测量不同风力下沿原路径飞行前后电池电压的下降幅度,以及做出避让动作前后电池电压的下降幅度,以此作为消耗能量大小的度量依据)其特征是:

当判断到风的作用方向后,若按照所述方式判断得到的风作用力度较小,其特征是,控制(控制方法是通过无人机自动驾驶仪控制各个电机的转速,电机上装有螺旋桨,电机转动带动螺旋桨转动,螺旋桨转动产生向上的作用力且作用力大小与电机转速相关,通过控制各个电机的转速来控制无人机的姿态角以及无人机位置,以达到控制无人机姿态位置的效果,这个是无人机飞控部分的内容,并不是本专利内容重点)无人机直接穿越风场所耗费能量小于做出躲避动作所耗费的能量,此时施加给无人机的作用力(所述作用力即控制无人机电机后作用给无人机的力)方向沿着风的作用方向,作用力度大于等于风的作用力度,使无人机按原有轨迹运动;

所述风作用力度较小包含无风状态,此时作用力度为零,即不采取任何控制策略,按照原有方式飞行;

当判断到风的作用方向后,若按照所述方式判断得到的风作用力度较大,其特征是,控制无人机做出躲避风场的动作所耗费的能量小于直接穿越风场所耗费的能量,此时施加给无人机的作用力垂直于风的作用方向,作用力力度为一固定值,此时无人机沿风作用方向垂直方向飞行,避开风的干扰,使无人机做出躲避动作。此时无人机继续按照前述方法判断风的干扰情况,当无人机判断得到的风的作用力度减小到阈值之下时,控制无人机继续按照原有方向飞行,完成一次躲避动作。

106、按照所述控制策略控制无人机飞行。

可选的,施加给无人机的作用力可通过控制无人机各个电机转速,经电机上固定的螺旋桨输出不同大小的作用力来实现。控制方法是通过无人机自动驾驶仪控制各个电机的转速,电机上装有螺旋桨,电机转动带动螺旋桨转动,螺旋桨转动产生向上的作用力且作用力大小与电机转速相关,通过控制各个电机的转速来控制无人机的姿态角以及无人机位置,以达到控制无人机姿态位置的效果

通过所述控制方法可有效的降低飞行过程中的能量消耗,以达到节能控制的目的。

本发明又一实施例提供一种检测风的作用方向的神经网络模型示意图,如图2所示:

神经网络是一种模仿动物神经系统设计的一种模型,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。

输入单元接受外部世界的信号与数据,在神经网络中位于输入层,具体神经元个数根据实际情况而定;

输出单元实现系统处理结果的输出,在神经网络中位于输出层,具体神经元个数根据实际情况而定;

隐单元是处在输入和输出单元之间,不能由系统外部观察的单元,在神经网络中位于隐层,具体神经元个数以及层数根据实际情况使用而定。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。

本发明实施例提供一种三输入四输出四层概率神经网络模型,图中圆圈表示各个神经元,箭头表示神经网络的传到方向,虚线框表示各个拓补结构的不同层;

201、输入层。

所述输入层是神经网络的入口,本实施例输入层包含三个神经元,分别接收三个姿态角的数据

202、隐层。

所述隐层可理解为神经网络内部处理部分,本实施例隐层包含两层,每层包含五个神经元,每个神经元分别与下一层的神经元相连接。

203、输出层。

所述输出层使神经网络的输出部分,本实施例输出层有四个神经元,每个神经元带别一个方向的输出,输出值为各个方向的概率值。例如,当表示前方的神经元输出值为0.6,表示有方的神经元输出值为0.4,则风的作用方向前偏右,方向角为arctan(0.4/0.6)。

本领域普通技术人员可通过理解上述说明以及流程,可通过计算机程序来实现相关功能。

在得到风的方向角的前提下判断风的大小;

无人机在收到风的干扰时,无人机会自动调整其俯仰角及偏航角来保持平衡,作为我们直观观察,即风越大无人机的俯仰角和偏航角的幅度越大,此时电机的转速也较高。

当得知风向后,利用投影定理对这两个角作矢量和,利用这个适量喝的绝对值大小来确定风的大小

步骤一、根据反三角函数可得风方向角(方向角数据来源于imu中的陀螺仪)

此专利中使用其中o1o2o3o4分别是神经网络的四个输出ok,

步骤二、利用三角形投影定理计算俯仰角及偏航角的矢量和的绝对值,计算四个电机的转速和ω;(电机的转速可从飞控程序中直接得到)

ω=ω1+ω2+ω3+ω4

步骤三、以两个方向角的矢量和绝对值s和电机转速和ω为输入,利用模糊控制器来判断风的大小:

01、将s做尺度变换使其在区间[0-0.5]上。作为模糊控制器的输入s,其中smax是s的最大值

同理将ω也变换到区间[0-0.5]变换后的ωmax作为模糊控制器的另一个输入

输出变量取为c,其值域为[0-0.85],其中0表示风干扰为小,0.85表示风干扰为大。

02、确定隶属度函数,对于本发明,输入量s和ω的隶属度函数取gauss函数

选取3个模糊变量:大(pb)、中等(nz)、小(nb)

对于pb选取高斯函数参数a=0.0618、b=0;nz选取高斯函数参数a=0.0618、b=0.25;nb选取a=0.0618、b=0.5。

对于输出c选取隶属度函数为梯形,选取3个模糊变量:大(pb)、中等(nz)、小(nb)其四个控制点的横坐标顺时针依次为:pb[-0.45-0.050.050.45];nz[0.050.450.550.95];nb[0.550.951.051.45]。

03、设计模糊规则

·1.if(sisnb)and(ωisnb)then(cisnb)(1)

·2.if(sisnb)and(ωisnz)then(cisnb)(1)

·3.if(sisnb)and(ωispb)then(cisnz)(1)

·4.if(sisnz)and(ωisnb)then(cisnb)(1)

·5.if(sisnz)and(ωisnz)then(cisnz)(1)

·6.if(sisnz)and(ωispb)then(cispb)(1)

·7.if(sispb)and(ωisnb)then(cisnb)(1)

·8.if(sispb)and(ωisnz)then(cisnz)(1)

·9.if(sispb)and(ωispb)then(cispb)(1)

04、确定模糊控制器输出c与风大小的关系

根据上述控制器,输出c的值域为[0-0.85],由无人及实际情况可知不会出现上述03步中3和7的情况,综合实际控制经验。当c大于某一输出值时,即可认为风的干扰大

c≥0.6

当输出c大于等于0.6,则认为风干扰较大,此时执行风干扰较大时的控制策略

当输出c小于0.6时,则认为风的干扰较小或者没有风干扰,此时执行风干扰较小时的控制策略。

以上所述仅为本发明的一种具体实施方式,但本发明的保护范围并不仅局限于此,任何熟悉本技术领域的技术人员在本发明表述的技术范围内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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