보안 제품정보


혼잡한 인파 속에서도 원활히 이동하는 지능형 자율이동 로봇 2011.10.18

머리말

\r\n

로봇산업의 발전으로 인해 경비 로봇이나 간호 로봇 등 자율이동 로봇의 도입이 기대되고 있다. 일반적으로 이동 로봇이 자율적으로 네비게이션을 실시하기 위해서는 장애물의 위치 정보 등을 나타낸 지도의 구축과 지도를 이용한 자기 위치 추정이 필요하다. 미지의 환경에서 이동 로봇이 자율적으로 지도 구축 및 자기 위치를 추정하는 것은 SLAM(Simultaneously Localization And Mapping), 행동 계획을 시행하는 것은 네비게이션이라고 불리며, 예전부터 널리 연구되어 왔다.

\r\n

SLAM·네비게이션에 있어서의 기존 방법의 상당수는 레이저 측역 센서를 이용하고 있었다. 측역 센서를 이용한 수법은 난잡하지 않고 폐쇄된 환경에서는 적용할 수 있지만, 기복이 많은 환경이나 혼잡한 환경에서는 충분한 성능을 발휘하지 못했다. 더욱이 측역 센서는 고가이기 때문에 측역 센서를 탑재한 자율이동 로봇의 도입에는 많은 비용이 필요했다. 그래서 최근 특히 주목 받고 있는 것이 카메라를 이용한 방법이다. 카메라로부터 얻을 수 있는 정보는 풍부하며, 환경에 관한 많은 정보를 얻을 수 있다. 더욱이 최근에는 카메라의 소형화·저가격화에 따라 로봇이나 휴대전화 등 다양한 디바이스에 탑재할 수 있게 되었다. 그러한 카메라를 이용한 방법의 상당수는 화상의 국소적인 특징점으로써 코너 점이나 SIFT 등을 랜드마크로 이용하고 있었다.

\r\n

그러나 그러한 시스템에서는 역 구내나 쇼핑몰과 같이 불특정 다수의 사람이 뒤섞인 환경 속에서는 안정된 지도 구축 및 자기 위치 추정을 할 수 없었다. 그 이유로는 혼잡한 환경 속에서 화상으로부터 특징점을 추출했을 경우, 인간과 같이 움직이고 있는 것으로부터도 특징점이 추출된다는 점을 들 수 있다. 그러한 특징점을 랜드마크로 인식하면 지도 구축 및 자기위치 추정에 오류가 발생해 알고리즘이 깨져 버린다는 문제가 일어난다. 그 때문에 현재 실용화되어 있는 기술에서는 혼잡한 인파와 같은 변동 요인이 많은 환경에서 이동 로봇을 가동시키기 위해서는 미리 바닥에 유도 라인을 긋는 등의 사전 작업이 필요했다.

\r\n

그래서 필진은 단안 카메라에서 연속적으로 취득한 복수의 화상과 오드메트리(타이어의 회전각을 이용한 자기위치 추정)의 정보로부터 안정된 3차원 상의 특징점을 추출함으로써, 혼잡한 환경 속에서도 안정된 SLAM·네비게이션을 실시하는 방법을 구축했다. 또한, 이 방법에서 이동 로봇은 학습 단계와 네비게이션 단계라고 하는 처리를 실시한다. 학습 단계는 인간이 조종하여 로봇을 이동시키고, 로봇에게 통과할 수 있는 경로를 기억하게 하는 단계이고, 네비게이션 단계는 기억한 경로 상에서 행동계획을 실시해 임의의 위치에 자율적으로 이동하는 처리단계다. ‘인파가 혼잡한 상황에서의 가동 실험’ 결과에서는 이 방법을 이용함으로써 불특정 다수의 사람이 뒤섞인 혼잡한 환경 속에서도 이동 로봇이 경로를 학습해 자율적으로 행동할 수 있다는 것을 알 수 있다.

\r\n


\r\n

혼잡한 환경 속에서의 SLAM·네비게이션 방법

\r\n

이 방법에서는 센서로 단안 전방위 카메라와 인코더를 이용해 지도 구축을 시행한다. 또한 환경으로 역 구내나 쇼핑몰과 같은 불특정 다수의 사람이 뒤섞인 혼잡한 환경을 상정한다. 그러한 혼잡한 환경 속에서는 움직이고 있는 사람 등으로부터 많은 특징점이 추출되기 때문에, SLAM를 실시하는 것은 굉장히 어렵다. 그래서 여기에서는 카메라로부터 얻을 수 있는 특징점으로 사람이 많은 혼잡한 환경 속에서도 안정되게 얻을 수 있는 3차원 상의 특징점을 이용하여 혼잡한 환경 속에서도 안정적으로 SLAM·네비게이션을 실시할 수 있다. 필자들이 구축한 시스템을 그림 2에 나타낸다.

\r\n


\r\n

혼잡한 환경 속에서도 안정된 3차원 상의 특징점 추출

\r\n

화상을 이용한 SLAM에서 많이 이용되고 있는 특징점으로 SIFT와 코너 점이 있다. 일반적으로 SIFT와 코너 점 등의 국소 특징점은 대응부를 얻기 쉽고, 화상을 이용한 SLAM에 적합하다. 그러나 불특정 다수의 사람이 뒤섞인 혼잡한 환경 속에서 로봇이 취득한 화상으로부터 그러한 특징점을 추출하면, 움직이고 있는 인물로부터의 특징점이나 로봇이 조금 이동한 것만으로 관측할 수 없게 되는 불안정한 특징점이 많이 추출된다고 하는 문제가 있었다. 그러한 불안정한 특징점이 많으면 지도 구축, 자기위치 추정에 악영향을 미치는 문제가 발생한다.

\r\n

그래서 최근 필자들은 PIRF(Position Invariant Robust Feature)라고 하는 특징량을 제안했다1)2). PIRF는 여러 장의 연속 화상으로부터 SIFT를 추출해 연속적으로 매칭되고, 모든 화상에서 매칭된 특징점 만을 추출하는 수법이다(그림 3). PIRF는 로봇의 이동에 대해 외형의 변화가 작은 부분을 특징점으로 추출할 수 있고, 반대로 움직이고 있는 인물 등으로부터 추출되는 외형의 변화가 큰 부분의 특징점을 제외할 수 있다는 장점이 있다.

\r\n

그러나 PIRF는 화상으로부터 추출되는 화상의 특징점이며, 직접 SLAM에 적용할 수 없다. 그래서 여기에서는 연속 화상의 특징점에 오드메트리의 정보를 조합함으로써 PIRF를 3차원 공간에 매핑하는 수법을 구축했다. 이후, 이 3차원 공간에 매핑한 특징점을 3D-PIRF라고 부른다. 그림 4는 3D-PIRF의 개념도를 나타내고 있다. 3D-PIRF는 여러 스텝에 있어서 로봇이 취득한 연속 화상과 각 스텝 간의 오드메트리 정보로부터 3차원 상의 특징점으로 추출된다. 또한, 3차원 위치의 추정에는 많은 과거의 관측 데이터가 필요하기 때문에 로봇의 현재 상태 밖에 보관·유지하지 않는 카르만 필터 등의 수법을 사용할 수 없다는 문제가 있다. 그래서 여기에서는 SWF(Sliding Window Filter)3)를 이용한 정식화를 실시해 특징점의 위치 추정을 실시했다. SWF는 카르만 필터 등의 온라인형 수법과 과거 모든 데이터를 이용하는 배치형 수법의 중간적인 수법으로 일정기간보다 오래된 자세 및 특징점을 주변화해 소거해 나감으로써, 계산시간을 일정하게 유지할 수 있다는 특징이 있다. 이를 이용하여 연속 화상과 오드메트리의 정보로부터 3D-PIRF의 3차원 위치를 추정할 수 있게 된다.

\r\n


\r\n

국소 지도를 이용한 하이브리드 지도의 구축

\r\n

SLAM은 크게 나누면 지도를 연속적인 공간 배치로 나타내는 메트리컬 수법과 지도가 이산적인 그래프 구조로 나타내지는 토포로지컬 수법, 그것들을 조합한 하이브리드 수법이 있다. 하이브리드 수법에서는 각 노드가 국소적인 메트리컬 지도의 정보를 가지는 토포로지컬 지도가 구축된다. 여기에서는 하이브리드 수법을 이용한다. 하이브리드 수법은 그래프 구조를 가지기 때문에 경로 계획이 용이하고, 거리 정보도 이용할 수 있기 때문에 최단경로의 탐색 등 보다 고도의 경로 계획을 실시할 수 있는 특징이 있다. 이번 방법에서 구축하는 하이브리드 지도는 그림 2의 그림 안에 나타내는 것이다. 로봇 경로는 노드와 엣지에 의한 그래프로 나타내지므로 각 노드는 노드 위치 주변에서 관측한 3D-PIRF의 위치와 분산 정보를 갖게 되고, 각 엣지는 노드 간의 상대 위치정보를 갖게 된다.

\r\n


\r\n

Loop-Closing에 의한 경로 수정

\r\n

일반적으로 SLAM에 있어서는 이동거리가 길어질수록 오차가 축적되는 문제가 일어나며, 이번 방법의 경우, 오차는 경로의 비뚤어짐으로 축적된다. 이 경로의 오차를 수정하려면, 현재 있는 장소가 과거에 방문한 적이 있는 장소인지 아닌지를 판단하고, 그 정보를 이용해 경로를 다시 계산할(Loop-Closing) 필요가 있다. 여기에서는 과거에 방문한 적이 있는 장소인지 아닌지를 인식하기 위한 수법으로 최근 필자들이 제안한 온라인에서의 Loop-Closure 검출수법4)을 이용한다. 이 수법에서는 화상으로부터 추출되는 특징량으로써 PIRF를 이용하고 있으며, 혼잡한 환경 속에서 과거에 방문한 적이 있는 장소인지 아닌지를 온라인을 통해 추가적으로 인식(Loop-Closure 검출)할 수 있다. Loop-Closure이 검출되면 Loop-Closure에 의한 정보와 각 시각에서의 로봇 자세, 노드 간 상대위치의 정보로부터 경로가 수정된다. 이러한 처리과정으로 인해 오차가 축적되지 않고 경로를 학습할 수 있다.

\r\n


\r\n

네비게이션

\r\n

여기에서 소개하는 방법은 이동 로봇의 자율 네비게이션을 목표로 하며, 이동 로봇은 학습 단계와 네비게이션 단계를 실시한다. 학습 단계는 사람이 로봇을 조종하여 로봇에게 통과할 수 있는 경로를 가르치는 단계이고, 로봇은 이동하면서 앞서 설명한 방법에 따라 하이브리드 지도를 구축함으로써 통과할 수 있는 경로를 학습한다.

\r\n

다음 네비게이션 단계에서는 학습 단계에서 학습한 경로를 이용해 자율적으로 이동한다. 구체적으로는 우선 학습 단계에서 학습한 경로 상에서 스타트 지점과 골 지점을 지정한다. 그러면 이동 로봇은 학습한 경로 상에서 스타트 지점으로부터 골 지점까지의 최단경로를 탐색하고, 그 경로에 따라 스타트 지점에서 골 지점까지 자율적으로 이동한다. 구체적인 행동 계획으로 로봇은 우선 최단경로 상에서 가장 가까운 노드를 찾아 그 노드의 수 스텝 앞의 노드를 서브 골로 설정한다(그림 5). 그리고 현재 로봇이 향한 방향과 서브 골의 방향과의 차 φ를 구하고, 그 값에 의해 서브 골에 가까워지도록 좌우바퀴의 속도를 결정한다. 이 처리에 의해 로봇은 계획한 최단경로에 따라 이동한다.

\r\n


\r\n

혼잡한 인파 속에서의 이동 실험

\r\n

이번에 이용한 자율 이동 로봇은 iXs Research 사의 iWs09(그림 6)이다. 로봇에게는 높이 약 130mm의 위치에 비스톤 사의 전방위 카메라가 탑재되어 있어 800×600 화소로 환경의 전방위 화상을 취득할 수 있다. 또한, 하부 전면에 호쿠요 전기사의 2차원 레이저 거리계가 탑재되어 있어 장애물의 유무를 확인할 수 있다. 모터는 MAXON 사 제품이 이용되고 있으며, 인코더에 의해 모터의 회전각도를 검출할 수 있다. 처리에는 로봇에 탑재된 노트 PC를 이용한다. CPU는 Core2Duo 2.54GHz, 메모리는 2GB이며, 프로그램은 MATLAB를 이용했다.

\r\n

\r\n

실험은 20×20m 정도의 실내 환경(그림 1)에서 실시했다. 이 환경은 식당이며, 항상 불특정 다수의 사람이 출입해 혼잡하다. 이와 같이 항상 사람이 있는 환경의 경우, 종래의 방법에서는 움직이고 있는 사람으로부터 추출되는 특징점이 악영향을 주어 정확하게 SLAM·네비게이션을 실시할 수 없었다. 한편, 이 방법에서는 혼잡한 환경 속에서도 정확하게 SLAM·네비게이션을 시행하는 특징이 있다.

\r\n

우선 학습 단계에서는 전방위 카메라와 인코더 센서를 탑재한 로봇이 인간의 조종에 의해 이 방법을 이용하여 자기위치 추정과 지도 구축을 실시하면서 이동한다. 그림 7은 환경의 실제 값 지도와 학습 단계에서 로봇을 이동시킨 순서를 나타내고 있으며, 우선 왼쪽 아래의 실선으로 나타낸 작은 루프를 2바퀴 회전, 다음으로 오른쪽 위로 이동해 거기에서 점선으로 나타낸 큰 루프를 2바퀴 회전시켰다. 그림 10은 이상의 경로에 대해 카메라의 정보를 사용하지 않고 오드메트리만으로 계산한 로봇의 경로이다.

\r\n

