본문 바로가기
기계공학부 시절의 기록/로보틱스

MR 2.3-2.5 Configuration space(로봇의 상태 표현)

by juhyeonglee 2021. 1. 5.
728x90
반응형

2.3.1 위상(topology)에 따른 표현

blog.naver.com/junghs1040/222112031414

 

Modern Robotics Chap2 - Configuration Space

로봇의 기본 구성요소는 링크(Link), 조인트(Joint), 액추에이터(Actuator), 앤드 이펙터(end-effector)...

blog.naver.com

해당 챕터의 내용이 이해가 되지 않아 검색하던 중 같은 수업을 정리한 블로그를 발견! 

Configuration Sapce의 의미가 잘 설명되어 있어 개념 이해에 도움 되었다.

 

로봇이 공간상에서 자유로운지, 평면상에 제한되어 있는지,

형태가 구형인지, 육면체인지

로봇팔이 달려 있는지 등에 따라서 로봇의 자유도는 달라진다.

 

자유도가 같더라도 변수끼리 어떤 관계에 있는지도 중요하다.

위상과 자유도를 함께 나타내는 방법을 공부한다.

 

예제)

1.

원형 로봇 본체가 유한한 방 표면에 있다.

이 로봇의 configuration space를 수학적으로 나타내라.

--> [a,b]*[a,b]*S

환경부분 :[a,b]*[a,b]

몸체부분 : S1 (몸체방향) 

 

2.

공간에 자유봅게 이동하며 7링크 로봇팔이 부착되어져 있는 로봇.

조인트 한계각은 없을 때, 해당 시스템의 C-space를 구하라

-->R3*S2*S*T7=R3*S2*T8

몸체부분:R3*S2*S는 로봇의 자세와 방향(공간이므로 자세파악이 필요하며 '구'라고 가정하면 S2위상이다.)

S1*T7=T8(새로운 torus위상으로)

 

3.

모바일로봇, 무한한 평면을 이동, RPR로봇팔(Revolute-prismatic-revolute) 부착, revolute는 각제한 없으며 prismatic은 제한 있음. C-space는?

-->R2*T3*[a,b]

몸체부분 : R2*S1 (무한 평면이므로 R2, 몸체방향 S1)

로봇팔부분 : T2*[a,b]

S1*T2=T3

 

2.3.2 로봇의 configuration(배치상황) 표현은 implicit representation (절대적 표현)으로

위상에 관계없이 숫자만으로 표현을 잘 할 수 없을까.

implicit representation으로 할 수 있다.

 

implicit representation (절대적 표현)

ex) 구 표면 좌표를 x,y,z로 표현 

 

explicit parametrization (명백한 파라미터)

ex) 구 표면 좌표를 위도,경도 두개로 

 

이 둘의 표현 방법 차이를 설명.

이 때, 구 표면 좌표를 온전히 표현하는데 2개의 수가 필요하므로 2차원인데(자유도 2)

implicit representation (절대적 표현)에서 3개의 수를 사용하여 자유도가 3으로 바뀐거라고 생각할 수 있지만

x2+y2+z2=1이라는 조건이 있어 자유도는 2가 됨.

본 강의에서는 implicit representation (절대적 표현)을 사용.

 

2.4 로봇의 움직임을 좌표로 표현했을 때, 운동의 제약들을 통해 운동을 유추할 수 있다.

holonomic constraints, Pfaffin constraints, nonholonomic constraints

# dof's = # 로봇을 나타내는 독립변수 - # holonomic constraints

 

- holonomic의 의미

자료 : needs-searcher.tistory.com/36?category=876712

 

- holonomic constraints(=equivalent configuration constraints)

: holonomic하게(자유도와 표현 좌표계수가 일치하게 하는) 제약조건들

 

본 강의에서는 holonomic constraints를 4절 링크로 예를 듭니다.

그림1

그림1을 그리블러 공식으로 자유도를 구하면 1자유도를 얻을 수 있습니다.

하지만 링크길이가 주어진 상황에서 세타1,2,3,4 총 4개의 변수가 존재합니다.

 

# dof's = # 로봇을 나타내는 독립변수 - # holonomic constraints 이를 적용해보면

# dof's = 1 (by 그리블러 공식)

# 로봇을 나타내는 독립변수 = 4 (세타1,2,3,4)

# holonomic constraints = 3 (g1,g2,g3)

 

여기에 위에서 설명한 holonomic의 정의와 함께 생각해보면

holonomic constraints는 시스템을 holonomic하게 해주는 제약조건들이라고 생각할 수 있습니다.

 

 

-Pfaffin constraints(=velocity constraints)

더 나아가서, 시스템이 운동할 때는 위치가 아닌 속도에 대해 제한조건이 필요할 것입니다.

이는 holonomic constraints를 시간에 대해 미분함으로써 velocity constraints를 구할 수 있습니다.

 

이 때의 A행렬이 바로 velocity constraints이며

Pfaffin constraints라고도 부릅니다.

또, 이 velocity constraints를 시간에 대해 적분하여 holonomic constraints를 구할 수 있는 경우  holonomic constraints를 integable constraints라고도부른다고 합니다. (이름이 많네..)

 

-nonholonomic constraints

: 적분해도 holonomic constraints가 되지 않는 Pfaffin constraints(=velocity constraints)

이것도 예를 들어봅니다.

도로위 자동차를 땅아래에서 바라봤을때

속도표현식으로부터 Pfaffin constraints(=velocity constraints)를 구할 수 있습니다.

어떻게 구해?

이 예제에서 holonomic constraint는 어떻게 구하는지 모르겠어서 Pfaffin constraints(=velocity constraints)를 시간에 대해서 적분해도 holonomic constraint 가 될 수 없음을 보일 수는 없었습니다ㅜ

(본 강좌 13장에서 다룬다고 합니다.)

 

아무튼!

이렇게 됐을 때의 Pfaffin constraints(=velocity constraints)를 nonholonomic constraints이라 합니다.

 

2.4절의 제목을 '로봇의 움직임을 좌표로 표현했을 때, 운동의 제약들을 통해 운동을 유추할 수 있다.'라고 했습니다. 

한번 보겠습니다.

차를 하나의 강체로 보면 3차원 공간 상에서 자동차는 6자유도를 가질 수 있습니다. 하지만 평면위에 제한되어 이동합니다. 즉 z방향으로 이동할 수 없고, x축방향과 y축방향의 회전이 불가능합니다. 이렇게 3개의 제한조건(holonomic constraint)이 있어 6-3=3개의 변수로 자동차를 온전히 표현할 수 있습니다. 이 때, nonholonomic constraints 1개의 의미는 주차를 할 때 옆으로 수직 이동하여 주차를 할 수 없듯 좌우방향으로 바로 이동할 수 없음을 의미합니다. 이렇게 제한조건들로부터 로봇이 어떤 운동을 하는지 유추할 수 있습니다.

 

이해했을까요???

한번 예제를 보겠습니다.

 

예제) 

공간 상 6자유도를 갖는 움직이는 바퀴가 있다.

똑바로 서있고 미끄럼없이 구른다는 제약조건을 걸 때, 

holonomic constraints와 nonholonomic constraints는 각 몇개인가?

나의 풀이 : 숫자는 맞았지만 해석이 틀렸다. nonholonomic constraints는 속도에 관한 제약조건으로 1)구르는 속도와 2)방향회전속도 이다.

 

답지. 출처 : coursera. R은 실수범위로 R2=평면 위상, R3=공간 위상, S=원형 위상, T2=S*S=도넛형 위상 이다.

자유도 = 6-2=4

 

두개의 제약조건(holonomic constraints) : 똑바로 서있다, 미끌리지 않는다.

 

자유도 각각의 의미

1,2) x,y : 평면 상 어느 위치점에 있는가 ->2개 자유도

3) 각1 : 회전방향 각도 ->1개 자유도

4) k : 바퀴 테두리의 상태. 어느 점이 바닥과 맞닿아 있는가 ->1개 자유도

 

두개의 속도관련 제약조건(nonholonomic constraints) : 구르는 각속도(4와 관련), 회전방향 각속도(3과 관련)

 

 

2.5 task space & work space

task space

작업영역으로 로봇과 관계없이 작업이 이루어지는 영역.

예를 들어 필기 로봇이라 하면 글이 써진, 검은 색 선이 task space가 될 것.

 

work space

로봇의 끝점이 닿을 수 있는 영역으로 로봇의 조인트 각도 한계와 연관된다.

728x90
반응형

댓글