飞行机器人位姿神经网络预测控制器的制造方法

文档序号:10665608阅读:240来源:国知局
飞行机器人位姿神经网络预测控制器的制造方法
【专利摘要】本发明公开了一种飞行机器人位姿神经网络预测控制器,特别适用于多旋翼飞行机器人的位姿控制。控制器包括:滚动优化器、神经网络预测模型、逆神经网络模型、延迟环节、反馈环节、加法比较器、减法比较器;控制器使用神经网络对飞行机器人动态过程进行建模、预测;使用逆神经网络确定迭代优化算法的初值;采用牛顿-拉夫逊算法进行局部优化;控制器还具有反馈控制功能。相比于机理建模,神经网络模型具有更高的精度,基于此模型的预测控制具有更高的控制性能;采用了目标函数优化的方法,能在保证控制性能的前提下尽量减少电能消耗;与PID控制相比,控制超调小,控制效果更加平稳;与滑模控制相比,不会产生抖震问题。
【专利说明】
飞行机器人位姿神经网络预测控制器
技术领域
[0001] 本发明涉及一种飞行机器人的位姿控制器,特别是用于多旋翼飞行机器人的位姿 控制器,属于机器人技术领域。
【背景技术】
[0002] 飞行机器人一般是指搭载了各种传感器,具有一定感知力和智能的无人驾驶飞行 器。最近几年,随着科学技术的发展,已经相继有一些飞行机器人的成功应用案例,例如, 加拿大沃特卢的艾伦(Aeryon)实验室研制Scout是一种会令犯罪分子感到恐惧的新型飞 行机器人,可取代监控摄像头;在日本,飞行机器人帮助农民管理稻田,监测谷物生长,播撒 农药;在非洲,带有摄像机的飞行机器人追踪捕杀野生动物的人。当前,各行业对飞行机器 人的需求量较大,有专家预测2015年后,飞行机器人的商业应用将出现爆炸性地增长,广 阔地应用前景也促进了飞行机器人技术的研究,由于目前飞行机器人一般采用多旋翼飞行 器,因此对多旋翼飞行器的控制技术研究成为热点;多旋翼飞行器属于多输入、多输出、具 有强耦合、滞后等的非线性控制系统,机理建模大多使用牛顿-欧拉方程,这种模型往往存 在失配度较高的问题;对多旋翼飞行器的控制,目前使用最多的仍然是PID控制,由于PID 控制本质上是根据已经产生的误差来实现控制的,因此难以在误差产生前就给出一个用于 消除误差的控制量,控制精度并不高;有文献提出采用滑模控制,但是滑模控制所存在的 "抖震"问题难以解决;也有文献提出了预测控制,但是由于所使用模型存在失配度较高问 题,控制效果并不理想。另外,由于飞行机器人都是采用电池供电,而电池又都较重,因此, 电池的持续工作时间一直是飞行机器人技术的瓶颈,如何在保证控制精度的前提下,最大 程度地减少电能消耗也是控制中存在的较大问题,而PID控制及滑模控制难以解决这个问 题。
[0003] 在各种智能控制方法中,模型预测控制(MPC)来源于工业实践,是基于预测模型 的有限时域优化控制。近年来MPC获得了广泛应用,但从应用对象来看,主要还限于线性或 准线性过程,造成这一现象主要是由于在非线性机理建模要耗费很大代价,而且很难得到 准确的模型。
[0004] 人工神经网络能够充分逼近复杂的非线性映射关系,具有学习与适应不确定系统 的动态特性和较强的鲁棒性和容错性的特点,这使得其成为对非线性系统建立预测模型和 优化控制的关键技术之一。如果将人工神经网络与预测控制算法相结合就能够得到适用于 非线性系统控制的神经网络预测控制。

【发明内容】

