机器人自适应转向单神经元pid控制方法

文档序号:10686129阅读:514来源:国知局
机器人自适应转向单神经元pid控制方法
【专利摘要】本发明公开了一种机器人自适应转向单神经元PID控制方法,首先建立机器人转向系统的转向模型,然后构建RBF神经网络,最后构建PID控制系统。本发明针对机器人转向系统的机械结构及数学模型的特点,设计了基于RBF在线辨识的机器人转向单神经元PID控制,将RBF神经网络与单神经元PID控制相结合应用于非线性的机器人转向系统,既充分利用了RBF神经网络最佳逼近性能的特点和单神经元适应性强的优点,也克服了PID控制中学习算法的不足。
【专利说明】
机器人自适应转向单神经元PID控制方法
技术领域
[0001] 本发明涉及机器人控制方法领域,具体是一种机器人自适应转向单神经元PID控 制方法。
【背景技术】
[0002] 物联网是"万物沟通"的、具有全面感知、可靠传送、智能处理特征的连接物理世界 的网络,实现了任何时间、任何地点及任何物体的连结。但是,针对农田环境物联网监测区 域中布置的传感器节点,会出现能量耗尽、数据处理能力弱和节点故障所引起的局部网络 瘫痪问题,移动机器人可以作为一个移动传感节点,替代故障节点,解决局部网络瘫痪的问 题。
[0003] 由于农田环境复杂,遍布沟、渠和作物;地面松软,易使机器人滑移沉陷,需要机器 人躲避,这就对机器人的运动控制提出了更高的要求。
[0004] 自动转向控制技术是机器人实现自动导航控制的基础,也是研究机器人的核心问 题之一。差速转向是机器人常用的转向方法,机器人的控制器大都采用PID控制器或最优控 制器,常规的PID控制器为单偏差控制器,很难适应机器人这个复杂的转向系统,最优控制 一般都把被控对象简化为线性时不变系统,这将降低机器人的稳定性。有些学者提出具有 良好跟踪性和鲁棒性的变结构控制,但是存在需要通过实验确定加速度达到律中的参数和 有待实验验证其可靠性的问题。

【发明内容】

[0005] 本发明的目的是提供一种机器人自适应转向单神经元PID控制方法,以实现对机 器人的自动转向控制。
[0006] 为了达到上述目的,本发明所采用的技术方案为:
[0007] 机器人自适应转向单神经元PID控制方法,所述机器人作为移动传感节点,机器人 的前两轮为转向轮,后两轮为驱动轮,其特征在于:包括以下步骤:
[0008] (1)、建立机器人转向系统的转向模型:
[0009] 构建电机转角与转向轮转角的比例系数为1、两相混合式步进电机作为转向器的 转向系统,该转向系统包括同轴连接两转向轮的轮轴,轮轴上铰接有一对梯形臂,两梯形臂 上端之间铰接有转向横拉杆,步进电机为两相混合步进电机,步进电机与一个转向摇臂传 动连接,转向摇臂臂端与一个转向直拉杆铰接,转向直拉杆杆端与一个转向节臂铰接,转向 节臂臂端铰接在其中一个梯形臂与轮轴的铰接点;当外部转向控制器发出转向信号时,步 进电机通过花键带动转向摇臂旋转,转向摇臂带动转向直拉杆作竖直方向的平动,再带动 转向节臂做转动,转向节臂带动梯形臂和左轮转动,同时梯形臂带转动向横拉杆作横行平 移,从而带动右侧的转向节臂转动,实现右轮的转向;
[0010] 由于转向系统中转向器选用的是两相混合式步进电机,其传递函数如公式(1)所 示:
[0011] G(S) = 0'/0i (1),
[0012] 公式(1)中,0'是步进电机的输出角度,0:代表步进电机的输入角度,经过微分方 程推导得转子的运动方程如公式(2)所示:

[0014]公式(2)中,J是电机或变速机构折合到电机轴上的转动惯量,单位是kg.m;f是电 机或变速机构折合到电机轴上的粘性摩擦系数,单位是kg .m. s/rad; _是摩擦转矩;入是 极距角;是永磁体交链磁通;P是转子齿数;
[0015]在零初始条件下,当iA=iB=i〇,对公式⑵进行拉普拉斯变换,可推导出相应的转 向系统传递函数模型如公式(3)所示:
[0017] 公式(3)中,10是额定相电流;
是无阻尼固有频率沁= f7(2J wnp)是装减系数;
[0018] (2)、构建RBF神经网络:
[0019] RBF神经元网络由输入层、隐含层、输出层三层网络构成,输入层到隐含层权值固 定为1,负责信号的传递,隐含层由一组高斯基函数神经元构成,隐含层到输出层之间权值 可调,而输出层的激励函数为线性函数,因此输出层是隐含层输出的线性组合;RBF的隐单 兀按公式(4)输出:
[0021] 公式(4)中?,^/,..,,&丨是输入矢量;hi(xk)是第i个隐单元的输出;ci = [Cil,Ci2, ...Cim]是第i个隐单元高斯函数的中心矢量;b = [bl,b2, ? ? ?,bm]是基宽向量;W = [W1,W2, . . .,Wm]是隐含层到输出层的权向量;I |xk-Ci| I表示向量x4Pci之间的距离,随着该 向量距离的增大匕^"的值迅速减小,因此对每一个输入xk,只有中心靠近3的少数几个隐 含层神经元处于激活状态;
[0022] 根据函数逼近原理,RBF网络的输出为隐层节点输出的线性组合,RBF神经网络的 输出如公式(5)所示:
[0024] (3)、构建PID控制系统:
[0025] 基于RBF在线辨识的单神经元PID控制系统主要由SNPID和RBFNNI两部分构成,利 用神经网络的非线性函数逼近能力和学习记忆功能,由RBFNNI快速跟踪转向信息的变化, 对被控对象信息进行辨识,SNPID利用RBFNNI提供的信息,实时调整PID控制器的参数,达到 PID控制器参数的在线自整定,包括以下步骤:
[0026] (3 ? 1)、设计RBF神经网络辨识器RBFNNI:
[0027] 取x= [u(k),u(k_l),y(k_l)]为RBFNNI的输入向量,其中,u(k),y(k)分别为转向 系统的控制值和反馈值,逼近误差e m=y(k)_ym(k),性能指标函数选取为:
[0029]根据梯度下降的思想,采用迭代算法确定权节点、节点中心及节点基宽参数,其中 学习速率q和动量因子a按照公式(8)实现实时更新:
[0031] RBFNNI通过对转向系统的在线辨识获取Jacobian辨识信息送往SNPID,以调整单 神经元控制器的参数,Jacobian矩阵为,
[0033] (3 ? 2)、设计单神经元PID控制器SNPID:
[0034] SNPID是将PID控制规律融入神经网络之中的新型控制器,隐含层中含有比例P、积 分I、微分D三个单元,该控制器利用RBFNNI提供的Jacobian信息,在线调整PID控制器中kP, kukd三个参数,实现PID控制器参数的在线自整定;该控制器实质上为一变系数的比例、积 分、微分控制器,学习算法是自适应的,所以本质上是非线性的;自适应性是通过单神经元 加权系数wi (k)的调整实现,控制和学习算法如下:
[0035]设系统输入指令为rin(k),实际输出为y(k),系统的控制误差为e(k)=rin(k)-y (k)。单神经元的输入为:
[0037]离散控制为:
[0039]公式(11)中,K>0为单神经元的比例系数;Wi (k)为单神经元网络的权系数,性能指 标函数取为:
[0040] Jc = 0.5[rin(k)-y(k) ]2 = 0.5e2(k) (12),
[0041] 加权系数的调整量为:
[0043]
*所以被控对象的Jacobian信息可以由
取代,由此可得调整后的 加权系数如公式(14)所示:
[0045] %,rU,nd,分别为比例、积分、微分的学习速率,对不同的权系数分别进行调整。
[0046] 本发明提出利用具有最佳逼近性能的RBF神经网络对转向系统进行在线辨识,快 速跟踪其信息的变化,在此基础上,单神经元PID控制器SNID(single neuron PID controller)利用BFNNI(RBF neural network identifier)辨识器提供的辨识信息,实时 调整PID控制器参数,结合专门的转向机械机构来实施机器人的自动转向,能够达到良好的 自动转向控制效果。
[0047] 本发明针对机器人转向系统的机械结构及数学模型的特点,设计了基于RBF在线 辨识的机器人转向单神经元PID控制,将RBF神经网络与单神经元PID控制相结合应用于非 线性的机器人转向系统,既充分利用了 RBF神经网络最佳逼近性能的特点和单神经元适应 性强的优点,也克服了PID控制中学习算法的不足。仿真及实验结果表明该控制器具有鲁棒 性好,精度高的优点,具有重要的实用价值。
【附图说明】
[0048]图1为转向系统结构原理示意图。
[0049] 图2为RBF神经网络结构图。
[0050] 图3为基于RBF在线辨识的单神经元PID控制框图。
[00511图4为偏差e的曲线图。
[0052]图5为偏差de的变化曲线图。
[0053]图6为kP,ki,kd随时间的变化曲线图。
[0054] 图 7 为y = sin(2*pi*k*t)+cos(2*pi*k*t/2)的响应曲线图。
[0055] 图8为基于PID和基于RBF在线辨识的单神经元PID控制机器人转向的误差曲线图。
【具体实施方式】
[0056] 机器人自适应转向单神经元PID控制方法,机器人作为移动传感节点,机器人的前 两轮为转向轮,后两轮为驱动轮,包括以下步骤:
[0057] (1 )、建立机器人转向系统的转向模型:
[0058] 构建电机转角与转向轮转角的比例系数为1、两相混合式步进电机6作为转向器的 转向系统,如图1所示,该转向系统包括同轴连接两转向轮1的轮轴,轮轴上铰接有一对梯形 臂2,两梯形臂2上端之间铰接有转向横拉杆7,步进电机6为两相混合步进电机,步进电机6 与一个转向摇臂5传动连接,转向摇臂5臂端与一个转向直拉杆4铰接,转向直拉杆4杆端与 一个转向节臂3铰接,转向节臂3臂端铰接在其中一个梯形臂与轮轴的铰接点;当外部转向 控制器发出转向信号时,步进电机6通过花键带动转向摇臂5旋转,转向摇臂5带动转向直拉 杆4作竖直方向的平动,再带动转向节臂3做转动,转向节臂3带动梯形臂2和左轮转动,同时 梯形臂2带转动向横拉杆7作横行平移,从而带动右侧的转向节臂3转动,实现右轮的转向;
[0059] 由于转向系统中转向器选用的是两相混合式步进电机,其传递函数如公式(1)所 示:
[0060] G(S) = 0,/0i (1),
[0061] 公式(1)中,0'是步进电机的输出角度,代表步进电机的输入角度,经过微分方 程推导得转子的运动方程如公式(2)所示:
[0063] 公式(2)中,J是电机或变速机构折合到电机轴上的转动惯量,单位是kg. m; f是电
机或变速机构折合到电机轴上的粘性摩擦系数,单位是kg .m. s/rad; ?是摩擦转矩;入是 极距角;是永磁体交链磁通;P是转子齿数;
[0064] 在零初始条件下,当iA=iB = io,对公式(2)进行拉普拉斯变换,可推导出相应的 转向系统传递函数模型如公式(3)所示:
[0066] 公式(3)中,1〇是额定相电流;是无阻尼固有频率4 = f/(2Jconp) 是装减系数;
[0067] (2)、构建RBF神经网络:
[0068]如图2所示,RBF神经元网络由输入层、隐含层、输出层三层网络构成,输入层到隐 含层权值固定为1,负责信号的传递,隐含层由一组高斯基函数神经元构成,隐含层到输出 层之间权值可调,而输出层的激励函数为线性函数,因此输出层是隐含层输出的线性组合; RBF的隐单元按公式(4)输出:
[0070] 公式⑷中,,.../f是输入矢量也(/)是第i个隐单元的输出;Cl = [Cil,Ci2, ...Cim]是第i个隐单元高斯函数的中心矢量;b = [bl,b2, ? ? ?,bm]是基宽向量;W = [W1,W2, . . .,Wm]是隐含层到输出层的权向量;I |xk-Ci| I表示向量x4Pci之间的距离,随着该 向量距离的增大匕^"的值迅速减小,因此对每一个输入xk,只有中心靠近3的少数几个隐 含层神经元处于激活状态;
[0071] 根据函数逼近原理,RBF网络的输出为隐层节点输出的线性组合,RBF神经网络的 输出如公式(5)所示:
[0073] (3)、构建PID控制系统:
[0074] 如图3所示,基于RBF在线辨识的单神经元PID控制系统主要由SNPID和RBFNNI两部 分构成,利用神经网络的非线性函数逼近能力和学习记忆功能,由RBFNNI快速跟踪转向信 息的变化,对被控对象信息进行辨识,SNPID利用RBFNNI提供的信息,实时调整PID控制器的 参数,达到PID控制器参数的在线自整定,包括以下步骤:
[0075] (3 ? 1)、设计RBF神经网络辨识器RBFNNI:
[0076]取x= [u(k),u(k_l),y(k_l)]为RBFNNI的输入向量,其中,u(k),y(k)分别为转向 系统的控制值和反馈值,逼近误差em=y(k)_ym(k),性能指标函数选取为:
[0078]根据梯度下降的思想,采用迭代算法确定权节点、节点中心及节点基宽参数,其中 学习速率q和动量因子a按照公式(8)实现实时更新:
[0080] RBFNNI通过对转向系统的在线辨识获取Jacobian辨识信息送往SNPID,以调整单 神经元控制器的参数,Jacobian矩阵为,
[0082] (3 ? 2)、设计单神经元PID控制器SNPID:
[0083] SNPID是将PID控制规律融入神经网络之中的新型控制器,隐含层中含有比例P、积 分I、微分D三个单元,该控制器利用RBFNNI提供的Jacobian信息,在线调整PID控制器中kP, kukd三个参数,实现PID控制器参数的在线自整定;该控制器实质上为一变系数的比例、积 分、微分控制器,学习算法是自适应的,所以本质上是非线性的;自适应性是通过单神经元 加权系数wi (k)的调整实现,控制和学习算法如下:
[0084]设系统输入指令为rin(k),实际输出为y(k),系统的控制误差为e(k)=rin(k)-y (k)。单神经元的输入为:
[0088]公式(11)中,K>0为单神经元的比例系数;wi(k)为单神经元网络的权系数,性能指 标函数取为:
[0089] Jc = 0.5[rin(k)-y(k) ]2 = 0.5e2(k) (12),
[0090] 加权系数的调整量为:
[0092]
,所以被控对象的Jacobian信息可以由
,由此可得调整后的 加权系数如公式(14)所示:
[0094] %,rU,nd,分别为比例、积分、微分的学习速率,对不同的权系数分别进行调整。
[0095] 转向系统仿真:
[0096] 取机器人转向系统的参数如下:(K=3.38*10-4Wb,J = 4.08*10-5Kg.m2,f = 0.011Kg.m/rad/s,I〇=l .6A,所以从公式(3)可知机器人转向系统的传递函数为:
[0098]采用Z变换对该传递函数离散化,取采样周期为0.001s,离散化后如11=[1-1.7059 0.76368],num=[0 0.030186 0.027578],得如下输出差分方程,
[0100]以叉1{=[11(1<-1,:7(10,:7(1<-1)]为1?1^顺1的3个输入变量,:7 = 8;[11(2*卩;[*1<:*1:)+(308 (2*pi*k*t/2)为控制系统的参考输入信号,RBF网络基函数半径取b = 0.53,单神经元比例 系数k = 0.55,加权系数初值取《1 = 0.03,《2 = 0.01,《3 = 0.02,取控制器参数学习速率% = 0.3,ru = 0. 18,nd = 0.25,取采样时间为lms,经过1000个采样周期后,仿真结果如图4~7所 示。从这些仿真结果曲线可以看出:
[0101 ] (1)在图4、图5显不的系统输出偏差和偏差变化率曲线中,控制系统输出响应的前 50个采样周期,偏差变化率ec逐渐增大,偏差e逐渐减小,表明系统的控制精度由于RBFNNI 的准确辨识和SNPID参数的自适应调整而提高,控制系统的输出快速逼近参考曲线。
[0102] (2)从图6的PID控制参数自适应整定的曲线可知:在系统输出响应的前50个采样 周期,由于偏差逐渐减小,比例增益匕从25降到22,以减小响应速度;在前500周期内,为了 抑制超调,微分增益参数kd逐渐增大,500个采样周期后,由于偏差减小,偏差变化率保持稳 定,kd略有减小;为了防止震荡,在前50个周期积分增益ki自适应的从0.7调整到0.9,50个周 期后,由于偏差减小稳定在0的附近,lu保持较大的值0.9,以消除系统的稳态误差。
[0103] (3)图7显示基于RBF在线辨识的单神经元PID控制和常规PID控制分别对y = sin (2*pi*k*t)+cos(2*pi*k*t/2)的响应曲线,其中实线是参考曲线,虚线是基于RBF在线辨识 的机器人转向单神经元PID控制的输出曲线,双划线是PID控制输出的曲线,在初始50个采 样周期,由于RBFNNI刚刚开始辩识,SNPID初值参数的选择未必最为恰当,参数的调整未能 很好的适应输入信号的变化,其控制效果与常规PID控制一样较差,经过50个采样周期后, RBFNNI能够较精确的辨识对象,获得精确的转向信息,SNPID的参数随着准确的辨识信息的 输入而进行相应的调整,控制效果得以的改善,明显的优于PID控制。
[0104] 转向系统实验验证:
[0105]为验证仿真实验结果,在自主研制的机器人上进行了实时控制试验。该转向系统 由SEED-DEC-2812嵌入式控制模板控制,SEED-DEC-643高清晰图像处理平台为控制器提供 转向信息。DEC2812输出PWM,通过驱动电路驱动转向轮,运动时编码盘产生的脉冲数和脉冲 频率提供机器人的角度位置和转速。当机器人以8m/s的速度运行,以y = 12*sin(2*pi*k*t) +cos(2*pi*k*t/2)为参考路径,分别以PID和基于RBF在线辨识的单神经元PID控制机器人 转向,其误差曲线如图8,其中,虚线是PID控制的误差曲线,实线是基于RBF在线辨识的单神 经元PID控制的误差曲线,采用后者控制的机器人转向,其误差范围在-0.0045~0.0052 rad之间,而采用前者的误差范围为在-0.0094~0.0126rad之间,当机器人在[0,200], [400,700],[900,1000]ms这三个时间段内运行时,由于跟踪的路径较为平滑,这两种控制 方法都有较好的跟踪效果,偏差较小,当机器人在[300,400 ]和[700,900 ]ms这两个时间段 内运行时,跟踪的路径是两个转角,由于PID控制不能自适应的调整控制参数,因而产生较 大的偏差,相反,基于RBF在线辨识的单神经元PID控制器具有自适应调整控制参数的能力, 偏差就较小。试验结果表明基于RBF在线辨识的机器人转向单神经元PID控制具有更高的精 度和稳定性。
【主权项】
1.机器人自适应转向单神经元PID控制方法,所述机器人作为移动传感节点,机器人的 前两轮为转向轮,后两轮为驱动轮,其特征在于:包括以下步骤: (1 )、建立机器人转向系统的转向模型: 构建电机转角与转向轮转角的比例系数为1、两相混合式步进电机作为转向器的转向 系统,该转向系统包括同轴连接两转向轮的轮轴,轮轴上铰接有一对梯形臂,两梯形臂上端 之间铰接有转向横拉杆,步进电机为两相混合步进电机,步进电机与一个转向摇臂传动连 接,转向摇臂臂端与一个转向直拉杆铰接,转向直拉杆杆端与一个转向节臂铰接,转向节臂 臂端铰接在其中一个梯形臂与轮轴的铰接点;当外部转向控制器发出转向信号时,步进电 机通过花键带动转向摇臂旋转,转向摇臂带动转向直拉杆作竖直方向的平动,再带动转向 节臂做转动,转向节臂带动梯形臂和左轮转动,同时梯形臂带转动向横拉杆作横行平移,从 而带动右侧的转向节臂转动,实现右轮的转向; 由于转向系统中转向器选用的是两相混合式步进电机,其传递函数如公式(1)所示: G(S) = 0'/0i (1), 公式(1)中,0'是步进电机的输出角度,代表步进电机的输入角度,经过微分方程推导 得转子的运动方程如公式(2)所示:公式(2)中,J是电机或变速机构折合到电机轴上的转动惯量,单位是kg.m;f是电机或 变速机构折合到电机轴上的粘性摩擦系数,单位是kg. m. s/rad; _是摩擦转矩;入是极距 角;巾m是永磁体交链磁通;P是转子齿数; 在零初始条件下,当iA=iB = io,对公式(2)进行拉普拉斯变换,可推导出相应的转向系 统传递函数模型如公式(3)所示:公式(3)中,1〇是额定相电流;是无阻尼固有频率 减系数; (2)、构建RBF神经网络: RBF神经元网络由输入层、隐含层、输出层三层网络构成,输入层到隐含层权值固定为 1,负责信号的传递,隐含层由一组高斯基函数神经元构成,隐含层到输出层之间权值可调, 而输出层的激励函数为线性函数,因此输出层是隐含层输出的线性组合;RBF的隐单元按公 式(4)输出:公式(4)中,/ =[<,.<,...,1,/;^是输入矢量;111(0)是第1个隐单元的输出;(31=[(3 11, Ci2, . . .Cim]是第i个隐单元高斯函数的中心矢量;b=[bi,b2, . . .,bm]是基宽向量;W=[wi, W2, . . .,Wm]是隐含层到输出层的权向量;| |xk_Ci | |表示向量X$Pci之间的距离,随着该向量 距离的增大lu(Xk)的值迅速减小,因此对每一个输入xk,只有中心靠近3的少数几个隐含层 神经元处于激活状态; 根据函数逼近原理,RBF网络的输出为隐层节点输出的线性组合,RBF神经网络的输出 如公式(5)所示:(3)、构建PID控制系统: 基于RBF在线辨识的单神经元PID控制系统主要由SNPID和RBFNNI两部分构成,利用神 经网络的非线性函数逼近能力和学习记忆功能,由RBFNNI快速跟踪转向信息的变化,对被 控对象信息进行辨识,SNPID利用RBFNNI提供的信息,实时调整PID控制器的参数,达到PID 控制器参数的在线自整定,包括以下步骤: (3.1) 、设计RBF神经网络辨识器RBFNNI: 取叉=[11(1〇,11仏-1),7仏-1)]为1^卩顺1的输入向量,其中,11(1〇,7(1〇分别为转向系统 的控制值和反馈值,逼近误差em=y(k)_ym(k),性能指标函数选取为:根据梯度下降的思想,采用迭代算法确定权节点、节点中心及节点基宽参数,其中学习 速率q和动量因子a按照公式(8)实现实时更新:RBFNNI通过对转向系统的在线辨识获取Jacobian辨识信息送往SNPID,以调整单神经 元控制器的参数,Jacobian矩阵为,(3.2) 、设计单神经元PID控制器SNPID: SNPID是将PID控制规律融入神经网络之中的新型控制器,隐含层中含有比例P、积分I、 微分D三个单元,该控制器利用RBFNNI提供的Jacobian信息,在线调整PID控制器中kP,ki,kd 三个参数,实现PID控制器参数的在线自整定;该控制器实质上为一变系数的比例、积分、微 分控制器,学习算法是自适应的,所以本质上是非线性的;自适应性是通过单神经元加权系 数Wi (k)的调整实现,控制和学习算法如下: 设系统输入指令为rin(k),实际输出为y(k),系统的控制误差为e(k)=rin(k)-y(k)。 单神经元的输入为:离散控制为:公式(11)中,K>0为单神经元的比例系数;Wl(k)为单神经元网络的权系数,性能指标函 数取为: Jc = 0.5[rin(k)-y(k)]2 = 0.5e2(k) (12), 加权系数的调整量为:所以被控对象的Jacobian信息可以由取代,由此可得调整后的加权 系数如公式(14)所示:%,化,取,分别为比例、积分、微分的学习速率,对不同的权系数分别进行调整。
【文档编号】G05B11/42GK106054598SQ201610297395
【公开日】2016年10月26日
【申请日】2016年5月5日
【发明人】朱诚, 焦俊, 辜丽川, 吴国栋, 乔焰, 王超, 王永梅, 许正荣, 范国华
【申请人】安徽农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1