一种机器人关节位置控制方法、装置和机器人与流程

文档序号:18474439发布日期:2019-08-20 20:48阅读:251来源:国知局
一种机器人关节位置控制方法、装置和机器人与流程

本发明涉及机器人关节控制技术领域,尤其涉及一种机器人关节位置控制方法、装置和机器人。



背景技术:

随着机器人技术发展,机器人已经广泛应用于打磨、抛光和清洗等诸多工件加工,为了提高工件加工质量和减低机器人使用难度,机器人自适应柔性控制机器人关节位姿,通过机器人关节带动加工工具改变位置,使得加工工具柔性加工工件对提高工件加工质量和降低机器人使用难度至关重要。

相关技术中,机器人关节位姿自适应控制方法为:3d相机采集工件点云图像,机器人基于工件三维点云图像规划运动轨迹、基于将运动轨迹中的路径点求解伺服控制量以及控制机器人关节运动伺服控制量,实现机器人关节按照运动轨迹改变位置。

但是,在机器人关节按照运动轨迹改变位置过程中,机器人关节会受到与其固定连接的加工工具施加的压力、重力等力作用,导致机器人关节出现位置偏差,从而降低了工件加工质量和提高了机器人使用难度。



技术实现要素:

本发明所要解决的技术问题是针对现有技术中机器人关节按照运动轨迹改变位置过程中容易出现位置偏差的不足,提供一种机器人关节位置控制方法、装置和机器人。

本发明解决上述技术问题的技术方案如下:

依据本发明的第一方面,提供了一种机器人关节位置控制方法,包括:

当机器人关节沿着预设参考轨迹运动至当前位姿点时,分别获取所述机器人关节在所述当前位姿点处的当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数;

根据所述当前力测量值、所述当前力参考值、所述当前插补位姿矩阵和所述当前伺服控制参数计算出期望伺服控制量;

根据所述期望伺服控制量控制所述机器人关节从所述当前位姿点运动至期望位姿点。

依据本发明的第二方面,提供了一种机器人关节位置控制装置,包括:

获取模块,用于当机器人关节沿着预设参考轨迹运动至当前位姿点时,分别获取所述机器人关节在所述当前位姿点处的当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数;

计算模块,用于根据所述当前力测量值、所述当前力参考值、所述当前插补位姿矩阵和所述当前伺服控制参数计算出期望伺服控制量;

控制模块,用于根据所述期望伺服控制量控制所述机器人关节从所述当前位姿点运动至期望位姿点。

依据本发明的第三方面,提供一种机器人,包括:

力处理器,用于当机器人关节沿着预设参考轨迹运动至当前位姿点时,分别获取所述机器人关节在所述当前位姿点处的当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数;根据所述当前力测量值、所述当前力参考值、所述当前插补位姿矩阵和所述当前伺服控制参数计算出期望伺服控制量;

机器人关节伺服控制器,用于根据所述期望伺服控制量控制所述机器人关节从所述当前位姿点运动至期望位姿点。

本发明提供的机器人关节位置控制方法、装置和机器人的有益效果是:将当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数共同作为计算参数计算出期望伺服控制量,保证了期望伺服控制量的精确度,有助于精确控制机器人关节从当前位姿点运动期望伺服控制量,实现驱动机器人关节从当前位姿点校正到期望位姿点,在机器人关节按照运动轨迹改变位置过程中,能够减少因力作用引起机器人关节出现位置偏差,既能够提高机器人关节按照运动轨迹改变位置的准确性,又有助于提高工件加工质量和降低机器人使用难度,适用于加工不同种类的工件。

附图说明

图1为本发明实施例提供的一种机器人关节位置控制方法的流程示意图;

图2a为本发明实施例提供的在机器人关节沿着预设参考轨迹运动至当前位姿点过程中的力波动的示意图;

图2b为本发明实施例提供的在机器人关节从当前位姿点校正到期望位姿点后的力波动的示意图;

图3a为本发明实施例提供的一种机器人关节位置控制装置的结构示意图;

图3b为本发明实施例提供的另一种机器人关节位置控制装置的结构示意图;

图3c为本发明实施例提供的另一种机器人关节位置控制装置的结构示意图;

图4a为本发明实施例提供的机器人的结构示意图;

图4b为对应于图3a中的机器人的电路示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

实施例一

如图1所示,本发明实施例的一种机器人关节位置控制方法置的流程示意图,该方法包括:当机器人关节沿着预设参考轨迹运动至当前位姿点时,分别获取机器人关节在当前位姿点处的当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数;根据当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数计算出期望伺服控制量;根据期望伺服控制量控制机器人关节从当前位姿点运动至期望位姿点。

在一些具体实例中,当前力参考值预先存入力处理器,当机器人关节运动至当前位姿点时,力传感器采集当前力测量值;机器人关节编码器采集当前位姿点的角位移,基于正运动学方程对角位移进行求解,得到当前位姿信息;力处理器分别获取力传感器输入的当前力测量值和机器人关节编码器输入的当前位姿信息,且以矩阵形式将当前位姿信息存储为一个位姿矩阵,以及读取机器人关节伺服控制器中的当前伺服控制参数。

力处理器将当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数共同作为计算参数计算出期望伺服控制量,保证了期望伺服控制量的精确度,将期望伺服控制量输入机器人关节伺服控制器,通过机器人关节伺服控制器可以精确控制机器人关节从当前位姿点运动期望伺服控制量,实现驱动机器人关节从当前位姿点校正到期望位姿点,在机器人关节按照运动轨迹改变位置过程中,减少了因力作用引起机器人关节位置偏差,既能够提高机器人关节按照运动轨迹改变位置的准确性,又有助于提高工件加工质量和降低机器人使用难度。

作为可选的实施方式,获取当前插补位姿矩阵,具体包括:将机器人关节运动至当前位姿点的时刻确定为当前运动时刻;从预设参考轨迹中查找与当前运动时刻对应的当前参考位姿矩阵以及与当前参考位姿矩阵相邻的后一个参考位姿矩阵;从设定时段中确定在当前运动时刻之后的后一运动时刻,以及确定在当前运动时刻和后一运动时刻之间的中间时刻;计算中间时刻与当前运动时刻之间的时间差;基于线性插补模型对当前参考位姿矩阵、后一个参考位姿矩阵、设定时段的时长和时间差进行线性计算,得到当前插补位姿矩阵。

设定时段是以当前运动时刻和后一运动时刻为参数表示,且用以指示机器人关节从当前位姿点运动至后一个参考位姿矩阵表示的后一个位姿点的时段。

在一些具体实例中,在机器人关节带动加工工具加工工具之前,通过机器人关节编码器检测机器人关节从当前位姿点运动至后一位姿点的时长;在机器人关节从当前位姿点运动至期望位姿点过程中,力处理器根据该时长和当前运动时刻反解出后一运动时刻,以当前运动时刻为起始时刻且以后一运动时刻为终止时刻来表示设定时段,从设定时段中可以选定逼近当前运动时刻的中间时刻,例如:当前运动时刻为“2018-04-2918:31:38:41”、中间时刻为“2018-04-2918:31:39:100”以及后一运动时刻为“2018-04-2918:31:40”。

作为可选的实施方式,预设参考轨迹以位姿点序列表示,位姿点序列具体为:

t={t(t1)t(t2)t(t3).....t(ti+1)}

其中,t(ti+1)表示位姿点序列t中与第i+1个运动时刻所对应的参考位姿矩阵。

线性插补模型具体为:

其中,tn表示当前运动时刻,tn+1表示以当前运动时刻tn为起点的后一运动时刻,tm表示以当前运动时刻tn为起点的中间时刻,t(tm)表示与中间时刻tm所对应的当前插补位姿矩阵,t(tn)表示与当前运动时刻tn所对应的当前参考位姿矩阵,t(tn+1)表示与后一运动时刻tn+1所对应的后一个参考位姿矩阵,1<n<i。

基于当前运动时刻可以从预设参考轨迹中快速确定相邻的当前参考位姿矩阵和后一个参考位姿矩阵,基于当前运动时刻可以在设定时段中快速确定中间时刻,通过线性插补模型可以快速计算当前参考位姿矩阵、后一个参考位姿矩阵、设定时段的时长以及时间差,能够以简单方式计算当前插补位姿矩阵,能够兼顾当前插补位姿矩阵的计算效率和精确度。

作为可选的实施方式,根据当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数计算出期望伺服控制量,具体包括:基于力估计模型对当前力测量值进行估算,得到力估计值;基于力估计值和当前力参考值计算力补偿量;基于力补偿量和当前插补位姿矩阵计算期望位姿矩阵;应用逆动力学模型对期望位姿矩阵进行求解,得到期望伺服控制参数;基于期望伺服控制参数和当前伺服控制参数计算期望伺服控制量。

