一种基于直线位移传感器的工业机器人运动学参数的标定算法

文档序号:10726482阅读:1493来源:国知局
一种基于直线位移传感器的工业机器人运动学参数的标定算法
【专利摘要】本发明公开一种基于直线位移传感器的工业机器人运动学参数的标定算法,属于机器人技术领域。该算法将传感器固定于机器人工作空间内若干位置,根据示教程序指令让机器人运动到不同的指定位置停止,并通过传感器获取机器人末端TCP与传感器基准位置的距离数据,记录关节角度值;然后进行粗标定,利用机器人TCP获得传感器的基准位置的初始值,根据测量数据和标定方程,获得传感器基准位置的较准确值,只考虑关节角度零位偏差得到标定方程,完成粗标定;接着进行精标定,考虑机器人所有DH参数、末端连杆参数、传感器零位偏差,建立标定方程,多次迭代后完成标定。本发明具有结构简单、容易实现、标定精度高及收敛速度快等特点。
【专利说明】
一种基于直线位移传感器的工业机器人运动学参数的标定 算法
技术领域:
[0001] 本发明属于机器人技术领域,具体涉及一种基于直线位移传感器的工业机器人运 动学参数的标定算法。
【背景技术】:
[0002] 随着工业机器人在工业生产中应用范围及其任务复杂程度的不断扩大,对工业机 器人的位置和姿态精度要求也越来越高。目前工业机器人具有很高的重复定位精度,在 0.1mm以内,而绝对定位精度却很低,在1mm以上,甚至达到lcm,这严重限制了工业机器人的 应用范围。众多原因导致工业机器人定位精度低,其中最重要的是运动学模型中几何结构 的参数偏差。标定技术是补偿这些参数偏差的有效方法,因此成为研究热点。标定就是应用 先进的测量手段和基于模型的参数识别方法辨识出机器人模型的准确参数,从而提高机器 人绝对定位精度。
[0003] 三十余年来,机器人标定领域已经取得了一些令人瞩目的成果。测量方法主要有 两类方法,其中一类方法需要高精度的测量设备来精确测量机器人末端的位置向量,比如 三坐标测量机和激光跟踪仪等。这些设备昂贵,限制了其应用场合。另一类方法是在机器人 末端施加一些约束形成运动学闭链,主要是平面约束和球约束。这方法需要复杂精确的手 工操作和效率不高。随着高精度直线位移传感器的发展,如拉线传感器,利用拉线传感器进 行机器人标定具有便于携带,低成本,操作方便的特点。但是由于直线位移传感器本身特 点,如精度相对于激光跟踪仪来说很低,测量数据是一维的(只能测量两点之间的距离)等, 限制了其在机器人标定领域的应用,因此开发基于直线位移传感器的机器人运动学参数标 定算法成为迫切需求。

【发明内容】

