본문 바로가기

자율주행 위치인식 기법

1. SLAM (Simultaneous Localization and Mapping)

 
SLAM은 로봇이 주행과 동시에 주행지도를 작성하며 이를 바탕으로 현재 로봇의 위치를 추정하는 기법을 말한다. 현재 위치 인식이 중요한 자율 주행 로봇과 자동차 분야에서 중요하게 연구되고 있는 주제 중 하나이다. 로봇에 장착된 센서의 종류와 주행하는 환경에 따라서 수많은 방식의 SLAM 알고리즘이 제안되었다.
 

자율주행 위치인식 기법

 
기본적인 SLAM의 방식으로는 바퀴의 Wheel encoder와 IMU센서를 활용한 dead reckoning방식이 있다. 가장 간단하게 구현이 가능한 방식이지만 바퀴의 미끄러짐과 IMU센서의 적분오차 누적에 의하여 위치인식 오차가 누적이 되는 한계와 이를 보정할 수 있는 수단이 없다는 단점이 있다.
대표적인 SLAM기법 중 하나는 LIDAR(Light Detection And Ranging)센서를 활용한 방식으로 원거리의 넓은 센싱 각도의 데이터를 정확히 센싱이 가능한 특성을 바탕으로 SLAM에 널리 사용되고 있는 방식이다. Laser를 사용하기 때문에 원거리의 물체의 구조의 특징을 정확히 잡아낼 수 있고 넓은 면적의 데이터를 한 번에 센싱 가능하기 때문에 프레임 간의 차이를 정확히 추정이 가능한 장점을 가지고 있다.
 
하지만 1채널 LIDAR는 센서가 장착된 높이 평면에 대한 데이터만을 센싱할 수 있다는 한계를 가지고 있으며 다채널 LIDAR는 실생활에 활용하기에 아직  고비용의 센서이기 때문에 이를 활용하기에 한계가 있다. 또한 광학 센서의 한계로 Laser가 반사할 수 있는 물체 또는 투과하는 투명 물체에서 센싱 오차가 발생하며 이는 위치추정의 성능 저하에 직접적인 영향을 끼친다.
 
이를 개선하기 위하여 이미지센서(ex. Mono, Stereo, Depth camera)를 활용한 영상기반 SLAM에 대한 연구가 활발히 진행되고 있다. 영상기반 센서를 활용한 SLAM의 대표적인 방식은 특징점(Feature Point)기반 방식으로 영상에서 다른 특징점과 구분이 가능한 특징점을 프레임별로 트래킹하여 이동로봇의 프레임 간 위치 차이를 추정하는 방식이다. 일반적으로 특징점이 유의미하게 변화하는 프레임을 키프레임으로 등록하여 현재 프레임과 이전 키프레임과 비교하여 이전 데이터간 상관관계를 graph에 저장하여 로봇의 위치를 추정하는 방식을 사용하며, 그 상관관계를 업데이트하는 G2O 알고리즘을 사용하여 실시간 위치 보정하는 방식이 사용된다. 위치 오차의 누적으로 인한 오차를 최소화하기 위하여 이전 키프레임 중 현재 키프레임과 일치되는 키프레임을 확인하여 그 동안 이동한 궤적의 상관관계를 업데이트하는 Loop closing방식도 사용이 되고 있다. 하지만 이전에 센싱된 위치라면 정확히 위치 인식이 가능하지만 지속적으로 다른 방향으로 진행하거나 비슷한 환경이 계속되는 환경에서는 오차가 누적되어 정확한 추정이 힘들다는 단점이 있다. 또한 각 키프레임을 지속적으로 비교를 하며, 누적된 키프레임을 저장하고 있어야 하기 때문에 많은 프로세싱 연산량과 키프레임을 모두 저장할 많은 저장공간이 필요하다.
 

2. Semantic SLAM

 
사람이 공간에서 자신의 위치를 인식할 때는 아래 [그림]에서와 같이 주위의 사물(Ex. 가구, 전자제품 등)과 구조(벽, 창문, 문 등)를 영상에서 인식(Ventral stream)한 후 mental map을 먼저 작성한다. 그리고 mental map에 저장된 사물들의 상대적 위치를 바탕으로 현재의 위치를 인식하는 순으로 위치를 인식(Dorsal stream)한다.
 
자율주행 위치인식 기법
 
이동로봇도 사람과 유사하게 위치인식에서 필요한 요소들의 의미적인 상관관계를 주행 지도에 작성하여 mental map과 유사한 semantic map을 만들 수 있다.
 
사물들의 정보를 영상에서 인식한 후 그 위치를 주행 지도에 저장을 하여 주행이 끝난 뒤 그 정보 간의 상관관계를 파악하여 Semantic map을 작성할 수 있다. 이를 기반으로 공간의 분할, 공간의 의미, 공간 간 상관관계 등을 추정할 수 있으며, 로봇이 주행한 영역을 다시 주행할 시 그 데이터를 통하여 로봇의 위치 재인식도 가능하게 된다. 이를 위하여 기존 SLAM에서 사용하는 주행지도와는 달리 Semantic 정보를 저장할 수 있는 Semantic Map에 대한 설계 및 정의가  필요하다.
 
Semantic기반 SLAM의 기존 연구로는 사물인식을 통한 방법과 영상 Feature의 구성을 통한 방법이 대표적이다.
사물인식을 통한 방법은 일반적으로 Semantic기반 SLAM에서 사용하는 방식으로 고정된 사물의 위치를 인식하여 이동로봇의 현재 위치를 인식하는 방식이다. Bowman, Sean L, et al.은 문과 의자를 인식하여 위치를 보정하는 방법에 대하여 제안을 하였다. 센서는 IMU와 Monocular Camera를 활용하였으며, Tracking 알고리즘은 ORB Feature tracking을 사물인식은 DPM(Deformable Parts Model)을 활용하였다. 그리고 Salas-Moreno, Renato F., et al.은 RGBD카메라에서 센싱되는 3D 센서 데이터를 Elastic Fusion 방식을 활용하여 Tracking하였으며, CNN을 이용하여 사물을 인식하였다. 인식된 사물을 3D Feature map에 다시 매핑하여 사물의 위치를 정확히 매핑하는 방법에 대하여 제안하였다
 
영상 Feature의 구성을 통한 방법은 일반적인 Feature point기반의 SLAM에서 확장하여 1차원정보(선)를 활용하여 SLAM기법에 대하여도 제안이 되었다. Zhang and Suh[6]는 바닥과 벽면의 line feature를 기반으로 SLAM을 하고 여기에서 사물마다 다른 line feature 구성을 가지는 특성을 활용하여 사물을 인식하는 방식을 제안하였다.
 
 

 

facebook twitter kakaoTalk kakaostory naver band

본 사이트는 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.

Copyright © 생생정보 All rights reserved.