본문 바로가기
MATLAB 코딩/로봇동역학

<Two Link Manipulator - 2D> 8. Link1 회전 정의하고 움직이기

by bigpicture 2019. 7. 1.
반응형

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


코드를 실행한 영상입니다.



반응형

댓글