KR20030042644A - 학습에 의한 로보트의 진화 방법 - Google Patents

학습에 의한 로보트의 진화 방법 Download PDF

Info

Publication number
KR20030042644A
KR20030042644A KR1020010073380A KR20010073380A KR20030042644A KR 20030042644 A KR20030042644 A KR 20030042644A KR 1020010073380 A KR1020010073380 A KR 1020010073380A KR 20010073380 A KR20010073380 A KR 20010073380A KR 20030042644 A KR20030042644 A KR 20030042644A
Authority
KR
South Korea
Prior art keywords
robot
information
learning
sensor
input
Prior art date
Application number
KR1020010073380A
Other languages
English (en)
Other versions
KR100433444B1 (ko
Inventor
김병수
하인용
Original Assignee
(주)로보티즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)로보티즈 filed Critical (주)로보티즈
Priority to KR10-2001-0073380A priority Critical patent/KR100433444B1/ko
Publication of KR20030042644A publication Critical patent/KR20030042644A/ko
Application granted granted Critical
Publication of KR100433444B1 publication Critical patent/KR100433444B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Toys (AREA)

Abstract

장난감 로보트의 사용에 따른 흥미 유발을 위한 학습에 의한 로보트의 진화 방법이 개시되어 있다. 본 발명에 따르면, a) 조정기를 통해 상기 로보트가 동작될 때, 다수의 방향 센서부 및 거리 센서부로부터 입력된 정보에 기초하여 센서 입력 정보별 로보트의 동작 정보를 다수개 저장한 학습 테이블 정보를 생성하는 단계; b) 다수개 저장된 학습 테이블 정보를 지속적으로 평균치 연산하여 센서 입력 정보별 평균 정보를 제공하기 위한 습성 정보를 생성하는 단계; c) 조정기가 분리된 로보트의 동작시, 현재 입력되는 센서 입력 정보가 테이블 정보에 존재하는가를 판단하여 현재의 센서 입력 정보에 대응한 테이블 정보가 존재할 경우 다수개 저장된 로보트의 동작 정보중 어느 하나를 선택하여 선택된 동작 정보에 따라 로보트를 구동시키고, 센서 입력 정보가 학습 테이블 정보에 존재하지 않을 경우 습성 정보를 토대로 로보트를 구동시키도록 하여, 로보트의 학습에 의한 로보트의 특유 행동이 학습량에 비례하여 설정되고, 사용자의 취향이 반영된 로보트의 행동 양식을 얻을 수 있을 뿐만 아니라, 기존 정보의 조합에 의해 로보트의 진화를 꾀할 수 있어 장난감 로보트의 질적 향상을 도모하는 효과를 얻는다.

Description

