로봇의이동및센싱불확실성이고려된네트워크기반로봇시뮬레이션프로그램 23 로봇의이동및센싱불확실성이고려된네트워크기반로봇시뮬레이션프로그램 Network Based Robot Simulator Implementing Uncertainties in Robot Motion and Sensing 서동진 1, 고낙용, 전세웅 2, 이종배 3 Dong Jin Seo 1, Nak Yong Ko, Sewoong Jung 2, Jongbae Lee 3 Abstract This paper suggests a multiple robot simulator which considers the uncertainties in robot motion and sensing. A mobile robot moves with errors due to some kinds of uncertainties from actuators, wheels, electrical components, environments. In addition, sensors attached to a mobile robot can't make accurate output information because of uncertainties of the sensor itself and environment. Uncertainties in robot motion and sensing leads researchers find difficulty in building mobile robot navigation algorithms. Generally, a robot algorithm without considering unexpected uncertainties fails to control its action in a real working environment and it leads to some troubles and damages. Thus, the authors propose a simulator model which includes robot motion and sensing uncertainties to help making robust algorithms. Sensor uncertainties are applied in range sensors which are widely used in mobile robot localization, obstacle detection, and map building. The paper shows performances of the proposed simulator by comparing it with a simulator without any uncertainty. Keywords : Robot simulator, Motion uncertainty, Sensing uncertainty, Range sensor 1. 서론 1) 현대시대에이르러점차로봇시장이급속한규모로커지고있으며많은나라에서군사용로봇 [1-3], 서비스로봇 [4], 산업용지능로봇, 재활보조로봇 [5-6], 시설물감시로봇 [7] 등의개발에박차를가하고있다. 이미일본업체인소니, 혼다, 도요다등의회사는미래에있을로봇판매시장을위해사람의형태를띄고있는휴머노이드로봇을속속개발해나가고있다. 다른선진국에서도지능형로봇의거대시장을공략하기위해대규모자본과높은기술력을바탕으로지능형로봇의적극적인산업화를유도하고있다. 지능 Received: Dec. 17, 2009; Reviewed: Feb. 18, 2010; Accepted: Feb. 18, 2010 이논문은 2009년정부 ( 교육과학기술부 ) 의재원으로한국연구재단의지원을받아수행된연구임 [NRF-2009-351-D00013] 본연구는지식경제부및정보통신산업진흥원의대학 IT연구센터지원사업의연구결과로수행되었음 (NIPA-2010-C1090-1021-0013) 1 전자부품연구원지능로보틱스연구센터박사후연구원 교신저자 : 조선대학교제어계측로봇공학과정교수 2 전자부품연구원지능로보틱스연구센터전임연구원 3 전자부품연구원지능로보틱스연구센터책임연구원 형로봇은향후산업의각분야에서광범위하게활용될수있을뿐아니라관련요소기술은정보통신, 의료및바이오등다양한산업분야에걸쳐파급될것으로예측된다. 이러한로봇을개발하는데있어서가장중요한부분중의하나는로봇의오류없는정확한동작을만들어내는것이다. 만일로봇이어떤작업을수행하고있을때연산상의오버플로우나다른문제점으로인해동작에문제가발생하게된다면, 로봇이설치되어있는작업환경과로봇은심각한파손으로비용및시간등에큰손실이생길수있다 [8]. 이런문제를사전에예방하기위한최선의방법으로로봇이작업환경에설치되기전에모든동작에대한검증작업을거쳐야한다. 실제로봇하드웨어만을이용하여동작검증작업을진행하기에는시간과비용이많이들게되며, 이와같은문제점을해결하기위해서실제로봇과똑같이동작하는시뮬레이션이반드시필요하다고할수있다. 이런필요성에의해현재까지많은종류의로봇시뮬레이션프로그램이개발되고있으며, 각프로그램들은공간의표현이나, 사용가능한운영체제, 로봇의제어방식등
24 로봇학회논문지제 5 권제 1 호 (2010. 3) 표 1. 시뮬레이션프로그램의특징비교 그래운영물리이름픽체제엔진제어방식지원언어비고 Webots 3D MS Linux Yes Tcp-IP C/C++,Java 상 업 용 MobotSim 2D MS No 자체 Basic MSRDS 3D MS Yes Services C/C++, VPL Player/Stage 2D Linux No TCP-IP C/C++ Gazebo 3D Linux Yes TCP-IP Phyton Flat 2-D 2D Linux No TCP-IP Lisp Muros 2D MS No Stand Alone C++ MRCS 2D MS No Stand Alone C++ EyeSim 2D Linux No Stand Alone C/C++ Khepera Sim 2D Linux No Stand Alone C/C++ SimRobot 3D MS Yes Stand Alone C/C++ 공개용 에나름대로의특징을가지고있다. 표 1은지금까지개발되어사용되고있는시뮬레이션프로그램들을비교하여보여준다. 표 1에서비교된대부분의로봇시뮬레이터들은모터의동작이나, 센서의부적절한동작등의불확실성에대해서고려를하고있지못하며이런특성은실제로봇과시뮬레이션에서의실험에많은차이를보여준다. 이런차이점을극복하기위해서는시뮬레이션상에서로봇에동작및센서불확실성을적용해야현실과더가까운시뮬레이션동작을구현할수있다. 또한, 로봇의동작을표현하기위한시뮬레이션프로그램은다음과같은필수적인기술이요구된다. 첫째, 로봇의제어에필요한정보를담고있어야한다. 사용자가실제의로봇을제어할때사용하는파라미터를시뮬레이션에서도동일하게사용할수있어야시뮬레이션을통해제작된알고리즘을실제로봇에이식하기가용이하다. 둘째, 사용자가사용하기편한인터페이스를가져야한다. 예전의도스기반작업환경은현재의윈도우기반의 GUI인터페이스보다로봇제어작업을수행하기에많은불편한점을가지고있다. 또한작업환경과로봇의표현에있어서 2D를이용한표현보다는 3D를이용한표현이로봇의움직임을파악하기에용이하다. 셋째, 다양한운영체제에서동작가능하여야한다. 컴퓨터를운영하기위한운영체제로한국에서많이사용되는 MS 윈도우즈시스템이외에도 MAC OS, 유닉스, 리눅스등많은운영체제가존재하고있다. 가상로봇을제어하기위해사용자가특정운영체제를선택해야하는것보다는, 시뮬레이션에서사용자의운영체제를지원해주는것이불특정다수의사용자의확보를위해서도바람직하다고여겨진다. 본논문에서는로봇의동작불확실성이적용된사실감있는 3차원로봇시뮬레이션의제작에그목적을두고있으며, 가상로봇의손쉬운제어를위해윈도우즈, 리눅스, 유닉스, MAC OS 등의다중플렛폼에서사용가능한 TCP-IP기반 IPC(Inter Process Communication) 라이브러리를사용하였다. 각각의로봇들은설계시확장이용이하도록모두클래스로제작되어있으며, 모든프로그램들은서버- 클라이언트구조를가진다. 또한로봇을연구하는사용자들이시뮬레이션프로그램을사용하기에용이하도록클라이언트와호스트사이에정보를교환하는부분을라이브러리로다시재작성하여사용에용이하도록수정하였다. 2. 시뮬레이션프로그램의형태제작된시뮬레이션프로그램은 TCP-IP 기반의서버클라이언트구조를가지고있으며, 다음의다섯가지부분의구현에주안점을두었다. 1) 로봇에장착된영역센서의불확실성포함 2) 로봇동작불확실성의포함 3) 유연한제어를위한네트워크리소스사용 4) 쉽게확장가능한로봇제어구조 5) 새로운로봇의쉬운추가및표현형식 6) 실제로봇과가상로봇의동일한제어 2.1. 로봇에장착된영역센서의불확실성포함시뮬레이션에는로봇의영역센서에대한불확실성이포함되어있으며, 거리센서의불확실성을포함하기위해측정노이즈, 랜덤노이즈, 측정실패노이즈의 3가지속성을포함하였다. 2.2. 로봇동작불확실성시뮬레이션에는로봇의동작에대한불확실성이포함되어있으며, 어떤샘플링타임에서이동로봇의위치는이전샘플링타임에서의로봇의위치, 속도명령, 그리고약간의노이즈에의해결정된다. 본논문에서는노이즈가평균값이 0인표준편차의형태를가진다고가정하였다. 시뮬레이션에포함된동작불확실성에의해이상적인상태에서에서보다더강건한알고리즘의개발이가능해진다. 2.3. 유연한제어를위한네트워크리소스사용시뮬레이션호스트와제어프로그램과의통신은무엇보다도중요하며, 이를위해 TCP-IP를이용하게되면전세계에퍼져있는이더넷통신망을이용가능하게되므로시뮬레이션의적용에도큰유연성을가질수있다. 2.4. 쉽게확장가능한로봇제어구조로봇제어유닛은모터, 센서, 맵관리, 디스플레이모듈로구성되어있으며, 각각의모듈은모두클래스로제작되어확장에용이하도록구현되었다.
로봇의이동및센싱불확실성이고려된네트워크기반로봇시뮬레이션프로그램 25 모터컨트롤모듈은네트워크를통한클라이언트프로그램으로부터수신되는속도명령에의해모터를구동한다. 센서모듈은환경인지를위한데이터를생성하는기능을담당하며, 초음파센서, 레이저레인지파인더, 스테레오비전이구현되어있다. 맵관리모듈은서버내에서로봇의작업환경에대한정보를담고있는모듈이며, 센서정보를에뮬레이션하기위해센서모듈과맵정보가연동되어사용된다. 디스플레이모듈은 OpenGL을이용한가상로봇모듈이며 3차원으로작업환경과로봇을보여줌으로써로봇의움직임과충돌을관찰하기에편리하도록하였다. 2.5. 새로운로봇의쉬운추가및표현형식 산업현장에서많이사용되는관절로봇의구조를표현하는방법으로일반적으로 D-H(Denavit-Hartenberg) 표현방법을사용한다. 시뮬레이션또한실제로봇과똑같이표현되어야하므로가상로봇을제작하기위한방법으로 D-H파라미터를사용하도록하였다. 사용자는로봇의기구에맞는파라미터를포함한새로운클래스를추가하는것으로간단히새로운가상로봇을만들수있다. 2.6. 실제로봇과가상로봇의동일한제어가상로봇과실제로봇의제어가사용자프로그램에서보기에동일하게만들기위해서는실제로봇을제어하기위한구동부분과 IPC 통신부분을포함한새로운인터페이스드라이버프로그램을제작하여야한다. 이드라이버의제작을통해사용자는가상로봇과실제로봇을구분하여프로그램하지않아도되는장점을가지게된다. 사용자는단지알고리즘수행을위한프로그램만을수행하면되며연결된객체가가상로봇이면시뮬레이션을수행하고연결된객체가실제로봇이면실제동작을수행하게되어가상로봇과실제로봇의구별을할필요가없게된다. 3. 시뮬레이션프로그램의구조시뮬레이션프로그램의전체적인구조는그림 1과같으며전체적으로다음 4가지유닛으로구성되어있다. 1) 로봇제어유닛 - 모션에러, 센서에러포함 2) 기구디자인유닛 3) 통신유닛 4) 실제하드웨어제어를위한드라이버유닛로봇제어유닛은모터모션제어, 센서, 맵관리, 로봇과환경의디스플레이모듈로이루어져있으며로봇동작과영역센서에대한불확실성이구현되어있는유닛이다. 그림 1. 시뮬레이션프로그램의전체구조 기구디자인유닛은로봇을구성하는물리적인부분을표현하며로봇제어유닛내의디스플레이모듈에로봇의구성정보를전송한다. 통신유닛은유저프로그램과시뮬레이션호스트와의통신을처리해주는유닛으로통신을위해 TCP-IP기반의 IPC를사용한다. 실제로봇운영을위한드라이버유닛은가상로봇에전송되는명령을실제로봇과똑같은동작을수행하도록만들어주는인터페이스드라이버형태의구조를갖는다. 가상로봇의드라이버와컨트롤러각각에는모두쓰레드가할당이되어독립적으로계산되어구동된다. 쓰레드내부에는 2uSec 의해상도의타이머객체가존재하며, CPU 클럭을이용하는 QueryPerformanceFrequency함수와 QueryPerformanceCounter 함수를이용하여클래스로제작되었다. 타이머객체를이용하여각각의쓰레드의지연시간을정확히측정하는것이가능해지며, 이를기반으로로봇의다음위치를계산하므로실제환경의동작과유사한실시간시뮬레이션이가능해지게된다. 만일시뮬레이션프로그램내에처리할객체가많아지게되면많아진쓰레드간의자원점유문제로각각의쓰레드의지연시간이더길어질수있으며이는시뮬레이터의업데이트시간을느리게할수있다. 시뮬레이션프로그램에는현재까지 7개의로봇이구현되어있으며다음과같다. (1) NIST에서제작한 5자유도로봇메니퓰레이터 [9] (2) 스키드스티어링방식의모바일로봇 ATRV (3) 카네기멜룬대학의 Xavier [10] 와 Bullwinkle [9] (4) NIST 에서제작한 RoboCrane [9] (5) Nomad Super Scout II (6) Pioneer PeopleBot DX
26 로봇학회논문지제 5 권제 1 호 (2010. 3) 3.1 로봇제어유닛 로봇제어유닛은모터의모션제어와, 센서, 맵관리, 로봇과환경의디스플레이모듈로이루어져있으며시뮬레이터프로그램의핵심을이루는부분이다. 로봇제어유닛내부의모션제어모듈은로봇의동작불확실성이구현되어있다. 센서유닛에는현재초음파영역센서, 레이저레인지파인더, 스테레오비전이구현되어있으며, 초음파영역센서와레이저레인지파인더는센서의측정에대한불확실성이포함되어있다. 맵관리모듈은로봇의작업환경의정보를담고있으며, 두개의포인트를갖는구조체배열을이용하여직선으로지도를표현한다. 디스플레이모듈은사용자에게가상의작업공간과로봇을보여주는모듈이며 OpenGL 라이브러리를사용하여로봇과작업환경을보다현실감있게보여준다. 그림 2는모터제어모듈의구조를보여준다. 모터컨트롤모듈은로봇의불확실성이포함되어있다. 만일이동로봇의동작에불확실성이없다고가정하면시각 에서의로봇의위치는식 (1) 에서와같이구해질수있다. (1) 여동작의불확실성을포함하였다. (2) 식 (2) 에서 는식 (3) 으로부터유도된다. (3) 식 (3) 에서 은평균값이 0이고분산이 인에러를나타낸다. 파라메터 은불확실성에대한확률분포를나타내며, 로봇모션에대한정밀도를모델링한다. 더적은해상도의로봇모션을모델링하기위해서는파라미터값들에더큰값들을할당해주면된다. 그림 3과 4는시뮬레이션상에서동작불확실성이어떻게로봇동작에영향을미치고있는지를보여준다 [11]. 격자는 0.5m간격이며, 로봇이시작 1 부분에서오른쪽을보고있는상태에서의불확실성을보여준다. 그림 3과 4에서각그림의왼쪽하단의 1 로표기가되어있는원은로봇의출발위치이며, 로봇의방향은우측을 는 번째샘플링타임 에서의로봇의위치이고, 는로봇의직진속도, 는로봇의회전속도명령, 그리고 는샘플링시간간격을의미한다. 실제로로봇들은불확실성을가지고이동을하기때문에식 (1) 은시뮬레이션에서사용되기에부적합하므로식 (2) 를사용하 그림 3. 인경우 그림 2. 모터모듈의구조 그림 4. 인경우
로봇의 이동 및 센싱 불확실성이 고려된 네트워크 기반 로봇 시뮬레이션 프로그램 27 보고 있다. 로봇의 회전곡률은 1m로 하였다. 각각의 그림 에서 각각의 점들은 로봇의 시작점에서 출발하여 에러로 인해 로봇이 위치할 수 있는 가능성들을 보여주는 위치이 다. 식 (3)에서 는 직진모션에 대한 분포를 결정하 며 는 회전모션에 대한 분포에 영향을 미친다. 그림 3, 4에서 각 파라메터의 변화값에 의한 샘플의 분포도의 차이를 확인할 수 있다. (6) 센서의 불확실성은 위의 모든 경우가 고려되어야 하며 각 3가지의 불확실성을 모두 합하여 를 구한다. 모든 확률의 합을 1로 만들어주기 위해,, 를 사용한다.(식7) 3.2 센서모듈 센서모듈은 초음파, 레이저, 영상센서의 3가지가 구현되 어 있으며 초음파와 레이저영역센서는 센서 측정의 불확 실성이 구현되어 있는 상태이다. 센서측정의 불확실성을 (7) 구현하기 위해서 Sebastian Thurn이 파티클 필터[7]를 위해 사용한 기법을 역으로 모델링하여 사용하였다. 구해진 확률변수 를 이용하여 에러가 포함 이상적인 경우의 장애물과의 거리 값을 라고 정의 된 센서 값을 얻기 위해, 거부법(Rejection Method)을 사용 한다. 이 값은 프로그램 상에서 Ray casting 기법에 의해 하여 구현한다. 확률분포함수로부터 표본을 발생시키는 방법 중 하나인 거부법은 확률밀도 함수의 표본을 만들기 결정될 수 있으며 센서방향의 가장 가까운 물체를 검색해 서 결정될 수 있다. 센서 시스템 모듈은 이렇게 획득된 이 상적인 값에 센서에러모델을 추가하여 불확실성이 포함된 값을 사용자에게 보내게 된다. 센서에러모델은 측정노이 즈, 예측되지 않은 물체, 측정실패, 랜덤한 측정에러의 4가 지의 경우로 나누어 생각될 수 있다. 이 중에서 예측되지 않은 물체에 대한 에러 모델은 맵을 알고 있을 때 인간과 같은 장애물이 나타날 경우를 모델링 한 것으로 실제 센서 를 모델링하는데 있어서는 필요한 경우가 아니므로 사용 하지 않았다. 가 매우 여러운 경우에 일반적으로 사용된다. 거부법을 이용하여 표본을 만들고자 하는 경우에 그 방법은 다음과 같다. 임의의 난수 와 를 생성한 후, 를 적용하고자 하는 확률밀도 함수 대입하여 그 결과와 를 비교하 여 만일 가 더 크면 표본선택에서 제외하고 가 더 작 으면 를 샘플로 선택하는 방법이다. 거부법은 매우 간단 하면서도 강력한 성능을 발휘하는 방법으로 임의의 확률 밀도 함수를 가진 샘플을 생성하는데 효과적으로 사용될 수 있다. 측정노이즈는 를 평균, 의 표준편차를 갖는 식 스테레오 비젼 시스템은 카메라가 설치된 로봇의 위치 (4)와 같이 가우시안 분포로 모델링 될 수 있다. 는 정규분 와 각도 그리고 팬, 틸트 값과 획득할 영상의 해상도를 매 개변수로 하여 획득된 영상정보를 비트맵 형태로 메모리 포 의 합이 항상 1이 되도록 해주는 변수이다. (4) DC에 저장하고, StretchDIBits함수를 사용하여 화면상에 출 력해주는 기능을 가지고 있다. 카메라의 시점변경을 위해 서 로봇과 카메라와의 좌표변환 행렬을 계산하여 OpenGL 라이브러리의 glulookat함수에 적용하였다. 그림 5는 구현 만일 센서의 신호가 어떤 알 수 없는 이유에 의해 측정 된 스테레오 카메라 모듈의 모습을 나타낸다. 되지 않았다면 센서의 값은 그 최대값으로 나타나게 된다. 예를 들자면, 초음파센서의 경우에서는 물체에 반사되는 각도에 따라서 이런 경우가 많이 발생할 수 있으며, 레이 저 센서의 경우에서는 유리로 되어있는 벽을 감지할 경우 레이저가 투과하고 돌아오지 못하는 경우가 생길 수 있다. 랜덤한 에러는 센서의 거리 값의 모든 영역에 존재하는 것 으로 가정한다.(식 5, 6) (5) 그림 5. 구현된 스테레오 비전과 이미지 출력모양
28 로봇학회논문지제 5 권제 1 호 (2010. 3) 3.3 맵관리모듈시뮬레이션프로그램의맵관리모듈은로봇의작업환경의정보를담고있는모듈이며, 맵의정보를저장하기위하여두개의포인트를갖는구조체배열을이용하여직선으로지도를표현한다. 지도내에서의센서데이터를시뮬레이션하기위해센서모듈은지도모듈에서구성한구조체배열을매개변수로받아들이게되며, 이시기에센서의거리정보가계산되게된다. 이작업은시뮬레이션환경내에서자동적으로이루어지기때문에사용자프로그램에서는실제의센서를사용하는것과같은효과를느낄수있다. 그림 6은지도모듈의자료의흐름을나타낸다. 보를처리하여프로그램상의화면에출력해주는기능을담당한다. 3.2 기구디자인유닛기구디자인유닛은사용자가로봇구조물의 D-H파라미터정보를담고있는설정파일을이용하여암과같은관절형로봇의형태를만들어내는모듈이며, 디스플레이모듈과함께동작한다. 관절형로봇의엔드이펙터로현재까지는마그네틱그리퍼만제작되어있지만, 추후로용접봉, 도장용스프레이등의엔드이펙터도제작할예정이다. 그림 8은실제로봇과그기구학적인구조를가지고있는 D-H파라미터만을이용하여구현한 5자유도가상로봇의모습이다. 그림 8. D-H 파라미터에의해생성된 5 자유도메니퓰레이터 ( 좌 : 실제로봇, 우 : 가상로봇 ) 그림 6. 맵관리모듈의데이터플로우다이어그램 3.4 디스플레이모듈디스플레이모듈은컴퓨터화면상에실제작업용로봇과기구학적인구조가같은가상의로봇을사용자에게보여주는모듈이며, 3차원공간상에서의로봇의세밀한표현을위해 OpenGL 라이브러리를사용하고있다. 디스플레이모듈에서데이터의흐름은그림 7과같으며각각의센서모듈, 모터제어모듈, 맵관리모듈로부터의정 3.3 통신유닛제작된시뮬레이션프로그램은카네기멜룬대학의 Reid Simmons가제작한 IPC라이브러리를사용하였다. IPC 라이브러리는실시간자율시스템에서필요한충분한기능과유연성그리고강건성과신뢰성을제공하는것에디자인규칙을두고있다. IPC기반의시스템은어플리케이션에독립적인 Central 서버와어플리케이션에맞추어진프로세스들로구성된다. 기본적인 IPC통신패키지는단순하게구성되어있으며, Publish/Subscribe 모델을따른다. 4. 시뮬레이터의적용 그림 7. 디스플레이모듈의데이터플로우다이어그램 4.1 이동로봇의충돌회피실험시뮬레이터를이용하여 Nomad Super Scout II 로봇을제작하여그로봇에인공전위계알고리즘을적용하여테스트하였다. Super Scout II 로봇은 22.5도각도로배열된 16 개의초음파센서와 6개의범퍼스위치로구성되어있으며, 로봇이출발지점에서목표지점으로이동하기위해서 Khatib의인공전위계알고리즘 [12] 을사용하여양쪽이평행한복도환경과꺽인복도환경에서실험하여그궤적을관찰하였다. 실험을위해사용된파라메터는표 2와같으며
로봇의 이동 및 센싱 불확실성이 고려된 네트워크 기반 로봇 시뮬레이션 프로그램 29 표 2. 경우 1과 2에서 사용된 파라미터 있으므로 로봇이 정확한 직선을 그리지 못하고 약간의 진 동을 보이게 된다. 그림 10에서는 꺽여진 복도를 이동하는 로봇의 회피동 경우 1 0.01 0.1 0.001 0.6 0.2 0.2 작을 보여주며 1은 불확실성이 포함되어있는 경우를 2는 경우 2 0.01 0.1 0.001 0 0 0 불확실성이 포함되어 있지 않은 경우의 궤적을 보여준다. 센서의 불확실성이 포함되어 있는 경우 예측되지 못한 그림 9와 10은 각각의 실험에 의한 궤적들을 보여준다. 그 값이 거리측정의 결과로 나타나게 되므로 로봇의 충돌회 림 9와 10에서 ①로 표시된 궤적은 표 2에서의 경우1의 파 피 궤적에 영향을 미치게 된다. 실제 하드웨어를 이용하여 라메터의 설정에 의해 나타난 결과이고, ②로 표시된 궤적 실험을 하는 경우에도 로봇의 초기위치나 벽 표면의 재질, 은 표 2에서의 경우 2의 파라미터을 설정하였을 때 나타나 센서의 직진성질 등에 의해 나타나는 값들이 이상적인 경 는 결과를 보여준다. 우와는 다르게 나타날 수 밖에 없으므로 불확실성이 포함 된 경우(경우1)가 경우2 보다 실제환경에서 실험하는 상황 그림 9의 실험결과에서 알 수 있듯이, 만일 센서모델에 서의 불확실성이 없다고 하면(경우2) 시뮬레이션 상에서 의 알고리즘을 개발하는 경우에 더 유리하다. 로봇의 움직임은 센서들의 양쪽이 평행한 상태를 유지하 게 되므로 복도를 따라서 직진하게 된다. 반면에 경우1 에 4.2 센서불확실성 실험 서의 궤적은 거리센서의 출력결과가 불확실성을 포함하고 그림 11은 레이저 레인지 파인더의 출력을 실험하는 환 경을 보여주고 있으며 그림 12는 불확실성이 포함되어 있 는 경우와 불확실성이 포함되어 있지 않은 경우의 결과 값 을 보여준다. 그림 12의 (a)그림은 이상적인 경우의 센서의 출력 값을 보여주며 로봇주변의 벽 환경을 완벽하게 감지 하며 (b)그림은 불확실성이 포함되어 맵의 대략적인 형태 를 보여주고 있지만 이상적인 경우와는 달리 센서 값의 결 과가 정확한 직선을 그리지 못한다. 불확실성이 포함되어 있는 경우의 센서 결과를 통해 시 뮬레이션을 하는 경우 센서의 불확실성을 고려하여 알고 리즘을 개발하여야 되므로 더 강건한 로봇의 알고리즘 개 발이 가능해진다. 식(4)~(7)에 주어질 수 있는 파라메터가 센서의 출력에 어떤 영향을 주는지 확인하는 실험을 위해 1500mm전방에 장애물을 설치하고 그 값을 20000회 획득하여 그 결과를 분포도로 나타내보았다. 표 3은 센서실험에 사용된 파라메 그림 9. 평행한 복도환경에서의 로봇의 회피동작 (a) 충돌회피실험을 위한 환경 터들을 보여주며 그림 13과 14는 획득된 결과를 보여준다. (b) 실험 2에서의 로봇이동궤적 그림 10. 꺽여진 복도환경에서 로봇의 회피동작 그림 11. 센서 불확실성 실험을 위한 환경
30 로봇학회 논문지 제5권 제1호 (2010. 3) (a) 이상적인 상태에서의 센서 출력값 그림 14. 센서실험 2에서의 결과 값의 분포도 실험 1과 비교하여 센서실험 2에서 알 수 있듯이, 값 이 크면 클수록 예측되지 못한 임의의 값들이 많아지는 것 을 확인 할 수 있다. 5. 결 론 본 논문에서는 로봇 동작의 불확실성을 적용한 네트워 크기반 로봇 시뮬레이션 프로그램의 개발에 대한 내용을 (b) 불확실성이 포함된 상태에서의 센서 출력값 그림 12. 레이저 레인지 파인더 출력 결과 다루고 있으며 그 특징은 다음과 같다. (1) 로봇의 움직임에서 발생할 수 있는 동작의 불확실성 과 거리센서에 대한 불확실성이 적용되어 실제동작 표 3. 센서의 불확실성 실험에 사용된 파라메터 형태와 더 유사한 시뮬레이션의 실행이 가능하다. 센서실험1 0.01 0.89 0.1 0.01 (2) 실제 시스템을 구축하지 않고 미리 동작에 관한 실 험을 한 뒤 알고리즘을 보완할 수 있으므로 실제 시 센서실험2 0.1 0.7 0 0.3 스템 사용 시 발생할 수 있는 위험에 대비할 수 있 그림 13과 14에서의 결과에서 볼 수 있듯이, 가 증 으며, 로봇의 개발에 있어서 많은 시간과 비용을 단 축 할 수 있다. 가하면 센서의 값의 분포가 이상적인 경우의 값을 중심으 (3) TCP-IP 기반의 응용 어플리케이션인 IPC를 사용한 로 더 퍼지면서 분포한다. 센서실험 1과 2에서의 3000mm부분을 보면 에 의해 센서의 측정 실패 값 클라이언트, 서버기반의 시뮬레이션은 IT기술에 있 어서 이슈중의 하나인 유비쿼터스 기술에 적절하게 들이 상당수 나타난 것을 알 수 있다. 즉 가 증가하면 대응할 수 있다. 센서측정의 실패 비율이 높아지는 것을 알 수 있다. 센서 (4) 가상현실장치 개발에 사용되는 OpenGL 라이브러리 기반으로 제작되어 2차원 시뮬레이터보다 더 현실 감 있는 시뮬레이션이 가능하다. (5) 이 프로그램은 중앙처리장치에서 모든 로봇의 컨트 롤을 담당하는 중앙집중 시스템과 로봇 각각이 스스 로 컨트롤 할 수 있는 분산처리 시스템 모두에 적용 될 수 있다. 참고문헌 그림 13. 센서실험 1에서의 결과 값의 분포도 [1] Balch, T. Arkin, R.C., Behavior-based formation control for multirobot teams, Robotics and Automation
로봇의이동및센싱불확실성이고려된네트워크기반로봇시뮬레이션프로그램 31 IEEE Transaction on, Vol.14, pp.926-939, 1998. [2] Long, M. Gage, A. Murphy, R. Valavanis, K., Application of the Distributed Field Robot Architecture to a Simulated Demining Task, Robotics and Automation, ICRA 2005 Proc. of the 2005 IEEE International Conference on,, pp.3193-3200, 2005. [3] Skubic, M. Anderson, D. Khalilia M. Kavirayani S., A Sketch-Based Interface for Multi-Robot Formations, AAAI Mobile Robot Competition 2004, Papers from the AAAI Workshops, San Jose, CA July. 2004. [4] Weckesser, P. and Dillmann, R., Navigating a Mobile Service-Robot in a Natural Environment Using Sensor-Fusion Techniques, Proc. IROS 02297 Grenobles: 1423-1428, Sept. 1997. [5] Vorwerg, C. et. al., PLATBOT: A Visually-Guided Robot for Physically Disabled Children, Proceeding of Projective relations for 3D space: Computational model, application, and psychological evaluation. 1997. [6] Neveryd, H. and Blomsjo, G., WALKY an ultrasonic navigating mobile robot for the disabled, The European Context for Assistive Technology. IOS press, 1995. [7] Stoeter, S. A. et. al., A robot team for exploration and surveillance: Design and architecture, The Sixth International Conference on Intelligent Autonomous Systems: 767-774, Venice, Italy, July 2000. [8] Mckey, E. S., Drake, K. C., and Inigo, R. M., Range Measurements by a Mobile Robot Using a navigation Line, IEEE Transaction on PAMI 8: 105-109, 1986. [9] http://www.frc.ri.cmu.edu/projects/trestle/ [10] http://www-2.cs.cmu.edu/~xavier/ [11] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics, The MIT Press, Cambridge, 2005. [12] Khatib, O., Real-time obstacle avoidance for manipulators and mobile robots, The International Journal of Robotics Research 5(1), Spring 1986. [13] Brock, O, Khatib, O. Elastic Strips : A Framework for motion Generation in Human Environments, International Journal of Robotics Research, Vol.21, No.12, pp.1031-1052, Dec 2002 서동진 2000 조선대학교제어계측공학과 ( 공학사 ) 2002 조선대학교대학원제어계측공학과 ( 공학석사 ) 2006 조선대학교대학원제어계측공학과 ( 공학박사 ) 2009~ 현재전자부품연구원박사후연구원관심분야 : 충돌회피, 주행알고리즘, 시뮬레이터고낙용 1985 서울대학교제어계측공학과 ( 공학사 ) 1987 서울대학교대학원제어계측공학과 ( 공학석사 ) 1993 서울대학교대학원제어계측공학과 ( 공학박사 ) 1992~ 현재조선대학교제어계측로봇공학과교수관심분야 : 위치추정, 충돌회피, 힘-토크제어, 수중로봇전세웅 2002 광운대학교제어계측공학과 ( 공학사 ) 2006 연세대학교대학원전기전자공학과 ( 공학석사 ) 2006~ 현재전자부품연구원전임연구원관심분야 : 지능로봇, HRI, Robot Architecture 이종배 1991 한양대학교전자공학과 ( 공학사 ) 1994 한양대학교대학원전자공학과 ( 공학석사 ) 2004 한양대학교대학원전자공학과 ( 공학박사 ) 1995~ 현재전자부품연구원책임연구원관심분야 : 지능로봇, 로봇시뮬레이터, 인공지능