로공입 세번째: 로봇의 자유도(Degrees of Freedom)
로봇의 자유도 구하기
저번 글에서는 하나의 body에 대한 자유도를 구하는 방법을 알아보았습니다.
이번에는 여러개의 body로 이루어진 메커니즘의 자유도를 구해보도록 해보죠.
로봇에는 여러개의 body와 그 body 사이를 연결하는 접합부들(joints)로 이루어져있죠. 이러한 로봇의 자유도를 구하는 원리는 완전히 동일합니다.
Degrees of Freedom(이하 dof) = (Sum of freedoms of the bodies) - (Number of independent constraints)
로봇을 구성하는 모든 body가 각각 서로 붙어있지 않고 완전히 각각 따로 논다고 해보죠. 이 때 모든 body 각각의 자유도를 구하여 더합니다. 그리고 body들을 joint로 이으면서 자유도가 줄어들겠죠? 그 줄어든 자유도 만큼을 빼주면 로봇의 자유도가 나오는 것이죠!
Joint의 종류
보통 로봇에 팔(bar)과 팔을 잇는 joint를 몇 종류를 소개시켜드릴게요.
<그림1>
joint의 종류에 따른 joint 자유도는 다음과 같습니다!
Revolute joint(R joint): 빙글빙글 도는 각도 하나만 결정 [dof=1]
Prismatic joint(P joint): 늘어났다 줄어들었다 하나만 결정 [dof=1]
Helical joint(H joint): 도는 각도만 결정되면 위로가는 것 아래로 가는 것 결정되므로 자유도 [dof=1]
Cylindrical joint(C joint): 빙글빙글 돌기도 하고 위아래 움직이기도 하므로 [dof=2]
Universal joint(U joint): R joint 두개 합친거니깐 [dof=2]
Spherical joint(S joint): [dof=3]
각각의 joint는 두개의 bar를 연결하면서 두 bar의 자유도를 joint 자유도 만큼으로 감소합니다
무슨 말인지 모르겠으니 예제를 한 번 풀어볼까요?
예제1
<그림2>
위의 그림에서 보이는 joint는 R-joint네요. 저 body는 완전히 자유로울 때(그냥 공간상에 둥둥 지 알아서 떠다닌다고 생각했을때)는 dof가 3이었는데 joint로 연결되면서 dof가 1로 줄었어요. 보시다시피 각도 하나만으로 body의 configuration(위치&자세)이 결정되기 때문이죠.
그래서 그림2의 메커니즘의 자유도는 1이랍니다.
예제2
<그림3>
그림3에 보이는 joint는 R-joint과 P-joint를 합친거네요? 편하게 RP-joint라 부르도록 하죠.
R-joint는 dof가 1이고 마찬가지로 P-joint도 dof가 1인 joint입니다.
그럼 뻔하죠 RP-joint의 dof는 2입니다.
body하나를 RP-joint를 이용하여 ground와 연결시키면 body의 자유도가 3에서 2로 줄어들 것입니다.
자 이제 joint가 전체 로봇 메커니즘의 자유도를 감소시키는데 어떤 역할을 하는지 느낌 오시나요?
Grubler’s formula
Grubler’s formula는 로봇 메커니즘에 body와 joint들이 여러 개 있을 때의 자유도를 쉽게 구할 수 있는 공식이에요.
이 공식의 유도 과정은 너무 쉬워서 한줄로 설명할게요. 아이디어는 이거에요.
: 모든 body의 갯수(주의! 이 때 ground도 움직이지않는 body라고 보고 body의 개수를 셀 때 포함한다.
)
: Joint 들의 갯수
: 번째 Joint의 dof
설명을 조금 더 덧붙이자면 이래요.
우리가 로봇 메커니즘의 dof를 구하는 방법이 무엇이었죠?
자유로운 body 하나의 평면(planar)에서의 자유도는 3인거 기억하시죠?
따라서 모든 body(ground 빼고)가 각각 완전히 자유로울 때의 자유도()를 구하고, 그 다음 그 body들을 joint로 연결했을 때 줄어드는 자유도() 만큼을 빼줌으로써 구했었죠.
Grubler’s formula:
이 식을 정리하면 다음과 같습니다.
Grubler’s formula 활용 예제
(a)와 같이 메커니즘의 한 쪽 끝은 땅에 붙어있고 다른 쪽 끝이 자유로운 로봇메커니즘을 OPEN CHAIN MECHANISM이라고 한답니다.
(b),(c),(d)는 모든 bar의 양쪽 끝이 어딘가에 연결되어있으므로 CLOSED CHAIN MECHANISM입니다.
자, 그럼 한번 (a),(b),(c),(d)의 자유도를 Grubler's formula로 구해볼까요? N의 갯수에 ground 포함하는거 잊지말구요!
(a): N=5, J=4, R-joint의 f=1 인데 4개 있으므로 가 된다.
따라서 dof=3(5-1-4)+4=4
(b): N=5, J=5, R-joint의 f=1 인데 5개 있으므로 가 된다.
따라서 dof=3(5-1-5)+5=2
(c): N=6, J=7, R-joint의 f=1 인데 7개 있으므로 가 된다.
따라서 dof=3(6-1-7)+7=1
(d): N=6, J=7, R-joint의 f=1 인데 7개 있으므로 가 된다.
따라서 dof=3(6-1-7)+7=1
이런 로봇의 자유도를 구하려면 어떻게 해야할까요? 머리에 쥐가 나요 전 벌써..
어려운 메커니즘 자유도를 자신있게 구하려면 오늘 한 내용들을 잘 알고있어야해용.
Grubler’s formula와 그 유도 과정을 숙지하고 계시다면 다음 글에 있는 한단계 어려운 문제들로 넘어가볼까요?
'지난 연재물 - 기계공학 > [로봇공학] 성환's 로봇공학 이야기' 카테고리의 다른 글
로봇공학입문 두번째: 로봇공학자 Dennis Hong 만나기 (5) | 2015.05.24 |
---|---|
로봇공학입문 첫번째: 자유도(Degree of Freedom)의 기초 (5) | 2015.05.24 |
로봇공학입문 연재를 시작하며 (7) | 2015.05.03 |
댓글