找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 566|回复: 0

六自由度关节式坐标测量机关节零位偏差的标定算法

[复制链接]
发表于 2010-9-11 22:00:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×
1.引言 * I8 f1 }0 A; ?% b4 H" A

  六自由度关节式坐标测量机是一种新型的非笛卡尔式坐标测量机。它仿照人体关节结构,以角度基准取代长度基准,将六个杆件和一个测头通过六个旋转关节串联连接,一端固定在机座上,另一端(测头)可在空间自由运动,构成一个六自由度的封闭球形测量空间。与传统的笛卡尔式三坐标测量机相比,它具有机械结构简单,体积小,测量范围大,灵活方便等优点,主要应用于CADCAM中三维模型表面数字化和大型零部件几何尺寸的现场检测等领域12
  六自由度关节式坐标测量机在装配过程中,由于角度光电编码器的零位与关节结构的理论零位不重合而产生的角度偏差,称为关节零位偏差。其特点是:各关节的零位偏差各不相同;由于装配工艺误差不可避免,关节零位偏差较大(约±3°);对于每台装配好的关节式坐标测量机,各关节零位偏差值固定不变,属于系统误差。由于杆长的放大作用,关节零位偏差在末端测头处产生很大的位姿误差。因此,为了补偿关节零位偏差,提高测量精度,对关节式坐标测量机进行标定是非常重要的。

6 z9 P- [& H. y5 F) H" l

  2.数学模型

: i; E, {; B( v* f7 m5 b$ N

) O& i9 N) p5 F0 T

图 六自由度关节式坐

! I+ w4 n1 _5 d. @6 \/ u; r

  标测量机结构模型六自由度关节式坐标测量机从机械结构上可以看成是串联的开式运动链。其结构模型如图所示(各坐标系的Y轴由“右手法则”确定)。
  参见图示,将测头局部坐标系O7-X7Y7X7相对于基座参考坐标系O0-X0Y0Z0的位姿记为T07,这是一个4×4的齐次矩阵,可描述为

" b, Z! A2 d U5 ?6 `

T07A01A12A23A34A45A56A67        (1

3 U% h9 }; n8 i

式中,Ai-1ii1,…,7)是杆件i相对于杆件i1的齐次位姿变换矩阵。DenavitHartenberg1995年提出了两个相互连接且相对运动的构件之间相互关系的分析方法,并给出了相应的齐次变换矩阵3,即

8 i4 a p7 ^+ [) c* `6 k0 Q

* C( F% X- p8 R/ W) @* p6 q

       (2

% Q! ]; o1 I, {* I0 x& P! G

式中,θi是关节的转角,这里是变量,称为关节变量;φi是相邻关节旋转轴线的夹角,这里近似为直角;ai是相邻关节轴线沿空间公垂线的距离,这里近似为0di是相邻杆件坐标原点沿Z轴之间的距离,这里称为杆长。
  对于多关节坐标测量机,测头在空间的姿态并不重要,而测头的空间位置坐标则是需要得到的。将式(1)、(2)合并后,测头位置坐标方程为

8 @" a1 B( w( d& m: K1 P

  P=(R1R2R3R4R5R6q7+(R1R2R3R4R5q6R1R2R3R4q5
    +(R1R2R3q4+(R1R2q3R1q2q1            
3

- _ l5 \6 H# o/ R' q

式中包括三个坐标分量方程,都是关节变量的函数,即

7 S: [% f7 m' j% T- ]- s! d! _

PFθ1θ2θ3θ4θ5θ6)       (4

' b; s6 H2 ^5 R6 G& y

  为了得到关节零位偏差与测头位置误差之间的关系,假设关节零位偏差足够小,对式(4)求全微分,近似得到测头位置误差方程为4

     57 b' c( l' \) Z! @' y8 h$ C

  将式(5)用矩阵方式简单描述,即

6 `/ p' F; P4 I4 r, O- r( {

ΔPJδΔδ     6

, \' x5 K& i; L0 [) P

