[SLAM] 3. SLAM의 종류

happy_quokka·2023년 11월 20일
0

SLAM

목록 보기
4/28

1. SLAM에서 사용할 수 있는 센서

Sensor

  • proprioceptive sensor : 자기 자신의 움직임 감지
  • exteroceptive sensor : 외부 정보 감지
  • 이 두개를 조합하여 최적의 위치, 지도 정보를 추정하는 것이 SLAM
  • 모든 센서는 노이즈를 가지고 있다

proprioceptive sensor

wheel encoder

  • 바퀴에 달려있어서 바퀴의 회전량 측정
  • 회전량 측정 방법 : brush, optical(빛 이용) 등
  • 회전량 * 바퀴 둘레 = 이동량
  • 모든 자동차에 탑재가 되어 있다
  • 드론의 경우 날개의 모터에 탑재된 경우가 많다
  • dead reckoning
    • wheel encoder를 사용하여 위치 추정하는 방법
    • motion값을 누적하여 차체의 위치 추정
    • 시간이 지날수록 위치 추정값에 에러가 누적된다
    • gps 정보로 노이즈를 제거할 수 있지만 실시간 주행에 사용하기에는 위험하다
  • wheel encoder의 오차 생성 이유
    • 기본 센서 노이즈
    • 비, 눈의 바퀴 미끌림 -> 센서 오차
    • 동승자의 무게로 인해 타이어의 둘레 변경
    • 코너 시 각각 타이어의 둘레가 바뀔 수 있다

IMU sensor

  • linear accelerator(선형 가속도 측정) + angular gyroscope(각속도 측정) 센서가 혼합된 센서
  • 관성을 측정하는 센서
  • spring-damper system의 원리를 이용해서 관성 측정 -> 이를 칩으로 만든게 imu 센서
  • MEMS imu
    • 진동을 읽어서 전기신호로 변환하는 형태
    • 주로 스마트폰, 로봇, 드론 등 소형 디바이스에 사용
  • Optical system
    • 빛을 이용
    • 온도, 자기장 변화에 강인
    • 자동차에 사용
  • exteroceptive sensor와 결합하여 사용하는 것이 유행
    • imu를 통해 얻은 proprioceptive 정보를 카메라, 라이다 기반의 odometry에 결합하여 조금 더 정확한 결과를 빠르게 얻어내기 위해
  • 장점
    • 저렴 (자동차용은 저렴하지 않음, 모든 자동차에 탑재되어 있지는 않다)
    • 높은 sensitivity
    • 빠른 속도 : 높은 FPS (100~4000Hz 차량의 경우 200~800)
  • 단점
    • 오차가 누적된다
    • 엄청나게 빠른 drift 누적
    • 보정을 위해 camera, lidar, gnss와 함께 사용

exteroceptive sensor

GNSS

  • Global Navigation Satellite System
  • GPS라고 부르기도 하는데 사실 GPS는 미국의 GNSS를 칭하는 것
  • GNSS는 지구에 있는 sensor receiver의 위치를 알아내는 것이 목적
  • 비콘 기반의 위치 추정 센서 (인공위성과의 통신을 이용)
    1. 센서에서 신호를 보냄
    2. 인공위성이 받음
    3. 주변 인공위성과 통신 수행
    4. 통신을 보낼 때와 받을 때의 시간 차이를 이용해서 거리계산 (거리=시간*속도)
    5. 여러 위성들과 GNSS 센서 사이의 거리를 구하면 삼각측량을 통해 GNSS가 지구의 어디에 있는지 알 수 있다.
    6. 이를 통해 센서의 위치를 파악할 수 있다.
  • 인공위성은 지구가 자전함에 따라 따라서 같이 움직이기 때문에 항상 같은 위치에 있다고 볼 수 있다.
  • 우리나라는 아직 독자적인 시스템은 없고 미국, 일본의 시스템을 사용중이다. 한국 GNSS 기술인 KPS를 만들고 있는 중이다.
  • 장점
    • 저렴, 사용하기 쉬움
  • 단점
    • 부정확함(10~20m 오차) : 측위오차는 인공위성과 통신 중에 간섭이 나타나서 생긴다. 주변에 송수신 탑을 건축하면 오차를 줄일 수 있다.
    • RTK-GPS(휴대용 송수신탑), DGPS를 사용할 경우 오차가 cm 단위로 줄지만 비쌈
    • 고층 빌딩 사이에서 multi-path 문제 (빌딩 벽에 반사되면서)
    • 실내, 지하 사용 불가능 (신호가 벽에 막힌다)

LiDAR

  • Light detection and ranging sensors
  • 적외선 레이저를 쏘고 반사 시간을 측정하여 거리를 추정하는 센서
    • 레이저 방식 : time-of-flight, phase shift, frequency modulation
    • 스캐닝 방식
      • mechanical scanner : 센서가 회전하면서 데이터 수집 / 센서값을 읽고있는데 물체가 움직이면 문제 발생 (rolling effect)
      • solide state scanner, flash LiDAR : 주변 환경을 전부 보기 위해서는 다수의 라이다를 부착해야함
  • 주변 환경을 3D point cloud 형태로 바로 알 수 있다
  • 장점
    • exteroceptive 센서 중 가장 멀리볼 수 있고 정확한 편
    • 자율주행 라이다는 ~100m 유효거리
    • 빛의 파장이 일어나지 않기 때문에 낮, 밤 사용 가능
  • 단점
    • 비싸다
    • 거리에 따라 정확도가 다르다는 문제가 있다
    • 카메라에 비해 resolution이 낮다
    • 눈, 비, 안개에 영향을 받는다
    • multi-path 문제 : (고인 물에 의해 반사되어 앞의 물제에 튕기고 다시 돌아오는 문제 -> 위치를 잘못 추정할 수 있다)

RADAR

  • Radio detection and ranging sensor
  • 전파 측정
  • doppler 효과를 이용하여 물체의 속도 추정 가능 (doppler가 0일 때는 사용 x)
  • 장점
    • 조명에 대한 영향x
    • 날씨에 영향을 받지 않는다.(작은 물체에 회절하지 않아서 -> 작은 물체를 인식하지 못하기도 하다)
  • 단점
    • 작은 물체 감지 실패
    • LiDAR 보다 낮은 해상도
    • multi-path 문제
  • tesla는 레이더를 사용하지 않는다. 비전 시스템이 레이더 기술을 상회하기 때문(그만큼의 하드웨어가 받쳐준다)

Ultrasound (초음파)

  • 유효거리가 길지 않고 노이즈가 있음
  • 벽 감지 센서로 많이 사용함
  • 장점
    • 저렴
    • near-range에서 잘 작동
  • 단점
    • 물체의 형태를 잘 추정하지 못함
    • 노이즈

Camera

  • 광센서(photo diode)를 이용해 빛 신호를 받고, debayering 프로세스를 통해 RGB 색 재구성
  • 장점
    • 저렴
    • 좋은 성능 : dense data(모든 픽셀이 구조적, 값을 가짐, rich data라고도 함, 룰을 잘 만들면 정확한 추론 가능), texture, color, high-FPS
    • 렌즈 교환을 통해 시야각 변경 가능
    • 사람이 보는 시야와 가장 유사함 : 시각화 좋음
  • 단점
    • depth 정보 소실
    • 조명 영향

Microphones

  • 공기의 진동을 transducer 센서를 통해 전기 신호로 변환하는 센서
  • 여러개의 마이크를 통해 소리의 근원에 대한 위치를 계산 가능
  • 장점
    • 유일하게 소리 정보를 사용하는 센서
    • 저렴
  • 단점
    • 잡음이 심함
    • geometry 부정확

2. SLAM의 종류

SLAM의 종류

  • exteroceptive sensor에 따라 종류가 달라진다
  • Visual-SLAM / VSLAM
    • 카메라 센서 사용
    • 이미지를 이용하는 SLAM
  • LiDAR SLAM
  • RADAR SLAM
  • exteroceptive sensor를 여러개 사용할 수도 있다. 이럴때는 센서 이름을 나열하여 부른다

Visual-SLAM

  • 카메라를 사용하는 SLAM
  • 카메라 이미지를 딥러닝 네트워크의 입력으로도 사용하고 SLAM도 동시에 사용할 수 있다.
  • 2D 이미지에서 3D 공간 재구축 (주로 texture 정보 사용)
  • 장점
    • 저렴
    • 센서의 성능을 조절하기 쉽다 (렌즈 교체 -> 시야각, 초점, 노출 시간)
    • 센서 속도가 빠른 편 (30 ~ 60fps)
    • 이미지 기반 딥러닝 적용 가능
    • 이미지로 사람이 이해하기 쉬운 시각화 가능
  • 단점
    • 갑작스러운 빛 변화에 대응 불가능
    • 시야가 가려지거나 어두운 곳에서는 사용 불가능

슬램을 잘하기 위해서는 센서가 어떤 노이즈 특성을 가지고 있는지 파악하여 정확하게 확률을 추정해야한다.

VSLAM Sensors

  • camera는 3d 물리정보를 2d 이미지 정보로 변환 -> 카메라의 노이즈 특성은 이 과정의 한계에서 생기는 것일거다! (카메라 센서칩, 카메라 렌즈)
  • camera = camera device + lens
  • 카메라 구성(configuration) 종류
    • monocular camera : 1 camera
    • stereo camera : 2 camera / multi camera - N cameras
    • RGB-D Camera (depth camera)

monocular VSLAM

  • 1대의 카메라에서만 이미지를 받는다
  • 연구용 알고리즘이라는 인식이 있다
  • 장점
    • stereo / multi camera VSLAM 보다 저렴 (센서 가격, 전력 소비량, 이미지 데이터 송수신 대역폭 등)
  • 단점
    • scale ambiguity : 3d 공간을 실제 스케일로 추정할 수 없다, up-to-scale로만 추정 가능 (실제 scale에 비례해서만 생성할 수 있다)
    • 이를 해결하기 위해 metric scale을 가진 proprioceptive sensor가 필요 (metric scale : 실제 세상에서 통용되는 미터 단위의 스케일) -> VIO(visual + imu)와 같은 방법이 있다
    • 최근 딥러닝 기반 monocular depth estimation으로 문제를 해결하려는 시도가 있었다

stereo / multi camera VSLAM

  • 2대의 카메라를 사용
  • 인접한 카메라들간의 baseline 거리를 이용하여 삼각측량을 통해 metric scale의 거리 / 길이 추정 가능
  • 장점
    • 두 이미지간의 disparity 정보를 이용해서 픽셀마다 depth를 추정할 수 있다
    • metric scale의 3D 공간 복원 가능
  • 단점
    • baseline이 정확하지 않으면 오차 발생 but! baseline을 완벽하게 알 수 없기 때문에 섬세한 calibration 과정을 거쳐야한다
    • 카메라 설정 및 calibration이 어렵다
      • 모든 카메라는 동시에 이미지를 취득해야한다 (synchoronized cameras)
      • baseline이 충분이 길어야 먼 거리의 3D 공간을 정확하게 측정 가능
      • 카메라들마다 intrinsic / extrinsic calibration을 정확하게 해야한다 (이 과정이 불가능하기도 하다, 차 한대씩 calibration을 수행해야한다)
    • 모든 픽셀마다 disparity 정보로 depth를 계산하는데에는 많은 계산량이 필요하며 이를 위해 GPU나 FPGA 계산을 요구하기도 한다

RGB-D Camera VSLAM

  • 구조광 또는 ToF(Time of Flight) 센서를 이용한 카메라를 사용(10m 정도의 depth를 구할 수 있다)
    • 구조광 센서 : 적외선 레이저를 쏘고 이를 읽어서 레이저가 어디에 맺히는지 확인 / 가까이있는 물체는 레이저가 가까이 맺혀서 크게 보이고 멀리 있으면 작게 보임 / 크기 정보를 통해 거리 측정
    • ToF 센서 : 레이저를 쏘고 반사되서 오는 시간을 통해 거리 측정
  • Dense mapping을 많이 하는 편이다
  • RGB 이미지와 depth정보를 한번에 얻을 수 있지만 RGB 이미지와 depth 이미지는 같지 않다 (baseline을 가지고 떨어져 있기 때문!) 또한 둘의 해상도가 다를 수 있다. 그래서 이 둘을 겹치게 하기 위해 추가적인 정합 작업 필요
  • 장점
    • depth 데이터를 통해 3D 공간을 metirc scale로 실시간 복원 가능
  • 단점
    • ~10m 정도에서만 depth 데이터가 정확
    • field of view 가 작다
    • 실외에서 사용 불가능 : 적외선 파장이 햇빛과 간섭으로 인해 depth 정보가 불안정

0개의 댓글