Đề tài Thiết kế bộ điều khiển trượt cho tay máy Robot 2 bậc tự do và mô phỏng trên Matlab - Simulink

Mục lục

Lời nói đầu 5

CHƯƠNG I: TỔNG QUAN VỀ ROBOT CÔNG NGHIỆP 6

I.1.Robot công nghiệp: 6

I.1.1. Sự ra đời của Robot công nghiệp : 6

I.1.2.Phân loại tay máy Robot công nghiệp: 7

I.2. Ứng dụng của Robot công nghiệp : 9

I.2.1.Mục tiêu ứng dụng Robot công nghiệp : 9

I.2.2.Các lĩnh vực ứng dụng Robot công nghiệp : 10

I.2.3. Các xu thế ứng dụng Robot trong tương lai : 10

I.2.4. Tình hình tiếp cận và ứng dụng Robot công nghiệp ở Việt Nam : 10

I.3.Cấu trúc của Robot công nghiệp: 11

I.3.1.Các bộ phận cấu thành Robot công nghiệp : 11

I.3.2.Bậc tự do và các toạ độ suy rộng : 12

I.3.2.1.Bậc tự do : 12

I.3.2.2. Toạ độ suy rộng : 13

I.3.3.Nhiệm vụ lập trình điều khiển Robot: 14

I.3.3.1. Định vị và định hướng tại “điểm tác động cuối” : 14

I.3.3.2. Lập trình điều khiển Robot công nghiệp : 14

I.4. Các phép biến đổi toán học cho Robot : 15

I.4.1.Biến đổi toạ độ dùng Ma trận: 15

I.4.1.1. Vector điểm và toạ độ thuần nhất : 15

I.4.1.3.Biến đổi Ma trận dùng toạ độ thuần nhất: 18

I.4.1.4. Ý nghĩa hình học của Ma trận thuần nhất: 19

I.4.2.Các phép biến đổi cơ bản: 22

I.4.2.1.Phép biến đổi tịnh tiến: 22

I.4.2.2. Phép quay quanh các trục toạ độ : 22

CHƯƠNG II: HỆ PHƯƠNG TRÌNH ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC CỦA ROBOT CÔNG NGHIỆP: 24

II.1. Hệ phương trình động học Robot : 24

II.1.1. Đặt vấn đề : 24

II.1.2. Xác định trạng thái của Robot tai điểm tác động cuối : 24

II.1.3. Mô hình động học : 25

II.1.3.1. Ma trận quan hệ : 25

II.1.3.2. Bộ thông số DH : 26

II.1.3.3. Thiết lập hệ toạ độ : 27

II.1.3.4. Mô hình biến đổi : 28

II.1.3.5. Phương trình động học : 29

II.2. Tổng hợp chuyển động Robot : 30

II.2.1. Nhiệm vụ : 30

II.2.2. Bài toán động học ngược : 30

II.2.3. Các phương pháp giải bài toán động học ngược : 31

II.3. Động lực học Robot: 31

II.3.1.Nhiệm vụ và phương pháp phân tích Động lực học Robot: 31

II.3.2.Vận tốc và gia tốc: 33

II.3.3. Động năng tay máy: 36

II.3.4 .Thế năng tay máy: 38

II.3.5.Mô hình động lực học tay máy: 38

II.3.6. Động lực học của cơ cấu tay máy 2 khâu: 40

CHƯƠNG III : THIẾT KẾ BỘ ĐIỀU KHIỂN TRƯỢT CHO TAY MÁY ROBOT 2 BẬC TỰ DO 45

III.1.Hệ phi tuyến : 45

III.1.1.Hệ phi tuyến là gì ? 45

III.1.2.Mô hình trạng thái và quỹ đạo trạng thái của Hệ phi tuyến: 47

III.1.2.1.Mô hình trạng thái: 47

III.1.2.2.Quỹ đạo trạng thái : 49

III.1.3. Điểm cân bằng và điểm dừng của hệ thống: 50

III.1.3.1. Điểm cân bằng: 50

III.1.3.2.Điểm dừng của hệ : 50

III.1.3.3 Tính ổn định tại một điểm cân bằng: 51

III.1.4 Tiêu chuẩn ổn đinh Lyapunov : 52

III.1.4.1.Tiêu chuẩn Lyapunov: 53

