티스토리 뷰

keep9oing

Motion planning - 2. 개념

HTS3 2019. 3. 24. 00:53

오늘은 모션 플래닝의 용어들을 간단한 개념을 곁들여서 알아보자. 

 

저번 시간에 얘기했듯이 모션플래닝은 로봇이 어디부터 어디까지 가고싶다는 추상적인 명령을 인풋으로 받아들였을때, 어떻게 갈 것인지 로봇의 동작을 자동으로 생성하는 알고리즘이다.

 

예를 들면, 내방에가서 노트북좀 가져다 줘 라는 명령을 로봇에게 내렸을 때(추상적 명령) 그것을 수행하기 위해 로봇은 각 관절을 어떤식으로 움직여서 장애물을 회피하며 임무를 수행할 지 계획을 만들어야한다.

 

이제 모션플래닝에 대한 공부를 하기전에 필요한 개념과 용어들을 알아보자.

 

 

1. 개념

 가장 기본적인 motion planning 문제는 시작상태(start configuration)S에서부터 목표 상태(goal configuration)G지점 까지 이미 알고있는 장애물과의 충돌을 피하는 연속적인 motion을 생성하는 것이다. 로봇과 장애물의 형태는 2D나 3D의 작업공간(workspace)에 그려지며, motion은 configuration space에서 나타내어진다.

 

 [[workspace와 configuration space의 차이]]

 workspace는 실제 로봇 개체가 움직이는 공간을 의미한다. (일반적으로 2D혹은 3D인 우리가 눈으로 보는 실제 공간). configuration space는 로봇의 자세를 구성하는 독립변수들로 구성된 공간을 의미한다.

 

<workspace>

 

 

 

 

<configuration space>

 

앞으로 나오는 workspace와 configuration space는 위처럼 생각하고 구분해주면 된다.

 

 

2. Configuration space

 Configuration은 일반적으로 로봇의 자세를 말하는 것이다. configuaration space $C$는 가는한 모든 configuration의 집합을 말한다.

 

 (1) 만약 로봇이 2차원 평면위에 돌아다니는 점이라고 가정한다면 $C$는 special Euclidean group SE(2)이고, configuration은 2개의 인자로 나타낼 수 있다. $(x,y)$

 

 (2) 만약에 로봇이 2차원 평면위를 돌아다니는 2차원 모양이라고 한다면, 로봇은 이동(translation)과 회전(rotation)을 할 수 있다. $C$는 special Euclidean group SE(2) 이고, configuration은 3개의 인자로 나타낼 수 있다. $(x, y, \theta)$

  cf) SE(2) = R^2 X SO(2) (SO(2)는 2D 회전의 special orthogonal group이다. 

 

 (3) 만약 로봇이 3차원의 고체모양이라면 로봇은 3차원 공간에서 이동, 회전 할 수 있을 것이다. $C$는 SE(3) 이고, configuration은 6가지 인자로 나타낼 수 있을 것이다. 이동을 나타내기위한 $(x,y,z)$와 회전을 나타내기 위한 $(\alpha, \beta, \gamma)$

 

 (4) 만약 로봇이 땅에 고정되고 N개의 회전 관절(revolute joint)를 가진 로봇팔(manipulator)이라면, $C$는 N차원이다.

 

 

3. Free space

 Free space란 장애물과 충돌하지않는 모든 configuration들의 집합을 말합니다. ($C_{free}^{}$). 즉 $C$에서 $C_{free}^{}$의 여집합(complement) 은 장애물혹은 금지구역(forbidden region)이 된다. 대체로 $C_{free}^{}$의 모양을 구하는 것은 힘들다. 그래서 주어진 configuration이 $C_{free}^{}$에 있는지 테스트 하는 것이 효율적이다. 첫 번째로 forward kinematics로 로봇의 위치나 자세를 구하고, $C_{free}^{}$를 이용한 충돌 감지(collision detection)테스트로 로봇의 기하학적 형태(robot's geometry)가 환경의 기하적 형태(environment's geometry)와 부딪히는 지 알아볼 수 있다.

 

 

4. Target space

 Target space는 free space의 linear subspace이자 우리가 로봇을 위치시키고 싶은 공간이다. global motion planning에서는 로봇이 센서를 통해 target space를 발견할수있지만 local motion planning에서는 로봇이 target space를 발견 할 수 없는 경우가 있다. 이 문제를 해결하기 위해, 로봇은 가상의 target space를 결정해 그쪽으로 이동한다. 

 

'keep9oing' 카테고리의 다른 글

강화학습과 latent space  (0) 2020.02.14
깃허브 gist 실험  (1) 2020.02.06
Control Bootcamp(1): Overview  (2) 2019.08.04
Motion planning - 3. 알고리즘들  (3) 2019.04.01
Motion Planning - 1. 개요  (0) 2019.03.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30