一种基于BP神经网络与扩张观测器的电机柔顺控制方法

文档序号:25035852发布日期:2021-05-11 17:07阅读:228来源:国知局
一种基于BP神经网络与扩张观测器的电机柔顺控制方法

本发明涉及电机柔顺控制技术领域,具体为一种基于bp神经网络与扩张观测器的电机柔顺控制方法。



背景技术:

随着机器人技术在各行各业中的普及,新型机器人为了适应越来越多样化的任务,将更多地注重人机协作;且随着对智能制造、助老助残、医疗康复、娱乐陪伴等机器人等应用领域的研究,人们期望机器人能够在复杂且未知的社会化环境中工作;协作机器人能够胜任这类工作并得到了迅速的发展,在越来越多的应用场合中受到青睐;与传统的工业机器人不同,协作机器人的本质在于协作机器人注重关注安全问题以及与环境之间的交互协作,而传统工业机器人要求高精度和高可重复性;此外,大多数工业机器人被预先编程,并被置于固定环境中工作,如果工作环境存在不确定因素,工业机器人就无法正常工作;而协作机器人能够以安全和舒适的方式与人类和环境进行交互。

康复机器人通常具有质量轻、安全性高、对环境的感知适应性好,人机交互能力强等优点,能够满足任务多样性和环境复杂性的要求,主要用于执行与未知环境和人发生交互作用的操作任务,是下一代机器人的重要发展方向;为了实现康复机器人同外界环境和人的安全交互与协作,康复机器人既需要具有轻量化机械本体结构,还必须具备柔顺运动性能;未来将是人、机器人共融的时代,因此开发具有外柔顺控制功能的康复机器人在工程实践中具有重要意义。

目前人机交互的柔顺性,主要靠一类特殊的控制方法——柔顺控制来实现;柔顺控制主要有导纳控制和阻抗控制两种方法,它们是具有相同控制目标的两种不同实现方式,其稳定性和性能特点是互补的;其中:

导纳控制主要研究输入力与输出速度之间的关系,当力与速度之间成最简单的正比例关系时,符合加力速度快,力小则速度慢的习惯,所以导纳控制过程中的人机力触觉交互更加符合人们的习惯,能提高操作的沉浸感和真实感;

阻抗控制则是指输入位移与输出力的控制方式,通过机器人实际位置x和参考位置x0之间偏差e的反馈,根据期望的目标阻抗特性gd(s)计算出期望施加在机器人交互位置处的力/力矩fd,而后通过控制每个关节的输出力矩使得交互位置处产生该期望力/力矩,从而实现期望的柔顺特性;阻抗控制本质是基于位置反馈的力控制器,因此,该控制架构下控制器设计的关键是力控制器的设计。阻抗方法控制精度高且能够实现整体柔顺,由于其易于设计、价格低,应用较为广泛。

但是,传统的导纳控制以位置控制作为内部控制回路,受位置控制回路带宽的限制,导纳控制架构主要的缺点在于当期望低刚度特性时,外环增益过大,容易导致系统不稳定;且由于导纳控制需要使用力传感器,往往增加了设备的成本,不易于人机协作机器人的推广。

并且,传统的阻抗控制在实际控制中往往需要用到机器人系统的动力学模型与摩擦力辨识,如果动力学数学模型或摩擦力模型辨识不准确,将影响阻抗控制的精度,期望力难以被精确跟踪。



技术实现要素:

本发明的目的在于提供一种基于bp神经网络与扩张观测器的电机柔顺控制方法,主要在于设计一种康复机器人在进行人机交互时末端无需安装力传感器,亦无须对动力学模型进行精确建模,即可实现柔顺控制的方法。

为实现上述目的,本发明提供如下技术方案,一种基于bp神经网络与扩张观测器的电机柔顺控制方法,包括康复机器人的被控关节对应的被控模型,该被控模型包括康复机器人电机的电机编码器、动力学建模、摩擦力建模与辨识,主要包括如下步骤:

s1.根据被控模型建立自抗扰控制器;

s2.建立bp神经网络模型,实现对自抗扰控制器中的内部扰动估计;

s3.构建扩张观测器,并通过融合bp神经网络模块,实现外部交互力估算并得到估算交互力矩;

s4.将s3中的估算交互力矩与导纳控制算法结合,达到柔顺控制。

优选的,所述s1中建立自抗扰控制器的具体方法为:

s11.设计三阶离散扩张观测器es01

扩张状态观测器es01的三阶离散形式的公式如下:

式中,x(k)为通过电机编码器采集得到的康复机器人电机的角度输出;g(z11)为通过动力学模型获得到的康复机器人的重力补偿模型;fric(z11,z21)为通过摩擦力建模与辨识获得的康复机器人的摩擦力补偿模型;j0为通过动力学建模获得的康复机器人的关节转动惯量;z11(k)为eso1输出信号的估计;z21(k)为eso1输出信号的微分估计;z31(k)指eso1中未建模状态扰动的估计;δ为0.01;β01、β02、β03是eso1需要整定的参数,h为积分步长;fal(·)公式则由以下公式得到:

s12.设计二阶离散形式的跟踪-微分器方程

跟踪-微分器用于安排过渡过程和提取近似微分信号,得到指令跟踪值,根据被控模型的承受能力安排过渡过程;

首先,跟踪-微分器的二阶离散形式公式为:

式中,h为采样周期,θd(k)是第k时刻的指令信号,r为决定跟踪快慢的速度因子,其余均为中间变量;而fhan(·)是二阶离散形式公式的最速控制综合函数,具体为:

最后得到x1为θd(k)的指令跟踪值,记为θd′;得到x2为θd(k)的指令近似微分,记为

s13.设计非线性状态误差反馈控制律

非线性状态误差反馈控制律设计如下:

其中,α3、α4、δ2、β1和β2是非线性状态误差反馈控制律需要整定的控制参数,通常可选择:0<α3<1<α4,5h≤δ2≤10h;

然后,经过扰动补偿和模型补偿得到自抗扰控制器的输出信号u,并将u作为关节力矩的控制信号:

继而,得到电机输出力矩公式为:

τ=u+τgravity+τfri

式中,τgravity为关节重力补偿力矩,可通过动力学建模与辨识获得;τfric为关节摩擦力补偿力矩,可通过摩擦力建模与辨识获得;

通过在es01中获取无人交互是不同状态下的康复机器人关节位移与速度,得到康复机器人被控模型的内部扰动估计。

优选的,s2中建立bp神经网络模型,实现对自抗扰控制器中的内部扰动估计具体方法为:

s21.采集神经网络的训练数据集

当康复机器人的关节在adrc控制下,在未与人进行交互时,在不同速度不同位移下自动运行,采集在此过程中扩张观测器es01中的z11,z12,z13作为神经网络的训练数据集;

s22.建立bp神经网络

建立三层bp神经网络,包括输入层、隐含层和输出层,其中:

所述输入层的节点为2个,该输入层的输入为:o1=z11,o2=z21;

所述隐含层的输入和输出为:

式中,为隐含层加权系数;n≥10;然后将隐含层采用双曲正切行数激活,具体为:

所述输出层的节点个数为1个,该输出层的输入和输出公式为:

然后对输出层的神经元采用非负的sigmoid函数激活,具体为:

且所述输入层、隐含层、输出层中各层的节点仅与相邻层的节点全连接,且各层内的节点之间无任何连接。

s23.bp神经网络的训练

首先,使用s21得到的训练数据集进行信号的前向传播训练,具体为:

将训练数据集的输入信号从输入层经隐含层逐层处理后转向输出层,该性能指定函数为:若产生的输出信号与训练数据集的输出误差信号大,则接着进行反向传播训练bp神经网络,具体包括:

依照经典误差信号反向传播规则:

权值调整量δw=学习率η·局部梯度δ·上一层输出信号v。

经过训练后的bp神经网络,可以通过扩张状态器eso1的输出状态:当前速度与当前位移,估算出关节在无人与其交互时,关节系统的内部扰动,该内部扰动包括了关节摩擦力以及系统未建模状态;

利用es01中的康复机器人关节的位移与速度作为输入,内部扰动作为输出来训练bp神经网络。

优选的,步骤s3中构建扩张观测器,通过融合bp神经网络模块,实现外部交互力估算具体方法如下:

s31.设计三阶离散扩张状态观测器es02

扩张状态观测器es02的三阶离散形式为:

式中,x(k)为通过电机编码器采集得到的康复机器人电机的角度输出;zbp(z12,z22)为bp神经网络内扰估计,zbp(z12,z22)=oout(k);z12(k)为eso2输出信号的估计;z22(k)为eso2输出信号的微分估计;z32(k)为eso2系统中未建模状态扰动的估计;β11、β12、β13是eso2需要整定的参数,h为积分步长;fal(·)公式同s11的fal(·)一致;

s32.设计非线性状态误差反馈控制律

非线性状态误差反馈控制律的公式为:

然后,经过扰动补偿和模型补偿得到自抗扰控制器的输出信号u′,并将u′作为关节力矩的控制信号:

然后得到电机输出力矩公式:τ′=u′+τgravity+τfri。

优选的,步骤s4中结合导纳控制算,实现柔顺控制效果的具体方法包括:

根据s31得到es02的扩张观测值为z32,z32是es02在进行扩张观测时,已经减去了经bp神经网络估算后的扰动zbp,因此z32在物理意义上可认为康复机器人关节与人交互时的外部扰动,即人施加于康复机器人关节的估算交互力矩;然后利用z32构建导纳控制器:

式中,fext为估算处的人机交互时人施加于康复机器人关节的估算交互力矩;s为拉普拉斯算子;m为导纳控制器中的虚拟质量参数;b为导纳控制器中的虚拟阻尼参数;k为导纳控制器中的虚拟阳刚参数,x0为初始规划位置。

与现有技术相比,本发明的有益效果是:本发明结合自抗扰控制策略、bp神经网络与扩张观测器的柔顺方法,使康复机器人在进行人机交互时末端无需安装力传感器,亦无需对动力学模型进行精确建模,具有力跟踪精度高、硬件成本低、系统稳定性好的优点。

附图说明

图1为本发明康复机器人关节使用自抗扰控制的结构示意图;

图2为本发明bp神经网络的结构示意图;

图3为本发明bp神经网络与自抗扰控制器结合的阻抗控制结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种技术方案:一种基于bp神经网络与扩张观测器的电机柔顺控制方法,包括康复机器人的被控关节对应的被控模型,该被控模型包括康复机器人电机的电机编码器、动力学建模、摩擦力建模与辨识,主要包括如下步骤:

步骤一、根据被控模型建立自抗扰控制器;

步骤二、建立bp神经网络模型,实现对自抗扰控制器中的内部扰动估计;

步骤三、构建扩张观测器,并通过融合bp神经网络模块,实现外部交互力估算并得到估算交互力矩;

步骤四、将s3中的估算交互力矩与导纳控制算法结合,达到柔顺控制。

其中,步骤一中建立自抗扰控制器的具体方法包括:

图1所示为自抗扰控制器原型

1.1设计三阶离散扩张观测器es01

扩张状态观测器es01的三阶离散形式的公式如下:

式中,x(k)为通过电机编码器采集得到的康复机器人电机的角度输出;g(z11)为通过动力学模型获得到的康复机器人的重力补偿模型;fric(z11,z21)为通过摩擦力建模与辨识获得的康复机器人的摩擦力补偿模型;j0为通过动力学建模获得的康复机器人的关节转动惯量;z11(k)为eso1输出信号的估计;z21(k)为eso1输出信号的微分估计;z31(k)指eso1中未建模状态扰动的估计;δ为0.01;β01、β02、β03是eso1需要整定的参数,h为积分步长;fal(·)公式则由以下公式得到:

1.2设计二阶离散形式的跟踪-微分器方程

跟踪-微分器用于安排过渡过程和提取近似微分信号,得到指令跟踪值,根据被控模型的承受能力安排过渡过程;

跟踪-微分器的二阶离散形式公式为:

式中,h为采样周期,θd(k)是第k时刻的指令信号,r为决定跟踪快慢的速度因子,其余均为中间变量;而fhan(·)是二阶离散形式公式的最速控制综合函数,具体为:

根据跟踪-微分器的二阶离散形式公式得到的x1为θd(k)的指令跟踪值,记为θd′;得到x2为θd(k)的指令近似微分,记为

1.3设计非线性状态误差反馈控制律

非线性状态误差反馈控制律设计如下:

式中,α3、α4、δ2、β1和β2是非线性状态误差反馈控制律需要整定的控制参数,通常可选择:0<α3<1<α4,5h≤δ2≤10h;

接着,经过扰动补偿和模型补偿得到自抗扰控制器的输出信号u,并将u作为关节力矩的控制信号:

然后得到电机输出力矩公式为:

τ=u+τgravity+τfri

