SIMULATE AND CONTROL ROBOT - hcmuaf.edu.vn · Từ phần mềm Pro Engineer tạo các file...
Transcript of SIMULATE AND CONTROL ROBOT - hcmuaf.edu.vn · Từ phần mềm Pro Engineer tạo các file...
SIMULATE AND CONTROL
ROBOT
CÁC BƯỚC THỰC HIỆN MÔ PHỎNG ĐIỀU KHIỂN ROBOT:
• Vẽ lại mô hình robot trong PRO_E 4.0.
• Liên kết mô hình với phần MATHLAB 2008.
• Xây dựng giao diện MATHLAB để điều khiển các mô hình.
VẼ TRONG PRO-E MÔ HÌNH ROBOT.
Lưu ý khi vẽ: Thay đổi mặt phẳng vẽ khi vẽ để các file trùng nhau thành khâu
Từ phần mềm Pro Engineer tạo các file “*.slp” của các khâu và khớp của
Robot , rồi từ phần mềm Matlab đọc các file “*.slp” để tạo mô hình Robot
trong giao diện Matlab.
Để tạo các file “*.slp” của từng khâu Robot, ta lưu file dạng “*.slp”.
Khi xuất hiện giao diện “Export Render” chọn vào mục “Include”, sau
đó chọn vào một khâu của Robot rồi nhấn OK. Lặp lại như trên cho
khâu tiếp theo của Robot. Sau khi ta lưu được các file “*.slp” cho từng
khâu của Robot.
Tiếp tục làm cho các *.prt còn lại ta được các file .slp của các khâu..
LIÊN KẾT MATHLAB AND PRO-E
[fout1,vout1,cout1]=rndread('de.slp');%thay doi ten file de co khau
can mo phong
[fout2,vout2,cout2]=rndread('k1.slp');%thay doi ten file de
co khau can mo phong
[fout3,vout3,cout3]=rndread('k2.slp');%thay doi ten file de
co khau can mo phong
[fout4,vout4,cout4]=rndread('k3.slp');%thay doi ten file de
co khau can mo phong
[fout5,vout5,cout5]=rndread('kept.slp');
%code lam cho khau quay;nguyen nhan cua viec khau ko quay voi so am la do
%vong lap for bat dau chay tu 0.khac phuc:ta chi viec them dau tru
trong
%ma tran A = tmat(-t, 0, 0, 0); la ok
% vout la cac ma tran toa do cua khau no ko thay doi;
% Chu Y :nguyen nhan khau chay ko dung la do ta ve khau trong Pr.E ko
% dung mp thay doi mp khac thu thi se chay….
b=str2num(get(handles.edit2,'string'));% khau 1
c=str2num(get(handles.edit4,'string'));% khau 2
e=str2num(get(handles.edit7,'string'));% khau 3
f=str2num(get(handles.edit9,'string'));%khau 4
LƯU Ý KHÂU DỊCH CHUYỂN KHÔNG ĐÚNG
THIẾT KẾ GIAO DIỆN ROBOT NHƯ HÌNH VẼ
ÔN LẠI GIAO DIỆN GUI MATHLAB
1.MỞ PHẦN MỀM Mở phần mềm, gõ lệnh sau vào command>>guide
Blank GUI (Default): Hộp thoại GUI trống không có điều khiển
unicontrol nào cả.
* GUI With Unicontol: Hộp thoại GUI với vài unicontrol như
button,…, chương trình có thể chạy ngay.
* GUI With Axes Menu: Hộp thoại với một unicontrol axse và button,
các menu để hiển thị đồ thị.
* Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No.
Create New GUI: Tạo một hộp thoại GUI mới:
Open Existing GUI: mở hộp thoại project có sẵn
2.CÁC CÔNG CỤ TRONG CỬA SỔ GUI.
Các nút điều khiển khác:
Check Box, Edit Text, Static Text, Pop-up Menu, List Box, Axes,
Panel, Button Group, AtiveX Control, Toggle Button.
• Giao diện rất giống với các chương trình lập trình giao diện như Visual
Basic, Visual C++,…
Di chuột qua các biểu tượng ở bên trái sẽ thấy tên của các điều khiển.
Push Button: giống như nút command button trong VB. Là các nút bấm
như nút OK,Cancel,..
Slider: Thanh trược có một con trược chạy trên đó.
Radio Button: Nút nhỏ hình tròn để lựa chọn (Options)
Menu Tool có:
* Run(Ctr+T): chạy chương trình mà đã viết.
* Align Object: sắp xếp các điều khiển
* Grid and Rulers: lưới trong giao diện (như một ma trận các ô
vuông nhỏ), và sắp xếp vị trí.
Menu Editor: tạo menu cho điều khiển.
* Tab Order Editor: sắp xếp Tab order là thứ tự khi ta nhấn phím
Tab
* Gui Options: lựa chọn cho giao diện GUI
Khi lưu dưới tên: TUT01, đồng thời xuất hiện cửa sổ Editor và
đang mở file TUT01.m và Trong thư mục đang lưu sẽ có 2 file là:
- TUT01.fig: file này chứa giao diện của chương trình
- TUT01.m: file chứa các mã thực thi chương trình như các hàm
khởi tạo, các hàm callback,…
Ví dụ thực hành:
kéo vào trong giao diện 2 edit box, 1 static box và 1 push
botton
Chương trình có chức năng khi nhấn vào nút
bấm thì kết quả của phép cộng giữa 2 số
được gõ vào 2 ô sẽ hiện lên trong Static Text
Thay đổi các thuộc tính:
Click đúp vào Edit Text bên trái để xuất hiện cửa sổ
các thuộc tính của điều khiển. Có thể sắp xếp theo
chức năng hoặc theo thứ tự A-Z của tên thuộc tính
bằng nút hiện ở gõ bên trái.
Thuộc tính quan trọng của Edit Box bao gồm:
Tag: là thuộc tính giống như Caption trong Visual Basic để đặt tên điều khiển. Dùng
tên này có thể thao tác đến cá thuộc tính của đối tượng. (vd editstr1).
String: là chuổi kí tự hiện lên Edit Box.
Tương tự, thay đổi thuộc tính tag của Edit Box thứ 2 thành editstrl2. Static Box cũng
tương tự thành staticstr3.
Push Botton: thuộc tính tag = buttonCalculate,
String =calculate.
VIẾT LỆNH CHO CHƯƠNG TRÌNH:
Chương trình có tác dụng khi nhấn vào nút Push Button sẽ hiện lên kết quả
ở Static Box viết vào hàm này mà khi nhấn vào nút Push Box sẽ gọi.
Hàm Callback, điều khiển nào cũng có hàm Callback, như hàm ngắt trong
vi điều khiển.
Hàm có một tham số:
* hObject: handle của điều khiển bottoncalculate
* handles:là một cấu trúc chứa tất cả các điều khiển và
dữ liệu người dùng dùng để truy xuất các điều khiển
khác. Qua thuộc tính tag của các điều khiển truy xuất đến thuộc
tính string của các điều khiển editstr1, editstr2, editstr3 bằng
các lệnh get, set.
* Get(handles.tag_dieu_khien,’ten thuoc tinh’): lấy giá trị
* set(handles.tag_dieu_khien,’ten_thuoc_tinh’,’gia_tri’): đặt
giá trị
* str2num: biến từ string sang số
* num2str để biến trở lại.
Viết hàm như sau:
Nhấn nút Run để kiểm tra kết quả:
BÀI TẬP ỨNG DỤNG
MÔ PHỎNG VÀ XÂY DỰNG ĐIỀU KHIỂN CÁC DẠNG HỆ THỐNG CĐT TRONG ĐỒ ÁN .
CHÚC CÁC BẠN MÔ PHỎNG VÀ ĐIỀU KHIỂN ROBOT THÀNH CÔNG