一种基于PMPSD的工业机器人绝对精度校准方法与流程

文档序号:12466655阅读:460来源:国知局
一种基于PMPSD的工业机器人绝对精度校准方法与流程

本发明涉及机器人标定技术领域,特别是涉及一种基于PMPSD(Pose Modify Position Sensitive Detector)的工业机器人绝对精度校准方法。



背景技术:

随着工业机器人应用领域的扩大和高端制造产业的需求,对工业机器人的性能提出了更高的要求。定位精度是反映机器人综合性能的一个重要指标,可以分为重复定位精度和绝对定位精度。目前工业机器人的重复定位精度比较高,而其绝对定位精度较低,难以满足高精度行业(如汽车制造业、电子电气行业)的生产需求。

工业机器人的定位误差主要分为几何误差和非几何误差,其中几何误差成为影响工业机器人定位误差的主要因素。因此,需要利用标定技术对其进行运动学标定,辨识出机器人的几何参数误差,并对几何参数名义值进行修正,从而对机器人的绝对定位精度进行校准。

目前,标定方法可以分为:基于神经网络补偿法、基于插补思想补偿法、微分误差补偿法、关节空间补偿法。按照建模方式补偿又可分为有机理建模和实验建模两大类。微分误差补偿法和关节空间补偿法是按照机器人的运动学规律补偿的一种方式,属于有机理建模。而神经网络补偿法和插补思想补偿法是研究机器人对象,并估算其输入与输出的建模方法,属于实验建模。

上述研究多为基于高精度测量设备的条件下,对工业机器人末端位姿进行测量,如:激光跟踪仪、三坐标测量仪、机器人关节臂、拉线式机器人测量和性能分析系统等。而这些设备昂贵,使用时需要耗费大量的时间进行测量系统与机器人基坐标系之间的坐标变换,对操作人员的水平依赖高,主要适合于实验室场景下研究。

针对设备昂贵、操作复杂等问题,在机器人末端施加约束而形成运动学闭合链的方法被提出来。该方法避开了昂贵的设备,并且不需要耗费时间建立测量设备与机器人基坐标之间的转换关系,同样避免了坐标转换误差。提出了采用一种基于PSD(Position Sensitive Detector)的标定方法,在工业机器人末端安装激光器,并投射激光束于PSD中心,以构成空间点约束形成闭合运动链的方法,通过构建约束目标函数,利用最小化方法辨识出工业机器人的几何参数误差。但是该方法存在的问题是,对于精度低的工业机器人很难通过反馈控制,将激光束准确地投射到PSD中心,因此不能准确地采用点约束方法构建正确的约束目标函数,进而不能准确地辨识出工业机器人的几何参数误差。



技术实现要素:

本发明目的是针对工业机器人绝对定位精度低,提出一种基于PMPSD的工业机器人绝对精度校准方法。

为了实现上述目的,本发明通过如下技术方案实现:

第一步:建立机器人误差运动学模型;

第二步:建立空间多点虚拟约束,使用PSD装置进行数据采样;

第三步:利用空间矢量关系修正机器人末端激光器的位姿,并利用修正后的位姿对机器人关节转角进行修正,以取代从机器人示教器或从控制器得到的关节转角;

第四步:构建模型约束目标函数;

第五步:利用最小化方法对约束目标函数进行优化,得到工业机器人的参数误差;

第六步:将参数误差对几何参数名义值进行修正,实现机器人的绝对精度校准。

根据以上的技术方案,可以实现以下的有益效果:

(1)本发明的基于PMPSD的工业机器人绝对精度校准方法适用于任何串联关节型机器人及任何平面关节型机器人,方法通用型强;

(2)本发明不需要构建测量仪器与机器人基坐标之间的坐标转换关系,节省了标定时间,并且避免了坐标转换带来的误差;

(3)本发明所述的参数误差模型考虑了工业机器人本体的所有几何参数,将辨识后的参数误差补偿到工业机器人几何参数名义值中,更接近于实际模型,能够有效地对工业机器人精度实现校准;