III.1.4.2.Tiêu chuẩn Lyapunov phục vụ thiết kế bộ điều khiển: 56

III.2.Bậc tương đối của hệ phi tuyến: 56

III.3.Tính động hoc không: 59

III.4.Thiết kế bộ Điều khiển trượt cho tay máy: 62

III.4.1.Điều khiển trượt: 62

III.4.1.1.Trường hợp bậc tương đối của hệ bằng bậc của hệ p=n: 63

III.4.1.2. Trường hợp bậc tương đối của hệ p<n 64

III.4.2. Thiết kế bộ điều khiển trượt cho tay máy n bậc tự do: 65

III.4.3. Ứng dụng Điều khiển trượt cho tay máy Robot 2 bậc tự do: 69

III.4.3.1. Phương trình động lực học tay máy hai bậc tự do toàn khớp quay: 69

III.4.3.2. Mô hình động lực học tay máy hai bậc tự do: 70

III.4.3.3. Thiết kế bộ điều khiển trượt cho tay máy 2 bậc tự do: 71

III.4.3.4. Tính toán giá trị đặt i cho tay máy hai bậc tự do: 73

CHƯƠNG IV: MÔ PHỎNG QUÁ TRÌNH CHUYỂN ĐỘNG CỦA ROBOT DÙNG BỘ ĐIỀU KHIỂN TRƯỢT TRÊN NỀN MATLAB AND SIMULINK: 75

IV.1. Tổng quan về Matlab-Simulink: 75

IV.2. Các thao tác thực hiện mô phỏng: 76

Kết luận 85

Tài liệu tham khảo : 85

 

 

doc88 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 3417 | Lượt tải: 1download
Tóm tắt nội dung Đề tài Thiết kế bộ điều khiển trượt cho tay máy Robot 2 bậc tự do và mô phỏng trên Matlab - Simulink, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
uyển đổi là không lý tưởng. Trong trường hợp sai số ước lượng là không đủ nhỏ thì việc chọn K là không đơn giản như biểu thức trên.
Trong trường hợp đó cho dưới dạng:
	(3.62)
đặt dẫn tới:
	(3.63)
Từ đây, điều kiện trượt là:
	(3.64)
Do vậy, nếu chọn K để: 
	 (3.65)
thì điều kiện trượt như ở trên được thỏa mãn và điều kiện trượt đạt được.
	 (3.66)
Từ biểu thức (3.41) và (3.42) ta có bất đẳng thức:
	 (3.67)
	 (3.68)
Từ đây, ta có thể chọn ma trận K thoả mãn điều kiện trượt như sau:
	(3.69)
III.4.3. Ứng dụng Điều khiển trượt cho tay máy Robot 2 bậc tự do:
III.4.3.1. Phương trình động lực học tay máy hai bậc tự do toàn khớp quay:
Bộ thông số tay máy: m1 = m2 = 1 kg
 l1 = l2 = 1 m
Phương trình động lực học:
 	 (3.70)
Trong đó F1, F2 là lực được tạo ra ở các khớp động, ma trận H là ma trận xác định dương và đối xứng, ma trận C là ma trận lực ly tâm, G là ma trận lực trọng trường.
 Giá trị của các ma trận khi thay giá trị được xác định như sau:
- Ma trận H:
	 (3.71)
- Ma trận C:
	 (3.72)
- Ma trận G:
	(3.73)
III.4.3.2. Mô hình động lực học tay máy hai bậc tự do:
Chúng ta đặt các biến trạng thái là tín hiệu góc quay và vận tốc của các khớp tay máy:
Khớp 1: 
 	 (3.74)
Khớp 2:
 	 (3.75)
Tín hiệu vào u:
	 (3.76)
Từ biểu thức (3.70) ta có:
	 (3.77)
trong đó H-1 là ma trận nghịch đảo của ma trận H.
Tính H-1 và kết hợp tất cả các phương trình trên và thay vào (3.77) để tính được:
Khớp 1
 (3.78)
Khớp 2:
(3.79)
III.4.3.3. Thiết kế bộ điều khiển trượt cho tay máy 2 bậc tự do:
Xác định bậc tương đối cho khớp 1 và khớp 2:
Từ phương trình trạng thái của các khớp (3.78), (3.79) và biểu thức (3.24) ta có được ngay là trong trường hợp này là p=n hay bậc tương đối của từng khớp p=2.
Xây dựng mặt trượt cho từng khớp:
	(3.80)
ở đây:
	 (3.81)
l1, l2 là những số thực dương. 
Điều kiện để xảy ra chế độ trượt cho hệ trên:
	(3.82)
Xây dựng bộ điều khiển:
Từ (3.78) và (3.79) nếu đặt:
	 (3.83)
và:
	(3.84)
Ta có:
	(3.85)
 Tương tự ta cũng có:
	(3.86)
 Theo (3.77) ta có:
	(3.87)
	 (3.88)
 Chú ý: 
 Từ (3.58) ta có được:
	(3.89)
Thay (3.88) vào (3.89) ta có được bộ điều khiển:
	(3.90)
III.4.3.4. Tính toán giá trị đặt qi cho tay máy hai bậc tự do:
Để tính toán giá trị đặt cho tay máy hai bậc tự do chúng ta cần giải bài toán động học ngược, từ đó tính toán giá trị đặt cho các khớp:
	(3.91)
theo cách biến đổi toạ độ ta có được:
	(3.92)
Tuy nhiên, trong bài toán này có x2, y2, z2=0 vì ta chỉ quan tâm tới chuyển động của tâm bàn kẹp do vậy từ (3.91) và (3.92) ta có:
	(3.93)
	 (3.94)
 Từ (3.93) ta có:
	 (3.95)
	 (3.96)
Đặt
	(3.97)
Chọn ta có:
	(3.98)
 Như vậy, nếu yêu cầu của bài toán là điều khiển tâm bàn kẹp đi theo một quỹ đạo đã được định trước và được xác định bởi:
thì giá trị đặt cho các khớp phải là:
 (3.99)
CHƯƠNG IV: MÔ PHỎNG QUÁ TRÌNH CHUYỂN ĐỘNG CỦA ROBOT DÙNG BỘ ĐIỀU KHIỂN TRƯỢT TRÊN NỀN MATLAB AND SIMULINK: 
IV.1. Tổng quan về Matlab-Simulink: 
Matlab là một bộ chương trình phần mềm lớn của lĩnh vực toán số. Tên của bộ chương trình chính là từ viết tắt của từ Matrix Laboratory, thể hiện định hướng chính của chương trình là các phép tính vectơr và ma trận. Phần cốt lõi của chương trình bao gồm một số hàm toán, các chức năng xuất nhập cũng như các khả năng điều khiển chu trình mà nhờ đó ta có thể dựng nên các Scripts. 
Thêm vào phần cốt lõi, có thể dùng các bộ công cụ Toolbox với phạm vi chức năng chuyên dụng mà người sử dụng cần. Simulink là một Toolbox có vai trò đặc biệt quan trọng: vai trò của một bộ công cụ mạnh phục vụ mô hình hoá và mô phỏng các hệ thống kĩ thuật - Vật lý, trên cơ sở sơ đồ cấu trúc dạng khối. 
Giao diện đồ họa trên màn hình của Simulink cho phép thể hiện hệ thống dưới dạng sơ đồ tín hiệu với các khối chức năng quen thuộc. Simulink cung cấp cho người dùng một thư viện rất phong phú, có sẵn với số lượng lớn các khối chức năng cho các hệ tuyến tính, phi tuyến và gián đoạn. Hơn thế người sử dụng có thể tạo nên các khối riêng cho mình. 
 Sau khi đã xây dựng mô hình của hệ thống cần nghiên cứu, bằng cách ghép các khối cần thiết, thành sơ đồ cấu trúc của hệ, ta có thể khởi động quá trình mô phỏng. Trong các quá trình mô phỏng ta có thể trích tín hiệu hiện tại vị trí bất kì của sơ đồ cấu trúc và hiển thị đặc tính của tín hiệu đó trên màn hình. Hơn thế nữa, nếu có nhu cầu ta còn có thể cất giữ các đặc tính đó vào môi trường nhớ. Việc nhập hoặc thay đổi tham số của tất cả các khối cũng có thể thực hiện được rất đơn giản bằng cách nhập trực tiếp hay thông qua matlab. Để khảo sát hệ thống, ta có thể sử dụng thêm các Toolbox như Signal Processing (xử lý tín hiệu), Optimization (tối ưu) hay Control System (hệ thống điều khiển). 
