본문 바로가기
정기연재 - 기계공학/[로봇공학] 성환's 로봇공학 이야기

로봇공학입문 첫번째: 자유도(Degree of Freedom)의 기초

by STEMSNU 2015. 5. 24.


*제 글에 있는 그림과 내용은 서울대학교 기계항공공학부 박종우 교수님의 로공입 교재에 있는 것을 사용한 것이랍니다.

로공입 첫번째: 자유도(Degree of Freedom)의 기초

안녕하세요~ 이제 본격적으로 로봇공학입문 내용들 배워보도록 하죠!
가장 처음으로 배울 내용은 바로 자.유.도.(degree of freedom) 입니다.

앞으로는 자유도를 편의상 dof라고 쓸게요~

자유도의 정의

자 그럼 자유도가 무엇이냐? 알아보도록 하죠.

자유도는 로봇의 위치와 자세를 결정하기 위해 필요한 변수들의 최소 갯수를 의미합니다. 이 때 변수는 실수 값을 가져야하겠죠?

교수님의 교재에는 다음과 같이 정의되어있네요.
The minimum number of real-valued coordinates needed to represent the configuration is the degrees of freedom (dof) of the robot.

자유도 구하는 방법1


그림 1.


그림1 (a)를 볼까요? 이건 문, door입니다.
문의 자유도는 1이에요.
오직 라는 하나의 변수에 의해서 문의 위치와 자세가 정해지는 것이죠!

그림1 (b)를 볼까요? 이건 점, dot입니다.
2차원 평면에서 한 점의 자유도는 2에요.
(x, y)라는 두개의 변수에 의해서 점의 위치와 자세가 정해지네요!

그림1 (c)를 볼까요? 이건 동전, coin입니다.
2차원 평면에서 동전의 자유도는 3이에요.
그림에서 보듯이 (x, y)라는 두개의 변수로 동전의 위치가 정해지고
에 의해서 동전의 자세(orientation)가 정해지네요!

쉽죠? ㅎㅎ 여기까진 다들 그래요.
위의 예제들은 자유도를 정하기 위한 변수들의 최소 갯수가 뻔히 보이는데 안 그런 것들도 많아요.. 그럴때는 자유도를 어떻게 구해야할까요?

자유도 구하는 방법2


그림 2.


그림2의 (a)에서의 동전의 자유도를 구하는 다른 방법을 소개할게요.
동전 위의 임의의 위치에 서로 다른 세개의 점 A, B, C를 부착시켜보죠.

A, B, C
이 세점의 위치가 정해지면 동전의 위치와 자세 또한 정해지죠.

일단 A, B, C 세 점이 지 맘대로 아무렇게나 움직일 수 있다고 생각해보면

이렇게 총 6개의 변수가 임의의 값을 가질 수 있겠네요.

하지만 동전 위에 A, B, C가 부착되어있으니 분명 저 6개의 변수들 사이에는 제한 조건이 있습니다. 그 제한 조건들은 다음과 같습니다.


변수가 6개인데 제한조건이 3개라면??
우리가 변수 3개의 값을 정해주면 나머지 변수 3개는 제한조건에 의해 그 값이 정해진다는 의미~ 즉, 독립변수는 총 3개!
따라서 자유도는 3이겠죠?
예제 1에서 동전의 자유도 구했을 때랑 똑같네요. 아싸.

자 이 공식만 알고 계시죠!

Degrees of freedom = (Sum of freedoms of the points) −
(Number of independent constraints)

자유도 구하는 방법3

같은 동전의 자유도를 또 다른 방법으로 구해보도록 하죠. 이건 좀 직관적이에요.

그림 2.


그림2의 (b)를 보시죠. 동전에는 A, B, C 가 부착되어있습니다. 즉, , , 의 크기가 변하지 않는다는 말이겠죠! 제한조건인 셈이죠.

다음의 순서를 따라서 동전의 자유도를 구해볼까요?

1. 먼저 A의 위치를 결정한다.
를 결정해야 A의 위치가 결정되므로 A의 위치에 대한 자유도는 2 입니다.

2. B의 위치를 결정한다.
의 크기가 일정하므로 B의 위치는 A를 중심으로 하고 반지름이 인 원 위에 있어야하겠죠? 그렇다면 B의 위치는 A의 위치에다가 각도() 하나만 추가로 주어지면 결정되겠죠~ 그러니깐 A와 B의 위치에 대한 자유도는 2+1=3입니다.

3. 마지막으로 C의 위치를 결정한다.
C의 위치까지만 결정되면 동전의 위치가 완전히 결정되는거에요. 의 크기가 일정해요. 그렇다면 C의 위치는 A를 중심으로 하고 반지름이 인 원, 그리고 B를 중심으로 하고 반지름이 인 원이 서로 만나는 교점이 되겠군요.

두 원의 교점은 2개입니다. 각각의 교점을 교점1교점2라고 합시다. C의 위치가 결정되려면 둘 중의 어떤 점이 C가 될 것인지 알 필요가 있겠군요!

방법3의 주의사항

종합적으로 따져봅시다 이제. A를 결정하기 위해서는 를 결정해야하고, 그 다음 B를 결정하기 위해서는 를 결정해야 하는군요. 마지막으로 C를 결정하기 위해서는 교점1교점2 둘중 하나를 정해야 합니다.

얼핏 보면 자유도는 4인 것 같습니다. 왜냐하면 변수가 , , , (교점1 또는 교점2), 이렇게 4개 같단말이죠..

근데 사실 자유도는 3이랍니다! 방법 1과 방법 2에서 동전의 자유도는 3이었으니 여기서도 3이 나와야하겠죠? 그렇다면 교점 1교점 2 둘 중 하나를 고르는 건 왜 자유도에 포함되지 않을까요??

우리는 자유도의 정의를 다시 한번 주의 깊게 살펴볼 필요가 있습니다.

The minimum number of real-valued coordinates needed to represent the configuration is the degrees of freedom (dof) of the robot.

자유도로 인정되는 변수는 꼭! 연속적인 실수값을 가질 수 있어야합니다. 그런데 점 C의 위치를 결정하기 위한 변수는 오직 2가지 값만 가질 수 있으므로 연속적인 실수값을 갖는다고 할 수 없겠죠?
이러한 변수들을 discrete variable이라고 한답니다. 우리는 오직 continuos, real-valued variable만을 자유도로 인정한단 이야기죠~

자 그래서 이번 방법으로 통해서도 2차원 평면상에서 동전의 자유도는 3의 값을 가짐을 확인하였습니다.

3차원 공간에서의 자유도


그림 2.


그림2의 (c)를 봅시다. 3차원 공간 상에서의 동전의 자유도는 몇일까요? 우리는 위에서 자유도를 구하는 방법을 3가지나 배웠어요!

저랑은 방법2를 이용해서 풀어보도록하죠. 나머지 방법으로도 연습삼아 해보세요! 어떤 방법으로 하든 자유도는 항상 같게 나온답니다~

3차원 공간상에서 동전의 위치와 자세를 결정하기 위해서는 동전에 부착된 세개의 점의 위치가 결정되어야 합니다. 그 점들을 각각 A, B, C라고 하죠. 제한조건 없을 때의 자유도는 9!

제한조건은 어떤게 있을까요?
, , 가 각각 일정한 값을 갖는 다는 조건이 있겠군요. 따라서 제한 조건이 3개!

Degrees of freedom = (Sum of freedoms of the points) − (Number of independent constraints)

이 공식에 의해서 3차원 공간상의 동전의 자유도(dof)=9-3=6 입니다.

글을 마치며

이 글에서는 자유도(dof)의 정의와 기초를 살펴보는 것까지 다루도록 하겠습니다~ 다음 글에서는 조금 더 진짜 로봇같은것들의 자유도를 살펴볼거랍니다!

제 글에 대해서 언제든지 피드백 해주시면 감사한 마음으로 반영하겠습니다. 다음 글에서 봬요~

댓글