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. 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. Lưu ý khi vẽ: Thay đổi mặt phẳng vẽ khi vẽ để các file trùng nhau thành khâu
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');
LƯU Ý KHÂU DỊCH CHUYỂN KHÔNG ĐÚNG %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
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
Create New GUI: Tạo một hộp thoại GUI mới: 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. Open Existing GUI: mở hộp thoại project có sẵn
2.CÁC CÔNG CỤ TRONG CỬA SỔ GUI.
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) 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.
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