式中,τgravity为关节重力补偿力矩,可通过动力学建模与辨识获得;τfric为关节摩擦力补偿力矩,可通过摩擦力建模与辨识获得;

通过在es01中获取无人交互是不同状态下的康复机器人关节位移与速度,得到康复机器人被控模型的内部扰动估计。

步骤2中建立bp神经网络模型,实现对自抗扰控制器中的内部扰动估计具体方法包括:

2.1采集神经网络的训练数据集

当康复机器人的关节在adrc控制下,在未与人进行交互时,在不同速度不同位移下自动运行,采集在此过程中扩张观测器es01中的z11,z12,z13作为神经网络的训练数据集;

2.2建立bp神经网络

如图2所示,建立三层bp神经网络,包括输入层、隐含层和输出层,其中:

所述输入层的节点为2个,该输入层的输入为:o1=z11,o2=z21;

所述隐含层的输入和输出为:

式中,为隐含层加权系数;n≥10;然后将隐含层采用双曲正切行数激活,具体为:

所述输出层的节点个数为1个,该输出层的输入和输出公式为:

然后对输出层的神经元采用非负的sigmoid函数激活,具体为:

且所述输入层、隐含层、输出层中各层的节点仅与相邻层的节点全连接,且各层内的节点之间无任何连接。

2.3bp神经网络的训练

首先,使用s21得到的训练数据集进行信号的前向传播训练,具体为:

将训练数据集的输入信号从输入层经隐含层逐层处理后转向输出层,该性能指定函数为:若产生的输出信号与训练数据集的输出误差信号大,则接着进行反向传播训练bp神经网络,具体包括:

依照经典误差信号反向传播规则:

权值调整量δw=学习率η·局部梯度δ·上一层输出信号v。

经过训练后的bp神经网络,可以通过扩张状态器eso1的输出状态:当前速度与当前位移,估算出关节在无人与其交互时,关节系统的内部扰动,该内部扰动包括了关节摩擦力以及系统未建模状态;

利用es01中的康复机器人关节的位移与速度作为输入,内部扰动作为输出来训练bp神经网络。

步骤3中构建扩张观测器,通过融合bp神经网络模块,实现外部交互力估算具体方法包括:

如图3所示,将bp神经网络与自抗扰控制器相结合的结构中,eso2为新的扩张观测器,bp神经网络对无人机交互时的内扰进行实时估计;

3.1设计三阶离散扩张状态观测器es02

扩张状态观测器es02的三阶离散形式为:

式中,x(k)为通过电机编码器采集得到的康复机器人电机的角度输出;zbp(z12,z22)为bp神经网络内扰估计,zbp(z12,z22)=oout(k);z12(k)为eso2输出信号的估计;z22(k)为eso2输出信号的微分估计;z32(k)为eso2系统中未建模状态扰动的估计;β11、β12、β13是eso2需要整定的参数,h为积分步长;fal(·)公式同s11的fal(·)一致;

3.2设计非线性状态误差反馈控制律

非线性状态误差反馈控制律的公式为:

然后,经过扰动补偿和模型补偿得到自抗扰控制器的输出信号u′,并将u′作为关节力矩的控制信号:

然后得到电机输出力矩公式:τ′=u′+τgravity+τfri。

步骤4中结合导纳控制算,实现柔顺控制效果的具体方法包括:

根据s31得到es02的扩张观测值为z32,z32是es02在进行扩张观测时,已经减去了经bp神经网络估算后的扰动zbp,因此z32在物理意义上可认为康复机器人关节与人交互时的外部扰动,即人施加于康复机器人关节的估算交互力矩;然后利用z32构建导纳控制器:

式中,fext为估算处的人机交互时人施加于康复机器人关节的估算交互力矩;s为拉普拉斯算子;m为导纳控制器中的虚拟质量参数;b为导纳控制器中的虚拟阻尼参数;k为导纳控制器中的虚拟阳刚参数,x0为初始规划位置。

本发明柔顺控制方法在eso1中,通过获取在无人交互时不同状态下的康复机器人关节的位移与速度,得到内部扰动估计;利用eso1中的康复机器人关节的位移与速度作为输入、内部扰动作为输出,训练bp神经网络;将神经网络作为新的eso2的状态估计,得到人机交互时人对关节的交互力矩估计,利用该交互力矩进行柔顺控制。

尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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