다중 코드 초음파 센서 네트워크를 이용한 군집로봇 위치인식 시스템. 1.

#
제 석사논문입니다.
심사발표때 썼던 PPT 자료와 부가설명으로 정리했습니다.

내용에 대해서 지적이나 의견을 제시해주시는 것은 감사히 받겠습니다.

나름 제가 그동안 살아오면서 만든 것 중 가장 강력한 저작권이 걸린 물건이니(!)
다른 곳으로 가져가거나 함부로 사용하진 말아주세요.

참고용으로 쓰시겠다면 레퍼런스는 달아주시고(부산대학교 전자전기공학과 석사졸업논문입니다)
서로 겹치는 주제로 학회에서 보는 일은 없길;; 바랍니다.


#

제목입니다. 넣고 싶은 말이 많아서 처음엔 엄청 길었다가 여러차례 수정 끝에 좀 짧아진겁니다;
맨처음엔 '초음파 센서 네트워크를 이용한 군집 로봇 시스템에서의 로봇 간 상대위치 인식 시스템의 구현'이었심.

논문 수정하다보니 상대위치보단 절대위치를 중심으로 계산하게 되고,
다중 코드 초음파가 워낙 중요한 키워드라 뺄 수가 없어서 수정.


목차.


서론. 관련연구. 여기서 할말이 많군요.
사실 PPT 2~3장은 되야 하는데 분량이 너무 많다고 해서 한장으로 우겨넣은거심.

*
군집로봇 시스템, 다개체 로봇, swarm-robotics, multi-robot system, multi-agent system...
키워드를 사람마다 좀 제멋대로 이것저것 쓰고 있긴 하지만 -_-
로봇 간 협동을 통하여 단일로봇보다 나은 성능을 만들어낸다.. 라는 개념으로
대충 근 10~20년 동안 이래저래 연구가 많이 되고 있습니다만..

관련논문 90% 이상이 시뮬레이션 논문입니다. -_-
(저도 저번에 하나 보탰지만;)

로봇들이 대충 군집을 이룬 것처럼 무리를 지어 움직이게 만드는 정도의 구현은 몇군데서 했고,
그럭저럭 괜찮은 것 처럼 움직이는 걸로 보이는 것도 몇군데 있지만..
대부분이 로봇 과 로봇 사이의 상대위치를 제대로 파악하는 것이 아니라
수십cm의 위치 오차와 수십도의 방향 오차를 갖고 대충 그럴싸하게 움직이는 것 뿐입니다.

그리고 많은 곳에서 배나 비행기로 편대비행을 할 수 있게 하고 로봇 간 협동을 하는 알고리즘들을 제안했지만..
거의 대부분이 하드웨어 기반없이 시뮬레이션으로 논문을 쓰고 있고,
실제로 만들 수 있는 곳은 세계적으로 거의 없다고 생각하시면 됩니다. -_-


그나마 하드웨어로 구현한 게 위의 사진들.
그 것도 대부분 2002년 정도의 사진들이군요.

물론 저 외에도 몇군데 더 있긴 합니다만, 대표적인 건 저정도입니다.


*
윗줄 왼쪽이 유럽의 스위스, 이탈리아, 벨기에 3개 국가의 4개 대학이 연합해서 개발한 swarm-bot.
논문은 대부분 기계쪽이 많고 전자쪽 논문이 별로 없어서 많이 못봤습니다만, 광센서를 써서 서로를 인식하는데, 별로 효율은 안좋은 듯. 저 사진도 2000년대 초반에 찍은 거고 요즘은 그냥 시뮬레이션으로 연구하는 것 같더군요.

*
윗줄 가운데가 MIT와 i-robot 사에서 만든 것.
적외선으로 서로의 위치를 인식하고 통신도 합니다.
적외선 신호의 강도로 판단하다보니, 정확도가 낮고 사각이 많습니다.

그럭저럭 '그럴싸한 군집 동작'은 현재까지 나온 것 중 제일 낫지 않을까 싶군요.

*
윗줄 오른쪽이 캘리포니아대에서 만든 것.
카메라로 로봇이 다른 로봇의 위치를 인식해서 상대위치를 파악하는 겁니다.
2002년 논문의 사진인데, 이론적인 부분에서 제 논문에 도움이 많이 됐습니다.
이 때 나이 70쯤의 교수님과 포스트닥터 한명이 같이 논문을 썼고,
그 포스트닥터가 미네소타 대학의 교수로 간 것 같더군요.
2006년쯤에 군집로봇 위치인식의 성능한계에 대한 논문이 나왔습니다.

이 논문에서의 시스템은 바닥에 그여진 선이 없으면 인식이 안되는 것입니다.
다른 환경에서나, 지나다니는 사람이라도 있으면 오차가 엄청나게 커지겠죠.
로봇축구 종목 중 로봇마다 카메라 달고 다니는 것들도 마찬가지로,
경기장 곳곳에 표시된 랜드마크들이 없으면 동작이 안되죠.

캘리포니아대는 이후로 연구를 계속해서 실외에서 동작하는 로봇도 만든 것 같던데..
논문보니 GPS에 의존을 많이 하고 카메라는 보조적으로 사용되는 느낌이더군요.

결과적으로 로봇들의 위치인식 성능은 제일 좋습니다만, 환경의 제약이 아무래도 크죠.

