一种多自由度机械臂系统的控制器的优化设计方法与流程

文档序号:19152801发布日期:2019-11-16 00:17阅读:237来源:国知局
一种多自由度机械臂系统的控制器的优化设计方法与流程

本发明属于机械臂控制技术领域,涉及一种多自由度机械臂系统的控制器的优化设计方法。



背景技术:

机械臂系统作为一种先进的机电一体化产品,目前在制造业领域得到了广泛和成功的应用。随着机器人相关技术的飞速发展,机械臂的类型和功能将会不断地发展和完善,并且逐步拓展其应用领域,这是一种有着美好发展前途和广泛应用前景的机器人产品。机械臂控制系统是所有机器人产品的大脑,它控制着机器人的运动、思维和行为。当前,随着智能控制技术的发展和进步,必然带动机器人的智能性和控制性能得到巨大的提升。

随着控制理论与技术的发展和进步,许多智能控制方法被应用于机器人或机械臂的控制器的设计。其中典型的智能控制方法包括神经网络控制、模糊控制,以及几种智能控制方法的相互融合,或者智能控制方法与传统控制方法相结合的混合控制方法。这些智能控制方法一般无需对机械臂系统精确的数学模型,并且对于系统参数和控制工况的变化具有较强的自适应性,因而可取得较为理想的动态性能。实际中的机械臂模型在动力学方面往往体现为强耦合、非线性和时变的微分方程组,对应的控制参数数目较多,控制性能要求是多方面的,这些特性恰好适合智能控制方法的应用。

机械臂轨迹跟踪技术就是使得多个自由度机械臂的各关节或末端执行器来跟踪设定的运行轨迹或稳定在指定的位置上,并且具有良好的动态性能。但是实际上机械臂各关节的控制闭环并非完全独立,它们相互之间存在较为严重的耦合现象,这种使得机器人的数学模型呈现出严重的非线性特征,给机械臂的轨迹跟踪控制带来了一些挑战。

机械臂轨迹跟踪控制器的设计主要有两方面的要求:一是如何实现闭环误差系统的快速稳定,使得轨迹跟踪误差尽快趋近于零;另一个则是如何抑制系统存在的各种干扰,尽可能地减小它们对跟踪精度的影响。但是对于实际的机械臂系统而言,很难得到其精确的数学模型,并且系统的干扰信号或者未知,或者是难以检测。因而应用传统的伺服控制理论来设计控制器存在较大的困难,也无法保证控制系统的控制品质。

已有的机械臂控制系统设计方法存在一些不足之处:

其一,现有的轨迹跟踪控制器设计方法,大多是基于已知或者近似的数学模型并且采用传统的pid控制策略来实现闭环控制,控制器的参数多采用试凑的方法进行确定,无法满足高精度场合的应用要求;

其二,另外,许多方法在设计时往往强调控制系统的跟踪精度,忽略了系统的动态性能以及伺服电机驱动系统的限制条件。



技术实现要素:

有鉴于此,为解决上述现有技术的不足,本发明的目的在于提供了一种多自由度机械臂系统的控制器的优化设计方法,将人工神经网络技术和进化多目标优化算法相结合,针对具有非线性和不确定性模型的多自由度机械臂轨迹跟踪控制系统,来确定多变量pid控制器的最优参数。

为实现上述目的,本发明所采用的技术方案是:

一种多自由度机械臂系统的控制器的优化设计方法,包括以下步骤:

s1:根据机械臂的具体结构和关节参数,建立机械臂的运动学方程,并根据末端执行器期望轨迹,确定多自由度机械臂系统的各关节变量的变化轨迹;

s2:利用实验建模方法得到训练数据集,训练径向基函数(rbf)神经网络辨识器,替代未知的机械臂系统动力学模型;

s3:确定rbf神经网络辨识器的初始参数:根据步骤s2中得到的训练数据集,确定rbf神经网络辨识器中隐含层神经元的数目,以及这些神经元对应基函数的初始中心和宽度;

s4:通过步骤s3得到的神经网络的初始结构和参数,利用步骤s2中得到的训练数据集,并且根据选定的神经网络性能评价指标和梯度下降法,完成神经网络的训练过程;

s41:根据步骤s3得到的神经网络中所有神经元的径向基函数的中心和宽度后,神经网络的权值则根据所采用的性能评价标准并利用梯度下降法进行调整和确定;

s42:采用典型的均方误差mse(meansquareerror)作为评价指标,其定义如下:

式中,yd(n)表示期望输出,y(n)表示神经网络的实际输出,n表示数据集的样本数目;

