레이블이 07. VR 모션 트레킹 시스템의 이해인 게시물을 표시합니다. 모든 게시물 표시
레이블이 07. VR 모션 트레킹 시스템의 이해인 게시물을 표시합니다. 모든 게시물 표시

2016년 10월 16일 일요일

07-3. 멀미(Motion Sickness)의 원인과 해결을 위한 노력들

일반적으로 멀미는 자동차나 항공기 그리고 특히 배를 탈경우에 심하게 느끼는 것으로 몸(신체)이 느끼는 것과 눈이 보고 있는 것과의 차이로 인해 뇌가 적절히 대응(해석)할 수 없게 됨으로써 결과적으로 신체가 느끼는 괴로움이다.

조금 더 세세히 살펴보면
사람은 전정기관(Vestibule)을 이용하여 몸의 균형을 잡아가게 된다. 그러나 전정기관만으로 항시 균형을 유지하기는 쉽지 않다. 따라서 뇌는 눈으로 부터 들어오는 시각적 정보까지 통합하여 항상 균형을 유지해간다. 그런데 배를 타게 되면 배의 움직임에 따라 감지되는 전정기관의 정보와 파도가 일렁이는 시각적 정보가 차이가 생기게 되는데 뇌는 이 두가지 정보의 차이에 대해 익숙해져 있지 않기 때문에 몸(신체)를 어떻게 가누어야 할지 모르게 된다. 이러한 정신적 괴리의 상태가 신체적 괴로움을 야기하는 것이다.

결국 VR을 체험할 때 멀미를 느끼는 원인은 인지부조화(Cognitive dissonance)에서 기인한다. 즉, 뇌는 그 동안 살아오면서 지극히 당연하면서 자연스러운 신체적 감각정보와 시각적 정보(Visual Information)의 통합에 익숙해져 있는 상태인데 VR을 경험할때는 현재 눈에서 보고 있는 시각적 정보에 대해 올바로 매칭되는 신체적 균형정보가 들어 오지 않게 됨으로써 자신의 몸의 상태를 어떻게 제어 해야할지 모르게 되는 것이다.

이를 해결하기 위한 노력들은 다음과 같다.

* 고해상도 디스플레이의 사용과 넓은 시야각(FOV)의 제공
   : VR 기기는 대부분 디스플레이가 눈에 근접해 있기 때문에 낮은 해상도의 경우 픽셀이 보일 수도 있다. 저해상도 그래픽은 멀미보다는 눈의 피로를 가중시키는 경향이 있지만 부정확한 그래픽 정보는 현실성을 떨어 트리는 요인이 되기도 한다. 또한 좁은 시야각은 현실과 달리 충분한 시야 정보를 얻을 수 없기 때문에 멀미를 유발할 수도 있다.
  : 오큘러스 - 2160 X 1200 pixel, 90Hz Built-in AMOLED
  : 삼성 기어 VR - 2560 X 1440 pixel, 60Hz Super AMOLED
  : HTC 바이브 - 2160 X 1200 pixel, 90Hz OLED
  : 소니 VR - 1920 X 1080 pixel, 90Hz, 120Hz OLED

* 레이턴시(Motion-to-Photon Latency) 최소화
  : 사용자의 동작과 디스플레이의 그래픽 처리 시간을 최대한 일치시키는 기술을 적용하고 있다. 90Hz의 디스플레이의 경우 약 1/100초정도 밖에 차이가 나지 않는다. 끊임 없이 움직이는 사용자의 동작에 맞춰서 3D 그래픽을 랜더링하여 전달하는 것은 고사양의 GPU를 요구하는 이유가 되기도 한다.

아직 실용적이지는 않지만 아래와 같은 대안도 있다.
* 전정기관에 시각정보에 대응할 만한 자극을 전달하는 "Hacking the inner ear" 기술
  : 현재로써는 약간 전기자극을 전정기관에 흘려 넣는 방식이지만 추후에는 조금더 정교하게 정정기관을 속일 수 있는 기술이 나오지 않을까 싶다.