*
아랫줄 왼쪽이 좀 유명한편인 카네기 멜론대의 millibot.
초음파로 서로 거리를 재서 위치를 파악하는데,

이 때 한 로봇이 RF신호와 초음파를 동시에 쏘고
다른 로봇들은 RF신호를 받은 시각과 초음파를 받은 시각의 차이로 거리를 재서 위치를 파악합니다.
(번개 칠 때 얼마나 멀리서 쳤는지 재는 방법과 같죠)

가장 큰 문제는 한번에 한대의 로봇만 초음파를 쏠 수 있다는 거.
여러대의 로봇이 동시에 초음파를 쏘면 신호가 섞여서 동작이 안되죠.
그래서 한번 로봇들의 위치를 파악하는데 몇초 정도의 시간이 걸리고,

결정적으로 한번에 한대만 움직일 수 있습니다.

그리고 로봇의 방향은 측정이 안되기 때문에, 별도로 알고리즘이 들어가야하는데
이 부분이 해결이 안되서인지 나중의 논문은 시뮬레이션으로 처리했더군요.

그러다가 2003년 논문을 마지막으로 포기하고 카메라를 이용한 방법으로 바꿔서,
카메라를 써서 다개체 로봇 맵 빌딩하는 데에는 이 동네가 현재로선 제일 잘하고 있습니다.

*
아랫줄 오른쪽이 미국의 와이오밍 대학이랑 캐나다의 쉘브루크 대학이 쓰는 방법.
카네기 멜론대에서 로봇의 각도 파악이 안되던 문제를 해결한 방법이죠.
로봇 한대에 초음파 수신기 3개씩 달고,
그 각각으로 측정된 거리 값을 이용해서 초음파를 쏜 로봇의 위치를 파악합니다.

문제는 로봇 덩치가 좀 많이 커서 센서간 거리가 확보되어야 인식이 잘된다는 거죠.
로봇의 형태에도 제한이 생기고요.

*
제 논문은 카네기 멜론대의 방법를 기반으로, 단점 몇가지를 보완하고
캘리포니아대에서 만든 분산 칼만 필터를 응용해서 오차를 보정하는 알고리즘을 돌린 겁니다.
거기에, 로봇이 많아질 경우 와이오밍 대학의 방법도 부분적으로 응용하게 만들었죠.




그래서 제 논문의 시스템이 어떤 것인지 요약하자면,

*
우선 중요한 것이, '기반 시설이 필요없는' 군집로봇 위치인식시스템이라는 겁니다.
기존의 다개체 로봇 연구를 좀 쉽게 하는 것이
로봇축구처럼 위에서 카메라로 쏘거나 주변의 기반시설들을 이용해서 로봇들의 절대위치를 측정하고
그걸로 상대위치를 다시 계산해서 쓰는 건데..

이 경우 이 기반시설들이 어떻게 설치되어있느냐가 시스템 성능에 큰 영향을 끼치고,
기반시설을 설치하는 비용과 시간이 들며, 다개체 로봇의 대표적인 적용목표인 '탐사용'에는 적용이 안된다는 단점이 있습니다.

*
다중 코드 초음파 신호를 이용해서, 로봇과 로봇 사이의 거리를 실시간으로 동시에 측정하게 하여,
카네기 멜론대의 문제점이었던 동시에 한대만 움직일 수 있는 문제를 해결했습니다.

*
그리고 그걸 캘리포니아대의 알고리즘을 가져와서 제 쪽에 맞게 수정하여 칼만 필터로 오차를 보정했습니다.

*
그리고 그렇게 측정된 로봇들의 위치의 변화량을 이용해서 로봇들의 진행방향을 측정하고,
이를 다시 칼만 필터로 오차를 보정합니다.

*
이 과정에서 초음파 송수신의 동기화, 정보 교환 등에는 Zigbee 프로토콜이 쓰이며,
여기에 추가로 로봇의 군집제어를 할 수 있는 알고리즘을 관리할 기반시스템을 구성했습니다.

물론, 이번 논문에서는 군집제어 알고리즘 자체가 올라간 건 아닙니다.
그럴 수 있는 기반 시스템을 만들었다는 거죠. 이것이 날로 먹기의 진수



#
구체적인 내용은 차회에 계속.







#
레퍼런스.
you-tube에서 자동으로 찾아주는 관련영상 따라가다보면 다른 것도 꽤 있습니다.

유럽 swarm-bot 관련 you-tube.
-> http://kr.youtube.com/watch?v=Xs_Y22N1r_A&feature=related

MIT 다개체 로봇 만든 사람 홈페이지 (동영상, PPT, 논문 등)
-> http://people.csail.mit.edu/jamesm/swarm.php

캘리포니아대 논문.(IEEE)
-> http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1067998

카네기 멜론 millibot
-> http://www.ri.cmu.edu/research_project_detail.html?project_id=104&menu_id=261

와이오밍 대 you-tube
-> http://www.youtube.com/watch?v=CKY4049PSSI



그 외 여러가지 예전에 찾았던 것들
-> http://cren.egloos.com/3552582


#
뱀발.
'공학' 밸리는 없는지라.. '창작' 밸리로 보내버릴까 하다가 '과학'으로 올렸습니다. ㅋ
IT라고 하기는 좀 애매해서 말이죠.