[0004] 本发明的目的在于提供一种基于直线位移传感器的工业机器人标定算法,该算法 标定精度高,收敛速度快,并且易于编程实现,能够标定工业机器人的所有连杆参数,主要 包括关节角度的零位偏差、连杆长度、连杆扭角、连杆偏置,本算法能标定拉线传感器的零 位偏差。
[0005] 直线位移传感器以拉线传感器为首选,拉线传感器具有成本低,精度高,量程大, 体积小等优点,十分适合机器人现场标定。由于机器人标定对传感器的要求是精度高,量程 大,但拉线传感器量程越大精度越低,为了保证标定精度,选用小量程高精度的拉线传感 器。为了提高标定效果,标定点需尽可能遍布机器人全工作空间,这与拉线传感器小量程形 成矛盾。为了解决这一矛盾,本发明标定过程中,拉线传感器可固定在若干位置进行测量。 每一位置采集机器人工作空间的部分区域,这样可采用小量程拉线传感器;多个位置采集, 就可覆盖机器人全工作空间。
[0006] 本发明所提供的一种基于直线位移传感器的工业机器人标定算法包括以下步骤:
[0007] 第一步:直线位移传感器固定在若干位置获取测量数据:
[0008] (1.1)直线位移传感器固定在某任意位置,对工业机器人进行示教;
[0009] (1.2)根据示教程序指令让所述工业机器人运动到指定位置停止,并记录所述工 业机器人在不同位置时所述直线位移传感器的数据及所述工业机器人的关节角度值;
[001 ο] (1.3)改变所述直线位移传感器的位置并固定,对所述工业机器人进行示教,重复 步骤(1.2);
[0011] (1.4)重复步骤(1.3)若干次,一般情况下直线位移传感器位置数为1到3;
[0012] 第二步:直线位移传感器固定在每个位置时的粗标定:
[0013] (2.1)首先让所述工业机器人末端TCP尽可能靠近所述直线位移传感器,获取TCP 位置,并把此位置作为所述直线位移传感器的基准位置初值;
[0014] (2.2)根据所述直线位移传感器的基准位置初值、测量数据和所述机器人名义参 数,标定所述直线位移传感器的基准位置;
[0015] (2.3)根据标定出的所述直线位移传感器基准位置与建立的标定模型对所述工业 机器人的关节零位偏差和所述直线位移传感器基准位置偏差进行粗标定;
[0016] 第三步:综合所述直线位移传感器所有位置粗标定结果的精标定:
[0017] (3.1)建立标定模型,对所述工业机器人所有DH参数、末端连杆参数和所述直线位 移传感器的零位偏差进行标定;
[0018] (3.2)迭代标定,多次重复步骤(3.1),一般重复步骤(3.1)四次后标定结果变化足 够小,标定结束。
[0019] 本发明提供的机器人标定算法,算法结构简单,容易实现,并且标定精度高,收敛 速度快。采用本发明的标定算法和市场上高精度拉线传感器,能对机器人的结构参数进行 校准,以提高机器人的绝对定位精度。同时可在中小企业得到广泛运用,补偿机器人结构因 长期工作而造成的损耗,为机器人长时间高可靠性工作提供质量保障。涉及用于工业机器 人在各个行业的运用,如飞机装配孔、弧焊、点焊、喷漆等。
【附图说明】:
[0020] 图1是基于直线位移传感器的工业机器人标定算法流程图;
[0021] 图2是本发明所涉及的机器人标定系统。
[0022] 图中:1:机器人控制器1; 2:待标定的工业机器人;3:连接杆;4:拉线传感器,5:数 据采集卡;6:计算机。
【具体实施方式】:
[0023]下面结合附图和具体实施例进一步说明本发明的技术方案。
[0024]如图2所示。直线位移传感器采用拉线传感器,当然也可采用其他传感器,如激光 跟踪仪。标定系统由机器人控制器1,待标定的工业机器人2,连接杆3,拉线传感器4,数据采 集卡5和计算机6组成。基本过程是:待标定的工业机器人2安装在某一固定位置上,工业机 器人的末端法兰安装有与拉线传感器匹配的连接杆3,拉线传感器4尽量固定放置在工业机 器人工作空间内,在这一原则下,拉线传感器的位置可以任意,待标定的工业机器人2在机 器人控制器1的驱动下运动到空间各个不同的位置,装有标定软件的计算机6通过数据采集 卡5获得测量数据。多次改变拉线传感器4的位置并固定,拉线传感器4尽量固定放置在工业 机器人工作空间内,在这一原则下,拉线传感器的位置可以任意,进行测量。根据所有测量 数据最终标定出机器人运动学参数。
[0025] 对工业机器人标定前,首先对工业机器人进行示教,示教的目的是使示教点尽量 分散在机器人工作范围内,确保工业机器人的结构误差对机器人绝对定位精度影响最大。 需要工业机器人按照指令运动规定位置并停止,通过拉线传感器对每个示教点位置进行测 量。本发明中拉线传感器固定在多个位置,在每个位置的示教点尽量分散;多个位置的全部 不教点尽量分散在机器人整个工作范围内。每个位置的不教点一般在100左右。
[0026] 该算法的关键就是将拉线传感器当作工业机器人误差传递的一部分,并且粗精标 定分开。
[0027] 首先进行粗标定,目的是获得拉线传感器每个位置的精确坐标。为了公式简洁,粗 标定时拉线传感器在每个位置时,不加下标区别,采用的测量数据仅限于该位置时的测量 数据。拉线传感器坐标在工业机器人的基座坐标系中定义,记为基准点P Q(XQ,y(),z〇)。
[0028] 在具体的标定过程中,需要工业机器人按照示教好的程序运动到示教位置,记工 业机器人运动到每个位置的TCP实际坐标为Pai ( Xai,yai,Zai ),名义坐标为Pni ( Xni,yni,Zni ), 名义坐标是根据机器人前向运动学,采用机器人名义参数(设计参数)计算出的。通过拉线 传感器对每个示教点位置进行测量,那么通过拉线传感器测量获得的就是基准点P〇到示教 点P al的长度h,该长度由下式定义:
[0029] (XQ-xai)2+(y〇-yai) 2+(z『zai)2 = li2 (1)
[0030] 本发明提出根据测量数据计算出基准点PQ的预估值。
[0031] 下面进行粗标定,首先让工业机器人TCP尽可能靠近拉线传感器,获取此时TCP名 义坐标,并把此坐标作为拉线传感器的基准位置初值Po '(X ' 0,y ' ο,Z ' 0),则拉线传感器基准 位置偏差Δ P〇:
[0032] Δ Ρ〇( Δ X,Δ y,Δ ζ) = Δ P〇(x〇-x,〇,y〇-y,〇,z〇-Z,。) (2)
[0033] 由于工业机器人还未标定,不能得到示教点Pal,故采用Pni近似,带入方程(1),得 到:
[0034] (x〇-xni)2+(y〇-yni) 2+(z『zni)2 = li2 (3)
[0035] 任意取两个测量点i,j的方程进行相减,整理得到: (? - Χ,η ) Λ0 + (J'"/ - )\η ) J'O + ( Z," - Z"i )Z0=1ij ,.
[0036] / ,.. 、r . '、 ⑷ k = ~ ^~J + (? + + ZH) ) ~ (-T<H +)m+ -ni ))^ 2
[0037] 方程(2)带入方程(4),整理得到: Γ ? (? - ) ^ + () 4v + (zuj - ζ",.)Δζ = /;;
[0038] Γ/ , , , , , , , ,? (5)
[0039] 方程(5)中只有拉线传感器基准位置偏差是未知的,且是位置偏差的线性方程,取 拉线传感器在该位置的所有测量数据的组合,则可得到ef个方程,N是该位置的示教点数。 通过最小二乘法计算得到位置偏差A PQ,获得拉线传感器基准位置的标定初值PQ '(X ' 〇+Δ 叉,7'〇+",2'0+六2),为了方便表示,此标定初值还是记为?()'(1'(),7'(),2'0)。
[0040] 由于工业机器人的绝对定位精度主要受关节零位偏差影响,此时只标定工业机器 人的关节零位偏差。由于方程(3)采用名义位置Ρηι,故拉线传感器基准位置标定初值还是存 在较大偏差,需和机器人的关节零位偏差参数同时标定。
[0041] 只考虑关节零位偏差时,机器人TCP实际位置Pal和名义位置Ρηι之间关系为:
[0042] Xai - Xni+Jix0 Δ Θ,yai - yni+Jiy0 Δ θ,Zai - Zni+Jiz0 Δ θ (6)
[0043] 其中△ θ是关节零位偏差列向量,Jlx0是机器人χ坐标方程对关节角度的雅可比行 向量,其他两个雅可比行向量分别对应y和z坐标,三个雅可比行向量均为已知值。
[0044] 拉线传感器基准位置的实际位置与标定初值的偏差,如方程(2)定义,为了方便表 示,还是记为Δ Ρ〇( Δ X,Δ y,Δ z)。
[0045] 将方程(6)和拉线传感器基准位置偏差,带入方程(1 ),忽略偏差的二次项,整理得 到: Γ ? (?&4?+ahJ,ve + aiJte)ΑΘ+(?^+aivAy+ ai^) = Vi -(4+ al + al)172
[0046] ,. , ' (7) ah- = χ0 -χ"?:αΗ = Jo = Z0 ~-ni
[0047] 方程(7)中只有角度零位偏差和基准位置偏差是未知,且是偏差的线性方程,取所 有的N个示教点数据,得到N个方程,通过最小二乘法计算得到这些偏差,获得关节角度零位 偏差和拉线传感器基准位置的粗标定位置,为了方便表示,此粗标定位置还是记为Po '( X ' 〇, y ' ο,ζ ' 〇)。这样完成了拉线传感器一个位置的粗标定。
[0048] 对拉线传感器每个位置的测量数据进行粗标定,得到拉线传感器每个位置对应的 基准位置的粗标定位置。
[0049] 下面进行精标定,此时可标定工业机器人所有DH参数,当然也包括工业机器人末 端连杆参数,同时拉线传感器一般存在零位偏差,为了提高标定精度,必须对此零位偏差同 时进行标定。
[0050] 为了公式简洁,拉线传感器在每个位置,推导精标定的标定模型时,不加下标区 另IJ。最后综合所有位置的模型时,加下标以区别。
[0051 ]考虑拉线传感器零位偏差时,测量数据表示为:
[0052] lai = li+A 1 (8)
[0053] lai是实际距尚,li是测量距尚,Δ 1是零位偏差。
[0054] 方程(1)变为:
[0055] (x〇-xai)2+(y〇-yai) 2+(z『zai)2 = lai2 = (li+A I)2 (9)
[0056] 当工业机器人标定参数为Δρ列向量时,机器人TCP实际位置Pal和名义位置Ρηι之 间关系为:
[0057] Xai - Xni+Jixp Δ p,yai - yni+jiyp Δ p,Zai - Zni+Jizp Δ p (10)
[0058] 其中JixP是工业机器人x坐标方程对标定参数向量ΛΡ的雅可比行向量,其他两个 雅可比行向量分别对应y和ζ坐标,三个雅可比行向量均为已知值。
[0059] 拉线传感器基准位置的实际位置与标定初值的偏差,如方程(2)定义,为了方便表 示,还是记为Δ Ρ〇( Δ X,Δ y,Δ z)。
[0060] 将方程(8)、(10)和拉线传感器基准位置偏差,带入方程(9),忽略偏差的二次项, 整理得到: 「 n (Ciix^ixp +a/v^Vp +α?ζ^?ζρ)^Ρ^(α?χ^Χ + α?Λ? + α?ι^)~^Α^ ~(α?χ ^aiy +^)]/2 .
[0061] , , ., U1) α?χ ~ Χ0 ~Xm^aiy ~ Το ~ ):η?^α?= ^ ~0 ~2η?
[0062] 方程(11)中只有机器人标定参数向量Δρ、传感器基准位置偏差ΔΡ〇(Δχ,Δγ,Δ ζ)和零位偏差△ 1是未知,且是偏差的线性方程。
[0063] 如果对每个拉线传感器位置的测量数据,都分别采用方程(11),通过最小二乘法 计算得到工业机器人标定参数。由于拉线传感器每个位置的标定结果不同,如何融合这些 结果,是个难题。只是简单的取平均值,效果不佳。
[0064] 本发明采用整体标定的方法,即利用拉线传感器所有位置的测量数据,建立方程 (11 ),把所有方程整合成一个大的线性方程组,进行标定。
[0065] 仔细研究方程(11),发现只有传感器基准位置偏差Δ Ρ〇( Δ X,Δ y,Δ ζ)与拉线传 感器的位置有关,工业机器人标定参数向量A p、拉线传感器零位偏差Δ1与拉线传感器位 置无关。
[0066] 令k = l,...,m为拉线传感器位置编号,m为拉线传感器不同位置数,一般取1到3, 每个位置的示教点数为池=沁,...,N m,拉线传感器每个位置的实际坐标为粗 标定的坐标为<??),位置偏差为M ΔζΑ)。
[0067] 把拉线传感器每个位置的测量数据带入方程(11),得到: ianJnp+anJnp+aiz J,:p)AP + ia,M + = ^ -(an + al + al)V 2
[0068 ] αΙ? = 4' - ·η", % = )i' ~ )Μ· uh = 4' - -7," (12) k = 1,…
[0069] 综合所有示教点,可得?乂个线性方程,通过最小二乘法解此线性方程组,可得到 工业机器人标定参数向量△ ρ、拉线传感器零位偏差△ 1和拉线传感器在每个位置的基准位 置偏差^/^^4/,&^。利用这些标定偏差对机器人和拉线传感器进行更新。显然上述精 标定可迭代进行,来提高标定精度,一般迭代四次后,标定结果改变很小,标定结束。
[0070] 以上所有的线性方程组的最小二乘法,可以采用普通最小二乘法,但优先采用基 于奇异值分解的最小二乘法,以提高解算稳定性和精度。
[0071] 以上所述,仅为本发明最佳实施方式,任何熟悉本技术领域的技术人员在本发明 披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的 保护范围内。
【主权项】
1. 一种基于直线位移传感器的工业机器人运动学参数的标定算法,其特征在于该标定 算法包括以下步骤: 第一步:直线位移传感器固定在若干位置获取测量数据: (1.1) 直线位移传感器固定在某任意位置,对工业机器人进行示教; (1.2) 根据示教程序指令让所述工业机器人运动到指定位置停止,并记录所述工业机 器人在不同位置时所述直线位移传感器的数据及所述工业机器人的关节角度值; (1.3) 改变所述直线位移传感器的位置并固定,对所述工业机器人进行示教,重复步骤 (1.2); (1.4) 重复步骤(1.3)若干次,一般情况下直线位移传感器位置数为1到3; 第二步:直线位移传感器固定在每个位置时的粗标定: (2.1) 首先让所述工业机器人末端TCP尽可能靠近所述直线位移传感器,获取TCP位置, 并把此位置作为所述直线位移传感器的基准位置初值; (2.2) 根据所述直线位移传感器的基准位置初值、测量数据和所述机器人名义参数,标 定所述直线位移传感器的基准位置; (2.3) 根据标定出的所述直线位移传感器基准位置与建立的标定模型对所述工业机器 人的关节零位偏差和所述直线位移传感器基准位置偏差进行粗标定; 第三步:综合所述直线位移传感器所有位置粗标定结果的精标定: (3.1) 建立标定模型,对所述工业机器人所有DH参数、末端连杆参数和所述直线位移传 感器的零位偏差进行标定; (3.2) 迭代标定,多次重复步骤(3.1),一般重复步骤(3.1)四次后标定结果变化足够 小,标定结束。2. 根据权利要求1所述的标定算法,其特征在于所述直线位移传感器采用拉线传感器。
【文档编号】G06T7/20GK106097395SQ201610460753
【公开日】2016年11月9日
【申请日】2016年6月21日
【发明人】单建华, 佘慧莉
【申请人】安徽工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1