본문 바로가기

카테고리 없음

바닥의 패턴을 사용한 로봇의 위치인식 방법

얼마전 호텔의 한 식당에서 회의가 있어 서울의 모 호텔에 간 적이 있습니다. 회의시작시각이 좀 남아 호텔 로비에서 기다리고 있었습니다. 그런데 로비 바닥에 대리석으로 장식된 패턴을 보고 갑자기 생각이 떠올랐는데, 이런 바닥의 패턴을 보고 로봇이 위치를 알 수 없을까 하는 것이었습니다. 제가 로봇의 자율주행이나 위치인식에 관심이 많다보니 이런것만 보이나 봅니다.

 

지금 로봇의 위치인식은 천정이 대세입니다. 천정의 형광등을 보고 위치를 알아내거나 천정에 랜드마크를 붙이고 위치를 알아내는 등 천정의 특징을 이용하게 되는데, 이게 잘 안될 때가 종종 있습니다. 바로 천정이 높거나 불규칙적인 경우 혹은 아예 천정이 없는 경우겠죠. 호텔 로비나 전시장과 같이 천정이 높고 주위가 넓은 공간에서는 벽이나 천정에 랜드마크를 붙이고 이를 기반으로 로봇의 위치를 파악하는 것은 불가능합니다 이럴 때는 바닥의 패턴을 인식하여 로봇의 위치인식에 활용 가능하리라 봅니다.

 

다음은 관련 문서입니다.

Mapping Floor Points.pdf
0.20MB
Particle filter Localization(FP).pdf
0.28MB

 

구현한 소스코드도 참조하시기 바랍니다. 프로그램은 크게 이미지 평면의 점을 바닥의 점으로 매핑 하는 부분과 파티클 필터로 지도와 매칭하여 로봇의 위치를 추정하는 부분입니다. 아직 매핑하는 부분은 구현되지 않았으며, 로봇 전방의 임의의 격자에서 패턴을 읽어온다고 보고 프로그래밍 하였습니다.

FloorPatternLocalization.zip
0.05MB

 

* 이 프로그램을 실행하기 위해서는 Mobile Robot Simulation 프로그램이 필요합니다.

 

프로그램을 컴파일하여 실행한 동영상입니다.