s43:在神经网络训练的过程中,如果评价指标的值小于评价指标事先设定的阈值,则结束训练过程;当神经网络的训练结束后,所得到辨识器则替代机械臂的实际动力学模型,用于后续控制器的优化设计;

s5:对机械臂系统的每个关节,分别设计独立的位置闭环控制系统,每个闭环控制系统中均采用传统pid控制策略来确定位置环的控制量;

s6:将机械臂轨迹规划中控制器的设计问题,转化为多目标优化问题,并且确定优化目标、待优化参数和设计相应的多目标优化算法来确定控制器的最优参数;

s7:通过步骤s6中获得的控制器参数来设计运动控制程序,进而实现机械臂的轨迹跟踪控制功能。

进一步的,所述步骤s1,具体包括以下子步骤:

a1:根据所应用的机械臂各个关节的类型、具体尺寸以及它们之间的连接方式,利用denavit和hartenberg所提出的d-h方法建立机械臂的运动学模型;

a2:基于机械臂的末端执行器期望轨迹,采用插补算法求出该执行器在运动过程中所经过各个路径点在操作空间的具体坐标,然后利用坐标变换得到机械臂各个关节的运动变量;

a3:同时,设定机械臂经过各个路径点所对应的具体的控制时刻,来进一步限定机械臂系统的动态性能。

进一步的,所述机械臂各个关节的运动变量为:转角或位移。

进一步的,所述步骤s2中,得到训练数据集的步骤如下:

a1:分别确定机械臂每个关节对应的转矩的幅值tmax,并且在该变化范围内选择周期性的波动信号作为输入信号;

a2:实验测得每个采样时刻所对应的输出信号,包括每个关节的位移或者角位移;

a3:同时利用位移信号计算得到对应的速度值,采集所有的输入-输出数据,即作为训练数据集。

进一步的,所述步骤s3中,确定rbf神经网络辨识器的初始参数的方法,具体包括以下步骤:

a1:确定rbf神经网络对应的神经元数目m,即神经网络中的隐层节点数目,同时确定这些节点中的径向基函数中心的初值ci(i=1,2,k,m);

a2:将训练数据集中的每个样本按照欧几里得距离划分到与之最近的中心:

a3:计算每个聚类中所有样本的平均值,并将其赋值作为下一代的聚类中心坐标:

a4:聚类过程的结束条件判断,将所有聚类的中心变化幅度小于设定的阈值作为结束条件,如果满足该条件,则聚类过程结束;否则,转到步骤s32,并进行下一次聚类操作;

a5:聚类结束后计算径向基函数的宽度半径,其为每个聚类中心与该聚类样本之间距离的平均值:

进一步的,所述步骤s5中,各个关节独立的位置闭环控制系统的设计,包括以下步骤:

a1:将机械臂的每个关节作为一个独立的单输入/单输出系统来进行处理,实现位置闭环控制,进而每个子系统分别采用独立的pid控制策略;各个关节之间的动态耦合现象被视为是干扰信号;

a2:在机械臂系统的分布式控制中,arm作为主控制单元,fpga控制器则用于实现机械臂各个关节的独立和并行控制功能,输出位置环的控制量到每个电机的驱动器;

a3:在arm主控制单元中计算和存储机械臂各个关节在相应时刻的关键点,由编码器获得各个关节的实际位置信号,并且反馈到arm主控制单元中,在arm主控制单元中构成反馈环;

a4:在每个设定的控制周期中,根据此时各个关节的目标位置,与从编码器检测到的脉冲数目换算后的实际位置相比较,利用pid控制算法得到位置环的控制量,即各个关节的驱动力矩,经过限幅后通过fpga控制器输出到各伺服电机驱动器,控制伺服电机的运行;其中,伺服电机驱动器的控制模式设置为力矩控制模式。

进一步的,所述步骤s6中,用于控制器参数优化的多目标优化算法,包括以下步骤:

a1:根据机械臂系统类型和特点,确定多自由度机械臂系统中控制器的待优化参数;将每个关节控制器中的pid参数作为待优化参数,总共的参数数目为n×3个(n为多自由度的关节数目),如下所示:

a2:确定该多目标优化问题待优化的多个目标:将机械臂轨迹跟踪问题的跟踪精度f1和驱动力矩的平稳度f2作为两个待优化的多个优化目标,其中跟踪精度和平稳度的定义和计算公式如下:

式中,n为关节的数目,tf表示整个运动时长所包含的控制周期数;

a3:待优化参数对应的每个个体采用实数编码方式,随机生成初始种群,并且设置算法的相关运行参数;

a4:针对当前种群中每个个体所对应的pid控制器参数,并且基于独立的位置闭环控制系统模型,利用数值仿真模型来计算轨迹跟踪控制系统的多个性能指标,并基于pareto占优概念对所有个体进行评价和比较;

a5:选择当前种群中的一定比例的优良个体,实施遗传进化操作,产生一定数目并发生变异的新个体;

a6:计算新个体对应的优化目标,并再次利用pareto占优概念对新个体进行比较和选择,考虑到个体之间的多样性,确定新一代种群中的个体组成;

a7:算法终结条件判断:若满足则结束算法的迭代优化过程,否则转到步骤a4继续进行算法的优化过程;

a8:当多目标优化算法运行结束后,可从优化解中综合考虑选择最优的折衷解,最终得到的优化解即对应于机械臂系统中的控制器参数,即所有关节位置控制器中的pid参数。

进一步的,所述pid参数为比例、积分和微分参数。

进一步的,所述步骤s7中,中断控制子程序的具体实施步骤如下:

a1:根据arm的主频设置控制周期为2-10ms;

a2:在每个插补周期,读取轨迹规划所得到中间点的目标位置,然后细分后的目标位置,该位置转化为增量编码器的脉冲数目;

a3:由arm控制器内部的定时器设置控制周期的定时时长,每个控制周期进入定时中断服务子程序;

a4:读取每个关节位置的反馈值,实施增量式pid控制算法,得到每个关节的驱动力矩;

a5:将得到的驱动力矩经过限幅后,通过串行通信方式传递给fpga控制器;

a6:fpga控制器将转矩信号转换为数字量,并采用并行方式通过d/a转换接口输出到各个伺服电机驱动器。

进一步的,所述插补周期为50ms。

本发明的有益效果是:

基于本发明的优化设计方法所优化得到的机械臂系统控制器,为多变量pid控制器,可处理机械臂系统模型不确定以及关节之间存在强耦合现象时,获得较高的跟踪精度和良好的动态性能;

另外,本发明优化所采用的进化多目标优化算法,能够综合考虑系统的跟踪精度和动态性能以及控制的平稳性,确定最为合适的控制器参数,具有较强的通用性,亦可以克服常用实验反复试凑方法所带来的弊端。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的机械臂系统的结构框图;

图2为图1系统分布式控制结构框图;

图3为机械臂各关节独立位置控制框图;

图4为机械臂动力学模型辨识结构框图;

图5为多目标优化算法的流程图;

图6为机械臂中断控制子程序流程图;

具体实施方式

下面给出具体实施例,对本发明的技术方案作进一步清楚、完整、详细地说明。本实施例是以本发明技术方案为前提的最佳实施例,但本发明的保护范围不限于下述的实施例。

一种多自由度机械臂系统的控制器的优化设计方法,包括以下步骤:

s1:根据机械臂的具体结构和关节参数,建立机械臂的运动学方程,并根据末端执行器期望轨迹,确定多自由度机械臂系统的各关节变量的变化轨迹;

s2:利用实验建模方法得到训练数据集,训练径向基函数(rbf)神经网络辨识器,替代未知的机械臂系统动力学模型;

s3:确定rbf神经网络辨识器的初始参数:根据步骤s2中得到的训练数据集,确定rbf神经网络辨识器中隐含层神经元的数目,以及这些神经元对应基函数的初始中心和宽度;

s4:通过步骤s3得到的神经网络的初始结构和参数,利用步骤s2中得到的训练数据集,并且根据选定的神经网络性能评价指标和梯度下降法,完成神经网络的训练过程;

s41:根据步骤s3得到的神经网络中所有神经元的径向基函数的中心和宽度后,神经网络的权值则根据所采用的性能评价标准并利用梯度下降法进行调整和确定;

s42:采用典型的均方误差mse(meansquareerror)作为评价指标,其定义如下:

式中,yd(n)表示期望输出,y(n)表示神经网络的实际输出,n表示数据集的样本数目;

s43:在神经网络训练的过程中,如果评价指标的值小于评价指标事先设定的阈值,则结束训练过程;其中,设定的阈值越小,说明神经网络的性能越好,反之则说明性能较差;本实施例中,设定的该阈值可以根据本领域技术人员需要进行实际设置具体的数值,并且越小越好;如图4所示,当神经网络的训练结束后,所得到辨识器则替代机械臂的实际动力学模型,用于后续控制器的优化设计;

s5:对机械臂系统的每个关节,分别设计独立的位置闭环控制系统,每个闭环控制系统中均采用传统pid控制策略来确定位置环的控制量;

s6:将机械臂轨迹规划中控制器的设计问题,转化为多目标优化问题,并且确定优化目标、待优化参数和设计相应的多目标优化算法来确定控制器的最优参数;

