검색어 입력폼

로보틱스(Robotics) - DH table로 transform matrix를 구하는 MATLAB 프로그램

저작시기 2010.01 |등록일 2010.01.18 한글파일한글 (hwp) | 6페이지 | 가격 1,500원

소개글

로보틱스(Robotics)
-데나비드-하텐버그(Denavit-hartenberg) Table을 이용하여,
Transform matrix를 구하는 MATLAB 프로그램-

목차

function [T0n]=DH_table(A)

% 변수 선언
% degree를 radian으로 변환
% 변수는 radian으로 변환하지 않음
% Transform matrix (T01, T12, T23 ... T(n-1)n)
% Transform matrix (T0n)

본문내용

function [T0n]=DH_table(A)

% 변수 선언
syms theta1 theta2 theta3 theta4 theta5 theta6 theta7 theta8 theta9 theta10
syms l1 l2 l3 l4 l5 l6 l7 l8 l9 l10
syms d1 d2 d3 d4 d5 d6 d7 d8 d9 d10

% degree를 radian으로 변환
[m,n] = size(A);
B(:,1)=A(:,1)*(pi/180);
B(:,2)=A(:,2);
B(:,3)=A(:,3);
sa=sin(B(:,1));
ca=cos(B(:,1));
% 변수는 radian으로 변환하지 않음
for i=1:m
if isreal(A(i,4))==1
B(i,4)=A(i,4)*(pi/180);
else
B(i,4)=A(i,4);
end
end
st=sin(B(:,4));
ct=cos(B(:,4));

% Transform matrix (T01, T12, T23 ... T(n-1)n)
for i=1:m
T(:,:,i)=[ct(i) -st(i) 0 B(i,2);
st(i)*ca(i) ct(i)*ca(i) -sa(i) -sa(i)*B(i,3);
st(i)*sa(i) ct(i)*sa(i) ca(i) ca(i)*B(i,3);
0 0 0 1];
end
다운로드 맨위로