Mô phỏng cánh tay Robot 2 bậc đơn giản trên Matlab

Share

Ngày này nói đến khái niệm Robot chúng ta thường mặc định nó là một cỗ máy được phát triển tương tự con người. Có khả năng di chuyển giao tiếp thực hiện những công việc đơn giản của con người, thậm chí có thể học hỏi tiếp thu kiến thức. Trong thực tiễn cũng có những loại Robot thông minh như thế người ta gọi là người máy thông minh. Nhưng khái niệm Robot lại rộng hơn rất nhiều. Là tất cả các hệ thống có thể xử lý thông tin và sau đó đưa ra kết quả thích hợp. Để có những người máy thông minh, xã hội luôn phải bước qua những giai đoạn sơ khai. Hôm nay hãy cùng Uniduc tìm hiểu về cách mô phỏng cánh tay robot 2 bậc nhé.

Định nghĩa cánh tay Robot 2 bậc

Cánh tay Robot 2 bậc là loại cánh tay đơn giản nhất với 2 khớp vận động. Chúng được áp dụng nhiều trong những công việc đơn giản. Như máy khâu dùng trong công nghiệp may, máy viết chữ, gá đỡ camera,….

Các bộ phận của cánh tay Robot 2 bậc

Tay máy gồm các bộ phận:

  1. Đế đặt cố định.
  2. Bánh xe di động.
  3. Thân.
  4. Tay trên.
  5. Tay dưới.
  6. Bàn kẹp.
  7. Khớp quay (Giữa thân 3 và tay trên 4).
  8. Khớp quay (Giữa tay trên 4 và tay dưới 5).
  • Hệ thống truyền dẫn động là cơ khí, điện khí hoặc thủy khí. Là bộ phận chủ yếu tạo nên sự chuyển dịch của 2 khớp động. 
  • Hệ thống điều khiển nơi vận hành xử lý thông tin đưa ra những nhiệm vụ. Qua đó đảm bảo việc hoạt động của Robot đúng quy trình tránh sai sót. Có thể xem đây là bộ não của cả bộ máy.
  • Hệ thống cảm biến tín hiệu đây là hệ thống các Sensor nhận điện tín hiệu. Thực hiện nhiệm vụ cảm nhận đưa ra thông tin về bộ xử lý. Có rất nhiều cảm biến trên một khối Robot mỗi cảm biến có nhiệm vụ chức năng riêng nhằm thu thập toàn bộ thông tin môi trường xung quanh.

Mô hình Robot 2 bậc tự do

Mô hình Robot 2 bậc

Mô phỏng Robot 2 bậc tự do trên Matlab

Tổng quan về Matlab

Matlab là tên viết tắt của Matrix Laboratory là bộ chương trình phần mềm trong lĩnh vực toán số. Định hướng chương trình giải quyết các vấn đề về Vector và ma trận. Trọng tâm chương trình gồm cá hàm, các chức năng nhập và xuất các khả năng điều khiển quá trình. 

Giao diện thiết kế Simulink của Matlab được thể hiện đơn giản. Cho phép người dùng thiết kế thống kê dưới dạng sơ đồ khối. Với thư viện phong phú Matlab hoàn toàn đáp ứng mọi nhu cầu từ đơn giản đến phức tạp của mỗi người. Sau đây hãy cùng mô phỏng cánh tay Robot 2 bậc trên hệ thống Matlab.

Mô phỏng cánh tay Robot 2 bậc

Mô hình Simulink dựng Robot 2 bậc tự do: 

mô hình Simulink cánh tay robot 2 bậc

Khối Subsystem:

Khối Subsystem

Ở đây ta sử dụng các khối:

  • Integrator: 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, output: đầ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:

x12=(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à: x22=(-(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 các nguồn tín hiệu u1 và 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 theo thứ tự là các vị trí trên khối Mux. u[1] = x 11, u[2] = x 12, u[3] = x 21, u[4] = x 22, u[5] = u1, u[6] = u2.

Sau khi mô phỏng, ta được đồ thị các đường đặc tính. Các biến trạng thái x 11, x 12, x 21, x 22 là : 

Đồ thị đặc tính

Mô phỏng dạng hàm điều khiển

Từ công thức, và với K1=K2=500, λ1 =λ2 =0,156. Ta có

u[5]= (K1/λ1)*H(S1) + (1/λ1)*e1 + x”1d ( Khối subsytem)

u[6]= (K2/λ2)*H(S2) + (1/λ2)*e2 + x”2d ( Khối subsytem 2)

mô hình hàm điều khiển 1

Mô hình hàm điều khiển 2

mô hình hàm điều khiển 3

mô hình hàm điều khiển cánh tay robot 2 bậc - 4

Chọn giá trị Stop time là 30s trong Congiguration Parameters. Đây chính là thời gian mô phỏng

Khi chạy Simulink ta được kết quả hàm điều khiển U1, U2 và các sai số e’1 , e’2

Ta tính được các giá trị đặt Xd1, Xd2 là:

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)

Trên đây là 1 số lý thuyết và các mô phỏng cánh tay Robot 2 bậc bằng Matlab. Kiến thức trên cũng rất khó để tiếp thu các bạn có thể tham khảo các tài liệu khác liên quan đến Matlab cũng như thiết kế Robot. Uniduc xin chân thành cảm ơn.

UNIDUC – KIẾN TẠO NHÀ MÁY SẢN XUẤT TỰ ĐỘNG

Zalo Chat
Gọi Điện Thoại