如图2a及图2b所示,基于当前运动时刻ti+1和力f建立二维坐标系,如图2a所示,在机器人沿着预设参考轨迹运动至当前位姿点过程中,力测量值fmb相较于力参考值fref的波动较大;如图2b所示,在机器人关节从当前位姿点校正到期望位姿点后,力侧量值fma相较于力参考值fref的波动较小,即:很好的缩小了机器人关节校正至期望位姿点的力波动范围,提升了机器人关节在期望位姿点处的稳定性,从而克服了因力作用引起机器人关节出现位置偏差的问题。

作为可选的实施方式,力估计模型具体为:

其中,表示在接触点参考坐标系a中的力估计值,表示从接触点参考坐标系a转换到力测量参考坐标系b中的旋转变换矩阵,表示与接触点参考坐标系a的原点在力测量参考坐标系b的坐标所对应的反对称算子,03×3表示3行3列的零矩阵,表示从接触点参考坐标系a转换到力测量参考坐标系b中的当前力测量值,表示与机器人关节连接的工具的重心o在接触点参考坐标系a中的坐标,表示重心o在力测量参考坐标系b中的坐标所对应的反对称算子,表示与重心o在力测量参考坐标系b中的坐标,表示重心o在力测量参考坐标系b中改变当前力测量值的改变值。

在机器人关节带动加工工具加工工具过程中,以加工工具与工件接触的任一点作为接触点,令该接触点作为第一三维坐标系中的第一原点,令第一三维坐标系为接触点参考坐标系a,基于六维力传感器构建力测量参考坐标系b,旋转变换矩阵可以提供接触点参考坐标系a的轴线与力测量参考坐标系b之间的旋转变换关系,例如:令六维力传感器的重心作为第二原点来构建第二三维坐标系,令第二三维坐标系为力测量参考坐标系b。

在一些具体实例中,当前力测量值包括六维力值,例如:六维力值以矩阵形式表示为2n表示六维力传感器在力测量参考坐标系b中感应沿着x轴正向的压力,5n表示在六维力传感器在力测量参考坐标系b中感应沿着y轴正向的压力,18n表示在六维力传感器在力测量参考坐标系b中感应沿着z轴正向的压力,1.2nm表示在六维力传感器在力测量参考坐标系b中感应沿着x轴正向的扭矩,2.3nm表示在六维力传感器在力测量参考坐标系b中感应沿着y轴正向的扭矩,0.6nm表示在六维力传感器在力测量参考坐标系b中感应沿着z轴正向的扭矩。

力估计模型用来快速、精确地估算当前力测量值,以提高期望伺服控制量的估算效率和精确度。

作为可选的实施方式,基于力估计值和当前力参考值计算力补偿量,具体包括:计算力估计值与当前力参考值之间的力偏差值;应用增量式pid控制模型对力偏差量进行计算,得到力补偿量。

增量式pid控制模型具体为:

其中,u(tm)表示中间时刻tm所对应的力补偿量,kp表示比例系数,ki表示积分系数,kd表示微分系数,e(tm)表示中间时刻tm所对应的力偏差值,dtm表示中间时刻tm的增量,de(tm)/dtm表示力偏差值e(tm)对中间时刻tm求导得到的微分商。

力偏差值e(tm)具体为:其中,ωref表示当前力参考值,例如:当前力参考值为20n。

通过增量式pid控制模型利用当前力参考值补偿当前力测量值的方式,实现精确计算力补偿量,有利于促进良好的闭环控制机器人关节从当前位姿点校正到期望位姿点的性能,误动作影响小,有助于提高控制机器人关节运动的稳定性。

作为可选的实施方式,基于力补偿量和当前插补位姿矩阵计算期望位姿矩阵,具体包括:基于力补偿量确定平移转换矩阵;应用位姿转换模型对平移转换矩阵和当前插补位姿矩阵进行相乘,得到期望位姿矩阵。

位姿转换模型具体为:t(tm)×h(u(tm)),其中,h(u(tm))表示沿着力测量参考坐标系b中的一个维度平移力补偿量u(tm)后得到的平移转换矩阵,例如:平移转换矩阵沿着力测量参考坐标系b中的z轴平移力补偿量u(tm)。

通过位姿转换模型可以快速将当前插补位姿矩阵平移转换为期望位姿矩阵,有助于提高期望位姿矩阵的计算效率。

作为可选的实施方式,基于期望伺服控制参数和当前伺服控制参数计算期望伺服控制量,具体包括:计算期望伺服控制参数与当前伺服控制参数之间的伺服控制参数偏差值;应用pi控制模型对伺服控制参数偏差值进行计算,得到期望伺服控制量。

