퍼지를 이용한 자율 이동 로봇의 이동 경로 추종 및고속 정밀 제어Moving Path following and High Speed Precision Control of Autonomous Mobile Robot Using Fuzzy*이원호, **이형우, ***김상헌, §정재영, §노태정Won-Ho Lee, Hyung-Woo Lee, Sang-H, Jae-Young Jung and Tae-Jung Roh*부경대학교 메카트로닉스자동화정보공학과**부경대학교 제어계측공학과***동명정보대학교 컴퓨터공학과§동명정보대학교 메카트로닉스공학과요 약일반적인 이동 로봇의 주된 관심은 경로 생성과 생성된 경로 추종에 있다. 그러나 일부 고속의 이동성이 필요로 하는 로봇의 경우 동역학적 제한 조건이 존재하며, 이러한 제한 조건 내에서 원하는 움직임에 대한 제어가 요구된다. 본 논문에서 환경 지도를 가지고 있지 않은 상태, 즉 미지의 환경에서 이동 로봇의 경로 추종에 있어서 빠른 이동시에 발생할 수 있는 이동 로봇의 미끄러짐이나 전복 현상을 막기 위해 이동 로봇의 동역학적 제한 조건을 퍼지 논리를 이용하여 기준 속도를 변화시켜 안전하고 빠른 경로 추종 성능을 얻고자 하였다.특히, 라인 추종 이동 로봇을 모델링하여 실시간으로 변화하는 목표점에 대한 추종 제어기를 설계하고 퍼지 최적 속도 제한 제어기를 통해 연속적으로 변화하는 라인에 대해서 지능적으로 로봇의 속도를 제한하여 안정적인 추종 성능을 발휘함을 확인하였다.AbstractThe major interest of general mobile robot is making a route and following a maked route. But, In the case of robot that is in need of movement of partial high speed, the condition of dynamic limitation is exist, and in these conditions, it demands controlling arget, and using the fuzzy optimized velocity limitation controller, we confirm that our robot shows its stable tracing ability by limiting its velocity intelligently against the continuously changing line.Key Words : 퍼지 모델링, Mobile Robot, Navigation Algorithm(주행알고리즘), Fuzzy control(퍼지 제어)1. 서 론한국 퍼지 및 지능시스템 학회 2004, Vol. 14, No. 7, (2004) 1-6퍼지를 이용한 자율 이동 로봇의 이동 경로 추종 및고속 정밀 제어이동 로봇의 경로 생성(path planning)과 경로 추종(path tracking)은 많은 연구가 진행되어 왔으며 이를 이용한 장애물 회피(avoid obstacle)에 관한 다양한 방법들이 제시되고 있다. 연구용 및 산업용으로 개발되는 이동 로봇 뿐만 아니라 가정용 또는 오락용으로의 로봇 개발이 활성화 되면서 로봇의 이동 성능 향상을 위한 동역학적인 제한 조건을 고려하여 최적의 이동 성능을 끌어내기 위한 연구가 요구되고 있다.접수일자 : 2004년 10월 1일완료일자 : 2004년 11월 24일감사의 글 :본 연구에서는 일반적인 두 바퀴 이동 로봇(2 wheel mobile robot)에 대한 동역학적 모델링을 통해 제한 조건을 구하고, 추종 제어기의 속도 출력을 퍼지 속도 제한 제어기의 입력으로 하여 회전 운동 시에 발생할 수 있는 미끄러짐이나 전복 현상을 막고 직선 운동 시에는 빠른 속도로 이동할 수 있도록 하는 것이 목표이다.경로 추종을 위해서는 로봇이 이동하고자 하는 경로가 추종 목표로 설정되어야 한다. 본 연구에서는 어떤 외부 환경의 기하학적 지도를 가지고 있지 않은 상태에서 적외선 센서를 이용한 라인 추종 이동 로봇에 퍼지 추종 제어기와 퍼지 속도 제한 제어기를 적용하였다.비퍼지화 과정[그림 1]을 거쳐서 출력을 얻어낸다.이렇게 얻어진 최종 모터 속도를 라인 추종 이동 로봇의 모터에 적용하게 된다. 이러한 두 가지의 퍼지 제어기를 통해서 곡선에서는 속도를 줄이고 직선에서는 속도를 높여 최적화된 고속 추종 주행이 가능해지게 된다.본 논문에서 제안한 퍼지 제어기를 실제 라인 추종 이동 로봇에 적용하여 추종 성능을 확인하였으며, 실제 이동 성능 확인을 위해 주행 중 얻은 양 바퀴의 속도 데이터와 이동 로봇의 기구학 모델링을 통해 시뮬레이션 프로그램을 작성하고 그 결과를 2차원 평면 그래프로 주행 경로 수렴 여부를 확인 할 수 있었다.그림 . 퍼지 제어기의 기본 구조.Fig. 1. Base struct of fuzzy controller.2. 라인 추종 이동 로봇의 기구학그림 . 자율 이동 로봇 MECHAPIA M-04Fig. 2. Intelligent Mobile Robot MECHAPIA M-04그림 2는 자체 제작된 이동 로봇 MECHAPIA M-04 이다. 두 개의 스테핑 모터로 각 바퀴를 구동하며 보조 바퀴로는 핀치 롤러를 이용하였다. 로봇의 실제 움직임을 파악하기 위해 RF 무선 통신 또는 유선 RS-232C 시리얼 통신을 통하여 센서 값의 변화와 양 바퀴의 속도 변화를 데이터로 받을 수 있도록 구성하였으며, 라인 추종을 위해 적외선 센서 5조가 전면 센서 보드에 있다. 로봇의 주행 방향 제어는 두 개의 스테핑 모터의 속도 제어를 통해 이루어진다. 두 바퀴의 속도차로 인해 로봇의 주행 곡률이 결정되어 방향 제어가 가능해진다. 이러한 방법은 전형적인 두 바퀴 이동 로봇의 방향 제어 방법이다.그림 3은 M-04의 라인 추종 시뮬레이션을 위한 기구학적 파라미터들을 표시하였으며 은 각 파라미터에 대한 설명을 나타내었다.표 1. 이동 로봇의 기구학 파라미터Table 1. Kinematics parameters for modeling.err추종 목표점과 센서 중앙과의 오차?이동 로봇의 각 오차d이동 로봇의 거리 오차T두 바퀴 사이의 거있다는 점이다. 이는 기존의 라인 추종 이동 로봇이 OP-AMP나 Threshold 지정을 통한 비교기 방식이라는 점에서 실제 제어 입력으로 사용할 수 있는 값의 범위가 매우 작으며, 센서의 물리적인 위치에 많은 문제가 있기 때문에 유연한 추종 성능을 구현하는데 많은 문제점이 있다. 게다가 Threshold값 사이의 순간적인 센서 값의 변화에 대해 매우 민감하기 때문에 라인 이탈이나 주행 불안 요소가 상당히 많이 있다. WAM의 경우 ADC를 이용하는 광량형 방식인데다가 평균화 기법을 이용하기 때문에 이러한 문제점들을 해결할 수 있다. 다만, 이동 로봇에 사용된 8bit MCU에서 처리해야할 양이 기존의 ON-OFF 방식에 비해서 매우 많기 때문에 고속 주행 시에 연산 시간 부족이 다소 문제가 되는 부분이다.추종 제어기에 사용된 멤버십 함수는 그림 , 이며 퍼지 규칙은 와 같다. 식 의 PD 제어기의 목표치 중심의 심한 흔들림과 수렴 과정에서의 D 제어[식 3] 에 따른 음의 영향을 막을 수 있도록 규칙을 설계했다.(3)언어 변수인 ‘err', 'derr' 그리고 'out'의 언어항은 각각 {NB, NM, ZO, PM, PB}, {DNB, DNM, DZO, DPM, DPB}, {N5, N4, N2, N1, Z, P1, P2, P3, P4, P5} 이다. 입력 변수와 출력 변수의 멤버십 함수는 그림 4, 5 그리고 6과 같다.그림 . WAM - err 에 대한 멤버십 함수Fig. 4. A membership function of WAM - err그림 . WAM - derr 에 대한 멤버십 함수Fig. 5. A membership function of WAM - derr그림 . 출력에 대한 멤버십 함수Fig. 6. A membership function of Output퍼지 추론 과정은 Max-Min법을 사용하였으며 비퍼지화(Defuzzification) 과정은 무게 중심법(Center of Mass)을 사용하였다. 출력 결과 값[그림 7]은 모터 속도 상수인 Kllowing controller4. 퍼지 최적 속도 제한 제어기이동 로봇이 빠른 속도로 추종할 시에 미끄러짐과 전복 현상을 막기 위해서 속도 제한이 필요할 수 있다. 로봇이 회전을 하게 되면 구심력이 작용하며, 이로 인한 관성으로 원심력을 로봇 자체를 받게 됨으로 해서 로봇에 작용하는 여러 힘들이 바깥쪽 바퀴 접촉점을 기준으로 작용하는 모멘트의 영향으로 안쪽 바퀴가 뜨게 됨으로서 전복 또는 마찰력 부족으로 인해 미끄러지게 된다. 고속의 회전일수록 회전 각속도가 커지고 따라서 법선 가속도의 영향으로 인한 영향이 커지므로 속도 제한을 통해 위험 요소를 제거할 수가 있게 된다. 이러한 속도 제한 조건을 구하기 위해 로봇에 작용하는 힘의 작용을 와 같은 제한 조건을 구할 수 있다. 이 때 실제 제한 속도는 로봇의 마찰력과 질량, 무게 중심의 높이 등 외 에도 사용된 모터의 구동 능력(해당 속도에 따른 토크)에 따라 결정된다. 본 연구에서 사용된 로봇 M-03의 경우 스테핑 모터를 이용하였으며 스테핑 모터의 경우 고속 회전 시에 토크 특성이 급격히 떨어지는 것을 감안하여 급격한 회전 시에 탈조가 나지 않는 수준의 속도를 제한 조건으로 하였다. 본 연구에서 사용한 스테핑 모터는 Shinano Kenshi 사의 SST42HD1100 이다. 그림 8과 그림 9는 각각 속도 제한기의 입력(양 바퀴 속도)과 출력(제한 속도)에 대한 멤버십 함수이며, 은 퍼지규칙, 그림 10은 제어면을 나타내었다.(5)v : 로봇의 속도w : 로봇의 회전 각속도u : 바퀴와 지면 사이의 마찰계수m : 로봇의 질량h : 질량 중심의 높이의 제한 조건을 만족시키는 제한 영역을 실시간 으로 계산하여 로봇에 적용하기에는 많은 연산 능력이 요구된다. 따라서 실제 로봇에 이러한 제한 조건을 적용하기에는 퍼지 제어기를 이용하게 되면, 더욱 빠른 시간 내에 제한 조건을 만족하는 속도를 구할 수 있게 된다.그림 . 최적 속도 제한기의 입력 퍼지 집합Fig. 8. Input fuzzy set of optimiz 있다.
{{자율이동로봇의 경로탐색 및 방향제어에 관한 연구{요 약본 논문에서 구현한 시스템은 비젼(vision)시스템을 이용하여 자율 이동로봇의 경로를 탐색하고 추출된 정보로부터 자율 이동로봇의 위치제어 성능을 제시하고자 한다. 일반적인 로봇시스템은 자신이 이동해야 할 목표 지점을 자율적으로 생성할 수 없으므로 기타 다른 시스템의 정보를 이용하여 미로를 탐색하거나 장애물을 인식하고 식별 하여 자신의 제어전략을 수립한다. 그리고, 본 연구에서 제시한 시스템은 자율이동로봇의 행동 환경을 호스트 PC인 비젼시스템이 로봇의 현재 위치, 로봇이 이동해야 할 목표위치, 장애물의 위치와 형태 등등을 분석한다. 분석된 결과값을 RF-Module을 이용해서 로봇에 전송하면 로봇은 그 데이터를 받아서 동작하게 되며 로봇이 오동작 또는 장애물로 인해 정확한 목적지까지 도달하지 못할때 호스트 PC는 새로운 최단경로를 만들거나 장애물을 회피 할 전략을 로봇에게 보내준다. 본 연구에 적용한 알고리즘은 A* 알고리즘을 사용하였으며, 본 알고리즘은 매우 단순하면서도 실시간 처리에 적용가능하며, 자율 이동로봇의 충돌회피, 최단 경로 생성에 대한 성능을 실험을 통하여 제시한다keyword : 비젼시스템, A* 알고리즘, 경로생성, 장애물회피1.{Study of Mobile Robot using A* 알고리즘 and Driving Direction Control서론현대 산업 사회에서는 하드웨어 기술과 컴퓨터를 이용한 비젼기술 및 제어의 발전에 따라 이를 이용한 이동로봇에 대한 연구가 활발히 진행되고 있다. 일반적인 이동로봇에서는 장애물을 탐색 할 때 적외선 센서나 초음파 센서를 이용하여 정보를 수집하여 탐색 경로를 완성한다. 그러나 본 논문에서는 영상 정보를 기반으로 장애물을 개척하는 알고리즘을 구현해 보고자 한다.본 연구에서 제시할 시스템은 USB PC 카메라(MPC-10)를 장착한 호스트 PC는 로봇을 실시간으로 추적하며 영상 정보를 분석한다. 호스트 PC의 비젼 시스템은 돌발적인 적색 장애물에 대해 지능적으로 반응한다. 매 프레임 마다 새로운 로봇의 위치 정보와 목적지 좌표를 이용하여 로봇이 이동할 최적의 주행 경로를 완성한다.본 논문에서는 최적의 주행 경로 완성을 위해 A* 알고리즘을 사용해서 구현하며, 비젼 시스템은 색션 이동시 돌발적인 장애물에 대한 회피를 보장하지 못한다. 이로 인하여 이동 로봇에게 지능적인 장애물 회피 능력을 부여 하고자 하였으며 비젼(vision)시스템을 이용하여 자율 이동로봇의 경로를 탐색하고, 추출된 정보로부터 자율 이동로봇의 위치제어 성능을 제시하고자 한다.2. 본론본 논문에서 제시하고자 하는 시스템은 과 같다.{그림 1. 전체 시스템 구조은 CCD카메라로부터 받아진 영상을 이용하여 A* 알고리즘을 통한 지리정보와 로봇의 위치 정보를 얻어 RF 무선모듈로 로봇을 제어하는 전체 시스템 구조를 나타낸다.2.1 비젼 시스템CCD카메라를 통해 320*240 영상을 획득한다. 전처리로 평활화 과정을 통한 명암도의 분포를 고르게 한후 영상 데이터를 컴퓨터 처리에 적당한 형태로 바꾸는 분할 과정을 거친다.{그림 2. 비젼 시스템 구조는 영상처리의 기본 과정이다.비젼은 로봇 상단에 붙은 식별지를 인식하며 A* 알고리즘 통한 최적의 주행 경로를 완성한다.{그림 3. 레벨링된 영상 과 같이 레밸링된 영상은 면적 중심법을 통해서 Signature '3','1' 영역의 중심 좌표를 알 수 있으며 목표 지점에 대한 실거리 및 각도 산출에 이용된다.매 프레임 수행 되는 위치 탐색의 효율성을 도모하기 위해 오차 범위 내에서 블록을 지어 1차 탐색과 2차 탐색을 실시한다.1차 탐색 결과로 나온 촤상단 좌표를 2차 탐색의 입력 인자로 전달 하여 보다 정확한 로봇의 위치를 파악한다.{그림 4. 식별지를 통한 각도, 길이 산출 모델의 라벨링 결과를 이용하여 와 같이 식별지를 통한 로봇의 각도와 이동길이를 산출한다.{XC = (XU + XD) / 2 …………(1)YC = (YU + YD) / 2θ = θ0 - {{π} over {4}= tan-1({{Y_U - Y_D} over { X_U - X_D})-{{π} over {4}…(2)실제이동거리={{SQRT {(△X_T-C )^2 + (△Y_T-C )^2}} over {SQRT {(△X_U-D )^2 + (△Y_U-D )^2}}} × { 4} SQRT {2 }…(3)위의 식 (1)의 로봇중심좌표, 식 (2)는 로봇의 각도를 나타내며, 식 (1)을 식 (3)에 대입하여 실제 이동거리를 연산한다.2. 2 경로 생성을 위한 A* 알고리즘A* 알고리즘은 15퍼즐(AI 교육용) 및 효율적인 길찾기 알고리즘으로 애용된다.탐색의 효율성을 위해 320*240 맵을 1/4 축소된 형태을 이용한다.{f(n) = g(n) +h(n)g(n) : 출발노드로부터 노드 n 까지의 경로비용h(n) : 노드 n으로부터 목표 노드까지의 경로비용어떤 노드 n에 대한 함수 f(n)의 값은 출발노드에서 시작하여 노드 n 을 거쳐서 목표노드까지 도달하는 비용이 된다. 따라서 f(n)이 최소인 노드를 따라 탐색해 나가면 결국 최소비용에 도달하게 된다. A* 알고리즘은 Open List, Closed List 라는 상태 목록들을 관리한다. Open List는 아직 조사하지 않은 상태고 Closed List는 이미 조사한 상태들을 담은 목록이다. 와 같이 반복하면서 알고리즘은 열린 목록의 상태들 중 가장 유망한 것을 가져온다. 그 상태가 목표가 아니면 이웃한 위치들을 정렬한다. 이웃 위치들이 새로운 것이면 열린 목록에 넣고 , 이미 열린 목록에 있는 것이면, 그리고 그것들에 의한 경로가 이전 것들보다 비용이 싸면 그 위치들의 정보를 갱신한다. 반대로 만일 그 위치들이 이미 닫힌 목록에 있는 것이면 이미 조사를 마친 것이므로 그냥 무시한다. 목표에 도달하기 전에 열린 목록이 비어있게 되면 시작 위치로부터 목표에 도달하는 경로탐색에 실패한다.{그림 5. A* 알고리즘 순서도는 A* 알고리즘의 전체적인 흐름도이다.본 논문에서 제안하는 A* 알고리즘을 통해 산출된 최적경로를 와 같이 보여 주고 있다.{{{(a)(b){{그림 6. A* 알고리즘의 경로생성 영상2.2 로봇 시스템로봇은 80C196KC보드를 이용하여 PWM방식으로 DC모터를 구동한다. 영상의 오차 값과 로봇의 오동작으로 장애물과의 충돌을 회피하기 위해 적외선 센서를 사용하며, 호스트 PC와 통신을 위해 무선 RF모듈을 사용한다.{그림 7. 로봇 시스템 구조3. 로봇의 장애물 회피성능 및 로봇의 이동 경로 생성에 대한 실험빛의 왜란으로 영상의 정보가 정확하지 못해 로봇에게 잘못된 값들을 보낼 때 혹은 로봇이 명령을 정확하게 수행 하지 못할 때 장애물에 충돌하는 현상이 일어난다.{{(a) 도달경로(b) 장애물회피그림 8. 장애물 회피따라서 이런 문제를 해결하기 위해 와 같이 로봇 자체에 지능을 부여하여 로봇이 장애물을 회피하여 이동 할 수 있도록 알고리즘을 추가 한다. S1지점에서 로봇은 (θ)각도 값으로 돌고 로봇은 앞으로 이동하고, S2 지점에서 로봇은 장애물과 충돌을 회피 하기 위해서 왼쪽 적외선 센서가 감지되면 로봇은 -(θ)각으로 회전후 앞으로 이동한다. (앞으로 이동 시 S2→T까지 거리만큼 이동) 결국 로봇은 S3지점에 위치하게 되므로 스스로 장애물을 회피한 것과 같다. 실험을 통한 로봇의 이동 경로는 목적지점 T까지 도착하기 위해 S3→T 경로를 통과 한다. 호스트 PC는 로봇의 중심점이 목적지점에 도달하게 되면 로봇에게 명령을 주지 않는다. 하지만 와 같이 로봇은 S3→T 지점까지 한번에 명령을 수행 하지 못한다. 따라서 목적지점 중심에서 3∼5cm 범위 안에 도달 하게 되면 로봇의 이동경로는 와 같이 감소 한다본 논문의 실험은 약1.5∼2m높이에 CCD카메라를 설치하고 실내에서 실험이 이루어 졌다.{{{(a)(b){{{(c)(d)그림 9. A* 알고리즘 적용후과 같이 A* 알고리즘을 적용하여 호스트 PC가 연산 후 섹션을 나누어 로봇이 목적 지점까지 가도록 한다. 결국 로봇은 출발 지점에서 목적 지점까지 1 2 3 지점을 통과하여 최종 목적지점까지 진행 하도록 설정된다. 호스트 PC는 로봇에게 출발지점에서 1번 지점까지 이동 명령을 내릴 때 로봇은 그 명령을 받아서 스스로 1번 지점까지 이동하게 된다. 이동후 로봇은 명령을 받기 위해서 정지 하고 호스트 PC는 다음 명령을 로봇에게 보내 준다. 만약 여기서 잘못된 화상정보와 로봇의 이동시 발생하는 오차로 인해 정확하게 1번 지점으로 이동하지 못했을 경우 호스트 PC는 와 같이 A* 알고리즘을 사용하여 다시 연산후 새로운 경로를 설정한다. 이 시스템에서는 여러 가지 장애로 인해 호스트 PC는 출발 지점에서 목적지점까지의 경로를 찾아 이동 명령들을 수행 하게되면 정확한 목적지점까지 로봇은 도착하지 못한다. 결국 로봇이 명령을 수행 하고 나면 호스트 PC는 다시 새로운 경로를 찾게 된다.
{김상헌, 이동명, 정재영, 김관형동명정보대학교 컴퓨터공학과Sang-heon Kim, Dong-myong Lee, Jae-young Joung, Kwan-hyung KimDept. of Computer Science and Engineering,TONGMYONG University of Infomation TechnologyE-mail :{초소형비행체를 이용한 자율이동로봇의 경로탐색 및 방향제어에 관한 연구{요 약일반적인 로봇시스템은 자신이 이동해야 할 목표 지점을 자율적으로 생성할 수 없으므로 어떤 다른 시스템의 정보를 이용하여 주변을 탐색하거나 장애물을 인식하고 식별하여 자신의 제어전략을 수립한다. 그러므로 본 논문에서 제시한 시스템은 초소형 비행체를 이용하여 주위 환경과 자율 이동로봇의 위치 정보를 탐색할 수 있도록 시스템을 구성하였다. 이러한 시스템의 성능은 로봇이 위치하고 있는 주위의 불완전한 정보로부터 적절한 결론을 유도해 낼 수 있어야 한다. 그러한 비선형적인 문제는 현재까지도 문제 해결을 위해 많은 연구가 진행되고 있다.본 연구에서는 자율이동로봇의 행동 환경을 공간상의 제약을 받지 않는 비선형 시스템인 초소형 비행체에 극초단파(UHF16채널) 영상장치를 이용하여 호스트 PC로 전송하고 호스트 PC는 로봇의 현재 위치, 이동해야 할 목표위치, 장애물의 위치와 형태 등을 분석한다. 분석된 결과 파라메타는 RF-Module을 이용해서 로봇에 전송하고, 로봇은 그 데이터를 분석하여 동작하게 된다. 로봇이 오동작 또는 장애물로 인해 정확한 목적지까지 도달하지 못할 때 호스트 PC는 새로운 최단경로를 생성하거나 장애물을 회피 할 새로운 전략을 로봇에게 보내준다.본 연구에 적용한 알고리즘은 초소형 비행체에서 탐지한 불완전한 영상정보에서도 비교적 신뢰도 높은 결과를 보이는 A* 알고리즘을 사용하였다. 적용한 알고리즘은 실험을 통하여 실시간으로 정보를 처리할 수 있었으며, 자율 이동로봇의 충돌회피나 최단 경로 생성과 같은 문제를 실험을 통하여 그 성능과 타당성을rol with MAV서론현대 산업 사회에서 로봇 시스템은 우주탐사, 군사, 자동화 시스템 등 사회 전반에 걸쳐 널리 사용되고 있으며 현재 사용되고 있는 각 분야의 로봇들은 단순 반복적인 작업 수행에서 벗어나 위치 추적, 장애물 회피, 경로 계획 등과 같은 자율 주행을 위한 기능들을 가지도록 설계되어 지고 있다. 이동 로봇은 미지의 환경에서 로봇의 자율 주행이 가능해야 한다. 따라서 로봇이 위치하고 있는 주위의 불완전한 정보로부터 결론을 유도해 낼 수 있어야 하며 현재까지도 이러한 문제 해결을 위해 많은 연구가 진행되고 있다. 이동 로봇의 자율주행에 있어서 주변환경 인식은 상당히 중요하다. 이러한 주변환경 인식에는 주로 센서가 사용되면 최근에는 마이크로 프로세서의 성능향상으로 CCD 카메라 사용이 가능하게 되어 적외선 센서나 초음파 센서를 사용하는 것보다 훨씬 많은 정보 획득이 가능하게 되었다.본 논문에서는 초소형비행체를 이용하여 실시간적으로 주변 환경의 영상을 획득하고 최단경로를 생성하여 자율이동로봇에게 데이터를 전송한다. 원격지 모니터링이 가능한 자율이동로봇은 영상전송, 장애물 회피 등의 기능을 가지고 특정물체를 추적하여 획득하게 된다.따라서 본 논문에서는 초소형비행체를 이용하여 추출된 정보로부터 자율이동로봇의 충돌회피, 최단 경로 생성에 대한 성능을 실험을 통하여 제시하고자 한다.2. 본론본 논문에서 제시하고자 하는 시스템은 [그림 1]과 같다.{[그림 1] 전체 시스템 구조[그림 1]은 초소형비행체로부터 받아진 극초단파 영상을 이용하여 A* 알고리즘을 통한 지리정보와 로봇의 위치 정보를 얻어 RF무선모듈로 자율이동로봇을 제어하는 전체 시스템 구조를 나타낸 것이다.{{{(a)(b)[그림 2] 로봇의 실물사진[그림 2]는 로봇의 실물사진으로써 (a)는 초소형비행체이며, (b)는 지상형 탐사 로봇을 나타낸다.2.1 호스트 PC 비젼시스템초소형비행체의 CCD 카메라를 통해 UHF16채널(Ultra High Frequency)로 무선 영상이 호스트 PC로 전송된 변환하고 호스트 PC로 영상데이터를 전송한다. 마이크로로봇社의 Vision 보드인 MyVision99 를 사용하여 RGB 15bit 320*240영상을 획득한다. 320*240영상을 탐색의 효율성을 높이기 위해 영상데이터를 1/4축소하여 80*60의 영상데이터를 가지고 각 성분 R, G, B를 구별하여 라벨링한다. 라벨링과정중에 카메라의 해상도나 조명의 불균일성 등에 의해, 대상물체 영상에 잡음이 생길수 있다. 이러한 잡음은 보통 불규칙적으로 발생하므로 잡음에 해당하는 연결성분들의 화소의 수를 임의로 정하여, 화소 수 미만인 연결성분들을 제거하였다. 그리고 각 색 성분의 최대 크기 픽셀을 타겟 색으로 인식하도록 하였다. 호스트 PC의 비젼은 로봇 상단에 붙은 식별지를 인식하며 A* 알고리즘을 통한 최적의 주행 경로를 완성한다.{{{(a) 라벨링된 영상(b) 각도, 길이 산출[그림 4] 각도, 길이 생성[그림 4]의 (a)와 같이 라벨링된 영상은 면적 중심법을 통해서 Signature '3','1' 영역의 중심 좌표를 알 수 있으며 (b)를 이용하여 목표 지점에 대한 실거리 및 각도 산출에 이용된다.2. 2 경로 생성을 위한 A* 알고리즘A* 알고리즘은 15퍼즐(AI 교육용) 및 효율적인 길찾기 알고리즘으로 애용된다.탐색의 효율성을 위해 320*240 맵을 1/4 축소된 형태을 이용한다.{[그림 5] A* 알고리즘 순서도[그림 5]는 A* 알고리즘의 전체적인 흐름도이다.{f(n) = g(n) +h(n)g(n) : 출발노드로부터 노드 n 까지의 경로비용h(n) : 노드 n으로부터 목표 노드까지의 경로비용어떤 노드 n에 대한 함수 f(n)의 값은 출발노드에서 시작하여 노드 n 을 거쳐서 목표노드까지 도달하는 비용이 된다. 따라서 f(n)이 최소인 노드를 따라 탐색해 나가면 결국 최소비용에 도달하게 된다. A* 알고리즘은 Open List, Closed List 라는 상태 목록들을 관리한다. Open List는 아직 조사하지 않은 상태고 Closed List는 이미열린 목록에 있는 것이면, 그리고 그것들에 의한 경로가 이전 것들보다 비용이 싸면 그 위치들의 정보를 갱신한다. 반대로 만일 그 위치들이 이미 닫힌 목록에 있는 것이면 이미 조사를 마친 것이므로 그냥 무시한다. 목표에 도달하기 전에 열린 목록이 비어있게 되면 시작 위치로부터 목표에 도달하는 경로탐색에 실패한다.본 논문에서 제안하는 A* 알고리즘을 통해 산출된 최적경로를 [그림 6]과 같이 보여 주고 있다.{{{(a)(b){{(c)(d)[그림 6] A* 알고리즘의 최적경로생성 영상2.3 로봇 시스템2.3.1 로봇 시스템 모델{[그림 7] 로봇 시스템 구조[그림 7]는 초소형비행체와 자율 이동로봇의 전체 시스템을 나타낸다.자율이동로봇은 2조의 비젼센서, 5조의 초음파센서, 2조의 적외선센등을 이용하여 로봇의 주변 환경을 인식한다. DC모터는 PWM(Pulse Width Modulation)방식으로 구동했으며, 목표물의 효율적인 추적을 위하여 R/C 서보 모터를 이용하여 카메라에 2자유도(Pitch, Yaw)를 부여하였다. 로봇의 여러 감각 기관과 모터 구동을 담당하는 마이크로 콘트롤러는 HSI(Hish Speed Input), HSO(High Speed Output) 등과 같은 서보제어에서 탁월한 성능의 주변 장치를 내장하고 있는 Intel 社의 80C196KC를 사용하였다.2.3.2 로봇 비젼시스템CCD 카메라는 매초 33프레임 간격으로 180*120 사이즈의 RGB 24BIT 포맷을 구성하여 화소 단위로 그래버보드에 이미지 데이터를 전송한다. [그림 8]은 그래버보드 구조를 나타낸 것이다.{[그림 8] 그래버보드 시스템 구조CCD 카메라로부터 전송되는 영상을 TI社의 TMS320C32-60 칩을 사용하여 전처리 과정을 통해 물체의 중심좌표값을 찾고 ARM보드로 전송하는 과정을 거친다.3. 로봇의 장애물 회피성능 및 로봇의 이동 경로 생성에 대한 실험초소형비행체는 비선형 시스템이기 때문에 정밀 제어가 힘들다. 빛의 왜란으로 영상의 정보가 정확하지 못해 로봇에게 있도록 알고리즘을 추가 하였다.로봇은 장애물과 충돌을 회피 하기 위해서 5조의 초음파 센서에 감지되면 로봇은 장애물을 판단하여 충돌을 회피한다.[그림 9]는 로봇이 장애물을 회피하는 실험을 나타낸다.{{(a){(b)[그림 9] 장애물 회피 실험호스트 PC는 로봇의 중심점이 목적지점에 도달하게 되면 로봇에게 명령을 주지 않는다. 하지만 로봇은 목적지점까지 한번에 명령을 수행 하지 못한다. 따라서 목적지점 중심에서 1∼3m 범위 안에 도달 하게 되면 로봇의 이동경로는 감소 한다. 목표물이 확인될 때 호스트 PC는 제어권을 로봇으로 넘기고 로봇은 목표물을 포획하기 위해 로봇에 장착된 CCD 카메라를 사용하게 된다. 로봇자체의 CCD 카메라를 사용하여 영상처리후 정확한 방향으로 이동할수 있게 된다.호스트 PC의 물체 추적 영상처리 와 로봇의 영상처리는 각 색 성분의 최대 크기 픽셀을 타겟 색으로 인식하도록 하였다. 보통 영상처리할 경우 많은 연산량으로 인해 CPU의 부하가 많이 걸린다. 하지만 본 논문에서 제안한 방법은 아주 간단하면서 효율적으로 대상 물체의 색상을 찾아내고 잡음또한 제거된다. 또한 CPU 부하율이 1∼2%로 거의 리소스를 사용하지 않는다. 즉, 아주 적은 연산으로 물체를 인식할수 있게 된다.본 논문의 실험은 약3∼4m높이의 초소형비행체를 통한 극초단파(UHF16 채널) 영상을 이용하여 실내에서 실험이 이루어 졌다.{{{(a)(b)[그림 10] A* 알고리즘 적용후[그림 10 (a)]는 A* 알고리즘이 적용됫을 때 최단경로이고 [그림 10 (b)]는 최단경로에 대해 라벨링된 화면이다.A* 알고리즘을 적용하여 호스트 PC가 연산 후 섹션을 나누어 로봇이 목적 지점까지 가도록 한다. 결국 로봇은 출발 지점에서 목적 지점까지 통과하여 최종 목적지점까지 진행 하도록 설정된다. 호스트 PC는 로봇에게 출발지점에서 1번 지점까지 이동 명령을 내릴 때 로봇은 그 명령을 받아서 스스로 1번 지점까지 이동하게 된다. 이동후 로봇은 명령을 받기 위해서 정지 하고 호스정한다.
{김상헌, 이동명, 정재영, 오선문, 노관승, 김관형동명정보대학교 컴퓨터공학과Sang-heon Kim, Dong-myong Lee, Jae-young Joung,Sun-moon Oh, Kwan-seung No ,Kwan-hyung KimDept. of Computer Science and Engineering,TONGMYONG University of Infomation TechnologyE-mail :{비젼시스템과 인터넷 기반 이동로봇을 위한 퍼지규칙의 경로 계획1.{Path Planning of Internet based Mobile Robot with Vision System Using Fuzzy Rules{요 약본 논문에서는 미지의 환경에서 인터넷 기반에 대한 이동로봇의 자율 주행이 가능하도록 비젼시스템과 퍼지규칙을 이용한 경로 설정및 장애물 회피를 위한 알고리즘을 소개 하고자 한다. 한편 원격지에서도 로봇의 움직임을 파악할 수 있도록 인터넷을 통한 원격운용 기능을 추가함으로써 로봇의 효율적인 제어가 가능하도록 하였다. 원격지에서 제어하고자 할 때 대부분이 인터넷이나 무선을 이용한 원격제어 또는 실시간 모니터링을 통해 제어하여 그 상황을 시뮬레이션으로 구현하고 있다. 현재 이동로봇 제어를 할 때 많이 사용되는 방법은 IEEE 802.11b를 기반으로 한 wireless LAN Socket, TCP/IP, RF, 블루투스 통신등이 있다. 이러한 방식중 본 논문에서는 Internet 방식 중에 TCP/IP 프로토콜을 사용하였다. 전체 시스템은 이동로봇과 서버 그리고 클라이언트로 구성되며 이동 로봇은 인터넷을 통해서 로봇을 제어하거나 필요에 따라서는 로봇이 직접 제어권을 가지고 자율주행이 가능하도록 설계되었다.본 논문에서는 퍼지규칙을 이용하여 경로 계획 및 장애물 회피를 위한 알고리즘을 생성하였으며, 실험을 통한 그 효율성을 검증하였다. 또한 실제 이동 로봇을 제작하여 실험한 결과에서도 제안된 알고리즘이 우수한 성능을 발휘함을 확인할 수 있었다keyword : Mobile Robots, Fuzzy Control, Navigation서론최근 산업과 컴퓨터 기술의 비약적인 발달로 인하여 종전에 처리할 수 있었던 정보의 양이나 형태보다 많고 복잡한 일들을 처리할 수 있게 되었고, 근래에는 센서(Sensor)기술의 발달로 인간의 시각에 해당하는 카메라(Camera)의 성능과 처리 기술이 고도로 발달되어 있으며, 이를 제어하는 제어기술이 컴퓨터와 멀티미디어 그리고 신호처리 등의 기술의 급격한 발달로 인하여 다양한 형태의 영상신호처리 방법들이 제안되고 발달되고 있다. 이동 로봇은 미지의 환경에서 로봇의 자율 주행이 가능해야 한다. 따라서 로봇이 위치하고 있는 주위의 불완전한 정보로부터 결론을 유도해 낼 수 있어야 하며 현재까지도 이러한 문제를 해결을 위해 많은 연구가 진행되고 있다. 로봇의 주행에 관한 연구로는 현재까지 퍼지 로직, 유전자알고리즘, 신경망 등과 같은 지능시스템을 이용한 제어방식들이 널리 사용되어 지고있다. 이동 로봇의 자율주행에 있어서 주변 환경 인식은 상당히 중요하다. 이러한 주변환경 인식에는 주로 센서가 사용되며 최근에는 마이크로 프로세서의 성능향상으로 CCD 카메라 사용이 가능하게 되어 적외선 센서나 초음파 센서를 사용하는 것보다 훨씬 많은 정보획득이 가능하게 되었다. 본 논문에서는 1대의 CCD 카메라를 센서로 사용한 장애물 회피와 경로 설정 방법을 제안하고 이를 구현하여 사용된 알고리즘의 성능을 고찰하였다. 설정된 임시 목표까지의 이동에는 외부 잡음에 강인한 퍼지 제어기를 사용하였다2. 본론2.1 시스템 모델본 논문에서 제시하고자 하는 시스템은 다음과 같다.{[그림 1] 전체 시스템 블록도[그림 1]은 이동로봇과 서버 그리고 클라이언트로 구성되며 이동로봇은 인터넷을 통해서 로봇을 제어하거나 필요에 따라서는 로봇이 직접 제어권을 가지고 자율주행이 가능하도록 설계되었다.[그림2]는 실험에 사용한 로봇실물 사진이다.{{[그림 2] Robot System1대의 고정된 CCD 카메라를 사용하여 로봇의 앞쪽에 존재하는 장애물의 거리를 인식하도록 했으며 CCD 카메라의 사각 지역을 검색하기 위해 로봇의 전방과 좌·우측에 5조의 초음파 센서를 배치하였다. 그리고 적외선 2조는 로봇의 바닥을 검출하기 위한 센서로서 절벽 같은 지형에서 로봇을 보호하는 역할을 하며, 일정거리를 기준으로 On-Off 입력을 통해 지면의 유무를 판단하여 로봇을 보호한다.[그림 3]은 초음파 센서의 위치를 나타낸다..{[그림 3] 이동로봇의 초음파 센서 구조2.2 Moblie Robot Vision SystemCCD 카메라는 매초 33프레임 간격으로 180*120 사이즈의 RGB 24BIT 포맷을 구성하여 화소 단위로 그래버보드에 이미지 데이터를 전송한다.{[그림 4] 그래버보드 시스템 구조[그림 4]는 로봇의 Vision System구조로서 영상처리를 하는 그래버보드에 대한 구조를 나타낸다.원격지에서 실시간으로 로봇 주변의 상황을 모니터링하기 위해서는 영상의 압축이 필수적이다. 최초 획득된 영상은 그 사이즈가 커서 실시간 전송이 불가능하다. 본 로봇에서 사용한 영상압축 방법은 Jpeg의 기반 압축방식인 DCT 압축을 사용하였다. TCP/IP 기반의 원격지 제어는 Window Socket(WinSock, Datagram type)을 통해 구현하였다. Datagram type은 Stream type에 비해 header의 양이 적고 재전송요구가 없어 영상의 전송에 있어서 보다 빠른 전송시간을 보장한다{[그림 5] 실시간 영상 압축 / 복원[그림 6]은 CCD 카메라 실물사진으로써 로봇에는 2조의 CCD 카메라가 장착되어 있으나 본 논문에서는 1조의 CCD 카메라만 사용하였다.{{[그림 6] CAMERA 실물사진2.3 Fuzzy Control본 논문에서는 출발지점에서 도착지점을 지정해서 장애물 회피 및 자율 주행을 위해서 제한된 환경에서의 맵을 구성하였고 애매 모호한 상황에서 속도 및 로봇의 회전각도를 조정하기 위해 Fuzzy System 이론을 적용하였다{{{{{{[그림 7] 멤버쉽 함수[그림 7]에서 보는 바와 같이 Front Collision, Left Collision, Right Collision, Angle Error 4개의 입력을 넣어 출력 Angle, Robot Speed를 퍼지화기로 구성하였다. 퍼지 추론방식은 이동로봇에 많이 사용되는 Mamdani의 Max-Min 방법을 사용하였다.퍼지 제어의 규칙기반(Knowledge Base)시스템 RULE No. K: If (전건부) THEN (후건부)전건부 적합도{n개의 규칙 기반에 대한 Fuzzy Modus Ponens{비퍼지화 방법으로 COM(Center of Mass)을 사용하였다.{2.4 주행 시스템[그림 8]은 로봇의 상면도를 나타낸다.{[그림 8] 로봇의 상면도[그림 8]의 y는 초음파 센서를 이용하여 값을 산출한다. LENGHTx는 영상처리를 이용하여 구한다.본 논문에서는 5조의 초음파 센서를 사용하여 거리를 측정하였다. 그리고 1대의 카메라만을 사용하여 초음파 센서 거리값과 영상처리 후 장애물에 대한 값을 퍼지시스템을 통해 로봇의 주행 전략을 수립한다.3. 실험 및 결과실험에 사용한 시스템은 Intel Pentium4 CPU, 256M Byte의 메인 메모리, 32MB의 비디오메모리를 사용하여 실내에서 이루어 졌다.[그림 9]는 TCP/IP를 사용한 원격지 사용자 인터페이스 화면으로써 CCD 카메라에 장착된 2자유도의 Servo모터 및 로봇의 구동부의 DC모터를 제어한다. 그리고 실시간적으로 주위의 환경을 모니터링한다.{[그림 9] TCP/IP를 사용한 사용자 인터페이스본 논문에서 제안한 경로계획과 퍼지 제어기의 성능을 검증하기 위해 여러 종류의 환경에서 실시하였다. 로봇의 출발 각도와 위치는 임의로 설정하였으며 목적지 역시 임의의 위치에 설정하였다. [그림10]은 로봇의 전방에 장애물을 두고 실험했을 때 로봇의 행동을 나타내고 있다. 그림에서 보는바와 같이 장애물을 피해 진행하고 있음을 알 수 있다. 실험에서 사용한 로봇의 진행 가능한 폭은 로봇의 2배로 설정하였다.{[그림 10] 실험 Ⅰ[그림11]의 경우는 로봇이 장애물을 통과 할 수 없을 때 로봇이 어떠한 행동을 취하고 있는지 보여주고 있다. [그림11] 에서 보듯이 장애물 사이의 공간이 로봇이 진행 할 수 있는 공간 보다 좁아 로봇이 회피 행동을 취하고 있음을 알 수 있다.
{김상헌, 이동명, 정재영, 윤학수, 박민욱, 김관형동명정보대학교 컴퓨터공학과Sang-heon Kim, Dong-myong Lee, Jae-young Joung,Hak-su Youn, Min-yook Park ,Kwan-hyung KimDept. of Computer Science and Engineering,TONGMYONG University of Infomation TechnologyE-mail :{강화학습을 사용한 실시간 이동 물체 추적에 관한 연구1.{A Study of Real Time Object Tracking using Reinforcement Learning{요 약과거의 이동로봇 시스템은 완전한 자율주행이 주된 목표였으며 그때의 영상정보는 단지 모니터링을 하는 보조적인 수단으로 사용되었다. 그러나 지금은 이동 물체의 추적, 대상 물체의 인식과 판별, 특징 추출과 같은 다양한 응용분야에서 영상정보를 이용하는 연구가 활발히 진행되고 있다. 또한 제어 측면에서는 전통적인 제어기법으로는 해결하기 힘들었던 여러 가지 비선형적인 제어를 지능제어 방법을 통하여 많이 해결하곤 하였다. 그러한 지능제어에서 신경망을 많이 사용하기도 한다. 최근에는 신경망의 학습에 많이 사용하는 방법 중 강화학습이 많이 사용되고 있다. 강화학습이란 동적인 제어평면에서 시행착오를 통해, 목적을 이루기 위해 각 상황에서 행동을 학습하는 방법이다. 그러므로 이러한 강화학습은 수많은 시행착오를 거쳐 그 대응 관계를 학습하게 된다. 제어에 사용되는 제어 파라메타는 어떠한 상태에 처할 수 있는 상태와 행동들, 그리고 상태의 변화, 또한 최적의 해를 구할 수 있는 포상알고리즘에 대해 다양하게 연구되고 있다.본 논문에서 연구한 시스템은 비젼시스템과 Strong Arm 보드를 이용하여 대상물체의 색상과 형태를 파악한 후 실시간으로 물체를 추적할 수 있게 구성하였으며, 또한 물체 이동의 비선형적인 경향성을 강화학습을 통하여 물체이동의 비선형성을 보다 유연하게 대처하여 보다 안정하고 빠르며 정확하게 물체를 추적하는 방법을 실험을 통하여 제안하였다.keyword : 강화학습, 영상처리, 물체추적서론현대 산업 사회에서는 하드웨어 기술과 컴퓨터를 이용한 비젼기술 및 제어의 발전에 따라 이를 이용한 이동로봇에 대한 연구가 활발히 진행되고 있다. 근래에는 센서(sensor) 기술의 발달로 인간의 시각에 해당하는 카메라(camera)의 성능과 처리 기술이 고도로 발달되어 있으며, 이를 제어하는 제어기술이 컴퓨터와 멀티미디어(multimedia) 그리고 신호처리 등의 기술의 급격한 발달로 인하여 다양한 형태의 영상신호처리 방법들이 제안되고 발달되고 있다. 오늘날 산업현장에서도 머신 비젼 시스템(machine vision system)과 고성능의 마이크로 프로세서(micro processor)를 도입하여 영상응용과 멀티미디어 응용분야로 생산자동화에 주력하고 있는 실정이다. 이동 로봇으로 대상 인식 , 목표 추적 과 같은 행동을 구현할 때 초음파 센서가 일반적으로 사용된다. 그러나 초음파 센서는 주위 환경에서 거리 정보를 얻기에는 용이하지만 목표 대상을 인식하는 데에는 어려움이 있다. 예컨대, 초음파 센서만을 장착한 이동 로봇으로는 자율 주행시 로봇이 목표지점에 도착하였는지의 여부를 확인 할 수 없다는 결점을 가지고 있다. 따라서 본 논문에서는 CCD 카메라를 이용하여 대상의 색상과 형태를 파악한 후 강화학습을 통한 목표 대상의 위치를 실시간적으로 추적하는 알고리즘의 방법을 제안한다.2. 본론2.1 시스템 모델본 논문에서 제시하고자 하는 시스템은 [그림 1]과 같다.{[그림 1] 전체 시스템 구조[그림 1]은 CCD 카메라로부터 받아진 영상을 이용하여 그래버보드에서 영상처리하여 타겟물체의 중심값을 ARM보드로 전송한다. CCD 카메라는 한프레임을 그래버보드로 전송하고 다음 프레임에서는 ARM보드로 전송을 반복한다. ARM보드는 그래버보드로부터 받은 중심좌표값과 CCD카메라로부터 받은 영상 데이터를 조합하여 80C196KC에 서버모터 제어값을 넘기고 호스트PC와 TCP/IP를 통한 데이터를 전송한다.호스트PC는 ARM보드로부터 받은 영상데이터를 실시간적으로 모니터링한다.2.2 비젼시스템CCD 카메라는 매초 33프레임 간격으로 180*120 사이즈의 RGB 24BIT 포맷을 구성하여 화소 단위로 그래버보드에 이미지 데이터를 전송한다. CCD 카메라로부터 전송되는 영상을 TI社의 TMS320C32-60 칩을 사용하여 전처리 과정을 통해 물체의 중심좌표값을 찾고 ARM보드로 전송하는 과정을 거친다.[그림 2]는 그래버보드 구조를 나타낸 것이다.{[그림 2] 그래버보드 시스템 구조대상물체의 색(Blue) 범위를 결정하여 해당 물체의 색(Blue)을 구별해 낼 수 있다.비젼처리의 전체적인 과정은 다음과 같다.{[그림 3] 비젼시스템 구조[그림 3]은 카메라로부터 받아진 영상을 이용하여 파란색 물체에 대해 중심좌표를 나타내는 전체적인 흐름도이다.카메라의 해상도나 조명의 불균일성 등에 의해, 대상물체 영상에 잡음이 생길수 있다. 이러한 잡음은 보통 불규칙적으로 발생하므로 잡음에 해당하는 연결성분들의 화소의 수를 임의로 정하여, 화소 수 미만인 연결성분들을 제거하였다. 이 방법은 잡음에 의해 생기는 화소들을 제거하기 위한 단순하면서도 아주 효율적인 방법이다.물체의 중심좌표를 찾기 위해서는 물체의 크기와 위치를 알아야 한다. 2진화상에서 물체의 중심 위치는 그 물체의 면적 중심과 같으므로 면적 중심법을 이용해서 물체의 위치({{bar x},{{bar y})를 구할수 있다. 면적중심법을 이용하여 ARM보드로 타겟물체의 중심좌표를 전송한다..2.3 물체 추적 시스템 구조물체가 중앙에 위치하지 않거나 위치한 영상에 대해 ARM보드에서 실시간 제어한다.[그림 4]는 물체 추적 시스템 작동 구조를 나타낸 것이다. RS232(시리얼) 제어용 포트를 사용하여 실시간적으로 물체의 중심좌표를 확인하고 80C196KC 보드에 제어 신호를 보낸다.{[그림 4] 물체 추적 시스템 구조80C196KC는 받은 제어값으로 서보모터의 상하좌우 카메라를 이동시키게 된다.이동된 카메라에 의해 입력영상에서 보여지는 물체의 위치가 달라지게 되고, 물체의 위치가 카메라의 중앙에 위치할때까지 계속적으로 카메라가 이동된다.{[그림 5] 본 모듈의 실제 사진[그림 5]는 본 논문에서 사용한 시스템 모듈로서 (1)NTSC CCD CAMERA, (2)ARM 보드, (3)그래버보드(TMS320C32-60),(4)영상신호처리(SAA7111A), 80C196KC로 구성되어 있다.3. 강화학습을 사용한 실시간 물체추적3.1 강화 학습 모델Q-Learning은 가장 널리 사용되는 강화학습 방법들 중 하나로 이 학습법은 현재 상태에서의 행위로부터 얻게 되는 총 보답을 예측하는 행위 값에 대응시키는 행위함수를 학습하는 알고리즘이다. 그러나 Q-Learning은 빠른 실시간 성능을 가지더라도, 에이전트가 학습을 할 경우 학습 속도가 느리다. 이는 과거에 학습했던 지식을 사용하지 않기 때문이다. 에이전트가 같은 환경 내에서 여러 문제를 해결해야 할 경우, 과거에 문제들을 해결하면서 얻어온 환경에 대한 지식을 활용할 수 있다면 학습시간을 줄일 수 있는데 이러한 연구들이 활발이 진행되고 있다.[그림 6]은 강화학습의 모델로써 환경변수값이 제어기를 통해 타겟물체의 이동제어값을 산출한다.{[그림 6] 강화학습의 모델3.2 환경 지식을 이용하는 강화학습Q-learning은 대표적인 off-policy 강화학습으로 행위 함수의 갱신Q(st,at)과 책략 (st)은 다음과 같이 수행된다.{Q(st,at) ← Q(st,at) + (rt+1 + maxa'Q(st+1, a') - Q(st, at))(st)=argmaxQ(st, at): 학습률에이전트가 같은 환경 내에서 여러 문제를 해결해야 할 경우, 과거에 문제들을 해결하면서 얻은 환경에 대한 지식을 활용할 수 있다면 학습 시간을 줄이 수 있다. 환경지식을 이용한 Q-Learnning은 Local state feature, Example Set 그리고 Classifier를 가지고 과거의 지식을 이용하여 학습을 하게 된다.{[그림 7] 환경 지식을 이용하는 강화학습3.2.1 Local state featureQ-learning에서 과거에 학습한 행위 함수를 새로운 문제에 그대로 적용할 수 없는 이유는 그 행위함수가 과거의 문제에 국한되어 학습이 되어 있기 때문이다. 그래서 주어진 문제와는 독립적인 특성을 갖는 Local state feature라는 저장공간을 두어 학습에 이용하면 학습을 더욱 효과적으로 할 수 있을 것이다. 즉, Local state feature란 에이전트 주위의 상태를 저장하는 공간이다.3.2.2 Example Set에이전트가 주어진 문제에 대해 행위함수를 학습한 후 환경 지식을 추출하기 위해 Local state feature와 각 상태에서 취한 행위, 그리고 그 행위에 대한 평가가 이루어져야 한다. 이 세 가지의 정보를 갖는 저장 공간을 Example이라고 한다.3.2.3 Classifier최종적으로 에이전트는 여러 문제들을 통하여 환경 지식을 추출할 때 각 문제를 해결하면서 생성한 Example Set을 이용한다.3.3 강화학습을 사용한 실시간 물체추적CCD 카메라를 제어하기 위한 제어 시스템은 [그림 8]과 [그림 9]와 같다. 비선형적인 환경요소와 타겟물체의 (x, y)좌표를 이용하여 제어기를 통한 값에 의해 두 개의 모터를 제어한다. CCD 카메라가 이동하게 되면 변화된 타겟물체의 위치와 이동각에 따라 기준선과의 오차를 최소화하기 위하여 제어기에서 좌우 모터의 값을 제어하게 된다.4. 실험 및 결과[그림 8]과 [그림 9]는 실험에 사용한 사용자 인터페이스 화면이다.{{{[그림 8] ARM 실행화면