s7:通过步骤s6中获得的控制器参数来设计运动控制程序,进而实现机械臂的轨迹跟踪控制功能。

进一步的,所述步骤s1,具体包括以下子步骤:

a1:根据所应用的机械臂各个关节的类型、具体尺寸以及它们之间的连接方式,利用denavit和hartenberg所提出的d-h方法建立机械臂的运动学模型;

a2:基于机械臂的末端执行器期望轨迹,采用插补算法求出该执行器在运动过程中所经过各个路径点在操作空间的具体坐标,然后利用坐标变换得到机械臂各个关节的运动变量:转角或位移;其中,各个路径点亦称为采样点;

a3:同时,设定机械臂经过各个路径点所对应的具体的控制时刻,来进一步限定机械臂系统的动态性能。如图1所示,所确定的期望轨迹为多自由度机械臂系统的给定输入。

进一步的,上述中的所述机械臂各个关节的运动变量为:转角或位移。

进一步的,所述步骤s2中,得到训练数据集的步骤如下:

a1:分别确定机械臂每个关节对应的转矩的幅值tmax,即上限和下限,并且在该变化范围内选择周期性的波动信号作为输入信号;比如采用正弦三角函数波形作为周期性的波动信号;

a2:实验测得每个采样时刻所对应的输出信号,包括每个关节的位移或者角位移;

a3:同时利用位移信号计算得到对应的速度值,采集所有的输入-输出数据,即作为训练数据集。

如图1所示,本发明的机械臂系统具有一个控制器,负责实现机械臂的运动轨迹规划算法,本发明中,采用arm微控制器来实现运动规划功能,其采用高性能的cortex-m3系列的lpc1788芯片。同时每个关节对应于一个伺服电机、电机驱动器和编码器,共同构成一个位置伺服控制系统。arm微控制器和各关节之间通过fpga的通信接口传递数据,实现对关节变量的控制以及各个关节之间的协调工作,进而实现对机械臂末端执行器轨迹的精确控制;

安装在每个伺服电机上的编码器可检测到每个关节的实际位置信息,并且根据两次采样时刻的位置变化率可得到速度信息。本发明采用增量式编码器用于将伺服电机的旋转位移信号转换成周期性的电脉冲信号,脉冲的个数就可反映位移大小,结合给定的参考位置就可确定电机的实际位置;

增量式编码器输出的a路和b路两个通道的信号接到lpc1788芯片内部捕获单元的引脚上,可利用arm内部的正交编码器电路单元和计数器完成电机转向判定以及电机位置的确定。增量式编码器的z信号可以接到lpc1788芯片的外部中断输入引脚上,通过中断即可捕捉到z信号对应的脉冲(判断关节的绝对零位);

利用arm内部的定时器,在每个控制周期读取arm内部存储表格中的机械臂各个关节转矩的设定值,并且读取此时每个关节的实际位置和实际速度,它们共同构成训练数据集中的一组数据。

进一步的,需要说明的是,本发明实施例需要对应用中数学模型不确定的非线性机械臂系统进行模型辨识,获得其动力学模型,采用径向基神经网络辨识器实现其模型辨识功能;

步骤s2中获得的实验数据样本可作为神经网络的训练数据集,用于训练图4中的神经网络辨识器,并且满足设定的准则函数。神经网络训练或者学习的过程,也就是对动力学模型进行辨识的过程。为了提高神经网络的学习效率,所述步骤s3中,确定rbf神经网络辨识器的初始参数的方法,具体包括以下步骤:

a1:确定rbf神经网络对应的神经元数目m,即神经网络中的隐层节点数目,同时确定这些节点中的径向基函数中心的初值ci(i=1,2,k,m);

a2:将训练数据集中的每个样本按照欧几里得距离划分到与之最近的中心:

a3:计算每个聚类中所有样本的平均值,并将其赋值作为下一代的聚类中心坐标:

a4:聚类过程的结束条件判断,将所有聚类的中心变化幅度小于设定的阈值作为结束条件,如果满足该条件,则聚类过程结束;否则,转到步骤s32,并进行下一次聚类操作;

a5:聚类结束后计算径向基函数的宽度半径,其为每个聚类中心与该聚类样本之间距离的平均值:

进一步的,对应的结构框图分别图2、3所示,所述步骤s5中,各个关节独立的位置闭环控制系统的设计,包括以下步骤:

a1:将机械臂的每个关节作为一个独立的单输入/单输出系统来进行处理,实现位置闭环控制,进而每个子系统分别采用独立的pid控制策略;各个关节之间的动态耦合现象被视为是干扰信号;同时这种控制策略亦可以处理模型中的不确定性因素和未知的各种扰动信号;

