Đồ án Cơ điện tử
Mục lục 1. GIỚI THIỆU ROBOT PUMA 2. SƠ ĐỒ ĐỘNG VÀ HỆ TỌA ĐỘ 3. PHƯƠNG TRÌNH ĐỘNG HỌC ROBOT 4. PHƯƠNG TRÌNH ĐỘNG HỌC NGƯỢC ROBOT
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
Đồ án Cơ điện tử 1. GIỚI THIỆU Ra đời cách đây nửa thế kỷ, robot công nghiệp đã có những phát triển vượt bậc. Nhiều nước trên thế giới sớm áp dụng mạnh mẽ kỹ thuật robot vào sản xuất và nó đã đem lại những hiệu quả to lớn về kinh tế và kỹ thuật, nâng cao năng suất lao động, tăng chất lượng và khả năng cạnh tranh của sản phẩm, cải thiện điều kiện làm việc của công nhân... Đối với nước ta, kỹ thuật robot vẫn còn là vấn đề khá mới mẻ, nhất là việc nghiên cứu thiết kế, chế tạo robot. Nội dung nghiên cứu nhằm chế tạo một robot sáu bậc tự do, kiểu robot PUMA –Programmalbe Univesal Machine for Assembly, sử dụng card điều khiển LAB-PC+ để điều khiển các động cơ bước dẫn động các khớp. 2. SƠ ĐỒ ĐỘNG VÀ HỆ TỌA ĐỘ CỦA ROBOT PUMA Robot PUMA là robot có 6 bậc tự do, cấu hình RRRRRR. Sơ đồ động và hệ tọa độ gắn trên các khâu của robot như sau:
Hình 1: Hệ tọa độ gắn trên các khâu của robot. BẢNG THÔNG SỐ DENAVIT - HARTENBERG (DH)
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
Khâu
θ
i
α −
i
π 2
1
θ 1*
2
θ 2*
3
θ 3*
4
θ 4*
5
θ 5*
π 2 π − 2 π 2
6
θ 6*
0
Các thông số cơ bản của Robot PUMA + Chọn a1 = …mm; a2 = …mm; a3max = …mm. + Giới hạn chuyển động cuả các khâu: - Khâu 1: …≤ θ 1≤ … - Khâu 2: …≤ θ 2 ≤ … - Khâu 3: - Khâu 4: - Khâu 5: - Khâu 6:
Nhóm sinh viên thực hiện:
0
ai
di
0
d1
a2
d2
a3
0
0
d4
0
0
0
d6
Đồ án Cơ điện tử
3. PHƯƠNG TRÌNH ĐỘNG HỌC ROBOT + Để mô tả mối quan hệ về hướng và vị trí của hệ tọa độ gắn trên hai khâu liền kề nhau (Khâu thứ i và khâu i-1) ta dùng các ma trận A i ; được biểu diễn bởi các phép biến đổi: Hay
Ai = Rot(z, θ 0). Trans(a,0,0). Trans(0,0,d). Rot(x, α ) cos θ sin θ Ai = 0 0
− sin θ cos α cos θ cos α sin α 0
sin θ sin α − cos θ sin α cos α 0
a cos θ a sin θ d 1
Qui ước viết tắt các hàm lượng giác như sau: Ci = cosθ
i;
Si = sinθ i; Cij = cos(θ i+θ j); Sij = sin(θ i+θ j);.......
Ta có: C1 0 − S1 S 0 C1 1 A1 = 0 −1 0 0 0 0 C3 0 S3 S 0 −C 3 3 A3 = 0 1 0 0 0 0 C5 0 S5 S 0 −C 5 5 A5 = 0 1 0 0 0 0
0 0 ; d1 1 a3 C3 a3 S3 ; 0 1 0 0 ; 0 1
C2 S 2 A2 = 0 0 C4 S 4 A4 = 0 0 C6 S 6 A6 = 0 0
− S2 0 C2 0 0 1 0 0 0 − S4 0 C4 −1 1 0 0 − S6 0 C6 0 0 1 0 0
a2 C2 a1 S2 ; d2 1 0 0 ; d4 1 0 0 ; d6 1
Tích các ma trận Ai được gọi là ma trận T: 5 T6 = A6; 4T6 = A5. A6 ; 3T6 = A4.A5.A6; 2 T6= A3.A4.A5.A6 ; 1T6 = A2.A3.A4.A5.A6 ; T6 = A1.A2.A3.A4.A5.A6 ; Ta còn có ma trận trạng thái cuối: nx n y TE = nz 0
sx sy sz 0
ax ay az 0
px py pz 1
Ma trận TE mô tả hướng và vị trí của hệ toạ độ gắn trên khâu chấp hành r r r cuối đối với hệ tọa độ gốc. Trong đó: n, s, a là các véctơ chỉ phương của hệ tọa độ gắn trên khâu chấp hành cuối, p là véctơ điểm chỉ vị trí của gốc hệ tọa độ gắn trên khâu chấp hành cuối. Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
a-vector có hướng tiếp cận (approach) đối tác s-vector có hướng đường trượt (sliding) đóng mở bàn kẹp hoặc phương nắm bắt(occupation) kí hiệu là o n- vector pháp tuyến (normal) ************
Ma trân chuyển trạng thái
***********************
5
T6 = A6 mô tả hướng và vị trí của khâu thứ 6 so với khâu thứ 5:
C6 − S 6 0 0 S C6 0 0 6 5 T6 =A6 = ; 0 0 1 d6 0 0 1 0 C5 .C6 −C5 S6 S5 S .C − S S C 5 6 5 6 5 4 T6 = A5. A6 = S6 C6 1 0 0 0 3
S5 .d6 −C5 .d6 0 1
T6 = A4.A5.A6=
2
T6 = A3.A4.A5.A6 [1,1]= [1,2]= [1,3]= [1,4]= [2,1]= [2,2]= [2,3]= [2,4]= [3,1]= [3,2]= [3,3]= [3,4]=
1
T6 = A2.A3.A4.A5.A6
[1,1] = C23 *(C4C5C6 − S4 S6 ) − S23 S5 C6 [1.2] = −C23 *(C4 C5 S6 + S4 C6 ) + S5 S6 S23 [1.3] = C23C4C5 + S23C5 [1, 4] = C23 *(C4 S5 d6 + a3 ) + S23 *(C5 d6 + d4 ) + a2 C2 [2,1] = S 23 *(C4 C5 C6 − S4 S6 ) + C23 S5 C6
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử [2, 2] = − S 23 *(C4C5 S6 + S4 C6 ) − C23 S5 S6 [2,3] = S 23C4 S5 − C23C5 [2, 4] = S 23 *(C4 S5 d6 + a3 ) − C23 *(C5 d6 + d4 ) + a2 C2 [3,1] = S 4C5C6 + C4 S6 [3, 2] = − S 4C5 S6 + C4 C6 [3.3] = S 4 S5 0
T6 = A1.A2.A3.A4.A5.A6
Tu ma trận trên ta có hệ phương trình động học của Robot PUMA như sau: nx = ox = ax = px = ny = oy = ay = py = nz = oz = az = pz =
4. PHƯƠNG TRÌNH ĐỘNG HỌC NGƯỢC ROBOT PUMA Trong thực tế, thường ta biết trước vị trí và hướng mà khâu chấp hành cuối của robot cần đạt đến. Điều ta cần biết là giá trị của các biến khớp (góc quay) tại mỗi thời điểm đó. Giải hệ phương trình (1), khi biết trước hướng và vị trí của hệ tọa độ gắn trên khâu chấp hành cuối, ta sẽ xác định được tệp Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
nghiệm (θ 1, θ 2, θ 3, θ 4,θ 5, θ 6) là giá trị của các biến khớp. Các phương trình xác định giá trị các biến khớp thông qua các véctơ n , o, a, p được gọi là hệ phương trình động học ngược của robot. Tham khảo bài giảng của GS.TSKH Nguyễn Văn Khang trong bài giải về việc giải một bài toán động học ngược bằng phương pháp số. Gọi
trong đó là tọa độ suy rộng, Trong đó là vị trí của khâu thao tác. Giữa và liên hệ vởi nhau bằng phương trình sau: . Bài toán động học ngược được phát biểu như sau: biết tìm .Tức là: Khi đó xảy ra 3 trường hợp: + m=n gọi là Robot có cấu trúc động học cân bằng (chuẩn). Phương trình có thể có nghiệm duy nhất tùy thuộc vào cấu trúc của hệ. +mn : Để bài toán có nghiệm thì cần có các rằng buộc điều kiện về tọa độ suy rộng. *Lưu ý: Bài toán động học ngược là rất khó, đối với tay máy 6 khớp có ba khớp cuối đồng quy tại một điểm ( with 6 DOF in which 3 consecutive axes intersect at a point), ta có thể tách bài toán động học ngược thành hai bài toán đơn giản hơn là động học ngược vị trí và động học ngược hướng + [1]Tìm vị trí giao điểm các trục cổ tay (tâm cổ tay) + [2]Tìm hướng của cổ tay. Ta biểu diễn (4.2) thành hai hệ phương trình như sau: 0
R6 ( q1 ,K , q6 ) = R
0
O6 (q1 ,K , q6 ) = O
(4.5)
trong đó O và R là hướng và vị trí của dụng cụ, được biểu diễn đối với
hệ
tọa độ cố định bên ngoài (world coordinate system). Ta phải giải bài toán trên đối với các ẩn
q1 , , q6 .
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
Pỉeper’Solution ứng dụng cho cơ cấu 6 khớp quay có 3 khớp cuối giao nhau có phương pháp giải như sau: Vị trí của tâm cổ tay, pc xác định qua vị trí công cụ (The given tool position) và phương của Tool pointing ( Z 6 ).Do đó vị trí của tâm cổ tay phụ thuộc vào 3 biến khớp đầu tiên. The relative wrist oriention R36 Các biến khớp θ 4 ,θ5 ,θ6 xác định từ ma trận định hướng cổ tay (The arm orientation) R03 và ma trận định hướng công cụ (The given tool orientation) R60 . + Ma trân trạng thái (The given tool pose) T60 + Solve porions của động học ngược để tìm ra R30 (θ1 ,θ2 ,θ3 ) và R63 (θ 4 , θ5 , θ6 ) . + Định vị trí của tâm cổ tay Oc có tọa độ cho trước như sau: 0
0 OC = O − d 6 .R. 0 1
trong đó O và R là hướng và vị trí của dụng cụ,
được biểu diễn đối với hệ tọa độ cố định bên ngoài (world coordinate Pc as d 6 (cột cuối cùng của T60 ) – system). d 6 (tool offset length)* Z 6 (3 cột của ma trận T60 ) + Thiết lập Pc = cột cuối cùng của R30 (θ1 ,θ2 ,θ3 ) để tìm ra các biến khớp θ1 , θ 2 , θ3
Tính R63 = R30 R60 sau khi đã thay giá trị của các biến khớp vào θ1 ,θ 2 ,θ3 vào −1
R30 (θ1 , θ 2 ,θ3 )
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
+So sánh R63 và R63 (θ 4 ,θ5 ,θ6 ) để rút ra θ 4 ,θ5 ,θ6 Tọa độ của điểm C trong hệ tọa độ R6 : 6
rC =
0 0 − d 6 t
Tọa độ của C trong hệ tọa độ R0 : n x n 6 y T = . = E C E n z 0
r
r
sx
ax
sy
ay
sz
az
0
0
p x 0 − a x . d6 + x p p y 0 − a y . d6 + y p = p z − d 6 − a z . d6 + z p 1 1 1
(*)
Ma trận chuyển từ hệ tọa độ 0 → 3: 0
R
C C 1 23 S 1 A A A = 3= 1. 2. 3 −S 23 0
− S1 C1 . S23 C1 ( a3 .C23 + a2 .C2 )− S1 . d 2 C1 S1. S23 S1 ( a3 .C23 + a2 .C2 ) − C1 . d 2 − a3 . S23 − a2 . S 2 + d1 C23 0 0 1 0
⇒ Tọa độ của C trong R0 : C . S . d + a .C C + a .C .C − S . d 1 23 4 3 1 23 2 1 2 1 2 S . S . d4 + a3 . S C23 + a2 . S1 .C2 + C1 . d 2 4 1 23 1 (**) 3. C = d 4 .C23 − a3 . S 23 − a2 . S 2 + d1 t
rC =0R r
Đối chiếu (*) và (**) ta được hệ 3 phương trình 3 ẩn :
C1 ( S 23 .d 4 + a3.C 23 + a 2.C 2 ) − S 1.d 2 = x p − ax .d 6 S1 ( S 23 .d 4 + a3.C 23 + a 2.C 2 ) + C 1.d 2 = y p − a y .d 6 d 4 .C23 − a3.S 23 − a 2.S 2 = z p − a z .d 6 − d 1 Nhân (2) với cos θ1 trừ đi (1) nhân với sin θ1 : d 2 = ( y p − a y d6 )cosθ1 − ( x p − ax d6 )sinθ1 d2 ⇒ θ1 = ± Ar cos 2 ( y p − a y d 6 ) + ( xp − ax d6 )2
− A tan 2( x p − a x d6 , y p − a y d6 )
Nhân (2) với sin θ1 cộng với (1) nhân vói cos θ1 và kết hợp với (3) ta có hệ [@]
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử
S 23 .d 4 + a3.C 23 + a 2.C 2 = ( y p − a y .d 6) sin θ + ( x p − a x .d 6)cosθ 1 = Px C23 .d 4 − a3.S 23 − a 2.S 2 = z p − az .d 6 − d 1 = Py Bình phương 2 vế cộng lại ta được: d 42 + a32 + a22 + 2d4 a2 sin θ3 + 2a2 a3 cosθ3 = Px2 + Py2 ⇒ 2d 4 a2 sin θ3 + 2a2 a3 cosθ3 = Px2 + Py2 − (a32 + a22 + d42 ) Px2 + Py2 − ( a32 + a22 + d42 ) + A tan 2(d4 a2 , a2 a3 ) ⇒ θ3 = ± Arc cos 2 2 2 a2 d 4 + a3
Khai triển hệ phương trình liên kết [@] ta được: (a3 .C3 + a2 + S3 .d4 )C2 + (C3 .d4 − a3 .sin θ3 )sin θ2 = Px (C3 .d 4 − a3 .S3 )cosθ2 − (a2 + S3 .d4 + a3 .cosθ3 ) sin θ2 = Py ∆ = − (a3 .C3 + a2 + S3 .d4 ) 2 + (C3 .d4 − a3 .S3 )2 ∆ c = − (a3 .C3 + a2 + S3 .d4 ) Px + (C3 .d4 − a3 .S3 ) Py ∆ s = − (d 4 .C3 − a3 S3 ) Px − (a2 + d4 S3 + a3 .C3 ) Py
θ 2 = A tan 2(
∆ s ∆c , ) ∆ ∆
⇒ θ 2 = A tan 2 (d4 C3 − a3 S3 ) Px − (a2 + d4 S3 + a3 C3 ) Py , (a2 + d4 S3 + a3 C3 ) Px + (d4 C3 − a3 S3 ) C4 S 4 3 Ta có R6 = A4 A5 A6 = 0 0
0 − S4 0 C4 −1 1 0 0
0 0 d4 1
C5 S 5 0 0
0 S5 0 −C5 1 0 0 0
0 0 0 1
C6 S 6 0 0
− S6 C6 0 0
0 0 0 0 1 d6 0 1
=
Mặt khác: A1 A2 A3 A4 A5 A6 = TE ⇔ R30 .R63 = TE ⇒ R63 = R30( −1) .TE C1C23nx + S1C23 ny − S23 nz − S1nx + C1ny C1S 23nx + S1 S23 ny − C23 nz 0
C1C23 sx + S1 C23 sy − S23 sz − S1 sx + C1 sy C1 S23 sx + S1 S23 sy − C23 sz 0
C1 C23 ax + S1 C23 ay − S23 az − S1 ax + C1 ay C1 S23 ax + S1 S23 ay − C23 az 0
Chỉ cần quan tâm tới phần định hướng tức là ma trận [3,3]. So sánh các phần tử của 2 ma trận [3,3] : Nhóm sinh viên thực hiện:
f14 f24 f34 1
Đồ án Cơ điện tử R63 [ 3,3] ⇒ cos θ5 = S 23 (C1ax + S1a y ) − C23 az ⇒ θ5 = ± Arc cos S 23 (C1ax + S1a y ) − C23 az
Nếu sin θ5 ≠ 0 ⇒ R63 [ 2,3] ⇒ sin θ4 *sin θ5 = − S1 * ax + C1 * a y ⇒ sin θ 4 =
− S1 * ax + C1 * a y sin θ5
R [ 1,3] ⇒ cosθ4 *sin θ5 = C23 (C1 * ax + S1 * a y ) − S23 az 3 6
⇒ cosθ 4 =
C23 (C1 * ax + S1 * a y ) − S23 az sin θ5
θ 4 = A tan 2(
− S1 * ax + C1 * a y C23 (C1 * ax + S1 * ay ) − S23 az , ) sin θ5 sin θ5
R63 [ 3, 2] ⇒ sin θ6 *sin θ5 = C1 S23 sx + S1 S23 sy + C23 sz ⇒ sin θ 6 =
C1S 23 sx + S1S23 s y + C23 sz sin θ5
R63 [ 3,1] ⇒ −cosθ6 *sin θ5 = C1 S23 nx + S1 S23 ny + C23 nz ⇒ cosθ 6 = −
θ 6 = A tan 2(
C1S23nx + S1 S23 ny + C23 nz sin θ5 S23 (C1sx + S1 s y ) + C23 sz
Phu luc Định nghĩa hàm Atan2(y,x): +Với y≠0:
Nhóm sinh viên thực hiện:
sin θ5
,−
S23 (C1 nx + S1 ny ) + C23nz sin θ5
)
Đồ án Cơ điện tử
Trong đó function):
là một góc trong khoảng [0,π/2) tương tự như
và sgn là hàm dấu(sign
+và
Chú ý: •
Tập giá trị của Atan2 là khoảng (-π,π], có thể khại triển thành [0,2π) bằng cách thêm π vào già trị âm.
•
Thông thường, atan2(0,0) không được định nghĩa. o Trong hàm của C, and most other computer implementations, are designed to reduce the effort of transforming cartesian to polar coordinates and so always define atan2(0,0). On implementations without signed zero, or when given positive zero arguments, it is normally defined as 0. It will always return a value in the range [-π,π] rather than raising an error or returning a NaN (Not a Number).
Number of Solutions: It depends on •Number of Joints •Range of Motion General Mechanism with 6 d.o.f.Number of solutions •Link Parameters e.g. 6-revolute-joint manipulator if all ai≠ 0 Number solutions if a3 = a5 = 0 Number solutions if a1 = a3 = a5 = 0 Number solutions
≤ 16
≤ 16 ≤8 ≤4
•Range of Motion General Mechanism with 6 d.o.f.Number of solutions < 16.Main Results: General 6R open-chain 16 solutions General 5RP open-chain 16 solutions General 4R2P open-chain 8 solutions General 3R3P open-chain 2 solutions
Nhóm sinh viên thực hiện:
Đồ án Cơ điện tử Special conditions in the structure [such as intersecting or parallel axes] cause the general number of solutions to reduce.There exist open-chain manipulators with 16, 14, 12, 10, 8, 6, 4, 2 solutions. Ex:PUMA 560 with 8 Solutions θ4 → θ4 + 180 θ5 → -θ5 θ6
0
→ θ6 + 1800
TÀI LIỆU THAM KHẢO [1] [2] [3]
Nguyễn Thiện Phúc, Robot công nghiệp, NXB Khoa học và Kỹ thuật, Hà Nội, 2004. Nguyễn Văn Khang, Động lực học hệ nhiều vật ,NXB Khoa học và Kỹ thuật www.google.com
Nhóm sinh viên thực hiện: