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

Bài tập kỹ thuật robot robot

12 4 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

Nội dung

function install_addon(zip_file) % % INSTALL_ADDON Install the specified addon to the current MATLAB installation. % INSTALL_ADDON ZIP_FILE.ZIP Install the contents of ZIP_FILE to MATLABROOT. % Copyright 20082012 The MathWorks, Inc. % first check if the jvm is available if (~usejava(jvm)) error(install_addon requires Java to run.) end % check args if (nargin ~= 1) error(Usage: install_addon ) end % check if archive exists if (exist(zip_file, file) ~= 2) error(Archive %s does not exist.\nInstallation failed., zip_file) end % obtain addon name, ver and arch from zip_file name ~, zip_file_name, ~ = fileparts(zip_file); addon_name, remain = strtok(zip_file_name, .); addon_rel, remain = strtok(remain, .); addon_arch = strtok(remain, .); % strip off r prefix from addon_rel addon_rel = strtok(addon_rel, r); msg = sprintf(Installing %s..., addon_name); disp(msg) % check addon arch against matlab arch matlab_arch = computer(arch); if (~strcmpi(matlab_arch, addon_arch)) error(Archive architecture (%s) does not match the MATLAB architecture (%s).\nInstallation of %s failed., addon_arch, matlab_arch, addon_name) end % check addon ver against matlab ver matlab_rel = version(release); if (~strcmpi(matlab_rel, addon_rel)) error(Archive release (%s) does not match the MATLAB release (%s).\nInstallation of %s failed., addon_rel, matlab_rel, addon_name) end % installing to matlabroot install_dir = matlabroot; % unzip zip file to install_dir msg = sprintf(Extracting archive %s to %s..., zip_file, install_dir); disp(msg) unzipped_files = unzip(zip_file, install_dir); % check if files were extracted from zip file if (isempty(unzipped_files)) error(No files were extracted from archive %s.\n%s installation failed., zip_file, addon_name) end % fix permissions on extracted files make files writable for i = 1:length(unzipped_files) file = unzipped_files{i}; fileattrib(file, +w); end % add directories from addon .phl file to pathdef.m, current path msg = sprintf(Adding directories for %s to path..., addon_name); disp(msg)

STT Mã số SV Họ Tên 2033203 Nguyễn Doãn Ngọc Quốc 2033208 Đào Quang Duy 2033267 Vũ Văn Khải 2033220 Nguyễn Văn Nghĩa BÀI TẬP Ta tìm ma trận 01𝑇 chuyển từ vị trí OXYZ sang vị trí 𝑂1 𝑋1 𝑌1 𝑍1 Ta có từ tọa độ OXYZ ta thực phép tịnh tiến: + Tịnh tiến theo phương Y 1m + Tịnh tiến theo phương Z 1m Ta có ma trận gốc OXYZ có dạng: 𝑇 = [0 0 0 0 0 0] Ta có vecto Tịnh tiến 01𝐴 1𝐴 = [1] Ta có 0 1𝑇 = [ 0 0 0 0 1] 1 Câu B Ta có ma trận chuyển từ OXYZ sang 𝑂2 𝑋2 𝑌2 𝑍2 02𝑇 Ta có: 2𝑇 = 01𝑇 12𝑇 Ta có từ hệ tọa độ 𝑂1 𝑋1 𝑌1 𝑍1 ta thực phép tịnh tiến: + Tịnh tiến ngược chiều OX: 0,5m + Tịnh tiến chiều OY: 0,5m Vậy vecto tịnh tiến 12𝐴 2𝐴 −0,5 = [ 0,5 ] Ta có vecto tịnh tiến từ OXYZ sang 𝑂2 𝑋2 𝑌2 𝑍2 2𝐴 −0,5 = [ 1,5 ] 1 0 2𝑇 = 1𝑇 2𝑇 = [ 0 0 −0,5 1,5 ] 1 Chọn câu A Ta có từ 𝑂2 𝑋2 𝑌2 𝑍2 sang 𝑂3 𝑋3 𝑌3 𝑍3 ta thực thêm phép tịnh tiến quay xoay: + Tịnh tiến chiều OZ : 2m + Xoay quanh OZ : 900 + Xoay quanh OX: 1800 Ta có vecto tịnh tiến từ OXYZ sang 𝑂3 𝑋3 𝑌3 𝑍3 03𝐴 3𝐴 −0,5 [ = 1,5 ] Ta áp dụng cơng thức để tính ma trận xoay Ta có ma trận xoay quanh OZ: 900 𝑅𝑂𝑍(900 ) cos(900 ) = [ sin(90 ) 0 − sin(900 ) cos(900 ) 0 0 0 0] = [1 0 −1 0 0 0 0] Ta có ma trận xoay quanh OX: 1800 𝑅𝑂𝑋(1800 ) =[ 0 cos (1800 ) sin (1800 ) 0 −sin (1800 ) ] = [0 cos (1800 ) 0 −1 0 0 0] −1 0 Ta có ma trận xoay R: 𝑅 = 𝑅𝑂𝑍(900 ) 𝑅𝑂𝑋(1800 ) Ta có = [1 0 −1 0 0 0 0] [0 0 0 −1 0 0 0 ] = [1 −1 0 1 0 0 0 0] −1 0 1 3𝑇 = [ 0 0 0 −0,5 1,5 ] −1 Ta chọn câu C Ta có 32𝑇 ma trận chuyển từ 𝑂3 𝑋3 𝑌3 𝑍3 sang 𝑂2 𝑋2 𝑌2 𝑍2 Ta thực phép tịnh tiến: + Tịnh tiến ngược chiều OZ : 2m + Xoay quanh OZ : 900 ( Tự xoay quanh trục nó) + Xoay quanh OX: 1800 ( Tự xoay quanh trục nó) Ta có ma trận xoay R 𝑅 = 𝑅𝑂𝑍(900) 𝑅𝑂𝑋(1800 ) Vectơ tịnh tiến 2𝐴 =[ ] −2 = [1 0 −1 0 0 0 0] [ 0 0 0 0 −1 0] = [1 0 0 1 −1 0 0 0 0] Vậy 2𝑇 = [ 0 −1 0 0 0] −2 Chọn câu C Ta có vecto 𝐴𝑃 thực phép xoay + xoay quanh 𝑍𝐴 : 𝜑 + xoay quanh 𝑌𝐴 : 𝜃 Ta có 𝑅(𝜑, 𝜃) = 𝑅𝑌(𝜃) 𝑅𝑍(𝜑) Lưu ý khung xoay xung quanh gốc tọa độ khác gốc tọa độ ta thực nhân ma trận thực phép biến đổi sau lên trước Chọn câu C Xét đáp án A: Ta có thực phép xoay + xoay quanh OX: 450 + Xoay quanh OY: 450 Ta có ma trận 𝑅𝑂𝑋(450) = [0 0 cos (450 ) sin (450 ) 𝑅𝑂𝑌(450 ) cos (450 ) =[ −sin (450 ) −sin (450 )] = cos (450 ) [0 sin (450 ) ]= 0 cos (45 ) √2 √2 √2 √2 [− Ta có 𝑅 = 𝑅𝑂𝑋(450) 𝑅𝑂𝑌(450) √2 = − [ √2 √2 √2 − 2 ] √2 − √2 ] √2 √2 2] A Sai Ta xét câu C ta có √2 𝑅 = 𝑅𝑂𝑌(450 ) 𝑅𝑂𝑍(450 ) = [− C sai Ta kết luận câu B R ma trận xoay Ta có cơng thức Và công thức ta suy B √2 2 √2 2 √2 − 2 ] Ta có khung A B ban đầu trùng sau khung B thực : + Xoay xung quanh 𝑌𝐵 : 𝜃 + xoay xung quanh 𝑍𝐵 : 𝜑 Ta có khung B tự xoay xung quanh trục 𝐴 𝐵𝑅 = 𝑅𝑌𝐵 (𝜃) 𝑅𝑧𝐵 (𝜑) Lưu ý thứ tự nhân ma trận thực phép xoay + khung xoay xung quanh gốc tọa độ ta thực nhân phía sau Ta chọn câu B Ta có 𝑐𝜃 [ −𝑠𝜃 𝑠𝜃 𝑐𝜑 ] [𝑠𝜑 𝑐𝜃 −𝑠𝜑 𝑐𝜑 0 0] Ta thực phép nhân ma trận: Ta có vị trí 𝐴11 : 𝐴11 = 𝑐𝜃 𝑐𝜑 + 𝑠𝜑 + 𝑠𝜃 = 𝑐𝜃 𝑐𝜑 Tại vị trí 𝐴31: 𝐴31 = −𝑠𝜃 𝑐𝜑 + 𝑠𝜑 + 𝑐𝜃 = −𝑠𝜃 𝑐𝜑 Chọn câu C Ta áp dụng cơng thức: Ta có 1 + + −1 𝑟11 + 𝑟22 + 𝑟33 − √2 √2 ) = arccos(0,4571) 𝜃 = arccos ( ) = arccos ( 2 = 62,7990 Ta sử dụng cơng thức: Ta có: −1 √2 𝑟32 − 𝑟23 −1,207 1 1 ̂= 1,207 ] [ 𝐾 [𝑟13 − 𝑟31 ] = = 0,562 − (− ) 2𝑆𝑖𝑛𝜃 𝑟 − 𝑟 sin (62,7990 ) √2 −0,5 21 12 [ −2 − ] = [−0,678 0,678 −0,281]𝑇 Ta chọn câu C −

Ngày đăng: 09/11/2023, 21:01

w