8. Link1 회전 정의하고 움직이기
이번에는 5,6,7번 강의에서 정의한 함수들을 사용 Link1에 모션을 주겠습니다.
"3. Link 회전 정의하기"의 코드를 수정하였습니다. 비교하면서 보시면 이해가 쉬울겁니다.
for 문을 추가하여 Link에 모션을 주었습니다.
수정한 코드는 빨간색으로, 이전과 동일한 코드는 파란색입니다.
pause(0.2) 코드는 0.2초 정지한다는 뜻입니다.
theta1=[0 5 10 15 20 25 30 35 40 45 50 55 60 55 50 45 40 35 30 35 40 45 50 55 60 65 70 65 60 55 50 45 40 35 30];
size_theta=size(theta1);
t_f=size_theta(1,2);
for t=1:1:t_f
Link1_a=[0 0];
Link1_b=[3 0];
RotMat1=TwoD_RMat(theta1(t));
Link1_a=TwoD_RTP(RotMat1,Link1_a);
Link1_b=TwoD_RTP(RotMat1,Link1_b);
Global_Origin=[0 0];
Global_x=[1 0];
Global_y=[0 1];
plot([Global_Origin(1) Global_x(1)],[Global_Origin(2) Global_x(2)],'-r');
hold on
plot([Global_Origin(1) Global_y(1)],[Global_Origin(2) Global_y(2)],'-g');
hold on
plot([Link1_a(1) Link1_b(1)],[Link1_a(2) Link1_b(2)],'-k',...
'Marker','o',...
'LineWidth',2,...
'MarkerSize',10,...
'MarkerEdgeColor','b',...
'MarkerFaceColor',[0.5,0.5,0.5]);
hold on
axis([-2 5 -2 5]);
daspect([1,1,1]);
pause(0.2);
hold off
end
코드를 실행한 영상입니다.
'MATLAB 코딩 > 로봇동역학' 카테고리의 다른 글
<Two Link Manipulator - 2D> 7. Rotation, Translation 행렬을 Point에 곱해주는 합수 정의 (0) | 2019.07.01 |
---|---|
<Two Link Manipulator - 2D> 6. 3x3 Translation 함수 정의 (0) | 2019.07.01 |
<Two Link Manipulator - 2D> 5. 3x3 Rotation 함수 정의 (0) | 2019.07.01 |
<Two Link Manipulator - 2D> 4. 3x3 Transformation 행렬 설명 (2x2 회전행렬의 한계 극복) (0) | 2019.07.01 |
<Two Link Manipulator - 2D> 3. Link 1 회전 정의 (2x2 회전행렬 이용) (0) | 2019.07.01 |
댓글