Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐHKT CÔNG NGHIỆP
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
-----------***-----------
THUYẾT MINH
LUẬN VĂN THẠC SỸ KỸ THUẬT
ĐỀ TÀI
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 Học viên: Nguyễn Trung Thành
Lớp: CH K10
Chuyên ngành: Tự động hoá
Người HD Khoa học: PGS.TS Nguyễn Hữu Công
HIỆU TRƯỞNG KHOA ĐT SAU ĐH
CB HƯỚNG DẪN
THÁI NGUYÊN 2009 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
LỜI CAM ĐOAN
Tên tôi là: Nguyễn Trung Thành
Sinh ngày 13 tháng 11 năm 1980
Học viên lớp Cao học Khoá 10 Chuyên ngành Tự động hoá- Trƣờng Đại Học Kỹ
Thuật Công Nghiệp Thái Nguyên
Đơn vị công tác: Trƣờng Đại học Kỹ thuật Công nghiệp Thái Nguyên
Xin cam đoan: Đề tài: “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’’ do PGS.TS. Nguyễn Hữu Công hƣớng
dẫn là công trình nghiên cứu của riêng tôi. Tất cả các tài liệu tham khảo đều có nguồn
gốc, xuất xứ rõ ràng.
Nếu sai tôi hoàn toàn chịu trách nhiệm.
Thái Nguyên, ngày 20 tháng 10 năm 2009
Tác giả
Nguyễn T rung Thành
KHIỂN ĐỘNG HỌC NGƢỢC ROBOT.................................
39
2.1. Tổng quan về robot công nghiệp.............................................................. 39
2.1.1. Tự động hóa và robot công nghiệp………………….………………... 43
2.1.2. Các đặc tính của robot công nghiệp…………………….……………. 45
2.1.2.1. Tải trọng…………………………………………….……………… 45
2.1.2.2. Tầm với ……………………………………………….…………… 45
2.1.2.3. Độ phân giải không gian…………………………………………… 45
2.1.2.4. Độ chính xác………………………………………………………. 46
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
2.1.2.5. Độ lặp lại …………………………………………….……………. 47
2.1.2.6. Độ nhún …………………………………………………………… 47
2.2. Chất lƣợng quá trình làm việc và các thông số điều khiển …………… 48
2.2.1. Yêu cầu về chất lƣợng trong điều khiển Robot……………….……… 48
2.2.2. Giới thiệu bài toán điều khiển động học ngƣợc Robot …………....... 49
2.2.3. Bài toán động học trên quan điểm điều khiển thời gian thực ………. 54
2.2.3.1. Yêu cầu về thời gian thực trong điều khiển động học robot ……… 54
2.2.3.2. Hiệu quả giải thuật trên quan điểm điều khiển thời gian thực…….. 56
CHƢƠNG 3: GIẢI BÀI TOÁN ĐIỀU KHIỂN TỐI ƢU CHO CÁNH
TAYROBOT...........................................................................
58
3.1. Thành lập bài toán điều khiển…………………………………………. 58
3.1.1. Mô hình đối tƣợng………………………………………..……….…. 58
3.1.2. Phiếm hàm mục tiêu …………………………………………………. 61
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
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)...........................................................................................
73
3.5.1. Khởi tạo một số ma trận thế ngẫu nhiên cho lời giải……………….... 74
3.5.2. Ứng dụng Optimization Toolbox trong Matlab để giải bài toán……... 74
3.5.2.1.Giới thiệu Optimization Toolbox trong Matlab…………………….. 74
3.5.2.2. Sử dụng Optimization Toolbox trong Matlab để giải bài toán……... 77
3.5.3. Ứng dụng phƣơng pháp giải thuật di truyền (GA) giải bài toán …..… 79
3.5.3.1. Giới thiệu phƣơng pháp giải thuật di truyền (GA)…………….…… 79
3.5.3.2. Các kỹ thuật trong giải thuật di truyền GA………………………… 80
3.5.3.3. Giải bài toán bằng phƣơng pháp di truyền (GA)………….……..… 84
3.5.4. Sử dụng phƣơng pháp khai triển thành đa thức để giải bài toán……… 86
3.5.4.1. Đặt vấn đề………………………………………………………...… 86
3.5.4.2. Đa thức nội suy ……………………………………………….…..… 87
3.5.4.3. Đa thức nội suy Lagrange ..........................................................
88
3.5.4.4. Áp dụng cho bài toán cụ thể………………………………………... 88
CHƢƠNG 4. KẾT LUẬN VÀ KIẾN NGHỊ………………………………… 92
4.1. Các kết quả nghiên cứu của Luận văn…………………………..…..….. 92
4.2. Một số kiến nghị cho hƣớng nghiên cứu tiếp theo…………………...… 93
Tài liệu tham khảo………………………………………………………...… 94
Tóm tắt………………………………………………………………….…... 97
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
DANH MỤC
n
Lƣợng tịnh tiến dọc theo trục oz mm
10 E
Véctơ mô tả mũi dụng cụ(hoặc tâm bàn kẹp) trong hệ quy chiếu
chung
11 ε Sai lệch tuyệt đối cho phép của hàm muc tiêu
12 GA Genetic Algorithms
13 IR Industrian Robot
14 J Vectơ định vị điểm đặt robot so với hệ quy chiếu chung
15 l
i
Lower bound (i)
16 MRO Minimal Represent Orient
17 n
(…)
Normal (Vectơ pháp tuyến của mặt phẳng chứa s, a)
18 n Số bậc tự do của robot
19 NC Numerical Control
20 q
i
Biến khớp thứ (i)
21 s
(…)
Sliding (Vectơ hƣớng đóng mở bàn kẹp)
22
o
T
n
Phƣơng trình động học thuận
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
DANH MỤC CÁC BẢNG BIỂU
KÝ
HIỆU
NỘI DUNG BẢNG BIỂU TRANG
2.1 Số lượng Robot sản xuất ở một số nước công nghiệp phát triển 41
3.1 Bảng DH robot Elbow 68
3.2 Bảng DH robot Puma 70
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
79
3.4
2.8 Các thông số của khâu θ, d, a và α 52
3.1 Các vectơ định vị trí và định hướng của bàn tay máy 59
3.2 Sơ đồ động học cơ cấu 3 khâu phẳng (3 khớp quay) 65
3.3 Sơ đồ động học Robot Elbow 67
3.4 Sơ đồ động học Robot Puma 69
3.5 Sơ đồ cấu trúc kỹ thuật trong giải thuật di truyền 80 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
LỜI NÓI ĐẦU
Khoa học kỹ thuật và công nghệ ở các nước trong khu vực và trên thế giới
đang trong thời kỳ phát triển như vũ bão đã đưa Việt Nam đứng trước rất nhiều thời
cơ vận hội và thách thức mới trên con đường hội nhập với nền kinh tế thế giới.
Để đáp ứng nhu cầu phát triển của xã hội, phục vụ công cuộc đổi mới của đất
nước đòi hỏi đội ngũ các nhà khoa học, cán bộ kỹ thuật và công nhân lành nghề
phải không ngừng nghiên cứu, học tập nâng cao trình độ để kịp thời tiếp cận làm
chủ các kiến thức khoa học kỹ thuật hiện đại và công nghệ tiên tiến.
Các khoá đào tạo thạc sỹ tại Trường Đại học Kỹ Thuật Công Nghiệp Thái
Nguyên nhằm đào tạo những cán bộ khoa học có trình độ cao để tiếp thu và làm chủ
kỹ thuật hiện đại để phục vụ cho công tác nghiên cứu, giảng dạy và sản xuất. Là
một giáo viên giảng dạy tại một trường kỹ thuật tôi rất vinh dự được học tập tại
khoá đào tạo thạc sỹ khoá 10 của trường. Để đánh giá kết quả học tập trong toàn
Chƣơng 2: Robot công nghiệp và giới thiệu bài toán điều khiển động học ngược
robot
Chƣơng 3 Giải bài toán điều khiển tối ưu cho cánh tay robot
Chƣơng 4: Kết luận và kiến nghị
Đề tài đã được hoàn thành đúng thời hạn dưới sự hướng dẫn tận tình của
PGS.TS. Nguyễn Hữu Công - Trưởng Khoa Điện Tử - Trường Đại học Kỹ thuật
Công nghiệp Thái Nguyên và các bạn đồng nghiệp cùng sự nỗ lực của bản thân. Tôi
xin chân thành cảm ơn thầy giáo hướng dẫn, các thầy giáo, cô giáo thuộc trường
Đại học kỹ thuật Công nghiệp Thái Nguyên đã giúp đỡ tôi trong quá trình học tập
cũng như quá trình nghiên cứu thực hiện luận văn.
Vì nhiều điều kiện khách quan và khả năng của bản thân, luận văn hoàn
thành chắc chắn còn thiếu sót. Rất mong sự góp ý của các thầy cô giáo và các bạn
đồng nghiệp.
Tôi xin chân thành cảm ơn!
Tác giả
Nguyễn Trung Thành
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
CHƢƠNG 1 : GIỚI THIỆU CHUNG VỀ ĐIỀU KHIỂN TỐI ƢU
1.1. Định nghĩa
Điều khiển tối ưu là một chuyên ngành cơ bản trong điều khiển tự động, nó có
vai trò xác định và tạo lập những luật điều khiển cho hệ thống để hệ thống đạt được
T
là các đầu vào
x = (x
1
x
2
. . . x
n
)
T
là các trạng thái
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
y
= (y
1
y
2
. . . y
m
)
T
là các đầu ra
Do bài toán tối ưu được thực hiện trên mô hình hệ thống, cho nên lời giải của
bài toán tối ưu phụ thuộc vào độ chính xác của mô hình hệ thống.
(u
1
, u
2
, . . .u
r
), với k = 1, 2, . . ., m, viết gọn lại thành y = f(u). Hàm mục
tiêu như sau: Q = Q(u,y).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
Thay y = f(u) vào hàm mục tiêu được: Q = Q(u,y) = Q(u,f(u)) = Q(u), như vậy
Q chỉ phụ thuộc vào các đầu vào và đầu ra.
1.3.1.1. Mô tả toán học
Mô hình hệ thống có dạng như sau: y = f(u) với
Uu
u = (u
1
u
2
. . . u
r
)
T
các đầu vào
, sao cho Q(u
*
) đạt giá trị nhỏ nhất. Khi đó, ta có
)1()()(
*
UuuQuQ
Nếu u
*
thoả mãn (1) với mọi u thuộc U, thì u
*
được gọi là véc tơ tối ưu toàn
cục.
Nếu u
*
thoả mãn (1) với mọi u thuộc lân cận u
*
, thì u
*
được gọi là véc tơ tối ưu
cục bộ.
1.3.1.2. Biểu diễn hình học
Xét hệ thống có hai tín hiệu đầu vào u
1
và u
2
. Hàm mục tiêu Q chỉ phụ thuộc
vào u
1
toàn cục.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
Tập hợp các điểm nằm trong mặt phẳng (u
1
,u
2
), tại các điểm đó hàm mục tiêu Q có
cùng giá trị được gọi là đường đồng mức.
1.3.1.3. Giả thiết cho lời giải
a. Bài toán tối ƣu không có giới hạn
- Nghiệm u
*
của bài toán tối ưu không có giới hạn là một điểm cực trị. Các điểm
Q
- Tại mỗi điểm u của mặt cong Q tồn tại véc tơ đạo hàm riêng
u
Q
, ký hiệu là
u
Q
gradQ
, véc tơ đạo hàm riêng grad Q có các tính chất sau:
+ Có phương vuông góc với mặt cong Q.
+ Có hướng chỉ chiều tăng giá trị của các đường đồng mức.
C
B
A
u
1
u
2
O
Q
đường đồng mức
Hình 1.1: Đồ thị hàm mục tiêu
+ Bước 3:
Tìm u
k
theo hướng tìm và khoảng cách bước tìm.
+ Bước 4:
Kiểm tra điều kiện.
Nếu || u
k
- u
k-1
||
chuyển sang bước 5.
Nếu || u
k
- u
k-1
|| >
quay về bước 2.
+ Bước 5:
Nghiệm tối ưu gần đúng là u
*
= u
k
với độ chính xác là
.
cho bài toán tối ưu có giới hạn:
+ Bước 1:
Cho
0
bé tuỳ ý, chọn u
0
bất kỳ.
Thực hiện các bước sau với k = 1, 2 ...
+ Bước 2:
Xác định hướng tìm và khoảng cách bước tìm thích hợp để cho
Uu
k
.
+ Bước 3:
Tìm u
k
theo hướng tìm và khoảng cách bước tìm.
+ Bước 4:
Kiểm tra điều kiện.
Nếu || u
k
- u
k-1
||
chuyển sang bước 5.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
Chính vì những lý do này, mà cần phải có các phương pháp tìm nghiệm tối ưu u
*
mà không dùng véc tơ đạo hàm riêng (gradient).
a.2. Phƣơng pháp Gauss/ Seidel
Cho mô hình hệ thống y = f(u).
Hàm mục tiêu được định nghĩa là Q = Q(u).
Tìm u
*
để cho Q đạt giá trị nhỏ nhất, tức là Q
min
.
Giả sử u
*
nghiệm tối ưu thoả mãn Q
min
, ký hiệu u
*
= argminQ.
Nội dung của phương pháp Gauss/Seidel.
+ Hướng tìm được chọn song song với các trục toạ độ u
i
với i = 1, 2, ..., r. Kí
hiệu hướng tìm ở bước thứ k là h
k
.
0
.
1
.
0
0
k
h
, h
k
là véc tơ có r hàng, chỉ có hàng thứ
k + 1 có giá trị bằng 1, các hàng khác đều bằng không.
- Xác định khoảng cách bước tìm s
k
: s
k
được xác định sao cho hàm mục tiêu đạt
giá trị nhỏ nhất trên hướng tìm h
k
k
||
chuyển sang bước 5.
Nếu || u
k+1
- u
k
|| >
quay về bước 2.
+ Bước 5:
Nghiệm tối ưu gần đúng là u
*
= u
k+1
Ví dụ: Cho hàm mục tiêu Q =
32
2
2
2
1
uu
, tìm u
*
để cho Q → min
Bước 1: Cho
3
1
1
0
1
1
1
0
1
) = -1
Bước 3:
1
0
0
h
1
1
= -1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
19
Vậy s
1
*
= argminQ(u
2
) = -1
Bước 3:
1
2
h
10
1
1
0
2
3
) = 0
Bước 3:
0
0
0
*
2
2
s
u
Bước 4:
||u
3
- u
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
20
b. Phƣơng pháp Newton-Raphson
b.1. Nội dung của phƣơng pháp
Phương pháp tìm nghiệm tối ưu sử dụng đạo hàm bậc nhất và bậc hai của hàm
mục tiêu nên phải giả thiết hàm mục tiêu Q(u) khả vi hai lần. Để giải hệ phương
trình
0
)(
u
uQ
(**) bằng phương pháp giải tích, trước tiên hệ (**) được khai
triển thành chuỗi Taylor tại u
k
thuộc lân cận nghiệm tối ưu u
*
và là nghiệm của (**)
như sau:
0...)(
)()()(
*
2
2
*
u
*
, thay vào hệ
phương trình trên ta có:
0
u
u
)u(Q
)uu(
u
u
)u(Q
k
2
2
k1k
k
Đặt H(u) =
......
...
rr
r
u
Q
uu
Q
uu
Q
u
Q
,
)(
k
k
ugradQg
.
Suy ra u
k+1
= u
k
- H
-1
(u
k
)g
k
b.2. Thuật toán Newton-Raphson
-1
(u
k
)g
k
Bước 4: Kiểm tra điều kiện.
Nếu || u
k+1
- u
k
||
chuyển sang bước 5.
Nếu || u
k+1
- u
k
|| >
quay về bước 2.
Bước 5: Kết thúc
Nghiệm tối ưu gần đúng u
*
= u
k+1
.
Ưu điểm:
12
21
2
1
81
16
)(
2
2
2
12
2
21
2
2
1
2
u
Q
uu
Q
uu
Q
u
Q
0
u Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
22
Bước 2:
)()(
1
0
1
uHuH
Bước 3:
quay về bước 2
k = 1.
Bước 2:
0
0
8
6
0
0
2
uc. Phƣơng pháp sử dụng hàm phạt và hàm chặn
c.1. Hàm phạt
Trong quá trình tìm từng bước nghiệm tối ưu, hàm phạt có được sử dụng để
thông báo rằng tại thời điểm hiện tại, giá trị u
k
đã ra ngoài miền U.
Việc thông báo của hàm phạt thường là bằng những giá trị rất lớn (một cách
không bình thường) tại những điểm gần biên, bên trong hoặc bên ngoài.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
23
Cho hàm mục tiêu Q(u). Tìm
Uu
uQu
uuc.2. Hàm chặn
Trong quá trình tìm từng bước nghiệm tối ưu, hàm chặn được sử dụng để ngăn
cản việc giá trị u
k
hiện tại có thể sẽ vượt ra ngoài miền U. Việc ngăn cản của hàm
chặn thường là bằng những giá trị rất lớn (một cách không bình thường) tại những
điểm gần biên, bên trong hoặc bên ngoài
Thay Q(u) = Q(u) +
S(u), với điều kiện:
S(u) = 0 nếu u cách xa biên.
S(u) =
nếu u ở gần biên.
là một số dương đủ lớn.
Áp dụng các phương pháp giải bài toán tối ưu không ràng buộc để tìm nghiệm
min),(minarg)(
*
uQu
, nghiệm tối ưu u
*
được tìm theo công thức sau: