Tải bản đầy đủ (.pdf) (22 trang)

Đề tài thiết kế bộ điều khiển cho hệ cánh tay robot 1 bậc tự do

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.98 MB, 22 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜNG ĐẠ<b>I H</b>ỌC SƯ PHẠ<b>M KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO </b>

––––🙠🙟🕮🙝🙢🙠🙟🕮🙝🙢<b>–––– </b>

<b>ĐỀ TÀI: THIẾT KẾ B </b>Ộ ĐIỀ<b>U KHIỂN </b>

<b>CHO H CÁNH TAY ROBOT 1 B C T</b>ỆẬ<b>Ự DO </b>

<b>GVHD: TS. TRẦN ĐỨC THI N </b>Ệ

<b>SVTH: Dương Minh Trí 18151135 Trần Trọng Lượng18151092 </b>Đặng Văn Hùng<b> 18151079 </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Mục lụ c</b>

1 Thiết kế bộ điều khiển m cho hờ ệ cánh tay robot một bậc tự do: ... 1

1.1 Tính tốn lí thuyết: ... 1

1.1.1 Phương trình vi phân: ... 1

1.1.2 Thiết kế bộ điều khiển:... 2

1.2 Mô phỏng trên matlab simulink: ... 4

1.2.1 Sơ đồ kết nối: ... 4

1.2.2 Kết quả mô phỏng: ... 6

1.2.3 Nhận xét: ... 6

2 Thiết kế bộ điều khiển thần kinh: ... 7

2.1 Cấu trúc hệ thu nhập (sơ đồ khối): ... 7

2.2 Thiết kế bộ điều khiển: ... 9

3 Áp d ng gi i thu t di truyụ ả ậ ền để tìm thơng s b ố ộ điều khi n: ... 14ể 3.1 Cơ sở lý thuyết: ... 14

3.1.1 Các khái niệm và những thông số trong giải thuật di truyền: ... 14

3.1.2 Cấu trúc của giải thuật di truyền: ... 14

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>1 Thiết kế bộ điều khiển m cho h cánh tay robot m t b c t : </b>ờ ệ ộ <b>ậ ự do</b>

<b>1.1 Tính tốn lí thuyết: 1.1.1 Phương trình vi phân: </b>

<b>Figure 1: Mơ hình cánh tay robot 1 b c t ậ ự do</b>

Đặc tính động học của hệ cánh tay robot m t b c t do cho bộ ậ ự ởi phương trình:

(J ml+

<small>2</small>

)<sup>&</sup>( )t+B t<sup>&</sup>( )+(ml Ml g+

<sub>c</sub>

)sin( )t=u t( )(1.1)

Trong đó:

( )

u t

: momen tác động lên trục quay của cánh tay robot

( )t

: góc quay (v trí) c a cánh tay robot. ị ủ

J

: momen quán tính c a cánh tay máy ủ

(J=0.05 . )kg m

<sup>2</sup>

M

: khối lượng c a cánh tay robot ủ

(M=1kg)

m

: khối lượng của vật nặng

(m=0.1kg)

l

: chi u dài cánh tay robot ề

(l=0.4m)

l

: kho ng cách t tả ừ ọng tâm cánh tay đến tr c quay ụ

(l

<sub>c</sub>

=0.15m)

B

: h s ma sát nhệ ố ớt

(B=0.2 .kg m

<small>2</small>

/s)

g

: gia t c trố ọng trường

(g=9.81 /m s

<small>2</small>

)

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>1.1.2 Thiết kế bộ điều khiển: </b>

Cấu trúc b ộ điều khi n PI m dùng h quy t c Mamdani: ể ờ ệ ắ

<b>Figure 2: C u trúc h </b>ấ <b>ệ thống </b>

Bộ điều khi n m có hai tín hi u vào là sai s (E) và vi phân sai s (DE), m tín hi u ra là vi phân ể ờ ệ ố ố ột ệ điện áp điều khiển (DU).

Do h cánh tay robot có tính phi tuy n cao nên ta ch n s t p m cho m i bi n vào là 5. S t p m ệ ế ọ ố ậ ờ ỗ ế ố ậ ờ cho bi n ra là 7. ế

<b>Figure 3 Hàm liên thu c ngõ vào 1 : </b> ộ

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>Figure 4: Hàm liên thu c ngõ vào 2 </b>ộ

<b>Figure 5: Hàm liên thu c ngõ ra </b>ộ

Do cánh tay robot có th di chuy n trong tể ể ầm

0

nên

−E

, do đó hệ số chuẩn hóa

Hệ s ố

K

<sub>u</sub>được ch n trong quá trình tinh chỉnh chọ ất lượng của h th ng nên ch n ệ ố ọ

K =

<sub>u</sub>

8

. Hệ quy tắc điều khiển được suy ra t kinh nghiừ ệm.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Figure 6</b>: Sơ đồ ế<b> k t n</b>ối điề<b>u khi n cánh tay robot </b>ể

<b>Figure 7: Thông s set point </b>ố

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Figure 8</b>: Sơ đồ ế<b> k t n i kh i Arm robot </b>ố ố

Chương trình khối Robot Arm

function theta_dd = robot_arm(u,theta,theta_d)

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>2 Thiết kế bộ điều khiển thần kinh: 2.1 Cấu trúc hệ thu nhập (sơ đồ khối): </b>

<b>Figure 11: C u trúc h thu th p d u </b>ấ ệ ậ <b>ữ liệ</b>

• Dự liệu cần thu thập để huấn luyện mạng neural được lấy tại các điểm đặt khối “to workspace”.

Trong khối ‘to workspace’.

<b>Figure 12: Thông s ố khối workspace </b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

8

<b>Figure 13</b>: Các điểm đượ<b>c thu th p d u </b>ậ <b>ữ liệ</b>

<b>Figure 14</b>: Đáp ứ<b>ng ngõ ra sau khi thu th p d u </b>ậ <b>ữ liệ</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Figure 15: Tín hiệu điều khiển sau khi thu th p </b>ậ

<b>2.2 Thiết kế bộ điều khiển: </b>

Chương trình mạng neural:

<b>Figure 16: </b>Chương trình tạ<b>o mạng</b>

Kết qu ả chạy chương trình:

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

10

<b>Figure 17: Các biến ở workspace </b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>Figure 18: B ng hu n luy n m ng neural </b>ả ấ ệ ạ

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

12

<b>Figure 19: K t qu </b>ế <b>ả huấn luyện ở simulink </b>

Bộ điều khi n b ng m ng neural: ể ằ ạ

<b>Figure 20</b>: Sơ đồ ế<b> k t n i v i b </b>ố ớ ộ điề<b>u khi n m ng neural </b>ể ạ

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>Figure 21</b>: Đáp ứ<b>ng ngõ ra </b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

14

<b>3 Áp d ng gi i thu t di truy</b>ụ ả ậ ền để<b> tìm thơng s b ố ộ điều khi n: </b>ể

<b>3.1 Cơ sở lý thuyết: </b>

<b>3.1.1 Các khái niệm và những thông số trong giải thuật di truyền: 3.1.1.1 Khái niệm trong thuật toán giải thuật di truyền: </b>

Trong m t quộ ần th có s ể ố lượng cá th nhể ất định thì các cá th ể đó được lai ghép với nhau để sản sinh ra các th h ế ệ con, trong đó các thế hệ con nào mang đặc tính tốt hơn các thế hệ cha m thì s ẹ ẽ được ưu tiên trong việc lưu trữ và được ti p t c lai ghép vế ụ ới nhau để ả s n sinh ra các th h con ti p theo, còn ế ệ ế các th h con khơng có nhế ệ ững đặc tính tốt hơn từ thế h ệ cha me thì cũng được lưu trữ lại nhưng mức độưu tiên thấp hơn và việc lai ghép là hoàn toàn ngẫu nhiên. Vi c s d ng gi i thu t di truy n trong ệ ử ụ ả ậ ề các bài tốn nh m mằ ục đích tìm ra thế ệ h con (nghi m cệ ủa bài tốn) có đặc tính t t nh t giúp thõa ố ấ mãn các u cầu đặc ra của bài tốn đó.

<b>3.1.1.2 Những thông số trong giải thuật di truyền: </b>

❖ Size of population : số lượng cá thể dùng để lai ghép trong quần thể

• Nếu số lượng cá thể trong quần thể nhỏ thì các thế hệ con sinh ra ít, tỉ lệ cá thể mang đặc tính xấu sẽ ảnh hưởng trực tiếp đến quần thể. Đồng nghĩa với việc nghiệm của bài tốn đặc ra có thể vẫn chưa tối ưu, nhưng bù lại tốc độ giải nghiệm cho bài toán sẽ nhanh.

• Nếu số lượng cá thể trong quần thể quá lớn thì vùng tìm kiếm các cá thể mang đặc tính tốt sẽ rộng hơn tuy nhiên việc các thế hệ con mang đặc tính tốt phải mất rất nhiều thời gian trong việc lai ghép với nhau để tác động lên quần thể. Nghĩa là thời gian tìm được nghiệm tối ưu cho bài toán đặc ra sẽ lâu hơn.

❖ Crossover : Tỉ lệ lai ghép, nếu tỉ lệ lai ghép càng lớn thì thế hệ con sau khi lai ghép có xu hướng giống với thế hệ của bố và mẹ.

❖ Mutation : Tỉ lệ đột biến

• Ưu điểm: nếu tỉ lệ đột biến lớn thì cơ hội tìm được các đột biến càng cao và nếu tìm được đột biến tốt thì nghiệm của bài toán áp dụng giải thuật di truyền sẽ bám sát được kết quả tối ưu.

• Nhược điểm: Khơng phải đột biến nào cũng có lợi, bên cạnh việc xuất hiện các đột biến có lợi thì cũng có thể xuất hiện đột biến khơng có lợi cho quần thể và đa phần việc xuất hiện các đột biến đều khơng có lợi.

(Thơng thường tỉ lệ lai ghép + tỉ lệ đột biến = 1, và tỉ lệ đột biến t l lai ghép) ỉ ệ

<b>3.1.2 Cấu trúc của giải thuật di truyền: </b>

Cấu trúc chương trình mơ phỏng:

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>Figure 23: Cấu trúc chương trình</b>

Các thông s kh i t o cho gi i thu t di truy n ố ở ạ ả ậ ề

• Số lượng thế hệ tối đa (max_generation): Sau khi lai tạo và phân tích, khi thế hệ thứ ‘n’ vượt qua số lượng thế hệ tối đa thì chương trình sẽ dừng lại và đưa ra kết quả

• Số cá thể giống nhau (max_stall_generation) : khi số lượng cá thể giống nhau bằng giá trị

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

16

• Ngưỡng (epsilon) : khi thế hệ có giá trị J nhỏ hơn giá trị ngưỡng thì đã tìm được giá trị thõa mãn, chương trình dừng lại và xuất kết quả.

• Số lượng cá thể cha, mẹ trong quần thể (pop_size).

• Số lượng nhiễm sắc thể trong quần thể (npar) : Ở đây đề bài là tìm thơng số PID nên có 3 nhiễm sắc thể tương ứng là Kp, Ki và Kd.

• Khoảng giá trị của các nhiễm sắc thể (range). • Vị trí dấu chấm thập phân (dec)

• Số chữ số có nghĩa của giá trị các nhiễm sắc thể (sig)

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>3.2.2 Các bước thiết lập trên matlab simulink: </b>

<b>Figure 24</b>: Sơ đồ ế<b> k t n i trên matlab simulink </b>ố

<b>Figure 25: Thông s set point </b>ố

</div>

×