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
Tóm tắt 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: ...tại tâm trục khớp động cuối khâu 2. Bảng thông số DH của tay máy này như sau : Khâu θi αi ai di 1 * 1θ 0 a1 0 2 *2θ 0 a2 0 II.1.3.4. Mô hình biến đổi : Trên cơ sở đã xây dựng các hệ toạ độ với 2 khâu động liên tiếp như trên đã trình bày. Có thể thiết lập mối quan hệ giữa 2 hệ toạ độ..., ) 1/ 2m S l ⎡ ⎤θ − θ θ⎢ ⎥θ θ = ⎢ ⎥⎢ ⎥θ⎣ ⎦ & & && & . Trên cơ sở (2.52), ta có : 1 21 21 1 11 2 21c m gU r m gU r ⎛ ⎞= − + =⎜ ⎟⎝ ⎠ Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 38 = ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡− ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ +− +−−− −− ⎥⎥ ⎥...ay rằng với f(x)= Ax , H(x)= b , g(x)=cTx , hai công thức (3.14) và (3.16) sẽ đồng nhất, vì : Lhf g(x)= cTATx⇒Lh Lkf g(x)=cTAkb Ví dụ : Xét hệ Val der Pol có mô hình trạng thái như sau : khi đó thì do : Lhg(x)= g h(x) x ∂ =∂ [ 01 ] ⎥⎦ ⎤⎢⎣ ⎡ 1 0 = 0 LhLfg(x) = f (L g) gh(x) f h(x...
) với H(q) là ma trận quán tính xác định dương, đối xứng. Chúng ta giả sử rằng các giá trị ước lượng )(ˆ qH và ),(ˆ qqh & quan hệ với giá trị thực )(qH và ),( qqh & bởi bất đẳng thức sau: )()()(ˆ 1 qqHqH β≤− (3.41) và ),(),(ˆ),( max qqhqqhqqh &&& Δ≤− (3.42) với )(qβ và ),(max qqh &Δ là những hàm đã biết. Viết lại biểu thức động lực học dưới dạng: τ)(),( qBqqfq += &&& (3.43) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 61 Với ),()(),( 1 qqhqHqqf && −−= (3.44) )()( 1 qHqB −= (3.45) Nhiệm vụ của điều khiển là tìm mô men thích hợp τ sao cho vector vị trí q của tay máy bám theo quỹ đạo mong muốn qd. Chúng ta định nghĩa sai lệch trạng thái e và mặt trượt như sau: qqe d −= (3.46) 0; >=+= TCCeCeS & (3.47) Rõ ràng rằng S=0 thì )()( tqtq q→ . Quả thực với S=0 ta có thể viết lại như sau: CeeeCeS −=⇒=+⇒= && 00 Như vậy hệ thống ổn định tiệm cận nếu có e = 0 và theo đó điều kiện bám )()( tqtq q→ sẽ được đảm bảo. Do vậy vấn đề điều khiển là phải tìm mô men τ thích hợp sao cho vector trạng thái của hệ thống có thể bám được trên mặt trượt. Hay phải tìm τ thỏa mãn điều kiện trượt. Điều kiện trượt có thể xác định theo tiêu chuẩn Lyapunov. Chúng ta định nghĩa hàm Lyapunov như sau: 0 2 1 >= SSV T (3.48) Đạo hàm của (3.48) có dạng: SSV T && = (3.49) Như vậy, nếu 0<V& thì với 0→V dẫn tới 0→S và 0→e Do vậy, điều kiện đủ của điều kiện trượt là: 0<SS T & (3.50) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 62 Khi đó điều kiện trượt đảm bảo cho hệ kín ổn định toàn cục, tiệm cận và điều kiện bám được thực hiện mặc dù mô hình không chính xác, nhiễu, Nếu điều kiện trượt có thể thỏa mãn theo đó: ∑ = =>≤−≤ n i i T SSSSS 1 2;0;0 αα& (3.51) Tiếp đó, mặt phẳng trượt S=0 sẽ đạt được với thời gian giới hạn nhỏ hơn T0 ở đó: ))0(( 2 1 0 qST α= (3.52) Biểu thức trên được chứng minh như sau: Từ (29) ta có: α−≤ S SS T & (3.53) Thay SSV T && = và 21)2( VS = vào (3.53) sau đó tích phân hai vế với t=0→treach , S(q(treach))=0 ta có: [ ] 0 0 0 2 ))0(( 2 ))0(( 2 1 )2( 2 1 2 1 T qS tt qS Vdt V V reachreach t treach reach =≤→−≤==∫ αα & (3.54) Bây giờ chúng ta tìm đầu vào bộ điều khiển τ thỏa mãn điều kiện trượt. Lấy đạo hàm biểu thức (3.47) ta có: dqqeCS &&&&&& −+= (3.55) Thay biểu thức (3.39) vào ta có: dqqBqqfeCS &&&&& −++= τ)(),( (3.56) Do đó tín hiệu điều khiển có dạng [ ])(ˆ 1 sKSgnB eq −= − ττ (3.57) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 63 với: [ ]Tn eq sSgnsSgnsSgnsSgn qqfeCq )(),...,(),()( ),(ˆ 21= −−= &&&&τ (3.58) K>0, K là ma trận khuyếch đại nxn. Ma trận khuyếch đại K phải chọn đủ lớn để điều kiện trượt được thỏa mãn mặc dù có tham số không rõ, nhiễu, Trong trường hợp ước lượng chính xác ffBB == ˆ,ˆ thì điều kiện trượt được viết lại như sau: SsKSgnSSS TT α−≤−= )(& (3.59) Nếu chọn αββ >≥ ;IK (3.60) và SSSSSSS m i i m i i T αββββ −≤−=−≤−=−= ∑∑ == 1 2 1 & (3.61) thì chế độ trượt xảy ra. Ta nhận thấy rằng, đầu vào điều khiển được gián đoạn qua s(t) như cho ở biểu thức (3.57). Hiện tượng chattering xảy ra. Bởi vì trong thực tế, sự chuyể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 đó S& cho dưới dạng: )(ˆ)(ˆ)(),( 11 sKSgnBqBBqBqqfeCqS eqd −− −+++−= τ&&&&& (3.62) đặt 1ˆ)();ˆ(ˆ −=−+= BqBRffff dẫn tới: )()ˆ()( sRKSgnffIRS eq −−+−= τ& (3.63) Từ đây, điều kiện trượt là: { } )()()()( sSgnSsRKSgnffIRSSS TeqTT ατ −≤−−+−= && (3.64) Do vậy, nếu chọn K để: { } )()ˆ()()( sSgnSffIRSsRKSgnS TeqTT ατ +−+−≥ (3.65) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 64 thì điều kiện trượt như ở trên 0<SS & được thỏa mãn và điều kiện trượt đạt được. )(ˆ 11 qBBR β≤= −− (3.66) Từ biểu thức (3.41) và (3.42) ta có bất đẳng thức: )(ˆ 11 qBBR β≤= −− (3.67) max1 ˆ)ˆ(ˆ)ˆ( hBhhBffR Δ≤−=−− (3.68) Từ đây, ta có thể chọn ma trận K thoả mãn điều kiện trượt như sau: IhBIK eq βατβ +Δ+−≥ maxˆ)1( (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: ⎥⎦ ⎤⎢⎣ ⎡+⎥⎦ ⎤⎢⎣ ⎡ ⎥⎦ ⎤⎢⎣ ⎡+⎥⎦ ⎤⎢⎣ ⎡ ⎥⎦ ⎤⎢⎣ ⎡=⎥⎦ ⎤⎢⎣ ⎡ 2 1 2 1 2221 1211 2 1 2221 1211 2 1 g g cc cc hh hh F F θ θ θ θ & & && && (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: 1 cos2/31 cos35 22 22112 211 = +== += h hh h θ θ (3.71) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 65 - Ma trận C: 0 sin3 sin2/3 sin3 22 2121 2212 2211 = −= −= −= c c c c θθ θθ θθ & & & (3.72) - Ma trận G: )cos(15 )cos(15cos15 212 2111 θθ θθθ += +−= g 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: ⎪⎩ ⎪⎨ ⎧ = == = 112 11112 111 θ θ θ &&& && x xx x (3.74) Khớp 2: ⎪⎩ ⎪⎨ ⎧ = == = 222 22122 221 θ θ θ &&& && x xx x (3.75) Tín hiệu vào u: ⎩⎨ ⎧ = = 22 11 Fu Fu (3.76) Từ biểu thức (3.70) ta có: ⎥⎦ ⎤⎢⎣ ⎡−⎥⎦ ⎤⎢⎣ ⎡ ⎥⎦ ⎤⎢⎣ ⎡−⎥⎦ ⎤⎢⎣ ⎡=⎥⎥⎦ ⎤ ⎢⎢⎣ ⎡ −−− 2 11 2 1 2221 12111 2 11 1 1 g g H cc cc H F F H θ θ θ θ & & && && (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: Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 66 Khớp 1 11 12 12 1 22 12 22 21 11 212 21 2 21 2 12 21 11 21 1 3 ( (2 )sin 15(cos cos )) 4 9 4 cos 2 3 3 (1 cos )( sin 15 cos( )) 2 2 x x x u x x x x x x x x u x x x x ⎧⎪ =⎪⎪ = + + − − −⎨ −⎪⎪− + − − +⎪⎩ & & (3.78) Khớp 2: 21 22 22 21 1 22 12 22 21 11 212 21 2 21 2 12 21 11 21 1 3 3 ( (1 cos )( (2 )sin 15(cos cos ))) 4 9 4cos 2 2 3 (5 3cos )( sin 15cos( ))) 2 x x x x u x x x x x x x x u x x x x ⎧⎪ =⎪⎪ = − + + + − − +⎨ −⎪⎪+ + − − +⎪⎩ & & (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: 2222 1111 eeS eeS & & λ λ += += (3.80) ở đây: 222 111 rd rd xxe xxe −= −= (3.81) λ1, λ2 là những số thực dương. Điều kiện để xảy ra chế độ trượt cho hệ trên: 0<= SSV && (3.82) Xây dựng bộ điều khiển: Từ (3.78) và (3.79) nếu đặt: Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 67 ⎩⎨ ⎧ += = ),()( 1112 1211 uxgxfx xx & & (3.83) và: ⎩⎨ ⎧ += = ),()( 2222 2221 uxgxfx xx & & (3.84) Ta có: )(),())(( )),()(( 111111111 1111111111111111 ShKuxgxfxe uxgxfxexxeeeS d dd −=−−+= +−+=−+=+= λλλ λλλλλ &&& &&&&&&&&&&&& (3.85) 1 1111111 1 ))(()( ),( λ λλ xfxeShKuxg d −++=⇒ &&& Tương tự ta cũng có: 2 2222222 2 ))(()( ),( λ λλ xfxeShKuxg d −++=⇒ &&& (3.86) Theo (3.77) ta có: uH uxg uxg 1 2 1 ),( ),( −=⎥⎦ ⎤⎢⎣ ⎡ (3.87) ⎥⎦ ⎤⎢⎣ ⎡−⎥⎦ ⎤⎢⎣ ⎡⎥⎦ ⎤⎢⎣ ⎡−=⎥⎦ ⎤⎢⎣ ⎡ −− 2 11 22 12 2221 12111 2 1 )( )( g g H x x cc cc H xf xf (3.88) Chú ý: ),(11 uxgg ≠ Từ (3.58) ta có được: ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ −++ −++ =⎥⎦ ⎤⎢⎣ ⎡ )( )( )( )( 2 2 22222 1 1 11111 2 1 xf xeShK xf xeShK H u u d d λ λ λ λ &&& &&& (3.89) Thay (3.88) vào (3.89) ta có được bộ điều khiển: Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 68 ⎥⎦ ⎤⎢⎣ ⎡+⎥⎦ ⎤⎢⎣ ⎡⎥⎦ ⎤⎢⎣ ⎡+ ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ ++ ++ =⎥⎦ ⎤⎢⎣ ⎡ 2 1 22 12 2221 1211 2 22222 1 11111 2 1 )( )( g g x x cc cc xeShK xeShK H u u d d λ λ λ λ &&& &&& (3.90) III.4.3.4. Tính toán giá trị đặt θi 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: ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ + +− == 1000 0100 )(0 )(0 1121212 1121212 2 1 1 0 2 0 SSlCS CClSC AAA (3.91) theo cách biến đổi toạ độ ta có được: ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ = ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ 11 2 2 2 2 0 0 0 0 z y x A z y x (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ó: ⎩⎨ ⎧ += += )( )( 1120 1120 SSly CClx (3.93) ⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ −+=⇒ =−+⇒ +=+⇒ 2 22 0 2 0 2 22 22 0 2 0 22 2 0 2 0 2 2 arccos )cos( 2 2 )cos(22 l lyx l lyx l yx θ θ θ (3.94) Từ (3.93) ta có: ⎪⎩ ⎪⎨⎧ =− =−⇒ ⎩⎨ ⎧ =− =− 2 12 2 10 2 12 2 10 1210 1210 )()( )()( lSlSy lClCx lSlSy lClCx (3.95) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 69 12 0 2 0 0 12 0 2 0 0 2 0 2 0 1010 2 0 2 0 2 0)(2 S yx y C yx x l yx SyCxlyx + + + =+⇒ =+−+⇒ (3.96) Đặt ⎪⎪⎩ ⎪⎪⎨ ⎧ + = + = 2 0 2 0 0 2 0 2 0 0 )sin( )cos( yx y yx x α α (3.97) Chọn αθ >1 ta có: αθ +⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ += l yx 2 arccos( 2 0 2 0 1 (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: ⎪⎩ ⎪⎨ ⎧ == = = 0)( )( )( tzz tyy txx thì giá trị đặt cho các khớp phải là: ⎪⎪ ⎪ ⎩ ⎪⎪ ⎪ ⎨ ⎧ ⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ −+= +⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ += 2 22 0 2 0 2 2 0 2 0 1 2 2 arccos 2 arccos l lyx l yx θ αθ (3.99) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 70 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). Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 71 IV.2. Các thao tác thực hiện mô phỏng: Khớp 1: 11 12 12 1 22 12 22 21 11 212 21 2 21 2 12 21 11 21 1 3 ( (2 )sin 15(cos cos )) 4 9 4cos 2 3 3 (1 cos )( sin 15cos( )) 2 2 x x x u x x x x x x x x u x x x x ⎧⎪ =⎪⎪ = + + − − −⎨ −⎪⎪− + − − +⎪⎩ & & Khớp 2: 21 22 22 21 1 22 12 22 21 11 212 21 2 21 2 12 21 11 21 1 3 3 ( (1 cos )( (2 )sin 15(cos cos ))) 4 9 4cos 2 2 3 (5 3cos )( sin 15cos( ))) 2 x x x x u x x x x x x x x u x x x x ⎧⎪ =⎪⎪ = − + + + − − +⎨ −⎪⎪+ + − − +⎪⎩ & & Ta có mô hình Simulink của Robot 2 bậc tự do: Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 72 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: . 12x =(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à: . 22x =(-(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])) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 73 + 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à : Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 74 Mô phỏng dạng hàm điều khiển: Từ các công thức: ⎥⎦ ⎤⎢⎣ ⎡+⎥⎦ ⎤⎢⎣ ⎡⎥⎦ ⎤⎢⎣ ⎡+ ⎥⎥ ⎥⎥ ⎦ ⎤ ⎢⎢ ⎢⎢ ⎣ ⎡ ++ ++ =⎥⎦ ⎤⎢⎣ ⎡ 2 1 22 12 2221 1211 2 22222 1 11111 2 1 )( )( g g x x cc cc xeShK xeShK H u u d d λ λ λ λ &&& &&& - Ma trận H: 1 cos2/31 cos35 22 22112 211 = +== += h hh h θ θ - Ma trận C: 0 sin3 sin2/3 sin3 22 2121 2212 2211 = −= −= −= c c c c θθ θθ θθ & & & Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 75 - Ma trận G: )cos(15 )cos(15cos15 212 2111 θθ θθθ += +−= g g Ta có: U1=h11 1 1 1 1 1 1 ( ) dK h S e xλ λ + +& && +h12 2 2 2 2 2 2 ( ) dK h S e xλ λ + +& && +c11x12+c12x22+15cos(x11) -15sos(x11+x21) U2=h21 1 1 1 1 1 1 ( ) dK h S e xλ λ + +& && +h22 2 2 2 2 2 2 ( ) dK h S e xλ λ + +& && +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]= 1 1 1 1 1 1 ( ) dK h S e xλ λ + +& && U[6]= 2 2 2 2 2 2 ( ) dK h S e xλ λ + +& && Theo công thức kinh nghiệm ta chọn: K1=K2=500, 1λ = 2λ =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]= 1 1 K λ H(S1)+ . 1 1 1 eλ + 1dx&& ( Khối subsytem) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 76 u[6]= 2 2 K λ H(S2)+ . 2 2 1 eλ + 2dx&& ( Khối subsytem2) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 77 Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 78 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ố 1e& , 2e& là: Ta có các giá trị đặt xd1 và xd2 là: Từ các công thức: ⎩⎨ ⎧ += += )( )( 1120 1120 SSly CClx ⎪⎪⎩ ⎪⎪⎨ ⎧ + = + = 2 0 2 0 0 2 0 2 0 0 )sin( )cos( yx y yx x α α Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 79 ⎪⎪ ⎪ ⎩ ⎪⎪ ⎪ ⎨ ⎧ ⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ −+= +⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ += 2 22 0 2 0 2 2 0 2 0 1 2 2 arccos 2 arccos l lyx l yx θ αθ =>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) Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 80 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 : Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 81 1. Nguyễn Thiện Phúc: Robot công nghiệp. NXB KHKT 2004. 2. 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. 3. 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. 4. Nguyễn Thiện Phúc: Robot - Thế giới công nghệ cao của bạn. NXB KHKT 2005. 5. Đào Văn Hiệp: Kỹ thuật Robot. NXB KHKT 2002. 6. Đinh Gia Tường, Tạ Khánh Lâm: Nguyên lý máy. NXB GD 2003. 7. 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. 8. 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. 9. 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. 10. Nguyễn Doãn Phước, Phan Xuân Minh: Hệ phi tuyến. NXB KHKT 2000. 11. Nguyễn Thương Ngô: Lý thuyết điều khiển tự động hiện đại. NXB KHKT 2003. 12. Nguyễn Thương Ngô: Lý thuyết điều khiển thông thường và hiện đại. NXB KHKT 2002. 13. Nguyễn Doãn Phước: Lý thuyết điều khiển tuyến tính. NXB KHKT 2002. Đồ án tốt nghiệp Thiết kế bộ Điều khiển trượt cho Robot 2 bậc tự do 82 14. Nguyễn Phùng Quang: Matlab & Simulink dành cho kỹ sư điều khiển tự động. NXB KHKT 2004. 15. Nguyễn Hoàng Hải: Lập trình Matlab. NXB KHKT 2003. 16. Solomon: Stability of nonlinear control systems. 1965. 17. Applied Asymptotic Methods in Nonlinear Oscillitions. Thư viện ĐHBK HN 1994. 18. Harry: Nonlinear Modulation Theory. 1971. 19. 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. 20. Martin Ansbjerg Kjaer: Sliding Mode Control. Sweden February 6th 2004. 21. C.Abdallah, D.Dawson, P.Dorato, and M.Jamshidi: Survey of Robust Control for Rigid Robots . 22. 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. 23. . 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. 24. Austin Blaquie`re: Nonlinear system analysis. Academic Press New York and London 1966.
File đính kèm:
- thiet_ke_bo_dieu_khien_truot_cho_tay_may_robot_2_bac_tu_do_v.pdf