IV.2. Các thao tác thực hiện mô phỏng: 
Khớp 1:
Khớp 2:
Ta có mô hình Simulink của Robot 2 bậc tự do: 
Khối Subsytem:
 Ở đây ta sử dụng các khối: 
+ intergrator: khối tích phân với các tham số của khối mặc định cho trước 
+ khối mux: chập tín hiệu đơn thành tín hiệu tổng hợp của nhiều tín hiệu
+ khối input, ouput: đầu vào và đầu ra của tín hiệu.
+ khối hàm: biểu diễn 1 hàm toán học khi có tín hiệu đi vào là các biến, tín hiệu ra thu được là hàm cần biểu diễn:
 =(u[5]+1.5*u[4]*sin(u[3])*(2*u[2]+u[4])-15*(cos(u[1])-cos(u[3]))-(1+1.5*cos(u[3]))*(u[6]-1.5*u[2]*u[2]*sin(u[3])-15*cos(u[1]+u[3])))/(4-2.25*cos(u[3])*cos(u[3]))
Và:=(-(1+1.5*cos(u[3]))*(u[5]+1.5*u[4]*sin(u[3])*(2*u[2]+u[4])-15*(cos(u[1])-cos(u[3])))+(5+3*cos(u[3]))*(u[6]-1.5*u[2]*u[2]*sin(u[3])-15*cos(u[1]+u[3])))/(4-2.25*cos(u[3])*cos(u[3]))
+ Các khối scope (thuộc thư viện con sinks): Hiển thị các tín hiệu của quá trình mô phỏng theo thời gian. Nếu mở cửa sổ Scope sẵn từ trước khi bắt đầu mô phỏng ta có thể theo dõi trực tiếp diễn biến của tín hiệu.
Ta sử dụng nguồn tín hiệu u1, u2 là 1(t) 
Các hàm x’12, và x’22 là :
X’12 = (u[5]+1.5*u[4]*sin(u[3])*(2*u[2]+u[4])-15*(cos(u[1])-cos(u[3]))-(1+1.5*cos(u[3]))*(u[6]-1.5*u[2]*u[2]*sin(u[3])-15*cos(u[1]+u[3])))/(4-2.25*cos(u[3])*cos(u[3])).
X’22 = (-(1+1.5*cos(u[3]))*(u[5]+1.5*u[4]*sin(u[3])*(2*u[2]+u[4])-15*(cos(u[1])-cos(u[3])))+(5+3*cos(u[3]))*(u[6]-1.5*u[2]*u[2]*sin(u[3])-15*cos(u[1]+u[3])))/(4-2.25*cos(u[3])*cos(u[3]))
với u[1], u[2], u[3], u[4], u[5], u[6] tương ứng là các vị trí thứ tự trên khối Mux. u[1] = x11, u[2] = x12, u[3] = x21, u[4] = x22, u[5] = u1, u[6] = u2.
Sau khi mô phỏng ta có đồ thị các đường đặc tính của các biến trạng thái x11, x12, x21,x22 là : 
Mô phỏng dạng hàm điều khiển:
Từ các công thức:
- Ma trận H:
- Ma trận C:
- Ma trận G:
Ta có: 
U1=h11+h12+c11x12+c12x22+15cos(x11)
-15sos(x11+x21)
U2=h21+h22+c21x12+c22x22
+15cos(x11+x21)
Chuyển về dạng hàm của sơ đồ Simulink: 
U1=u[5]*(5+cos(u[3]))+(1+1.5*cos(u[3]))*u[6]-3*u[2]*u[3]*sin(u[3])
-1.5*u[3]*u[4]*sin(u[3])+15*cos(u[1])-15*cos(u[1]+u[3])
U2=(1+1.5*cos(u[3]))*u[5]+u[6]-3*u[1]*u[2]*sin(u[3])+15*cos(u[1]+u[3])
với u[1]=x11, u[2]=x12, u[3]=x21, u[4]=x22.
U[5]= 
U[6]= 
Theo công thức kinh nghiệm ta chọn: K1=K2=500, ==0,156.
Trường hợp này ta dùng hàm H(S1),H(S2) là các hàm giới hạn đầu vào trong khoảng giá trị upper và giá trị lower.
từ đó ta có:
u[5]= H(S1)+ + ( Khối subsytem) 
u[6]=H(S2)+ + ( Khối subsytem2) 
Ta chọn khoảng thời gian mô phỏng là từ 0 ->30 s , tức giá trị stop time = 30 ở trong Congiguration Parameters.
Khi chay sơ đồ Simulink ta được các kết quả đường đặc tuyến của 2 hàm điều khiển U1, U2, và sai số , là: 
Ta có các giá trị đặt xd1 và xd2 là: 
Từ các công thức: 
=>xd1= acos(sqrt((cos(u[1]+u[3])+cos(u[1]))^2+(sin(u[1]+u[3])+sin(u[1]))^2)/2)+ acos((cos(u[1]+u[3])+cos(u[1]))/sqrt((cos(u[1]+u[3])+cos(u[1]))^2+(sin(u[1])+sin(u[1]+u[3]))^2))
xd2 = acos(((cos(u[1]+u[3])+cos(u[1]))^2+(sin(u[1]+u[3])+sin(u[1]))^2-2)/2)
Kết luận 
Các vấn đề đã được giải quyết :
Các vấn đề còn tồn tại :
Tài liệu tham khảo :
Nguyễn Thiện Phúc: Robot công nghiệp. NXB KHKT 2004. 
Nguyễn Thiện Phúc: Người máy công nghiệp và sản xuất tự động linh hoạt. NXB KHKT 1991.
Nguyễn Phùng Quang: Điều khiển Robot công nghiệp - Những vấn đề cần biết. Tạp chí Tự động hoá ngày nay - số tháng 4, 5, 6 / 2006. 
Nguyễn Thiện Phúc: Robot - Thế giới công nghệ cao của bạn. NXB KHKT 2005.
Đào Văn Hiệp: Kỹ thuật Robot. NXB KHKT 2002.
Đinh Gia Tường, Tạ Khánh Lâm: Nguyên lý máy. NXB GD 2003.
Nguyễn Hồng Thái: Xây dựng thuật toán điều khiển và mô phỏng động Robot nhiều bậc tự do. Thư viện ĐHBK HN 2002.
Lê Huy Tùng: Điều khiển trượt thích nghi động cho đối tượng phi tuyến có mô hình không tường minh. Thư viện ĐHBK HN 2003. 
Nguyễn Doãn Phước, Phan Xuân Minh, Hán Thành Trung: Lý thuyết điều khiển phi tuyến. NXB KHKT 2003. 
 Nguyễn Doãn Phước, Phan Xuân Minh: Hệ phi tuyến. NXB KHKT 2000. 
 Nguyễn Thương Ngô: Lý thuyết điều khiển tự động hiện đại. NXB KHKT 2003. 
 Nguyễn Thương Ngô: Lý thuyết điều khiển thông thường và hiện đại. NXB KHKT 2002. 
 Nguyễn Doãn Phước: Lý thuyết điều khiển tuyến tính. NXB KHKT 2002. 