pi控制模型具体为:其中,q(tm)表示中间时刻tm所对应的期望伺服控制量,δq(tm)表示中间时刻tm所对应的伺服控制参数偏差值,δq(tm)/dtm表示伺服控制参数偏差值δq(tm)对中间时刻tm求导得到的微分商。

伺服控制参数偏差值δq(tm)具体为:e(tm)=qref-qactual,其中,qref表示当前伺服控制参数,qactual表示期望伺服控制参数,期望位姿参数包括角位移相关的参数。

相比于pid控制模型,pi控制模型更加简单,在计算出伺服控制参数偏差值之后,通过pi控制模型计算伺服控制参数偏差值的方式,有助于简化期望伺服控制量的计算方式,提高了机器人从当前位姿点校正到期望位姿点的控制效率。

实施例二

如图3a所示,本发明实施例的一种机器人关节位置控制装置的结构示意图,包括:获取模块、计算模块和控制模块。

获取模块,用于当机器人关节沿着预设参考轨迹运动至当前位姿点时,分别获取机器人关节在当前位姿点处的当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数。

计算模块,用于根据当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数计算出期望伺服控制量。

控制模块,用于根据期望伺服控制量控制机器人关节从当前位姿点运动至期望位姿点。

作为可选的实施方式,如图3b所示,获取模块包括:力获取子模块、位姿矩阵获取子模块和伺服参数获取子模块。

力获取子模块,用于分别读取当前力参考值和由力传感器检测得到的当前力测量值。

位姿矩阵获取子模块,用于将机器人关节运动至当前位姿点的时刻确定为当前运动时刻;从预设参考轨迹中查找与当前运动时刻对应的当前参考位姿矩阵以及与当前参考位姿矩阵相邻的后一个参考位姿矩阵;从设定时段中确定在当前运动时刻之后的后一运动时刻,以及确定在当前运动时刻和后一运动时刻之间的中间时刻;计算中间时刻与当前运动时刻之间的时间差;基于线性插补模型对当前参考位姿矩阵、后一个参考位姿矩阵、设定时段的时长和时间差进行线性计算,得到当前插补位姿矩阵。

伺服参数获取子模块,用于读取机器人关节伺服控制器输入的当前伺服控制参数。

预设参考轨迹以位姿点序列表示,位姿点序列具体为:

t={t(t1)t(t2)t(t3).....t(ti+1)}

其中,t(ti+1)表示位姿点序列t中与第i+1个运动时刻所对应的参考位姿矩阵。

线性插补模型具体为:

其中,tn表示当前运动时刻,tn+1表示以当前运动时刻tn为起点的后一运动时刻,tm表示以当前运动时刻tn为起点的中间时刻,t(tm)表示与中间时刻tm所对应的当前插补位姿矩阵,t(tn)表示与当前运动时刻tn所对应的当前参考位姿矩阵,t(tn+1)表示与后一运动时刻tn+1所对应的后一个参考位姿矩阵,1<n<i。

作为可选的实施方式,如图3c所示,计算模块包括:力估计子模块,用于基于力估计模型对当前力测量值进行估算,得到力估计值;力补偿子模块,用于基于力估计值和当前力参考值计算力补偿量;第一矩阵计算子模块,用于基于力补偿量和当前插补位姿矩阵计算期望位姿矩阵;第二矩阵计算子模块,用于应用逆动力学模型对期望位姿矩阵进行求解,得到期望伺服控制参数;伺服参数计算子模块,用于基于期望伺服控制参数和当前伺服控制参数计算期望伺服控制量。

力估计模型具体为:

其中,表示在接触点参考坐标系a中的力估计值,表示从接触点参考坐标系a转换到力测量参考坐标系b中的旋转变换矩阵,表示与接触点参考坐标系a的原点在力测量参考坐标系b的坐标所对应的反对称算子,03×3表示3行3列的零矩阵,表示从接触点参考坐标系a转换到力测量参考坐标系b中的当前力测量值,表示与机器人关节连接的工具的重心o在接触点参考坐标系a中的坐标,表示重心o在力测量参考坐标系b中的坐标所对应的反对称算子,表示与重心o在力测量参考坐标系b中的坐标,表示重心o在力测量参考坐标系b中改变当前力测量值的改变值。

作为可选的实施方式,力补偿子模块,具体用于:计算力估计值与当前力参考值之间的力偏差值;应用增量式pid控制模型对力偏差量进行计算,得到力补偿量。

增量式pid控制模型具体为:

其中,u(tm)表示中间时刻tm所对应的力补偿量,kp表示比例系数,ki表示积分系数,kd表示微分系数,e(tm)表示中间时刻tm所对应的力偏差值,dtm表示中间时刻tm的增量,de(tm)/dtm表示力偏差值e(tm)对中间时刻tm求导得到的微分商。

力偏差值e(tm)具体为:其中,ωref表示当前力参考值。

作为可选的实施方式,第一矩阵计算子模块,具体用于:基于力补偿量确定平移转换矩阵;应用位姿转换模型对平移转换矩阵和当前插补位姿矩阵进行相乘,得到期望位姿矩阵。

位姿转换模型具体为:t(tm)×h(u(tm)),其中,h(u(tm))表示沿着力测量参考坐标系b中的一个维度平移力补偿量u(tm)后得到的平移转换矩阵。

作为可选的实施方式,伺服参数计算子模块,具体用于:计算期望伺服控制参数与当前伺服控制参数之间的伺服控制参数偏差值;应用pi控制模型对伺服控制参数偏差值进行计算,得到期望伺服控制量。

pi控制模型具体为:其中,q(tm)表示中间时刻tm所对应的期望伺服控制量,δq(tm)表示中间时刻tm所对应的伺服控制参数偏差值,δq(tm)/dtm表示伺服控制参数偏差值δq(tm)对中间时刻tm求导得到的微分商。

伺服控制参数偏差值δq(tm)具体为:e(tm)=qref-qactual,其中,qref表示当前伺服控制参数,qactual表示期望伺服控制参数。

实施例三

本发明实施例提供一种机器人,如图4a所示,机器人包括agv小车1、机器人关节2、六维力传感器3和抛磨工具4,机器人关节2位于agv小车1上,六维力传感器3安装在机器人关节2,抛磨工具4安装在六维力传感器3上。

如图4b所示,agv小车1包括力处理器、机器人关节编码器和机器人关节伺服控制器,力处理器分别与机器人关节编码器、机器人关节伺服控制器和六维力传感器通信连接。

力处理器,用于当机器人关节沿着预设参考轨迹运动至当前位姿点时,分别获取机器人关节在当前位姿点处的当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数;根据当前力测量值、当前力参考值、当前插补位姿矩阵和当前伺服控制参数计算出期望伺服控制量。

机器人关节伺服控制器,用于控制机器人关节运动期望伺服控制量,以使机器人关节从当前位姿点运动至期望位姿点。

力处理器,具体用于:将机器人关节运动至当前位姿点的时刻确定为当前运动时刻;从预设参考轨迹中查找与当前运动时刻对应的当前参考位姿矩阵以及与当前参考位姿矩阵相邻的后一个参考位姿矩阵;从设定时段中确定在当前运动时刻之后的后一运动时刻,以及确定在当前运动时刻和后一运动时刻之间的中间时刻;计算中间时刻与当前运动时刻之间的时间差;基于线性插补模型对当前参考位姿矩阵、后一个参考位姿矩阵、设定时段的时长和时间差进行线性计算,得到当前插补位姿矩阵。

力处理器,具体还用于:基于力估计模型对当前力测量值进行估算,得到力估计值;基于力估计值和当前力参考值计算力补偿量;基于力补偿量和当前插补位姿矩阵计算期望位姿矩阵;应用逆动力学模型对期望位姿矩阵进行求解,得到期望伺服控制参数;基于期望伺服控制参数和当前伺服控制参数计算期望伺服控制量。

力处理器,具体还用于:计算力估计值与当前力参考值之间的力偏差值;应用增量式pid控制模型对力偏差量进行计算,得到力补偿量;基于力补偿量确定平移转换矩阵;应用位姿转换模型对平移转换矩阵和当前插补位姿矩阵进行相乘,得到期望位姿矩阵;应用逆动力学模型对期望位姿矩阵进行求解,得到期望伺服控制参数;计算期望伺服控制参数与当前伺服控制参数之间的伺服控制参数偏差值;应用pi控制模型对伺服控制参数偏差值进行计算,得到期望伺服控制量。

需要指出的是,本实施例三中的力估计模型、增量式pid控制模型、位姿转换模型、逆动力学模型和pi控制模型等模型表达方式与实施例一相同,为了简洁表述,此处不再赘述。

读者应理解,在本说明书的描述中,参考术语“方面”、“可选的实施方式”或“一些具体实例”等的描述意指结合该实施例或示例描述的具体特征、步骤或者特点包含于本发明的至少一个实施例或示例中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”和“第二”等的特征可以明示或者隐含地包括至少一个该特征。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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