본문 바로가기
유니티/개념정리

ARCore 기본 개념정리 (SLAM, IMU, UI/UX 디자인, 주의사항)

by 유니티세상 2025. 1. 13.
ARCore는 캡처된 카메라 이미지에서 시각적으로 구분되는 특징인 특성을 감지하고 이 점을 사용하여 위치 변화를 계산합니다.시각적 정보는 기기 IMU의 관성 측정값과 결합되어 시간이 지남에 따라 전 세계를 기준으로 카메라의 포즈 (위치 및 방향)를 추정합니다.

 

 

SLAM(Simultaneous Localization and Mapping)

로봇이나 장치가 자신의 위치를 추정하고, 동시에 주변 환경의 지도를 생성하는 기술이에요. 초심자에게 쉽게 설명하자면, SLAM은 처음 가보는 어두운 방에서 손전등을 들고 움직이는 것과 비슷해요.

SLAM을 이해하는 단계별 설명:

  1. 위치를 찾기 (Localization)
    • 방 안에서 손전등을 비추며 "내가 지금 어디에 있는 거지?"라고 스스로 위치를 확인하는 단계예요.
    • 로봇이나 장치는 센서를 사용해서 주변 환경에서 특징(벽, 물체, 문 등)을 감지하고, 현재 위치를 계산해요.
  2. 지도를 그리기 (Mapping)
    • 손전등으로 비추는 곳마다 새로운 물건을 발견하고 이를 머릿속에 기억하면서 점점 방의 지도를 완성하는 단계죠.
    • 로봇은 카메라, 라이다(LiDAR), 혹은 다른 센서를 사용해 주변 환경의 구조를 기록합니다.
  3. 동시에 하기 (Simultaneous)
    • 중요한 건 이 두 가지(위치 찾기와 지도 그리기)를 동시에 해야 한다는 거예요.
    • 방에서 자신이 어디에 있는지 알아야 지도를 정확히 그릴 수 있고, 지도를 알아야 내가 어디 있는지도 정확히 알 수 있죠. 서로 의존적인 관계입니다.

SLAM이 필요한 이유

SLAM은 자율주행차, 로봇 청소기, AR/VR 기술 등에 필수적인 기술이에요. 예를 들어:

  • 로봇 청소기: 방 안을 돌아다니며 벽과 장애물을 감지하고, 청소 경로를 짜기 위해 SLAM을 사용해요.
  • 자율주행차: 도로의 구조와 장애물을 지도화하면서 자신의 위치를 계속 확인해요.
  • AR/VR: 사용자의 움직임과 주변 환경을 인식해 가상 오브젝트를 현실에 맞게 배치합니다.

IMU(Inertial Measurement Unit)

관성 측정 장치라고 불리는 센서

물체의 움직임방향을 측정하는 데 사용

 

IMU는 다음 두 가지 주요 센서를 포함하고 있어요


1. 가속도계 (Accelerometer)

  • 기능:
    • 물체가 얼마나 빨리 움직이는지(가속도)를 측정합니다.
    • 중력의 방향을 감지하여 물체의 기울기도 알 수 있어요.
  • :
    • 스마트폰을 세로에서 가로로 돌릴 때 화면 방향이 바뀌는 건 가속도계 덕분이에요.

2. 자이로스코프 (Gyroscope)

  • 기능:
    • 물체가 어떻게 회전하는지(각속도)를 측정합니다.
    • 기기의 방향 변화(예: 기울기, 회전)를 정밀하게 계산할 수 있어요.
  • :
    • VR 헤드셋에서 사용자가 고개를 돌릴 때 화면 방향이 바뀌는 건 자이로스코프 덕분이에요.

IMU의 역할

IMU는 이 두 가지 정보를 결합해서, 기기가:

  1. 어디로 이동했는지(위치 변화)
  2. 어떤 방향을 바라보고 있는지(회전 및 기울기)
    알 수 있도록 도와줘요.

ARCore에서 IMU의 사용

ARCore는 카메라가 촬영한 시각적 정보와 IMU 데이터를 결합해 정확한 카메라의 위치와 방향(포즈)를 계산합니다.

  • IMU가 제공하는 빠른 움직임 정보를 기반으로 움직임을 예측하고,
  • 카메라가 감지한 특징점을 사용해 이를 보정하는 방식으로 작동하죠.

ARCore는 테이블이나 벽과 같이 일반적인 수평 또는 수직 표면에 있는 것으로 보이는 특징점의 클러스터를 찾아 이러한 표면을 앱에서 기하학적 평면으로 사용할 수 있도록 합니다. ARCore는 각 기하학적 평면의 경계를 결정하고 이 정보를 앱에 제공할 수도 있습니다. 이 정보를 사용하여 평평한 표면에 가상 객체를 배치할 수 있습니다. ARCore는 특성 포인트를 사용하여 평면을 감지하므로 흰색 벽과 같이 텍스처가 없는 평평한 표면은 제대로 감지되지 않을 수 있습니다.

 

주의사항

ARCore는 특성 포인트를 사용하여 평면을 감지하므로 흰색 벽과 같이

텍스처가 없는 평평한 표면은 제대로 감지되지 않을 수 있습니다.

-> 전에 VR 전시회에 갔었던 적이 있었는 해당 장소에서도 바닥이 너무 하얘서 인식이 안되는 문제 발생함

 

특성점은 카메라가 보는 화면에서 눈에 띄는 점

예: 책의 모서리, 바닥에 있는 얼룩, 테이블 위의 작은 물건 등.

클러스터는 데이터나 객체들이 비슷한 특성을 가진 그룹으로 모여 있는 상태

별 하나하나가 특성점이고, 별들의 무리가 클러스터

 

평면을 찾는 방법은 다음과 같아요:

  1. 주변의 특성점들이 서로 모여있는 패턴(클러스터)을 확인.
  2. 이 점들이 서로 수평(바닥, 테이블) 또는 수직(벽)으로 정렬되어 있는지 분석.
  3. 이를 통해 "여기가 평평한 표면이구나!"라고 판단합니다.

 

 

한줄 요약

SLAM

"내가 어디에 있는지 알면서 동시에 내가 있는 곳의 지도를 그리는 기술"

IMU

 "움직임과 방향을 실시간으로 알려주는 센서"

 

 


참고)

기본 개념

https://developers.google.com/ar/develop/fundamentals?hl=ko


쉐이딩

https://developers.google.com/ar/design/content/realism?hl=ko

 

UX에 관련된 내용

https://developers.google.com/ar/design/interaction/ux?hl=ko

 


내가 어디있지?

 

이런 발상 자체가 현실세계에서부터 온다

외우려 하지 말고 이해하고 공감하기