1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo môn học kỹ THUẬT ROBOT đề tài THIẾT kế và điều KHIỂN CÁNH TAY ROBOT 4 bậc tự DO

29 62 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế Và Điều Khiển Cánh Tay Robot 4 Bậc Tự Do
Tác giả Hồ Chí Vũ, Nguyễn Thanh Hiếu Nghĩa - 19151260, Nguyễn Thanh Sơn
Người hướng dẫn TS. Nguyễn Văn Thái
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Robot
Thể loại Báo Cáo Môn Học
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 29
Dung lượng 1,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết kế mô hình trên Solidworks:Mô hình robot gồm 5 phần.. 1.6 Kết nối matlab simulink: Mỗi khớp có 3 đầu vào là vị trí góc, vận tốc góc, gia tốc góc.. Do mô phỏng động học của robot nê

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH

KHOA ĐIỆN – ĐIỆN TỬ Môn học: KỸ THUẬT ROBOT

BÁO CÁO MÔN HỌC KỸ THUẬT ROBOT

ĐỀ TÀI: THIẾT KẾ VÀ ĐIỀU KHIỂN CÁNH TAY ROBOT

4 BẬC TỰ DO

GVHD: TS NGUYỄN VĂN THÁI Sinh viên thực hiện: Nhóm 10

1 Hồ Chí Vũ - 19151310

2 Nguyễn Thanh Hiếu Nghĩa - 19151260

3 Nguyễn Thanh Sơn - 19151027

Tp Hồ Chí Minh, tháng 06 năm 2022

Trang 2

Thiết kế mô hình trên Solidworks:

Mô hình robot gồm 5 phần

Tổng quan mô hình cánh tay robot 4 bậc tự do

Trang 3

Hệ trục 0, 1, 2, 3, 4.

Trang 4

1.1 Phần đế:

Hệ tọa độ gốc:

● Trục Z hướng lên, trùng với chiều quay của robot

● Trục X hướng sang phải

● Trục Y hướng vào trong

Trang 8

Hệ tọa độ 3:

● Trục Z hướng ra ngoài màn hình

● Trục X hướng sang phải

● Trục Y hướng lên trên

1.6 Kết nối matlab simulink:

Mỗi khớp có 3 đầu vào là vị trí góc, vận tốc góc, gia tốc góc

Do mô phỏng động học của robot nên cung cấp đầu vào vị trí góc, vận tốc góc và gia tốc góc là hằng số

Trang 9

● a: là chiều dài (là khoảng cách giữa 2 trục động cơ Zi với Zi+1).

● : là độ xoắn (được xác định bằng độ lệch giữa 2 trục động cơ Zi với Zi+1)

● d: là độ lệch (là khoảng cách giữa 2 mặt phẳng chứa xi với xi+1 cùng vuông góc với trục Z)

● : là góc khớp

Thông số:

Trang 10

● Ma trận tổng quát chuyển đổi từ hệ i sang hệ i+1:

● Ma trận chuyển đổi từ hệ 0 sang hệ 1:

● Ma trận chuyển đổi từ hệ 1 sang hệ 2:

● Ma trận chuyển đổi từ hệ 2 sang hệ 3:

● Ma trận chuyển đổi từ hệ 3 sang hệ 4:

● Ma trận chuyển đổi từ hệ 0 sang hệ 4:

Trang 13

Làm tương tự ta được:

2.2.4 Tính theta4

Đặt: θ234=0

θ4234−θ2−θ3

Trang 14

3 Thiết kế giao diện:

3.1 Giao diện giới thiệu:

Code giao diện giới thiệu:

function varargout = START(varargin)

Trang 15

3.2 Giao diện điều khiển:

Chức năng giao diện:

● Nút START: chạy file simulink mô hình robot

● Nút STOP: dừng file simulink mô hình robot

● Nút RESET: đặt lại giá trị của các góc theta về 0

● Nút SOLVE: tính toán giá trị góc theta 1,2,3,4 từ vị trí Px, Py, Pz cho trước

● Nhập góc mô phỏng bằng 2 cách: kéo thanh trượt hoặc nhập trực tiếp.Code giao diện điều khiển:

Trang 16

function varargout = FINAL_PROJECT(varargin)

Trang 17

%hien thi cac gia tri Px_inv,Py_inv,Pz_inv len cac o hien thi gia tri Px_inv,Py_inv,Pz_inv trong guide

Trang 18

%hien thi cac gia tri Px_inv,Py_inv,Pz_inv len cac o hien thi gia tri Px_inv,Py_inv,Pz_inv trong guide

Trang 20

function theta1_inv_Callback(hObject, eventdata, handles)

function theta1_inv_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function theta2_inv_Callback(hObject, eventdata, handles)

function theta2_inv_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function theta3_inv_Callback(hObject, eventdata, handles)

function theta3_inv_CreateFcn(hObject, eventdata, handles)

Trang 21

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function theta4_inv_Callback(hObject, eventdata, handles)

function theta4_inv_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

%//////////////////////////////////////////////////////////////////////

function Px_inv_Callback(hObject, eventdata, handles)

function Px_inv_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function Py_inv_Callback(hObject, eventdata, handles)

function Py_inv_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function Pz_inv_Callback(hObject, eventdata, handles)

function Pz_inv_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

Trang 22

theta234_new = str2num(theta234_new);

% Tinh IK

theta = Inverse_kinematic(Px_new,Py_new,Pz_new,theta234_new);set(handles.theta1_inv,'string',num2str(theta(1)));

set_param(handles.stop,'Enable','on');

%% kiem tra load file

function modelLoaded = modelIsLoaded(modelName)

try

modelLoaded =

Trang 23

~isempty(find_system('Type','block_diagram','Name',modelName));catch ME

Trang 25

function theta1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

Trang 26

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

function theta3_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

%//////////////////////////////////////////////////////////////////////

function theta4_Callback(hObject, eventdata, handles)

theta4_new=get(handles.theta4,'String');

Trang 27

function theta4_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

%//////////////////////////////////////////////////////////////////////

function theta234_Callback(hObject, eventdata, handles)

function theta234_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

3.2.1 Hàm con tính động học thuận:

function P = Forward_kinematic(theta1,theta2,theta3,theta4)

%% thong so mo hinh

Trang 28

function theta = Inverse_kinematic(Px,Py,Pz,theta234)

%% khai bao thong so

Trang 29

s2 = (ny*(L3*c3+L2)-L3*s3*nx)/((L3*c3+L2)^2+L3^2*s3^2);theta2 = atan2d(s2,c2);

Ngày đăng: 23/12/2022, 08:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w