a2:如图2所示,在机械臂系统的分布式控制中,arm作为主控制单元,其具有高速运算的能力,并且片内资源丰富,可以满足机械臂控制的要求;fpga控制器则用于实现机械臂各个关节的独立和并行控制功能,其具有强大的并行处理能力和良好的可拓展性能,输出位置环的控制量到每个电机的驱动器;

a3:在arm主控制单元中计算和存储机械臂各个关节在相应时刻的关键点即位置,由编码器获得各个关节的实际位置信号,并且反馈到arm主控制单元中,在arm主控制单元中构成反馈环;

a4:在每个设定的控制周期中,根据此时各个关节的目标位置,与从编码器检测到的脉冲数目换算后的实际位置相比较,利用pid控制算法得到位置环的控制量,即各个关节的驱动力矩,经过限幅后通过fpga控制器输出到各伺服电机驱动器,控制伺服电机的运行;其中,伺服电机驱动器的控制模式设置为力矩控制模式。该过程如图3的机械臂各关节独立位置控制框图所示。

进一步的,图5所示,所述步骤s6中,用于控制器参数优化的多目标优化算法,包括以下步骤:

a1:根据机械臂系统类型和特点,确定多自由度机械臂系统中控制器的待优化参数;将每个关节控制器中的pid参数,即比例、积分和微分参数作为待优化参数,总共的参数数目为n×3个(n为多自由度的关节数目),如下所示:

a2:确定该多目标优化问题待优化的多个目标:将机械臂轨迹跟踪问题的跟踪精度f1和驱动力矩的平稳度f2作为两个待优化的多个优化目标,其中跟踪精度和平稳度的定义和计算公式如下:

式中,n为关节的数目,tf表示整个运动时长所包含的控制周期数;

a3:待优化参数对应的每个个体采用实数编码方式,随机生成初始种群,并且设置算法的相关运行参数;

a4:针对当前种群中每个个体所对应的pid控制器参数,并且基于独立的位置闭环控制系统模型,利用数值仿真模型来计算轨迹跟踪控制系统的多个性能指标即优化目标,并基于pareto占优概念对所有个体进行评价和比较;

a5:选择当前种群中的一定比例的优良个体,实施遗传进化操作,产生一定数目并发生变异的新个体;

a6:计算新个体对应的优化目标,并再次利用pareto占优概念对新个体进行比较和选择,考虑到个体之间的多样性,确定新一代种群中的个体组成;

a7:算法终结条件判断:若满足则结束算法的迭代优化过程,否则转到步骤a4继续进行算法的优化过程;

a8:当多目标优化算法运行结束后,可从优化解中综合考虑选择最优的折衷解,最终得到的优化解即对应于机械臂系统中的控制器参数,即所有关节位置控制器中的pid参数。

进一步的,上述中,所述pid参数为比例、积分和微分参数。

进一步的,如图6所示,所述步骤s7中,中断控制子程序的具体实施步骤如下:

a1:根据arm的主频设置控制周期为2-10ms;

a2:在每个插补周期,50ms,读取轨迹规划所得到中间点的目标位置,然后细分后的目标位置,该位置转化为增量编码器的脉冲数目;

a3:由arm控制器内部的定时器设置控制周期的定时时长,每个控制周期进入定时中断服务子程序;

a4:读取每个关节位置的反馈值,实施增量式pid控制算法,得到每个关节的驱动力矩;

a5:将得到的驱动力矩经过限幅后,通过串行通信方式传递给fpga控制器;

a6:fpga控制器将转矩信号转换为数字量,并采用并行方式通过d/a转换接口输出到各个伺服电机驱动器。

进一步的,所述插补周期为50ms。

综上所述,本发明的一种多自由度机械臂系统的控制器的优化设计方法,基于本发明的优化设计方法所优化得到的机械臂系统控制器,为多变量pid控制器,可处理机械臂系统模型不确定以及关节之间存在强耦合现象时,获得较高的跟踪精度和良好的动态性能;

另外,本发明可基于进化多目标优化算法来自动确定最优的机械臂控制器的参数,综合考虑系统的控制性能以及控制平稳度。该发明适用于于那些具有强耦合和不确定性机械臂系统的控制器设计,并且可获得多个折衷解,设计人员可基于实际应用工况进行选取,具有较强的通用性。另外利用多目标优化算法来优化和确定控制器的参数,亦可以克服常用试凑方法所带来的弊端。

以上显示和描述了本发明的主要特征、基本原理以及本发明的优点。本行业技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会根据实际情况有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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