학습에 의한 로보트의 진화 방법{AN EVOLUTION METHOD USING THE LEARNING IN ROBOT}
본 발명은 로보트의 제어 방법에 관한 것으로, 보다 상세히는 사용자 제어 정보 및 주변 정보에 기초한 로보트의 진화 방법과 로보트의 진화 방법을 통해 진화된 로보트의 대전(對戰)을 수행하기 위한 학습에 의한 로보트의 진화 방법에 관한 것이다.
일반적으로 로보트 예컨데, 장난감용 로보트는 소정의 센서를 통해 입력된 정보에 즉각적으로 반응하는 로보트의 구동 제어 방법이 일반적이거나, 조정기를 통해 사용자의 의도에 따라 로보트를 유선 또는 무선 제어하는 방법이 사용되고 있다. 센서로부터의 즉각적 반응에 의한 로보트의 구동 제어 방법은, 다수의 센서로부터 입력되는 신호에 기초하여 구성되는 테이블 정보에 따라 로보트의 동작이 결정되는 것이다.
예컨데, 시각 센서 또는 적외선 센서로부터 로보트 정면에 물체가 감지될 경우 로보트의 방향을 전환시키거나, 낭떨어지가 검출될 경우 로보트의 후진 모드를 선택하게 된다. 한편, 상기 조종기를 통한 로보트의 제어 방법은 조정기에 구비되는 로보트의 방향 버튼 또는 팔, 다리 구동 버튼 등을 구비하여 로보트의 판단에관계 없이 사용자 조정에 따라 로보트의 동작이 선택되는 것이다.
따라서, 로보트를 사용하는 이용자 입장에서는 로보트의 행동 양식 및 그 범위를 충분히 예측된다는 문제점이 발생할 뿐만 아니라, 제품의 질적 저하를 야기시키게 된다.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 사용자 조정에 의한 학습으로부터 진화되기 위한 입력 정보의 활용과 상기 입력 정보를 토대로 진화된 정보에 따라 로보트간 대전이 가능하도록 하여 로보트의 구동 동작 예측이 불가하여 사용자의 흥미유발을 유도할 수 있는 학습에 의한 로보트의 진화 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 관점에 따른 학습에 의한 로보트의 진화 방법은, 이송 및 무기를 동작시키기 위한 구동 메카니즘을 갖는 소정 형상의 로보트; 물체의 유무를 판별하기 위해 각 위치별로 설정된 다수의 방향 센서부와, 물체와의 거리를 산출하여 물체와의 거리가 기준치 이내인가를 판단하기 위한 거리 센서부를 포함하고, 상기 로보트와의 착탈가능하도록 하며 사용자로부터 로보트의 조정을 수행하기 위한 조정기를 포함하는 장난감 로보트에 있어서, a) 상기 조정기를 통해 상기 로보트가 동작될 때, 상기 다수의 방향 센서부 및 거리 센서부로부터 입력된 정보에 기초하여 센서 입력 정보별 상기 로보트의 동작 정보를 다수개 저장한 학습 테이블 정보를 생성하는 단계; b) 상기 다수개 저장된 학습 테이블 정보를 지속적으로 평균치 연산하여 센서 입력 정보별 평균 정보를 제공하기 위한 습성 정보를 생성하는 단계; c) 상기 조정기가 분리된 로보트의 동작시, 현재 입력되는 상기 센서 입력 정보가 상기 테이블 정보에 존재하는가를 판단하여 현재의 센서 입력 정보에 대응한 상기 테이블 정보가 존재할 경우 상기 다수개 저장된 로보트의 동작 정보중 어느 하나를 선택하여 선택된 동작 정보에 따라 로보트를 구동시키고, 상기 센서 입력 정보가 상기 학습 테이블 정보에 존재하지 않을 경우 상기 습성 정보를 토대로 로보트를 구동시키는 것을 특징으로 한다.
구체적으로, 상기 센서 입력 정보별 로보트의 동작 정보에 로보트 학습 시간에 비례한 레벨 정보를 산출하고, 산출 결과에 대응하여 상기 로보트의 특정 동작에 가중치를 부여하는 것을 특징으로 한다.
도 1은 본 발명에 따른 로보트의 전체 사시도이고,
도 2는 도 1의 로보트 동작을 설명하기 위한 제어 구성도이며,
도 3은 도 1의 로보트 학습을 설명하기 위해 사용되는 로보트 이송 방향을 나타낸 도면이고,
도 4는 본 발명에 따른 학습 테이블을 나타낸 메모리 맵이며,
도 5a,5b,5c,5d는 로보트의 부가 정보를 저장하기 위한 메모리 맵이고,
도 6은 로보트의 학습 과정을 나타낸 플로우챠트이며,
도 7은 로보트의 대전 과정을 나타낸 플로우챠트이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 로보트 103 : 근접 센서
105 : 배터리 레벨 표시기 107 : 동작 상태 표시기
109 : 칼 111 : 방패
110 : 조정기 119 : 제어선
201 : 마이컴 203 : 방향 센서부
205 : 메모리부 207 : 통신부
209 : 적외선 송신회로 211 : 적외선 수신회로
221 : 거리 센서부 223 : 증폭회로
225 : A/D 컨버터 227 : 키 스위치
이하, 본 발명을 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
도 1은 본 발명에 따른 실시예로써 도시한 로보트의 사시도이고, 도 2는 로보트의 동작을 설명하기 위한 제어 동작 구성도이다. 예시된 바와 같이, 소정 형상을 갖는 몸체와, 상기 몸체의 양측단으로 형성되는 로보트 팔 및 로보트 이송을 위한 구동 바퀴(113)로 구성된다. 상기 로보트(100)는 그 형상이 일정하지 않기 때문에 형상에 관계 없이 소정 기능을 위한 부착물이 부가될 수 있다.
본 발명의 실시예로써, 상기 로보트 팔에는 칼(109)과 방패(111) 형상의 부착물이 구비되고 로보트 팔의 동작 제어를 통해 공격 또는 방어 수행이 이루어진다. 상기 로보트(100)의 상단에는 안테나(101)가 구비되고, 특정 물체와의 거리를 검출하기 위한 근접 센서(103), 배터리의 축전량을 디스플레이하는 배터리 레벨 표시기(105), 로보트의 동작 상태를 알리기 위한 동작 상태 표시기(107) 및 특정 물체의 방향을 검출하기 위한 방향 센서(121)로 이루어진다.
상기 로보트(100)는 사용자의 제어 신호에 따라 동작되도록 하기 위한 조정기(110)와 결합 가능하며, 이를 위해 제어선(119)이 마련된다. 제어선(119)은 로보트(100)의 후단부에 착탈가능하도록 잭으로 체결되며, 상기 조정기(110)의 조정 패널(115) 상단으로 다수의 조정키(117)가 마련된다. 조정키(117)는 로보트(100)를 제어하기 위한 방향키와 상기 칼(109) 및 방패(111)를 동작시키기 위한 키가 마련된다.
상기 안테나(101)는 RF 모듈에 사용토록 되어 있으나, 적외선 통신시에는 안테나(101) 대신 적외선 송수기가 마련된다. 상기 근접 센서(103)는 초음파를 이용할 수 있으나, 적외선을 통해 물체와의 거리를 산출토록 하여도 바람직할 것이다. 방향 센서(121)는 적외선을 통해 물체의 유무를 검출토록 하고 있다.
사용자는 상기 조정기(110)를 통해 로보트(100)의 동작 예컨데, 전/후/좌/우 및 칼(109)/방패(111)를 제어한다. 이와 같은 사용자 제어는 다수의 센서로부터 검출되는 센싱 정보와 결부되어 기록되며, 다수의 기록을 토대로 로보트의 진화가 이루어진다. 즉, 사용자는 상기 조정기(110)를 통해 로보트(100)를 학습시키며, 로보트(100)의 내부 제어를 거쳐 진화를 이루게 되는 것이다.
이 후, 사용자는 조정기(110)의 제어선(119)을 로보트(100)로부터 이탈시켜 기 저장된 정보에 기초하여 로보트의 이송 모드가 결정된다. 필요에 따라, 두 대이상의 로보트를 대전시켜 상기 학습 및 진화에 따른 각자의 대전 동작을 수행토록할 수 있다.
도 2에 도시된 바와 같이, 로보트(100)의 제어 구성은 방향 센서부(203), 거리 센서부(221), 증폭회로(223), A/D 컨버터(225), 통신부(207), 적외선 송신 회로(209), 적외선 수신회로(211), 디스플레이부(213), 구동 드라이버(219), 제 1 구동 모터(215), 제 2 구동모터(217), 메모리부(205), 마이컴(201) 및 키스위치 (227)로 구성된다. 상기 방향 센서부(203)는 상기 방향 센서(121)로부터 검출되는 신호를 소정 레벨로 증폭 처리하고 있으며, 상기 거리 센서부(221)는 상기 근접 센서(103)에서 검출되는 신호를 입력받아 증폭회로(223)를 통해 다단 증폭을 수행하고 A/D 컨버터(225)에 의해 디지트화된 정보로 상기 마이컴(201)으로 제공되는 것이다.
상기 키스위치(227)는 상기 조정기(110)의 조정키(117)를 포함하여, 상기 제어선(119)이 로보트(100)에서 분리된 후, 상기 로보트(100)의 전원 온/오프를 위한 스위치가 될 수 있다. 상기 통신부(207)는 적욋ㄴ 송신회로(209) 및 적외선 수신 회로(211)에 의해 송수신되는 정보의 프로토콜을 제공하고 상기 마이컴(201)과의 정보 교류를 위한 것이다. 디스플레이부(213)는 상기 배터리 레벨 표시기(105) 및 동작상태 표시기(107)로 로보트의 동작상태 예컨데, 현재 배터리의 잔량 정보와 로보트의 제어상태(조정기 이용에 따른)를 표시할 수 있다.
구동 드라이버(219)는 로보트의 구동 바퀴(113)를 구동시키기 위한 제 1 모터(215)와 로보트 팔 제어를 위한 제 2 모터(217)를 정격 전류/전압으로 제어신호를 제공하기 위한 드라이버 회로이다. 필요에 따라, 상기 제 2 모터(217)는 솔레노이드로 대치 가능하다.
메모리부(205)는 로보트(100)에 구비되는 모든 센서의 입력에 따른 동작상태를 각각의 정보로 저장하는 학습 테이블 정보와, 사용자가 상기 조정기(110)를 통해 로보트(100)를 학습시킴에 있어서 각 센서별 입력에 따른 동작시간을 저장하는 사용자 조정시간 정보와, 다수의 학습을 통해 로보트(100)가 스스로 동작을 취할 때 각 센서별 입력에 따른 연습시간 정보와 상기 학습 테이블 정보의 평균치를 산출하고, 산출된 정보에 기초하여 경험이 적은 행동 범위에서의 동작 패턴을 산출하는 습성 정보와 로보트간 대전 정보, 즉 전투의 승패 정보 및 상기 조정시간 정보, 연습시간 정보, 습성정보 및 전투 승패 정보를 토대로 로보트의 레벨을 산출 저장하는 레벨 정보를 저장한다. 따라서, 상기 메모리부(205)는 EEPROM을 사용하며 프로그램 메모리는 상기 마이컴(201)에 내장되는 것을 실시예로 한다.
도 4 및 도 5a,5b,5c,5d는 상기 메모리의 메모리 맵을 나타낸 도면으로 도 4에서 INPUT은 로보트의 각 센서 입력을 나타내고 있으며, OUTPUT은 로보트의 구동 동작을 나타내고, COUNT는 상기 OUTPUT 정보의 저장 갯수를 나타내고 있다. 도 5a는 사용자 조정 시간 정보를 저장하는 것으로, 좌측은 각 센서의 입력 상태를 나타내고 우측은 센서 입력별로 사용자 조정 시간 정보를 카운트하고 있다.
도 5b는 로보트의 연습시간 정보를 나타낸 것으로 상기 사용자 조정 시간 정보의 메모리 맵과 동일한 구성을 갖고 있으며, 도 5c는 로보트의 습성 정보를 나타낸 것으로, 상기 학습 테이블 정보의 평균치 정보를 각 센서별로 수록하고 있다. 도 5d는 레벨 정보로써 로보트의 학습 결과 및 전투 승패정보에 의해 생성되는 것으로, 학습 시간(사용자 조정 및 로보트 스스로의 연습시간) 및 전투 승패율에 비례하여 생성된다. 한편, 상기 레벨 정보를 생성하기 위한 다수의 파라메터에 대해 각각의 가중치를 두어 로보트의 레벨을 설정할 수 있음은 물론이다.
도 3은 로보트의 학습을 실시예로 나타낸 도면이고, 도 6은 로보트의 학습 모드를 설명하기 위한 플로우챠트, 도 7은 로보트의 대전 모드를 설명하기 위한 플로우챠트이다. 상기 도면을 참조한 본 발명의 동작을 설명하면 다음과 같다.
<학습 테이블 정보 생성>
도 3에 도시된 바와 같이, 로보트(100)가 "가"의 위치에서 시작할 때(S601), 즉 로보트(100)의 방향 센서(121)가 물체를 감지하지 못하는 것으로, 상기 방향 센서부 (203)에서 검출되는 신호를 로우레벨로써 상기 마이컴(201)으로 제공되고, 마이컴(201)은 키 스위치(227)로부터 입력되는 제어 신호에 따라 상기 구동 드라이버(219)로 해당 제어 신호를 제공한다. 따라서 상기 제 1 구동모터(215) 및 제 2 구동모터(217)가 사용자 제어에 의해 동작된다.
이 때, 상기 "가"의 위치에서는 전/후/좌/우에 각각으로 설치된 방향 센서 및 근접 센서(103)에 의해 검출되는 거리 정보, 즉 물체와의 거리가 소정치 이내일 경우 물체에 근접함으로 설정하고 물체가 소정치 이상에 존재할 경우 물체가 존재하지 않는 것으로 판단하기 위한 거리 플래그(flag) 정보가 제로로 설정되어 로보트(100)의 근접 위치에 물체가 감지되지 않을 경우, 학습 테이블에서 INPUT 정보가 모두 제로로 셋팅된 테이블상으로 OUTPUT 정보가 기록된다.
여기서, 상기 INPUT 정보는 각 센서에서 감지될 수 있는 모든 가지 수 예컨데, 5개의 센서가 각 위치별로 설치될 경우 32가지 미만의 경우가 발생하며, 각각의 발생 경우를 상기 INPUT으로 설정한다. 그리고 로보트(100)의 각 센서로부터 검출되는 정보에 따라 해당 메모리의 위치가 설정되며, 해당 메모리의 위치로 로보트의 구동 정보가 기록되는 것이다. 그리고 이러한 해당 메모리의 위치로 저장되는 정보가 다수개 입력되도록 다수개의 어드레스를 구비한다. 본 발명에서는 3비트의 "COUNT"란을 통해 8회 입력이 되도록 하고 있다.
사용자가 조정기(110)를 통해 로보트(100)를 "가"의 위치에서 직진함을 처음으로 학습시킬 경우, 이는 주변에 물체가 존재하지 않은 경우이며 이에 대한 센서의 입력 정보인 INPUT 정보는 '00000'이 되고(S605), 학습 테이블의 "가"의 COUNT는 '001'이된다. 그리고 로보트(100)의 직진 학습에 따른 구동 정보는 전진상태이므로 전진란에 '1'로 셋팅된다. 로보트(100)가 "나"의 위치에 도달하고 이 때, 상기 방향 센서(121)의 좌측에서 물체가 검출되면, 메모리 맵은 좌측 INPUT 정보가 저장된 어드레스, 즉 INPUT 정보가 '00000', '00001', '00010'....,'00011'을 스킵한 후 '00100' 테이블을 선택한다(S607). 이는 좌측 방향 센서(121)에서 물체를 감지한 것으로, 로보트(100)의 유동 상태 정보를 저장하는 것이다(S609).
마찬가지로, 첫 번째 학습일 경우 "나" 테이블의 a가 될 것이며, 이 때 사용자가 로보트(100)를 물체가 존재하는 좌측 방향으로 이동하면, 상기 OUTPUT 테이블의 a란에는 '101000'이 기록되는 것이다. 이는 전진 방향과 좌측 방향이 공존하는 것으로, 로보트(100)는 좌측 곡선을 형성하며 돌진하는 것이다. 물론, 사용자가 상기 "나"지점에서 직각 방향으로 좌회전한다면, 상기 "나"의 a란은 '001000'이 될것이며, 이는 좌회전 구동함을 의미할 것이다.
이 후, 로보트(100)가 "다"지점에 이르렀을 때, 로보트(100)의 전방에 위치한 방향 센서(121)에서 물체 존재를 검출하고, 상기 좌측의 방향 센서(121)에서는 물체 감지가 없을 경우 마이컴(201)은 상기 메모리부(205)의 학습 테이블중 INPUT 정보가 '10000'인 어드레스를 선택한다. 그리고 상기 방법에 따라 첫 번째 학습일 경우 a란으로 로보트(100)의 동작 정보를 저장하는 것이다.
로보트(100)는 "다"지점에서 좌측 방향의 이동을 정지하고 물체가 존재하는 직진 방향으로 이동할 경우, 제 1 구동모터(215)를 통해 양측 모터를 동일하게 구동하여 직진하도록 한다. 그리고 OUTPUT의 a란으로 '100000'가 저장된다. 이는 현재 위치에서 로보트의 전진 동작을 의미한다. 로보트(100)가 전진동작중 물체를 감지할 경우, 즉 상기 거리센서부(221)에서 물체를 감지하고, 상기 A/D 컨버터(225)로부터 검출결과 정보를 수신하여 마이컴(201)의 내부 연산장치를 통해 상기 물체가 일정 거리 이내에 존재함으로 판단되면, 마이컴(201)은 INPUT 정보가 '10001'인 어드레스를 선택토록 제어하며 현재 몇 번째 학습인가에 따라 COUNT 정보를 설정한 후, OUTPUT 정보를 기록한다.
예컨데, 첫 번째 학습으로써 로보트(100)가 물체를 감지하고 지속적으로 전진하면서 상기 칼(109)을 휘두르는 동작을 학습할 경우, 상기 OUTPUT 정보는 '100010'으로 a란에 기록되는 것이다. 따라서, 로보트를 학습시키는 과정에서 상기 INPUT 정보인 각 센서로부터의 검출 정보별로 메모리부(205)의 어드레스를 선택하고, 해당 어드레스에 할당된 다수의 어드레스에 각각 순차적으로 로보트의 구동 정보를 저장하는 것이다.
한편, 사용자가 유사한 루트를 통해 두 번째 학습을 수행할 경우, 이 때 사용자는 로보트(100)를 도 3의 "다"위치에 놓고 상기 조정기(110)를 통해 물체로 전진하도록 제어하고, 상기 물체로 칼(109)을 휘두르는 학습을 수행한다면, 먼저 "다" 위치에서는 전방의 방향 센서(121)에서 물체를 감지할 것이므로, 마이컴(201)은 메모리부(205)의 학습 테이블중 INPUT 정보가 '10000'인 어드레스를 지정하여 순차적인 COUNT에 의해 b란으로 현재 로보트(100)가 전진함에 따른 OUTPUT 정보를 기록한다. 이는 앞서 설명된 바와 같이 '100000'이 될 것이다.
로보트(100)가 전진하면서 상기 거리 센서부(221)는 물체와의 거리를 판단하기 위해 증폭회로(223) 및 A/D 컨버터(225)와 동조하여 상기 마이컴(201)으로부터 물체와의 거리 산출을 유도한다. 상기 물체가 일정 거리이내에 존재하면, 마이컴(201)은 로보트(100)의 전방 방향센서(121) 및 근접 센서(103)로부터 물체 감지에 따른 INPUT 정보가 '10001'인 어드레스를 지정한다. 그리고 두 번째 학습에 따른 COUNT 정보가 '010'을 지정하고 OUTPUT 정보의 b란으로 현재 로보트(100)가 전진하면서 칼(109)을 휘두르는 제어 정보인 '100010'을 저장하는 것이다.
또한, 사용자가 조정기(110)를 통해 로보트(100)를 상기 물체가 없는 곳에서 전진시키거나 또는 로보트(100)를 전진시키면서 칼(109)을 휘두르도록 학습할 경우에는 상기 마이컴(201)은 로보트의 주변에 물체가 없음을 감지하여 상기 INPUT 정보가 '00000'인 어드레스를 설정하고 학습 횟 수에 따라 b,c란으로 각각 '100000' 및 '100010'을 저장하는 것이다. 이러한 학습 횟 수가 상기 7회가 넘을 경우는 또다시 COUNT 정보가 '001'로 셋팅되어 정보의 업데이트가 이루어진다.
여기서 미설명된 S603의 대전 승패 정보 리드는 상기 로보트간 대전 결과에 따른 승패 정보를 상기 메모리부(205)에서 읽어 들이는 것으로, 소정 비트(또는 바이트)의 메모리를 할당하여 상기 대전 결과를 저장하는 것이다.
사용자 조정 시간 정보에 대해 설명하면 다음과 같다.
도 5a에 도시된 바와 같이, 각각의 센서로부터 검출되는 정보 예컨데, 전/후/좌/우/거리 플래그로 구성된 각 위치별 방향 센서(121)와 근접 센서(103)의 판단 결과를 나열한 INPUT 정보와 각 INPUT 정보에 대응하는 각각의 조정 시간 정보인 COUNT 정보로 이루어진다. 이와 같은 메모리 맵은 각각의 INPUT 정보를 각각의 어드레스로 설정하고, 각 어드레스에 해당 센서 검출에 따른 로보트(100)의 이송 정보가 저장되는 것이다.
a란에서는 다수의 센서로 이루어진 거리센서부(221) 및 방향 센서부(203)로부터 검출신호가 전혀 없음을 의미하며, 이는 로보트(100)가 주변 물체가 없는 곳에서 자유로이 이송되고 있음을 뜻한다. COUNT 정보는 소정의 설정된 시간으로 카운트를 수행할 수 있으며, 로보트(100)의 이송 거리에 비례하여 단위 이송 거리당 1 카운트를 수행할 수 있다. 따라서, a란은 물체가 감지되지 않는 곳에서 로보트가 '001100'/10진수:12/ 시간만큼 또는 거리만큼 이송한 것이며, b란에서는 물체가 감지 되었을 때 이송된 시간 정보가 저장된다(S611,S613).
따라서 사용자는 로보트(100)를 물체에 근접시켜 공격 연습 또는 방어 연습 을 실시한 정보로 예측할 수 있으며, 실시예로 b란은 '000111'/10진수:7/로써 상기a란과 비교해 볼 때 물체가 없는 곳에서의 학습이 물체가 존재하는 곳에서의 학습보다 높은 수치로 나타나고 있으므로, 사용자의 현재 학습 상태는 비공격적인 성향이 있다고 판단할 수 있을 것이다. 또한 로보트(100)가 물체의 좌측으로 우회하여 공격하는 학습을 받았다면, 해당 학습에 따른 조정 시간정보는 f란에 저장됨을 보이고 있다.
로보트의 스스로 연습 시간 정보는 도 5b의 메모리 맵에 기록되며, 상기 사용자 조정시간 정보와 동일한 방법으로 기록된다. 단자 사용자는 로보트(100)에서 조정기(110)를 분리하여 그동안의 학습을 통한 실전 연습을 시키는 것으로, 조정기 (110)에 의한 조정이 아닌, 로보트(100)의 스스로 학습이 되는 것이다.
로보트의 스스로 학습에 대해 설명하면 다음과 같다.
로보트(100)는 상기 조정기(110)가 분리되어 있음을 감지, 이는 키스위치 (227)가 분리될 때 내부 패턴을 풀업 또는 풀다운 상태로 유지하도록 하고 마이컴 (201)은 이를 감지토록 하는 것이다(S615). 마이컴(201)은 키스위치(227)가 분리됨을 감지할 경우, 상기 메모리부(205)에서 학습 테이블 정보를 인에이블 시키며, 상기 방향 센서부(203) 및 거리 센서부(221)를 인에이블하여 센서 입력 상태를 검출토록 제어 한다.
이 때, 로보트(100)의 방향 센서(121)에서 물체가 검출되지 않으면, 마이컴 (201)은 학습 테이블 정보에서 INPUT 상태가 '00000'인 정보의 어드레스를 선택한다. 그리고 상기 INPUT 상태가 '00000'인 정보의 OUTPUT 정보가 다수개 저장되어 있기 때문에, 마이컴(201)은 학습 테이블 정보의 COUNT 정보중 어느 하나를 랜덤하게 선택하는 것이다. 만약, 상기 COUNT 정보중 '011'이 선택되었다면, 상기 로보트(100)는 전진하면서 칼(109)를 휘두를 것이고, COUNT 정보중 '010'이 선택되었다면, 상기 로보트(100)는 전진만 수행할 것이다.
로보트(100)의 지속적인 전진 수행으로 물체에 근접하게 되었을 경우, 예컨데 로보트(100)의 전방 방향 센서(121)에서 물체가 감지되면, 마이컴(201)은 학습 테이블의 COUNT 정보중 어느 하나를 선택하여 로보트의 전진을 계속 명령한다. 또한 상기 거리 센서부(221)로부터 물체 감지 신호가 입력되면, 이는 물체가 소정 거리 이내에 존재하는 것이므로, 학습 테이블의 INPUT 정보는 '10001'이 되어 마이컴(201)은 COUNT 정보중 어느 하나를 선택한다.
예컨데, c란을 선택했다면 로보트는 전진함과 동시에 칼(109)과 방패(119)를 휘두르는 것이다. 이러한 동작 또는 마이컴(201)의 제어하에 구동 드라이버(219)로 해당 동작 정보를 제공하는 것이다. 이와 같은 로보트의 스스로 학습은 사용자로부터 기 학습된 정보에 기초하는 것으로, 기 학습된 정보에 따라 스스로 학습된 학습 시간 정보를 상기 메모리부(205)에 저장한다(S615,S617).
이하, 로보트의 학습에 의한 로보트의 습성 정보에 관해 설명하면 다음과 같다.
로보트의 습성 정보는 과거에 훈련된 정보까지 반영되도록 하여, 로보트의 활동 범위를 넓히기 위한 것이다. 학습과정에서의 학습 테이블 정보는 하나의 INPUT 정보에 다수의 OUTPUT 정보가 저장되도록 하고 있으나, 훈련양에 따라 OUTPUT 정보의 저장 공간이 충분하지 못하게 된다. 따라서 하나의 OUTPUT 정보가기록될 때 평균 정보를 저장토록 하는 것이다. 이와 같이 저장된 정보는 현재 학습한 정보이외에 과거 학습된 정보가 반영되는 것이다. 일예로 학습 테이블의 "라" 어드레스의 OUTPUT 정보가 현재부터 과거 7회 학습 정보가 모두 '000000'이고, 과거 학습 정보가 '000000'가 아니라면, 습성 정보는 '000000'이 아닐 수 있는 것이다.
따라서 로보트는 근래 학습한 정보가 없다 하더라도, 과거 학습 정보에 기초한 습성 정보를 통해 동작되는 것으로, 로보트의 스스로 연습시간 정보 또는 대전(이하 설명될)시 상기한 INPUT 정보에 대응한 OUTPUT 정보가 없을 경우에도 로보트는 상기 습성 정보에 의해 동작된다. 한편, 상기 습성 정보의 평균 정보는 사칙연산을 통한 평균치 산출 및 자리 올림에 의해 산출가능하며, 근래 정보에 가중치를 두어 평균을 산출할 수 있다. 예컨데, 본 발명의 실시예로 상기 COUNT 정보가 7회까지 입력되도록 하고 있으나, 최초 7회까지 정보에 소정의 가중치를 곱하고 8회부터 14회까지 정보에 상기 가중치보다 높은 가중치를 곱하고, 15회부터 21회까지는 상기 높은 가중치 보다 높은 가중치를 곱하여 전체 평균을 내어도 본 발명의 요지를 훼손하지는 않을 것이다.
이하, 본 발명에 따른 로보트의 레벨 정보에 대해 설명한다(S619).
로보트의 레벨 정보는 도 5d에 도시된 바와 같이, 다수의 센서 입력 상태에 따른 각각의 학습 정도를 나타내는 것으로, 실질적인 로보트의 파워를 나타낸다. 이와 같은 로보트 파워는 상기 사용자 조정 시간 정보, 로보트 스스로 연습 시간정보 및 습성 정보를 합산 후 평균하여 이를 레벨 정보로 사용할 수 있으며, 또는 상기 각 정보에 각각으로 가중치를 갖도록 할 수 있다.
또한, 이하 설명될 로보트의 대전에 따른 전투 승패 정보를 포함시켜 대전 로보트로써의 기능을 강화토록 할 수 있다.
예시도면에 도시된 바와 같이, 다수의 로보트 학습에 의해 로보트의 레벨이 설정되어 해당 로보트가 어떠한 기능에 강한지를 알 수 있는 것이다. 예컨데, INPUT 정보의 '01001' 정보에 해당하는 h란에 레벨이 높게 나오면, 해당 로보트는 좌측 공격이 강하다고 할 수 있을 것이다.
로보트 대전(對戰)에 관해 설명한다.
로보트 대전은 두 대 이상의 로보트간 싸움을 행하는 모드로써, 안테나(101) 또는 적외선 통신 포트를 통해 상대측 로보트 레벨 정보를 수신하고 자신의 로보트 레벨 정보를 송신한다(S701,S703)). 송수신된 레벨 정보를 토대로 해당 로보트가 상대 로보트에 비해 우등한가 또는 열등한가를 서로 판단한다(S705,S707).
각 로보트는 우등 상태와 열등 상태에 따라 별도의 모션을 갖고 있으며, 해당 로보트가 적외선 수신회로(211)를 통해 상대 로보트로부터 우등한 레벨 정보를 수신하면 마이컴(201)은 열등 상태의 로보트 모션 정보를 적용한다. 열등 상태임으로 판단된 로보트는 상대 로보트가 근접할 때 뒤로 유동하도록 하여 열등한 로보트임을 표현할 수 있으며, 상대 로보트의 주변을 우회하여 싸움을 망설이는 모션을 취하도록 할 수 있다.
앞서 설명된 바와 같이, 각 로보트의 레벨 정보는 INPUT 값에 따라 각각의 레벨 정도를 저장하고 있기 때문에(S709), 상대 로보트와의 대전시 로보트간 유동에 따른 다수의 INPUT 정보가 생성, 즉 특정 로보트가 좌측에 존재할 때는 각각의 두 로보트는 레벨 정보를 메모리부(205)로부터 각각 리드하여 현재 상태에 따른 INPUT에 대응하는 레벨 정보를 상기 통신부(207) 및 적외선 송신회로(209)로 제공하고, 적외선 수신회로(211) 및 통신부(207)를 통해 상대측 레벨 정보를 입력받는 것이다.
그리고 해당 모션에 대한 상호 레벨을 검토하여 열등 로보트와 우등 로보트를 판단하고 판단 결과에 따라 자신의 행동 모드를 결정짓는다(S711). 물론, 로보트의 유동에 따라 상대 로보트가 우측에 존재할 수 있고 정면 또는 후면에 존재할 수 있는데, 이 때 각각의 해당 INPUT에 대응한 레벨 정보를 송수신하여 해당 로보트 모션별 레벨 정보를 송수신하는 것이다.
이와 같은 동작은, 기 설명된 사용자 조정시간 정보, 로보트 스스로 연습시간 정보와 습성 정보에 기초하여 레벨 정보가 설정되는 것으로(S713,S715), 학습량에 따라 대전시 유리한 모션을 취할 수 있는 것이다(S717).
본 발명에서는 상기 로보트의 레벨 정보에 기초하여 부가적인 모드를 설정할 수 있는데, 실시예로서 마법 기능을 부여할 수 있도록 하고 있다. 마법 기능은 상대측 로보트에 비해 해당 로보트의 레벨이 월등할 경우 물론, 이는 수치적인 해석으로 소정의 기준치 이상의 레벨 차이가 발생할 경우 해당 로보트는 마법을 위한 특정 행동을 취한다(S719). 이는 로보트가 현 위치에서 회전을 하거나, 칼(109)을 위아래로 동작시키거나 또는 별도의 모션을 취하여 마법 기능을 수행함을 표현하는 것으로, 이러한 마법 기능 수행시에는 마이컴(201)에 마법 수행에 따른 정보를 통신부(207)를 통해 적외선 수신회로(211)로 전송한다.
상대측 로보트는 상기 마법 수행에 따른 정보를 수신하며, 이에 해당하는 모션, 예컨데 모든 기능을 정지하거나, 칼(109)과 방패(111)를 위로 올리거나 또는 현 위치에서 좌회전/우회전을 반복하도록 하여 마법에 걸렸음을 표현한다. 이와 같은 동작은 장난감으로써의 예측 불가한 행동으로 사용상의 흥미를 유발시키게 되는 것이다.
또한 상기 레벨 정보는 로보트의 배터리 잔량과 연동되도록 하여도 본 발명의 요지를 벗어나지 않을 것이다.
이상 설명된 바와 같이 본 발명에 따른 학습에 의한 로보트의 진화 방법은 사용자가 조정기를 통해 로보트를 학습하도록 하며, 학습시 로보트의 행동 양식을 정보화하여 이를 기록함에 따라, 로보트의 학습에 의한 로보트의 특유 행동이 학습량에 비례하여 설정되고, 또한 해당 로보트는 사용자가 과거 지시한 행동까지 로보트의 행동 범위에 적용시킬 수 있도록 하여 사용자의 취향이 반영된 로보트의 행동 양식을 얻을 수 있을 뿐만 아니라, 사용자가 실질적으로 조정한 경험이 없다라도 기존 정보의 조합에 의해 로보트의 진화를 꾀할 수 있어 장난감 로보트의 질적 향상을 도모하는 효과를 얻는다.
또한, 상기한 로보트 진화를 통해 해당 로보트의 레벨을 설정하도록 하여 상대 로보트와의 대전시 훈련량에 따른 전술과 상대 전술에 대응한 로보트 행동이 사용자의 의도와 관계 없이 이루어져 로보트 사용시 흥미를 가미할 수 있는 효과를얻는다.
이상에서 설명한 것은 본 발명에 따른 학습에 의한 로보트의 진화 방법을 실시하기 위한 하나의 실시예에 불과한 것으로, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.

