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.3 Ứng dụng giải thuật di truyền xác định sai số hình học, động học của khâu, khớp
5.3.2 Xác định sai số hình học, động học cho robot 6 tự do
Xét robot gồm 6 khớp quay với các tham số hình học danh nghĩa là: a1 = 305, d1 = 470, a2 = 1110, a3 = 200, d4 = -1240, d6 = -225 (đơn vị là mm).
Giả sử bằng dụng cụ đo chuyên dùng, ta có dữ liệu đo sai lệch vị trí và hướng của khâu thao tác tại 10 điểm khảo sát như trong bảng sau:
Bảng 5-4: Bảng dữ liệu đo sai lệch tại 10 điểm đo Sai
lệch
Điểm đo 1
Điểm đo 2
Điểm đo 3
Điểm đo 4
Điểm đo 5
Điểm đo 6
Điểm đo 7
Điểm đo 8
Điểm đo 9
Điểm đo 10
drpx 2,372 1,34 0,567 3,052 2,045 1,925 1,06 1,025 0,04 1,592
drpy 3,59 0,25 1,095 2,25 3,250 2,06 4,263 0,975 0,36 2,058
drpz 1,29 1,905 0,625 1,925 1,040 0,036 3,025 0,252 2,062 2,952
dpx 0,014 0,12 0,02 0,056 0,026 0,07 0,05 0,005 0,024 0,028
dpy 0,092 0,035 0,005 0,250 0,006 0,006 0,025 0,028 0,05 0,036
dpz 0,043 0,024 0,022 0,030 0,067 0,021 0,09 0,05 0,061 0,052
Robot khảo sát gồm 6 khớp quay, theo phương pháp D-H xây dựng phương trình động học, ta sẽ có 24 biến thiết kế là 24 giá trị sai số của tham số hình học, động học cần tìm:dq1,...,dq da6, 1,...,da dd6, 1,...,dd6 và d1,...,d6.
Hàm mục tiêu được viết bởi chương trình matlab và được lưu trong thư mục hiện đang chạy. Khi sử dụng công cụ tối ưu hóa ta chỉ cần khai báo tên hàm ở sau ký tự @, trong trường hợp này ta đặt tên hàm là @th6.
Mỗi biến trong bài toán tối ưu có thể lấy giá trị bất kỳ trong không gian tìm kiếm của mỗi biến đó, nó sẽ biến thiên trong phạm vi từ cận dưới đến cận trên của biến:
min max
min max
i i i
i i i
dq dq dq
ds ds ds
(5.16)
Với i = 1, 2, ..., 24.
Kết quả lời giải bài toán tối ưu bằng GA phụ thuộc nhiều vào không gian tìm kiếm của mỗi biến và việc lựa chọn quần thể ban đầu của mỗi biến. Nếu không gian tìm kiếm lớn hơn thì thời gian giải GA cũng sẽ lâu hơn. Nếu lựa chọn giá trị ban đầu của mỗi biến bằng phán đoán hoặc kinh nghiệm mà gần sát với giá trị cần tìm của các biến đó cũng sẽ giúp cho bài toán nhanh hội tụ hơn, lời giải. Trong trường hợp ví dụ đang xét, ta thực hiện giải GA tại 5 số lần khác nhau như sau:
Chạy lần 1:
Các lựa chọn chính, quan trọng để chạy GA trong giao diện Optimization Tool:
- Bounds lower (giới hạn dưới), Bounds upper (giới hạn trên của biến: vì sai số các tham số hình học, động học là nhỏ nên ta chọn không gian biến trong khoảng - 0,1 đến +0,1. Ta cũng có thể không cần nhập giá trị giới hạn của biến, nhưng khi đó không gian tìm kiếm biến rất lớn và không kiểm soát được hội tụ của lời giải.
- Intial population (khai báo quần thể ban đầu của biến): ở lần chạy đầu, ta chọn quần thể ban đầu của mỗi biến đều ở giá trị bằng 0, ở các lần chạy tiếp theo, ta lấy giá trị ban đầu của quần thể là kết quả của lần chạy trước. Giá trị quần thể ban đầu chỉ mang tính chất tham khảo phán đoán nên phụ thuộc vào kinh nghiệm.
- Các điều kiện dừng (stopping criteria): ta chọn số thế hệ lớn nhất là 300 bằng cách đặt giá trị là 300 trong Generations và Stall generations. Ta có thể tăng hoặc giảm nếu thấy quan sát trên cửa sổ Plots của GA. Nếu thấy rằng giá trị hàm thích
nghi chưa được ổn định nằm ngang mà vẫn còn nhấp nhô ở gần thế hệ cuối thì ta có thể tăng số thế hệ lên nữa.
- Trong mục Plot functions: kích chọn ô Best fitness và ô Best individual để hiện thị kết quả khi giải GA.
- Các lựa chọn khác ta để mặc định.
Kết quả tính toán lần chạy 1 như sau:
Hình 5-6: Kết quả xác định sai số lần 1
Bảng 5-5: Kết quả xác định sai số của 24 tham số hình học, động học lần 1
khâu 1 2 3 4 5 6
dq -0.0027 0.0019 -0.0031 -0.0046 0.0052 0.0036
da 0.0311 -0.0537 -0.0098 0.0003 0.0017 0.0007
dd -0.0462 0.0010 0.0003 0.0026 -0.0003 0.0826
dα 0.0007 0.0000 0.0000 0.0000 0.0010 0.0000
Thời gian nhận được kết quả là khoảng 98s với cấu hình máy Core i5 – 2,27GHz, RAM 2GB.
Chạy lần 2:
- Trong lần chạy tiếp theo này ta sẽ gán giá trị ban đầu của quần thể là kết quả các biến tìm được ở lần chạy trước nó.
- Các lựa chọn khác giữ nguyên.
Kết quả tính toán lần chạy 2 như sau:
Hình 5-7: Kết quả xác định sai số lần 2
Bảng 5-6: Kết quả xác định sai số của 24 tham số hình học, động học lần 2
khâu 1 2 3 4 5 6
dq -0.0030 0.0020 -0.0030 -0.0050 0.0031 0.0057
da 0.0300 -0.0497 -0.0025 0.0135 0.0019 0.0088
dd -0.0485 -0.0582 -0.0309 0.0244 0.0102 0.0908
dα 0.0000 0.0000 0.0000 0.0000 0.0001 0.0010
Kết quả tính toán lần chạy 3:
Hình 5-8: Kết quả xác định sai số lần 3
Bảng 5-7: Kết quả xác định sai số của 24 tham số hình học, động học lần 3
khâu 1 2 3 4 5 6
dq -0.0029 0.0020 -0.0030 -0.0046 0.0028 0.0009
da 0.0337 -0.0584 -0.0003 -0.0001 0.0129 0.0001
dd -0.0584 -0.0147 0.0094 0.0019 0.0026 0.0997
dα -0.0004 0.0000 0.0000 0.0035 0.0001 0.0012
Kết quả tính toán lần chạy 4:
Hình 5-9: Kết quả xác định sai số lần 4
Bảng 5-8: Kết quả xác định sai số của 24 tham số hình học, động học lần 4
khâu 1 2 3 4 5 6
dq -0.0032 0.0017 -0.0024 -0.0029 0.0031 0.0017
da 0.0543 -0.0417 0.0017 0.0008 0.0052 0.0033
dd -0.0336 -0.0182 0.0002 0.0033 0.0001 0.0883
dα 0.0000 0.0000 0.0000 0.0026 0.0002 0.0005
Kết quả tính toán lần chạy 5:
Hình 5-10: Kết quả xác định sai số lần 5
Bảng 5-9: Kết quả xác định sai số của 24 tham số hình học, động học lần 5
khâu 1 2 3 4 5 6
dq -0.0028 0.0020 -0.0031 -0.0041 0.0029 0.0035
da 0.0320 -0.0662 -0.0020 0.0051 -0.0037 0.0000
dd -0.0469 0.0008 0.0020 0.0032 0.0002 0.0948
dα -0.0001 0.0000 0.0000 0.0000 0.0014 0.0003
Sau 5 lần chạy GA để tìm sai số hình học, động học ta thấy rằng kết quả lời giải là ổn định, giá trị các nghiệm tuy có biến thiên, ta có thể lấy giá trị trung bình của nhiều lần giải, tại nhiều điểm đo, quỹ đạo đo khác nhau để có thể nhật được lời giải tốt hơn.
Với phương pháp xác định sai số hình học, động học của khâu, khớp robot được đã đưa ra trong chương này, ta hoàn toàn có thể xây dựng hệ thống thực nghiệm để tiến hành xác định sai số hình học, động học cho một robot cụ thể. Mong muống hướng nghiên cứu tiếp theo sau khi hoàn thành luận án, cần tiếp tục hoàn thiện, thiết lập một hệ thống đo xác định sai lệch vị trí và hướng của robot để từ đó xác định sai số hình học, động học của khâu, khớp, tiến tới xây dựng được một chương trình hiểu chuẩn robot để nâng cao đặc tính làm việc của robot.
Hình 5-11: Lưu đồ thuật toán hiệu chuẩn robot
Sau khi đã tìm ra được các giá trị sai số đó ta có thể thực hiện việc nâng cao độ chính xác cho robot bằng cách cập nhật giá trị sai số vào các tham số hình học, động học tương
Bắt đầu
Xác định tham số cấu trúc robot
Chọn quỹ đạo khảo sát, đo các sai lệch:
, , , , ,
px py pz x y z
dr dr dr dp dp dp tại mỗi Thiết lập hàm mục tiêu xác định sai số tham số cấu trúc robot
2 1
min
m j j
L e
Sử dụng GA để tìm de Cập nhật tham số cấu trúc robot
vào bộ điều khiển, chạy lại quỹ đạo khảo sát, đo sai lệch
0
Rj R
d e d e
Kết thúc Không
Có
ứng của các khâu, khớp; chạy lại quỹ đạo khảo sát để kiểm tra xem sai lệch đã nhỏ hơn giá trị cho phép mong muốn chưa, nếu thỏa mãn thì kết thúc chương trình, nếu chưa thỏa mãn thì cần đo và tiếp tục giải ra các sai số cho tới khi thỏa mãn điều kiện sai lệch vị trí và hướng nhỏ hơn giá trị cho phép. Trên cơ sở phân tích ở trên, luận án đề xuất lưu đồ giải thuật cho thuật toán hiệu chuẩn robot bằng cách xác định sai số hình học, động học của khâu, khớp robot và cập nhật giá trị sai số vào các tham số cấu trúc trong bộ điều khiển robot để nâng cao độ chính xác cho robot như Hình 5-11.