式中 ΔP(ΔPx ΔPy ΔPzT
  
  Δδ=(Δθ1 Δθ2 Δθ3 Δθ4 Δθ5 Δθ6T

8 Z5 U* Y% B. S

  由式(4)和式(6)即可得到描述关节零位偏差与测头位置误差之间关系的线性方程。
  3标定算法
  为测定各关节零位偏差值,需要一系列已知标准位置坐标,这些标准位置坐标可以通过高精度的三坐标测量机测得。设有m个标准位置坐标,关节式坐标测量机的测头分别触测这些标准位置,由光电编码器分别得到相应的关节转角,将这些关节转角分别代入方程式(4),计算出测头的理论位置坐标,然后与标准坐标比对,得到m个测头位置误差。把这些数据代入式(6),可得到3×m个位置误差方程,即

* @9 G C* a0 K& m! l1 o4 v

ΔQGΔδ     7

) b5 U8 X6 F" c+ I9 N& M! U7 p5 p

其中

' @& D: f. c" B: Q

9 k: `: c7 |4 L5 U+ C. o

式(7)中有6个未知量,只要3×m6,则可运用最小二乘法求解出关节零位偏差,即

( K. P0 I8 w2 \6 B: o* k

Δδ=(GTG1GTΔQ     8

& ?: D. T* `6 @& z( A2 s- p

  把计算出的关节零位偏差值作为零位偏差的修正量代入式(4),计算出新的测头位置坐标,然后将新的位置误差和新的系数矩阵代入式(7),再重复式(8)的计算。经过以上的反复迭代过程,直到测头位置误差小于设定值,最后获得最优解,即最接近实际的关节零位偏差值。

5 g O1 l5 f1 a/ U' E1 L

  4.仿真验算

; }' t/ a& O f! `; c

  为了进行计算机仿真验算,首先设定六自由度关节式坐标测量机的结构参数(φiaidi),并假设关节零位偏差(Δθi),具体数值列于表1

7 U1 K% r; l7 k) _ G7 ?4 V

1 六自由度关节式坐标测量机结构参数

U) Q: S/ _4 r& o& @) O" I( Y
7 O- b( q" c1 k5 r# y( G5 @. r) f2 g" M$ @) ^$ h8 j# s; f2 v3 l7 e9 l0 C' a3 v4 Z5 W" ^# b+ k$ @4 R4 u! b5 o' Q0 K/ W' y3 d, i4 Q) a: \' r7 T L. o; }9 ^- c; O" Q3 @2 K6 P7 _6 t- `8 i( y+ S' L3 x: B. o6 _/ N5 X: @+ r/ B4 |. m* i% K, ? J9 r3 }* H" ?/ e( d* t* D# N0 f2 J5 [' {- W. e: ^8 N3 y( [! L/ W* _/ C$ l! n, A/ Z' C" ^9 V$ Q- r3 l1 e# v& Q/ x6 M6 F! Z( ]! \8 O0 x, ^9 c; |6 T8 d" U \4 B6 C6 h/ `- I1 k, y; R# L+ f' @$ s) l7 c8 f9 P8 h& B5 u. P7 a, a1 f7 }" O) x8 N) d! g5 ]6 O$ C; i0 A- k" _( L5 Z* ?# C, D; @8 K3 F- G6 \' M" b/ I6 z3 m$ z, ?" R; P8 O9 D& e9 @: E) _- y6 c# w8 @' E6 j6 A5 y) [: k, F* s [: i% E# O2 Q+ A+ |! Q) t1 G7 P5 `0 i3 R* @+ C1 N. j- C, V) z* n# ^3 i) N: A9 D. f/ O& G. \3 J; [5 g" g9 S3 g4 o8 ~( s' {0 p7 |2 a) t! W* h8 Q# ~7 n" C* ]' T) n' ]3 c- j: u5 |9 P3 \1 v3 {* W. v& e3 i f' \) M+ V# q& j$ C2 y7 T. I7 N$ Z4 m3 L. ]) z$ }5 n# h1 V" I) A/ h$ r. i" ~+ [+ T- }% m) u4 [# N; C% Q% }7 t4 E3 s; k7 C/ Z: |8 v3 d4 n9 K' n) S4 L4 J# t; q! K# i( E2 P2 _/ n! f: `! g1 j9 W+ {1 U' p+ z% f$ k+ ~- B( l* E) r: U. u( ? K2 M0 o0 S6 P+ L T0 X: i$ T& E1 A7 M3 a$ |8 e: e& h# L# \5 [9 f8 ?; H, L( x6 z& A; F1 p$ i: \& N( V0 ]* w3 {6 {9 s; c$ U) Y# N- h$ X6 S" c: p! ?. |7 Z# b L; I: d Y5 T2 y
杆件
序号
φi° aimm dimm 零位偏差
Δθi°
1  -901  001  9985   24
2  9005  002  15138  -205
3  90  -001  4486  -15
4  -899  -003  1011   22
5  -9005  001  3522   12
6  8935  0005  9975  -18
7  0  0  15025   0
* N N* s9 F. X+ w J# R

8 w$ s8 D% W; Q5 v; s4 N2 r

' g3 s, D8 E x8 q1 W" G; R) B h' N6 F' F3 X4 C- @; {" @2 B9 a5 J0 U
  在验算中,对标定算法重复进行了三次仿真计算。每次随机选取3组关节转角组合,根据表1中的结构参数和关节零位偏差,按式(4)计算出3个标准(实际)的空间坐标矢量。同时,不考虑零位偏差,计算出3个理论坐标矢量,并得到相应的误差矢量。根据式(5)、(6)、(7),可得到9个误差方程。利用式(8)求解出6个关节零位偏差值。为了获得更准确的数据,采用迭代算法,将计算出的关节零位偏差值代入式(4)修正理论模型,重复以上过程,直到空间位置误差小于一设定值(这里设为03mm)。三次仿真计算的结果列于表2 . s5 v a- n" w" d

2 仿真验算结果

% D0 \% a! C7 |3 v
, h: y& n; q' P# L Y4 n; E9 `; h& g/ U( R% @7 v; E2 L* N1 \9 u0 W/ ]% U! E" Q( m" ^1 W+ n. h6 \% T9 u1 t" H: x& U& j' g, f' N) ]3 K. R4 x; S% y9 y t! ?- c. l. \3 x! G- \' D$ `% e7 ]* d ]7 X0 v/ R! W2 c9 j$ g4 P+ I) F' I9 r) C( L. P5 }, C" L* {7 k' ^1 g" F" F) h( O! r$ o/ {' N# a0 [$ L0 _' v" e3 z/ Q+ ^1 F4 c) _8 B+ v" _2 [7 @" T7 G2 y% S; Q& q2 h' e/ X5 y T) g8 [/ P& z1 a, A' l0 Q% r/ B V6 C2 j& i( r" O% z0 i; F4 h ~. Y* P! b3 D% K' x: W5 I @& Y! ?; l2 [% `7 w9 W/ j3 x9 `/ }6 a4 p( r0 |3 d* [# u; L, _8 P4 C2 D1 j. \. d; b/ o# P+ X5 F9 c j' I3 q/ H/ F* J; O0 y! `) j/ I2 }2 W. y9 O) R4 U. x8 v7 Q5 x5 L4 g' i6 L: f0 b! h% D! _# _) d! K; ?+ B a: l( b+ K5 Z/ w4 C5 P) I; G5 |$ [7 P/ j) M2 E5 z, e7 g* N R4 e k0 W! H3 O) p, {4 \% `4 q* ?6 f w. ]3 U2 E( G& F$ _9 G t! [* v. \2 j0 u6 h0 x3 v2 ^) q* _" R1 C2 b. a; f) @" q$ o- M5 g+ U, p+ M% @& |4 l9 c2 m8 h9 r. u X" i# G! d1 ?( Y2 [ q0 \3 ^ H" \& _* T/ C( ~ z! H; i6 r3 O& a9 q* V2 T+ L9 W6 k6 b2 Z! B4 C" l" J7 A' M2 l- ~7 B f: ` M$ h5 `- |4 E8 w& G! N7 _/ W8 o6 p. D. Q$ c- n8 J F4 G: k9 X: g8 Q; i; m* N( @$ r, N+ [5 v; R$ H3 w, E+ s* X9 k7 Z- k( ?0 H" N8 _+ {! P; ~' N$ w/ F0 a& l# ~9 l- a5 D% \; o5 `! J1 r4 L# \4 u) Y5 s4 j' g$ S" @% k; x) S Z+ s( o% Q. m5 {! U% c4 W" f4 G% Q* W* [1 Q5 ~8 x- q1 v9 A2 ~+ e7 ]4 k+ S+ g' S! c0 d0 K5 c, d- D: U0 U) F5 K0 r4 l5 F. [, E) a; z d8 @6 Y7 r$ B) Y' j0 B* @, E1 ^6 {1 p* }/ B6 c ]: q; r, i, {$ R6 Z0 ^) E, V# E- |2 ]' s Q" v3 M N+ M; I2 h# }) {0 q6 e8 U6 {( M8 u% x+ o. Y$ T0 j, M q8 [7 u2 P8 A. s' W \2 _ `9 ~) W1 s( Q K' }% C6 {7 o4 |$ I* e3 N6 T0 W1 V( E' [, ~+ U' E' L9 E* F- V' h% e4 }' f5 Y1 ~6 H! } @/ r$ [% j7 ^9 \- W% `) O. P0 T" i) G# l9 D* `. p( m! L2 n9 z: W& f ]( ?) e8 k( O A& j1 N+ s8 B3 p Q6 T- S ^) A2 t4 X: ]- ^$ o# O! R7 a$ {# T$ O4 f7 t7 Y- C2 R4 |# h$ |. L. L, |/ y8 p+ j: M7 w6 f, }$ P* g% j: h, K: [3 n+ @) v: C9 \% v4 Z6 c4 c2 U* K6 _4 _/ h$ G' q0 o3 u3 j7 u2 b/ N3 \& C3 m$ U X; s3 u& o' ?( M9 N7 b$ O* _; o% W. l4 g. W r. z: c9 \0 b" S7 _9 K, T+ y6 d8 {# w' ?; I9 [, y& M! G2 l# P# u a, u9 @0 A& o0 K& }4 c) J$ ^% U* l/ R' R. e2 d% Y9 M6 x3 o7 a: M9 B% X# C z. h+ c4 B+ T* _4 ` Y( @3 H, {3 J7 g' Z9 R. J; E& U# R; L* s' P7 E6 h h; g0 B4 K* U7 h# [- ?% A5 l- C) d& x! I. {5 ]- D; L; M% a$ \2 u' x3 k* b4 V+ r8 D) z4 V$ n7 h2 A& S' T" O& ^: E9 }# N! o! T; N' x7 |+ g$ a n2 ?5 h( `1 A) G J4 ]" r) s+ m5 X9 [9 E+ v& N! K; {4 [5 f+ B! C# M/ T" ]0 f; v6 E+ b( J# ^7 y. u R8 p+ S! l% a& @6 N; [+ f$ O; R6 b( B3 m! f+ L6 p. l" ~4 j% W" z }6 ~4 H# ~% t8 s8 V/ e* u( [ [) M5 u4 x( `# v$ r$ x& q- L7 c% ~1 y5 b5 ~% y, T, ^' @
仿真
次数
关节转角组合
(θ1,…,θ6
°
标准坐
标矢量
mm
位置
误差
mm
迭代1 迭代2 迭代3 迭代4
零位
误差
°
位置
误差
mm
零位
误差
°
位置
误差
mm
零位
误差
°
位置
误差
mm
零位
误差
°
位置
误差
mm
1 -90-90090
090
138558
575
782
-283
282
39968 2406
-2
063
-1
432
2
177
1
776
-1
375
1717 2406
-2
063
-1
490
2
177
1
719
-1
776
1483 2406
-2
063
-1
490
2
177
1
203
-1
776
0148 2406
-2
063
-1
492
2
182
1
203
-1
781
0146
12090120-20
7050
-652092
645
842
202
687
30043 1201 6 Q+ G: R3 E/ B+ U, I' a- L* X0955 # g2 z2 [% Y0 q, Y7 U' S 0206 5 h+ U1 c$ Q) @3 \+ N* M: t0206
-900090
00
14257
522
883
503
83
49592 0732 0801 0244 0232
2 -90101090
1010
61557
434
09
594
691
49319 2521
-1
948
-1
432
2
464
1
146
-1
261
1479 2406
-2
063
-1
490
2
181
1
203
-1
781
0212        
0900-90
090
32085
157
437
-251
305
23654 1155 ) N) Q C3 n) d, R1 n/ H 0230 < % [: f9 _. Q4 N" ?& v" E <    
-1201402060
10150
-148998
-518
998
-237
442
3930 2176 0082    
3 50-805040
-6040
-463903
-760
076
176
659
7357 2349
-2
120
-1
432
2
292
1
146
-1
432
0603 2406
-2
063
-1
490
2
180
1.203
-1
781
0068        
108030150
30140
186165
160
292
290
97
26475 0894 1 I: A6 `& ?1 A( Y' |* T0069 < % @5 k, S7 {7 R/ } O! L <    
403060150
90-90
17932
102
388
101
179
17161 0898 0122    
) h* D0 p, N9 T% w% V- R

1 G' B, Z6 w, R" \% M5 n

+ n* _- s/ h* t) B/ c; M3 w$ W+ b: o3 T, n, N% k" T* \ D( S1 E* I3 [4 ?+ x/ N0 X. Q; c1 O/ |
4 E: T6 R, x4 s4 G

  由仿真验算结果可得出以下结论:
  (1)较小的关节零位偏差会引起很大的测头位置误差,最大可达7357mm
  (2)本文给出的标定算法是正确的,经标定得出的关节零位偏差值与设定的真值近似,最大误差为002°
  (3)迭代算法是收敛的,一般不超过4次迭代;
  (4)三次仿真计算所得结果相同,说明只要在测量空间任取三点,即可准确且唯一地标定出6个关节零位偏差。

9 f: f: F5 M) T0 G/ g

  5.结语

7 {) q4 A' E8 a" d3 e

  本文在Denavit-Hartenberg方法基础上,建立了六自由度关节式坐标测量机的数学模型。从模型可以看出,测头末端位置坐标与六个关节角度之间的关系是非线性的,这对于由已知空间坐标值来推算关节零位偏差是相当困难的。因此,我们运用全微分方法,求得了关节零位偏差与测头末端位置误差之间的线性关系,从而大大简化了标定过程。在已知空间点坐标情况下,应用最小二乘法和有限次数的迭代运算,求出最优的关节零位偏差值。最后,通过计算机仿真验算,证明了该算法的正确性。该标定算法也完全适用于其它结构参数误差的标定。该标定算法对提高六自由度关节式坐标测量机的测量精度具有重要意义。

/ r8 C4 S0 n9 N7 S$ N
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2025-4-6 08:14 , Processed in 0.120304 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表