Claims (3)

  1. 이송 및 무기를 동작시키기 위한 구동 메카니즘을 갖는 소정 형상의 로보트; 및 물체의 유무를 판별하기 위해 각 위치별로 설정된 다수의 방향 센서부와, 물체와의 거리를 산출하여 물체와의 거리가 기준치 이내인가를 판단하기 위한 거리 센서부를 포함하고, 상기 로보트와의 착탈가능하도록 하며 사용자로부터 로보트의 조정을 수행하기 위한 조정기를 포함하는 장난감 로보트에 있어서,
    a) 상기 조정기를 통해 상기 로보트가 동작될 때, 상기 다수의 방향 센서부 및 거리 센서부로부터 입력된 정보에 기초하여 센서 입력 정보별 상기 로보트의 동작 정보를 다수개 저장한 학습 테이블 정보를 생성하는 단계;
    b) 상기 다수개 저장된 학습 테이블 정보를 지속적으로 평균치 연산하여 센서 입력 정보별 평균 정보를 제공하기 위한 습성 정보를 생성하는 단계; 및
    c) 상기 조정기가 분리된 로보트의 동작시, 현재 입력되는 상기 센서 입력 정보가 상기 테이블 정보에 존재하는가를 판단하여 현재의 센서 입력 정보에 대응한 상기 테이블 정보가 존재할 경우 상기 다수개 저장된 로보트의 동작 정보중 어느 하나를 선택하여 선택된 동작 정보에 따라 로보트를 구동시키고, 상기 센서 입력 정보가 상기 학습 테이블 정보에 존재하지 않을 경우 상기 습성 정보를 토대로 로보트를 구동시키는 단계를 포함하는 것을 특징으로 하는 학습에 의한 로보트의 진화 방법.
  2. 제 1 항에 있어서, 상기 센서 입력 정보별 로보트의 동작 정보에 로보트 학습 시간에 비례한 레벨 정보를 산출하고, 산출 결과에 대응하여 상기 로보트의 특정 동작에 가중치를 부여하는 것을 특징으로 하는 학습에 의한 로보트의 진화 방법.
  3. 제 2 항에 있어서, 상기 로보트 학습 시간은 상기 조정기에 의해 상기 센서 입력 정보별로 로보트가 학습된 시간 정보를 나타내는 사용자 조정 시간 정보와, 사용자로부터 상기 조정기를 분리하고 로보트가 스스로 구동되도록 할 때 상기 센서 입력 정보별로 로보트가 스스로 학습한 시간 정보를 나타내는 로보트 스스로 연습시간 정보인 것을 특징으로 하는 학습에 의한 로보트의 진화 방법.
