KR20010083059A - 음원의 방향을 검출하여 음원의 위치로 이동하기 위한로봇 및 그 동작방법 - Google Patents
음원의 방향을 검출하여 음원의 위치로 이동하기 위한로봇 및 그 동작방법 Download PDFInfo
- Publication number
- KR20010083059A KR20010083059A KR1020007014529A KR20007014529A KR20010083059A KR 20010083059 A KR20010083059 A KR 20010083059A KR 1020007014529 A KR1020007014529 A KR 1020007014529A KR 20007014529 A KR20007014529 A KR 20007014529A KR 20010083059 A KR20010083059 A KR 20010083059A
- Authority
- KR
- South Korea
- Prior art keywords
- distance
- robot
- value
- current
- previous
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
본 발명은 음원의 방향을 검출하여 음원으로 이동하기 위한 로봇에 관한 것으로, 음원으로부터 출력되는 특정 패턴을 갖는 음향신호를 수신하여 수신된 음향신호 간의 위상차를 이용하여 음원의 방향을 정확히 검출하고 현재의 진행방향을 검출하여 음원으로 이동하기 위한 로봇 및 그 동작방법에 관한 것으로서, 이러한 로봇은 여러 검출장치 및 이동장치를 구비하고 있으며, 검출장치로는 거리측정계, 인체감지 센서 등이 있으며, 목표지점 또는 현재 위치를 검출하고 검출된 목표지점 또는 현재 위치를 이용하여 목표위치로 이동한다.
이를 위해, 본 발명은 음향신호발생수단으로부터 출력되는 특정 패턴을 갖는 음향신호를 검출하여 음원의 위치로 이동하기 위한 로봇 장치에 있어서, 상기 음향신호를 수신하기 위한 적어도 세 개의 음향수신수단; 상기 음향수신수단으로부터 출력되는 각 음향신호 간의 위상차를 이용하여 음향신호발생수단의 위치를 검출하기 위한 위상차검출수단; 음향신호발생부의 위치를 판단하여 동작제어신호를 발생하는 처리수단; 및 상기 동작제어 신호에 응답하여 상기 로봇을 이동시키기 위한 이동수단을 포함하여 이루어진다.
또한, 본 발명은 음향신호발생수단으로부터 출력되는 특정 패턴을 갖는 음향신호를 검출하여 음원의 위치로 이동하기 위한 로봇 장치의 동작 방법에 있어서, 작동 모드가 설정되었는지를 판단하는 제 1 단계; 상기 제 1 단계에서 작동 모드가 설정되지 않은 것으로 판단되면, 대기모드로 된 후 일정 거리 내에 위치한 사람을감지하여 추적하는 제 2 단계; 상기 제 1 단계에서 작동 모드가 설정된 것으로 판단되면, 설정된 작동 모드의 종류를 확인하는 제 3 단계; 및 상기 설정된 작동 모드의 종류 확인 결과에 따라, 평면 구조물을 탐색 및 분석해서 얻은 평면구조물에 대한 정보를 이용하여 지정한 영역을 청소하고, 방전시 음향을 발생하는 충전기를 탐색한 후 탐색한 충전기에 도킹(docking)하여 충전이 이루어지도록 하며, 음향을 발생하는 음원을 탐색 및 경비 동작을 수행하는 제 4 단계를 포함하여 이루어진다.
Description
일반적으로, 이동 가능한 로봇은 산업용에서 완구용에 이르기까지 많은 분야에서 이용되고 있다. 이러한 로봇은 여러 검출장치 및 이동장치를 구비하고 있으며, 검출장치로는 거리측정계, 인체감지 센서 등이 있으며, 목표지점 또는 현재 위치를 검출하고 검출된 목표지점 또는 현재 위치를 이용하여 목표위치로 이동한다.
검출장치 중 하나로써, 음원의 방향을 검출하기 위한 음원방향 검출장치가 대한민국 특허공고번호 91-2926호에 개재되어 있다. 그러나, 상기 음향방향 검출장치는, 정확한 음원의 위치를 파악하기 보다는 로봇에 장착된 수신기를 통해 음향신호가 출력되는 순서를 이용하여 여섯 방향으로 음원의 방향을 검출한다. 따라서, 음원의 위치 검출이 부정확하며 주변의 음향 등으로 오류가 발생할 수 있기 때문에단순한 장난감 등에는 적용할 수 있으나 정교한 위치검출을 요하는 로봇에는 그 적용에 한계가 있었다. 즉, 음향신호를 충전기에서 발생하도록 하여 로봇이 충전기의 위치로 이동하여 충전기에 도킹(docking)함으로써 충전할 수 있는 자동 충전 기능을 구현하기 위해서는 정확한 음원의 위치를 검출하여 이동하는 로봇에는 적용하기 어려운 문제점이 있었다.
본 발명은 음원의 방향을 검출하여 음원으로 이동하기 위한 로봇에 관한 것으로, 음원으로부터 출력되는 특정 패턴을 갖는 음향신호를 수신하여 수신된 음향신호 간의 위상차를 이용하여 음원의 방향을 정확히 검출하고 현재의 진행방향을 검출하여 음원으로 이동하기 위한 로봇 및 그 동작방법에 관한 것이다.
본 발명은 상기의 제반 문제점을 해결하기 위하여 안출된 것으로써, 음향신호발생수단으로부터 출력되는 특정 패턴을 갖는 음향신호를 검출하여 음원의 위치로 이동하기 위한 로봇 장치에 있어서, 상기 음향신호를 수신하기 위한 적어도 세 개의 음향수신수단; 상기 음향수신수단으로부터 출력되는 각 음향신호 간의 위상차를 이용하여 음향신호발생수단의 위치를 검출하기 위한 위상차검출수단; 음향신호발생부의 위치를 판단하여 동작제어신호를 발생하는 처리수단; 및 상기 동작제어 신호에 응답하여 상기 로봇을 이동시키기 위한 이동수단을 포함하여 이루어진다.
또한, 본 발명은 음향신호발생수단으로부터 출력되는 특정 패턴을 갖는 음향신호를 검출하여 음원의 위치로 이동하기 위한 로봇 장치의 동작 방법에 있어서, 작동 모드가 설정되었는지를 판단하는 제 1 단계; 상기 제 1 단계에서 작동 모드가 설정되지 않은 것으로 판단되면, 대기모드로 된 후 일정 거리 내에 위치한 사람을 감지하여 추적하는 제 2 단계; 상기 제 1 단계에서 작동 모드가 설정된 것으로 판단되면, 설정된 작동 모드의 종류를 확인하는 제 3 단계; 및 상기 설정된 작동 모드의 종류 확인 결과에 따라, 평면 구조물을 탐색 및 분석해서 얻은 평면구조물에대한 정보를 이용하여 지정한 영역을 청소하고, 방전시 음향을 발생하는 충전기를 탐색한 후 탐색한 충전기에 도킹(docking)하여 충전이 이루어지도록 하며, 음향을 발생하는 음원을 탐색 및 경비 동작을 수행하는 제 4 단계를 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
* 도면의 간단한 설명
도 1은 본 발명에 따른 일실시예로써 음원의 방향을 검출하여 음원의 위치로 이동하기 위한 로봇을 나타내는 블록도;
도 2는 본 발명에 따른 일실시예로써, 도 1의 수신부가 세 개의 수신기로 이루어진 경우를 나타내는 도면;
도 3은 본 발명의 다른 일실시예로써, 도 1의 수신부가 여섯 개의 수신기로 이루어진 경우를 나타내는 도면;
도 4는 도 1의 수신부에서 수신된 음향신호의 패턴을 나타내는 타이밍도;
도 5는 도 1의 위상차 검출부의 일실시예를 나타내는 블록도;
도 6은 도 5의 위상차 검출기의 일실시예를 나타내는 회로도;
도 7은 도 5의 위상차 검출기의 동작 타이밍도;
도 8은 도 5의 음향패턴구간 검출기의 일실시예를 나타내는 블록도;
도 9는 도 8의 음향패턴구간 검출기의 일실시예를 나타내는 회로도;
도 10은 도 9의 음향패턴구간 검출기의 동작 타이밍도;
도 11은 도 1의 전자나침반의 홀센서 및 철심배치도를 나타내는 도면;
도 12는 도 11의 전자나침반을 나타내는 회로도;
도 13은 도 11의 전자나침반으로부터의 방향각도를 나타내는 도면;
도 14는 본 발명에 따른 로봇의 동작 방법에 대한 일실시예의 흐름도;
도 15는 도 14에서 평면구조물 탐색 및 분석에 대한 일실시예 흐름도;
도 16은 도 15에서의 초기 동작 진행 과정에 대한 일실시예 흐름도;
도 17은 도 15에서의 로봇의 상태 결정 과정에 대한 일실시예를 나타내는 흐름도;
도 18은 도 17에서의 로봇의 진행 방향 전환 과정에 대한 일실시예 흐름도;
도 19는 도 15의 설정동작 실행 과정에 대한 일실시예 흐름도;
도 20은 도 15의 설정동작 실행 과정에 대한 다른 실시예 흐름도;
도 21는 도 15의 설정동작 실행 과정에 대한 또 다른 실시예 흐름도;
도 22는 도 15의 평면구조 분석 과정에 대한 일실시예 흐름도;
도 23는 상기 도 22에서 설명된 평면구조 분석 과정에 대한 설명도;
도 24는 상기 도 14의 음원 탐색 과정에 대한 일실시예 흐름도;
도 25는 상기 도 24의 음원 탐색 진행 동작 설정 과정에 대한 일실시예 흐름도;
도 26은 상기 도 24의 음원방향 진행에 대한 일실시예 흐름도;
도 27는 도 24의 우회동작모드 설정 과정에 대한 일실시예 흐름도;
도 28은 본 발명에서의 우회동작 처리에 대한 일실시예 흐름도;
도 29는 도 14의 대기모드 상에서 인체추적 과정에 대한 일실시예 흐름도;및
도 30은 상기 도 14의 경비 동작 수행 과정에 대한 일실시예 흐름도;
도 1은 본 발명에 따른 일실시예로써, 음원의 방향을 검출하여 음원의 위치로 이동하기 위한 로봇을 나타내는 블록도이다.
도 1을 참조하면, 본 발명은 특정 패턴을 갖는 음향신호를 소정시간 동안 발생하는 음향신호발생부(111)와, 음향신호발생부(111)로부터의 음향신호를 수신하여 수신된 음향신호 간의 위상차를 이용하여 음원의 방향을 검출하며 음원의 위치로 이동하기 위한 로봇(112)으로 이루어진다.
로봇(112)은 음원의 방향을 검출하기 위한 음원방향 검출부(113), 전자나침반(120) 및 아날로그-디지털 변환기(121)로 이루어지며 로봇의 현재 동작방향을 검출하는 동작방향 검출부(119), 각 검출된 데이터를 처리하기 위한 데이터 처리부 (125), 및 로봇의 동작을 제어하기 위한 동작제어부(130)로 구성된다. 데이터 처리부(125)는 각 검출된 데이터를 전달하기 위한 인터페이스부(126), 검출된 데이터 처리를 담당하는 마이크로 프로세서, 및 처리된 데이터를 저장하기 위한 롬(128) 및 램(129)으로 이루어진다. 동작제어부(130)는 마이크로 프로세서(127)의 제어하에 로봇의 동작을 제어하는 동작제어신호를 출력하는 제어부(131) 및 동작제어신호에 응답ㅎ여 모터 등을 이용하여 로봇이 특정 위치로 이동시키는 동작부(132)로 이루어진다.
또한, 로봇(112)은, 로봇(112)과 벽면과의 거리를 측정하기 위하여 로봇 몸체의 전면, 좌측면 및 우측면에 장착된 초음파 거리계를 포함하고 있는 거리측정부 (122), 인체를 감지하기 위한 인체감지 센서를 포함하고 있는 인체감지부(123), 및 로봇의 동작을 원격으로 조정하기 위한 무선원격조정기를 포함하고 있는 무선원격조정부(124)을 구비한다. 여기서, 초음파 거리계, 인체감지 센서, 및 무선원격조정기 등은 상용 제품을 이용하여 구현할 수 있다.
음원방향 검출부(113)는, 음향신호발생부(111)로부터 출력된 음향신호를 수신하기 위한 다수의 수신기로 이루어진 음향신호수신부(114)와 음향신호수신부 (114)로부터 출력되는 신호의 위상차를 검출하기 위한 위상차 검출부(118)로 이루어진다. 수신기는 세 개 이상 사용하며 도 2는 세 개의 수신기(115, 116, 117)를 사용하는 경우를 나타내며, 도 3은 여섯 개의 수신기를 사용하는 경우를 나타낸다.
도2는 로봇 몸체의 윗면 또는 바닥면에 정삼각형으로 장착된 수신기와 음원간의 거리 및 각도를 나타내는 도면이다. 도면에서, 도면부호 S(Xs1,Ys1)는 음원을, 도면부호 M은 세 개의 수신기로 이루어진 정삼각형의 중심점을, 도면부호 Θ는 중심점(M)과 음원 S(Xs1,Ys1)이 이루는 각도를 각각 나타낸다.
또한, 도면부호 La1, Lb1, Lc1은 각각 음원 S(Xs1,Ys1)과 수신기A, B, 및 C와의 거리를 나타낸다. 여기서, 음원과 각 수신기 간의 거리차가 각 수신기가 수신한 음향신호의 위상차에 해당하며 이는 도 4에서 구체적으로 설명하기로 한다.
도 3을 참조하면, 네 개의 수신기를 사용할 경우는 수신기A, B, C, D로 배치하며, 다섯 개의 수신기를 사용할 경우에는 수신기A, B, C, D, E로 배치하며, 여섯개의 수신기를 사용할 경우에는 수신기A, B, C, D, E, F로 배치한다. 즉, 정삼각형을 기본으로 하여 하나의 수신기가 증가할 때마다 다시 정삼각형 형태가 되도록 배치하면 된다.
도 4는 도 2의 각 수신기 A, B, C를 통해 수신된 음향신호의 패턴을 나타내는 타이밍도를 나타낸 도면으로써, 수신기 A, 수신기 C, 수신기 B의 순서로 음향신호가 수신된 경우를 나타내고 있다. 도면에서, 도면부호 T는 수신기부터 출력되는 신호의 주기를, 도면부호d1은 음원과 수신기A 및 수신기B 간의 거리차로써 수신기 A로부터 출력되는 신호 A와 수신기 B로부터 출력되는 신호 B 간의 위상차를, 도면부호 d2는 음원과 수신기A 및 수신기C 간의 거리차로써 수신기 A로부터 출력되는 신호 A와 수신기 C로부터 출력되는 신호 C 간의 위상차를, 도면부호 d3은 음원과 수신기B 및 수신기C 간의 거리차로써 수신기 C로부터 출력되는 신호 C와 수신기 B로부터 출력되는 신호 B 간의 위상차를 각각 나타낸다.
여기서, 본 발명에 따른 일실시예로써, 음향신호발생부(111)로부터의 음향신호는 가청주파수(audio frequency)를 사용할 수 있으며, 여기서는 2.76 KHz의 주파수를 지닌 음향신호를 사용하기로 한다.
도2 및 도4를 참조하면, 수신기를 통해 수신되는 음향신호의 최대 위상차는 음향신호발생부(111)로부터 출력되는 음향신호 주기의 1/2 이내가 되도록 각 수신기를 배치한다. 또한, 신호 A의 라이징 에지(rising edge)를 기준으로 보면, 신호 A가 신호 B보다 d1 만큼 먼저 수신된 신호임을, 신호 C가 신호 B보다 d3 만큼 먼저 수신된 신호임을, 신호 A가 신호 C보다 d2 만큼 먼저 수신된 신호임을 알 수 있다.반면, 신호 B의 라이징 에지를 기준으로 보면, 신호 A의 라이징 에지가 신호 B보다 위상차가 T/2 보다 크기 때문에 신호B는 신호 A보다 (T-d4) 만큼 늦은 신호로써 판단하면 된다. 여기서, 신호 A와 신호 B 간의 최대 위상차가 T/2 근처가 되면 오류 발생의 소지가 있으므로 두 신호 간의 최대 위상차는 약 0.3T 내지 0.4T가 되도록 수신기의 위치를 정하는 것이 바람직하다.
본 발명에서는, 최대 위상차를 0.375T로 설정하고 위상차를 32구간으로 나누어 각 신호간 위상차에 해당하는 음원방향의 각도를 미리 계산하여 테이블 형태로 롬(128)에 저장하였다. 따라서, 위상차에 대한 음원으로의 각도를 근사값을 이용하여 32구간으로 분류하여 음원의 방향을 검출한다. 여기서, 각 신호에 대한 위상차에 해당하는 음원방향의 각도는 도 2에서 음원과 각 수신기 간의 거리, 음원과 각 수신기 간의 거리차 및 음원과 중심점 간의 각도를 이용하여 구할 수 있으며, 이는 지진발생시 세 곳의 관측소에서 지진발생지점을 구하는 방법과 동일한 방법을 사용하여 계산할 수 있다. 따라서, 구체적인 계산식은 설명의 편의상 생략하기로 한다. 또한, 네 개 이상의 수신기가 사용될 때에도 마찬가지로 적용된다.
도 5는 도 1의 음원방향 검출부(113)의 위상차검출부(118)의 일실시예를 나타내는 블록도로써, 가청주파수를 지니는 음향신호를 3개의 수신기(115, 116, 117)를 이용하여 수신하는 경우를 나타낸다.
도 5을 참조하면, 위상차검출부(118)는 제1, 제2 및 제3 증폭 및 필터링기 (511, 512, 513), 음향패턴구간 검출기(514) 및 위상차 검출기(515)로 구성된다. 제1, 제2 및 제3 증폭 및 필터링기(511, 512, 513)는 세 개의 수신기(115, 116,117)로부터 각각 출력되는 신호A, 신호B 및 신호C를 각각 증폭한 후 대역필터링하여 각각 잡음이 제거된 구형파 신호를 출력한다. 음향패턴구간 검출기(514)는 제1 증폭 및 필터링기(511)로부터의 구형파 신호 및 외부 클럭신호(CK1)를 입력받아 구형파 신호의 주기가 미리 설정된 파형주기와 일치하는지를 검출하여, 소정의 수 만큼 계속되면 설정된 음향 패턴이 들어오고 있다는 것을 나타내는 검출신호(Ss)를 출력한다. 또한, 위상차 검출기(515)는 제1, 제2 및 제3 증폭 및 필터링기(511, 512, 513)로부터의 각각의 출력신호를 입력받아 검출신호(Ss)에 응답하여 각 신호간 위상차를 검출하여 위상차 데이터(PDA, PDB, PDC)를 출력하며, 음향패턴구간 검출기 (514)로부터 검출신호(Ss)에 응답하여 제어신호로써 인터럽트신호(INT1, INT2, INT3)를 각각 출력한다. 인터럽트신호(INT1, INT2, INT3)는 인터페이스부(126)을 통해 마이크로 프로세서(127)로 전달되며, 마이크로 프로세서(127)는 인터럽트신호에 응답하여 검출된 위상차를 판독한다.
도 6는 도 5의 위상차 검출기(515)의 일실시예를 나타내는 회로도로써, 신호 A와 신호 B간의 위상차를 검출하여 제1 위상차 데이터(PA)를 출력하며 검출신호(Ss)를 입력받아 제1 인터럽트신호(INT1)를 출력하는 제1 검출기(611), 제1 검출기 (611)와 회로구조가 동일하며 신호 B와 신호 C 간의 위상차를 검출하여 제2 위상차 데이터(PB)를 출력하며 검출신호(Ss)를 입력받아 제2 인터럽트신호(INT2)를 출력하는 제2 검출기(622), 및 제1 검출기(611)와 회로구성이 동일하며 신호 C와 신호 A간의 위상차를 검출하며 제3 위상차 데이터(PC)를 출력하며 검출신호(Ss)를 입력받아 제3 인터럽트신호(INT3)을 출력하는 제3 검출기(623)로 이루어진다.
여기서, 제1, 제2 및 제3 검출기(611, 622, 623)의 구조 및 동작은 동일하며, 설명의 편이상 제1 검출기(611)의 회로구성 및 그 동작에 대하여만 설명하기로 한다.
제1 검출기(611)는, 신호 A와 신호 B를 입력받아 신호 A와 신호 B 간의 위상차에 해당하는 신호 A의 라이징 에지와 신호 B의 라이징 에지 동안 클럭(CK2)의 클럭수를 카운팅하여 제1 위상차 데이터(PDA)를 출력하는 클럭카운팅부(612)와, 신호 A를 입력받아 클럭카운팅부(612)를 클리어시키기 위한 클리어신호를 발생하는 클리어신호 발생부(616)와, 검출신호(Ss)에 응답하여 제1 위상차 데이터(PDA)의 리드 타이밍(read timing)을 지정하는 제1 인터럽트신호(INT1)를 발생하는 인터럽트신호 발생부(620)로 이루어진다.
클럭카운팅부(612)는, 전원전압(VCC), 신호 A 및 신호 B를 각각 입력단자 (D), 클럭단자(CLK) 및 클리어단자(CLR)를 통해 입력받는 제1 D-플립플롭(613)과, 제1 입력단자로 클럭(CK2)을 입력받고 제 2 입력단자가 제1 D-플립플롭(613)의 출력단자(Q1)에 연결된 제1 논리곱게이트(614)와, 클럭단자(CLK) 및 클리어단자(CLR)가 각각 제1 논리곱게이트(614)의 출력단과 클리어신호 발생기(616)의 출력단자에 연결되어 제1 위상차데이터(PDA)를 출력하는 제1 카운터(615)로 구성된다.
클리어신호 발생기(616)는, 신호 A를 클럭단자(CLK)를 통해 입력받고, 출력단자(Q2)가 제1 논리곱게이트(614)의 제 3 입력단에 연결되며, 입력단자(D)와 반전출력단자()가 서로 연결된 제2 D-플립플롭(617)과, 신호 A를 반전시키기 위한 인버터(618)와, 인버터(618)의 출력신호 및 제2 D플립플롭(617)의 반전출력단자()로 출력되는 출력신호를 논리곱하기 위한 제2 논리곱게이트(619)로 이루어지며, 제2 논리곱게이트(619)의 출력단은 제1 카운터(615)의 클리어단자(CLR)에 연결된다.
인터럽트신호 발생기(620)는 제1 입력단이 제2 D-플립플롭(617)의 반전출력단자()에 연결되고, 신호 A와 검출신호(SS)를 각각 제 2 및 제 3 입력단을 통해 입력받아 논리곱하여 제1 인터럽트신호(INT1)을 출력하는 제3 논리곱게이트(621)로 구성된다.
제2 및 제3 검출기(622,623)는 제1 검출기(611)와 동일하게 동작되며, 제2 검출기(622)은 신호 B와 신호 C 간의 제2 위상차데이터(PDB) 및 제2 인터럽트신호 (INT2)를 출력하며, 제3 검출기(623)은 신호 C와 신호 A 간의 제3 위상차데이터 (PDC) 및 제3 인터럽트신호(INT3)을 출력한다.
도 6은 도 5에 도시된 위상차 검출기(611)의 동작 타이밍도이다.
도 5 및 도 6을 참조하면, 제2 D-플립플롭(617)의 출력단자(Q2)로 출력되는 신호 Q2의 주기는 제1 D-플립플롭(613)의 클럭단자(CLK)로 입력된 신호 A의 주기의 2배를 갖으며, 신호 Q2가 하이레벨(high level)인 동안에 신호 A 와 신호 B 간의 위상차를 검출하며, 신호 Q2가 로우 레벨(low level) 동안에는 마이크로 프로세서 (127)가 위상차에 해당하는 카운트값을 판독하도록 제1 인터럽트신호(INT1)을 발생한다. 즉, 인터럽트신호 발생기(620)의 제3 논리곱게이트(621)로부터 출력되는 인터럽트신호(INT1)가 하이레벨로 있는 동안 마이크로 프로세서(127)가 클럭카운팅부 (612)의 제1 카운터(615)로 출력되는 카운트값을 판독한다.
그리고, 제2 논리곱게이트(619)로부터 출력되는 클리어신호의 라이징 구간에서 제1 카운터(615)를 클리어시키고, 클리어된 다음 출력되는 신호 Q2가 하이레벨인 동안 다시 위상차를 검출하여 카운팅한다.
여기서, 신호 Q2가 로우레벨이면 제1 논리곱게이트(614)의 출력신호가 로우레벨이 되므로, 제1 카운터(615)는 카운팅 동작을 수행하지 않는다.
신호 A의 라이징 에지 구간에서부터 신호 B의 라이징 에지 구간 동안 제1 D-플립플롭(613)은 출력단자(Q1)를 통해 출력되는 신호 Q1이 하이레벨로 되는데, 이 구간동안 제1 카운터(615)는 클럭(CK2)의 클럭수를 카운팅하여 제1 위상차 데이터로써 출력한다.
이렇게, 제1 카운터(615)에 의해 카운팅된 카운트값은 인터럽트신호(INT1)의 라이징 에지 구간에서 마이크로 프로세서(127)로 전달된다. 즉, 클리어신호가 하이레벨이 되어 제1 카운터(615)가 클리어될 때까지 마이크로 프로세서(127)가 제1 카운터(615)로부터의 제1 위상차 데이터를 판독한다.
신호 B와 신호 C 간의 위상차, 신호 C 및 신호 A 간의 위상차도 상술한 바와 같은 원리로 검출한다. 한편, 클럭(CK2)는, 최대 위상차가 2.76khz일 경우 음원주기(T)의 0.375T에 해당되는 구간을 32등분 할 수 있는 클럭이기 때문에, 여기서는 235.52Khz의 주파수를 갖는 구형파 클럭을 사용한다.
도 8은 도 5의 음향패턴구간 검출기의 일실시예를 나타내는 블록도이다.
도 7를 참조하면, 음향패턴구간 검출기(514)는 신호A의 라이징 에지와 폴링 에지를 검출하여 펄스를 발생하는 에지검출기(811)와, 외부로부터 기설정된 주파수를 지닌 클럭(CK1)에 따라 에지검출기(811)로부터 출력되는 펄스간격 간의 클럭 (CK1)의 클럭수를 카운팅하여 카운트값을 출력하는 펄스간격 카운터(812)와, 에지검출기(811)로부터 전달된 펄스에 따라 펄스간격 카운터(812)로부터의 카운트값을 입력받아 신호 A가 기설정된 주기를 갖고 있는지를 검출하는 설정주기 검출기(813)와, 클럭(CK1)에 따라 설정주기 검출기(813)로부터 전달된 설정주기 검출값을 이용하여 미리 설정된 주기를 갖는 신호 A가 계속적으로 입력되는지를 확인하여 검출신호(Ss)를 출력하는 검출신호발생기(814)와, 클럭(CK1)에 따라 에지검출기(811)로부터 전달된 펄스를 입력받아 신호 A가 소정기간 동안 설정주기로 입력되는지를 확인하여, 검출신호발생기(814)로부터 출력되는 검출신호(Ss)를 클리어(clear)시키기 위한 클리어신호를 설정주기 검출기(813)로 출력하는 클리어신호 발생기(815)를 구비한다.
도 9은 음향패턴구간 검출기의 일실시의 회로도이다.
도 9을 참조하면, 에지검출기(811)는, 입력신호를 반전하여 신호 P1을 출력하는 인버터(911)와, 신호 P1을 클럭단자로 입력받아 신호 P1의 주기를 변환하여 신호 P2를 출력하는 D-플립플롭(912)과, 신호 P2를 지연시키기 위하여 직렬 연결된 인버터(913, 914)와, 신호 P2와 인버터(914)의 출력신호를 배타적부정논리합하기위한 배타적부정논리합게이트(915)로 구성된다.
펄스간격 카운터(812)는, 에지검출기(811)의 배타적부정논리합게이트(915)로부터 출력신호를 지연시키기 위하여 직렬 연결된 인버터(921, 922)와, 클리어단자 (CLR)가 인버터(922)의 출력단에 연결되고 클럭단자로 입력되는 신호를 카운팅하여, 클럭이 네 개가 들어오면 하이레벨을 출력되는 제1 출력단자(Q2)와 클럭이 여덟 개가 들어오면 하이레벨을 출력하는 제2 출력단자(Q4)를 통해 카운트값을 출력하는 카운터(923)와, 제1 출력단자(Q2)와 제2 출력단자(Q4)의 출력신호를 논리곱하기 위한 논리곱게이트(924)와, 논리곱게이트(924)의 출력신호를 반전시키기 위한 인버터(925)와, 클럭(CK1)과 인버터(925)의 출력신호를 논리곱하여 논리곱한 신호를 카운터(923)의 클럭단자로 출력하는 논리곱게이트(926)와, 카운터(923)의 제2 출력단자(Q4)를 통해 출력된 신호와 인버터(925)의 출력신호를 논리곱하여 설정주기 판단기(813)로 출력하는 논리곱게이트(927)로 이루어진다.
설정주기 판단기(813)는 클럭단자가 에지검출기(811)의 배타적부정논리합게이트(915)의 출력단자에 연결되고, 입력단자(D)가 펄스간격 카운터(812)의 논리곱게이트(927)의 출력단에 연결되고, 클리어단자(CLR)가 클리어신호 발생기(815)의 출력단자에 연결되고, 출력단자(, Q)가 검출신호 발생기(814)에 연결되는 D-플립플롭(931)으로 구성된다.
검출신호 발생기(814)는, 클리어단자(CLR)가 설정주기 판단기(813)의 D-플립플롭(931)의 출력단자()에 연결되고, 클럭단자를 통해 입력되는 신호를 카운팅하여 카운트값을 출력단자를 제1 출력단자(Q2) 및 제2 출력단자(Q8)를 통해 출력하는 카운터(941)와, 카운터(941)의 제1 및 제2 출력단자(Q2, Q8)를 통해 출력된 신호들을 논리곱하기 위한 논리곱게이트(942)와, 논리곱게이트(942)의 출력신호를 반전하기 위한 인버터(943)와, 설정주기 판단기(813)의 D-플립플롭(931)의 출력단자(Q)를 통해 출력된 신호, 클럭(CK1) 및 인버터(943)의 출력신호를 논리곱하여 카운터(941)의 클럭단자로 출력하는 논리곱게이트(944)로 이루어진다. 여기서, 논리곱게이트 (942)의 출력신호는 검출신호(Ss)로써 출력한다.
클리어신호 발생기(815)는 클럭단자를 통해 입력된 클럭(CK1)을 카운팅하여 제1 출력단자(Q3) 및 제2 출력단자(Q4)를 통해 출력하는 카운터(951)와, 카운터 (951)의 제1 및 제2 출력단자(Q3, Q4)를 통해 출력된 신호들을 논리곱하여 설정주기 판단기(813)의 D-플립플롭(831)의 클리어단자(CLR)로 출력하는 논리곱게이트 (952))와, 논리곱게이트(952)의 출력신호와 에지검출기(811)의 배타적부정논리합게이트(951)의 출력신호를 논리합하여 카운터(951)의 클리어단자(CLR)로 출력하는 논리합게이트(953)로 구성된다.
도 10는 상기 도 9의 음향패턴구간 검출기에 대한 동작 타이밍도이다. 신호 P1은 인버터(911)의 출력신호, 신호 P2는 D-플립플롭(912)의 출력신호, 신호 P3은 배타적부정논리합게이트(915)의 출력신호, 그리고 신호 P4는 논리곱게이트(927)의 출력신호이다.
도 9 및 도 10를 참조하면, 에지검출기(811)에서 구형파 신호인 신호 P1이 D-플립플롭(912)의 클럭단자에 입력되면, 신호 P1의 주파수의 1/2에 해당하는 구형파 신호로 변환된다.
이와 같이, D-플립플롭(912)으로부터 출력된 신호를 인버터(913, 914)를 통해 지연시킨 다음, D-플립플롭(912)으로부터 직접 배타적부정논리합게이트(915)로 전달된 신호와 인버터(913, 914)를 통해 지연된 신호를 배타적부정논리합하면, 입력신호의 라이징 에지와 폴링 에지에서 펄스인 신호 P3을 출력하게 된다.
여기서, 클럭(CK1)은 음향신호의 주파수의 약 8.5 내지 9배의 주파수를 갖는 구형파 클럭이다.
카운터(923)는 클럭(CK1)의 클럭수가 여덟개 이상이 되면 제2 출력단자(Q4)를 통해 하이레벨신호를 출력하고, 클럭(CK1)의 클럭수가 열개 이상부터는 제1 및 제2 출력단자(Q2, Q4)를 통해 하이레벨신호를 출력한다.
이렇게, 카운터(923)가 하이레벨신호를 출력하게 되면, 인버터(925)의 출력신호는 로우레벨이 되고, 이에 따라 논리곱게이트(926)의 출력신호도 로우레벨이된다. 이와 같이, 논리곱게이트(926)의 출력신호가 로우레벨이 되면, 카운터(923)는 더 이상 클럭을 카운팅하지 않게 되고, 또한 논리곱게이트(927)로부터의 신호 P4는 로우레벨로 된다.
따라서, 입력신호의 매 주기의 신호 P3에서 신호 P4가 하이레벨로 되어 있는 동안에는 D-플립플롭(931)의 출력단자(Q)는 하이레벨로 셋(Set)된다. 즉,입력신호의 주기내에 클럭(CK1)의 갯수가 8 내지 9개가 들어오면 D-플립플롭(931)의 출력단자(Q)는 하이레벨로 유지된다. 만일, 여덟개 미만 또는 열개 이상의 클럭이 들어오면 출력단자(Q)는 로우레벨이 되며 설정된 주기를 갖는 입력신호가 계속 들어오면하이레벨로 유지된다.
그리고, D-플립플롭(931)의 출력단자(Q)가 하이레벨이면, 논리곱게이트(942)로부터 출력되는 검출신호(SS)는 하이레벨을 유지한다, 이때, 카운터(951)는 클럭 (CK1)을 열 두개가 카운팅될 때까지 D-플립플롭(931)의 클럭이 들어오지 않으면, D-플립플롭(931)을 클리어시킨다. 즉, D-플립플롭(931)의 출력파형이 클럭에 의해 셋되지 않고 계속 같은 값을 갖게 되는 것을 방지하기 위한 것이다.
본 발명에 따른 다른 실시예로써, 도 1의 음원방향검출부(113)에서, 신호간 위상차를 검출하기 위한 위상차 검출부를 사용하지 않고, 마이크로 프로세서(127)에 내장된 타이머를 이용할 수도 있다. 즉, 신호 A의 라이징에지에서 제1 제어신호를 발생하며, 신호 B의 라이징에지에서 제2 제어신호를 발생하여 제1 및 제2 제어신호 간의 시간차를 구한다. 다음, 시간차, 즉 위상차에 대한 음원의 방향을 저장하고 있는 롬(128)으로부터 위상차에 해당하는 방향을 판독하여 음원의 방향을 검출할 수 있다.
상술한 바와 같이, 음향신호발생부는 가청주파수를 지닌 음향신호를 이용한 경우를 설명하였으나, 초음파 음향신호의 경우에도 마찬가지로 적용된다.
이하, 본 발명에 따른 일실시예로써 로봇의 방향을 검출하기 위한 도1의 동작방향 검출부에 대해 설명하기로 한다.
도 1을 다시 참조하면, 동작방향 검출부(119)는 지구자계를 검출하기 위한 전자나침반(120)과 전자나침반(120)으로부터 검출된 아날로그값을 디지털값으로 변환하기 위한 아날로그-디지털 변환기(121)로 구성된다.
방향을 검출하기 위하여 사용되는 종래의 전자나침반은 지구 자기를 검출하기 위하여 코일 등을 이용한 복잡한 회로를 이용하거나, 가우스레벨의 자기 검출센서를 직각으로 배치하여 검출하는 방식을 이용하였다. 반면, 본 발명에서는, 코일 등을 이용하지 않고 일반적인 자기 홀센서 사이에 철심(ferrite)을 연결하여 지구자계를 검출하는 방식을 제안한다.
도 11은, 본 발명에 따른 전자 나치반의 홀센서 및 철심배치도를 나타내는 도면이다.
도 11을 참조하면, 지구자계의 X축 방향을 검출하기 위한 제1 자계검출부 (1101)와 지구자계의 Y축 방향을 검출하기 위한 제2 자계검출부(1102)가 서로 직각으로 배치되어 있으며, 제1 자계검출부(1101)는 두개의 홀센서(1103, 1104)가 철심 (1105)으로 연결되어 있으며, 제2 자계검출부(1102)도 자1 자계검출부(1101)와 같은 구조를 갖는다.
도 12은 본 발명에 따른 일실시예로써 전자나침반의 회로도를 나타내는 도면이다.
도 11을 참조하면, 제 1 자계검출부(1101) 는 제1 홀센서(1103)의 출력단자가 증폭기(1201)의 비반전단자에 연결되며, 제2 홀센서(1104)의 출력단자가 저항 (R1)을 통해 증폭기(1201)의 반전단자에 연결되어 있다. 또한, 증폭기(1201)의 반전단자와 출력단자 간에 저항(R3)과 콘덴서(C)가 병렬로 연결되어 있으며 증폭기 (1201)의 반전단자와 접지 간에 저항(R2)와 가변저항(VR)이 연결되어 있다. 제2 자계검출부(1102)는 제1 자계검출부(1101)과 회로구성이 같다. 제1 및 제2 자계검출부(1101, 1102)의 각 출력신호(X, Y)는 도 1의 아날로그-디지털 변환기(121)를 거쳐 인터페이스 부(126)를 통해 마이크로 프로세서(127)로 전달된다.
도 13은 제1 및 제2 자계검출부(1101, 1102)로부터의 출력신호(X, Y)에 따른 방향각도를 나타내는 도면이다.
도 13을 참조하면, 제1 자계검출부(1101)로부터의 출력신호(X)가 "0"이며, 제2 자계검출부(1102)의 출력신호(Y)가 "1"이면 정북방향을 나타내며, 출력신호(X)가 "1"이며 출력신호(Y)가 "0"이면 정동방향을 나타낸다. 이와 같이 제1 및 제2 자계검출부(1101, 1102)의 출력신호(X, Y) 에 따른 방향각도는 테이블 형태로 롬 (128)에 저장되어 있으며, 마이크로 프로세서(127)로부터 방향각도 요구가 있을 경우, 출력신호(X, Y)에 해당하는 방향각도를 롬(128)으로부터 판독하여 로봇의 현재 진행방향을 검출한다.
이하, 본 발명에 따른 시스템의 동작에 대하여 설명하기로 한다.
도 14는 본 발명에 따른 로봇의 동작 방법에 대한 일실시예의 흐름도이다.
도 14를 참조하면, 작동 모드가 설정되었는지를 판단하여(1401), 작동 모드가 설정되지 않았으면, 대기모드가 되어, 일정 거리 내에 위치한 인체를 감지하여 추적한다(1402). 이 경우, 강아지 모양의 로봇일 경우에는 짖거나 꼬리를 흔들면서 사람을 따라갈 수 있도록 할 수 있다. 여기서, 작동모드 설정은 로봇에 스위치를 장착하여 설정하거나, 원격조정장치를 이용하여 작동모드를 실행하거나, 로봇이 설정된 프로그램에 따라서 동작모드를 자동으로 선택하여 동작을 실행할 수 있다.
작동 모드 설정 판단(1401) 결과, 작동 모드가 설정되었으면, 설정된 작동모드의 종류를 확인한(1403) 후, 확인 결과에 따라 다음과 같은 동작을 수행한다.
작동 모드 종류의 판단(1403) 결과, 평면 구조물 탐색 및 분석 모드이면, 좌우 및 전방향의 거리를 계산하여 평면구조물을 탐색 및 분석한다(1404).
작동 모드 종류의 판단(1403) 결과, 음원 탐색 모드이면 음원 발생 지점을 검출하여 음원이 발생하는 방향으로 진행한다(1405). 이때, 음향신호발생기를 충전기에 부착하였을 경우, 로봇은 충전기를 찾아가 충전기에 도킹(Docking)함으로써, 자동으로 충전할 수도 있다.
작동 모드 종류의 판단(1403) 결과, 경비 모드이면 동작 명령이 전달된 다음 소정시간이 지나면 경비 동작을 수행한다(1406).
작동 모드 종류의 판단(1403) 결과, 자동청소 모드이면 소정 공간의 평면구조를 탐색 및 분석하여 계산된 공간의 평면구조 정보를 이용하여 지정된 영역을 청소한다(1407). 이 경우, 로봇이 특정영역을 청소를 할 수 있도록 청소기능이 장착되어 있어야 하고, 로봇이 진행함에 따른 청소가 가능한 폭를 미리 설정하여 준다. 그리고, 로봇의 진행방향은 지그재그 형태의 움직임 및 벽면과의 일정거리를 유지하면서 모터 회전에 의해 조금씩 벽면과의 거리를 멀리 유지하면서 평면공간 중심으로 진행하는 방식과 공간 중심에서 공간의 둘레로 점차 회전하면서 진행하는 방식을 사용할 수 있다.
도 15는 도 14에서 평면구조물 탐색 및 분석에 대한 일실시예를 나타내는 흐름도이다.
도 15를 참조하면, 거리측정부(122)는 로봇과 벽면과의 좌우 및 전방향의 거리를 계산하고, 로봇은 우선적으로 가까운 벽면을 찾아가는 초기동작을 수행한다 (1501). 이때, 로봇의 진행방법으로는 우측벽을 따라 진행하는 우측면 우선모드와 좌측벽을 따라 진행하는 좌측면 우선모드가 있다.
이와 같은 초기동작이 수행된 후, 거리측정부(122)로부터 좌우 및 전방향에 위치한 벽면과의 거리 및 동작방향검출부(119)로부터의 로봇의 진행방향 등을 검출하고, 검출한 거리와 진행방향에 대한 정보를 이용하여 현재 로봇의 상태를 결정한다(1502).
마이크로 프로세서(127)은 상기와 같이 결정된 로봇의 현재 상태와 램(129)에 저장되어 있는 로봇의 이전 상태를 이용하여 수행할 동작을 설정한다(1503).
그 다음, 로봇이 이와 같이 설정된 수행 동작을 실행하는데, 이때 로봇이 진행방향이 원하는 방향으로 진행되지 않으면 자동으로 진행 방향을 교정한다(1504).
로봇의 진행된 주행거리와 주행방향을 이용하여 탐색하고자 하는 영역의 평면구조가 폐곡선인지에 대한 여부를 분석하여(1505), 평면구조의 폐곡선이면 평면 구조 분석을 종료한다. 이때, 탐색된 정보는 청소 등을 수행하거나 특정 위치로 이동하는데 이용된다.
만일, 평면구조의 폐곡선 분석 과정(1505)에서의 분석 결과 평면구조가 폐곡선이 아니면, 로봇이 특정물체의 주위를 계속하여 진행하지 못하도록 한 후(1506) 로봇의 상태 검출 과정(1502)으로 넘어간다.
한편, 로봇은 진행상태, 동작명령, 이동거리, 그에 따른 진행방향 등에 대한 정보 및 현재 분석 중인 정보들도 램(129)에 저장한다.
도 16은 도 15에서의 초기 동작 진행 과정에 대한 일실시예 상세 흐름도이다.
도 16을 참조하면, 로봇의 현재위치로부터 전방의 물체까지의 거리, 즉 전방향거리(Fdist), 로봇의 현재위치로부터 좌측에 위치한 물체까지의 거리, 즉 좌측면거리(Ldisk), 및 로봇의 현재위치로부터 우측에 위치한 물체까지의 거리, 즉 우측면거리(Rdist)를 측정한다(1611). 그 다음, 측정된 전방향거리(Fdist)와 기준근거리(Near)가 동일한지를 판단한다(1612). 여기서 기준근거리(Near)는 근거리 판단의 기준이 되는 거리값으로써, 기준근거리(Near)는 로봇이 주위의 벽면과 부딪칠 위험이 있다고 판단되는 거리를 실험적으로 산출하여 미리 설정한 거리값이다.
전향향거리(Fdist)가 기준근거리(Near)와 동일할 경우, 로봇이 현재 방향을 좌측으로 전환시켜 우측면거리(Rdist)의 상태가 기준근거리(Near)가 되도록 하기 위해 우측면 우선모드인지를 판단한다(1613).
우측면 우선모드 판단(1613)의 결과 우측면 우선모드이면, 좌측으로 90˚회전하여 우측면거리(Rdist)가 기준근거리(Near)가 되도록 한 다음(1614), 거리 측정 과정(1611)을 다시 실행한다.
만일, 우측면 우선모드 판단(1613)의 결과 우측면 우선모드가 아니면, 우측으로 90˚회전하여 좌측면거리(Ldist)가 기준근거리(Near)가 되도록 한 다음 (1015), 거리 측정 과정(1611)을 다시 실행한다.
전방향거리(Fdist)와 기준근거리(Near)의 동일 여부 판단(1612) 결과 전방향거리(Fdist)와 기준근거리(Near)가 동일하지 않으면, 좌측면거리(Ldist)와 기준근거리(Near)가 동일한지를 판단하여(1616), 동일하면 우측면 우선모드인지를 판단한다(1617).
우측면 우선모드 판단(1617) 결과 우측면 우선모드이면, 우측으로 180˚회전하여 우측면거리(Rdist)가 기준근거리(Near)가 되도록 한(1618) 다음, 거리 측정 과정(1611)을 다시 실행한다.
만일, 우측면 우선모드 판단(1617) 결과 우측면 우선모드가 아니면, 우측면거리(Rdist)가 기준근거리(Near)인 상태에서 로봇의 상태 결정 단계(1502)로 넘어간다.
좌측면거리(Ldist)와 기준근거리(Near)의 동일 여부 판단(1616)의 결과 동일하지 않으면, 우측면거리(Rdist)와 기준근거리(Near)의 동일여부를 판단하여 (1619), 동일하면 우측면 우선모드인지를 판단한다(1620).
우측면 우선모드 판단(1620)의 판단 결과 우측면 우선모드이면, 우측면거리 (Rdist)가 기준근거리(Near)인 상태에서 로봇의 상태 결정 과정(1520)으로 넘어간다.
만일, 우측면 우선모드 판단 과정(1620)의 판단 결과 우측면 우선모드가 아니면, 좌측으로 180˚회전하여 우측면 거리(Rdist)가 기준 근거리(Near)이 되도록 한 다음(1621), 거리 측정 단계(1611)를 다시 실행한다.
그리고, 우측면거리(Rdist)와 기준근거리(Near)의 동일여부를 판단(1619)의 결과 동일하지 않으면, 전방향거리(Fdist)가 좌측면거리(Ldist) 보다 작은지를 판단하여(1622), 작으면 전방향거리(Fdist)가 우측면거리(Rdist) 보다 작은지 판단한다(1623).
여기서, 전방향거리(Fdist)가 우측면거리(Rdist) 보다 작은 것으로 판단되면, 전방향으로 진행한 후(1624), 거리 측정 단계(1611)를 실행한다.
만일, 전방향거리(Fdist)가 우측면거리(Rdist) 보다 큰 것으로 판단되면 (1623), 우측으로 180˚회전한 후 전진한 다음(1625), 거리 측정 단계(1611)를 실행한다.
한편, 전방향거리(Fdist)가 좌측면거리(Ldist) 보다 큰 것으로 판단되면 (1622), 우측면거리(Rdist)가 좌측면거리(Ldist) 보다 큰지를 판단하여(1626), 우측면거리(Rdist)가 크면 좌측으로 90˚회전한 후 전진한 다음(1627), 거리 측정 단계를 실행한다(1611).
만일, 우측면거리(Rdist)가 좌측면거리(Ldist) 보다 작은 것으로 판단되면 (1626), 우측으로 90˚회전한 후 전진한 후(1628), 거리 측정 단계(1611)를 실행한다.
도 17은 도 15에서의 로봇의 상태 결정 과정에 대한 일실시예를 나타내는 흐름도이다.
도 17을 참조하면, 로봇이 현재 진행방향에 위치한 벽면과 로봇 간의 전방향거리를 검출하고(1731), 좌측면의 벽면과 로봇 간의 좌측면거리를 검출하고(1732), 또한 우측면의 벽면과 로봇 간의 우측면 거리를 측정하고(1733), 로봇의 진행 상태 변환에 필요한 정보를 얻기 위하여, 로봇이 현재 진행하는 진행 방향을 검출한다 (1734).
이어서, 검출한 전방향거리, 좌측면거리, 및 우측면거리에 대한 각각의 상태를 결정한다(1735, 1736, 1737).
도 18은 도 17에서의 로봇의 진향 방향 전환 과정에 대한 일실시예 상세 흐름도이다.
도 18을 참조하면, 각 측정한 거리 d가 기설정된 기준 거리 d1보다 작거나 같은지를 판단하여(1841), 측정거리 d가 기준거리 d1보다 작거나 같으면 거리 상태를 N1으로 결정한다(1842). 여기서, N1은 적정 거리 상태보다 가까운 거리를 나타낸다.
하지만, 측정거리 d와 기준거리 d1간의 거리 판단(1841)의 결과, 측정거리 d가 기준거리 d1보다 클 경우, 측정거리 d가 기준거리 d1보다 크거나 같으며 기설정된 기준 거리 d2보다 작은지를 판단하여(1843), 측정거리 d가 기준 거리 d1크거나 같고 기준 거리 d2보다 작으면, 거리 상태 N2를 결정한다(1844). 여기서, N2는 적정거리를 나타낸다.
그리고, 측정거리 d가 기준거리 d1보다 크거나 같으며 기설정된 기준 거리 d2보다 작은지를 판단하여(1843), 조건을 만족하지 못하면 측정거리 d가 기준거리 d2보다 크거나 같고 기설정된 기준거리 d3보다 작은지를 판단하여(1845), 측정거리 d가 기준 거리 d2보다 크거나 같고 기준거리 d3보다 작으면, 거리 상태 N3을결정한다(1846). 여기서, N3은 적정거리보다 약간 멀리 있다는 것을 나타낸다.
만일, 거리 d가 기준 거리 d3작거나 기설정된 기준거리 d3보다 큰거나 같은 경우, 거리 상태 F를 결정한다(1847). 여기서, F는 적정거리 보다 훨씬 먼 거리를 나타낸다.
로봇이 벽면을 따라 이동 할 때는 벽과의 거리를 적정거리 상태(N2)로 적절히 유지하는데, 거리 상태 N1은 매우 가까운 거리로써 거리 상태 N2를 유지하게 이동방향을 약간씩 조정하며, 거리 상태 N3은 적정거리를 조금 벗어난 거리로써 거리 상태 N2로 이동방향을 약간씩 조정하여 벽과의 거리가 거리 상태 N2가 되도록 유지시킨다.
그리고, 상기 도 15에서 설정되는 로봇의 수행 동작은 다음 표 1 및 표 2와 같다.
다음 표 1은 우측면 우선모드에서의 로봇의 상태에 따른 동작설정을 나타낸 것이고, 다음 표 2는 좌측면 우선모드에서의 로봇의 상태에 따른 동작설정을 나타낸 것이다.
상기 표 1 및 표 2에서, FG는 직진하라는 동작 명령, RG는 후진하라는 동작 명령, TL은 90˚좌회전하라는 동작 명령, TR은 90˚우회전하라는 동작 명령, TLx는 각도 x 만큼 좌회전하라는 동작 명령, 그리고 TRx는 각도 x 만큼 우회전하라는 동작 명령이다. 또한, 디폴트(default) 동작명령은 현재상태의 동작을 계속 수행하라는 것을 나타낸다.
그리고, (d1+d2)/2는 N2의 중심값으로써 좌우측면의 거리합을 통하여 로봇이 회전할 수 있는 공간을 확보했는가의 판단기준이 된다. 여기서, d1 및 d2는 상기 거리 상태 N1, N2 및 N3의 구분을 판별하기 위한 기준 거리값이다.
한편, S(F,N,F)은 일정시간동안 계속되면 오류처리한다.
상기 표 1 및 표 2를 참조하여 본 발명의 따른 로봇의 수행 동작 설정에 대하여 보다 상세하게 설명하면 다음과 같다.
로봇의 동작 상태를 검출한 현재의 동작 상태와 저장된 이전의 동작 상태와 그에 따른 동작명령를 통하여 표 1 및 표 2에서 설정한 것과 같이 동작명령을 설정한다.
예를 들어, 동작 상태 S(N,F,F)의 첫번째항 N은 전방향거리의 상태, 두 번째 항인 F는 좌측면거리의 상태, 그리고 세 번째 항인 F는 우측면 거리의 상태를 나타내고 있다.
그리고, 거리 상태 N중에 거리 상태 N2를 유지하도록 하기 위한 과정을 예를 들면, 우측 벽면을 따라 진행하는 모드에서 동작 상태가 S(F,F,N)인 경우에는 우측면 거리가 거리 상태 N 중에서 거리 상태 N2가 되도록 TLx 및 TRx 등의 동작명령을이용하여 적절한 거리상태를 유지하도록 한다.
또한, TLx는 각도 x만큼 좌회전, TRx는 각도 x만큼 우회전하라는 동작명령으로서, 이때 x는 설정된 최소단위 각도 또는 tan-1(RLM)에 해당하는 각도이다. 여기서, RLM은 현재의 우측 거리에서 이전의 우측 거리를 감산한 후, 이 감산값을 이전에서 현재까지의 이동거리로 나눈 값이다.
그리고, 본 발명에 따른 로봇은 실행된 결과에 대하여 오류 교정 기능이 자체적으로 내장되어 있기 때문에, 동작 실행 및 오류 동작 교정은 동작 명령만으로도 가능하다. 이때, 동작명령으로는 직진과 후진 명령의 FG(Go Front) 및 RG(Go Reverse)가 있으며, 회전명령에는 좌회전과 우회전 명령인 TL(θ)(Turn Left) 및 TR(θ)(Turn Right)이 있다. 여기서, 괄호 안의 θ는 회전 각도이며, TL이나 TR 뒤에 회전 각도가 없으면 90˚의 회전 각도를 의미한다.
그리고, 상기 표 1에 기재된 우측면 우선모드에 따른 동작설정 방법에 대하여 설명하면 다음과 같다.
거리상태 N은 가까운 거리로써, 거리상태 N1, N2 및 N3으로 더 구분하여 나타낼 수 있다.
거리상태 N1은 벽과 아주 밀접한 상태라서 로봇이 회전할 수 없는 상태이고, 거리상태 N2는 적정거리로써 회전에 필요한 여유거리를 갖으며, 거리상태 N3은 적정거리를 벗어난 상태이다. 거리상태 F는 거리상태 N3보다도 더 먼거리를 나타내고 있는 것이다. 특히, 직진동작이나 후진동작에는 정해진 거리 만큼씩 진행한다.
첫째, 로봇의 현상태에서 전방향 거리상태가 N, 좌측면 거리상태가 N, 그리고 우측면 거리상태가 N일 때, 좌측면 거리와 우측면 거리의 합이 dr 이상이면 90˚좌회전 동작을 설정한다. 여기서, dr은 로봇이 회전할 때 필요한 최소의 여유공간 거리이다.
이때, 좌측면 거리와 우측면 거리의 합이 dr 이상이 아니면, 후진동작을 설정한다.
둘째, 로봇의 현상태에서 전방향 거리상태가 N, 좌측면 거리상태가 N, 그리고 우측면 거리상태가 F일 때, 90˚우회전 후 전진동작을 설정한다.
셋째, 로봇의 현상태에서 전방향 거리상태가 N, 좌측면 거리상태가 F, 그리고 우측면 거리상태가 N일 때, 90˚좌회전 후 전진동작을 설정한다.
네째, 로봇의 현상태에서 전방향 거리상태가 N, 좌측면 거리상태가 F, 그리고 우측면거리상태가 F일 때, 이전 동작이 90˚좌회전 동작을 수행한 경우에는 90˚좌회전 후 전진동작을 설정한다.
만일, 이전 동작의 상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F, 그리고 이전동작이 90˚우회전후 전진동작인 경우에는 90˚좌회전 후 전진동작을 설정한다.
또한, 이전 동작의 상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F, 그리고 이전동작이 90˚우회전후 전진동작이 아닌 경우에는, 90˚우회전 후 전진동작을 실행하도록 설정한다.
다섯째, 로봇의 현상태에서 전방향 거리상태가 F, 좌측면 거리상태가 N, 우측면 거리상태가 N일 때, 이전동작이 후진 동작이거나 90˚좌회전 동작이고 현 좌측면 거리와 현 우측면 거리의 합이 dr 이상이면 90˚좌회전 동작을 설정한다. 여기서, dr은 로봇이 회전할 때 필요한 여유공간을 갖는 최소거리이다.
이때, 이전동작이 90˚좌회전 동작이 아니고 후진동작이면, 후진동작을 설정한다.
만일, 이전동작이 후진동작이 아니면, 전진동작을 설정한다.
여섯째, 로봇의 현상태에서 전방향 거리상태가 F, 좌측면 거리상태가 N, 우측면 거리상태가 F일 때, 이전동작이 후진동작이면 90˚좌회전 동작을 설정한다.
만일, 이전동작이 후진동작이 아니면, 90˚우회전 후 전진동작을 설정한다.
일곱째, 로봇의 현상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 N일 때, 이전동작이 후진동작이면, 90˚좌회전 동작을 설정한다.
만일, 현 로봇의 우측면 거리상태 N이 N1, 이전 동작의 상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 N, 그리고 이전동작이 전진동작이면 x각도만큼 좌회전 후 전진동작을 설정한다. 여기서, x는 미리 설정된 최소단위 각도 또는 로봇의 현재 우측거리와 이전의 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트(inverse tangent), 즉 tan-1에 해당하는 각도이다.
또한, 로봇의 현재 우측면 거리상태 N이 N3, 이전동작의 상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 N, 그리고 이전동작이 전진동작이면, x각도만큼 우회전 후 전진동작을 설정한다. 여기서, x는 설정된 최소단위 각도 또는 로봇의 현재 우측거리와 이전의 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트에 해당하는 각도이다.
여덟째, 로봇의 현상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F일 때, 이전 동작들이 4번 연속하여 90˚좌회전 동작을 수행한 경우에는, 전진동작을 설정한다.
이때, 이전 동작들이 4번 연속하여 90˚좌회전 동작을 수행하지 않고, 이전 동작들이 4번 연속하여 90˚우회전 후 전진동작을 수행한 경우에는 전진동작을 설정한다.
만일, 로봇의 이전동작의 상태에서 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F, 그리고 이전동작이 전진이면, 전진동작을 설정한다. 여기서, 이전동작이 전진이 아니고 후진이거나 90˚좌회전이면, 90˚좌회전 동작을 설정한다.
또한, 이전동작이 전진, 후진 또는 90˚좌회전이 아니면, 90˚우회전 후 전진 동작을 설정한다.
전술한 여덟가지의 동작설정 과정은 각 로봇의 상태에 따라서 동작명령을 설정하는 과정으로서, 상기한 바와 같은 여덟 가지의 동작설정 과정 중 하나의 과정을 각 동작설정 과정별로 동작수행 후 변화된 상태를 이용하여 해당되는 동작설정 단계의 동작을 다시 설정하여 수행한다.
다음은, 상기 표 2에 기재된 좌측면 우선모드에 따른 동작설정 방법에 대하여 설명한다.
먼저, 거리상태는 N은 가까운 거리로써 거리상태 N1, N2 및 N3으로 더 구분하여 나타낼수 있다.
여기서, 거리상태 N1은 벽과 아주 밀접한 상태라서 로봇이 회전할 수 없는 상태이고, 거리상태 N2는 적정거리로써 회전에 필요한 여유거리를 갖으며, 거리상태 N3은 적정거리를 벗어난 상태이다.
또한, 거리상태 F는 N3보다도 더 먼 거리를 나타내고 있으며, 직진동작이나 후진동작에는 정해진 거리 만큼씩 진행한다.
첫째, 로봇의 현상태에서 전방향 거리상태가 N, 좌측면 거리상태가 N, 우측면 거리상태가 N일 때, 좌측면 거리와 우측면 거리의 합이 dr 이상이면 90˚우회전 동작을 설정한다. 여기서, dr은 로봇이 회전할 때 필요한 최소의 여유공간 거리이다.
이때, 좌측면 거리와 우측면 거리의 합이 dr 이상이 아니면, 후진동작을 설정한다.
둘째, 로봇의 현재 전방향 거리상태가 N, 좌측면 거리상태가 N, 우측면 거리상태가 F일 때, 90˚우회전 후 전진동작을 설정한다.
셋째, 로봇의 현재 전방향 거리상태가 N, 좌측면 거리상태가 F, 그리고 우측면 거리상태가 N일 때, 90˚좌회전 후 전진동작을 설정한다.
넷째, 로봇의 현재 전방향 거리상태가 N, 좌측면 거리상태가 F, 우측면 거리상태가 F일 때, 이전 동작이 90˚우회전 동작을 수행한 경우에는 90˚우회전 후 전진동작을 설정한다
만일, 로봇의 이전동작의 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F, 그리고 이전동작이 90˚좌회전 후 전진 동작인 경우에는, 90˚우회전 후 전진동작을 설정한다.
또한, 로봇의 현재 전방향 거리상태가 N, 좌측면 거리상태가 F, 우측면 거리상태가 F일 때, 이전동작이 90˚우회전 동작을 수행하지 않는 경우나, 로봇의 이전 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F, 그리고 이전동작이 90˚좌회전 후 전진 동작이 아닌 경우에는, 90˚좌회전 후 전진동작을 실행하도록 설정한다.
다섯째, 로봇의 현재 전방향 거리상태가 F, 좌측면 거리상태가 N, 우측면 거리상태가 N일 때, 이전동작이 후진동작이거나 90˚우회전 동작이고 현 좌측면 거리와 현 우측면거리의 합이 dr 이상이면, 90˚우회전 동작을 설정한다. 여기서, dr은 로봇이 회전할 때 필요한 여유공간을 갖는 최소거리이다.
이때, 이전동작이 후진동작이면, 후진동작을 설정한다.
여기서, 이전동작이 후진동작이 아니면, 전진동작을 설정한다.
여섯째, 로봇의 현재 전방향 거리상태가 F, 좌측면 거리상태가 N, 우측면 거리상태가 F일 때, 이전동작이 후진동작이면, 90˚우회전 동작을 설정한다.
만일, 로봇의 현재 좌측면 거리상태 N이 N1, 이전 전방향 거리상태가 F, 좌측면 거리상태가 N, 우측면 거리상태가 F, 그리고 이전동작이 전진이면, 각도 x만큼 우회전 후 전진동작을 설정한다. 여기서, 각도 x는 설정된 최소단위 각도 또는 로봇의 현재 우측거리와 이전 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트에 해당하는 각도이다.
또한, 로봇의 현재 우측면거리상태 N이 N3, 이전 전방향 거리상태가 F, 좌측면 거리상태가 N, 우측면 거리상태가 F, 그리고 이전동작이 전진이면, 각도 x만큼 좌회전 후 전진동작을 설정한다. 여기서, 각도 x는 설정된 최소단위 각도 또는 로봇의 현재 우측거리와 이전 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트에 해당하는 각도이다.
이때, 이전동작이 전진동작이 아니면, 전진동작을 설정한다.
일곱째, 로봇의 현재 전방향 거리상태가 F, 좌측면 거리상태가 F, 그리고 우측면 거리상태가 N일 때, 이전동작이 후진이면, 90˚우회전 동작을 설정한다.
이때, 이전동작이 후진이 아니면, 90˚좌회전 후 전진동작을 설정한다.
여덟째, 로봇의 현재 전방향 거리상태가 F, 좌측면 거리상태가 F, 그리고 우측면 거리상태가 F일 때, 이전동작들이 4번 연속하여 90˚우회전 동작인 경우에는, 전진동작을 설정한다.
이때, 이전동작들이 4번 연속하여 90˚좌회전 후 전진동작인 경우에는, 전진동작을 설정한다.
만일, 로봇의 이전 전방향 거리상태가 F, 좌측면 거리상태가 F, 우측면 거리상태가 F, 그리고 이전동작이 전진동작이면, 전진동작을 설정한다.
이때, 이전동작이 후진이거나 90˚우회전이면, 90˚우회전 동작을 설정한다.
여기서, 이전동작이 후진이거나 우회전이 아니면, 90˚좌회전 후 전진동작을 설정한다.
전술한 여덟가지의 동작설정 과정은 로봇의 각각의 상태에 따라서 동작명령을 설정하는 과정으로서, 로봇은 상기한 바와 같은 여덟 가지의 동작설정 과정 중 하나의 과정을 각 동작설정 과정별로 동작수행 후 변화된 상태를 이용하여 해당되는 동작설정 단계의 동작을 다시 설정하여 수행한다.
도 19는 도 15의 설정동작 실행 과정에 대한 일실시예 흐름도로서, 전진 이동시의 설정동작 실행에 대한 과정을 나타낸 것이다. 여기서 로봇의 동작부(132)가 좌우측모터를 사용할 경우를 예로서 설명한다.
도 19를 참조하면, 로봇은 좌측모터와 우측 모터를 순방향으로 정해진 만큼 회전시켜 전진 이동하는(1951) 도중에, 지면이나 장애물에 부딪혀 진행 방향이 틀어진 것을 교정하데 이용하기 위하여, 동작방향검출부(119)에 장착된 전자나침반을 통해 로봇의 몸체 전진 방향을 검출한다(1952).
이렇게, 검출한 전진 방향(α1)과 원래의 몸체 전진 방향(θ1) 간의 차이 값에 해당하는 오차값(e1)이 기설정된 최소 방향 오류값(θe)보다 작은지 여부를 판단하여(1953), 전진 방향(α1)과 원래의 몸체 전진 방향(θ1) 간의 차이 값(e1)이 작으면 전진시 몸체 교정 동작을 완료한다.
만일, 오류 판단 단계(1953))에서의 판단 결과 계산한 오차값(e1)이 기설정된 최소 방향 오류값(θe)보다 작지 않으면, 몸체가 원래의 전진 방향(θ1)이 되도록 몸체를 회전한다(1954).
도 20은 도 15의 설정동작 실행 과정에 대한 다른 실시예 흐름도로서, 후진 이동시의 설정동작 실행에 대한 과정을 나타낸 것이다.
도 20를 참조하면, 로봇이 좌측 모터와 우측 모터를 역방향으로 정해진 만큼회전시켜 후진 이동하는(2061) 도중에, 지면이나 장애물에 부딪혀 진행 방향이 틀어진 것을 교정하는데 이용하기 위하여, 로봇의 몸체 후진 방향을 검출한다(2062).
이렇게, 검출한 후진 방향(α2)과 원래의 몸체 후진 방향(θ2) 간의 차이값에 해당하는 오차값(e2)가 미리 설정된 최소 방향 오류(θe)보다 작은지 여부를 판단하여(1063), 작으면 후진시 몸체 교정 동작을 완료한다.
만일, 오류 판단 과정(2063)에서의 판단 결과 계산한 오차값(e2)이 미리 설정된 최소 방향 오류값(θe)보다 작지 않으면, 몸체가 원래의 후진 방향(θ2)이 되도록 몸체를 회전한다(2064).
도 21는 도 15의 설정동작 실행 과정에 대한 또 다른 실시예 흐름도로서, 몸체 회전시의 설정동작 실행 과정을 나타낸 것이다.
이러한, 몸체 회전 동작은 현재 진행 방향(α3)에서 목표 방향(θ3)으로 방향 전환하는 것으로써, 몸체가 주변 장애물에 의하여 회전이 잘 안될 때 조금씩 전/후진하면서 방향 전환할 수 있도록 하는 것이다.
도 21를 참조하면, 전후진 방향 값(FlagR)의 초기값을 '0'으로 설정하고, 교정실행 횟수(Nc)를 '0'으로 설정한다(2171).
이어서, 교정실행 횟수(Nc)를 '1'씩 증가 시키고 검출한 현재의 몸체 방향(α3)를 저장하며, 목표 방향에서 몸체 방향의 각도차(β)를 감산한 후(2172), 각도차(β)가 '0'보다 작은 지를 판단하여(2173), 각도차(β)가 '0'보다 작은 '-'값이면 각도차(β)의 부호를 '+'로 변환한 후(2174), 좌측 모터를 순방향으로 각도차(β) 만큼 회전시키고 우측 모터를 역방향으로 각도차(β)에 해당되는 만큼 회전시켜 몸체를 우회전한다(2175).
만일, 각도차(β)의 크기를 판단하는 단계(2173)의 결과 각도차(β)가 '0'보다 큰 '+' 값이면, 좌측 모터를 역방향으로 각도차(β)만큼 회전시키고 우측 모터를 순방향으로 각도차(β)에 해당되는 만큼 회전시켜 몸체를 좌회전시킨다(2176).
이와 같이, 회전된 몸체 방향의 오류를 교정하기 위하여, 동작방향검출부 (119)의 내부에 장착된 전자나침반(120)을 통해 현재의 몸체진행 방향(α)을 검출하여(2177), 검출한 몸체진행 방향(α)과 목표진행 방향(θ3) 간의 차이값(e3)이 기설정된 최소방향 오류값(θe1)보다 작은지를 판단하여(2178), 작으면 원하는 방향으로 회전이 이루진 것이므로 몸체 회전 동작을 완료한다.
만일, 차이값(e3)과 최소방향 오류값(θe1)의 크기 판단 단계(2178)의 판단 결과 차이값(e3)이 최소방향 오류값(θe1)보다 작지 않으면, 저장된 바로 이전의 몸체진행방향(α3)과 검출한 현재의 몸체진행방향(α)의 차이값(e4)가 미리 설정된 최소방향 오류값(θe2) 보다 큰지를 판단하여(2179), 크지 않으면 전혀 회전이 안된 것이므로, 설정된 전후진 방향 값(FlagR)이 '1'이면 '0'으로 변경하고 전후진 방향 값(FlagR)이 '0'이면 '1'로 변경하여 전진 및 후진의 방향을 변경한다(2180).
이렇게, 전후진 방향을 변경한 다음, 교정실행 횟수(Nc)가 기설정된 기준 교정실행 횟수(Ncth) 보다 큰지를 판단하여(2181), 크면 회전이 실패한 것으로서 오류 경보음을 발생한 후 종료 한다(2182). 이 경우는, 전후진하여도 방향 각도의 변화가 없는 상태로써, 로봇이 갇힌 것으로 판단하여 동작 오류로써 '삐' 음을 주기적으로 발생시켜 사용자에게 알린다.
한편, 차이값(e4)가 미리 설정된 최소방향 오류값(θe2) 보다 큰지를 판단하는 단계의(2179) 판단 결과 차이값(e4)이 최소방향 오류값(θe2) 보다 크면, 전후진 방향 값(FlagR)이 '0'으로 설정되어 있는지를 판단하여(2183), '0'으로 설정되어 있으면 기설정된 최소의 거리만큼 후진한 후(2184), 각도차(β)의 크기 판단 단계(2173)과정을 실행한다.
만일, 전후진 방향 값(FlagR)에 대한 판단 과정(2183)에서 판단 결과 '0'으로 설정되어 있지 않으면, 미리 설정된 최소 거리만큼 전진한 후(2185), 각도차(β)의 크기 판단 과정(2173)을 실행한다.
그리고, 교정실행 횟수(Nc)와 기준 교정실행 횟수(Ncth)의 대소 판단 과정(2181)에서의 판단 결과 교정실행 횟수(Nc)가 기준 교정실행 횟수(Ncth) 보다 크기 않으면, 전후진 방향 값(FlagR)에 대한 판단 과정(2183)으로 넘어간다.
도 22는 도 15의 평면구조 분석 과정에 대한 일실시예 흐름도로서, 로봇의 진행 괘적이 폐곡선으로 평면 구조를 갖는지를 분석하기 위한 것이다.
도 22를 참조하면, 초기 동작 이후부터 이동 거리(Dtrace)가 평면 구조 분석에 요구되는 기설정된 최소한의 거리(D_round) 보다 큰지를 판단하여(2291), 이동거리(Dtrace)가 크면 로봇의 주행거리를 분석하는데(2292), 이때 일정거리 범위내의 영역까지 주행된 거리 및 방향을 갖는 데이터를 이용하여 이동된 거리를 일종의 평면상의 윤곽선(contour trace) 괘적으로 간주하여 데이터를 가공처리한다.
만일, 이동 거리 판단 과정(2291)의 판단 결과 이동 거리(Dtrace)가 기설정된 최소한의 거리(D_round) 보다 크지 않으면, 평면구조의 폐곡선 분석 과정을 종료한다.
이어서, 주요진행 방향 성분의 선분을 추출한다(2293). 즉, 작은 범위에서부터 일정 범위까지 반대 성분을 상쇄 처리하는 방식으로, 임의의 시점에서 전후 데이터의 성분이 반대방향을 갖고 있는 것이 일정 범위 안에 있을 경우, 서로 상쇄시켜 나가면 대체적으로 일정 방향의 성분으로 구성된 긴 선분을 추출할 수 있다.
이렇게, 추출한 선분을 이용하여 다음 선분과 추출한 선분 간에 이루어지는 각도를 합해 가면서 합한 각이 360˚이상이 되는 시점부터 폐곡선을 분석한다 (2294).
그리고, 선분들 중 제일 긴 선분이 두번 반복되었을 때 폐곡선 분석의 신뢰성이 높기 때문에, 추출한 선분중에 긴 선분의 길이와 방향성이 일치하는가를 조사하여, 일치하면 선분간의 이루어지는 각도의 합이 360˚에 가까운 폐곡선 구조인지를 판단한다(2295).
이러한, 폐곡선 구조 판단 과정(2295)에서 폐곡선 구조로 판단되면, 평면구조의 폐곡선 분석을 완료한다.
만일, 폐곡선 구조 판단 과정(2295)의 판단 결과 페곡선 구조가 아니면, v평면구조 분석을 종료한다.
도 23는 상기 도 22에서 설명된 평면구조 분석 과정에 대한 설명도로서, 이를 참조하여 전술한 바와 같은 평면구조 분석 과정에 대한 일예를 설명한다.
도 23에 도시된 바와 같이, 진행 괘적이 (A)와 같은 경우 가까운 거리내에서 상하 또는 좌우와 같은 180˚의 방향 차이를 갖는 진행성분이 있을 때, 이 성분을상쇄시키면 (C)와 같이 일정 방향의 성분으로 대체된다.
그리고, 진행 괘적 (B)의 경우에는 일차 상쇄 처리에서는 앞단의 45°및 -45°로 구성된 삼각형태의 진행 성분이 상쇄되며, 후단의 형태는 상쇄 범위가 더 넓은 이차 처리에서 상쇄되어 역시 (C)와 같은 일정 방향의 성분으로 대체된다.
한편, 선분 간의 이루어지는 각도는 (D) 및 (E)에서와 같이 우측벽면 우선모드와 (F) 및 (G)에서와 같이 좌측벽면 우선 모드에 따라서 이루어지는 각도가 반대방향으로 정의된다.
즉, 우측벽면 우선모드는 우측벽면을 따라서 이동하기 때문에 시계반대 방향으로 진행될 때 선분간 이루어지는 각도가 '+'가 되지만, 좌측벽면 우선모드의 경우에는 시계방향으로 진행될 때 '+'각도가 이루어진다.
상기 도 15에서의 로봇이 특정물체의 주위를 계속하여 진행하지 못하도록 방지하는 과정에 대하여 보다 구체적으로 설명하면 다음과 같다.
평면 구조 분석 과정을 통해 구해진 선분간의 이루어지는 각도의 합으로 판단한다. 특정 물체를 계속 회전하는 것은 평면구조 공간의 진행과 달리 진행 방향간의 이루어지는 각도가 '-'로 이루어지기 때문에, 선분간 이루는 각도의 합이 -360˚이하가 되면, 특정물체 주의를 계속회전하는 것으로 판단한다. 이러한 경우에는, 루핑(Looping)을 빠져나가기 위해서는 미리 정해진 방향순으로부터 해당 방향으로 주행할 때 그 방향에서 90˚방향으로 회전 후에 전면 거리가 기준 근거리 (Near)가 될 때까지 주행하게 하면서 전체 시스템을 초기화 상태로 만든 후 다시 시작한다.
전술한 바와 같이, 평면구조 분석이 수행된 후, 평면구조상에 음원의 위치가 나타나 있으면 그 위치를 찾아가고, 만약 위치가 잘못 되어있거나, 찾아가는 동안 이전의 분석된 구조 데이타와 일치하지 않거나, 음원을 찾아서 도킹하지 못하면, 무선원격 조정부(122)를 통하여 음향신호발생기가 내장된 충전기에 음향신호를 주기적으로 발생하라는 명령을 내려, 충전기의 위치를 정확하게 찾아갈 수 있도록 한다.
도 24는 상기 도 14의 음원 탐색 과정에 대한 일실시예 흐름도이다.
도 24를 참조하면, 초기모드 설정으로써 음원 방향으로 이동하는 진행모드 (TraceMode)의 초기값을 '0'으로 설정한 후(2401), 진행 동작 설정을 위해 필요한 좌우 및 전방에 위치한 벽면과의 거리와 진행방향 등을 검출하고, 검출한 거리와 진행방향에 대한 정보를 이용하여 로봇의 현재상태를 결정한다(2402).
이렇게, 로봇의 현재상태가 결정되면, 음원탐색 동작모드에 따라 음원을 찾아가기 위한 음원탐색 진행 동작을 설정한다(2403).
이어서, 우회동작모드인지를 판단하여(2404), 우회동작모드이면 설정동작을 실행하고(2405), 만일 우회동작모드가 아니면 음원방향으로 진행한다(2406).
이와 같이, 설정된 음원탐색 동작 명령을 실행한 후, 로봇이 음원에 도킹하였는지를 판단하여(2407), 도킹되었으면 소정시간 동안 충전을 수행한 다음 충전기의 현재 위치를 탐색하여 탐색한 위치를 램(129)에 기록해 놓는다(2408).
만일, 도킹 판단 과정(2407)에서의 판단 결과 도킹이 되지 않았다면, 음원 방향에 놓인 장애물 등을 우회하기 위한 우회동작모드를 판단하여 설정한 후(2409), 로봇의 상태 결정 과정(2402)를 실행한다. 이때, 로봇이 음원 방향으로 진행하다가 장애물 등이 앞을 막고 있는 경우 이 장애물을 우회하여 음원으로 가기 위한 방법으로써, 우회동작으로는 우측벽면을 따라가는 방법과 좌측벽면을 따라가는 방법으로 장애물을 피해가는 모드를 설정한다.
도 25는 상기 도 24의 음원탐색 진행 동작 설정 과정에 대한 일실시예 흐름도이다.
도 25를 참조하면, 우회동작모드인지를 확인하여(2511), 우회동작모드이면 우측벽면 우선모드인지를 판단한다(2512). 이때, 우측벽면 우선모드로 판단되면 우측벽면 우선모드에 따른 명령을 설정한다(2513).
만일, 우측벽면 우선모드 판단 과정(2512)의 판단 결과 우측벽면 우선모드가 아니면, 좌측벽면 우선모드에 따른 명령을 설정한다(2514).
한편, 우회동작모드 판단 과정(2511)의 판단 결과 우회동작모드가 아니면 음향 방향과 음원까지의 거리를 검출한 후 종료한다(2515).
도 26은 상기 도 24의 음원방향진행에 대한 일실시예 흐름도이다.
도 26을 참조하면, 동작방향검출부(119) 내에 장착된 전자나침반(120)을 이용하여 몸체진행 방향을 검출하여(2621), 검출한 몸체진행 방향에 따라서 음원 방향으로 몸체를 회전한 후(2622), 기설정된 최소이동 거리단위 만큼씩 음원 방향으로 전진 이동을 수행한다(2623).
현위치로부터 음원 또는 장애물을 감지하기 위한 목적으로 음원까지의 전방향거리(Fdist)를 검출하여(2624), 검출한 전방향거리(Fdist)가 기준 근거리(Near)가 동일한지를 판단하여(2625), 동일하면 로봇의 전면에 음원 또는 장애물이 있는 것으로 판단하여 전진이동을 중지한다.
한편, 전방향거리(Fdist)와 기준근거리(Near)의 동일 여부 판단 과정(2625)에서의 판단 결과 동일하지 않으면, 음원 방향으로 전진 이동하는 단계(2624)를 실행한다.
도 27는 도 24의 우회동작모드 설정 과정에 대한 일실시예 흐름도이다.
도 27을 참조하면, 로봇의 현재 진행 모드가 우회동작모드인지를 확인하여 (2731), 우회동작모드가 아니면 검출한 전방향거리(Fdist)가 기준근거리(Near)와 동일한 지를 판단한다(2732). 이때, 동일하지 않을 경우 동작모드를 종료한다.
만일, 전방향거리(Fdist)가 기준근거리(Near)와 동일할 경우, 전방에 장애물이 있는 것으로 판단하여 우회동작 초기화를 다음과 같은 과정들을 거쳐 실행한다. 우회동작 초기화를 수행하기 위하여, 먼저 우회동작모드로 전환하고 우회동작분석에 필요한 X축 좌표(즉, 가로축 좌표임)의 최대값과 최소값을 '0'으로 초기화시킨 다음(2733), 음원방향을 검출하여(2734) 검출한 음원방향을 Y축 좌표(즉, 세로축 좌표임)로 하고 로봇의 현재위치를 (0,0)을 시작좌표로 설정한다(2735).
우회동작모드 확인 과정(2731)에서 우회동작모드로 확인되면 우회동작모드 동안에 로봇이 이동한 이동거리(Dtrace)가 우회동작분석에 필요한 기설정된 최소한의 기준 거리(Dth3) 보다 크거나 같은지를 판단하여(2736) 크거나 같지 않으면 동작모드 설정 없이 종료한다.
반면, 이동거리(Dtrace)가 최소한의 기준거리(Dth3) 보다 크거나 같은 것으로 판단되면 이전상태에서 현상태까지의 진행거리와 방향에 따라 설정한 X축 좌표의 성분과 이전의 X축 좌표를 합하여 현재 좌표(Px)를 설정한다(2737). 여기서, 이전상태에서 현상태까지의 진행거리와 방향에 따라 설정한 X축 좌표의 성분은 시작좌표 설정(1135) 과정에서와 같은 좌표 설정 방식을 통해 설정한 것이다.
그 다음, 현재 좌표(Px)가 X축 성분의 최소값보다 작은지를 확인하여 작으면 최소값을 현재좌표(Px)의 최소 좌표값(Xmin)으로 추출하고, 현재좌표(Px)가 X축 성분의 최대값보다 큰지를 판단하여 크면 최대값을 현재 좌표(Px)의 최대 좌표값 (Xmax)으로 추출한다(2738).
이렇게 추출한 현재좌표(Px)의 최대 좌표값(Xmax)과 최소 좌표값(Xmin)을 이용하여 우측면 우선모드 또는 좌측면 우선모드인지를 판단하여(2739), 우측면 우선모드이면 현재좌표(Px)의 좌표값이 최소값의 절반(Xmin/2)보다 큰지를 판단하여 (2740), 크면 장애물을 벗어난 것으로 간주하여 음향방향 진행모드를 설정한다 (2741).
만일, 좌표값의 대소 판단 과정(2740)에서 현재좌표(Px)의 좌표값이 최소값 (Xmin)의 절반(Xmin/2)보다 작지 않으면 계속 우회동작모드를 진행한다.
한편, 진행모드 판단 과정(2739)에서 좌측면 우선모드로 판단되면, 현재좌표 (Px)의 좌표값이 최대값(Xmax)의 절반(Xmax/2) 보다 작은지를 판단하여(2742), 작으면 장애물을 벗어난 것으로 간주하여 음향방향 진행모드를 설정 과정(2741)을 실행한다. 이때, 현재좌표(Px)는 거리의 대소 판단 과정(2736)에 의해 최소거리 이상부터 수행되므로, 좌측면 우선모드에서는 현재좌표(Px)가 X방향으로 증가되는 성분일 때, 우회모드를 벗어나게 되며 우측면 우선모드에서는 현재좌표(Px)가 X방향으로 감소되는 시점에서 우회모드를 벗어나게 된다.
하지만, 좌표값의 대소 판단 과정(2742)에서 현재좌표(Px)의 좌표값이 최대값(Xmax)의 절반(Xmax/2) 보다 크지 않으면 계속 우회동작모드를 진행한다.
도 28은 본 발명에서의 우회동작 처리에 대한 설명도로서, 도면부호 B11은 장애물을 나타내며, C11은 우측면 우선모드에 따른 이동진행 괘적을, 그리고 A11은 좌측면 우선모드에 따른 이동진행 괘적을 각각 나타낸다.
도 28에 도시된 바와 같이, 우측면 우선모드에 따른 이동진행 괘적의 경우, 처음 좌측으로 이동하면서 최소 좌표값(Xmin)이 갱신되며 다시 우측으로 이동하여 최소 좌표값(Xmin)의 절반(Xmin/2) 보다 큰 위치에서 우회동작모드가 완료되며, 이시점에서 음향방향 진행모드가 되어 음향방향을 검출하여 음원 방향으로 이동하게 된다.
그리고, 좌측면 우선모드에 따른 이동진행 괘적의 경우, 처음 우측으로 이동하면서 최대 좌표값(Xmax)이 갱신되며 다시 좌측으로 이동하여 최대 좌표값(Xmax)의 절반(Xmax/2) 보다 작은 위치에서 우회동작모드가 완료된다.
일반적으로, 초전형 센서로 이루어진 인체감지 센서는 인체온도 부근의 온도에서 나타나는 원적외선 에너지 파장을 감지하여 검출하는 것으로써, 대개는 주위의 온도 변동, 외란광 잡음 등에 감지되지 않도록 되어 있어 움직이는 인체에 대해서만이 신호가 검출된다.
또한, 인체의 움직임은 약 0.1 내지 10 Hz에 해당되기 때문에 아주 빠른 움직임이나 정지한 인체에 대해서는 인체가 감지되지 않는다.
따라서, 인체감지 센서가 장착된 부분을 레이다 망과 같이 회전하면서 감지하거나, 장착된 몸체를 회전하면서 감지하면 인체가 있는 방향을 감지할 수 있기 때문에 정지된 사람에 대해서도 물체와 구별하여 추적하거나 다가갈 수 있는 시스템을 구현할 수 있다.
도 29는 도 14의 대기모드상에서 인체추적 과정에 대한 일실시예 흐름도이다.
그리고, 인체 추적은 인체감지 센서와 음향신호발생기를 이용함으로써,사람이 나타났을 때 감지한 사람에 대해 반가움 등의 표현을 할 수 있다. 즉, 강아지 모양의 완구일 경우에는 짖거나 꼬리를 흔들면서 사람을 따라갈 수 있도록 할 수 있다.
도 29를 참조하면, 음향신호발생기를 갖고 있는 것을 우선으로 하여, 로봇이 음향신호발생기를 갖고 있는 사람에게 우선적으로 가까이 갈 수 있도록, 먼저 발생된 음향 검출을 수행한 후 음향이 발생되었는지를 확인하여(2910), 음향이 발생되었으면 음향을 발생한 음원으로 진행한다(2902). 만일, 음향 발생 확인 단계 (2901)에서 음향이 발생되지 않은 것으로 확인되면 인체를 감지하기 위하여 로봇의 방향을 좌우 60˚씩 회전시켜 전방 120˚범위에서 인체를 감지하고 인체가 감지되었는지를 판단한다(2903). 이때, 인체가 감지되지 않으면 인체를 감지하기 위하여 수행한 스캔(scan)횟수를 체크하여 체크한 감지 스캔 횟수가 2 내지 3회정도로 기설정된 기준스캔 횟수보다 큰지를 판단하여(2904), 감지 스캔 횟수가 기준스캔 횟수보다 크면 360˚범위내에서 인체가 감지되는가를 확인한다(2905).
이와 같은, 인체 감지 확인 단계(2905)에서 감지된 인체가 확인되면 감지된 인체 방향이 두방향 이상인지를 판단하여(2906), 두방향 이상이면 이전에 진행 및 추적되었던 방향과 가장 근접한 방향을 선택하여 선택한 방향으로 진행한다(2907).
만일, 감지 방향 수의 판단 과정(2906)에서 감지된 인체 방향이 하나인 것으로 판단되면 감지된 방향으로 진행한다(2908).
그리고, 인체 감지 확인 단계(2905)에서 감지된 인체가 확인되지 않으면 인체 감지 후부터 기설정된 시간이 경과되었는지를 판단하여(2909), 일정 시간이 경과되었으면 벽면이나 구석으로 이동한 후 대기 상태를 유지한다(2910).
하지만, 시간 경과 판단 단계(2909)에서 일정 시간이 경과되지 않은 것으로 판단되면, 음향 발생 확인 단계(2901)을 실행한다.
한편, 인체 감지 확인 단계(2903)에서 인체가 감지되지 않은 것으로 확인되면, 감지 방향 수의 판단 단계(2906)를 실행한다.
도 30은 상기 도 14의 경비 동작 수행 과정에 대한 일실시예 흐름도이다.
도 30을 참조하면, 경비 모드 수행을 지시하는 동작 명령의 전달시로부터 기설정된 시간이 지난 후 경비 동작 체제에 들어간다(3001).
이와 같이, 경비 동작 체제가 되면 전방향거리(Fdist), 좌측면거리(Ldist) 및 우측면거리(Rdist)를 검출한다(3002).
이렇게, 측정한 전방향거리(Fdist), 좌측면거리(Ldist) 및 우측면 거리 (Rdist1)를 램(129)에 저장한 후(3003), 새로운 측정한 전방향거리(Fdist2), 좌측면거리(Ldist2) 및 우측면거리(Rdist2)를 검출한다(3004).
이어서, 저장된 바로 이전의 전방향거리(Fdist1), 좌측면거리(Ldist1) 및 우측면거리 (Rdist1)와 새로이 검출한 현재의 전방향거리(Fdist2), 좌측면거리 (Ldist2) 및 우측면거리(Rdist2)를 각각 비교하여 변동이 있었는지를 판단한다 (3005).
이때, 거리 변동이 있는 것으로 판단되면 일차적인 경보 체제를 갖춘 후 (3006) 신원을 확인하기 위하여 입력되는 음성 데이터를 분석한다(3007).
이렇게, 분석한 음성 데이터가 이미 등록된 음성인가를 확인하여(3008), 등록된 음성이면 일정시간 지연한 후(3010) 거리 측정 과정(1304)으로 넘어간다.
만일, 음성 확인 과정(3008)에서 분석된 음성 데이터가 등록된 음성이 아닌 것으로 확인되면 경보기를 작동시킨(3009) 다음 계속적인 음성신원 확인을 위한 음성 데이터 분석 단계(3007)를 실행한다.
한편, 거리 변동 판단 단계(3005)에서 거리 변동이 없는 것으로 판단되면, 인체가 감지되었는지를 확인하여(3010), 인체가 감지되었으면 일차적인 경보 체제 단계(3006)로 넘어간다.
하지만, 인체 감지 확인 단계(3010)에서 인체 감지가 확인되지 않으면 거리 측정 단계(3002)를 실행한다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이동 가능한 로봇은 산업용에서 완구용에 이르기까지 많은 분야에서 이용되고 있다. 이러한 로봇은 여러 검출장치 및 이동장치를 구비하고 있으며, 검출장치로는 거리측정계, 인체감지 센서 등이 있으며, 목표지점 또는 현재 위치를 검출하고 검출된 목표지점 또는 현재 위치를 이용하여 목표위치로 이동한다.
Claims (69)
- 음향신호발생수단으로부터 출력되는 특정 패턴을 갖는 음향신호를 검출하여 음원의 위치로 이동하기 위한 로봇 장치에 있어서,상기 음향신호를 수신하기 위한 적어도 세 개의 음향수신수단;상기 음향수신수단으로부터 출력되는 각 음향신호 간의 위상차를 이용하여 음향신호발생수단의 위치를 검출하기 위한 위상차검출수단;음향신호발생부의 위치를 판단하여 동작제어신호를 발생하는 처리수단; 및상기 동작제어 신호에 응답하여 상기 로봇을 이동시키기 위한 이동수단을 포함하는 로봇장치.
- 제 1 항에 있어서,상기 음향수신수단은,정삼각형으로 장착한 제1, 제2 및 제3 수신기로 이루어지며, 각 수신기 간의 거리는 수신되는 음향신호 간의 최대 위상차가 음향신호발생수단으로부터의 음향신호의 주기의 1/2 이내가 되도록 한 것을 특징으로 하는 로봇장치.
- 제 1 항에 있어서,상기 음향수신수단은,네 개 이상의 수신기가 각각 정삼각형 형태로 배치하며, 각 수신기 간의 거리는 수신되는 음향신호 간의 최대 위상차가 음향신호발생수단으로부터의 음향신호의 주기의 1/2 이내가 되도록 한 것을 특징으로 하는 로봇장치.
- 제 2 항에 있어서,상기 위상차 검출수단은,상기 제1 수신기를 통해 출력되는 제1 신호를 증폭 및 필터링하기 위한 제1 증폭 및 필터링기;상기 제2 수신기를 통해 출력되는 제2 신호를 증폭 및 필터링하기 위한 제2 증폭 및 필터링기;상기 제3 수신기를 통해 출력되는 제3 신호를 증폭 및 필터링하기 위한 제3 증폭 및 필터링기;상기 제1 증폭 및 필터링기로부터의 출력신호 및 소정의 주기를 갖는 클럭을 입력받아, 상기 출력신호의 주기 소정 시간 동안 일정할 경우 검출신호를 출력하는 음향패턴구간 검출기; 및상기 제1, 제2 및 제3 증폭 및 필터링기로부터의 각 출력신호를 입력받아 각 출력신호 간의 위상차를 검출하여, 상기 음향패턴구간 검출기로부터의 검출신호에 응답하여 검출된 위상차 데이터 및 상기 위상차 데이터를 외부로 출력하도록 하는 인터럽트신호를 출력하는 위상차 검출기를 포함하여 이루어진 로봇장치.
- 제 4 항에 있어서,상기 음향패턴구간 검출기는,상기 제1 신호의 라인징 에지와 폴링 에지를 검출하여 펄스를 출력하는 에지 검출기;상기 클럭을 입력받아 상기 펄스 간의 간격을 카운팅하여 카운트값을 출력하기 위한 펄스간격 카운터;상기 에지 검출기로부터의 펄스 파형 및 상기 펄스간격 카운터로부터의 카운트값을 입력받아 상기 제1 신호의 주기가 일정한지를 검출하는 설정주기 판단기;상기 클럭신호 및 상기 설정주기 판단기로부터의 검출값을 입력받아, 상기 제1 신호가 소정의 주기로 계속적으로 입력되는지를 검출하여 검출신호를 출력하는 검출신호 발생기; 및상기 클럭신호 및 상기 에지 검출기로부터의 출력신호를 입력받아 상기 검출신호 발생기로부터 출력되는 검출신호를 클리어시키기 위한 클리어신호 발생기를 포함하여 이루어진 로봇장치.
- 제 5 항에 있어서,상기 에지 검출기는,상기 제1 신호를 반전시키기 위한 제1 인버터;상기 제1 인버터의 출력신호 주파수의 1/2에 해당하는 신호를 출력하는 D-플립플롭;상기 D-플립플롭의 출력신호를 지연시키기 위한 직렬연결된 다수의 제2 인버터; 및상기 D-플립플롭 및 제2 인버터의 출력신호를 배타적부정논리합하기 위한 배타적부정논리합 게이트를 포함하여 이루어진 로봇장치.
- 제 6 항에 있어서,상기 펄스간격 카운터는,상기 에지 검출기의 출력신호를 지연하기 위해 직렬연결된 다수의 제3 인버터;클럭단자로 입력되는 신호에 따라, 상기 제3 인버터의 출력신호를 카운팅하여 카운트값을 제1 및 제2 출력단자로 출력하는 카운터;상기 카운터의 제1 및 제2 출력단자로 출력되는 출력신호를 논리곱하기 위한 제1 논리곱 게이트;상기 제1 논리곱 게이트의 출력신호를 반전시키기 위한 제4 인버터;상기 제4 인버터의 출력신호 및 상기 클럭을 논리곱하여 출력신호를 상기 카운터의 클럭단자로 출력하는 제2 논리곱 게이트; 및상기 카운터의 제2 출력단자로 출력되는 출력신호 및 상기 제4 인버터의 출력신호를 논리곱하기 위한 제3 논리곱 게이트를 포함하여 이루어진 로봇장치.
- 제 7 항에 있어서,상기 설정주기 판단기는,클럭단자가 상기 에지 검출기의 출력신호를 입력받고, 입력단자가 펄스간격 카운터의 출력신호를 입력받아 반전출력단자 및 비반전출력단자를 통해 출력신호를 상기 검출신호 발생기로 출력하는 제2 D-플립플롭으로 이루어진 로봇장치.
- 제 8 항에 있어서,상기 클리어신호 발생기는,상기 클럭신호를 클럭단자로 입력받아 상기 클럭신호를 카운팅하여 제1 출력단자 및 제2 출력단자를 통해 출력하는 제2 카운터;상기 제2 카운터의 제1 및 제2 출력단자를 통해 출력되는 출력신호를 논리곱하기 하여 상기 설정주기 판단기의 제2 D-플립플롭의 클리어단자로 출력하는 제4 논리곱게이트; 및상기 논리곱게이트의 출력신호 및 상기 에지 검출기의 출력신호를 논리합하여 상기 카운터의 클리어단자로 출력하는 논리합게이트를 포함하여 이루어진 로봇장치.
- 제 9 항에 있어서,상기 검출신호 발생기는,클리어 단자가 상기 설정주기 판단기의 제2 D-플립플롭의 반전출력단자에 연결되고, 클럭단자로 입력되는 신호를 카운팅하기 위여 제1 및 제2 출력단자로 출력하는 제3 카운터;상기 제3 카운터의 제1 및 제2 출력단자를 통해 출력되는 출력신호를 논리곱하여 상기 검출신호를 출력하는 제5 논리곱게이트;상기 제5 논리곱게이트의 출력신호를 반전하기 위한 제4 인버터; 및상기 설정주기 판단기의 제2 D-플립플롭의 비반전 출력단자를 통해 출력되는 출력신호, 상기 클럭 및 상기 제4 인버터의 출력신호를 논리곱하여 상기 카운터의 클럭단자로 출력하는 제6 논리곱게이트를 포함하여 이루어진 로봇장치.
- 제 4 항에 있어서,상기 위상차 검출기는,제 1, 제2 및 제3 증폭 및 필터링수단으로부터의 출력신호 중 두 개의 신호를 입력받아 두 신호의 라이징에지 구간 동안 제2 클럭의 클럭수를 카운팅하여 각 위상차 데이터를 출력하는 클럭카운팅부;두 신호 중 하나의 신호를 입력받아 상기 클럭카운팅부를 클리어하기 위한 클리어신호를 출력하는 클리어신호 발생부; 및상기 검출신호에 응답하여 각 위상차 데이터의 리드 타이밍을 지정하는 인터럽트신호를 출력하는 인터럽트신호 발생부를 포함하여 이루어진 로봇장치.
- 제 11 항에 있어서,상기 클리어신호 발생기는,상기 두 신호 중 하나의 신호를 클럭단자로 입력받고, 입력단자가 반전출력단자에 연결된 제1 D-플립플롭;상기 하나의 신호를 반전하기 위한 인버터; 및상기 인버터의 출력신호 및 상기 D-플립플롭의 반전출력단자로 출력되는 출력신호를 논리곱하기 위한 제1 논리곱게이트를 포함하여 이루어진 로봇장치.
- 제 12 항에 있어서,상기 클럭카운팅부는,입력단자가 전원전압에 연결되며, 클럭단자가 상기 두 신호 중 하나의 신호에 연결되며, 클리어단자가 상기 두 신호 중 다른 하나의 신호에 연결된 제2 D-플립플롭;상기 제2 클럭, 상기 제2 D-플립플롭의 비반전 출력단자로 출력되는 출력신호, 상기 제1 D-플립플롭의 비반전 출력단자로 출력되는 출력신호를 입력받아 논리곱하기 위한 제2 논리곱게이트; 및클럭단자가 상기 제2 논리곱게이트의 출력단자에 연결되고, 클리어단자가 상기 클리어신호 발생부의 제1 논리곱게이트의 출력단자에 연결된 카운터를 포함하여 이루어진 로봇장치.
- 제 13 항에 있어서,상기 인터럽트신호 발생부는,상기 두 신호 중 하나의 신호, 상기 클리어신호 발생부의 제1 D-플립플롭의 반전단자로 출력되는 출력신호, 및 상기 검출신호를 입력받아 논리곱하여 상기 인터럽트신호를 출력하는 제3 논리곱게이트로 이루어진 로봇장치.
- 제 1 항에 있어서,지구자계를 검출하여 로봇의 현재 진행방향을 검출하기 위한 전자나침반 및 상기 전자나침반으로부터 검출된 아날로그값을 디지털값으로 변환하기 위한 아날로그-디지털 변환기로 구성된 동작방향검출수단을 포함하여 이루어진 로봇장치.
- 제 15 항에 있어서,상기 전자나침반은,지구자계의 X축 방향을 검출하기 위한 제1 자계검출기와, 지구자계의 Y축 방향을 검출하기 위한 제2 자계검출기가 서로 직각으로 배치되어 있으며, 각 자계검출기는, 두 개의 홀 센서가 철심으로 연결되어 있는 것을 특징으로 하는 로봇장치.
- 제 15 항에 있어서,각 자계검출기는,전원전압단과 접지전압단 간에 연결된 제1 홀센서;전원전압단과 접지전원단 간에 연결된 제2 홀센서;비반전입력단자로 상기 제1 홀센서의 출력단이 연결되며, 상기 제2 홀센서의 출력단이 제1저항을 통해 반전입력단자 입력되며, 반전입력단자와 출력단 간에 제2저항 및 콘텐서가 병렬연결되며, 상기 반전입력단자와 접지전원단 간에 제3 저항과 가변저항이 직렬연결된 증폭기를 포함하여 이루어진 로봇장치.
- 음향신호발생수단으로부터 출력되는 특정 패턴을 갖는 음향신호를 검출하여 음원의 위치로 이동하기 위한 로봇 장치의 동작 방법에 있어서,작동 모드가 설정되었는지를 판단하는 제 1 단계;상기 제 1 단계에서 작동 모드가 설정되지 않은 것으로 판단되면, 대기모드로 된 후 일정 거리 내에 위치한 사람을 감지하여 추적하는 제 2 단계;상기 제 1 단계에서 작동 모드가 설정된 것으로 판단되면, 설정된 작동 모드의 종류를 확인하는 제 3 단계; 및상기 설정된 작동 모드의 종류 확인 결과에 따라, 평면 구조물을 탐색 및 분석해서 얻은 평면구조물에 대한 정보를 이용하여 지정한 영역을 청소하고, 방전시 음향을 발생하는 충전기를 탐색한 후 탐색한 충전기에 도킹(docking)하여 충전이이루어지도록 하며, 음향을 발생하는 음원을 탐색 및 경비 동작을 수행하는 제 4 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 18 항에 있어서,상기 제 4 단계는,상기 제 3 단계에서 평면 구조물 탐색 및 분석 모드로 확인되면, 좌우 및 전방향의 거리를 계산하여 평면구조물을 탐색하고 평면구조를 분석하는 제 5 단계;상기 제 3 단계에서 음원 탐색모드로 확인되면, 음향 방향을 검출하여 음향을 발생하고 있는 음원 방향으로 진행하고, 방전시 상기 충전기를 탐색한 후 탐색한 충전기에 도킹하여 충전이 이루어지도록 하는 제 6 단계;상기 제 3 단계에서 경비 모드로 확인되면, 동작 명령이 전달된 후 일정 시간이 경과되면 경비 동작을 수행하는 제 7 단계;상기 제 3 단계에서 자동 청소 모드로 확인되면, 평면구조물을 탐색 및 분석하여 얻은 정보를 이용하여 계산한 공간의 평면구조 정보에 따라 지정한 영역을 청소하는 제 8 단계를 포함하여 이루어진 음원의 방향을 검출하여 음원의 위치로 이동하기 위한 장치의 동작방법.
- 제 19 항에 있어서,상기 제 5 단계는,좌우 및 전방향의 거리를 계산하면서 우선적으로 가까운 벽면을 찾아가는 초기동작을 수행하는 제 9 단계;초기동작이 수행된 후, 진행 동작 설정을 위해 필요한 좌우 및 전방향에 위치한 벽면과의 거리와 진행방향 등을 검출하고, 검출한 거리와 진향방향에 대한 정보를 이용하여 로봇의 현재 상태를 결정하는 제 10 단계;상기 제 10 단계에서 결정된 현재의 상태와 이전의 상태를 이용하여 수행할 동작을 설정하는 제 11 단계;상기 제 11 단계에서 설정된 동작을 수행하면서, 상기 로봇이 원하는 방향으로 진행되지 않으면 자동으로 진행 방향을 교정하는 제 12 단계;로봇이 진행 방향을 교정하여 진행한 후, 진행된 주행거리와 방향을 이용하여 탐색하고자 하는 장소가 평면구조의 폐곡선 형태 여부에 따라, 로봇이 특정물체의 주위를 계속하여 진행하지 못하도록 방지한 후 상기 제 10 단계로 넘어가는 제 13 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 20 항에 있어서,상기 제 13 단계는,진행 방향을 교정하여 진행한 후, 진행된 로봇의 주행거리와 방향을 이용하여 탐색하고자 하는 장소가 평면구조의 폐곡선 형태인지를 분석하는 제 14 단계;상기 제 14 단계의 분석 결과 평면구조가 폐곡선 형태가 아니면, 상기 로봇이 특정물체의 주위를 계속하여 진행하지 못하도록 방지하는 제 15 단계; 및상기 제 14 단계의 분석 결과 평면구조가 폐곡선 형태이면, 평면 구조 탐색 및 분석을 종료하는 제 16 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 20 항에 있어서,상기 제 10 단계는,상기 로봇이 현재 진행하는 전방향에 위치한 벽면과 상기 로봇 간의 전방향 거리를 검출하는 제 14 단계;상기 로봇이 현재 진행하고 있는 방향의 좌측면의 벽면과 로봇 간의 좌측면 거리를 검출하는 제 15 단계;상기 로봇이 현재 진행하고 있는 방향의 우측면의 벽면과 로봇 간의 우측면 거리를 검출하는 제 16 단계;상기 로봇의 진행 상태 변환에 필요한 정보를 얻기 위하여, 현재 상기 로봇이 진행하는 진행 방향을 검출하는 제 17 단계;상기 검출한 전방향 거리를 이용하여 현재 진행하고 있는 거리상태를 결정하는 제 18 단계;상기 검출한 좌측면 거리를 이용하여 현재 진행하고 있는 거리상태를 결정하는 제 19 단계; 및상기 검출한 우측면 거리를 이용하여 현재 진행하고 있는 거리상태를 결정하는 제 20 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 22 항에 있어서,상기 제 18 단계 내지 제 20 단계는 각각,검출한 거리가 소정의 제1 기준거리보다 작은지를 판단하는 제 21 단계;상기 제 21 단계에서 상기 측정거리가 상기 제1 기준거리보다 작은 것으로 판단되면, 제1 근거리상태로 결정하는 제 22 단계;상기 제 21 단계에서 상기 측정거리가 상기 제1 기준거리 보다 작지 않은 것으로 판단되면, 상기 측정거리가 상기 제1 기준거리 보다 크거나 같으면서 소정의 제2 기준거리 보다 작은지를 판단하는 제 23 단계;상기 제 23 단계에서 상기 측정거리가 상기 제1 기준거리 보다 크거나 같고 상기 제2 기준거리 보다 작은 것으로 판단되면, 제2 근거리상태로 결정하는 제 24 단계;상기 제 23 단계에서 상기 측정거리가 상기 제1 기준거리 보다 크거나 같고 상기 제2 기준거리 보다 작은 조건을 만족하지 못하는 것으로 판단되면, 상기 측정거리가 상기 제2 기준거리 보다 크거나 같고 소정의 제3 기준거리 보다 작은지를 판단하는 제 25 단계;상기 제 25 단계에서 상기 측정거리가 상기 제2 기준거리 보다 크거나 같고상기 제3 기준거리 보다 작은 것으로 판단되면, 제3 근거리 상태로 결정하는 제 26 단계; 및상기 제 25 단계에서 상기 측정거리가 상기 제2 기준거리 보다 크거나 같고 상기 제3 기준거리 보다 작은 조건을 만족하지 못하는 것으로 판단되면, 원거리 상태로 결정하는 제 27 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 20 항에 있어서,상기 제 12 단계는,상기 장지의 진행 속도 및 방향을 결정하는 좌측 모터와 우측 모터를 순방향으로 소저의 회전수 만큼 회전시켜 전진 이동하는 제 14 단계;전진 이동 중에 지면이나 장애물에 부딪혀 진행 방향이 틀어진 것을 교정하데 이용하기 위하여, 로봇에 장착된 전자나침반을 통해 상기 로봇의 몸체 전진 방향을 검출하는 제 15 단계; 및상기 제 15 단계에서 검출한 전진 방향에 대한 검출값과 저장된 원래의 몸체 전진 방향값 간의 오차값이 소정의 최소 방향 오류 보다 작은지 여부에 따라 몸체가 원래의 전진 방향값과 동일하게 되도록 몸체를 회전하는 제 16 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 24 항에 있어서,상기 16 단계는,상기 제 15 단계에서 검출한 전진 방향에 대한 검출값과 저장된 원래의 몸체 전진 방향값 간의 오차값이 소정의 최소방향 오류값 보다 작은지를 판단하는 제 17 단계;상기 제 17 단계에서 상기 계산한 오차값이 소정의 최소방향 오류값 보다 작지 않은 것으로 판단되면, 몸체가 원래의 전진 방향값과 동일하게 되도록 몸체를 회전하는 제 18 단계; 및상기 제 17 단계에서 상기 계산한 오차값이 소정의 최소 방향 오류 보다 작은 것으로 판단되면, 전진시 몸체 교정 동작을 종료하는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 20 항에 있어서,상기 제 12 단계는,상기 로봇의 진행 속도 및 방향을 결정하는 좌측 모터와 우측 모터를 역방향으로 정해진 만큼 회전시켜 후진 이동하는 제 14 단계;후진 이동 중에, 지면이나 장애물에 부딪혀 진행 방향이 틀어진 것을 교정하는데 이용하기 위하여, 로봇의 몸체 후진 방향을 검출하는 제 15 단계; 및상기 제 15 단계에서 검출한 후진 방향에 대한 검출값과 원래의 몸체 후진 방향값 간의 오차값이 소정의 최소방향 오류값 보다 작은지 여부에 따라 몸체가 원래의 후진 방향값과 동일하게 되도록 몸체를 회전하는 제 16 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 26 항에 있어서,상기 제 16 단계는,상기 제 15 단계에서 검출한 후진 방향에 대한 검출값과 원래의 몸체 후진 방향값 간의 오차값이 소정의 최소방향 오류값 보다 작은지를 판단하는 제 17 단계;상기 제 17 단계에서 계산한 오차값이 소정의 최소방향 오류값 보다 작지 않은 것으로 판단되면, 몸체가 원래의 후진 방향값과 동일하게 되도록 몸체를 회전하는 제 18 단계; 및상기 제 17 단계에서 계산한 오차값이 소정의 최소 방향 오류값 보다 작은 것으로 판단되면, 후진시 몸체 교정 동작을 종료하는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 20 항에 있어서,상기 제 12 단계는,전후진 방향 값의 초기값을 '0'으로 설정하고, 교정실행 횟수를 '0'으로 설정하는 제 14 단계;상기 설정한 교정실행 횟수를 '1'씩 증가시키고, 현재의 몸체 방향을 검출하여 검출한 몸체 방향 검출값을 저장하며, 목표 방향과 검출한 몸체 방향 간의 각도차이값을 계산하는 제 15 단계;상기 제 15 단계에서 계산한 각도 차이값이 '0'보다 작은지 여부에 따라, 현재의 진행 방향을 우회전하거나 좌회전하는 제 16 단계;상기 제 16 단계에서 회전된 몸체 방향의 오류를 교정하는데 이용하기 위하여, 로봇에 장작된 전자나침반을 통해 현재의 몸체진행 방향값를 검출하는 제 17 단계;상기 검출한 몸체진행 방향값과 소정의 목표진행 방향값 간의 차이값이 소정의 최소방향 오류값 보다 작은지 여부에 따라, 저장된 이전의 몸체진행방향 검출값과 검출한 현재의 몸체진행방향 값의 차이값을 계산하고, 계산한 차이 값이소정의 최소방향 오류값 보다 큰지를 판단하는 제 18 단계;상기 제 18 단계에서 상기 계산한 차이값이 상기 최소방향 오류값 보다 큰 것으로 판단되면, 상기 전후진 방향 값이 '0'으로 설정되어 있는지 여부에 따라 소정의 최소 거리만큼 후진이나 전진하는 제 19 단계; 및상기 제 18 단계에서 상기 계산한 차이값이 상기 최소방향 오류값 보다 크지 않은 것으로 판단되면, 상기 전후진 방향 값을 변경한 후, 상기 교정실행 횟수가 소정의 기준 교정실행 횟수 보다 큰지 여부에 따라 오류 경보음을 발생하는 제 20 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 28 항에 있어서,상기 제 16 단계는,상기 제 15 단계에서 상기 계산한 각도 차이값이 '0'보다 작은지를 판단하는 제 21 단계;상기 제 21 단계에서 상기 계산한 각도 차이값이 '0'보다 작은 것으로 판단되면, 상기 각도 차이값을 '0'보다 큰 '+' 값으로 변환하는 제 22 단계;상기 각도 차이값을 변환한 후, 몸체의 속도 및 진행 방향을 결정하는 좌측 모터를 순방향으로 상기 각도 차이값 만큼 회전시키고 몸체의 속도 및 진행 방향을 결정하는 우측 모터를 역방향으로 상기 각도 차이값 만큼 회전시켜 몸체를 우회전하는 제 23 단계;상기 제 21 단계에서 상기 계산한 각도 차이값이 '0'보다 작지 않은 것으로 판단되면, 상기 좌측 모터를 역방향으로 상기 각도 차이값 만큼 회전시키고 상기 우측 모터를 순방향으로 상기 각도 차이값 만큼 회전시켜 몸체를 좌회전하는 제 24 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 28 항에 있어서,상기 제 18 단계는,상기 검출한 몸체진행 방향값과 상기 목표진행 방향값 간의 차이값이 소정의 최소방향 오류값 보다 작은지를 판단하는 제 21 단계;상기 제 21 단계에서 상기 계산한 차이값이 상기 최소방향 오류값 보다 작은것으로 판단되면, 원하는 방향으로 회전이 이루진 것으로 판단하여 몸체 회전 동작을 종료하는 제 22 단계;상기 제 21 단계에서 상기 계산한 차이값이 상기 최소방향 오류값 보다 작지 않은 것으로 판단되면, 상기 몸체진행방향 검출값과 검출한 현재의 몸체진행방향 값 간의 차이값이 상기 최소방향 오류값 보다 큰지를 판단하는 제 23 단계;상기 제 23 단계에서 상기 계산한 차이값이 상기 최소방향 오류값 보다 큰 것으로 판단되면, 상기 제 19 단계로 넘어가는 제 24 단계; 및상기 제 23 단계에서 상기 계산한 차이값이 상기 최소방향 오류값 보다 크지 않은 것으로 판단되면, 상기 제 20 단계로 넘어가는 제 25 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 28 항에 있어서,상기 제 19 단계는,상기 전후진 방향 값이 '0'으로 설정되었는지를 판단하는 제 21 단계;상기 제 21 단계에서 상기 전후진 방향 값이 '0'으로 설정된 것으로 판단되면, 상기 소정의 최소 거리 만큼 후진하는 제 22 단계; 및상기 제 21 단계에서 상기 전후진 방향 값이 '0'으로 설정되지 않은 것으로 판단되면, 상기 소정의 최소 거리 만큼 전진한 후, 상기 제 14 단계로 넘어가는 제 23 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 31 항에 있어서,상기 제 20 단계는,상기 전후진 방향 값이 '1'이면 '0'으로 변경하고 상기 전후진 방향 값이 '0'이면 '1'로 변경하여 전진 및 후진의 방향을 변경하는 제 26 단계;전후진 방향을 변경한 후, 상기 교정실행 횟수가 상기 기준 교정실행 횟수 보다 큰지를 판단하는 제 27 단계;상기 제 27 단계에서 상기 교정실행 횟수가 상기 기준 교정실행 횟수 보다 큰 것으로 판단되면, 상기 교정실행 횟수를 '0'으로 재설정하는 제 28 단계; 및상기 제 27 단계에서 상기 교정실행 횟수가 상기 기준 교정실행 횟수 보다 크지 않은 것으로 판단되면, 상기 제 19 단계로 넘어가는 제 29 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 20 항에 있어서,상기 제 13 단계는,초기 동작 이후부터 이동한 거리가 평면 구조 분석에 요구되는 소정의 최소한의 거리 보다 큰지를 판단하는 제 14 단계;상기 제 14 단계에서 상기 이동 거리가 상기 최소한의 거리 보다 큰 경우에만, 상기 로봇의 주행거리를 분석하는 제 15 단계;주행거리 분석 후, 주요진행 방향 성분의 선분을 추출하는 제 16 단계;상기 제 16 단계에서 추출한 선분을 이용하여 다음 선분과 추출한 선분 간에 이루어지는 각도를 합해 가면서 합한 각이 실질적으로 360˚이상이 되는 시점에서 폐곡선을 분석하는 제 17 단계;추출한 선분중에 긴 선분의 길이와 방향성이 일치하는가를 조사하여, 일치하는 경우에만 선분간의 이루어지는 각도의 합이 실질적으로 360˚에 가까운 폐곡선 구조인지를 판단하는 제 18 단계; 및상기 제 18 단계에서 폐곡선 구조인 경우에만, 평면구조분석을 종료하는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 29 항에 있어서,상기 제 6 단계는,음향 방향으로 이동하는 진행모드의 초기값을 '0'으로 설정하는 제 9 단계;상기 진행모드의 초기값 설정 후, 진행 동작 설정을 위해 필요한 좌우 및 전방에 위치한 벽면과의 거리와 진행방향을 검출하고, 검출한 거리와 진향방향에 대한 정보를 이용하여 로봇의 현재 상태를 결정하는 제 10 단계;상기 로봇의 현재 상태가 결정되면, 소정의 음원탐색 동작모드에 따라 음원을 찾아가기 위한 음원탐색 진행 동작을 설정하는 제 11 단계;상기 음원탐색 진행 동작을 설정한 후, 우회동작모드 여부에 따라, 설정동작을 실행하거나 음원방향으로 진행하는 제 12 단계; 및상기 음원 탐색을 수행하여 상기 로봇이 음원에 도킹되었는지 여부에 따라, 상기 로봇이 소정의 시간 동안 충전을 수행하거나 상기 음원 방향에 놓인 장애물를 우회하기 위한 우회동작모드를 설정하는 제 13 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 34 항에 있어서,상기 제 11 단계는,상기 로봇의 현재 진행 상태가 상기 우회동작모드로 설정되어 있는지를 판단하는 제 14 단계;상기 제 14 단계에서 상기 우회동작모드로 설정된 것으로 판단되면, 우측벽을 따라 진행하는 우측벽면 우선모드나 좌측벽을 따라 진행하는 좌측벽면 우선모드인지 여부에 따라, 상기 우측벽면 우선모드에 따른 명령을 설정하거나 상기 좌측벽면 우선모드에 따른 명령을 설정하는 제 15 단계; 및상기 제 14 단계에서 상기 우회동작모드로 설정되지 않은 것으로 판단되면, 음향 방향과 상기 음원까지의 거리를 검출하는 제 16 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 35 항에 있어서,상기 제 15 단계는,상기 우측벽면 우선모드나 상기 좌측벽면 우선모드인지를 판단하는 제 17 단계;상기 제 17 단계에서 상기 우측벽면 우선모드로 판단되면, 상기 우측벽면 우선모드에 따른 명령을 설정하는 제 18 단계; 및상기 제 17 단계에서 상기 좌측벽면 우선모드로 판단되면, 상기 좌측벽면 우선모드에 따른 명령을 설정하는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 34 항에 있어서,상기 제 12 단계는,상기 우회동작모드인지를 판단하는 제 14 단계;상기 제 14 단계에서 우회동작모드로 판단되면, 상기 설정동작을 실행하는 제 15 단계;상기 제 14 단계에서 우회동작모드가 아닌 것으로 판단되면, 상기 전자나침반을 이용하여 몸체진행 방향을 검출하는 제 16 단계;상기 검출한 몸체진행 방향에 따라 상기 음원 방향으로 몸체를 회전하는 제 17 단계;소정의 최소이동 거리단위 만큼씩 상기 음원 방향으로 전진 이동하는 제 18 단계; 및전진 이동하여 상기 로봇의 현재 위치로부터 상기 음원까지의 거리를 최소이동 거리단위 만큼씩 단축시킨 후, 상기 로봇의 현위치로부터 전면에 음원이나 장애물을 감지하기 위한 목적으로 상기 음원까지의 전방향거리가 근거리인 경우에만 전진 이동을 중지하는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 37 항에 있어서,상기 제 19 단계는,상기 로봇의 현재 위치로부터 상기 음원까지의 거리를 최소이동 거리단위 만큼씩 단축시킨 후, 상기 로봇의 현위치로부터 전방향거리를 검출하는 제 20 단계;상기 검출한 전방향거리와 상기 거리상태가 같은지를 판단하는 제 21 단계;상기 제 21 단계에서 상기 검출한 전방향거리와 상기 거리상태가 같은 것으로 판단되면, 현재 상기 로봇이 상기 음원의 위치에 있는 것으로 판단하여 전진이동을 중지하는 제 22 단계; 및상기 제 21 단계에서 상기 검출한 전방향거리와 상기 거리상태가 같지 않은 것으로 판단되면, 상기 제 18 단계로 넘어가는 제 23 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 38 항에 있어서,상기 제 13 단계는,상기 음원 탐색을 수행하여 로봇이 음원에 도킹되었는지를 판단하는 제 24 단계;상기 제 24 단계에서 도킹된 것으로 판단되면, 상기 소정의 시간 동안 충전을 수행한 다음 충전기의 현재 위치를 탐색하여 탐색한 위치를 기록하는 제 25 단계; 및상기 제 24 단계에서 도킹되지 않은 것으로 판단되면, 상기 음원 방향에 놓인 장애물를 우회하기 위한 우회동작모드를 설정한 후, 상기 제 6 단계로 넘어가는 제 26 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 39 항에 있어서,상기 제 24 단계는,상기 로봇의 진행모드가 우회동작모드인지를 확인하는 제 27 단계;상기 제 27 단계에서 상기 우회동작모드가 아닌 것으로 확인되면, 상기 검출한 전방향거리와 근거리 상태의 동일 여부에 따라 우회동작의 초기화를 수행하는 제 28 단계;상기 제 27 단계에서 상기 우회 동작모드인 것으로 확인되면, 상기 로봇이 이동한 이동거리가 우회동작분석에 필요한 소정의 최소 기준거리 보다 크거나 같은지 여부에 따라, 이전상태에서 현상태까지의 진행거리와 방향에 따라 설정한 X축 좌표 성분과 이전의 X축 좌표를 합하여 현재 좌표를 설정하는 제 29 단계;상기 설정한 현재 좌표가 X축 성분의 최소값 보다 작은지를 확인하여 작으면 최소값을 상기 현재 좌표의 최소 좌표값으로 추출하고, 상기 현재 좌표가 X축 성분의 최대값 보다 큰지를 판단하여 크면 최대값을 상기 현재 좌표의 최대 좌표값으로 추출하는 제 30 단계;상기 제 30 단계에서 추출한 상기 현재 좌표의 최대 및 최소 좌표값을 이용하여, 상기 로봇의 현재 진행상태가 상기 우측면 우선모드 또는 상기 좌측면 우선모드인지를 판단하는 제 31 단계;상기 제 31 단계에서 상기 우측면 우선모드로 판단되면, 상기 현재 좌표의 좌표값이 X축의 최소 좌표값의 1/2에 해당하는 값 보다 큰지 여부에 따라 상기 음향방향 진행모드를 설정하는 제 32 단계; 및상기 제 31 단계에서 상기 좌측면 우선모드로 판단되면, 상기 현재 좌표의 좌표값이 X축의 최대 좌표값의 1/2에 해당하는 값 보다 작은지 여부에 따라 상기 음향방향 진행모드를 설정하는 제 33 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 40 항에 있어서,상기 제 28 단계는,상기 검출한 전방향거리와 상기 음원까지의 거리상태가 동일한 지를 판단하는 제 34 단계;상기 제 34 단계에서 상기 검출한 전방향거리와 상기 음원까지의 거리상태가 동일한 것으로 판단되면, 우회동작모드로 전환하고 우회동작분석에 필요한 X축 좌표의 최대값과 최소값을 '0'으로 초기화시키는 제 35 단계;상기 X축 좌표의 최대값과 최소값을 초기화시킨 후, 상기 음향 방향을 검출하는 제 36 단계;상기 검출한 음향방향을 Y축 좌표로 하고 상기 로봇의 현재 위치를 우회동작 시작점으로 하고 하는 상기 X축 좌표와 Y축 좌표로 이루어진 시작좌표를 설정하는 제 37 단계; 및상기 제 34 단계에서 상기 검출한 전방향거리와 상기 음원까지의 거리상태가 동일하지 않은 것으로 판단되면, 상기 음향방향 진행모드를 계속하여 수행하고 우회동작은 종료하는 제 38 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 40 항에 있어서,상기 제 29 단계는,상기 로봇이 이동한 이동거리가 상기 소정의 최소 기준거리 보다 크거나 같은지를 판단하는 제 34 단계;상기 제 34 단계에서 상기 로봇이 이동한 이동거리가 상기 소정의 최소 기준거리 보다 크거나 같은 것으로 판단되면, 이전 상태에서 현 상태까지의 진행거리와 방향에 따라 설정한 X축 좌표의 성분과 이전의 X축 좌표를 합하여 상기 현재 좌표를 설정하는 제 35 단계; 및상기 제 34 단계에서 상기 로봇이 이동한 이동거리가 상기 소정의 최소 기준거리 보다 크거나 같은 조건을 만족하지 못하는 것으로 판단되면, 상기 음향방향진행모드를 계속하여 수행하고 우회동작을 종료하는 제 36 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 40 항에 있어서,상기 제 32 단계는,상기 현재 좌표의 좌표값이 상기 최소 좌표값의 1/2에 해당하는 값 보다 큰 지를 판단하는 제 34 단계;상기 제 34 단계에서 상기 현재 좌표의 좌표값이 상기 최소 좌표값의 1/2에 해당하는 값 보다 큰 것으로 판단되면, 장애물을 벗어난 것으로 간주하여 상기 음향방향 진행모드를 설정하는 제 35 단계; 및상기 제 34 단계에서 상기 현재 좌표의 좌표값이 상기 최소 좌표값의 1/2에 해당하는 값 보다 크지 않은 것으로 판단되면, 상기 우회동작모드를 계속 진행하는 제 36 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 43 항에 있어서,상기 제 33 단계는,상기 현재 좌표의 좌표값이 상기 최대 좌표값의 1/2에 해당하는 값 보다 작은지를 판단하는 제 39 단계;상기 제 39 단계에서 상기 현재 좌표의 좌표값이 상기 최대 좌표값의 1/2에해당하는 값 보다 작은 것으로 판단되면, 장애물을 벗어난 것으로 간주하여 상기 음향방향 진행모드를 설정하는 제 40 단계; 및상기 제 39 단계에서 상기 현재 좌표의 좌표값이 상기 최대 좌표값의 1/2에 해당하는 값 '보다 작지 않은 것으로 판단되면, 상기 우회동작모드를 계속 진행하는 제 41 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 18 항에 있어서,상기 제 2 단계는,외부로부터 발생된 음향 검출을 수행한 후, 발생된 음향이 검출되었는지를 확인하는 제 5 단계;상기 제 5 단계에서 발생된 음향이 확인되면, 상기 음향을 발생한 음원으로 진행하는 제 6 단계;상기 제 5 단계에서 발생된 음향이 확인되지 않으면, 주변의 인체를 감지하여 감지된 인체가 있는지를 판단하는 제 7 단계;상기 제 7 단계에서 감지된 인체가 있는 것으로 판단되면, 감지된 인체의 방향 수를 확인하여 감지된 인체 쪽으로 진행하는 제 8 단계;상기 제 7 단계에서 감지된 인체가 없는 것으로 판단되면, 인체를 감지하기 위하여 수행한 스캔 횟수를 체크하여 체크한 감지 스캔 횟수가 소정의 기준스캔 횟수보다 큰지 여부에 따라 360˚전체 범위 내에서 인체가 감지되는지를 확인하는 제9 단계;상기 제 9 단계에서 감지된 인체가 확인되면, 상기 제 8 단계로 넘어가는 제 10 단계; 및상기 제 9 단계에서 감지된 인체가 확인되지 않으면, 인체 감지후부터 소정의 시간이 경과하면 벽면이나 구석으로 이동한 후 대기 상태를 유지하는 제 11 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 45 항에 있어서,상기 제 8 단계는,상기 감지된 인체 방향 수가 두 방향 이상인지를 확인하는 제 12 단계;상기 제 12 단계에서 상기 감지된 인체 방향 수가 두 방향 이상으로 확인되면, 바로 이전에 진행 및 추적되었던 방향으로부터 가장 근접한 방향에서 감지된 인체 쪽으로 진행하는 제 13 단계; 및상기 제 12 단계에서 한 방향에서만 인체가 감지된 것으로 확인되면, 감지된 인체 방향으로 진행하는 제 14 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 45 항에 있어서,상기 제 9 단계는,인체를 감지하기 위하여 수행한 스캔 횟수를 체크하여 체크한 감지 스캔 횟수가 상기 기준스캔 횟수 보다 큰지를 판단하는 제 12 단계;상기 제 12 단계에서 상기 체크한 감지 스캔 횟수가 상기 기준스캔 횟수 보다 큰 것으로 판단되면, 360˚범위내에서 인체가 감지되는지를 확인하는 제 13 단계;상기 제 13 단계에서 감지된 인체가 확인되면, 상기 제 8 단계를 실행하는 제 14 단계;상기 제 13 단계에서 감지된 인체가 확인되지 않으면, 상기 제 11 단계를 실행하는 제 15 단계; 및상기 제 12 단계에서 상기 체크한 감지 스캔 횟수가 상기 기준스캔 횟수 보다 크지 않은 것으로 판단되면, 상기 제 7 단계로 넘어가는 제 16 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 47 항에 있어서,상기 제 11 단계는,인체 감지후부터 상기 소정의 시간이 경과되었는지를 판단하는 제 17 단계;상기 제 17 단계에서 상기 소정의 시간이 경과된 것으로 판단되면, 벽면이나 구석으로 이동한 후 대기 상태를 유지하는 제 18 단계; 및상기 제 17 단계에서 상기 소정의 시간이 경과되지 않은 것으로 판단되면, 상기 제 5 단계로 넘어가는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 19 항에 있어서,상기 제 7 단계는,경비 모드 수행을 지시하는 동작 명령의 전달 시로부터 소정의 시간이 경과하면 경비 동작 체제를 수행하는 제 9 단계;상기 경비 동작 체제가 되면, 상기 로봇의 현재 위치로부터 전방에 위치한 물체까지의 제1 전방향 거리, 상기 로봇의 현재 위치로부터 좌측에 위치한 물체까지의 제1 좌측면 거리 및 상기 로봇의 현재 위치로부터 우측에 위치한 물체까지의 제1 우측면 거리를 검출하는 제 10 단계;상기 제 10 단계에서 검출한 제1 전방향 거리, 제1 좌측면 거리 및 제1 우측면 거리를 저장하는 제 11 단계;새로운 제2 전방향 거리, 제2 좌측면 거리 및 제2 우측면 거리를 검출하는 제 12 단계;상기 제 11 단계에서 저장한 제1 전방향 거리, 제1 좌측면 거리 및 제1 우측면 거리와 상기 제 12 단계에서 검출한 제2 전방향 거리, 제2 좌측면 거리 및 제2 우측면 거리를 대응되게 비교하여, 상기 로봇의 위치가 이동되었는지 여부에 따라 일차적인 경보 체제를 수행하는 제 13 단계; 및상기 경보 체제 상태에서, 신원을 확인하기 위하여 입력되는 음성 데이터를 분석한 후, 분석한 음성 데이터가 이미 등록된 음성인지 여부에 따라 경보기를 작동하는 제 14 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 49 항에 있어서,상기 제 13 단계는,상기 로봇의 위치가 이동되었는지를 판단하는 제 15 단계;상기 제 15 단계에서 상기 로봇이 이동된 것으로 판단되면, 상기 일차적인 경보 체제를 수행하는 제 16 단계;상기 제 15 단계에서 상기 로봇이 이동되지 않은 것으로 판단되면, 인체가 감지되었는지를 확인하는 제 17 단계;상기 제 17 단계에서 인체가 감지되지 않은 것으로 확인되면, 상기 제 12 단계로 넘어가는 제 18 단계; 및상기 제 17 단계에서 인체가 감지된 것으로 확인되면, 상기 제 16 단계로 넘어가는 제 19 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 50 항에 있어서,상기 제 14 단계는,상기 경보 체제 상태에서, 신원을 확인하기 위하여 입력된 음성 데이터를 분석하는 제 20 단계;상기 제 20 단계에서 분석한 음성 데이터가 이미 등록된 음성인지를 확인하는 제 21 단계;상기 제 21 단계에서 상기 분석한 음성 데이터가 이미 등록된 음성이 아닌 것으로 확인되면, 상기 경보기를 작동하는 제 22 단계; 및상기 제 21 단계에서 상기 분석한 음성 데이터가 이미 등록된 음성인 것으로 확인되면, 상기 제 10 단계로 넘어가는 제 23 단계를 포함하여 이루어진 로봇장치의 동작방법.
- 제 18 항에 있어서,평면구조 분석 과정을 통해 구해진 선분간의 이루어지는 각도의 합을 이용하여, 특정 물체를 계속 회전하는 것은 평면구조 공간의 진행과 달리 진행 방향간의 이루어지는 각도가 음(-)으로 이루어지기 때문에, 선분간 이루는 각도의 합이 실질적으로 360˚이하가 되면, 특정물체 주의를 계속회전하는 것으로 판단하고, 이러한 경우 루핑을 빠져나가기 위해서는 미리 정해진 방향순으로부터 해당 방향으로 주행할 때 그 방향에서 90˚회전 후에 전면 거리가 소정의 기준 근거리가 될 때까지 주행하게 하면서 전체 시스템을 초기화 시킨 후 다시 시작하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 18 항에 있어서,인체감지 센서가 장착된 부분을 회전하면서 감지하거나, 장착된 몸체를 회전하면서 감지하면 정지된 인체에 대해서도 방향을 감지할 수 있기 때문에 사람과 물체를 구별하여 추적하거나 다가갈 수 있는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 18 항에 있어서,상기 로봇의 현상태에서 전방향 거리, 좌측면 거리, 및 우측면 거리가 근거리일때, 좌측면 거리와 우측면 거리의 합이 로봇이 회전할 때 필요한 최소의 여유공간 거리 이상이면 90˚좌회전 동작을 설정하고,상기 로봇의 현재 전방향 거리, 좌측면 거리, 및 우측면 거리가 근거리일때, 좌측면 거리와 우측면 거리의 합이 상기 로봇이 회전할 때 필요한 최소의 여유공간 거리 이상이 아니면, 후진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 54 항에 있어서,상기 로봇의 현재 전방향 거리 및 좌측면 거리가 근거리이고, 우측면 거리가 원거리일 때, 90˚우회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 55 항에 있어서,상기 로봇의 현재 전방향 거리상태가 근거리이고, 좌측면 거리가 원거리이고, 그리고 우측면 거리상태가 근거리일 때, 90˚좌회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 56 항에 있어서,상기 로봇의 현상태에서 전방향 거리가 근거리이고, 좌측면 거리가 원거리이고, 우측면거리가 원거리일 때, 이전 동작이 90˚좌회전 동작을 수행한 경우에는 90˚좌회전 후 전진동작을 설정하고,상기 로봇의 이전동작의 전방향 거리, 좌측면 거리, 및 우측면 거리상태가 원거리이고, 이전동작이 90˚우회전 후 전진동작인 경우에는, 90˚좌회전 후 전진동작을 설정하며,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 90˚우회전 후 전진동작이 아닌 경우에는, 90˚우회전 후 전진동작을 실행하도록 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 57 항에 있어서,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진 동작이거나 90˚좌회전 동작이고 현재 좌측면 거리와 현재 우측면 거리의 합이 상기 로봇이 회전할 때 필요한 최소의 여유공간 거리 이상이면, 90˚좌회전 동작을 설정하고,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 근거리일 때, 이전동작이 90˚좌회전 동작이 아니고 후진동작이면, 후진동작을 설정하며,상기 로봇의 현상태에서 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진동작이 아니면, 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 58 항에 있어서,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리일 때, 이전동작이 후진동작이면 90˚좌회전 동작을 설정하고,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리일 때, 이전동작이 후진동작이 아니면, 90˚우회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 59 항에 있어서,상기 로봇의 현재 전방향 거리 및 좌측면 거리가 원거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진동작이면, 90˚좌회전 동작을 설정하고,상기 로봇의 현재 우측면 거리가 로봇이 회전할 수 없는 거리이고, 로봇의 이전 전방향 거리 및 좌측면 거리가 원거리이고, 우측면 거리가 근거리이고, 이전동작이 전진동작이면 기설정된 최소단위 각도 또는 로봇의 현재 우측거리와 이전 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트한 값에 해당하는 각도 만큼 좌회전 후 전진동작을 설정하고,상기 로봇의 현재 우측면 거리상태가 로봇이 회전에 필요한 벽면과의 적정거리를 벗어난 거리이고, 이전 전방향 거리상태가 상기 적정거리보다 더 원거리이고, 좌측면 거리가 원거리이고, 우측면 거리가 근거리이고, 이전동작이 전진동작이면, 상기 기설정된 최소단위 각도 또는 로봇의 현재 우측거리와 이전 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트한 값에 해당하는 각도 만큼 우회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 60 항에 있어서,상기 로봇의 현재 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리일 때, 이전 동작들이 네번 연속하여 90˚좌회전 동작을 수행한 경우에는, 전진동작을 설정하고,상기 로봇의 현재 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리일 때, 이전 동작들이 네번 연속하여 90˚우회전 후 전진동작을 수행한 경우에는, 전진동작을 설정하며,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 전진 동작이면, 전진동작을 설정하고,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 전진동작이 아니고 후진이거나 90˚좌회전이면, 90˚좌회전 동작을 설정하며,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 전진, 후진 또는 90˚좌회전이 아니면, 90˚우회전 후 전진 동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 18 항에 있어서,상기 로봇의 현상태에서 전방향 거리, 좌측면 거리, 및 우측면 거리가 근거리일 때, 좌측면 거리와 우측면 거리의 합이 상기 로봇이 회전할 때 필요한 최소의 여유 거리 이상이면 90˚우회전 동작을 설정하고,상기 로봇의 현재 전방향 거리, 좌측면 거리, 및 우측면 거리가 근거리일 때, 좌측면 거리와 우측면 거리의 합이 상기 로봇이 회전할 때 필요한 최소 여유 거리 이상이 아니면, 후진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 62 항에 있어서,상기 로봇의 현재 전방향 거리 및 좌측면 거리가 근거리이고, 우측면 거리가 원거리일 때, 90˚우회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 63 항에 있어서,상기 로봇의 현재 전방향 거리, 좌측면 거리, 및 우측면 거리가 근거리일때, 90˚좌회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 64 항에 있어서,상기 로봇의 현재 전방향 거리가 근거리이고, 좌측면 거리가 원거리이고, 우측면 거리가 원거리일 때, 이전 동작이 90˚우회전 동작을 수행한 경우에는 90˚우회전 후 전진동작을 설정하고,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 90˚좌회전 후 전진 동작인 경우에는, 90˚우회전 후 전진동작을 설정하며,상기 로봇의 현재 전방향 거리가 근거리이고, 좌측면 거리가 원거리이고, 우측면 거리가 원거리일 때, 이전동작이 90˚우회전 동작을 수행하지 않는 경우나, 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 90˚좌회전 후 전진 동작이 아닌 경우에는, 90˚좌회전 후 전진동작을 실행하도록 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 65 항에 있어서,상기 로봇의 현재 전방향 거리가 원거리이며, 좌측면 거리가 근거리이며, 우측면 거리가 근거리일 때, 이전동작이 후진동작이거나 90˚우회전 동작이고 현재 좌측면 거리와 현재 우측면거리의 합이 상기 로봇이 회전에 필요한 최소의 여유 거리 이상이면, 90˚우회전 동작을 설정하고,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진동작이면, 후진동작을 설정하며,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진동작이 아니면, 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 66 항에 있어서,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리일 때, 이전동작이 후진동작이면, 90˚우회전 동작을 설정하고,상기 로봇의 현재 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리일 때, 현재 좌측면 거리가 상기 로봇이 회전할 수 없는 거리이고, 이전 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리이고, 이전동작이 전진이면, 기설정된 최소단위 각도 또는 현재 우측거리와 이전 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트한 값에 해당하는 각도 만큼 우회전 후 전진동작을 설정하며,현재 우측면 거리상태가 상기 로봇이 회전에 필요한 벽면과의 적정거리를 벗어난 거리이고, 이전 전방향 거리가 원거리이고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리이고, 이전동작이 전진이면, 상기 기설정된 최소단위 각도 또는 현재 우측거리와 이전 우측거리의 차를 이전에서 현재까지의 이동거리로 나눈값의 역탄젠트한 값에 해당하는 각도 만큼 좌회전 후 전진동작을 설정하고,상기 로봇의 현재 우측면 거리상태가 상기 로봇이 회전에 필요한 벽면과의 적정거리를 벗어나 거리이고, 이전 전방향 거리가 원거링고, 좌측면 거리가 근거리이고, 우측면 거리가 원거리이고, 이전동작이 전진동작이 아니면, 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 67 항에 있어서,상기 로봇의 현재 전방향 거리 및 좌측면 거리가 원거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진이면, 90˚우회전 동작을 설정하고,상기 로봇의 현재 전방향 거리 및 좌측면 거리가 원거리이고, 우측면 거리가 근거리일 때, 이전동작이 후진이 아니면, 90˚좌회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
- 제 68 항에 있어서,상기 로봇의 현재 전방향 거리가 근거리이고, 좌측면 거리 및 우측면 거리가 원거리 일 때, 이전 동작이 네번 연속하여 90˚우회전 동작인 경우에는, 전진동작을 설정하고,상기 로봇의 현재 전방향 거리, 좌측면 거리 및 우측면 거리가 원거리일 때, 이전 동작들이 네번 연속하여 90˚좌회전 후 전진 동작인 경우에는, 전진동작을 설정하며,상기 로봇의 이전 전방향 거리, 좌측면 거리 및 우측면 거리가 원거리이고,이전동작이 전진동작이면, 전진동작을 설정하고,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 후진이거나 90˚우회전이면, 90˚우회전 동작을 설정하며,상기 로봇의 이전 전방향 거리, 좌측면 거리, 및 우측면 거리가 원거리이고, 이전동작이 후진이거나 우회전이 아니면, 90˚좌회전 후 전진동작을 설정하는 것을 특징으로 하는 로봇장치의 동작방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020007014529A KR20010083059A (ko) | 1999-04-20 | 2000-04-20 | 음원의 방향을 검출하여 음원의 위치로 이동하기 위한로봇 및 그 동작방법 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990014029 | 1999-04-20 | ||
KR1019990014029A KR20000066728A (ko) | 1999-04-20 | 1999-04-20 | 음향방향과 동작방향 검출 및 지능형 자동 충전 기능을 갖는 로봇 및 그 동작 방법 |
KR1020007014529A KR20010083059A (ko) | 1999-04-20 | 2000-04-20 | 음원의 방향을 검출하여 음원의 위치로 이동하기 위한로봇 및 그 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010083059A true KR20010083059A (ko) | 2001-08-31 |
Family
ID=26634975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007014529A KR20010083059A (ko) | 1999-04-20 | 2000-04-20 | 음원의 방향을 검출하여 음원의 위치로 이동하기 위한로봇 및 그 동작방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010083059A (ko) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100758707B1 (ko) * | 2005-12-08 | 2007-09-14 | 한국전자통신연구원 | 로봇 환경에서 음원 추적 시스템 및 방법 |
KR100763901B1 (ko) * | 2005-01-26 | 2007-10-05 | 삼성전자주식회사 | 이동체 제어 장치 및 방법 |
KR100877914B1 (ko) * | 2007-01-25 | 2009-01-12 | 한국과학기술연구원 | 음원위치-지연시간차 상관관계 역 추정에 의한 음원 방향검지 시스템 및 방법 |
KR100916497B1 (ko) * | 2007-03-30 | 2009-09-08 | 중앙대학교 산학협력단 | 음원추적 방법 및 이를 이용한 홈네트워크 시스템 |
WO2011145839A3 (ko) * | 2010-05-15 | 2012-03-08 | 주식회사 일심글로발 | 유리창 청소 장치 및 그의 이동 제어 방법 |
WO2011145840A3 (ko) * | 2010-05-15 | 2012-03-08 | 주식회사 일심글로발 | 유리창 청소 장치 및 그의 이동 제어 방법 |
KR101498040B1 (ko) * | 2013-08-23 | 2015-03-12 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
US9974422B2 (en) | 2013-08-23 | 2018-05-22 | Lg Electronics Inc. | Robot cleaner and method for controlling a robot cleaner |
KR20180108618A (ko) * | 2016-01-28 | 2018-10-04 | 퀄컴 인코포레이티드 | 드론 비행 제어 |
-
2000
- 2000-04-20 KR KR1020007014529A patent/KR20010083059A/ko not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100763901B1 (ko) * | 2005-01-26 | 2007-10-05 | 삼성전자주식회사 | 이동체 제어 장치 및 방법 |
US7561942B2 (en) | 2005-01-26 | 2009-07-14 | Samsung Electronics Co., Ltd. | Apparatus and method of controlling mobile body |
KR100758707B1 (ko) * | 2005-12-08 | 2007-09-14 | 한국전자통신연구원 | 로봇 환경에서 음원 추적 시스템 및 방법 |
KR100877914B1 (ko) * | 2007-01-25 | 2009-01-12 | 한국과학기술연구원 | 음원위치-지연시간차 상관관계 역 추정에 의한 음원 방향검지 시스템 및 방법 |
KR100916497B1 (ko) * | 2007-03-30 | 2009-09-08 | 중앙대학교 산학협력단 | 음원추적 방법 및 이를 이용한 홈네트워크 시스템 |
WO2011145839A3 (ko) * | 2010-05-15 | 2012-03-08 | 주식회사 일심글로발 | 유리창 청소 장치 및 그의 이동 제어 방법 |
WO2011145840A3 (ko) * | 2010-05-15 | 2012-03-08 | 주식회사 일심글로발 | 유리창 청소 장치 및 그의 이동 제어 방법 |
US9351616B2 (en) | 2010-05-15 | 2016-05-31 | Intellectual Discovery Co., Ltd. | Apparatus for cleaning a glass window and method for controlling the movement thereof |
KR101498040B1 (ko) * | 2013-08-23 | 2015-03-12 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
US9974422B2 (en) | 2013-08-23 | 2018-05-22 | Lg Electronics Inc. | Robot cleaner and method for controlling a robot cleaner |
KR20180108618A (ko) * | 2016-01-28 | 2018-10-04 | 퀄컴 인코포레이티드 | 드론 비행 제어 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20000066728A (ko) | 음향방향과 동작방향 검출 및 지능형 자동 충전 기능을 갖는 로봇 및 그 동작 방법 | |
US9058039B2 (en) | Method and apparatus for reckoning position of moving robot | |
KR100561855B1 (ko) | 로봇용 로컬라이제이션 시스템 | |
CN112214015B (zh) | 自移动机器人及其回充的方法、系统及计算机存储介质 | |
EA036345B1 (ru) | Робот и способ управления роботом | |
KR20010083059A (ko) | 음원의 방향을 검출하여 음원의 위치로 이동하기 위한로봇 및 그 동작방법 | |
JP7231761B2 (ja) | ベースへ戻すためのロボットの制御方法 | |
SE514791C2 (sv) | Förbättrat förfarande för lokalisering av fyrar vid självgående anordning | |
JPH07306042A (ja) | セルラ構造の周辺地図の作成方法および装置 | |
EP3611589B1 (en) | Method for controlling motion of robot based on map prediction | |
US7546179B2 (en) | Method and apparatus for allowing mobile robot to return to docking station | |
CN112783146A (zh) | 自移动设备引导方法、装置和自移动设备 | |
JP2688960B2 (ja) | 自走車の操向位置検出装置 | |
KR100738887B1 (ko) | 이동로봇의 주행 방법과 그를 이용한 이동로봇 | |
CN112190184B (zh) | 机器人自动返回方法、装置以及电子设备 | |
Sibai et al. | Evaluation of indoor mobile robot localization techniques | |
CN112190186B (zh) | 一种扫地机器人的路线规划方法、系统及扫地机器人 | |
Okuda et al. | Obstacle arrangement detection using multichannel ultrasonic sonar for indoor mobile robots | |
Mazulina et al. | Developing a movement algorithm for a wheeled robot moving over a rough terrain | |
RU2561308C1 (ru) | Устройство для определения направления и дальности до источника сигнала | |
Wild et al. | Comparative performance of simultaneous localization and mapping algorithms for unmanned aircraft based navigation systems | |
JP2019109770A (ja) | 移動体 | |
JP2533785B2 (ja) | 移動体の位置検出装置 | |
SU704774A1 (ru) | Устройство дл управлени адаптивным роботом | |
JP2802506B2 (ja) | 自走車の位置検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |