5. NGHIÊN CỨU PHƯƠNG PHÁP XÁC ĐỊNH SAI SỐ HÌNH HỌC, ĐỘNG HỌC CỦA KHÂU, KHỚP ROBOT
5.1 Cơ sở phương pháp xác định sai số của khâu, khớp
Ta viết phương trình (3.55):
1 1
Tq Ts
p M
p Rq p Rs
J J
dr dq
de Jde
J J J J
dp ds
(3.55)
Gọi deRjlà véc tơ sai lệch vị trí và hướng thực tế của robot tại điểm khảo sát thứ j, Xcj là véc tơ vị trí và hướng của khâu thao tác được tính toán thông qua mô hình toán (phương trình động học) của robot như trong Chương 2 đã thiết lập ứng với các tham số động học, hình học là các giá trị danh nghĩa của chúng (không tính đến sai số) và Xmjlà véc tơ vị trí và hướng thực tế của khâu thao tác của robot tại vị trí đo thứ j. Khi đó ta xác định được véc tơ deRjbởi phương trình sau:
Rj mj nj
de X X (5.1)
e là gia số sai lệch biểu diễn bởi hiệu số giữa sai lệch thực tế
Rj
de của robot so với sai lệch từ mô hình sai số deM của chính robot đó. Khi đó ta có phương trình:
J j
R M R j
e de de de J de (5.2)
Trong phương trình trên, véc tơ deRjgồm 3 sai lệch thực tế về vị trí dr dr drpx, py, pz tịnh tiến theo ba trục và 3 sai lệch thực tế về hướng dp dp dpx, y, z quanh ba trục tọa độ Đề các gắn tại khâu thao tác của robot và sẽ được xác định bởi các dụng cụ đo còn các biến của phương trình là giá trị sai số hình học, động học của khâu, khớp robot.
Tại mỗi vị trí của khâu thao tác tại điểm đo khảo sát ta chỉ đo được 6 thành phần sai lệch, trong khi số ẩn cần tìm là lớn hơn 6. Do vậy ta cần phải tiến hành đo với số điểm đo đủ lớn để có đủ số phương trình để có thể giải được (5.2).
Gọi m là số điểm đo, ta sẽ có 6m giá trị đo được, với robot có n khâu động, số sai số (số biến) lớn nhất theo phương pháp D-H sẽ là 4n, như vậy cần số điểm đo tối thiểu là m=2n/3; còn theo phương pháp tọa độ suy rộng sẽ là 6n, số điểm đo tối thiểu cần là m=n.
Nhưng để khử sai số ngẫu nhiên của dụng cụ đo, sai số khi đọc kết quả đo ta phải tăng số điểm đo m>2n/3 (hoặc m>n – Nếu sử dụng phương pháp tọa độ suy rộng). Nhưng nếu tăng số điểm đo quá lớn sẽ làm cho lời giải trở nên phức tạp.
Sau khi xác định các sai lệch tại các điểm đo đã chọn, ta có thể lập bảng dữ liệu số liệu đo theo cấu trúc mảng như sau:
Bảng 5-1: Bảng dữ liệu đo sai lệch ở những điểm khảo sát
Sai lệch Điểm đo 1 Điểm đo 2 … Điểm đo m
drpx
drpy
drpz
dpx
dpy
dpz
Như vậy, để nhận được véc tơ các sai số hình học, động học de của robot ở trong phương trình (5.2) ta cho gia số sai lệch e tiến về 0. Khi đó bài toán sẽ trở về vấn đề “tìm nghiệm của phương trình”:
RJ
Jde de (5.3)
Như phần trên đã trình bày, ta cần đo với số điểm đo m đủ lớn cần thiết để khử sai số ngẫu nhiên trong quá trình đo. Khi đó, với số phương trình nhiều, số ẩn cần tìm nhiều, ta có hệ phương trình sau:
1
2 1
2
...
m R
R
m R
J de de J de de J de de
(5.4)
Viết ở dạng ma trận:
1
1 1
2
... ...
m R R
m R
J de J de
de
J de
(5.5)
Để giải được phương trình (5.5), do ma trận J không phải là ma trận vuông (số hàng lớn hơn số cột) nên không thể tính nghịch đảo trực tiếp được, theo [32], ta có thể sử dụng phương pháp ma trận giả nghịch đảo (có một số tài liệu gọi là ma trận tựa nghịch đảo) để tìm véc tơ sai số hình học, động học de. Ngoài ra, theo [33], [34], [36], [37] ta cũng có thể
sử dụng các công cụ tối ưu hóa để đưa ra lời giải phù hợp với hàm mục tiêu ứng với những dữ liệu đầu vào. Nội dung dưới đây trình bày về hai phương pháp này.
5.1.1 Phương pháp ma trận giả nghịch đảo Moore-Penrose
Trong đại số tuyến tính, ma trận giả nghịch đảo A+ của ma trận A là một tổng quát hóa của ma trận nghịch đảo. Loại ma trận giả nghịch đảo phổ biến nhất là giả nghịch đảo Moore–Penrose, tìm ra một cách độc lập bởi E. H. Moore năm 1920, Arne Bjerhammar năm 1951 và Roger Penrose năm 1955. Trước đó, Fredholm đã định nghĩa khái niệm giả nghịch đảo của biến đổi tích phân năm 1903. Khi dùng cho ma trận, khái niệm giả nghịch đảo nếu không có chú thích thêm thường được dùng để chỉ giả nghịch đảo Moore–Penrose.
Một tên gọi khác cho khái niệm này là ma trận nghịch đảo tổng quát [32].
Ma trận giả nghịch đảo được định nghĩa như sau:
Với A M m n ( , ), ma trận giả nghịch đảo Moore–Penrose của A được định nghĩa là ma trận AM n m( , )thỏa mãn cả bốn tính chất sau:
AA A A (AA+ không nhất thiết là ma trận đơn vị nhưng phải ánh xạ mỗi cột của A đến chính nó);
A AA A(A+ là nghịch đảo yếu của nửa nhóm nhân);
(AA)T AA (AA+ là một ma trận Hermite); và (A A )T A A (A+A cũng là một ma trận Hermite).
Trong bài toán tìm sai số hình học, động học của luận án, ma trận J có số hàng lớn hơn số cột, áp dụng phương pháp ma trận giả nghịch đảo Moore-Penrose ta xác định véc tơ giá trị các sai số hình học, động học của các khâu, khớp robot như sau:
RJ
de J de (5.6)
Với Jđược xác định theo phương pháp ma trận giả nghịch đảo Moore-Penronse như sau:
( T )1 T
J J J J (5.7)
5.1.2 Phương pháp bình phương tối thiểu tuyến tính kết hợp giải thuật di truyền
Trong toán học, phương pháp bình phương tối thiểu, còn gọi là bình phương nhỏ nhất hay bình phương trung bình tối thiểu, là một phương pháp tối ưu hóa để lựa chọn một đường khớp nhất cho một dải dữ liệu ứng với cực trị của tổng các sai số thống kê (error) giữa đường khớp và dữ liệu.
Phương pháp này giả định các sai số (error) của phép đo đạc dữ liệu phân phối ngẫu nhiên. Định lý Gauss-Markov chứng minh rằng kết quả thu được từ phương pháp bình phương tối thiểu không thiên vị và sai số của việc đo đạc dữ liệu không nhất thiết phải tuân theo, ví dụ, phân bố Gauss. Một phương pháp mở rộng từ phương pháp này là bình phương tối thiểu có trọng số.
Phương pháp bình phương tối thiểu thường được dùng trong khớp đường cong. Nhiều bài toán tối ưu hóa cũng được quy về việc tìm cực trị của dạng bình phương, ví dụ như tìm cực tiểu của năng lượng hay cực đại của entropy.
Hình 5-1: Hình minh họa bình phương tối thiểu tuyến tính [35].
Giả sử dữ liệu gồm các điểm (xi, yi) với i = 1, 2, ..., n. Chúng ta cần tìm một hàm số f thỏa mãn:
i i
f x y (5.8)
Giả sử hàm f có thể thay đổi hình dạng, phụ thuộc vào một số tham số, pj với j = 1, 2, ..., m:
j,
f x f p x (5.9)
Nội dung của phương pháp là tìm giá trị của các tham số pj sao cho biểu thức sau đạt cực tiểu:
2 2
1
( )
n
i i
i
y f x
(5.10)
Đôi khi thay vì tìm giá trị nhỏ nhất của tổng bình phương, người ta có thể tìm giá trị nhỏ nhất của bình phương trung bình:
2 2
1
1 n ( i i )
i
y f x
n
(5.11)
Bài toán thường có lời giải đáng tin cậy khi số lượng các tham số pj nhỏ hơn số lượng các dữ liệu (m < n).
Trong trường hợp, f là hàm tuyến tính của các tham số pj, bài toán trở nên đơn giản hóa rất nhiều, rút gọn thành việc giải một hệ phương trình tuyến tính. Xem thêm bình phương tối thiểu tuyến tính.
Nếu f không là hàm tuyến tính của các tham số, bài toán trở thành một bài toán tối ưu hóa tổng quát. Bài toán tổng quát này có thể dùng các phương pháp như phương pháp tối ưu hóa Newton hay phương pháp trượt dốc, công cụ giải thuật di truyền.
Áp dụng vào bài toán tìm sai số trong luận án này, từ phương trình (5.2) ta thấy rằng, để tìm được nghiệm ta cần tìm bộ giá trị e sao cho e tiến về 0 (đạt cực tiểu), khi đó bài toán trở về vấn đề tìm cực tiểu của hàm mục tiêu. Áp dụng phương pháp “Bình phương tối thiểu tuyến tính” (Linear Least Squares - LLS) để thiết lập hàm mục tiêu. Sau đó, sử dụng kỹ
thuật khớp đường cong bằng giải thuật di truyền (Genetic algorithm - GA) để nhận được lời giải là giá trị sai số hình học, động học của các khâu, khớp robot.
Trong trường hợp bài toán tìm sai số hình học, động học của các khâu, khớp robot, ta thấy rằng các nghiệm cần tìm là giá trị các sai số nằm trong hàm f x i , hàm này chính là hàm đã được thiết lập ở trong chương 3 khi xây dựng mô hình sai số, ta có thể gọi là hàm dự đoán sai số cho robot. Còn yi chính làm giá trị sai lệch vị trí và hướng của khâu thao tác thực tế đo được.
Theo phương pháp bình phương tối thiểu tuyến tính ta thiết lập được hàm mục tiêu bình phương tối thiểu trung bình L như sau:
2 1
( ) 0 j 1, 2, ..., m
j
m
R j
j
L de J de
(5.12)
Sau khi thiết lập được hàm mục tiêu, ta sử dụng công cụ GA theo cách tự lập trình hoặc sử dụng công cụ sẵn có của một số phần mềm thương mại để tìm ra giá trị của các sai số hình học, động học. Ta có thể sử dụng kết quả tìm sai số này để cập nhật vào các tham số cấu trúc trong bộ điều khiển để tính toán động học, động lực học và điều khiển robot được chính xác hơn.
Quá trình xác định sai sô hình học, động học của các khâu, khớp robot được mô tả như sau: Từ cấu trúc robot khảo sát ta xác định các tham số cấu trúc danh nghĩa của robot đó, áp vào chương trình thiết lập mô hình sai số đã trình bày trong Chương 3 để đưa ra mô hình toán của các sai số hình học, động học các khâu, khớp của robot và sai lệch vị trí và hướng của khâu thao tác; sau đó ta chọn quỹ đạo để khảo sát và đo xác định sai lệch vị trí và hướng của khâu thao tác tại mỗi điểm khảo sát; thiết lập hàm mục tiêu từ số liệu đo sai lệch và mô hình toán sai số đã được thiết lập, sử dụng công cụ GA giải và tìm ra giá trị các sai số thỏa mãn hàm mục tiêu.