- 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.
190 trang |
Chia sẻ: lylyngoc | Lượt xem: 3556 | Lượt tải: 1
Bạn đang xem trước 20 trang 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, để xem tài liệu hoàn chỉnh 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:
- 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.pdf