(4)由于采用对激光器位姿修正的方法,不需要将激光束准确投射到PSD中心,避免了采用PSD反馈控制的策略。

附图说明

图1本发明所采用PSD装置进行数据采样的示意图;

图2本发明进行激光器末端位姿修正的示意图;

图3本发明的具体操作流程。

具体实施方式

为使本发明的目的、技术方案和优点等更加清楚明白,以下结合实施例,并参照附图,对本发明进一步详细说明。

一种基于PMPSD的工业机器人绝对精度校准方法,操作流程图如图3所示,所述方法包括以下步骤:

第一步:建立机器人误差运动学模型,包括以下步骤:

步骤(1),使用D-H规则构建机器人误差运动学模型。

在D-H规则中,相邻两杆之间的运动学关系为:

式中,为连杆i与连杆i-1的运动学关系,其中ai为连杆长度,Δai为连杆长度误差,di为连杆偏距,Δdi为连杆偏距误差,αi为关节扭角,Δαi为连杆扭角误差,θi为关节转角,Δθi为关节转角误差。其中,几何参数误差Δs=[Δa1 Δd1 Δα1 Δθ1 … Δan Δdn Δαn Δθn]T,Δs为m×1的矩阵,m为待辨识的参数个数,n为机器人关节数。

步骤(2),利用工具坐标系标定方法对安装在机器人末端的激光器进行标定,得到激光器相对于机器人末端关节的坐标关系因此得到机器人的基坐标到激光器之间的总变换为:

其中,n为机器人关节数,如对于一个六自由度的机器人而言,对应着6个齐次变换矩阵。

第二步:建立空间多点虚拟约束,使用PSD装置进行数据采样。

使用PSD装置进行数据采样,包括以下步骤:

步骤(1),由于参数误差的存在,激光束很难准确投射到PSD中心点,本方法只需要将激光束投射到PSD表面即可。将PSD装置放置在激光束可投射的空间中,机器人以任意姿态将激光束投射到PSD表面,此时记录激光束投射在PSD上的斑点位置Ps,i,j,并从机器人示教器或直接从控制器中读取关节转角值θi,j,其中i=1,2…k,j=1,2…m,k为同一PSD装置位置的数据采样次数,m为PSD装置的位置个数。

步骤(2),改变机器人的位姿,重新将激光束投射到PSD表面,依照步骤(1)重复k次,因此可以获得k组激光束投射在PSD表面的斑点位置Ps,i,j以及k组不同姿态下的关节转角值θi,j,其中i=1,2…k,j=1,2…m,k为同一PSD装置位置的数据采样次数,m为PSD装置的位置个数。

步骤(3),重新放置PSD装置的位置,重复步骤(1)和(2)。标定过程中,PSD装置放置的位置个数为m。

第三步:利用空间矢量关系修正机器人末端激光器的位姿,并利用修正后的位姿对机器人关节转角进行修正,以取代从机器人示教器或从控制器得到的关节转角。包括以下步骤:

步骤(1),利用示教器控制方式,将激光束投射到PSD中心,记录此时的关节转角θ1,然后改变机器人位姿,重新将激光束投射到PSD中心,记录此时的关节转角θ2,这时便可得到两组激光束方程,可求得PSD中心点相对于机器人基坐标系的坐标为Pf(pfx,pfy,pfz)。由于PSD为位置传感器,因此,当激光束再投射到PSD表面时,此时的斑点位置为Ps(psx,psy,psz)。

步骤(2),设三维空间中任意一条激光束的直线方程表示为L=(px,py,pz,α,β,γ),其中Pt(px,py,pz)为激光器相对于机器人基坐标系的坐标,为在基坐标系下的激光束方向矢量。由于激光器以不同的位姿将激光束投射到PSD的表面,因此可以得到多组机器人关节转角,也就可以获得多组激光束在机器人基坐标系下的直线方程。PSD表面中心点坐标为Pc(pcx,pcy,pcz),激光束投射在PSD上的斑点位置为Ps(psx,psy,psz),可得投射斑点到PSD中心点的方向矢量为

