상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 영역의 특성에 따라 제어되는 로봇은 로봇의 이동 경로를 따라 소정 영역의 복수의 특성에 대한 정보를 수집하는 센서부 및 소정의 기준 정보에 영역의 특성 정보를 매칭시키거나 영역의 특성 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류하는 분석부 를 포함한다.
본 발명의 실시예에 따른 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를 수집하고 분류하는 방법은 로봇의 이동 경로를 따라 소정 영역의 복수의 특성에 대한 정보를 수집하는 단계 및 소정의 기준 정보에 영역의 특성 정보를 매칭시키거나 영역의 특성 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류하는 단계를 포함한다.
본 발명의 실시예에 따른 영역 특성을 이용한 UI 구성 장치는 로봇의 이동 경로를 따라 수집된 소정 영역의 특성에 대한 정보를 이용하여 복수개의 메뉴를 구성하는 메뉴 구성부 및 메뉴에 대응되는 제어 신호를 송출하는 송출부를 포함한다.
본 발명의 실시예에 따른 영역 특성을 이용한 UI 구성 방법은 로봇의 이동 경로를 따라 수집된 소정 영역의 특성에 대한 정보를 이용하여 복수개의 메뉴를 구성하는 단계 및 메뉴에 대응되는 제어 신호를 송출하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특성, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 영역 특성에 따라 제어되는 로봇의 블록도이다.
영역 특성에 따라 제어되는 로봇(200)은 센서부(210), 저장부(220), 분석부(230), 송수신부(240), 탐색부(250), 이동경로설계부(260), 제어부(270), 구동부(280), 및 오물 제거부(290)를 포함한다.
센서부(210)는 로봇(200)의 이동 경로를 따라 소정 영역의 특성에 대한 정보를 수집한다. 센서부(210)는 초기에 로봇(200)이 전체 집 내부 구조의 맵(map)(이하 기초 맵(map)이라고도 함)을 작성하면서 이동할 때, 위치 정보 및 장애물에 대한 기준 정보들을 수집할 수 있다. 또한 상기 기초 맵(map)이 작성된 이후, 센서부(210)는 소정 영역에 대한 특성 정보를 로봇(200)의 이동 경로를 따라 수집할 수 있으며, 상기 수집된 소정 영역의 특성 정보들은 초기 기초 맵(map) 작성 시 수집된 기준 정보에 추가될 수 있다. 예를 들어 사용자가 로봇(200)에 부착된 버튼을 이용하여 로봇(200)을 소정 영역으로 이동시킨 경우, 센서부(210)는 상기 영역의 위치 정보, 먼지 오염도 및 바닥 재질에 관한 정보들을 수집할 수 있고, 상기 수집된 정보들은 초기 기초 맵(map)의 정보에 추가될 수 있다. 이때, 소정 영역의 특성 정보들은 초기 기초 맵(map) 작성시에 함께 수집되어 저장될 수도 있다. 상기 추가되는 형태는 초기 맵(map) 작성시 저장된 기준 정보 중 위치 정보와 이후 수집된 소정 영역의 위치 정보를 매칭시켜, 매칭되는 저장 영역의 위치에 상기 영역의 특성 정보들을 추가시키는 방법이 사용될 수 있다.
상기 센서부(210)는 로봇(200)이 위치한 소정 영역에서 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보를 제공하는 제1 센서(211) 및 로봇(200)이 위치한 영역의 바닥 재질에 대한 정보를 제공하는 제2 센서(212)를 포함한다. 또한, 센서부(210)는 로봇(200)이 위치한 영역의 먼지 오염도에 대한 정보를 제공하는 제3 센서(213)를 포함한다. 또한, 센서부(210)는 로봇(200)이 위치한 영역의 위치 정보를 제공하는 제4 센서(214) 및 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보를 제공하는 제5 센서(215)를 포함한다. 상기 센서들을 통해 제공되는 정보들은 소정의 저장 영역에 저장되며, 이후 저장된 정보들은 사용자의 선택에 따라 초기화되거나 로봇(200)이 소정 영역을 이동할 때마다 업데이트 될 수 있다.
상기 제1 센서(211), 제2 센서(212), 제3 센서(213), 및 제5 센서(215)에는 초음파 센서, 적외선 센서, 레이저 센서, 광학 센서, 이미지 센서, 접촉 센서 등이 이용될 수 있다. 또한, 제4 센서(214)에는 회전 각도에 대한 정보를 제공하는 자이로스코프(또는 컴퍼스), 및 로봇의 바퀴의 동작을 감지하여 이동 속도 및 상기 바퀴의 회전 각도에 대한 정보를 제공하는 엔코더 등의 위치 센서가 이용될 수 있으며, 제5 센서(215)에는 예를 들어 범퍼가 장착되어 이용될 수 있다. 상기 센서들 외에 기술적 구현에 따라 다양한 센서들이 이용될 수 있음은 물론이다. 상기 영역의 특성에 대한 정보를 수집하는 과정은 이하 도 3 내지 도 5를 참조하기 바란다.
저장부(220)는 센서부(210)에서 수집한 소정 영역의 특성에 대한 정보를 저장하는 제1 저장부(222), 및 이하에서 설명될 분석부(230)가 제1 저장부(222)의 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류한 그룹 정보를 저장하는 제2 저장부(224)를 포함한다. 상기 제1 저장부(222)와 제2 저장부(224)는 하나의 저장 장치내에 저장 영역을 분할하여 구성하거나, 각각 일종의 하드웨어 모듈로 분리하여 구성할 수 있으며, 이외에도 기술적 구현에 따라 다양하게 저장 영역을 구성할 수 있음은 물론이다.
제1 저장부(222)는 센서부(210)에서 수집한 소정 영역의 특성에 대한 정보를 저장한다. 제1 저장부(222)에는 초기 기초 맵(map) 작성 시 수집된 기준 정보들(예를 들어 로봇(200)의 이동 경로 상의 장애물, 및 위치 정보)을 포함할 수 있다. 또한, 로봇(200)이 위치한 영역의 바닥 재질, 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리, 로봇(200)이 위치한 영역의 먼지 오염도에 관한 정보, 로봇(200)이 위치한 영역의 위치 정보, 및 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보를 포함할 수 있으며, 이외에도 청소 빈도수에 대한 정보 등 다양한 정보들을 포함할 수 있다. 상기 청소 빈도수는 청소를 자주하는 영역에 대해 청소 횟수를 카운트하여 저장된 정보일 수 있다.
제2 저장부(224)는 이하에서 설명될 분석부(230)가 제1 저장부(222)의 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류한 그룹 정보를 저장한다. 상기 제2 저장부(224)는 다수의 그룹으로 분류된 그룹을 식별할 수 있는 식별 정보(예를 들어 G1, G2 등)를 포함할 수 있으며, 그룹 정보내에는 센서부(210) 에서 수집한 각 영역의 특성에 대한 정보가 포함되어 있다.
분석부(230)는 제1 저장부(222)의 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류한다. 또한 분석부(230)는 초기 기초 맵(map) 작성 시 수집된 기준 정보와 영역의 특성 정보를 매칭시켜 제1 저장부(222)에 저장된 기준 정보에 영역의 특성 정보를 추가시킬 수 있다. 예를 들어 초기 기초 맵(map) 작성 시 수집된 기준 정보 중 위치 정보와 특성 정보가 수집된 영역의 위치 정보를 매칭시켜 제1 저장부(222)에 영역의 특성 정보를 추가시킬 수 있다.
상기 분석부(230)는 로봇(200)이 위치한 영역의 바닥 재질에 대한 정보를 분석하여, 카펫, 모노륨, 타일(tile), 목재, 매트(mat) 등의 바닥 재질에 따라 각 영역을 다수의 그룹으로 분류할 수 있다. 또한, 분석부(230)는 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보를 이용하여 0cm ~ 30cm 미만, 30cm 이상 ~ 50cm 미만, 50cm 이상 ~ 90cm 미만 등으로 높이에 따라 각 영역을 다수의 그룹으로 분류할 수 있다. 또한, 분석부(230)는 로봇(200)이 위치한 영역의 먼지 오염도에 대한 정보를 이용하여 각 영역을 다수의 그룹으로 분류할 수 있다.
또한, 분석부(230)는 제1 저장부(222)에 저장된 정보 즉, 상기 로봇(200)이 위치한 영역의 바닥 재질, 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리 및 로봇(200)이 위치한 영역의 먼지 오염도에 관한 정보, 청소 빈도수에 대한 정보 등을 취합하여 다수의 그룹으로 분류할 수도 있다. 즉, 분석부(230)는 예를 들어 청소 빈도수와 바닥 재질에 각각 제1 우선 순위, 제2 우선 순위로 분류 기준을 부여하고, 우선 순위에 따라 제1 저장부(222)에 저장된 영역의 특성에 대한 정 보들을 정렬하고, 소정 기준에 따라 다수의 그룹으로 분류한 후 제2 저장부(224)에 저장할 수 있다.
예를 들어, 청소 빈도수가 일주일 동안 10회 이상인 영역의 경우 C1, 6회 ~ 9회의 범위에 속하는 영역의 경우 C2, 1회 ~ 5회의 범위에 속하는 영역의 경우 C3의 값이 부여될 수 있다. 그리고, 청소 빈도수가 가장 많고 바닥 재질이 카펫인 영역으로 그룹을 분류하고자 할 경우, 분석부(230)는 청소 빈도수가 C1의 값을 가지면서 바닥 재질이 카펫인 영역의 정보를 제1 저장부(222)에서 검색하여 정렬하고, 청소 빈도수와 바닥 재질을 기준으로 다수의 그룹으로 분류하게 된다. 이때, 청소하는 빈도가 다른 영역 보다 낮은 대신 청소 강도를 강하게 하거나, 청소하는 빈도가 다른 영역 보다 높은 대신 청소 강도를 상대적으로 약하게 하도록 청소의 강도를 조절할 수 있다.
송수신부(240)는 로봇(200)을 이동시킬 영역에 대한 제어 명령을 송수신한다. 상기 송수신부(240)는 사용자가 이하 도 2a에서 후술될 UI 구성 장치(203)를 통해 로봇(200)이 이동할 영역을 선택한 경우, 상기 UI 구성 장치(203)의 송출부(209)에서 송출된 제어 명령을 수신하여 탐색부(250)로 송신할 수 있다.
탐색부(250)는 송수신부(240)를 통해 수신한 제어 명령을 판독하여 제어 명령에 대응되는 정보를 그룹 정보에서 검색하여 추출한다. 상기 탐색부(250)는 사용자가 소정의 제어 명령을 송출하였을 경우 송수신부(240)를 통해 수신한 제어 명령을 판독하고, 제2 저장부(224)에 저장된 그룹 정보를 검색해 가며 제어 명령에 대응되는 정보를 추출할 수 있다. 예를 들어, 사용자가 청소 빈도수가 높은 영역을 청소하기 위해서 로봇(200)에 부착된 소정의 버튼을 클릭하여 청소 빈도수가 높은 영역으로 이동하도록 제어 명령을 송출한 경우, 탐색부(250)는 상기 제어 명령에 따라 청소 빈도수가 높은 영역들로 묶인 그룹 정보를 제2 저장부(224)에서 검색하여 추출할 수 있다. 또한, 마찬가지로 사용자가 바닥 재질이 카펫인 영역을 청소하기 위해서 로봇(200)의 터치 스크린을 클릭하여 카펫을 선택한 경우, 탐색부(250)는 소정 영역의 바닥 재질이 카펫인 영역들로 묶인 그룹 정보를 제2 저장부(224)에서 검색하여 추출할 수 있다.
또한, 사용자가 리모컨을 통해 소정 영역을 지정하여 소정 영역의 방향으로 제어 명령을 송출하였을 경우, 탐색부(250)는 상기 제어 명령을 판독하고 상기 제어 명령에 대응되는 정보를 그룹 정보에서 검색하여 추출할 수 있다.
이동경로설계부(260)는 탐색부(250)에서 검색한 그룹 정보를 이용하여 로봇(200)의 이동 경로를 설계한다. 예를 들어, 바닥 재질에 따라서 카펫, 모노륨, 타일로 그룹이 분류되어 제2 저장부(224)에 저장된 경우, 사용자가 카펫을 지정하면 바닥 재질이 카펫인 영역의 그룹 정보를 탐색부(250)가 검색하여 추출하면, 상기 이동경로설계부(260)는 상기 추출된 그룹 정보를 이용하여 로봇(200)이 이동할 이동 경로를 설계하게 된다. 이때, 바람직하게는 로봇(200)이 위치한 영역에서 가장 가까운 영역을 우선으로 하여, 바닥 재질이 카펫인 그룹 정보에 따라 이동 경로 설계를 수행하게 된다.
제어부(270)는 이동경로설계부(260)에서 설계한 로봇(200)의 이동 경로에 따라 로봇(200)의 이동 방향을 제어한다. 상기 제어부(270)는 사용자가 리모 컨(remote controller), 로봇(200)에 부착된 버튼 또는 선택 화면(예로써, 터치 스크린(touch screen), LCD 화면 등)을 통해 로봇(200)이 이동할 영역을 선택한 경우, 상기 선택에 따라 탐색부(250)가 검색한 그룹 정보를 이용하여 이동경로설계부(260)가 설계한 로봇(200)의 이동 경로에 따라 로봇(200)의 이동 방향을 제어하며, 구동부(280)를 통해 로봇(200)을 이동시킨다. 따라서, 청소 로봇의 경우 제한된 전원 장치, 및 사용자의 주변 상황에 따라 주어질 수 있는 제한된 청소 시간 등의 다양한 환경에서, 초기 기초 맵(map)의 기준 정보에 수집된 영역 특성에 대한 정보들을 추가하고, 상기 영역 특성에 대한 정보를 활용하여 로봇의 이동 경로를 결정하고 제어함으로써, 효율적인 청소를 할 수 있다.
구동부(280)는 제어부(270)의 제어에 따라 로봇(200)을 이동시킨다. 상기 구동부(280)는 바람직하게는 바퀴와 같은 구동 가능한 휠(wheel) 형태의 구동 수단일 수 있다.
오물 제거부(290)는 로봇(200)의 이동 경로상의 오물을 제거한다. 상기 오물 제거부(290)는 청소 로봇(200)의 경우 로봇(200)의 이동 경로상의 오물을 제거하는 데 이용될 수 있다. 상기 오물 제거부(290)는 외부 공기를 흡입하는 과정에서 외부의 먼지 또는 오염 물질 등을 함께 흡입한다. 또한, 상기 오물 제거부(290)는 스팀의 분출로 오염 물질이 바닥에서 분리된 경우 해당 오염 물질을 수거하는 기능을 가질 수도 있다.
도 2a는 본 발명의 일 실시예에 따른 영역 특성을 이용한 UI 구성 장치의 블록도이다.
영역 특성을 이용한 UI 구성 장치(203)는 메뉴 구성부(205), 출력부(207), 및 송출부(209)를 포함한다.
메뉴 구성부(205)는 소정 영역의 특성에 대한 정보를 이용하여 복수개의 메뉴를 구성한다. 예를 들어 메뉴 구성부(205)는 상기 분석부(230)에서 분류한 그룹 정보를 이용하여 바닥 재질, 먼지 오염도, 청소 빈도수, 및 집안 가구(로봇의 상부에 위치한 장애물)에 따라 메뉴를 구성할 수 있다. 즉, 메뉴 구성부(205)는 분석부(230)가 분류한 그룹 정보를 저장하고 있는 상기 제2 저장부에 저장된 정보를 이용하여, 바닥 재질에 따라 카펫, 모노륨으로 메뉴를 구성하고, 먼지 오염도에 따라 상(上)/중(中)/하(下)로 메뉴를 구성하고, 청소 빈도수에 따라 상/중/하로 메뉴를 구성하고, 집안 가구에 따라 테이블, 침대 등으로 메뉴를 구성할 수 있다. 상기 메뉴 구성은 기술적 구현에 따라 다양하게 구성될 수 있으며, 예를 들어 먼지 오염도의 메뉴를 상/중/하로 단순화시켜 구성하거나 먼지 오염도가 높은 영역의 집안 가구 명칭(예를 들어 침대)을 메뉴로 하여 구성할 수 있다.
출력부(207)는 상기 메뉴 구성부(205)에서 구성한 메뉴를 화면에 출력한다. 예를 들어 출력부(207)는 로봇(200)에 부착된 LCD 화면에 메뉴를 출력하거나, 통신 가능한 리모컨(remote controller) 장치의 LCD 화면에 상기 메뉴를 출력할 수 있으며, 상기 LCD 화면은 터치 스크린 형태일 수 있다. 또한 로봇과 무선 네트워크로 연결된 통신 기기(디지털 TV, 컴퓨터 등)에 상기 메뉴를 출력할 수도 있다. 따라서 집안 가구에 따라 메뉴가 구성된 경우 테이블, 침대 등의 목록을 화면에 출력할 수 있고, 사용자는 출력부(207)를 통해 침대를 선택하여 후술될 송출부(209)를 통해 제어 명령을 송출할 수 있다.
출력부(207)는 다른 실시예에서는 로봇/리모컨에 부착된 복수개의 버튼(button) 장치들로 구성될 수도 있다. 상기 복수개의 버튼들로 구성된 경우에는 미리 복수개의 메뉴들이 버튼들로 설정되어 사용자가 선택할 수 있도록 제작될 수 있다.
송출부(209)는 사용자가 선택한 메뉴에 대응되는 제어 신호를 송출한다. 예를 들어 사용자가 출력부(207)의 화면에서 먼지 오염도 메뉴(예를 들어 먼지 오염도가 메뉴 구성부(205)는 ‘상(上)’ 인 메뉴)를 클릭한 경우 송출부(209)는 대응되는 제어 신호를 송출하여 상기 송수신부(240)로 전송하게 된다.
도 2 및 도 2a에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기 능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
도 3은 상기 도 2를 이용하여 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를 수집하고 분류하는 방법의 순서도이다.
상기 도 2에서 상술된 중복된 내용은 되도록 생략하며, 소정 영역의 특성 정보를 이용하여 로봇(200)의 이동 경로를 설계하는 과정을 각 단계별로 설명하기로 한다.
먼저, 센서부(210)가 로봇(200)의 이동 경로를 따라 소정 영역의 특성에 대한 정보를 수집한다(S301). 센서부(210)는 복수개의 센서를 이용하여 로봇(200)이 위치한 영역의 바닥 재질, 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리, 로봇(200)이 위치한 영역의 먼지 오염도에 관한 정보, 로봇(200)이 위치한 영역의 위치 정보, 및 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보 등 다양한 정보들을 수집할 수 있다.
그리고, 제1 저장부(222)는 센서부(210)에서 수집한 소정 영역의 특성에 대한 정보를 저장한다(S311). 이때, 초기 기초 맵(map) 작성 시 제1 저장부(222)에 저장되었던 기준 정보에 상기 수집된 소정 영역의 특성 정보들이 추가되는 형태일 수 있다. 상기 추가되는 형태는 초기 맵(map) 작성시 저장된 기준 정보 중 위치 정보와 이후 수집된 소정 영역의 위치 정보를 분석부(230)를 통해 매칭시켜, 매칭되는 저장 영역의 위치에 상기 영역의 특성 정보들을 추가시키는 방법이 사용될 수 있다.
다음 단계에서, 분석부(230)가 제1 저장부(222)에 저장된 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류한다(S321).
그리고, 제2 저장부(224)는 상기 분석부(230)가 제1 저장부(222)의 정보를 분석 및 취합하여 소정 기준에 따라 다수의 그룹으로 분류한 그룹 정보를 저장한다(S331). 상기 제2 저장부(224)는 다수의 그룹으로 분류된 그룹을 식별할 수 있는 각 그룹에 부여된 식별 정보(예를 들어 G1, G2 등)를 포함할 수 있으며, 그룹 정보내에는 센서부(210)에서 수집한 각 영역의 특성에 대한 정보가 포함되어 있다.
다음 단계에서, 사용자가 리모컨(remote controller), 로봇(200)에 부착된 버튼 또는 선택 화면(예로써, 터치 스크린(touch screen), LCD 화면 등) 등의 UI 구성 장치(203)를 이용하여 로봇(200)이 이동할 영역을 선택한 경우, 송수신부(240)는 로봇(200)을 이동시킬 영역에 대한 제어 명령을 수신한다(S341). 예를 들어, 로봇(200)(또는 리모컨)에 바닥의 재질(예를 들어 카펫, 모노륨, 나무)에 따라 복수개의 버튼이 구성되어 있고, 사용자가 제1 버튼을 클릭하여 바닥 재질이 카펫인 그룹을 선택한 경우 송수신부(240)는 상기 제1 버튼의 제어 명령을 수신하게 된다. 또한 리모컨을 이용하여 소정 영역의 방향으로 제어 명령을 송출하였을 경우 송수신부(240)는 상기 제어 명령을 수신하고, 탐색부(250)는 제어 명령의 위치 정보에 대응하는 그룹 정보를 검색할 수 있게 된다.
다음 단계에서, 탐색부(250)는 송수신부(240)를 통해 수신한 제어 명령을 판독하여 제어 명령에 대응되는 정보를 그룹 정보에서 검색한다(S351). 상기 탐색부(250)는 사용자가 소정의 제어 명령을 송출하였을 경우 송수신부(240)를 통해 수 신한 제어 명령을 판독하고, 제2 저장부(224)에 저장된 그룹 정보를 검색해 가며 제어 명령에 대응되는 정보를 추출할 수 있다.
다음 단계에서, 이동경로설계부(260)는 탐색부(250)에서 검색된 그룹 정보를 이용하여 로봇(200)의 이동 경로를 설계한다(S361).
다음 단계에서, 제어부(270)는 이동경로설계부(260)에서 설계한 로봇(200)의 이동 경로에 따라 로봇(200)의 이동 방향을 제어한다(S371). 이때, 청소 로봇(200)의 경우 로봇(200)의 이동 경로상의 오물을 제거한다.
도 3a는 상기 도 2a를 이용하여 UI를 구성하는 순서도이다.
상기 도 2a에서 상술된 중복된 내용은 되도록 생략하며, 영역 특성을 이용한 UI 구성의 과정을 각 단계별로 설명하기로 한다.
메뉴 구성부(205)는 소정 영역의 특성에 대한 정보를 이용하여 복수개의 메뉴를 구성한다(S303). 예를 들어 메뉴 구성부(205)는 상기 분석부(230)에서 분류한 그룹 정보를 이용하여 바닥 재질, 먼지 오염도, 청소 빈도수, 및 집안 가구에 따라 메뉴를 구성할 수 있다.
출력부(207)는 상기 메뉴 구성부(205)에서 구성한 메뉴를 화면에 출력한다(S306). 예를 들어 출력부(207)는 로봇(200)에 부착된 LCD 화면에 메뉴를 출력할 수 있다.
송출부(209)는 사용자가 선택한 메뉴에 대응되는 제어 신호를 송출한다(S309).
도 4는 본 발명의 일 실시예에 따른 로봇(200)의 이동 경로를 따라 소정 영 역의 복수의 특성에 대한 정보를 수집하는 일 예를 도시한다.
복수개의 센서가 로봇(200)에 장착되어 로봇(200)의 이동 경로를 따라 소정 영역의 특성에 대한 정보를 수집할 수 있다.
도 4(a)에 도시된 바와 같이, 로봇(200)의 상(上)면에 제1 센서(211)를 장착하여, 상기 제1 센서(211)가 로봇(200)이 위치한 소정 영역에서 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보를 제공할 수 있다. 이때, 제1 센서(211)에는 초음파 센서, 적외선 센서, 레이저 센서, 광학 센서, 이미지 센서, 접촉 센서 등이 이용될 수 있다. 예를 들어 초음파 센서가 로봇(200)의 상면에 장착되어 사용될 경우, 로봇(200)은 초음파를 로봇(200) 상부에 위치한 장애물로 출사하고 다시 반사되어 되돌아오는 시간을 통해 로봇(200)과 상부에 위치한 장애물과의 거리를 측정할 수 있다. 일반적으로, 침대는 테이블에 비해 지면과의 높이가 낮은 경우가 많으므로, 이러한 정보들을 이용해 소정 기준 범위에 따라 각 영역이 다수의 그룹으로 분류될 수 있다. 즉, 각 영역이 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보를 이용하여 0cm ~ 30cm 미만, 30cm 이상 ~ 50cm 미만, 50cm 이상 ~ 90cm 미만 등의 소정 기준 범위로 다수의 그룹으로 분류될 수 있다. 예를 들어, 0cm ~ 30cm 미만의 기준치에 침대가 위치한 영역이 하나의 그룹으로 분류되고, 30cm 이상 ~ 50cm 미만의 기준치에 책상, 테이블, 의자가 위치한 영역이 다른 그룹으로 묶여 분류될 수 있다.
또한, 도 4(b)에 도시된 바와 같이, 로봇(200)의 하(下)면에 제2 센서(212)를 장착하여, 상기 제2 센서(212)가 로봇(200)이 위치한 영역의 바닥 재질에 대한 정보를 제공할 수 있으며, 또한 제3 센서(213)를 장착하여, 상기 제3 센서(213)가 로봇(200)이 위치한 영역의 먼지 오염도에 대한 정보를 제공할 수 있다. 제2 센서(212)에는 초음파 센서, 적외선 센서, 레이저 센서, 광학 센서, 이미지 센서, 접촉 센서 등이 이용될 수 있으며, 바닥 재질 및 모양과 같은 이미지 정보를 제공하게 된다. 로봇(200)이 위치한 영역의 바닥 재질에 대한 정보를 분석하여, 카펫, 모노륨, 타일(tile), 목재, 매트(mat) 등의 바닥 재질에 따라 각 영역이 다수의 그룹으로 분류될 수 있다. 상기 제3 센서(213)에는 먼지 오염도 측정을 위한 다양한 센서들이 활용될 수 있다.
상기 도 4(a) 및 상기 도 4(b)의 센서들 외에, 로봇(200)이 위치한 영역의 위치 정보를 제공하는 제4 센서 및 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보를 제공하는 제5 센서를 로봇(200)에 장착되어, 소정 영역의 특성에 대한 정보가 수집될 수 있다. 제4 센서에는 자이로스코프(또는 컴퍼스), 및 엔코더 등의 위치 센서가 이용될 수 있으며, 제5 센서에는 예를 들어 범퍼가 장착되어 이용될 수 있다.
도 4(c)에 도시된 바와 같이, 로봇(200)이 집 내부의 소정 영역을 이동하면서 영역에 대한 특성 정보를 수집하고 있다. 로봇(200)이 테이블/침대 영역(410, 420)에 도달하여 로봇(200)과 상부에 위치한 테이블/ 침대 간의 거리 정보를 제1 센서(211)를 통해 측정하고, 또한 로봇(200)이 위치한 영역의 바닥 재질을 제2 센서(212)를 통해 감지한다. 또한, 로봇(200)이 위치한 영역의 먼지 오염도를 제3 센서(213)를 통해 측정하고 및 로봇(200)이 위치한 영역의 위치 정보를 제4 센서(미 도시됨)를 통해 측정하여 해당 정보를 저장한다. 따라서 상기 복수개의 센서들을 통해, 로봇(200)과 상부에 위치한 장애물(테이블, 침대)간의 거리 정보, 로봇(200)이 위치한 영역(테이블, 침대)의 바닥 재질에 관한 정보, 로봇(200)이 위치한 영역의 위치 정보(좌표) 및 먼지 오염도에 대한 정보를 얻을 수 있으며, 상기한 정보들을 저장 영역에 저장하거나 이후, 저장된 정보를 분석 및 취합하여 영역의 특성에 따라 다수의 그룹으로 분류하여 그룹별로 저장하게 된다.
도 5는 본 발명의 일 실시예에 따른 소정 영역의 특성에 대한 예시 데이터를 도시한다.
도 5(a)에 도시된 바와 같이, 초기에 로봇(200)은 전체 집 내부 구조의 기초 맵(map)을 로봇의 이동 경로를 따라서 작성한다(S510). 상기 기초 맵(map)은 일반적으로 그리드(grid) 형태의 맵(map)일 수 있으며, 각 그리드별로 장애물이 존재할 확률 및 위치 정보를 소정의 수치로 나타내어 기준 정보로 저장할 수 있다.
상기 기초 맵(map)의 작성이 완료되면, 이후 로봇(200)의 이동 경로를 따라 소정 영역의 특성에 대한 정보를 수집하고, 수집된 정보를 상기 기초 맵의 기준 정보에 추가시킬 수 있다(S520). 소정 영역에 대한 특성 정보는 예를 들어 바닥 재질, 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리, 로봇(200)이 위치한 영역의 먼지 오염도에 관한 정보, 로봇(200)이 위치한 영역의 위치 정보, 및 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보 등이 있다. 예를 들어, 사용자가 임의로 로봇(200)을 소정 영역에 위치시켜 소정 영역에 대한 상기 특성 정보들을 수집하거나, 상기 S510 단계의 초기 기초 맵(map) 작성시 소정 영역에 대한 상기 특성 정보들을 함께 수집하여 저장할 수 있다. 즉, 사용자가 먼지 오염도가 높은 영역에 로봇(200)을 위치시켜 먼지 오염도가 높은 영역의 위치 정보, 및 바닥 재질에 관한 정보들을 수집하여 초기 기초 맵(map)의 기준 정보에 추가할 수 있거나, 초기 기초 맵(map) 작성시에 먼지 오염도, 바닥 재질, 및 기타 소정 영역에 대한 특성 정보들을 함께 수집하여 저장할 수 있다. 수집된 정보들은 소정 저장 공간에 데이터 베이스(database)화되어 저장될 수 있다.
또한, 이후 로봇(200)이 자주 청소한 영역에 대해서는 청소 빈도수에 대한 정보를 상기 수집된 정보들에 추가하거나, 따로 분리하여 각 영역의 특성에 대한 개별적인 정보들로 데이터 처리할 수 있다(S530).
도 5(b)에 도시된 바와 같이, 상기 단계별(S510 내지 S520)로 수집된 정보들을 취합하여 소정 영역의 특성에 따라 그리드(grid) 형태의 맵(map)으로 나타낼 수 있고, 상기 그리드(500)는 로봇(200)이 복수의 정보들을 수집한 소정 영역을 나타낼 수 있다. 도 5(b)에서 동일 색상으로 표기된 500a, 500b, 및 500c 영역들은, 특성이 유사 또는 동일한 영역들임을 나타낸다.
도 5(c)에 도시된 바와 같이, 도 5(b)의 각 그리드에 대응되도록 상기 복수개의 센서들이 수집한 정보들을 소정의 데이터 값으로 나타낼 수 있다. 즉, 상기 단계별(S510 내지 S520)로 수집한 정보들을 소정의 데이터 값으로 나타낼 수 있다. 상기 데이터 값들은 예를 들어, 초기 맵(map) 작성 시 로봇(200)의 이동 경로에 따라 수집한 정보(예를 들어 위치 정보, 및 장애물에 관한 정보)에 이후 로봇(200)이 위치한 소정 영역에 대한 특성 정보들(S520 내지 S530)이 추가되는 형태로 저장되 거나, 초기 맵(map) 작성시 소정 영역에 대한 상기 특성 정보들이 함께 수집되어 저장될 수 있다.
상기 복수개의 센서들은 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보(가), 로봇(200)이 위치한 영역의 바닥 재질에 대한 정보(나), 로봇(200)이 위치한 영역의 먼지 오염도에 대한 정보(다), 로봇(200)이 위치한 영역의 위치 정보(라), 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보(마)를 제공할 수 있다.
먼저 (가)에 있어서, 제1 센서(211)는 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리를 측정한다. 제1 센서(211)는 센티미터 단위(cm), 미터 단위(m) 등으로 거리 값을 측정할 수 있으며, 집안 가구의 경우 로봇(200)과 로봇(200)의 상부에 위치한 가구 하단 면 사이의 거리 값이 측정되어 저장된다. (나)에 있어서, 제2 센서(212)는 로봇(200)이 위치한 영역의 바닥 재질을 감지하여 바닥 재질에 대한 정보를 제공한다. 바닥 재질은 카펫, 모노륨, 타일(tile), 목재, 매트(mat) 등으로 구분되어 각 재질에 따라 소정 값이 부여될 수 있다. (다)에 있어서, 제3 센서(213)는 로봇(200)이 위치한 영역의 먼지 오염도를 측정한다. (라)에 있어서, 제4 센서(214)는 로봇(200)이 위치한 영역의 위치 정보를 측정하며, 위치 정보는 x축, 및 y축의 좌표 값으로 표시될 수 있다. (마)에 있어서, 제5 센서(215)는 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보를 제공하며, 예를 들어 로봇(200)이 이동하는 이동 경로상에 벽/장애물이 존재할 확률을 소정 값으로 표시할 수 있다.
상기 (가) ~ (마)에서 측정된 값들은, 소정 기준 범위에 따라 수치/문자 등의 식별 값이 부여되어 저장 영역에 저장될 수 있다. 즉, 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보를 이용하여 0cm ~ 30cm 미만, 30cm 이상 ~ 50cm 미만, 50cm 이상 ~ 90cm 미만 등으로 소정 기준 범위를 정하고, 각 기준 범위에 따라 소정 식별 값이 부여될 수 있다. 예를 들어, 0cm ~ 30cm 미만은 100, 30cm 이상 ~ 50cm 미만은 110, 50cm 이상 ~ 90cm 미만은 120 등으로 소정 식별 값이 부여될 수 있다. 또한, 바닥 재질에 따라 카펫은 10, 모노륨은 20, 타일(tile)은 30, 목재는 40, 매트(mat)는 50 등으로 수치 값이 부여할 수 있다. 또한, 먼지 오염도에 따라 먼지 오염도가 낮은 영역은 A, 상대적으로 먼지 오염도가 높은 영역은 F 등으로 표기하여 A ~ F로 먼지 오염도의 측정 값의 범위에 따라 소정 식별 값이 부여될 수 있다. 또한, 장애물이 존재할 확률 값이 0 ~ 255의 범위로 구분되어 있을 경우, 0 ~ 50은 장애물이 존재할 확률이 적은 범위로 소문자 a로 표기하고, 상대적으로 장애물이 존재할 확률이 높은 200 ~ 255은 소문자 c로 표기하여 확률 값의 범위에 따라 소정 식별 값이 부여될 수 있다. 상기 복수개의 센서들이 측정한 측정 값에 따른 소정 기준 범위 및 소정 기준 범위에 부여된 식별 값들은 기술적 구현에 따라 다양하게 구성될 수 있음은 물론이다.
따라서, 로봇(200)이 위치한 영역의 특성에 대한 정보에 있어서, 소정의 그리드에 대한 정보가 100, 10, A, a, x1, y1(502)로 제1 저장부(222)에 저장되어 있을 경우, 100은 소정 영역에 위치한 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리가 0cm ~ 30cm 미만의 범위에 속한다는 것을 나타내고, 10은 바닥 재질 이 카펫인 것을 나타내고, A는 먼지 오염도가 낮다는 것을 나타내고, a는 장애물이 존재할 확률이 낮다는 것을 나타내며, x1, 및 y1은 x축과 y축 좌표로 소정 영역의 특성에 대한 정보가 수집되었던 영역의 위치 정보를 나타낸다. 도 5(c)에서 제1 저장부(222)에 저장된 정보는 이하 도 6에서 영역의 특성에 따라 그룹으로 분류되어 제2 저장부(224)에 저장될 수 있다.
도 6은 상기 도 5를 이용하여 소정 그룹으로 분류한 그룹 정보의 일 예를 도시한다.
상기 도 5에서 센서부(210)가 수집한 소정 영역의 특성에 대한 정보는 제1 저장부(222)에 저장되고, 분석부(230)는 제1 저장부(222)의 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류하고 제2 저장부(224)에 분류된 그룹 정보를 저장한다.
도 6(a)에 도시된 바와 같이, 바닥 재질에 따라서 그룹을 분류하기 원하는 경우, 바닥 재질에 최우선 순위가 부여되어 바닥 재질을 기준으로 각각의 그룹이 분류된다. 분석부(230)는 제1 저장부(222)에 카펫은 10(602), 모노륨은 20, 타일(tile)은 30, 목재는 40, 매트(mat)는 50 등으로 값이 부여되어 저장되어 있고, 이외에 상기 도 5에서 상술된 정보들(즉 (가) ~ (마))이 묶여서 함께 저장되어 있을 경우, 바닥 재질을 최우선 순위로 하여 기타 다른 정보들을 묶어서 그룹으로 분류한다. 예를 들어 분석부(230)는 카펫 그룹(600), 모노륨 그룹 등으로 바닥 재질에 따라 그룹을 분류한다.
또한, 도 6(b)에 도시된 바와 같이, 카펫 그룹(600)은 거실의 소정 영역에서 카펫이 바닥 재질로 사용된 영역이 서로 떨어져 위치할 경우, 위치 정보 및 바닥의 재질에 관한 정보를 이용하여 다시 소그룹(600a, 600b)으로 분류될 수 있다. 예를 들어 카펫 그룹(600)은 바닥 재질이 카펫이고, 좌표 값이 (x5, y5) ~ (x10, y10)인 영역(612)과 좌표 값이 (x20, y5) ~ (x25, y10)인 영역(614)이 각각의 위치 정보 및 바닥의 재질에 관한 정보를 이용하여 각각 다시 소그룹(600a, 600b)으로 분류될 수 있다. 분류된 그룹내에는 영역의 특성에 관한 정보(610a)를 포함하는 그룹 정보(610)가 포함되어 있으며, 또한 각 그룹에 따른 식별 정보(즉, G1, G2) (604)가 부여되어 저장될 수 있다. 상기 영역의 특성에 관한 정보(610a)에는 센서부(210)가 제공한 로봇(200)이 위치한 영역의 바닥 재질, 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리, 로봇(200)이 위치한 영역의 먼지 오염도에 관한 정보, 로봇(200)이 위치한 영역의 위치 정보, 및 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보에 관한 정보들을 포함할 수 있다. 이외에도 기술적 구현에 따라 청소 빈도수, 그룹에 따른 식별 정보 등 기타 다양한 정보들을 포함할 수 있음은 물론이다.
따라서, 사용자가 로봇(200)에 부착된 버튼 또는 선택 화면(예로써, 터치 스크린(touch screen), LCD 화면 등)을 통해 카펫(영역)을 선택한 경우, 탐색부(250)는 바닥 재질(즉 카펫)에 대응되는 정보를 그룹 정보에서 검색하고, 상기 추출된 그룹 정보를 이용하여 로봇(200)이 이동할 경로를 설계할 수 있다. 이때, 로봇(200)이 위치한 영역에서 가장 가까운 거리(616)에 위치한 영역으로 먼저 이동하도록 설계하는 것이 바람직하다.
또한 사용자가 리모컨(remote controller)를 통해 소정 카펫 영역 방향으로 제어 명령을 송출하였을 경우, 탐색부(250)는 상기 제어 명령을 판독하고 상기 제어 명령에 대응되는 정보를 그룹 정보에서 검색하여 추출하고, 상기 추출된 그룹 정보를 이용하여 로봇(200)이 이동할 영역을 설계할 수 있다. 이때, 탐색부(250)가 상기 그룹 정보를 검색하여 제어 명령에 대응하는 정보가 존재하지 않을 경우, 제어부(270)는 로봇(200)을 상기 제어 명령이 송출된 영역으로 이동시켜 상기 영역의 특성에 대한 정보를 수집한다. 청소 로봇(200)의 경우 오물 제거부(290)를 부착하여 설계된 이동 경로에 따라 이동하며 로봇(200)의 이동 경로상의 오물을 제거할 수 있다.
상술한 바와 같이, 바닥 재질에 따라 그룹을 분류하고, 저장된 그룹 정보를 검색하고, 로봇(200)의 이동 경로를 설계하는 것을 예로 들었으나, 이하 도 7에서 후술될 다양한 소정 기준에 따라 그룹을 분류할 수 있으며, 상기 도 6에서 설명된 원리를 이용하여 로봇(200)의 이동 경로를 설계하고 로봇(200)의 이동 경로를 제어할 수 있다.
도 7은 상기 도 6외에 소정 기준에 따라 분류한 그룹 정보의 일 예를 도시한다.
도 7(a)에 도시된 바와 같이, 분석부(230)는 로봇(200)과 로봇(200)의 상부에 위치한 장애물간의 거리에 대한 정보를 이용하여 그룹을 분류할 수 있다. 예를 들어 분석부(230)는 로봇(200)과 로봇(200)의 상부에 위치한 가구간의 거리에 대한 정보를 이용하여 침대, 테이블, 소파 등으로 각 가구가 위치한 영역을 묶어서 가구 별로 그룹을 분류하거나, 로봇(200)과 로봇(200)의 상부에 위치한 가구간의 거리를 0cm ~ 30cm 미만, 30cm 이상 ~ 50cm 미만, 50cm 이상 ~ 90cm 미만, 90cm이상 등으로 소정 기준 범위로 분류하여 소정 기준 범위에 속하는 가구들이 위치한 영역을 묶어서 그룹으로 분류할 수 있다. 예를 들어, 0cm ~ 30cm 미만은 100, 30cm 이상 ~ 50cm 미만은 110, 50cm 이상 ~ 90cm 미만은 120 등으로 소정 식별 값이 부여될 수 있다. 도 7(a)의 분류된 그룹은, 로봇(200)과 로봇(200)의 상부에 위치한 가구간의 거리가 0cm ~ 30cm 미만의 범위에 속하는 영역들에 대해 100으로 식별 값(702)이 부여된 영역들의 그룹을 나타내고 있다. 이때, 분석부(230)는 가구의 위치 정보(702a) 및 로봇(200)과 로봇(200)의 상부에 위치한 가구간의 거리에 대한 정보(702)를 이용하여 다시 소그룹(G4, G5)으로 분류할 수 있다.
도 7(b)에 도시된 바와 같이, 분석부(230)는 로봇(200)이 위치한 영역의 먼지 오염도에 대한 정보를 이용하여 소정 먼지 오염도에 따른 소정의 기준 범위를 정하고, 각 기준 범위에 따라 그룹을 분류할 수 있다. 먼지 오염도가 낮은 영역은 A, 상대적으로 먼지 오염도가 높은 영역은 F로 식별 값이 부여된 경우, 먼지 오염도가 높은 영역을 우선으로 로봇(200)이 제어되어 이동될 수 있다. 도 7(b)의 분류된 그룹은, 먼지 오염도를 빈도수를 최우선 순위로 하여 먼지 오염도가 높은 F로 식별 값(704)이 부여된 영역들의 그룹을 나타내고 있다. 이때, 분석부(230)는 먼지 오염도가 높은 영역의 위치 정보(704a) 및 먼지 오염도에 대한 정보(704)를 이용하여 다시 소그룹(G6, G7)으로 분류할 수 있다.
도 7(c)에 도시된 바와 같이, 분석부(230)는 도 7(b)에서 먼지 오염도의 수 치가 높은 그룹은 청소하는 빈도가 상대적으로 다른 그룹의 영역에 비해 높으므로, 청소 빈도수에 대한 정보를 분석하여 청소 빈도수에 따라 그룹을 분류할 수도 있다. 이때, 청소 빈도수가 높은 영역은 청소 빈도수가 낮은 영역에 비해 청소 강도를 약하게 조절할 수 있으며, 청소 빈도수가 낮은 영역은 상대적으로 청소 빈도수를 강하게 조절할 수 있다. 예를 들어, 청소 빈도수가 일주일 동안 10회 이상인 영역의 경우 C1, 6회 ~ 9회의 범위에 속하는 영역의 경우 C2, 1회 ~ 5회의 범위에 속하는 영역의 경우 C3의 값이 부여될 수 있다. 도 7(c)의 분류된 그룹은, 청소 빈도수를 최우선 순위로 하여 청소 빈도수가 높은 C1 로 식별 값(706)이 부여된 영역들의 그룹을 나타내고 있다. 이때, 분석부(230)는 청소 빈도수가 높은 영역의 위치 정보(706a) 및 청소 빈도수에 대한 정보(706)를 이용하여 다시 소그룹(G8, G9)으로 분류할 수 있다.
도 7(d)에 도시된 바와 같이, 분석부(230)는 복수개의 정보를 취합하여 다수의 그룹으로 분류할 수도 있다. 청소 빈도수와 바닥 재질에 각각 제1 우선 순위, 제2 우선 순위로 분류 기준을 부여하고, 우선 순위에 따라 제1 저장부(222)에 저장된 영역의 특성에 대한 정보들을 정렬하고, 소정 기준에 따라 다수의 그룹으로 분류한 후 제2 저장부(224)에 저장할 수 있다. 도 7(d)의 분류된 그룹은, 청소 빈도수를 제1 우선 순위로 하여 청수 빈도수가 가장 많은 C1로 식별 값(708)이 부여된 영역이면서 제2 우선 순위인 바닥 재질의 식별 값(710)을 기준으로 분류된 그룹들(G10, G11)을 나타낸다.
분석부(230)는 상기한 정보들외에 그룹 정보내에 포함된 다양한 정보들을 이 용하여 그룹을 분류할 수 있으며, 이동경로설계부(260)는 상기 그룹 정보를 이용하여 로봇(200)이 이동할 이동 경로를 설계하게 된다. 이때, 이동경로설계부(260)는 바람직하게는 로봇(200)이 위치한 영역에서 가장 가까운 영역을 우선으로 하여 설계를 수행할 수 있으며, 이때 소정 영역에서 로봇(200)이 이동하는 이동 경로상의 장애물에 대한 정보(712)를 고려하여 설계 작업을 수행할 수 있다.
도 8은 본 발명의 일 실시예에 따른 소정 영역으로 제어 명령을 송출한 경우 로봇(200)을 제어하는 순서도이다.
상기 도 3에서 상술된 중복된 내용은 되도록 생략하며, 분류된 그룹의 그룹 정보에 따라 로봇의 제어하는 과정을 각 단계별로 설명하기로 한다.
분석부(230)가 제1 저장부(222)의 정보를 분석 및 취합하여 소정 기준에 따라 다수의 그룹으로 분류한 그룹 정보를 제2 저장부(224)에 저장한 이후에는, 로봇(200)이 이동할 경로를 그룹 정보를 이용하여 영역의 특성에 따라 제어할 수 있다. 예를 들어, 로봇(200)(또는 리모컨)에 바닥의 재질(예를 들어 카펫, 모노륨, 나무)에 따라 복수개의 버튼이 구성되어 있고, 또한 청소 빈도수에 따라 복수개의 버튼이 구성되어 있을 있다고 하자. 사용자가 제1 버튼을 클릭하여 바닥 재질이 카펫인 그룹을 선택한 경우, 탐색부(250)는 바닥 재질이 카펫인 그룹의 그룹 정보를 검색하고, 상기 추출된 그룹 정보를 이용하여 로봇(200)이 이동할 경로를 설계할 수 있다. 이때, 로봇(200)이 위치한 영역에서 가장 가까운 거리에 위치한 영역으로 먼저 이동하도록 설계하는 것이 바람직하다.
상술한 원리를 이용하여, 사용자가 리모컨(remote controller)를 통해 소정 영역 방향으로 제어 명령을 송출하였을 경우, 탐색부(250)는 상기 제어 명령을 판독하고 상기 제어 명령에 대응되는 정보를 그룹 정보에서 검색한다(S801, S811). 이때, 탐색부(250)는 제어 명령이 송출된 영역의 위치 정보 및 바닥 재질에 관한 정보를 이용하여 검색을 수행할 수 있다. 상기한 바와 같이, 탐색부(250)가 제어 명령이 송출된 영역에 대응되는 정보를 그룹 정보에서 발견한 경우, 이동경로설계부(260)는 탐색부(250)에서 검색된 그룹 정보를 이용하여 로봇(200)의 이동 경로를 설계하고, 제어부(270)는 설계된 경로에 따라 로봇(200)을 이동시킨다.
만약, 탐색부(250)가 제어 명령이 송출된 영역에 대응되는 정보를 그룹 정보에서 발견하지 못한 경우, 이동경로설계부(260)는 제어 명령이 송출된 영역으로 로봇(200)이 구동될 수 있도록, 로봇(200)이 위치한 현 영역에서 제어 명령이 송출된 영역으로 이동하기 위한 이동 경로에 대한 설계를 수행하게 된다(S821).
다음 단계에서, 제어부(270)는 설계된 상기 제어 명령이 송출된 영역으로 로봇(200)을 이동시켜 제어 명령이 송출된 영역의 특성에 대한 정보를 센서부(210)를 통해 수집한다(S831).
이후, 제1 저장부(222)는 상기 수집된 정보들을 저장하고, 분석부(230)가 제1 저장부(222)의 정보를 소정 기준에 따라 분석 및 취합하여 다수의 그룹으로 분류한 그룹 정보를 제2 저장부(224)에 저장한다(S841).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특성을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.