Kidnapped Robot 은 그만

Giseop Kim·2020년 12월 6일
0

오레일리 Creating Augmented & Virtual Realities 책 5장에 이런 대목이 있었다.

콜드 스타트라는 위 용어에 대해 감탄했는데, 아래는 그 이유에 대한 사설.

Mobile Robot 은 공간 속을 움직인다.
이것이 챗봇이나 차량번호검출기와 구별되는 가장 큰 특징일 것이다.

필연적으로 움직이기 때문에, 내 위치가 달라진다.
내 위치를 정확히 알아야 다음 행동을 잘 결정할 수 있다.
이것에 대해 연구하는 분야가 SLAM이다.
SLAM은 사실 state estimation 의 대중적인 (이제는 너무 러프하기까지 한) 표현이다.

로봇의 상태 (state) 는 주로 position 과 rotation 을 의미하지만 때때로 velocity 등이 포함되기도 한다. position 과 rotation 을 합쳐서 pose 라고도 부른다.

state (pose) 는 두 계층에서 예측된다. 로컬과 글로벌.

local 한 수준에서 state 를 예측하는 것은 주로 tracking 이라고 불린다. 내 직전 위치 (혹은 일정 window 이내) 대비 현재 내 위치를 정확히 계산하는 것이다. 따라서 relative motion estimation 이라고 불리기도 한다. 때로는 odometry, dead reckoning 등으로 불리기도 한다.

global 한 수준에서 state 를 예측하는 것은 주로 relocalization 이라고 불린다. 직전 위치 대비 state를 계산하는 것이 아니라, 어떤 world 좌표계 안에서의 전역적인 state 를 알아내는 작업이다. 로봇이 처음 On 되었을 때 혹은 카메라가 가려지거나 등의 이유로 tracking 을 놓쳤을 때마다 수행되어야 한다. 앞서 소개한 책 5장 (무려 6d.ai CEO가 작성했다) 에서 이것의 필요성이 쉽게 써져있다. 이 과정은 때로는 place recognition, loop detection 등으로도 불린다.

아무튼 요약하자면, 위 책에서는 AR system 을 위해서는 1. tracking 과 2. relocalizing 두 모듈이 모두 중요하고 필요하다고 설명하고 있다.

즉,

AR system = Tracking + Relocalizing

여담으로 SLAM 연구자들은 주로 위의 식을 아래와 같은 말로 자주 표현하기도 한다. SLAM = Odometry + Place recognition and Loop closing.

아무튼 Relocalizing 이 필요한 이유를 좀 더 설명하면서 콜드스타트 라는 상황이 존재하기 때문이라고 저자는 설명하고 있다. (위의 캡처사진)

이 것은 AR system 의 실체인 앱이나 HMD (head mount display) 에 관한 이야기지만 결국 로봇에게도 같은 이야기이기도 하다. SLAM 연구자들은 논문에서 주로 이런 상황을 kidnapped robot 이라고 불러왔다.

서론이 길었는데, kidnapped robot 이라는 단어보다 cold start 라는 단어를 앞으로 쓰면 좋지 않을까, 결국 이 이야기를 하려고 했다. 딱히 이유는 없지만 git main branch 이름을 master 대신 main 으로 쓰려고 이제 사람들이 노력하고 있는 것처럼... 부정적인 단어를 피할 수 있다면 피하는 게 좋지 않을까. 납치라니!!! 논문에서도 kidnapped robot 대신 cold start라는 용어를 더 많이 볼 수 있다면 더 좋을 것 같다.

profile
SLAM engineer, Spatial AI enthusiast

0개의 댓글