[0005] 本发明公开了一种飞行机器人位姿神经网络预测控制器,特别适用于多旋翼飞行 机器人的位姿控制;主要目的是解决飞行机器人的较精确建模问题,以及在保证控制性能 前提下减少电能消耗的问题。
[0006] 本发明所采用的技术方案是:选用神经网络对机器人的动态过程进行建模,通过 调节神经网络的权值来逼近该非线性过程;通过智能控制中的预测控制方法,基于建立的 神经网络模型来实现预测控制,滚动优化采用牛顿-拉夫逊算法以提高算法的实时性,算 法的初始值选取由逆神经网络完成;根据实际测量输出位姿参数与预测值的比较实现反馈 校正。
[0007] 飞行机器人的动态过程用离散非线性方程可表示为: w(k+l) =f(u(k),u(k-l),...,u(k-nu+l),w(k),w(k-l),...,w(k-nw+l)) 其中:w(k+l),w(k),w(k-l),…,w(k-nw+l)分别表示第 k+l,k,k-l,…,k-nw+l 时刻飞 行机器人的位姿参数值;u(k), u(k-l),…,u(k-nu+l)分别表示第k, k-1,…,k-nu+l时刻飞 行机器人的控制量值;nw,nu分别表示延迟的阶数,这些数值都可以通过实验的方法测得; 函数f表示一个未知的非线性映射关系。
[0008] 将1^=[1100,110^-1),...,110^-1^+1),'\¥00,'\¥0^-1),...,'\¥0^-]\+1)]作为神经网络的 输入,将w(k+l)作为神经网络的输出,只需根据以上测量的数值训练神经网络,就可以确 定神经网络的权值,从而确定一个神经网络使得该神经网络能够逼近飞行机器人的动态特 性。
[0009] 对飞行机器人的控制器而言,在第k时刻,u(k-l),…,u(k_nu+l),w(k) ,w (k-1),…,w (k_nw+l)显然都是已知的常数,此时,只要给出一个控制量u (k),利用该神经 网络就可以计算出下一个时刻的位姿参数w(k+l),所以,这个训练好的神经网络就可以作 为一个飞行机器人位姿的预测模型。
[0010] 为了实现在保证控制性能前提下减少电能消耗的目的,技术上可以采用滚动优化 的方法,优化的目标函数确定为: J = (wm(k+l) -w/ (k+l))2+A u(k)2 式中:wjk+l)表示由神经网络模型预测的k+1时刻的位姿值,w/ (k+1)表示经校正后 外部输入的参考位姿值,(Wni(k+1) -w/ (k+Ι))2的值越小,控制性能就越好,u(k) 2的值越 小,则消耗的电能就越少,λ为权重因子,用于在控制性能与电能消耗之间进行折中。目标 函数的最小值,对应着能够在保证控制性能前提下减少电能消耗的最优控制量。
[0011]为保证控制系统的实时性,对目标函数的寻优采用一种局部数值优化算法即牛 顿-拉夫逊算法,其迭代公式为:
式中:u (k)]+1,u (k) ]分别表示第j+Ι次和第j次迭代的控制量,右边最后一项的分子 表示目标函数J对控制量U (k)的一阶偏导数在u (k) =u (k) ·]时的取值,分母表示目标函数J 对控制量u (k)的二阶偏导数在u (k) =u (k) ]时的取值。
[0012] 由迭代公式知,迭代需要设定一个初始值即u(k)°,最为理想的方案是选取具有最 优控制性能的控制量为初始值,这样做的好处是可以防止算法落入其它极小值,从而保证 系统的控制性能;为此,可以采用一个逆神经网络来实现,飞行机器人的逆动态过程可表示 为离散非线性方程: u(k) =g(u(k-l),...,u(k-nu+l), w(k+l),w(k),w(k-l),...,w(k-nw+l)) 其中:函数g表示f的逆非线性映射关系;此时只要将民=[u(k-l),… ,u(k-nu+l),w/ (k +l),w(k), w(k-l),…,w(k-nw+l)]作为神经网络的输入,将 u(k)作为 神经网络的输出,w/ (k+Ι)取为实验数据w(k+l),就仍然可以利用实验测量的数据来训练 逆神经网络,这样神经网络的输出能够使得 Wn(k+1) = w/(k+l),所以对应着最优的控制性 能。
[0013] 反馈校正部分利用预测位姿值与实际检测值得到误差来实现,k时刻的误差为 w(k)_wm(k),校正后为:θ=δ (w(k)_wm(k)),其中δ为反馈校正系数;反馈校正的实现通过 修正参考输入来实现,设k时刻外部参考输入为\(k +1),则校正后的参考输入为:W/(k+l) =wr (k+l)+ 5(w(k)-wm(k))〇
[0014] 对延迟的阶数nw,nu,其实现方案采用利用存储器的方法,例如对n u阶延迟,使用 nu个存储单元,在第k采样时刻,分别存储第k, k-Ι,…,k-n U+1个采样时刻的值,在第k+1 采样时刻,更新存储单元为k+1 - k, k - k-1,…,k-nu+2 - k-nu+l,丢弃第k-nu+l时刻的 值。
[0015] 综上所述,飞行机器人神经网络预测控制器通过以下步骤完成: 第一步:初始化。
[0016] 第二步:反馈校正。
[0017] 第三步:计算滚动优化的初始值。
[0018] 第四步:根据牛顿-拉夫逊迭代公式进行滚动优化得到最优控制量。
[0019] 第五步:用上一步得到的最优控制量进行控制。
[0020] 本发明的有益效果是:与机理建模相比,神经网络模型具有更高的精度,对飞行机 器人的动态过程逼近效果好,也使得基于此模型的预测控制具有更高的控制性能;采用了 目标函数优化的方法,能在保证控制性能的前提下尽量减少电能消耗;与PID控制相比,由 于在未来的误差产生前就可以提前控制,因此控制超调小,控制效果更加平稳;与滑模控制 相比,不会产生抖震问题。
【附图说明】
[0021] 图1为本发明的控制器结构图,图中:1001、神经网络预测控制器;1002、滚动优化 器;1003、神经网络预测模型;1004、逆神经网络模型;1005、nJ介延迟环节;1006、n w阶延迟 环节;1007、一阶延迟环节;1008、反馈环节;1009、加法比较器;1010、减法比较器;1011、飞 行机器人受控系统。
[0022] 图2为本发明所采用的神经网络结构图,图中:2001、输入向量;2002、输入层偏置 向量;2003、输入权值矩阵;2004、累加器;2005、神经元激活函数;2006、输出层偏置向量; 2007、输出权值矩阵;2008、输出向量。
[0023] 图3为四旋翼飞行机器人位姿示意图。
[0024] 图4为控制器工作流程图。
【具体实施方式】
[0025] 实施例1 :选用四旋翼飞行机器人为例说明具体实时方式,四旋翼飞行机器人位 姿如图3所示,输入控制量为四个旋翼电机的速度控制信号,输出量为机器人位姿参数,其 中,k时刻的控制信号为:u(k) = [11100,1!200,113(10,114(10],当前四旋翼控制信号一般采 用占空比,8卩 Ul (k),u2(k),u3 (k),u4(k)分别表示四个电机的控制方波的占空比,位姿参数 为w(k) = [V(k),Φ(10, Θ (k)],V(k),Φ(1〇,Θ (k)分别为k时刻的偏航角、横滚角、 俯仰角。
[0026] 需要说明的是,由于神经网络是一种通用的映射关系逼近器,所以本发明提出的 方法适合各种飞行机器人,不同之处在于控制向量u(k)包含的元素个数及物理量纲不同; 虽然此处以四旋翼飞行机器人为例说明,但并不影响本发明的通用性。
[0027] 控制系统结构如图1所示,虚线框内的1001为神经网络预测控制器,具体包括: 1002、滚动优化器;1003、神经网络预测模型;1004、逆神经网络模型;1005、nj介延迟环节; 1006、n w阶延迟环节;1007、一阶延迟环节;1008、反馈环节;1009、加法比较器;1010、减法 比较器;图1中,1011为飞行机器人受控系统。
[0028] 实验测量四旋翼飞行机器人的位姿数据:在控制量的允许值范围内随机产生 800 个数据,Ul (2), u2 (2), u3 (2), u4 (2), , Ul (200), u2 (200), u3 (200),u4 (200),分别在相应的采样时刻将这些控制量输入,测量对应的输出位姿参数: Ψ (2),Φ (2),Θ (2), ψ (3),Φ (3),Θ (3),…,ψ (201),Φ (201),Θ (201)。
[0029] 根据以上实验测量的数据,用参数辨识的方法确定延迟阶数nu,nw。
[0030] 建立神经网络预测模型如图2所示,神经网络的输入向量(2001)为Rp= [u(k), u(k-l),...,u(k-nu+l), w(k),w(k-l),...,w(k-nw+l)] = ,u3(k),u4(k),Ui(k -1),u2 (k-1),u3 (k-1),u4 (k-1),...,u! (k-nu+l),u2 (k-nu+l),u3 (k-nu+l),u4 (k-nu+l),Ψ (k), Φ (k),Θ (k),ψ (k-1),Φ (k-1),Θ (k-1),...,ψ (k-nw+l),Φ (k-nw+l),Θ (k-nw+l)],输入 向量(2001)的个数为4 nu +3nw;输出向量(2008)为k+1时刻的预测位姿Wni(k+1) = [Ψ" (k+1), <i)m (k+1), 0m (k+1)];神经元激活函数(2005)使用 sigmoid函数:aUhl/d+e》; 输入层偏置向量(2002) blni、输入权值矩阵(2003) iWni、输出层偏置向量(2006) b2ni、输出权 值矩阵(2007) K可以根据以上实验测量的数据,通过神经网络训练方法得到;神经网络 预测模型的关系式为:wm(k+l) = lwmXa(iwmXRp+blm)+ b2m。
[0031] 逆神经网络模型的结构也如图2所示,网络的输入向量(2001)为民=[w/ (k+1), u(k-l),···, u(k-nu+l), w(k), w(k-l),···, w(k-nw+l) ] = [ Ψ (k+1), Φ (k+1), Θ (k+1), Uj (k-1),u2 (k-1),u3 (k-1),u4 (k-1),...,u! (k-nu+l), u2 (k-nu+l), u3 (k-nu+l), u4 (k-nu+l), Ψ ( k),Φ (k),Θ (k),ψ (k-1),Φ (k-1),Θ (k-1),...,ψ (k-nw+l),Φ (k-nw+l),Θ (k-nw+l)],输 入向量(2001)的个数为4 nu +3nw-l ;输出向量(2008)为k时刻的控制量u(k) = [Ul(k) ,u2(k),u3(k),u4(k)];神经元激活函数(2005)仍使用 sigmoid 函数:a(t) = l/(l+e》;输 入层偏置向量(2002) bH、输入权值矩阵(2003) iWl、输出层偏置向量(2006) b2l、输出权值 矩阵(2007) 1^可以根据以上实验测量的数据,通过神经网络训练方法得到;逆神经网络 预测模型的关系式为:u (k) = lWiXaQwiXRi+bHH b2i。
[0032] 延迟环节(1005、1006、1007)的实施采用了利用存储器的方法,例如对nj介延迟 环节(1005),使用n u个存储单元,在第k采样时刻,分别存储第k,k-l,…,k-nu+l个采样时 亥?Ι的值,在第k+Ι米样时刻,更新存储单兀为k+Ι - k, k - k_l,…,k_nu+2 - k_nu+l,丢弃 第k-nu+l时刻的值。
[0033] 反馈部分由减法比较器(1010)、反馈环节(1008)、加法比较器(1009)实现,根据 图1,反馈量为:δ (W(k)-Wm(k)),其中,δ为反馈校正系数,经过反馈校正后的参考输入为: wr (k+1) =wr (k+l)+ 5(w(k)-wm(k)),反馈校正得以实现。
[0034] 滚动优化器(1002)的目标函数形式为:J = ( (k+l)_ Wni(k+1))2+Xu(k) 2,其 中,λ为权重因子,采用牛顿-拉夫逊数值局部优化算法进行优化,其迭代公式为:
其中,u(k) ]+1,u(kV分别表示第j+Ι次和第j次迭代的控制量,右边最后一项的分子表 示目标函数J对控制量U (k)的一阶偏导数在u (k) =u (k) ·]时的取值,分母表示目标函数J对 控制量u (k)的二阶偏导数在u (k) =u (k) ]时的取值。
[0035] 迭代的初始值u(k)°由逆神经网络确定,即u(k) ° = ]^ΧΒ(?¥?ΧΙ^+?3Η)+ b2i,迭代 终止条件为:I u(kV+1 _u(kV |〈 α,α为一个较小的正常数;另外,为保证算法的实时 性,设置最大迭代次数ξ,若迭代次数高于该值,则终止迭代过程;迭代完成后最优控制量 按公式 u*(k) = (u(k) ]+1 + u(k) ]) / 2 得到。
[0036] 神经网络预测控制器(1001)的工作原理:以k采样时刻为例说明,神经网络预测 控制器(1001)首先测量k时刻的位姿参数w(k),根据\ (k+1) = wjk+l)+ δ (w(k)-wm(k)) 对参考位姿信号A(k+1)进行校正,得到校正后的参考位姿w/ (k+1);其次,神经网络预测 控制器(1001)调用逆神经网络模型(1004),根据公式:u(k)° = ltXaW^+bHH 1321计 算滚动优化的初始值u (k) °,根据牛顿-拉夫逊迭代公式获得最优控制量u* (k),用u* (k)去 控制飞行机器人受控系统(1011);最后,更新延迟环节的存储单元值,神经网络预测控制 器(1001)调用神经网络预测模型(1003)得到下一个采样时刻的位姿预测值 Wni(k+1),以便 于下一个采样时刻用于反馈校正。
[0037] 进一步,如图4所示,神经网络预测控制器(1001)的详细工作步骤为: 第一步:初始化,系统上电时神经网络预测控制器(1001)需要初始化以下参数:反馈 校正系数S、权重因子λ、终止参数a、最大迭代次数ξ、延迟环节的阶数nu、nw、迭代次 数j = 〇、延迟环节存储单元的值,wm(l)。
[0038] 第二步:反馈校正,神经网络预测控制器(1001)首先测量k时刻的位姿参数 w(k),根据a (k+1) = wjk+l)+ δ (w(k)_wm(k))对参考位姿信号wjk+l)进行校正,得到 校正后的参考位姿w/ (k+Ι)。
[0039] 第三步:计算滚动优化的初始值: 计算滚动优化的初始值u(k)°,神经网络预测控制器(1001)调用逆神经网络模型 (1004),根据公式:11〇〇°=1?^3(1?^民+131;)+132;计算滚动优化的初始值11〇〇°。
[0040] 第四步:根据牛顿-拉夫逊迭代公式进行滚动优化得到最优控制量: (1)由公式: 计算 u(kV+1;
(2)如果I u(k)]+1 -u(k)]|〈 a,或者]·>ξ,则转第五步,否则,设置j+1 -j,u(k) i+1-u(k) J,转(1)。
[0041] 第五步:用上一步得到的最优控制量进行控制,计算最优控制量,u*(k) = (u(k) ]+1 + u(k) ]) / 2,并用u*(k)去控制飞行机器人受控系统(1011),神经网络预测控制器 (1001)调用神经网络预测模型(1003)得到下一个采样时刻的位姿预测值Wni(k+1),更新延 迟环节的存储单元值为 u (k+Ι) - u (k),u (k) - u (k-Ι),…,u (k-nu+2) - u (k -nu+l),丢 弃最早时刻的值u(k -nu+l) ;w(k) - w(k-l), w(k-l) - w(k-2),···, w(k-nw+2) - w(k -nw+l),丢弃最早时刻的值w(k -nw+l)。
【主权项】
1. 飞行机器人位姿神经网络预测控制器,包括:滚动优化器、神经网络预测模型、逆神 经网络模型、n。阶延迟环节、n J介延迟环节、一阶延迟环节、反馈环节、加法比较器、减法比 较器;神经网络预测控制器使用神经网络预测模型对飞行机器人动态过程进行建模、预测; 使用逆神经网络确定迭代优化算法的初值;采用牛顿-拉夫逊算法进行优化;控制器具有 反馈控制功能。2. 根据权利要求1,所述的滚动优化器,其特征是优化的目标函数确定为J =( Wf'(k+1)- Wm(k+1))2+Au似 2,其中,Wf'(k+l)、Wm(k+l)分别为第 k+1 采样时刻的校正 后参考位姿和预测位姿,位姿参数为W化+1) = [¥化+1),4化+1),0化+1)],¥化+1), Mk+l),0化+1)分别为k+1时刻的偏航角、横滚角、俯仰角,u(k)为第k采样时刻的控制 量;采用牛顿-拉夫逊貸诀讲行局部优化,巧巧代公式责:式中;U化)'",U化)'分别表示第j+1次和第j次迭代的控制量,右边最后一项的分子 表示目标函数J对控制量u(k)的一阶偏导数在U化)=U化)'时的取值,分母表示目标函数 J对控制量u(k)的二阶偏导数在u(k)= U化)'时的取值;迭代终止条件为;I U化-U化) M < a,a为一个较小的正常数;为保证算法的实时性,设置最大迭代次数S,若迭代次 数高于该值,则终止迭代过程;迭代完成后最优控制量按公式u*(k) = (u(k)'" +u(k)')/ 2得到。3. 根据权利要求1,所述的神经网络预测模型及逆神经网络模型,其特征是包含输入 向量、输入层偏置向量、输入权值矩阵、累加器、神经元激活函数、输出层偏置向量、输出权 值矩阵、输出向量;神经元激活函数使用sigmoid函数;a (t) =1/(1+6 t);神经网络预测模型 的输入向量为 Rp= [U化),U化U化-riu+l), W化),W化W化-n"+l)],其中 n。分别表示延迟的阶数,输入向量的个数为4 n。+3n";输出向量为k+1时刻的预巧Ij位姿 Wm化+1);逆神经网络模型的输入向量为Ri= [ Wf'化+1),U化U化-riu+l), W化), W化-:〇,???,W(k-n"+l)],输入向量的个数为4 n。+3n"-l;输出向量为k时刻的控制量u(k)。4. 根据权利要求1,所述的n。阶延迟环节、n J介延迟环节、一阶延迟环节,其特征是 实施时采用了利用存储器的方法,对n。阶延迟环节,使用n。个存储单元,在第k采样时 亥IJ,分别存储第k,k-1,…,k-nu+1个采样时刻的值,在第k+1采样时刻,更新存储单元为 k+1 一 k, k 一 k-1,…,k-riu+2 一 k-riu+l,丢弃第 k-n。+!时刻的值。5. 根据权利要求1,所述的反馈环节、加法比较器、减法比较器,其特征是构成控制器 的反馈部分,反馈量为:5 (W化)-Wm(k)),其中,6为反馈校正系数,经过反馈校正后的参考 输入为;Wr 化+1) = Wr 化+1)+ 8 (W 化)-Wm 化))。6. 根据权利要求1,所述的飞行机器人位姿神经网络预测控制器特征在于工作步骤 为: 第一步:初始化,系统上电时神经网络预测控制器需要初始化W下参数:反馈校正系 数5、权重因子入、终止参数a、最大迭代次数S、延迟环节的阶数n。、n"、迭代次数j = 0、延迟环节存储单元的值,Wm(I); 第二步:反馈校正,神经网络预测控制器测量k时刻的位姿参数W(k),根据W,'化+1) =Wf化+1)+ 6 (W似-Wm化))对参考位姿信号Wf(k+1)进行校正,得到校正后的参考位姿 町'化+1); 第H步;计算滚动优化的初始值: 计算滚动优化的初始值u(k)°,神经网络预测控制器调用逆神经网络模型,根据公式: u〇〇°= lWiXa(iWiXRi+b。)+ bzi计算滚动优化的初始值 u(k) 第四步:根据牛顿-拉夫逊迭代公式进行滚动优化得到最优控制量: (1) 由公式: 计算U似?'";(2) 如果I u(k)i" -uGOM < (1,或者j〉s,则转第五步,否则,设置j+1 - j,uG〇 J"一 U似 J,转(1); 第五步:用上一步得到的最优控制量进行控制,计算最优控制量,U*化)=(U化) W + U化)')/ 2,并用U*化)去控制飞行机器人受控系统,神经网络预测控制器调用神 经网络预测模型得到下一个采样时刻的位姿预测值Wm化+1),更新延迟环节的存储单元 值为 u(k+l) - uGO, u(k) - 11化-1),…,11化-]1。+2) - 11化-]1。+1),丢弃最早时刻的值 U 化-riu+1) ;w 化)一 W 化-1), W 化-1) 一 W 化-2),…,W 化-]\+2) - W 化-]\+1),丢弃最早时 刻的值W化-n片)。
【文档编号】G05B13/04GK106033189SQ201510113369
【公开日】2016年10月19日
【申请日】2015年3月16日
【发明人】樊兆峰
【申请人】徐州工程学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1