步骤(3),已知激光束方向矢量及投射斑点至PSD中心点的方向矢量如附图2所示,因此可以得到虚拟激光束方向矢量为

步骤(4),利用已知激光器坐标Pt(px,py,pz)及得到的虚拟激光束方向矢量再运用机器人运动学逆解求得多组关节转角值,并选取其中完全平方差之和最小的一组关节转角θ′,将关节转角θ′取代之前从机器人示教器或控制器取得的关节转角值θ。

第四步:构建模型约束目标函数。

步骤(1),求任意两条激光束直线的交点或者公垂线中点。

令其中两条激光束直线的方程分别表示:

根据激光束的方程,利用式(5)可求取两条激光束的交点。然而在实际情况下,两条激光束的交点并不一定存在,此时需要利用式(7)求取两条激光束的公垂线中点近似为交点。

1)当两条激光束直线存在交点时,通过求解其交点坐标为:

P=(kα1+px1,kβ1+py1,kγ1+pz1) (5)

其中:

2)当两条激光束直线不存在交点时,则公垂线的中点为:

其中:

步骤(2),建立空间多点虚拟约束模型。

在建立空间多点虚拟约束模型前,首先需要求取PSD装置在位置m处时的交点或者公垂线中点的平均值作为该PSD位置下的交点平均值,i=1,2…m。求取过程只要令机器人的参数误差为0,在同一PSD位置处k组数据,得到个交点,然后取平均即可。

在空间多点虚拟约束模型中,首先以PSD装置同一位置处,任意两条激光束的交点或者公垂线中点到该交点平均值的距离作为约束目标函数,构建空间单点虚拟约束模型,最后将空间单点虚拟约束模型统一构建为空间多点约束模型,所建立的约束目标函数如式(16)所示。

其中,k为同一PSD装置位置处的数据采样次数,m表示PSD装置放置的不同位置的个数。(ixjiyjizj)为在位置i处时的第i个交点或者公垂线中点,为PSD装置在位置m处时的交点或者公垂线中点的平均值。其中,i=1,2…m,j=1,2…K。当m=1时,模型为构建单点虚拟约束模型。

第五步:利用最小化方法对约束目标函数进行优化,得到工业机器人的参数误差。

使用最小化方法LM(Levenberg-Marquardt)算法不断进行迭代使得δ*最小化,此时工业机器人的参数误差Δs将会被辨识出来,Δs=[Δa1 Δd1 Δα1 Δθ1 … Δan ΔdnΔαn Δθn]T,Δs为m×1的矩阵,m为待辨识的参数个数,n为机器人关节数。步骤如下。

步骤(1),初始化参数误差Δs,LM算法的初始化相关参数,迭代次数k;

Δs0=0,μ=0.1,v=2,k=1 (17)

步骤(2),计算第k次迭代时的雅可比矩阵J(Δsk);

雅克比矩阵J(Δsk)由Ω对Δs分量求解偏微分得到,其中Ω=[Ω1,Ω2,…Ωk×m],

步骤(3),利用LM算法求解参数误差矩阵hlm

hlm=-(J(Δsk)TJ(Δsk)+μ×Im×m)-1J(Δsk)TΩ (18)

其中hlm表示为第k次迭代时参数误差的改变值,为m×1矩阵,Δsk为第k次迭代时的参数误差,为m×1矩阵,μ为阻尼因子,m为待辨识的参数个数。

步骤(4),计算第k次迭代时实际下降量ADk与预估下降量PDk的比值ρ;

ADk=F(Δsk)-F(Δsk+hlm) (19)

步骤(5),更新迭代参数;

若ρ>0:

Δsk=Δsk+hlm (22)

v=2 (24)

否则:

μ=μ×v (25)

v=2×v (26)

重复步骤(2)至(5)。当||J(Δsk)TΩ||<ε时,循环结束,得到最终的机器人参数误差Δs=Δsk,否则k=k+1。

第六步:将辨识出的参数误差对几何参数名义值进行修正,实现机器人的绝对精度校准。辨识出的参数误差为Δs,sg=sn+Δs,sn为机器人几何参数名义值,sg为机器人几何参数真实值。

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