그림에서 왼쪽 동그라미는 스타트 지점, 오른 쪽 위의 동그라미는 골 지점을 나타내고 있다. 이 그림으로부터 오드메트리만으로 계측했을 경우에는 이동거리가 늘어나는 만큼 자기 위치 추정의 오차가 쌓여 올바른 경로가 학습되지 않는다는 것을 알 수 있다.

\r\n

이 환경에 있어서 3D-PIRF를 추출한 예가 그림 8, 그림 9이다. 이 위치에서는 PIRF가 21 개 추출됐다. 이 그림으로부터 3D-PIRF는 움직이고 있는 사람의 주위에서는 나오지 않고, 비교적 멀리 있는 게시물이나 형광등, 창틀 등의 로봇으로부터 비교적 안정되게 관측할 수 있는 것에서만 추출되고 있다는 것을 알 수 있다. 이와 같이, 3D-PIRF는 혼잡한 환경 속에서도 비교적 안정되게 관측할 수 있는 것으로부터 많이 추출되기 때문에 이 방법을 이용할 경우 안정되게 자기위치 추정 및 지도 구축을 할 수 있다.

\r\n

\r\n

그림 9은 이 방법에 의해 로봇이 학습한 경로이다. 그림에 있어서 동그라미로 나타내고 있는 것은 과거에 방문했던 적이 있다고 인식(Loop-Closure 검출)된 위치이다. 이 그림으로부터 이동거리가 늘어나도 오차가 쌓이지 않고, Loop-Closing 처리를 시행함으로써 루트를 올바르게 학습했다는 것을 알 수 있다.

\r\n

다음 네비게이션 단계에서는, 학습 단계에서 학습한 경로에 따라 로봇이 자율적으로 이동한다. 이번에는 왼쪽 아래에서부터 오른쪽 위로 이동하도록 경로 계획을 실시했다. 그림 12는 로봇이 자율적으로 이동한 경로이다. 그림에서는 학습 단계에서 학습한 경로를 옅은 그레이로, 네비게이션 단계에서 로봇이 이동한 경로를 진한 그레이로 나타내고 있으며, 과거에 방문했던 적이 있다고 인식(Loop-Closing 검출)된 위치를 검은 동그라미로 나타내고 있다. 이 그림으로부터 로봇은 학습 단계에서 학습한 경로를 이용해 왼쪽 아래로부터 오른쪽 위에 이르는 경로 계획을 실시하고, 자율적으로 이동해 골 지점까지 도달했다는 것을 알 수 있다. 또한, 그림 13은 네비게이션 단계에서의 이동 로봇과 환경의 사진으로, 혼잡한 환경 속에서 자율적으로 이동하고 있다는 것을 알 수 있다.

\r\n

또한, 이동 도중의 왼쪽 커브 부분에서, 로봇이 학습한 경로로부터 벗어나고 있다는 것을 알 수 있다. 이것은 왼쪽 커브의 부근에서 Loop-Closure 검출이 실시되지 못하고, 자기 위치 추정에 오류가 있었기 때문이라고 생각할 수 있다. 다시 한 번 Loop-Closure 검출을 실시하면 원래의 경로로 돌아온다.

\r\n

현재 상태에서는 1스텝 당의 계산 시간은 평균 3.87s, 이동 속도는 평균 38.4mm/s 이다. 현재, 속도와 정밀도의 향상을 목표로 하고 있으며, 소비 전력이 낮고, 높은 연산능력을 기대할 수 있는 GPGPU에 의한 실장에 주력하고 있다.

\r\n


\r\n

맺음말

\r\n

여기에서는 사람이 많은 혼잡한 환경 속에서 정확하게 SLAM·네비게이션을 실시하는 방법으로 화상으로부터 얻을 수 있고, 사람이 많은 혼잡한 환경 속에서도 안정된 특징점을 이용해 SLAM·네비게이션을 실시하는 방법을 소개했다. 그리고 이를 통해 불특정 다수의 사람이 항상 같이 촬영되는 상황 속에서도 안정되게 SLAM·네비게이션을 실시할 수 있다는 것을 알았다. 이 기술은 장차 로봇을 실제 환경에 적응시켜 사람과 공존시키기 위해서는 꼭 필요한 요소로, 로봇의 실용화에 크게 공헌할 것으로 기대되고 있다. 또한, 이 방법은 2륜의 이동 로봇뿐만 아니라 차나 휴머노이드 등 여러 분야에 적용할 수 있다.

\r\n

<글 : 모리오카 히로시(Morioka Hiroshi)·하세가와 오사무(Hasegawa Osamu) / 도쿄공업대학>

\r\n


\r\n

[월간 시큐리티월드 통권 제177호(sw@infothe.com)]

\r\n

<저작권자 : 시큐리티월드(www.securityworldmag.co.kr) 무단전재-재배포금지