그리고 가외로 '멀미약'을 먹는 경우도 있는데 VR 멀미에 특효인 전용 멀미약이 등장하지 않을까 예상해 본다.


< 참고링크 >
http://m.post.naver.com/viewer/postView.nhn?volumeNo=3985750&memberNo=29481007&vType=VERTICAL
http://www.bloter.net/archives/265356
http://www.inven.co.kr/webzine/news/?news=152580

전정기관(Vestibule): 머리의 수평, 수직 선형 가속도, 회전 운동을 감지하여 중추평형기관에 전달하여 신체의 균형을 유지하게 하는 기관으로, 세반고리관과 전정을 통틀어 일컫는다.

2016년 10월 9일 일요일

07-2. Motion Tracking System: 6 DoF

6DoF(Six degrees of freedom)는 Oculus rift에서 사용하고 있는 모션 추적 시스템이다.

* 위치 추적
  X = 좌/우
  Y = 상/하
  Z = 전/후

* 방향의 추적
  Pitch = X축으로의 회전 (고개를 끄떡임)
  Yaw  = Y축으로의 회전 (얼굴을 좌/우로 돌림. 도리도리)
  Roll  = Z축으로의 회전 (머리를 좌/우로 까닥거림)

6 DoF는 아래의 센서들을 활용하여 계산하게 된다.

* 자이로 센서(Gyro sensor): 물체의 회전 혹은 기울어진 정도를 감지하는 센서
* 가속도 센서(Acceleration sensor): 움직임의 방향과 그 크기를 감지하는 센서
* 자기장 센서(Magnetic sensor): 지구의 자기장을 감지하여 자신이 놓인 방향을 탐지.
* 키넥트 센서(Kinect sensor): 사용자의 3차원 움직임에 대한 감지

자이로 센서와 가속도 센서로 사용자의 해드 트레킹 및 핸드(컨트롤러) 트레킹이 가능하겠지만 일련의 오차에 대한 보정 그리고 머리와 손 이외의 전체적인 신체의 움직임을 감지여 보다 높은 정확도의 모션 인식을 위해 키텐트 센서를 이용하게 된다.


  Oculus Rift: Constellation tracking sensor


07-1. Motion Tracking System: Lighthouse

1) Lighthouse (2 base stations emitting pulsed IR lasers)

HTC Vive는 '라이트하우스(Lighthouse)라는 방식으로 사용자의 동작(정확히는 해드셋과 컨트롤러)을 인식한다. Lighthouse의 핵심은 Base station(우리말로 번역하면 '기지국'이라고 한다)에 있다. Base Station은 1초에 60회로 회전하면서 적외선 레이저(Infrared Laser: IR Laser)를 수평축과 수직축으로 발사하는 장치를 가지고 있다. 해드셋과 컨트롤러에는 이들 레이저를 인식하는 감지센서(photosensor)를 가지고 있다. 이 센서가 감지한 위치와 위치의 변화량을 가지고 이동 방향을 알게 된다. HTC Vive는 2개의 Base station을 이용함으로써 3차원 공간에서 움직임을 인식할 수 있게 되는 것이다.




싱크케이블(Sync cable)로 연결된 2개의 Base station에 의해 인식가능한 사각의 영역이 룸스케일(room scale)이 되며 이 영역을 사용자가 가상환경 내에서 인식하 수 있도록 해주고 있다.


Base station은 비콘(Beacon)이라고도 한다. 즉, 내가 어디에 위치해 있고 어떻게 움직여 가고 있는지를 펄스 레이저(Pulsed laser)를 이용하여 인식하여 거리와 위치를 측정하는 장치라고 생각하면된다. 이러한 원리를 이용해 2개의 Base station을 가지고 3차원 공간상에서의 거리와 위치 그리고 이동방향(회전을 포함해서)을 추적하는 것이다.