**Autonomous driving tech./Learning

[Paper review] A Study on Multi Sensor Based SLAM Alorithm for the Improvemnet of Obstacle Recognition

2wnswoo 2024. 12. 8. 12:00

0. Abstract

( Background ) 로봇 산업의 발전은 오래전부터 산업용에서 개인용 로봇으로, 소형화하고 안정화되어 우리의 삶에 들어오는 방향으로 발전했다. 실내 환경에서 로봇이 자유롭기 위해서는 필연적으로 센서를 이용해 지도를 작성하는 SLAM( Simultaneous Localization And Mapping ) 기술의 발전이 요구된다.

 

( Problem ) SLAM 알고리즘은 대부분 LiDAR 센서 기반으로 연구되어 왔는데, LiDAR 센서의 특성상 빛에 민감한 재질들은 감지가 어렵다. 그 중에 가장 크게 부각되는 단점이 유리 인식이 어렵다는 점이다. 이러한 단점은 실내에서 큰 문제점이 된다.

 

( Purpose ) LiDAR 센서 이외의 장애물 감지 수단을 추가해 개선한 알고리즘 제안

 

( Previous research ) LiDAR 센서의 한계점은 고전적인 문제점이므로 이를 극복하기 위한 연구는 오래전부터 진행되어 왔다. 극복을 하기 위해 가장 많이 사용된 센서는 Radar와 초음파 센서로 분류 할 수 있다.

 

가) LiDAR 센서 + Radar 센서 [1]

  Radar 센서는 장애물이 아닌 미세한 먼지 등 까지도 인식해 오히려 지도를 그리는데 불리하다.

나) LiDAR 센서 + 초음파 센서 [2]

  초음파 센서와 장애물 거리과의 거리와 Lidar 센서와 장애물 사이의 거리가 일정범위를 넘어간다면, 유리가 있다고 판단해 유리를 인식하는 방법. 유리 뒤에 물체가 있다는 것을 기준으로 실험을 진행 하였기 때문에 유리벽은 인식할 수 없다는 단점이 있다.

 

각각 센서를 더해도 완벽하지 않다. 본 연구는 그러한 단점도 극복하기 위해서 다중센서 융합을 이용해 LiDAR 센서의 한계를 극복하고자 한다.


1. Introduction  to SLAM and its types

위치 추정에 사용되는 센서로는 Encoder 와 Inertial Measurement Unit, IMU 가 있다. Encoder는 구동부인 바퀴의 회전량을 측정하여 추측항법( Dead reckoning )을 통해 로봇의 위치를 근사값으로 계산한다. 이 부분에서 오차가 발생하는데 IMU를 이용하여 위치 정보 오차를 보상한다.

 

이러한 위치 추정은 지도를 작성할 때 사용되는 거리 센서나 카메라를 통해 얻은 주변 환경의 정보를 기반으로 다시 한 번 위치 보정을 한다. 이 위치 추정 방식으로는 Kalman filter, Markov Localization, Particle filter를 이용한 Monte Carlo Localization 등이 존재한다.

 

지도 작성에 사용되는 센서로는 대부분 LiDAR 센서가 사용되며, 초음파 센서, 적외선 스케너 등도 사용된다.


2. Things i didn't know while studying

*희소행렬(Sparse Matrix) :

대부분의 원소가 0인 행렬을 말합니다.


*자코비안(Jacobian) :

다변수 함수에서 편미분을 모은 행렬입니다. 즉, 여러 개의 변수에 의존하는 함수의 변화율을 나타내는 행렬입니다. 특히 다변수 함수미분을 다루는 데 사용됩니다.

Example01

--

Example02


*Why seperate front-end and back-end? : 

 

  • 프론트엔드는 여행 도중 사용하는 지도 작성 도구로, 현재 어디 있는지 대략적으로 추정하는 역할
  • 백엔드는 여행을 마친 뒤 전체 경로를 복기하며 일관된 완성된 여행 지도를 만드는 역할

프론트엔드와 백엔드를 나누면 SLAM 시스템을 더 체계적이고 효율적으로 설계 가능하다.  실시간 성능을 유지하면서도 높은 정확도의 맵핑과 위치 추정을 구현하기 위해 이러한 분리가 중요


*Odometry :

이동하는 로봇이나 차량의 위치( position ) 와 방향( orientation )을 시간에 따라 추적하는 기술입니다. 주로 로봇공학, 자율주행차, 드론 등에서 사용되며, 로봇의 기초적인 위치 추정 방법 중 하나입니다.

 

오도메트리는 주로 상대적인 위치 추정에 초점이 맞춰져 있습니다. 로봇이나 차량이 이전 상태에서 현재 상태로 얼마나 이동했는지 계산하는 방법

 

 

  1. 오도메트리와 SLAM의 차별점:
    • 오도메트리:
      • 로봇의 상대적 위치만 계산. 내가 얼마만큼 이동했는지를 나타내는 기술
      • 시간이 지나면 오차가 누적됨.
      • 로컬 좌표계 사용 ( 로봇의 움직임에 따라 좌표계가 이동 )
      • 바퀴의 회전수, IMU 데이터 등으로 이동 거리와 방향을 추적.
    • SLAM:
      • 고정된 글로벌 좌표계에서 로봇의 위치를 추정하고, 동시에 환경의 맵을 생성하거나 업데이트하는 기술
      • 오도메트리 데이터를 활용하지만, 글로벌 환경 정보를 기반으로 오차를 보정.
      • 루프 클로징과 같은 기법을 통해 맵과 위치의 일관성을 유지.
      • 글로벌 좌표계 이용 ( 기준점이 고정되어 변하지 않음 )
      • 맵과 위치를 동시에 추정:
        • 로봇이 어디 있는지( Localization ).
        • 주변 환경이 어떻게 생겼는지( Map ).
        • SLAM은 위치 추정뿐만 아니라, 맵핑( mapping )이라는 추가적인 목표를 포함합니다. 이는 오도메트리의 한계를 극복하기 위해 설계된 기술입니다.

3. Challenging points

라즈베리 파이 성능 문제로 IMU 센서 데이터 개입의 최소화하여서 Odometry가 정확하게 진행되지 않아 로봇이 자신의 위치를 정확히 파악하지 못함. 그에 따른 정확한 지도 구현이 어려워 반복적 실험 할 수 밖에 없었음.

 

YRL3-20 LiDAR 데이터가 3D로 출력이 되는데 지도는 2D로 작성할 수 있어 3D 데이터를 2D로 변환할 때 오차가 생겼고, 시뮬레이션에 비해 실제 실험에서는 데이터 전송 속도가 각 센서별로 달라 정확한 매칭이 어려웠다고 함.

 

추후 연구에서는 이러한 점을 개선하고, 인식되는 물체를 학습을 통해 분류하여 구분을 해서 주행에도 간섭을 할 수 있도록 할 것이라고 함.