Nguyễn Phùng Quang: Matlab & Simulink dành cho kỹ sư điều khiển tự động. NXB KHKT 2004.
Nguyễn Hoàng Hải: Lập trình Matlab. NXB KHKT 2003.
 Solomon: Stability of nonlinear control systems. 1965.
 Applied Asymptotic Methods in Nonlinear Oscillitions. Thư viện ĐHBK HN 1994.
Harry: Nonlinear Modulation Theory. 1971. 
Jakub Mozaryn, Jerzt E.Kurek: Design of the Sliding Mode Control for the Puma 560 Robot. Institute of Automatic Control and Robotics Warsaw university of Technology.
Martin Ansbjerg Kjaer: Sliding Mode Control. Sweden February 6th 2004. 
C.Abdallah, D.Dawson, P.Dorato, and M.Jamshidi: Survey of Robust Control for Rigid Robots .
Mark W.Spong: Motion control of Robot Manipulators. The coordinated Science Laboratory, University of Illinois at Urbana-Champaign, 1308 W. Main St, Urbana, III. 61801 USA.
. Andre` Jaritz and Mark W. Spong: An Experimental Comparison of Robust control Algorithms on a Direct Drive Manipulator .IEEE Transaction on Control Systems Technology, Vol. 4, No. 6, November 1996.
 Austin Blaquie`re: Nonlinear system analysis. Academic Press New York and London 1966.

File đính kèm:

  • docĐề tài Thiết kế bộ điều khiển trượt cho tay máy Robot 2 bậc tự do và mô phỏng trên Matlab - Simulink.doc
Tài liệu liên quan