1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập chương 3 kĩ thuật robot planar elbow manipulator

18 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Planar Elbow Manipulator
Tác giả Phạm Mạnh Quỳnh, Trần Quốc Thái, Huỳnh Tân Sang, Nguyễn Tất Thành, Nguyễn Trân Đức Thiện
Người hướng dẫn TS. Trần Ngọc Huy
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Kĩ Thuật Robot
Thể loại Bài Tập
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 2,26 MB

Nội dung

Y = đỊ5Ị †2Sl12 Là những tọa độ điểm của end-efTector trong khung tọa độ.. Phần xoay của cung cấp hướng của ozxay›Za so với khung tọa độ.. b Mô phỏng Matlab Code function varargout =

Trang 1

DAI HOC QUOC GIA THANH PHO HO CHI MINH TRUONG DAI HOC BACH KHOA

BAI TAP CHUONG 3

MON HOC: Ki THUAT ROBOT

LOP L01 - NHOM 09 - HK231

NGAY NOP: 08/10/2023 Giảng viên hướng dẫn: TS Trần Ngọc Huy

Sinh viên thực hiện Mã số sinh viên

Nguyễn Trân Đức Thiện 2010646

Thành phố Hồ Chí Minh — 2023

Trang 2

3.1, Planar Elbow Manipulator

a) Ly thuyét

Fig 3.6 Two-link planar manipulator The z-axes all point out of the page, and are not shown in the figure

Dựa vào bảng DH đã cung cấp trong slide:

Table 3.1 Link parameters for 2-link planar manipulator

| Link | a; | œ¿ | d; | 6, |

1 đi | 0 |0 |0

2 đa | 0 |0 |0

* variable

Ta có thé thu duoc ma trận T có đạng:

C12 —S]13 0 đ1€] -F đ2C12

0 — | $12 C12 O ays; + a2512

Chú ý rằng hai mục đầu tiên của cột cuối cùng của là các thành phần x và y của gốc trong khung cơ sở; đó là,

Trang 3

Y = đỊ5Ị †(2Sl12

Là những tọa độ điểm của end-efTector trong khung tọa độ Phần xoay của cung cấp hướng của ozxay›Za so với khung tọa độ

b) Mô phỏng Matlab

Code

function varargout = robot (varargin)

gui Singleton = 1;

gui _State = struct('gui Name", mfilename,

‘gui_Singleton', gui _Singleton,

"gui ObeningFcn', @robot OpeningFcn, 'gui_OutputFen', @robot_OutputFen,

‘gui_LayoutFen', []l ,

‘gui_Callback', [])z

if nargin && ischar(varargin{l})

gui _State.gui Callback = str2func(varargin{l});

end

if nargout

[varargout{1:nargout}] = gui mainfcn(gui State, varargin{:}); else

gui_mainfcen(gui State, varargin{:});

end ~ ~

function robot_OpeningFcn(hObject, eventdata, handles, varargin) nandles.output = hObject;

% Update handles structure

guidata (hObject, handles);

% UIWAIT makes robot wait for user response (see UIRESUME)

uiwait(handles.figurel);

% - Outputs from this function are returned to the command line function varargout = robot_OutputFen (hObject, eventdata, handles)

% Get default command line output from handles structure

varargout{l} = handles.output;

function thetal Callback (hObject, eventdata, handles)

function thetal CreateFcn(hObject, eventdata, handles)

if ispce && isequal (get (hObject, 'BackgroundColor'),

get (0, 'defaultUicontrolBackgroundColor') )

set (hObject, 'BackgroundColor', 'white');

Trang 4

end

function theta2 Callback(hObject, eventdata, handles)

function theta2 CreateFcn(hObject, eventdata, handles)

if ispce && isequal (get (hObject, 'BackgroundColor'),

get (0, 'defaultUicontrolBackgroundColor') )

set (hObject, 'BackgroundColor', 'white');

end

function Pos_X Callback{(hObject, eventdata, handles)

function Pos X CreateFcn (hObject, eventdata, handles)

% hObject “handle to Pos _X (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows

% See ISPC and COMPUTER

if ispce && isequal (get (hObject, 'BackgroundColor'),

get (0, 'defaultUicontrolBackgroundColor') )

set (hObject, 'BackgroundColor', 'white');

end

function Pos _Y Callback(hObject, eventdata, handles)

function Pos_Y CreateFcn (hObject, eventdata, handles)

if ispce && isequal (get (hObject, 'BackgroundColor'),

get (0, 'defaultUicontrolBackgroundColor') )

set (hObject, 'BackgroundColor', 'white');

end

S

% - Executes on button press in btn_forward

function btn_forward_Callback(hObject, eventdata, handles)

syms dl d2 al a2 thetal theta2

Th_1 = str2double(handles.thetal.String) *pi/180;

Th_2 = str2double(handles.theta2.String) *pi/180;

dl = 0;

d2 = 0;

al = 4;

a2 = 2;

S(1) = Link([O dl al O 0));

$s(1).glim=[-pi/2 pi/2];

S(2) = Link([0 d2 a2 0 0]);

$S(2).qlim=[-pi/2 pi/2];

Rob = SerialLink (S, 'name', 'Rob');

Rob.plot([Th 1 Th 2], ‘workspace’, [-10 10 -10 10 0 15]);

T = Rob fkine([Th_1 Th_2]);

lhandles.Pos X.String = num2str(floor(T(1,4)));

Trang 5

lhandles.Pos_Y.String = num2str(floor(T(2,4)))z lhandles.Pos_ Z.String = num2str(floor(T(3,4)))z

-_ Giao điện cho việc mô phỏng cánh tay robot

ry robot.fig

File Edit View Layout Tools Help

(=) oc

® Theta1

jor ie

œ3 Ell Theta2

mm E]

Tt

id, (& x axes

_a “oe

Forward

Trang 6

- Kétqua mé phéng

Trang 7

on

=

15

10

ti

ae | a

eo

Trang 8

-

| 10

5

10 -10

Trang 9

-10

Trang 10

= aiS¡ † 82S12 X=aici + arty

e Nhan xét:

Kết quả mô phỏng so với lý thuyết hoàn toàn trùng khớp

3.2 Three-Link Cylindrical Robot

a) Lý thuyết

'Three-Link Cylindrical Robot là một cánh tay robot 3 bậc tự do RPP voi | truc xoay và

2 trục tịnh tiền

Cylindrical robot

~Z

a ——— _ ——

/ ~Z —

™N _ — Z

— ⁄ ⁄ _ —

Z

71 `

Workspace cua robot

Ta chọn đặt tọa độ gốc OsXoYøZs ở tâm khớp thứ

nhật như hình vẽ trên Trục z¿ theo chiếu tiên của

Ú,

Trang 11

Tại khớp 2, ta chọn z¡ trùng z¿, Ô¡ tại tâm khớp 2, xị và y¡ song song với xọ Và Vo

Tại khớp 3, chọn x2 là chiều tiễn của link 3, vì z2 và z1 cắt nhau nên gốc O2 được đặt tại

giao điểm này Hướng của x2 được chọn song song với xI sao cho 2 bằng 0

Cuối cùng tác tử được chọn ở cuối link 3 như hình

Các thông số DH được thể hiện ở bảng sau:

Liên

1

2

3

Ma tran A tuong ung:

cq 7s, 0 0 A= s, ¢c, 0 0

0 0 1d,

0 0 0 1

1 0 0 0

0 0 1 0 A,=

0 -1 0 4,

0 0 0 1

100 0

010 0 A,=

00 1 d,

000 1

c 0 -s, ng,

7 =A,A,A, — sy 0 | cd,

Trang 12

Trong đó x=T(1,4) = ˆ sấ

y=T(2,4)= S6

d 2

2-1(3,4)=%*

b) Mô phỏng Matlab

- Su dung Robotics Toolbox trong Matlab dé m6 phong robot

- - Thư viện Robotics Toolbox trong MATLAB là một bộ công cụ mạnh mẽ được

sử dụng đề mô hình hóa, mô phỏng và điều khiển các robot manipulator Nó

cung cấp các hàm và lớp đối tượng dé thực hiện tính toán hình học và hình học

động học của robot, giúp giải quyết các vẫn đề liên quan đến robot

- _ Tải ñle RVC1.m để khởi tạo thư viện

- Run file startup rve dé khdi tạo thư viện

- Tao GUI bang lệnh guide

- Tao giao dién nhw hinh:

la /

OGen sha OS >

(x)

Í%] oom

ou

= & |

(fs | =x

- Callback push forward:

Trang 13

= forward =

Cut Ctrl+X

Copy Ctrl+C

Paste Ctrl+V

Clear

Duplicate Ctrl+D

Bring to Front Ctrl+F

Send to Back Ctrl+B

A GUIDE Wi removed, apps will continue to run but th:

Editor See

Lập trình phần dưới đây sau lệnh

function forward _Callback(hObject, eventdata, handles)

syms al a2 a3 Theta_1 d2 d3

$link lenghts

al = 3;

a2 = 3;

a3 = 3;

% Doi don vi goc theta tu rad > do

Th_1 = str2double(handles.Theta_1.String) *pi/180;

b2 = str2double (handles.d2.String);

D3 = str2double (handles.d3.String);

%D-H

HO 1 = Link([0, al, 0, 0, Ô]);

HO 1l.qlim =[-pi/2 pi/2];

H1 2 = Link([0, 0, 0, -pi/2, 1, a2]);

Hl 2.qlim = [0 D2];

H2 3 = Link([0, 0, 0, 0, 1, a3]);

H2 3.glim = [0 D3];

Robot = serialLink([HO 1 H1 2 H2 3], 'name',

"RPP Robot");

Robot.plot([Th_1 b2 D3], ‘workspace', [-10 10 -10

10 0 10]);

% Tim toa do X Y Z tuong ung theo ma tran T da cho trong vi du 3.2

Trang 14

handles.Pos_X.String -sin(Th_1)* D3;

handles.Pos_Y.String = cos(Th_1)*D3;

handles.Pos 2.String = al+D2;

- Figure khirun file code thành công

A aemo

Trang 15

c) Kiểm chứng số liệu tính toán:

[xyzJ=[ 54 cd, d+d ] = 5 cD, a, +D, |

Voi al, a2, a3 la cac gia tri offset

Ta cho chạy với giá trị trong bang sau:

Thetal D2 D3 „z) Tính toán

„z) Mô

047 -1L.41 141 5 -3 0

Trang 16

Nhận xét:

- _ Giá trị mô phỏng lệch đúng với giá trị thực tế khi tính toán

3.3

a) Thiết kế cơ khí:

É M7: Ap R2017D - ø x

Nast EX 3.381% (Simulink Model)

1 CommandWindzw ®

Ly pe»

b) Sơ đồ khối:

®- Sơ đồ khối tông quát bao gồm phân Input, khối thiét ké tay may va Output:

Trang 17

®

File Edit View Display Diagram Simulation Analysis Code Too Help

B-o-a@ 8 @ - Eã - «6 4 @ i> = [j- »› ed > @O-ib-

em

Q

&

BS

Tà ThetaSd ~~ Se mm x

Y

sna z

a

=

© Khdi thiết kế tay máy:

*& Mưti_EX 3_3/5ubSystem1 * - Simulink

File Edit View Display Diagram Simulation Analysis Code Tools Help

8-3-8 eo ¢HO@-3-S@dOd = A- w

‘Sebsystemt

© [Fajen ox.» » yl sorte

Normal + @~- #2 ~

) Chạy mô phông:

Input gồm 3 góc theta mong muốn

Output gom 3 góc theta cac sensor do được và tọa độ điểm cuối

Trang 18

File Edit View Display Diagram Simailation Analysis Code Tools Help

Bro-B Oo 0H O-B-@ 4Od © Bem mm - Ora

ROD

® maser

® Hoạt động của mô hình:

#& M7Láp R2017p

older

Name

8 33 soi

[HA Am

Mult_EX 2 Jarcautorove

33 Multbođy.t 3.390:

'RRR Rcoctfi

© Brie

‘Command Window 1> ®

M+! Click and drag to move Mechsrics Explorerz

Ngày đăng: 16/08/2024, 17:36

w