[로공입] 01. Introduction

시작하면서…

로봇은 다양한 분야가 융합된 학문이다. 기계공학을 시작으로 전기, 전자, 컴퓨터, 심지어 인지과학 분야 등 우리가 공학이라고 부르는 대부분이 로봇이라는 이름으로 연구되어질 수 있다. 그중에서도 우리는 수학을 이용하여 로봇의 기구학, 동역학을 풀어보려고 한다.

로봇을 정의하는 말은 정말 많다. 그 정의들을 잘 살펴보면 컴퓨터와 로봇을 나누는 가장 큰 차이점을 ‘움직임’에 두고있다. 컴퓨터와 다르게 로봇은 움직여서 사람들에게 직접 또는 간접적으로 서비스를 제공한다. 최근에 연구되어 지고 있는 로봇들을 보면 (물론 상용화하기까지는 넘어야 할 산들이 많지만…) 물건을 나르기도 하고 청소를 하기도 하며 음식을 만들기까지 한다. 이렇게 로봇을 움직이게 하고 싶으면 우리는 ‘움직임’을 다룰 수 있어야 한다. 여기서 소개할 방법론은 Lie-group 기반의 로봇 동역학 (Robot dynamics) 이다. 

이 글을 읽는 대부분 독자들은 로봇 공학자이거나 로봇을 좋아하는 학생일 것이다. 중학생때로 돌아가서 다음과 같은 문제를 풀어보자.

[그림 1] 질량이 \(m\)인 물체를 힘 \(\vec{F}\)로 밀면 가속도 \(\vec{a}\)는?

질량이 \(m\)인 물체를 힘 \(\vec{F}\)로 밀면 가속도 \(\vec{a}\)는 얼마일까? 뉴턴의 제 2법칙을 배운 중학생이라면 쉽게 

\(\begin{align}\vec{F} &= m\vec{a} \\ \vec{a} &= \frac{\vec{F}}{m}\end{align} \)

라는 것을 알 것이다. 그럼 다음과 같은 로봇에서 각 축에 모터에 \(\tau\) 만큼 힘을 주면 각 모터의 각가속도 \(\ddot{q}\)은 어떻게 될까?

[그림 2] 각 축에 모터에 \(\tau\) 만큼 힘을 주면 각 모터의 각가속도 \(\ddot{q}\)은?

\(F=ma\) 처럼 쉽지 않다.  정답을 알려주면, \(\tau\) 와 \(\ddot{q}\)의 관계식은 아래와 같다.

$$\tau = M(q)\ddot{q}+C(q,\dot{q})+g(q)$$

\(M(q)\) 는 mass matrix, \(C(q,\dot{q})\) 는 Coriolis term, \(g(q)\) 는 gravity term 이라고 부른다. 내가 원하는 움직임이 나오기 위해서 얼마의 토크를 넣어야 하는지, 어떤 토크를 로봇에 인가했을 때 로봇이 어떻게 움직이는지 우리는 위의 식으로부터 계산을 할 수 있다. 즉, 우리는 이 식을 정복하면 로봇에 ‘움직임’을 어느정도 이해할 수 있게 된다.

이제부터 우리는 위의 관계식을 유도하는 긴 여정을 함께 할 것이다. 설명하다보면 불가피하게 수학이 많이 나오지만 수식적으로 이해하려고 하지말고 ‘왜 그렇게 되는지’, ‘이 식에는 어떤 의미가 숨어져 있는지’와 같은 생각을 하면서 설명을 읽어줬으면 좋겠다. 수학에 어려움을 느끼는 분들이라면 살짝 어려울 수 있으나 인터넷에 좋은 자료와 강의들이 있으니 함께 하면 분명 이겨낼 수 있을 것이다.

로공입은 ‘로봇 공학 입문’의 줄임말이다.

Reference