Luận văn Nghiên cứu điều khiển tối ưu cho cánh tay robot bằng phương pháp quy hoạch phi tuyến

- Phát triển phương pháp tối ưu hoá giải bài toán động học cho robot song song, theo định hướng ghép bài toán xác định các nghiệm toán học và nghiệm điều khiển làm một bài toán duy nhất nhằm giảm thời gian chuẩn bị dữ liệu. - Phát triển phương pháp tối ưu giải bài toán động học ngược robot hở để giải quyết các bài toán khác kết hợp như tránh va chạm trong vùng làm việc, hạ thấp trọng tâm, di chuyển tối thiểu, trên cơ sở điều chỉnh miền chọn nghiệm của bài toán tối ưu, hoặc khởi tạo bài toán quy hoạch đa mục tiêu.

pdf190 trang | Chia sẻ: lylyngoc | Ngày: 18/11/2013 | Lượt xem: 2721 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Luận văn Nghiên cứu điều khiển tối ưu cho cánh tay robot bằng phương pháp quy hoạch phi tuyến, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
g của n, s, a; a14, a24, a34 lần lượt là các thành phần chiếu lên hệ Oxyz của p. Do tính chất trực giao của các vec tơ chỉ phương, cho nên chỉ có ba thành phần trong các cosin chỉ phương độc lập. Vì vậy kết hợp (3.2) và (3.3) nhận được:                 34 24 14 23 13 12 ap ap ap aa aa as z y x y x x (3.4) Giải hệ phương trình này nhận được giá trị các biến khớp. Khi giải có thể gặp các trường hợp sau: - Hệ phương trình (3.4) có thể phi tuyến hoặc phải xác định biến từ hàm siêu việt vì vậy kết quả không chính xác hoặc có nhiều lời giải. - Hệ (3.4) có thể vô định vì số bậc tự do thừa. - Các kết quả có thể không thoả mãn được các điều kiện ràng buộc về mặt kết cấu. 11 12 13 14 21 22 23 240 31 32 33 34 0 0 0 1 n a a a a a a a a A a a a a             Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 61 3.1.2. Phiếm hàm mục tiêu 3.1.2.1. Bài toán tối ƣu về độ chính xác về vị trí và hƣớng của khâu chấp hành Mục tiêu của điều khiển động học là đạt được độ chính xác về vị trí và hướng của khâu chấp hành. Như vậy chỉ cần xác định các giá trị của các biến khớp sao cho đảm bảo sai số vị trí và hướng là nhỏ nhất đồng thời thoả mãn các điều kiện ràng buộc về mặt kết cấu. - Gọi q = {q1 ,q2 ,…qn} : là véc tơ các biến khớp. Q = f(q) : Hàm mô tả sai lệch vị trí và hướng của khâu chấp hành. Bài toán xác định giá trị các biến khớp được viết: Q = f (q1,q2,…,qn)  min (3.5) Trong đó: qi  D; i = 1 ÷ n Đây là bài toán tối ưu, nghiệm của (3.5) phải là nghiệm của (3.4) vì vậy hàm mục tiêu được xác định theo (3.4) như sau, trước hết viết lại hệ phương trình (3.4) dưới dạng tương đương:                 0 0 0 0 0 0 34 24 14 23 13 12 ap ap ap aa aa as z y x y x x (3.6) Bình phương hai vế của hệ phương trình này và cộng theo vế để có: (sx – a12) 2 +(ax – a13) 2 +(ay – a23) 2 + (px – a14) 2 +(py – a24) 2 +(pz – a34) 2 = 0 Rõ ràng vế trái không âm nên giá trị nhỏ nhất của vế trái bằng không, tương đương với hệ phương trình (3.4) được thỏa mãn. Đặt Q là hàm số ở vế trái : Q = (sx – a12) 2 +(ax – a13) 2 +(ay – a23) 2 +(px – a14) 2 +(py – a24) 2 +(pz – a34) 2 (3.7) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 62 Dạng hàm này có tên gọi riêng là hàm Rosenhrock-Banana [22], do đó việc giải bài toán sẽ cần xác định một giải thuật phù hợp. Trên cơ sở bài toán đặt ra là điều khiển tối ưu cánh tay robot, với việc xác định khoảng thời gian để cánh tay robot di chuyển tới vị trí cần thiết là ngắn nhất, tức là ta đi tìm nghiệm tối ưu của hàm mục tiêu (3.7) sao cho Q → Min. 3.1.2.2. Bài toán di chuyển tối thiểu Bài toàn di chuyển tối thiểu có thể hiểu là tổng giá trị tuyệt đối lượng di động (di chuyển góc và di chuyển thẳng) là nhỏ nhất, trong các phương án nghiệm vật lí và các phương án nghiệm mà cấu trúc đáp ứng được. Di chuyển tối thiểu thường đồng nghĩa với thời gian đáp ứng nhanh nhất và năng lượng tiêu hao bé nhất. Trên cơ sở giải được bài toán ngược với thời gian bé, việc xác định phương án di chuyển tối thiểu làm cho cấu trúc có thời gian đáp ứng ngắn nhất với tín hiệu điều khiển. Bài toán động học ngược trên cơ sở bài toán tối ưu cho phép khởi tạo điều kiện di chuyển tối thiểu dưới hai hình thức: -Đặt lượng di chuyển tổng cộng làm mục tiêu:                        iii k k n i ik uql qh qg qqf ;0 ;0 min 1 1 1 1 (3.8) Trong đó i = 1÷ n là số bậc tự do của cấu trúc; 1i k k i q q q   : là biến thiên nghiệm thứ (i) giữa hai vị trí (k+1) và (k) của quỹ đạo; g(qk+1); h(qk+1) là các ràng buộc xây dựng từ vị trí và định hướng, dựa trên đồng nhất toạ độ thực và toạ độ lí thuyết của khâu tác động cuối cùng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 63 li : giới hạn dưới của biến bị chặn; ui: giới hạn trên của biến bị chặn; 3.1.3. Điều kiện giới hạn của các biến Trong không gian khớp D xác định miền giá trị của các biến khớp:            nnn bqa bqa bqa . . 222 111 (3.9) Nghiệm q* = {q1 * ,q2 * ,…qn * } của (3.5) là nghiệm gần đúng của (3.4) thuộc không gian khớp. - Trong điều khiển chỉ đòi hỏi độ chính xác hướng của khâu chấp hành, bài toán tối ưu có dạng: Q1 = f (q1,q2,…,qn) → min (3.10) V ≤ Q2 ≤ U Ràng buộc : qi Є D; i = 1 ÷ n Trong đó: - Hàm mô tả sai lệch hướng Q1 = (sx – a12) 2 +(ax – a13) 2 +(ay – a23) 2 (3.11) - Hàm mô tả sai lệch vị trí . Q2 = (px – a14) 2 +(py – a24) 2 +(pz – a34) 2 (3.12) U, V: Các sai lệch giới hạn xác định theo yêu cầu kỹ thuật. - Tương tự nếu đòi hỏi độ chính xác vị trí của khâu chấp hành bài toán tối ưu có dạng: Q2 = f (q1,q2,…,qn)  min (3.13) V ≤ Q1 ≤ U Trong đó: qi Є D; i = 1 ÷ n Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 64 Về bản chất các bài toán (3.5), (3.10), (3.13) là bài toán tối ưu hóa trên miền kín vì trên thực tế các khớp tịnh tiến hoặc quay của robot thường có không gian hoạt động bị giới hạn trong một phạm vi nhất định. Dấu của biến khớp thể hiện hướng di chuyển của chuyển động, trong khi các biến đều chuyển động khứ hồi nên các ràng buộc thường có dạng chung cho khớp tịnh tiến và quay: giới hạn dưới ≤ qi ≤ giới hạn trên Tập hợp ràng buộc của n biến khớp là một miền kín, từ (3.7) nhận thấy, vế phải của hàm mục tiêu luôn dương nên giá trị nhỏ nhất của mục tiêu là bằng không. Phương án (q1,q2,…,qn) làm cho giá trị hàm mục tiêu bằng không là phương án nghiệm vật lí, ngược lại nếu giá trị mục tiêu Q > 0, không tồn tại phương án nghiệm vật lí. 3.2. Khả năng ứng dụng của giải thuật trên máy tính Theo [8] nhận định “bài toán động học ngược được đặc biệt quan tâm vì lời giải của nó là cơ sở chủ yếu xây dụng chương trình điều khiển chuyển động của robot bám theo quỹ đạo cho trước. Đối với trường hợp n>6, hầu như chỉ có lời giải theo phương pháp số, đối với một số loại robot cụ thể nào đó nhưng chưa có một phương pháp chung nào hiệu quả cả. Bản thân việc giải bài toán động học ngược bằng phương pháp số nhiều khi đòi hỏi thời gian tính toán kéo dài thậm chí không đi đến lời giải. Sở dĩ như vậy vì thường gặp các hệ phương trình siêu việt không phải lúc nào cũng có độ hội tụ lời giải. Điều đó ảnh hưởng lớn đến việc đảm bảo thời gian thực trong điều khiển robot " Yêu cầu của giải thuật phải có tính hữu hạn, tức là phải đưa ra được kết quả sau một số hữu hạn vòng lặp. Nếu không hội tụ bài toán phải đưa ra được cảnh báo. Trường hợp xấu nhất, thuật toán tối ưu vẫn kết thúc với kết luận rõ ràng sau một khoảng thời gian hữu hạn có thể dự báo được. Xét các ràng buộc về giới hạn hoạt động của biến khớp dạng bất đẳng thức: li ≤ q1 ≤ ui với i = 1÷ n n: số bậc tự do của cấu trúc. Trong đó: li : (lower bound(i) giới hạn dưới biến khớp) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 65 ui : (upper bound(i) giới hạn trên biến khớp) Trong không gian n chiều mô tả n biến khớp, mỗi khớp bị chặn hai đầu bao điểm gốc tọa độ hình thành một miền đóng. Bản chất của bài toán là tối ưu hóa trên miền kín nên luôn có nghiệm. Tuy nhiên nếu giá trị nhỏ nhất của hàm mục tiêu không về không (zero), bài toán động học sẽ xét tiếp khả năng thứ hai, giá trị của hàm mục tiêu có nhỏ hơn giá trị ε (epsilon) cho trước không. Nếu điều kiện này không thỏa mãn tương ứng với trường hợp ma trận thế ghép vào bài toán ngược không biểu diễn một điểm nằm trong vùng làm việc. Cũng cần chú ý rằng một giải thuật ứng dụng máy tính cần thoát ly những nhận định chủ quan dựa trên trực giác toán học như khi bài toán làm bằng tay. Bài toán tối ưu trình bày ở trên không dựa trên kĩ thuật biến đổi phương trình vòng kín mà sử dụng trực tiếp kết quả của bài toán thuận. Các đặc điểm như trục khớp giao nhau, trục khớp song song thường sử dụng trong khi làm bằng tay. Không cần chú ý đến ở đây, bài toán này có những đặc điểm phù hợp để ứng dụng máy tính. 3.3. Thành lập bài toán điều khiển cho một số dạng robot 3.3.1. Robot cơ cấu 3 khâu phẳng (3 khớp quay) 3.3.1.1. Phƣơng trình động học (Mô hình toán học) Sơ đồ động cơ cấu 3 khâu phẳng toàn khớp quay cho như hình vẽ: q1 q3 q2 x0 y0 x3 x1 y1 x2 y2 y3 Hình 3.2: Sơ đồ động học cơ cấu 3 khâu phẳng (3 khớp quay) a1 a3 a2 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 66 Hệ phương trình động học của cơ cấu này chỉ cần dùng phương pháp hình học: Hệ phương trình động học thuận ở đây tham khảo từ [16] như sau: x 1 1 2 1 2 3 1 2 3 y 1 1 2 1 2 3 1 2 30 3 z p a cos(q ) a cos(q q ) a cos(q q q ) p a sin(q ) a sin(q q ) a sin(q q q ) A p 0 1 1             Phần định hướng bàn kẹp: x x x 1 2 3 1 2 3 y y y 1 2 3 1 2 3 z z z n s a cos(q q q ) sin(q q q ) 0 n s a sin(q q q ) cos(q q q ) 0 n s a 0 0 1           3.3.1.2. Hàm mục tiêu Vì cơ cấu phẳng, có khả năng thoã mãn định vị và định hướng đồng thời trong mặt phẳng có toạ độ z = const. Giả sử chọn mô tả định hướng của trục bàn kẹp qua thông số: sy =cosin(y3;y0) = a22. Vì vậy ta có dạng tổng quát của hàm mục tiêu như sau: Q= (sy – a22) 2 + (px – a14) 2 + (py – a24) 2 → Min (3.14a) Hàm mục tiêu cho Robot cơ cấu 3 khâu phẳng (3 khớp quay) có dạng Q = (cos (q1+ q2 + q3) – a22) 2 + ((a1 cos(q1) + a2cos(q1+ q2)+ +a3cos(q1+ q2 + q3)) – a14) 2 + ((a1 sin(q1) + a2 sin(q1+ q2)+ +a3 sin(q1+q2 + +q3)) – a24) 2 → Min (3.14b) Trong đó: a1= 90(mm); a2= 80(mm); a3= 70(mm) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 67 3.3.1.3. Điều kiện hạn chế Giả sử điều kiện chọn nghiệm theo giới hạn hoạt động biến khớp như sau: - 3.14(rad) ≤ qi ≤ 3.14(rad) với i= 1 – 3 (3.14c) 3.3.2. Robot Elbow (Sáu bậc tự do toàn khớp quay) 3.3.2.1. Phƣơng trình động học (Mô hình toán học) Sơ đồ động, bảng DH và hệ phương trình động học thuận của robot như sau: Hình 3.3: Sơ đồ động học cơ cấu 3 khâu phẳng Robot Elbow Z0 Z1 Z2 Z3 Z5 Z4 Z6 a2 a3 a4 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 68 Bảng 3.1: Bảng DH robot Elbow KHỚP αi ai di θi 1 π/2 0 0 θ1 * 2 π/2 a2 0 θ2 * 3 0 a3 0 θ3 * 4 -π/2 a4 0 θ4 * 5 π/2 0 0 θ5 * 6 0 0 0 θ6 * Hệ phương trình động học thuận của robot Elbow như sau: Dữ liệu hướng: sx =cos(q1)*(-cos(q2+q3+q4)*cos(q5)*sin(q6)-sin(q2+q3+q4)*cos(q6)) + sin(q1)*sin(q5)*sin(q6) ax =cos(q1)*(cos(q2+q3+q4)*sin(q5))+sin(q1)*cos(q5); ay =sin(q1)*(cos(q2+q3+q4)*sin(q5))-cos(q1)*cos(q5); Dữ liệu vị trí: px = cos(q1)*(cos(q2+q3+q4)*a4+cos(q2+q3)*a3+cos(q2)*a2); py = sin(q1)*(cos(q2+q3+q4)*a4+cos(q2+q3)*a3+cos(q2)*a2); pz = sin(q2+q3+q4)*a4+sin(q2+q3)*a3+sin(q2)*a2; 3.3.2.2. Hàm mục tiêu Từ (3.7) ta có hàm mục tiêu của Robot Elbow như sau: Q = ((cos(q1)*(-cos(q2+q3+q4)*cos(q5)*sin(q6)-sin(q2+q3+q4)*cos(q6)) + +sin(q1)*sin(q5)*sin(q6)) – a12) 2 + +((cos(q1)*(cos(q2+q3+q4)*sin(q5))+sin(q1)*cos(q5)) – a13) 2 + +((sin(q1)*(cos(q2+q3+q4)*sin(q5))-cos(q1)*cos(q5)) – a23) 2 + +((cos(q1)*(cos(q2+q3+q4)*a4+cos(q2+q3)*a3+cos(q2)* a2)) – a14) 2 + +(( sin(q1)*(cos(q2+q3+q4)*a4+cos(q2+q3)*a3+cos(q2)*a2)) – a24) 2 + +((sin(q2+q3+q4)*a4+sin(q2+q3)*a3+sin(q2)*a2) – a34) 2 → Min (3.15a) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 69 Trong đó a4= 180(mm); a3= 175(mm); a2= 160(mm). 3.3.2.3. Điều kiện hạn chế Điều kiện chọn nghiệm theo giới hạn hoạt động biến khớp: Giả sử rằng giới hạn cơ học của các khớp xác định được trong phạm vi sau: - 5.1(rad) ≤ q1, q2 ≤ 5(rad) - 4.4(rad) ≤ q3, q4 ≤ 3.14(rad) (3.15b) - 3.14(rad) ≤ q5, q6 ≤ 3(rad) 3.3.3. Robot Puma (Sáu bậc tự do toàn khớp quay) 3.3.3.1. Phƣơng trình động học (Mô hình toán học) Sơ đồ động, bảng DH và hệ phương trình động học thuận của robot như sau: Hình 3.4: Sơ đồ động robot Puma Z3 Z5 Z4 Z2 Z1 Z0 d6 d4 a2 d2 d1 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 70 KHỚP αi ai di θi 1 -π/2 0 0 θ1 * 2 0 a2 d2 θ2 * 3 π/2 a3 0 θ3 * 4 -π/2 0 d4 θ4 * 5 π/2 0 0 θ5 * 6 0 0 d6 θ6 * Hệ phương trình động học thuận của robot Puma như sau: Dữ liệu hướng: sx = cos(q1)*(-cos(q2+q3)*(cos(q4)cos(q5)*sin(q6)+sin(q4)*cos(q6)) + + sin(q2+q3)sin(q5)*sin(q6))-sin(q1)*(sin(q4)*cos(q5)*sin(q6) +cos(q4)*cos(q6)); ax = cos(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)+sin(q3)*cos(q5))- - sin(q2)*sin(q3)*cos(q4)*sin(q5)-cos(q3)*cos(cos(q5)))-sin(q1)*sin(q4)*sin(q5); ay = sin(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)+sin(q3)*cos(q5))- - sin(q2)*sin(q3)*cos(q4)*sin(q5)-cos(q3)*cos(cos(q5)))+cos(q1)*sin(q4)*sin(q5); Dữ liệu vị trí: px = cos(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)*d6+sin(q3)*(cos(q5)*d6 + +d4)+cos(q3)*a3)-sin(q2)*sin(q3)*cos(q4)*sin(q5)*d6-cos(q3)*(cos(q5)*d6 + +d4)+sin(q3)*a3)+(cos(q2)*a2)-sin(q1)*(sin(q4)*sin(q5)*d6+d2); py = sin(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)*d6+sin(q3)*(cos(q5)*d6+ +d4)+cos(q3)*a3)-sin(q2)*sin(q3)*cos(q4)*sin(q5)*d6-cos(q3)*(cos(q5)*d6+ +d4)+sin(q3)*a3)+(cos(q2)*a2)+cos(q1)*(sin(q4)*sin(q5)*d6+d2); pz = -(sin(q2)*(cos(q3)*cos(q4)*sin(q5)*d6+sin(q3)*(cos(q5)*d6+d4) +cos(q3)*a3)+cos(q2)*(sin(q3)*cos(q4)*sin(q5)*d6-cos(q3)*(cos(q5)*d6 + +d4)+sin(q3)*a3)+sin(q2)*a2); Bảng 3.2: Bảng DH robot Puma Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 71 3.3.3.2. Hàm mục tiêu Từ (3.7) ta có hàm mục tiêu của Robot Puma như sau: Q = ((cos(q1)*(-cos(q2+q3)*(cos(q4)cos(q5)*sin(q6)+sin(q4)*cos(q6)) + + sin(q2+q3)sin(q5)*sin(q6))-sin(q1)*(sin(q4)*cos(q5)*sin(q6) + +cos(q4)*cos(q6)))- a12) 2 +((cos(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)+ +sin(q3)*cos(q5))- sin(q2)*sin(q3)*cos(q4)*sin(q5)-cos(q3)*cos(cosq5)))- -sin(q1)*sin(q4)*sin(q5))– a13)) 2 +((sin(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)+ +sin(q3)*cos(q5))- sin(q2)*sin(q3)*cos(q4)*sin(q5)-cos(q3)*cos(cos(q5)))+ +cos(q1)*sin(q4)*sin(q5))–a23) 2 +((cos(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)*d6+ +sin(q3)*(cos(q5)*d6+d4)+cos(q3)*a3)-sin(q2)*sin(q3)*cos(q4)*sin(q5)*d6- -cos(q3)*(cos(q5)*d6+d4)+sin(q3)*a3)+(cos(q2)*a2)-sin(q1)*(sin(q4)*sin(q5)*d6+ +d2)) – a14) 2 + (sin(q1)*(cos(q2)*(cos(q3)*cos(q4)*sin(q5)*d6+ +sin(q3)*(cos(q5)*d6+d4)+cos(q3)*a3)-sin(q2)*sin(q3)*cos(q4)*sin(q5)*d6- -cos(q3)*(cos(q5)*d6+d4)+sin(q3)*a3)+(cos(q2)*a2)+ +cos(q1)*(sin(q4)*sin(q5)*d6+d2))– a24) 2 + +((-(sin(q2)*(cos(q3)*cos(q4)*sin(q5)*d6+sin(q3)*(cos(q5)*d6+d4)+ +cos(q3)*a3)+cos(q2)*sin(q3)*cos(q4)*sin(q5)*d6-cos(q3)*(cos(q5)*d6+d4)+ +sin(q3)*a3)+sin(q2)*a2))– a34) 2 → Min (3.16a) Trong đó: a2=300(mm); d2=25(mm); a3=10(mm); d4=285(mm); d6=160(mm). 3.3.3.3. Điều kiện hạn chế Phạm vi biến thiên của biến khớp xác định từ kết cấu cụ thể của tay máy như sau: - 6(rad) ≤ q1 ≤ 6(rad) - 4(rad) ≤ q2 ≤ 4(rad) - 5.3(rad) ≤ q3 ≤ 5.3(rad) (3.16b) - 6(rad) ≤ q4, q6 ≤ 6(rad) - 2.5(rad) ≤ q5 ≤ 2.5(rad) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 72 3.4. Giới thiệu bài toán quy hoạch phi tuyến với ràng buộc dạng chuẩn và nghiệm tối ƣu của nó 3.4.1. Bài toán quy hoạch phi tuyến Việc hợp nhất thao tác tìm nghiệm toán học và chọn nghiệm điều khiển dẫn đến bài toán tìm nghiệm trên miền kín như (3.6),(3.9),(3.12) và thực tế các khớp đều hoạt động trong một khoảng xác định. Bài toán mới là bài toán tối ưu hàm mục tiêu có dạng phi tuyến, với các ràng buộc dạng chuẩn. Bài toán quy hoạch phi tuyến tổng quát có thể diễn tả dưới dạng: min f(x); x  R n         pjxh mixg j i ,...2,1;0 ,...2,1;0 (3.17) Trong đó ít nhất một trong các hàm f(x), gi(x), hj(x) là phi tuyến, điều kiện này được thỏa mãn vì trong bài toán (3.6),(3.9),(3.12) mục tiêu luôn là hàm phi tuyến. Trong các bài toán này thường xuất hiện các ràng buộc dạng chuẩn, không có các ràng buộc dạng chính tắc. Về nguyên tắc các bài toán quy hoạch toán học cần tối thiểu tuyệt đối. Trong khi các ứng dụng kỹ thuật kết quả có chất lượng chỉ nhận được với các tối thiểu cục bộ. Các vấn đề liên quan đến bài toán quy hoạch phi tuyến và nghiệm tối ưu của nó bao gồm: - Điều kiện chính quy cấp 1 ; - Điều kiện chính quy cấp 2; - Điều kiện cần cấp 2; - Điều kiện đủ cấp 2; Những vấn đề này đã được nêu trong rất nhiều tài liệu về quy hoạch hàm phi tuyến bị ràng buộc có thể tham khảo tại [13] . 3.4.2. Nhận định chung Đây là công việc khá phức tạp nếu tiến hành khảo sát trên lí thuyết, vì dạng hàm banana trong bài toán động học robot có biến số nằm dưới các hàm siêu việt và Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 73 chúng thường rất dài. Công việc đòi hỏi các kiến thức toán học chuyên sâu, trong phạm vi luận văn không thể trình bày hết. Các căn cứ để xác định một giải thuật phù hợp lựa chọn ở đây dựa vào thực nghiệm. Vì phương pháp giải bài toán động học ngược truyền thống của robot thường rút nghiệm dưới dạng công thức, để có giá trị hàm mục tiêu bằng số trong các so sánh cần thay số vào các lời giải đó. 3.4.3. Tính chính xác Lời giải đúng được hiểu là lời giải ứng với giá trị của hàm mục tiêu Q = 0 trong bài toán tối ưu. Song bản thân Q là hàm siêu việt, các nghiệm bài toán ngược thường khống chế độ chính xác nhất định (có một số chữ số đáng tin), giải theo phương pháp nào khi thế các giá trị qi trở lại hàm mục tiêu không bao giờ bằng 0, dù giá trị này rất nhỏ (chẳng hạn 3.1 E-6). Thực tế độ chính xác của lời giải tăng nếu chỉnh hai yếu tố, số lượng các vòng lặp giới hạn, hoặc sai số tuyệt đối ε giá trị hàm mục tiêu 5 vòng lặp cuối cùng. với tốc độ tính toán của máy tính điện tử hiện nay việc tăng độ chính xác của lời giải lên 103 hoặc 104 lần không làm thay đổi nhiều thời gian thực hiện bài toán. Tính chính xác là yếu tố hoàn toàn chủ động bởi người thực hiện, thường xác định tính chính xác theo từng yêu cầu kỹ thuật từng việc cụ thể. 3.5. Lời giải bài toán điều khiển tối ƣu cho Robot cơ cấu 3 khâu phẳng (3 khớp quay) Các phương pháp giải bài toán quy hoạch phi tuyến bị ràng buộc có thể chia làm hai nhóm chính là nhóm tìm kiếm theo mẫu và nhóm tìm kiếm ngẫu nhiên. Số lượng các phương pháp chính quy và các phương pháp cải tiến là rất lớn, trong khuôn khổ mục này đề cập đến một số phương pháp sau để giải bài toán động học ngược robot. + Ứng dụng Optimization Toolbox trong Matlab để giải bài toán + Ứng dụng phương pháp giải thuật di truyền (GA) giải bài toán Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 74 3.5.1. Khởi tạo một số ma trận thế ngẫu nhiên cho lời giải Với ma trận thế như E1 ở trên và theo mô hình toán học và phiếm hàm mục tiêu (3.14b), ràng buộc (3.14c). Trong ví dụ này lấy: a1= 90(mm); a2= 80(mm); a3= 70(mm). Phiếm hàm mục tiêu cụ thể sẽ là: Q = (cos (q1+ q2 + q3) – 0.8) 2 + ((90 cos(q1) + 80 cos(q1+ q2)+ + 70 cos(q1+ q2 + q3)) – 190) 2 + ((90 sin(q1) + 80 sin(q1+ q2)+ + 70 sin(q1+ q2 + q3)) – 115) 2 → Min (3.18) 3.5.2. Ứng dụng Optimization Toolbox trong Matlab để giải bài toán 3.5.2.1.Giới thiệu Optimization Toolbox trong Matlab Trong khi đi tìm giải pháp cho các vấn đề kỹ thuật, đôi khi ta phải tiến hành tìm cực tiểu hay cực đại cho một hàm mục tiêu nhiều chiều. Việc tìm cực trị đó thường còn bị ràng buộc bị điều kiện phụ, mô tả dưới dạng phương trình hay bất phương trình. Có nghĩa là ngay từ đầu, tập các lời giải đã bị hạn chế. Quá trình tính toán trên được gọi là quá trình tìm tối ưu dưới các điều kiện phụ (constrained optimization). Một phương pháp rất phổ biến khi đi tìm nghiệm gần đúng trong các phương trình là phương pháp bình phương sai phân bé nhất (least squares). Phương pháp này còn hay được sử dụng để tìm đường cong xấp xỉ (curve fitting). Để giải bài toán tính toán tìm tối ưu, Optimization Toolbox cung cấp cho ta nhiều thuật toán khác nhau. Mục đích của Optimization Toolbox không phải là phân tích hay tổng hợp (thiết kế) các thuật toán tìm tối ưu, mục đích của bộ công cụ này là: Làm sao sử dụng tiện lợi các thuật toán đã biết. 1 2 3 * * * 190 * * * 200 * * * 200 * 0.8 * 115 * 0.8 * 120 * 0.8 * 130 ; ; * * * 0 * * * 0 * * * 0 * * * 1 * * * 1 * * * 1                                       E E E Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 75 Để sử dụng Optimization Toolbox, hàm mục tiêu và các điều kiện phụ phải được khai báo dưới dạng hàm function viết thành m-File hay inline object. Tất cả các thuật toán của Optimization Toolbox sử dụng một biến có tên là options (thuộc loại structure) để điều khiển các bước tính toán. Nếu khi hỏi ta nhận được hai ngoặc vuông rỗng [], có biến rỗng. Nếu khi gọi ta không khai báo tham số cụ thể, lúc bấy giờ các giá trị mặc định sẽ được chọn. Hai lệnh optimget và optimset được sử dụng để thay thế biến options. Khi nhập lệnh: Để thay đổi giá trị của từng từng hợp cụ thể ta sử dụng lệnh: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 76 Công cụ Optimization Toolbox cung cấp rất nhiều thuật toán giúp ta tìm cực tiểu của các hàm phi tuyến. Đó chính là các công cụ tối thiểu hóa (minimization) các hàm mục tiêu khi giải quyết bài toán tìm tối ưu. Khi giải quyết các bài toán tối ưu thường ta không chỉ quan tâm tới điểm cực tiểu của hàm mục tiêu. Hơn thế nữa, khi đi tìm cực tiểu, biến độc lập x phải thỏa mãn một số điều kiện phụ. Các điều kiện đó có thể do người sử dụng đặt ra, hoặc do các hạn chế vật lý gây nên. Các điều kiện phụ thường được mô tả dưới dạng phương trình , hoặc bất phương trình , hoặc hỗn hợp cả hai. Thuật ngữ mô tả việc tìm tối ưu dưới điều kiện phụ là constrained nonlinear optimization. Optimization Toolbox cung cấp cho ta lệnh fmincon, nhằm tìm cực tiểu của f(x) dưới nhiếu điều kiện phụ khác nhau. Các điều kiện được phân thành điều kiện phụ phi tuyến và điều kiện phụ tuyến tính. Thuật toán fmincon tìm: )(min xf x dưới các điều kiện : ubxlb bxA bAx xc xc eq eq      0)( 0)( Trong các công thức trên c và ceq là các hàm vector phi tuyến, A và Aeq là các ma trận hằng, b và beq là các vector hằng, còn lb và ub là các giới hạn dưới và dưới hạn trên của các vector kết quả x. Lệnh gọi thuật toán có dạng sau đây: Các điều kiện phi tuyến phải được khai báo nhờ hàm nonlcon. Trong nonlcon, điều kiện dưới dạng bất phương trình phải được viết trước, sau đó mới đến điều kiện dưới dạng phương trình. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 77 Độ chính xác của kết quả (đi theo là khối lượng tính toán ) có thể được tăng lên bằng việc giảm ToxlX hay TolFun trong biến options. Ngoài ra, việc lựa chọn các giá trị xuất phát có ảnh hưởng quyết định tới khả năng hội tụ của thuật toán tìm tối ưu. 3.5.2.2. Sử dụng Optimization Toolbox trong Matlab để giải bài toán Giả sử điều kiện chọn nghiệm theo giới hạn hoạt động biến khớp như sau: - 3.14(rad) ≤ qi ≤ 3.14(rad) với i= 1 – 3  Khai báo giới hạn của các biến khớp  Khai báo hàm mục tiêu Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 78  Thực hiện thuật toán Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 79 Với các ma trận thế E1, E2, E3, thay các giá trị véctơ chỉ hướng và vị trí vào (3.18) và sử dụng hàm fmincon để giải bài toán trên, với các điều kiện chọn nghiệm theo giới hạn hoạt động biến khớp như ( 3.14c). Ta được các kết quả như bảng 3.3. Bảng 3.3: Kết quả bài toán ngược cơ cấu 3 khâu phẳng giải bằng hàm fmincon q1(rad) q2(rad) q3(rad) Mục tiêu P1 0.9477 -0.9227 0.5818 4.6227e-004 P2 0.7577 -0.5480 0.4249 2.8871e-005 P3 0.6774 -0.2541 0.1975 1.7935e-004 3.5.3. Ứng dụng phƣơng pháp giải thuật di truyền (GA) để giải bài toán 3.5.3.1. Giới thiệu phƣơng pháp giải thuật di truyền (GA) Trong quá trình phát triển của loài người, con người luôn không ngừng cố gắng tìm cách điều khiển và cải tạo thiên nhiên phục vụ cho cuộc sống của mình. Điều này được thể hiện qua việc loài người không ngừng tìm kiếm phát minh ra các loại máy móc thay thế cho lao động của mình. Quá trình này có thể chia làm hai giai đoạn. Đầu tiên là giai đoạn sử dụng các công cụ tính toán và logic truyền thống (Hard computing ) đưa vào máy móc tính chính xác và nhanh chóng trong quá trình thi hành. Ở giai đoạn tiếp theo, với mong muốn thêm vào đó tính thông minh và khả năng quyết định mềm dẻo trong các bài toán học từ mẫu dữ liệu ít ỏi cho trước, người ta sự dụng công cụ tính toán mềm (Soft Computing) gồm 4 nội dung chính là: Fuzzy logic (FL), Neural Network (NN), Genetic Algorithm (GA), Support Vector Machines (SVM). Trong đó giải thuật di truyền có thể sử dụng độc lập hoặc là công cụ trợ giúp cho các lĩnh vực khác của Soft Computing nhờ ưu điểm trong tìm kiếm toàn cục Giải thuật di truyền có xuất xứ từ học thuyết của Drawin về “Nguồn gốc của các giống loài” • Các giống loài đều có xu hướng gia tăng và mở rộng về số lượng. • Con cái thường đại diện cho cha mẹ nhưng không hoàn toàn giống cha mẹ. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 80 • Sự thay đổi nhỏ của con cái ảnh hưởng lớn đến cơ hội sống sót • Các các thể thích nghi hơn với môi trường mới có khả năng sống sót cao hơn (chọn lọc tự nhiên) Căn cứ vào học thuyết của Drawin, năm 1975, John Holland đã phát triển giải thuật di truyền . Các bước của giải thuật di truyền được tiến hành như sau: Việc sử dụng giải thuật di truyền có một số ưu điểm chính như: • Sử dụng cơ chế song song ẩn: Sử dụng nhiều cá thể đồng thời tiến hóa nên tránh khỏi cực trị địa phương • Dễ dàng thực hiện. Để giải quyết vấn đề mới chỉ cần thêm các nhiễm sắc thể mới và hàm thích nghi mới. Các phép toán di truyền vẫn giữ nguyên. Tuy nhiên, giải thuật di truyền cũng gặp một số khó khăn nhất định như: • Khó khăn trong việc chọn và thực hiện cách mã hóa nhiễm sắc thể và biểu diễn hàm thích nghi. • Thời gian tính toán lâu hơn so với các thuật toán khác 3.5.3.2. Các kỹ thuật trong giải thuật di truyền (GA) Các kỹ thuật trong giải thuật di truyền được thể hiện trong sơ đồ cấu trúc sau đây: a. Kỹ thuật mã hóa Mã hóa trong gải thuật di truyền là biểu diễn các nhiễm sắc thể chứa thông tin cho lời giải. Một số cách mã hóa được sử dụng là: Mã hóa nhị phân - Binary Hình 3.5. Sơ đồ cấu trúc kỹ thuật trong giải thuật di truyền Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 81 coding, mã hóa k mức - K-nary coding, mã hóa theo số thực- Real-number coding. Quá trình mã hóa có thể biểu diễn các đầu vào thành các dãy nhiễm sắc thể theo mảng một chiều hoặc nhiều chiều. Việc lựa chọn phương thức mã hóa tùy thuộc vào bài toán giải quyết. Thông thường dùng hay dùng mã hóa nhị phân .Ví dụ dưới đây mô tả cách mã hóa các số thực thành các bit nhị phân VD: Cần mã hóa biến z  [x,y]   bằng một tập các bit nhị phân {a1,…,aL}  {0,1}L Ánh xạ : {0,1}L  [x,y] sẽ được xác định như sau Như vậy, theo cách mã hóa trên thì chỉ 2L giá trị đầu ra được xác định. L phụ thuộc vào độ chính xác của lời giải (chính xác đến bao nhiêu chữ số thập phân),độ chính xác càng cao thì nhiễm sắc thể có độ dài càng lớn và sự tiến hóa càng chậm. b. Khởi tạo quần thể Khi chọn được cách mã hoá phù hợp, người ta tiến hành mã hoá các biến đầu vào thành các cá thể (nhiễm sắc thể), tập hợp các nhiễm sắc thể này sẽ tạo thành một quần thể. Việc khởi tạo có thể bắt đầu với một quần thể bao gồm các cá thể được tạo ra ngẫu nhiên hoặc sử dụng từ: - Một quần thể cũ được lưu lại từ trước - Một tập các lời giải cung cấp bởi các chuyên gia - Một tập các lời giải cung cấp bởi các thuật toán tìm kiếm khác c. Hàm thích nghi Sau khi khởi tạo quần thể hoặc ở thời điểm các thế hệ mới được tạo thành, chúng ta phải sử dụng hàm thích nghi để đánh giá độ thích nghi của mỗi nhiễm sắc thể nhằm có cơ sở cho việc lựa chọn bố mẹ cho các phép lai tạo và đột biến. Như vậy, mục đích của hàm thích nghi là: • Lựa chọn các thể cha mẹ phù hợp ],[)2( 12 ),...,( 1 0 1 yxa xy xaa j L j jLLL         Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 82 • Kiểm tra sự hội tụ của giải thuật • Chọn các cá thể bị loại bỏ • Đảm bảo sự phân bố hợp lý của các quần thể Để đảm bảo sự phân bố hợp lý của các quần thể, thuận tiện cho giải thuật tìm kiếm người ta sử dụng các phương pháp xác định độ thích nghi như sau: • Fitness scaling – Xác định theo tỷ lệ thích nghi • Fitness windowing – Xác định theo phương pháp cửa sổ thích nghi • Fitness ranking – xác định theo thứ hạng thích nghi d. Phép chọn lọc Ở mỗi một thế hệ, dựa trên giá trị của hàm thích nghi, các cá thể có độ thích nghi tốt sẽ được chọn lọc để tạo thành quần thể ở thế hệ mới và được chuẩn bị cho việc thực hiện các phép toán lai tạo và đột biến sau này. Mục đích của phép chọn lọc là tập trung sự tìm kiếm trên miền “hứa hẹn”. Phép chọn lọc bắt nguồn từ học thuyết của Darwin về “Sự sống sót của các cá thể thích nghi nhất ” Một số phép chọn lọc thường được sử dụng bao gồm: • Roulette wheel Selection - Chọn lọc ngầu nhiên theo bánh xe Roulette • Fitness Proportionate Selection- Chọn lọc theo tỷ lệ thích nghi • Linear Ranking Selection- Chọn lọc theo thứ hạng tuyến tính • Local Tournament Selection- Chọn lọc theo cạnh tranh cục bộ e. Phép lai ghép Trong giải thuật di truyền, số lượng các thể trong quần thể ở mỗi thế hệ là không đổi. Phép chọn lọc đã chọn ra một số các thể có độ thích nghi cao và loại bỏ đi một số cá thể thích nghi thấp. Sự thiếu hụt của số lượng quần thể khi mất đi các cá thể thích nghi thấp sẽ được bổ xung bằng việc lấy các cá thể có độ thích nghi cao là thế hệ cha mẹ, tạo ra các thế hệ con cái bằng phép lai ghép và đột biến trên các các thể thích nghi cao này. Kết quả là thế hệ mới được hình thành giữ nguyên về số lượng bao gồm các cá thể thích nghi cao và con cái của chúng qua các phép lai ghép và đột biến. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 83 Phép lai ghép là tạo ra các nhiễm sắc thể con cái (offspring) từ các nhiễm sắc thể cha mẹ (parent) được lựa chọn. Bao gồm các phương pháp lai ghép sau: • Lai ghép một vị trí: Lựa chọn một cặp nhiễm sắc thể cha mẹ. Chọn ngẫu nhiên một vị trí trên chuỗi nhiễm sắc thể và tiến hành ghép phần đầu của nhiễm sắc thể này với phần đuôi của nhiễm sắc thể kia và ngược lại . • Lai ghép hai vị trí: Chọn ngẫu nhiên hai vị trí trên chuỗi nhiễm sắc thể và tiến hành lai ghép. • Lai ghép ngẫu nhiên : Số lượng và vị trí lai ghép được chọn ngẫu nhiên • Lai ghép theo thuật toán: tạo ra các nhiễm sắc thể con cái từ nhiễm sắc thể bố mẹ dựa trên một thuật toán xác định. f. Phép đột biến Đột biến là thay đổi các bit trên chuỗi nhiễm sắc thể một cách ngẫu nhiên để tạo tính đa dạng. Phép đột biến được điều khiển bởi xác xuất đột biến, Pm. Nếu không đột biến, giải thuật chỉ tìm kiếm tại không gian khởi tạo.Tuy nhiên, nếu Pm quá lớn, quá trình tìm kiếm trở thành tìm kiếm ngẫu nhiên Trên đây là một số kỹ thuật được sử dụng trong giảy thuật di truyền. Trong đó, việc xác định kích thước quần thể ban đầu, xác xuất lai ghép, xác xuất đột biến là rất quan trọng, ảnh hưởng nhiều đến kết quả của giải thuật. Việc xác định các thông số này tùy theo từng đặc điểm của mỗi bài toán cụ thể. Tuy nhiên, các thông số thường dùng là: • Kích thước quần thể : 30 -200 • Xác suất lai ghép : 0.5 -1 • Xác xuất đột biến : 0.001 - 0.05 Giải thuật di truyền sẽ kết thúc khi đạt đến điều kiện kết thúc giải thuật bao gồm: • Đạt đến số lượng thế hệ • Đạt đến một thời gian nhất định • Khả năng cải thiện không đáng kể Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 84 3.5.3.3. Giải bài toán bằng phƣơng pháp di truyền (GA)  Khai báo hàm mục tiêu  Giải thuật di truyền Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 85 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 86  Kết quả Bảng 3.4: Kết quả giải bài toán ngược cơ cấu 3 khâu phẳng bằng phương pháp Giải thuật di truyền GA q1(rad) q2(rad) q3(rad) Mục tiêu P1 0.0431 0.8521 -0.1234 0.0355 P2 0.5924 -0.3586 0.5887 0.0343 P3 0.5288 -0.0465 0.2633 0.0043 3.5.4. Sử dụng phƣơng pháp khai triển thành đa thức để giải bài toán 3.5.4.1. Đặt vấn đề Trên đây là một số phương pháp giải bài toán động học ngược Robot, tuy nhiên hàm mục tiêu như chúng ta thấy là hàm siêu việt. Vì vậy, để loại bỏ hàm siêu việt của hàm mục tiêu, ta đưa ra hướng nghiên cứu sử dụng phương pháp khai triển thành đa thức để giải bài toán. Sau khi khai triển thành đa thức ta lại có thể áp dụng được các phương pháp trên để giải bài toán. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 87 3.5.4.2. Đa thức nội suy Trong toán học ta thường gặp các bài toán liên quan đến khảo sát và tính giá trị các hàm y = f(x) nào đó. Tuy nhiên trong thực tế có trường hợp ta không xác định được biểu thức của hàm f(x) mà chỉ nhận được các giá trị rời rạc: y0, y1, …., yn tại các điểm tương ứng x0, x1, …..,xn. Vấn đề đặt ra là làm thế nào để xác định giá trị của hàm tại các điểm còn lại. Ta phải xây dựng hàm  (x) sao cho:  (xi) = yi = f(xi) với i 0,n (x) f (x) x   thuộc [a,b] và x  xi - Bài toán xây dựng hàm  (x) gọi là bài toán nội suy - Hàm  (x) gọi là hàm nội suy của f(x) trên [a, b] - Các điểm xi ( i 0,n ) gọi là các mốc nội suy Hàm nội suy cũng được áp dụng trong trường hợp đã xác định được biểu thức của f(x) nhưng nó quá phức tạp trong việc khảo sát, tính toán. Khi đó ta tìm hàm nội suy xấp xỉ với nó để đơn giản phân tích và khảo sát hơn. Trong trường hợp đó ta chọn n+1 điểm bất kỳ làm mốc nội suy và tính giá trị tại các điểm đó, từ đó xây dựng được hàm nội suy ( bằng công thức Lagrange, Newton, …). Trường hợp tổng quát: hàm nội suy  (x) không chỉ thoả công thức mãn giá trị hàm tại mốc nội suy mà còn thoả mãn giá trị đạo hàm các cấp tại mốc đó. 0 0 1 1 0 0 1 1 '(x ) f '(x ); '(x ) f '(x );............ ''(x ) f ''(x ); ''(x ) f ''(x );..........         Nghĩa là ta tìm hàm nội suy của f(x) thoả mãn bảng giá trị sau: xi x0 x1 ...... xn yi =f(xi) y0 y1 ...... yn y’i =f’(xi) y’0 y’1 ...... y’n y’’i =f’’(xi) y’’0 y’’1 ...... y’’n ...... ...... ...... ...... ...... Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 88 3.5.4.3. Đa thức nội suy Lagrange Giả sử f(x) nhận giá trị yi tại các điểm tương ứng xi ( i 0,n ), khi đó đa thức nội suy Lagrange của f(x) là đa thức bậc n và được xác định theo công thức sau: n i n i n i 0 L (X) y p (x)   Trong đó: i 0 1 i 1 i 1 n n i 0 i 1 i i 1 i i 1 i n (x x )(x x )....(x x )(x x ).(x x ) TS(x) P (x) (x x )(x x )......(x ).(x x )...(x x ) MS                Đặt W(x) = (x-x0)(x-x1)…(x-xn) Suy ra: TS(x) = i W(x) x-x ; MS = W’(xi) n i n i=0 i i y L (X) W(x) (x-x )W'(x )   3.5.4.4. Áp dụng cho bài toán cụ thể  Khai triển Sin(x) tại 4 nút nội suy (-pi≤ x ≤ pi): x -pi -pi/2 0 pi/2 pi Sin(x) 0 -1 0 1 0 xpixpix pi pixxpix pi x pipipipipipipi pixpixxpix pipipipipipipi pixpixxpix pipipipi pixpixpixpi pipipipipipipi pixpixpixx pipipipipipipi pixpixxpix x ).2/).(.( 2 )2/.()..( 2 )sin( 0* )2/).(2/).(0).(( )2/).(2/).(0).(( 1* )2/).(2/2/).(02/).(2/( )).(2/).(0).(( 0* )0).(2/0).(0).(2/0( )).(2/).().(2/( )1(* )2/).(2/).(2/2/).(02/ )).().(2/).(0( 0* )).(2/).(0).(2/( )).(2/).(0).(2/( )sin( 22 4 22 4                     Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 89  Khai triển cos(x) tại 4 nút nội suy (-pi≤ x ≤ pi): x -pi -pi/2 0 pi/2 pi cos(x) -1 0 1 0 -1 ) 4 ).(.( 4 ).(). 4 .( .3 2 )cos( )1(* )2/).(2/).(0).(( )2/).(2/).(0).(( )1(* )2/).(2/).(0).(( )2/).(2/).(0).(( 0* )2/).(2/).(02/).(2/2/( )).().(0).(2/( )1(* )0).(0).(2/0).(2/0( )).().(2/).(2/( 0* )2/).(2/2/).(02/).(2/( )).(2/).(0).(( )cos( 2 222 4 2 2 4 pi xpix pi pixx pi x pi x pipipipipipipi pixpixxpix pipipipipipipi pixpixxpix pipipipipipipi pixpixxpix pipipipi pixpixpixpix pipipipipipipi pixpixxpix x                         Áp dụng cho hàm mục tiêu (3.14b): - Khai triển cos(q): cos(q(1))=-2/(3*pi^4)*(q(1)^2-pi^2/4)*q(1)*(q(1)-pi)+4/pi^4*(q(1)^2- pi^2)*(q(1)^2-pi^2/4)-2/(3*pi^4)*(q(1)^2-pi^2/4)*q(1)*(q(1)+pi); cos((q(1)+q(2)))=-2/(3*pi^4)*((q(1)+q(2))^2-pi^2/4)*(q(1)+q(2))*((q(1)+q(2))- pi)+4/pi^4*((q(1)+q(2))^2-pi^2)*((q(1)+q(2))^2-pi^2/4)- 2/(3*pi^4)*((q(1)+q(2))^2-pi^2/4)*(q(1)+q(2))*((q(1)+q(2))+pi); cos((q(1)+q(2)+q(3)))=-2/(3*pi^4)*((q(1)+q(2)+q(3))^2- pi^2/4)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))-pi)+4/pi^4*((q(1)+q(2)+q(3))^2- pi^2)*((q(1)+q(2)+q(3))^2-pi^2/4)-2/(3*pi^4)*((q(1)+q(2)+q(3))^2- pi^2/4)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))+pi); Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 90 - Khai triển sin(q): sin(q(1))=2/(pi^4)*(q(1)^2-pi^2)*q(1)*(q(1)-pi/2)-2/pi^4*(q(1)^2- pi^2)*(q(1)+pi/2)*q(1); sin((q(1)+q(2)))=2/(pi^4)*((q(1)+q(2))^2-pi^2)*(q(1)+q(2))*((q(1)+q(2))-pi/2)- 2/pi^4*((q(1)+q(2))^2-pi^2)*((q(1)+q(2))+pi/2)*(q(1)+q(2)); sin((q(1)+q(2)+q(3)))=2/(pi^4)*((q(1)+q(2)+q(3))^2- pi^2)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))-pi/2)-2/pi^4*((q(1)+q(2)+q(3))^2- pi^2)*((q(1)+q(2)+q(3))+pi/2)*(q(1)+q(2)+q(3));  Phiếm hàm mục tiêu: Q = ((-2/(3*pi^4)*((q(1)+q(2)+q(3))^2- pi^2/4)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))-pi)+4/pi^4*((q(1)+q(2)+q(3))^2- pi^2)*((q(1)+q(2)+q(3))^2-pi^2/4)-2/(3*pi^4)*((q(1)+q(2)+q(3))^2- pi^2/4)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))+pi))-0.8)^2+(((90*(- 2/(3*pi^4)*(q(1)^2-pi^2/4)*q(1)*(q(1)-pi)+4/pi^4*(q(1)^2-pi^2)*(q(1)^2-pi^2/4)- 2/(3*pi^4)*(q(1)^2-pi^2/4)*q(1)*(q(1)+pi))+(80*(-2/(3*pi^4)*((q(1)+q(2))^2- pi^2/4)*(q(1)+q(2))*((q(1)+q(2))-pi)+4/pi^4*((q(1)+q(2))^2-pi^2)*((q(1)+q(2))^2- -pi^2/4)-2/(3*pi^4)*((q(1)+q(2))^2-pi^2/4)*(q(1)+q(2))*((q(1)+q(2))+pi))+(70*(- 2/(3*pi^4)*((q(1)+q(2)+q(3))^2-pi^2/4)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))- pi)+4/pi^4*((q(1)+q(2)+q(3))^2-pi^2)*((q(1)+q(2)+q(3))^2-pi^2/4)- 2/(3*pi^4)*((q(1)+q(2)+q(3))^2- pi^2/4)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))+pi)))- 190)^2+(((90*(2/(pi^4)*(q(1)^2-pi^2)*q(1)*(q(1)-pi/2)-2/pi^4*(q(1)^2- pi^2)*(q(1)+pi/2)*q(1))+(80*(2/(pi^4)*((q(1)+q(2))^2- pi^2)*(q(1)+q(2))*((q(1)+q(2))-pi/2)-2/pi^4*((q(1)+q(2))^2- pi^2)*((q(1)+q(2))+pi/2)*(q(1)+q(2)))+(70*(2/(pi^4)*((q(1)+q(2)+q(3))^2- pi^2)*(q(1)+q(2)+q(3))*((q(1)+q(2)+q(3))-pi/2)-2/pi^4*((q(1)+q(2)+q(3))^2- pi^2)*((q(1)+q(2)+q(3))+pi/2)*(q(1)+q(2)+q(3)))-115)^2 → min Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 91 KẾT LUẬN CHƢƠNG 3: Trong chương này, Luận văn đưa ra hướng nghiên cứu chuyển bài toán động học ngược robot về bài toán tối ưu và sử dụng một số phương pháp giải bài toán tối ưu phi tuyến để giải bài toán động học ngược robot, đưa ra hướng nghiên cứu sử dụng phương pháp khai triển thành đa thức để giải bài toán, cụ thể như sau:  Thành lập được bài toán điều khiển: Xây dựng được mô hình toán học, đưa ra phiếm hàm mục tiêu và điều kiện hạn chế của các biến khớp của một số loại Robot.  Giới thiệu và sử dụng một số phương pháp giải bài toán động học ngược Robot: - Với phương pháp sử dụng Optimization Toolbox trong Matlab để giải bài toán: + Sử dụng hàm fmincon, Nghiệm của bài toán tiến tới điểm cực trị toàn cục, kết quả của bài toán tìm được trong thời gian ngắn. Để hàm mục tiêu tiến tới min, phương pháp trên đòi hỏi khoảng nghiệm reo phải nằm gần trong khoảng nghiệm tối ưu, điều này đòi hỏi cần phải dựa vào kinh nghiệm. - Với phương pháp sử dụng giải thuật di truyền để giải bài toán. Đây là phương pháp được đánh giá cao trong việc giải các bài toán tối ưu phi tuyến, kết quả của bài toán sẽ được tìm kiếm ngẫu nhiên, vì vậy ta không cần phải reo nghiệm trước. Tuy nhiên, phương pháp này có thể đưa ra nhiều lời giải và thời gian giải bài toán kéo dài hơn so với hai phương pháp trên. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 92 CHƢƠNG 4. KẾT LUẬN VÀ KIẾN NGHỊ 4.1. Các kết quả nghiên cứu của Luận văn - Chỉ ra các dạng thức khác nhau của bài toán tối ưu. - Làm rõ các khái niệm trong lĩnh vực động học và động học ngược Robot công nghiệp. - Đưa ra được bài toán tối ưu về độ chính xác về vị trí và hướng của khâu chấp hành. - Thành lập mô hình đối tượng và phiếm hàm mục tiêu của một số loại Robot. - Phân tích các yếu tố quyết định tốc độ hình thành lời giải trong bài toán động học ngược của robot. Chỉ ra những điểm hạn chế của các phương pháp giải bài toán động học ngược robot, dựa trên các kỹ thuật biến đổi phương trình vector vòng kín và phương pháp số. - Đề xuất sử dụng phương pháp tối ưu hoá để thay thế cho phương pháp nói trên, đồng thời sử dụng sự trợ giúp của máy tính để tìm lời giải cho bài toán động học ngược robot. - Sử dụng hàm fmincon trong Optimization Toolbox Matlab để giải bài toán động học ngược của Robot cơ cấu 3 khâu phẳng (3 khớp quay) với điều kiện giới hạn của các biến khớp. - Tìm hiểu về phương pháp giải thuật di truyền, áp dụng phương pháp di truyền để giải bài toán động học ngược Robot cơ cấu 3 khâu phẳng (3 khớp quay). - Đưa ra hướng nghiên cứu sử dụng phương pháp nội suy đa thức Lagrange để giải bài toán động học ngược Robot. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 93 4.2. Một số kiến nghị cho hƣớng nghiên cứu tiếp theo: - Phát triển hướng nghiên cứu sử dụng phương pháp khai triển thành đa thức để giải bài động học ngược Robot. - Phát triển phương pháp tối ưu hoá giải bài toán động học cho robot song song, theo định hướng ghép bài toán xác định các nghiệm toán học và nghiệm điều khiển làm một bài toán duy nhất nhằm giảm thời gian chuẩn bị dữ liệu. - Phát triển phương pháp tối ưu giải bài toán động học ngược robot hở để giải quyết các bài toán khác kết hợp như tránh va chạm trong vùng làm việc, hạ thấp trọng tâm, di chuyển tối thiểu, trên cơ sở điều chỉnh miền chọn nghiệm của bài toán tối ưu, hoặc khởi tạo bài toán quy hoạch đa mục tiêu. - Phát triển phương pháp tối ưu giải bài toán động học ngược robot để khảo sát sự di động của điểm tựa công nghệ hợp lý, trong khi giải bài toán động học ngược của robot theo phương pháp các nhóm ba [8]. - Phát triển phương pháp tối ưu giải bài toán động học ngược robot, trên cơ sở quy tắc chuyển vị xoắn liên tiếp thay vì sử dụng quy tắc DH như hiện nay. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 94 TÀI LIỆU THAM KHẢO Tiếng Việt 1. Tạ Văn Đĩnh (2000) Phương pháp tính – Giáo trình dùng cho các trường đại học kỹ thuật, NXB Giáo dục, Hà Nội tr.7- 20. 2. Nguyễn Doãn Phước, Phan Xuân Minh, Điều khiển tối ưu & Bền vững, NXB Khoa học và Kỹ thuật, Hà Nội. 3. Nguyễn Hoàng Hải, Nguyễn khắc Kiểm (2003) Lập trình matlab, NXB Khoa học Kỹ thuật Hà Nội tr. 114- 131 4. Đào Văn Hiệp (2004), Kỹ thuật robot NXB Khoa học và Kỹ thuật, Hà Nội tr. 18-55 5. B.HeiMann, W. Gerth, K popp (2008) Cơ điện tử NXB Khoa học và Kỹ thuật, Hà Nội tr. 19-65 6. Nguyễn Nhật Lệ (2001) Tối ưu hóa ứng dụng, NXB Khoa học và Kỹ thuật, Hà Nội tr. 76-87 7. Tạ Duy Liêm (2004) Robot và hệ thống công nghệ robot hóa – giáo trình cao học ngành cơ khí, NXB Khoa học và Kỹ thuật, Hà Nội tr. 109-127 8. Nguyễn Thiện Phúc (2002) Robot Công Nghiệp NXB Khoa học và Kỹ thuật, Hà Nội tr. 86-133 9. Nguyễn Ngọc Quỳnh, Hồ Thuần (1978) Ứng dụng ma trận trong kỹ thuật , NXB Khoa học và Kỹ thuật, Hà Nội tr. 123-142 10. Trần Thế San (2003) Cơ sở nghiên cứu và sáng tạo robot , NXB Thống kê tr.27-192 11. Trần Vũ Thiệu, Bùi Thế Tâm (1998) các phương pháp tối ưu hóa NXB Giao thông vận tải , Hà Nội tr.373-389 12. Nguyễn Mạnh Tiến (2007) Điều khiển robot công nghiệp NXB Khoa học và Kỹ thuật, Hà Nội tr. 59-99 13. Bùi Minh Trí (1995) Tối ưu hóa Trường ĐHBK Hà Nội tr.165-195 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 95 14. Đoàn Thị Minh Trinh (1998) Công nghệ CAD/CAM NXB Khoa học và Kỹ thuật, Hà Nội tr. 23-37 15. Nguyễn Phùng Quang (2006) ”Những điều cần biết về điều khiển robot ”Tạp chí tự động hóa ngày nay (68) tr 49-52 16. Nguyễn Trọng Doanh (2008) Thiết kế hệ thống đo chính xác lặp cho robot công nghiệp, Tạp chí khoa học và công nghệ các trường đại học kỹ thuật (64) NXB Bách khoa Hà Nội tr 25-29 17. Phạm Thành Long (2009) “Nghiên Cứu, khảo sát các đặc tính làm việc của hệ thống chấp hành của Robot công nghiệp” Luận án Tiến sỹ kỹ thuật ĐHKTCN Thái Nguyên 18. Thái Thu Hà, Hồ Thanh Tâm (2005) Ứng dụng robot song song trong máy đo tọa độ CMM , Tuyển tập các bài báo khoa học vica 6, Hà Nội tr.162-166 19. Lê Hoài Quốc, Chung Tấn Lâm (2007) Nhập môn robot công nghiệp, NXB Khoa học và Kỹ thuật, Hà Nội tr. 128-214 20. Hoàn Kiếm, Lê Hoàng Thái (2000) Giải thuật di truyền, cách giải tự nhiên các bài toán trên máy tính, NXB Giáo dục. Tiếng Anh 21. J. Abadie and J. Carpentier (1969) Generalization of the Wolfe reduce gradient method to the case of nonlinear constraint, optimization , Academic Press, London,pp.37-47 22. P.T boggs and J.W Tolle(2000) Sequential quadratic programming for largge – scale nonlinear optimization , J. Comput. Appl. Math .124 (1-2) 23. K. Deb (2000) An efficient constraint handling method for genetic algorithm, Comput,Method Appl Mech.Eng . 186 (2-4) pp. 311-338 24. L. Yan and D. Ma (2001) Global Optimization for constrained nonlinear programs using line-up competition algorithm, Conpus . Oper. Res. 25, (11- 22) pp.1601-1610 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 96 25. M . Marthur, S. B. Karale, S.Priye, V. K. jayaraman, and B. D. Kulkani(2000), Ant Colony approach to continuos function oplimization, Ind. Eng. Chem . Res 39 (10) pp.3814- 3822. 26. M. Sakawa and K. Yauchi (2000) Floating point genetic algorithms for non convex nonlinear programming problems : revised GENOCOP III , Electron .Comm.Japan 83,(8) pp.1-9 27. A. F >Kuri- Morales and J. Guitiesrrez –Garcia (2001) Penalty functions methods for constraited optimization with genetic algorithm: a statistical analysis, Proc . 2 nd Mexican International Conference on Artifician Intelligence , Springer- velag ,heideberg ,gemany ,pp.108-117 28. L. S . Lasdon , A.D. Warren , A. Jain, and M. Ratner (1978) Design and Testing of a Generalized reduce gradient code for nonlinear programming , ACM Trans . Math. Software 4 (1) pp.34-50 29. Z. Michelewicz (1995) Genetic Algorithms , numerical optimization and constraints , Proc , 6 th International Conference on genetic algorithm (L. J. Eshelman , ed) , morgan Kaufmann , california , pp.151-158 30. Z. Michelewicz , M. Schoenauer (1996) Evolutionary algorithms for constrainted parameter optimization problems , Evolutionary Computation 4 (1) pp.1-32 31. Parviz E. Nikravesh (1988) Computer –Aided analysis of Mechnical systems , printed in USA, pp.19-250 32. P.M Taylor (1990) ,Robotic control ,printed in the London,pp. 12-33 33. T. Wang (2001) , Global optimization for constrained nonlinear programming , Ph. D. Thesis, Department of computer Science , University of Illinois , Illinois,pp. 1-40. 34. Ozgur Yeniay (2005) : A comparative study on optimization method for the constrained nonlinear programming problems : mathematical problems in Engineering 2005,pp.165-173. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 97 TÓM TẮT Luận văn được trình bày trong 4 chương: Chương 1: Trong chương này tác giả giới thiệu chung về bài toán tối ưu, bao gồm:  Giới thiệu bài toán điều khiển tối ưu tĩnh, trình bày một số phương pháp tìm nghiệm.  Giới thiệu bài toán điều khiển tối ưu động: trong đó chủ yếu giới thiệu 3 phương pháp cơ bản giải bài toán tối ưu động, đó là: phương pháp biến phân, phương pháp quy hoạch động của Bellman, phương pháp nguyên lý cực đại của Pontryagin Chưong 2: Chương này giới thiệu về Robot công nghiệp, các đặc tính của Robot công nghiệp, chất lượng quá trình làm việc và các thông số điều khiển Robot. Giới thiệu bài toán động học ngược, mô hình toán học trong điều khiển động học ngược Robot và đưa ra yêu cầu về thời gian thực trong điều khiển động học Robot, trình bày hiệu quả giải thuật trên quan điểm điều khiển thời gian thực. Chương 3: Trong chương này Luận văn trình bày về cách chuyển bài toán động học ngược về bài toán tối ưu, thành lập bài toán tối ưu cho một số loại Robot và sử dụng một số phương pháp giải để đi tìm lời giải cho một robot cụ thể: Robot cơ cấu 3 khâu phẳng (3 khớp quay). Chương này luận văn đã giải quyết hai nội dung cơ bản:  Xây dựng mô hình toán học của đối tượng điều khiển; thành lập bài toán điều khiển, trong đó đã chuyển được bài toán động học ngược robot về bài toán tối ưu dạng quy hoạch bậc hai với ràng buộc tuyến tính(dạng hình hộp). Mặc dù hàm mục tiêu có dạng siêu việt khá phức tạp nhưng với ràng buộc tuyến tính nên bài toán tối ưu chắc chắn sẽ có lời giải.  Đưa ra hai phương pháp tìm nghiệm cho bài toán tối ưu: đó là phương pháp sử dụng Optimization Toolbox và phương pháp sử dụng Giải thuật di truyền (GA). Ngoài ra đã đề xuất giải pháp chuyển hàm mục tiêu dạng bậc hai của các hàm siêu việt về dạng đa thức bằng phương pháp nội suy Lagrange, sau đó có thể dùng chính hai phương pháp trên để tìm lời giải. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 98 Lời giải của bài toán tối ưu cho kết quả chấp nhận được, với giá trị hàm mục tiêu khá nhỏ(<0,05); nghiệm tối ưu chính là các biến khớp - là các giá trị đặt cho mạch vòng điều khiển. Chương 2,3 gồm nhiều nội dung chính của luận văn. Chương 4: Chương này đưa ra những vấn đề đã được giải quyết trong Luận văn và một số hướng phát triển tiếp theo của đề tài.

Các file đính kèm theo tài liệu này:

  • pdfLuận văn- NGHIÊN CỨU ĐIỀU KHIỂN TỐI ƯU CHO CÁNH TAY ROBOT BẰNG PHƯƠNG PHÁP QUY HOẠCH PHI TUYẾN.pdf
Luận văn liên quan