KR10-2001-0073380A 2001-11-23 2001-11-23 학습에 의한 로보트의 진화 방법 KR100433444B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0073380A KR100433444B1 (ko) 2001-11-23 2001-11-23 학습에 의한 로보트의 진화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0073380A KR100433444B1 (ko) 2001-11-23 2001-11-23 학습에 의한 로보트의 진화 방법

Publications (2)

Publication Number Publication Date
KR20030042644A true KR20030042644A (ko) 2003-06-02
KR100433444B1 KR100433444B1 (ko) 2004-05-27

Family

ID=29571092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0073380A KR100433444B1 (ko) 2001-11-23 2001-11-23 학습에 의한 로보트의 진화 방법

Country Status (1)

Country Link
KR (1) KR100433444B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103792943B (zh) * 2014-02-19 2017-01-11 北京工业大学 基于距离信息和实例学习的机器人自主运动控制方法
KR101726406B1 (ko) 2015-06-08 2017-04-14 대한광통신 주식회사 층간 분기용 광케이블과 그 제조방법 및 그 시공방법

Also Published As

Publication number Publication date
KR100433444B1 (ko) 2004-05-27

Similar Documents

Publication Publication Date Title
USRE39818E1 (en) Personalized wireless video game system
EP3141468B1 (en) Balance training device and balance training method
US11648485B2 (en) Toy robot
CN1662283B (zh) 网球游戏系统
EP1146941B1 (en) A remote controlled toy
JP2016116642A (ja) 遊技機
JP2004536634A (ja) ロボット玩具プログラミング
KR20080101633A (ko) 골프 스윙 측정 장치
US20020143436A1 (en) Robot apparatus, body unit and coupling unit
JP7372607B2 (ja) センサシステム
Ibrahim et al. An undergraduate fuzzy logic control lab using a line following robot
EP1455915A2 (en) Remote control toy system and transmitter and moving machine for the same
KR20130120307A (ko) 주행로봇 및 주행로봇의 제어방법
KR100433444B1 (ko) 학습에 의한 로보트의 진화 방법
JP2002007057A (ja) プロセサ用入力装置
US10596463B2 (en) Information processing system including device having motion sensing function, storage medium storing program directed thereto, and information processing device
KR101610345B1 (ko) 아령 세트
US20050049725A1 (en) Synchronous system for virtual reality frame and real objects
JP4606330B2 (ja) 遠隔操作玩具システム、及びその駆動機器
US20100256950A1 (en) Information processing system including device having motion sensing function, storage medium storing program directed thereto, and information processing device
US20120319540A1 (en) Servo Device And Remote Control Device Having The Same
US20220379230A1 (en) Toy construction system for constructing and operating a remote controlled toy vehicle model
US20210266191A1 (en) Consumer appliance inheritance methods and systems
JP4308626B2 (ja) 遠隔制御用送信機
WO2009068868A1 (en) Portable counting device and gaming system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100518

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee