mindstorms_with_matlab_logo.png






dynamics0101.png

안녕하세요? 교주 LGS입니다.
Robotic의 큰 흐름을 보면 Kinematics -> Dynamics -> Control 의 순서로 진행됩니다.
지난 시간까지 우리는 Kinematics 부분을 cover했구요 이번 강좌부터는 Dynamics part로 넘어갑니다. ^^
복잡해보이는 위의 도표중 오른쪽의 Joint space와 Cartesian space를 왔다갔다 하는 Forward/Inverse Kinematics는 
모두 이해하셨을 겁니다. ^^ Jacobian도 보이구요 Homogeneous Transformation 기호도 보이네요.

Dynamics는 말그대로 힘에 관련된 이야기 입니다. Kinematics에서는 힘(토크)는 전혀 고려하지 않았죠? 그냥 각도를 가지고 놀았었습니다.
Dynamics를 Kinetics라고도 그러구요~ 
Dynamics도 Kinematics와 마찬가지로 Forward Dynamics와 Inverse Dynamics로 구분할 수 있습니다.
Forward Dynamics는 "Joint에 힘(또는 토크)을 이렇게 주었더니 Joint가 이렇게 행동하더라" 를 푸는 문제이고
반대로 Inverse Dynamics는 "Joint가 이렇게 행동하게 하려면 힘을 어떻게 주어야하지?" 를 다룹니다.

dynamics0103.png

Control을 제외한 Kinematics -> Dynamics까지만 보면 
원하는 Cartesian space 상의 End-effector의 위치,자세 등으로 부터 Inverse Kinematics를 통해 Joint의 position, velocity등을 알아낸 후
Inverse Dynamics로 힘(토크)를 계산하여 각 Joint에 가해줍니다.


대부분의 물리현상을 수식으로 기술(description)해보면 2차 미분방정식(differential equation)의 형태를 띕니다.
Mechanical System의 수학적 Modeling은 아래 [MCT 때려잡기 with MATLAB] 강좌를 참조하시면 어느 정도 윤곽이 잡히실 겁니다.
System의 수학적 Model만 얻으면 미분방정식을 푸는 ode45등으로 simulation도 할 수 있을 것이고
Modern Control Theory 때려잡기 강좌에 나왔던 여러가지 control 기법도 적용할 수 있습니다.

운동방정식을 세우실 때에는 Newton 역학을 사용하셔도 되구요 Lagrangian Mechanics를 사용하셔도 되요 ^^
Simple Double Pendulum 운동방정식을 유도하는 문서를 첨부해 둘테니 읽어보세요..  Simple double pendulum.pdf

dynamics0102.png
(이미치 출처: MIT OCW : Underactuated Robotics)

첨부된 문서를 토대로 작성한 Simple Double Pendulum에 대한 Forward Dynamics를 계산하는 m-file을 같이 첨부하오니 참고바랍니다.


다음 시간에는 Newton-Euler method를 이용한 Robot Dynamics에 대해서
조금더 자세하게 알아 보겠습니다요~ ^^
다음 시간에 뵈요~~


P.S. Robot Dynamics 보충 강좌 Update 되었습니다.
http://www.matlabinuse.com/index.php?mid=Mastering_MATLAB&page=1&document_srl=11853
profile