KR102369661B1 - 이동 로봇 및 복수의 이동 로봇의 제어방법 - Google Patents

이동 로봇 및 복수의 이동 로봇의 제어방법 Download PDF

Info

Publication number
KR102369661B1
KR102369661B1 KR1020200023797A KR20200023797A KR102369661B1 KR 102369661 B1 KR102369661 B1 KR 102369661B1 KR 1020200023797 A KR1020200023797 A KR 1020200023797A KR 20200023797 A KR20200023797 A KR 20200023797A KR 102369661 B1 KR102369661 B1 KR 102369661B1
Authority
KR
South Korea
Prior art keywords
mobile robot
cleaning
area
sub
sensor
Prior art date
Application number
KR1020200023797A
Other languages
English (en)
Other versions
KR20210108771A (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 KR1020200023797A priority Critical patent/KR102369661B1/ko
Priority to US17/801,835 priority patent/US20230084829A1/en
Priority to EP21759837.4A priority patent/EP4110559A1/en
Priority to PCT/KR2021/002453 priority patent/WO2021172932A1/en
Publication of KR20210108771A publication Critical patent/KR20210108771A/ko
Priority to KR1020220024244A priority patent/KR102615962B1/ko
Application granted granted Critical
Publication of KR102369661B1 publication Critical patent/KR102369661B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L13/00Implements for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L13/10Scrubbing; Scouring; Cleaning; Polishing
    • A47L13/50Auxiliary implements
    • A47L13/51Storing of cleaning tools, e.g. containers therefor
    • A47L13/512Clamping devices for hanging the tools
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/28Floor-scrubbing machines, motor-driven
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/009Carrying-vehicles; Arrangements of trollies or wheels; Means for avoiding mechanical obstacles
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • A47L9/2826Parameters or conditions being sensed the condition of the floor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2894Details related to signal transmission in suction cleaners
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • 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
    • 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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

본 발명은 청소 구역을 복수 개로 영역으로 구분하고 각 영역 내에 서브 영역을 감지하고, 서브 영역과 각 영역 정보를 복수 개의 이동 로봇이 공유하고, 청소 시간의 낭비를 줄이도록 서로 교대로 청소를 실행하는 복수의 이동로봇의 제어방법을 특징으로 한다.

Description

이동 로봇 및 복수의 이동 로봇의 제어방법 {Moving robot and Controlling method for the same}
본 발명은 이동 로봇에 관한 것으로 상세하게는 복수의 이동 로봇 사이에 지도 공유 및 협업하여 청소를 수행할 수 있는 이동로봇에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다. 가정에서 사용되는 이동 로봇의 대표적인 예는 이동 로봇이다.
이동 로봇에 구비된 여러 센서를 통하여 이동 로봇 주변의 환경 및 사용자를 감지하는 여러 기술들이 알려져 있다. 또한, 이동 로봇이 스스로 청소 영역을 학습하여 맵핑하고, 맵 상에서 현재 위치를 파악하는 기술들이 알려져 있다. 청소 영역을 기 설정된 방식으로 주행하며 청소하는 이동 로봇이 알려져 있다.
종래의 이동 로봇은 청소기의 주변 환경에서 장애물과 벽과의 거리 및 매핑을 위해, 거리판단, 지형 파악 및 장애물의 영상 파악이 용이한 광센서를 통해서 이를 식별해 왔다.
또한, 종래 기술(한국특허공개번호 10-2014-0138555)에는, 다수의 센서를 통해 맵을 작성하는 데, 복수의 로봇이 맵을 공유하는 경우, 각 로봇들은 초기 시작점을 중심으로 위치 인식하게 되고, 각 로봇들은 각각의 시작점을 가지고 있기 때문에 다른 로봇의 위치 및 환경 정보를 알 수 없는 문제점이 존재한다.
특히, 서로 다른 종류의 로봇의 경우, 맵을 작성하는 방법, 다수의 센서의 종류 및 감도 차이에 의해 같은 청소 구역에 대해 서로 다른 맵이 작성되고, 각각의 맵 사이의 사이즈, 좌표 방향 등이 일치되지 않는 문제점이 존재한다. 또한, 이렇게 각 맵이 상이한 경우, 협동 청소, 위치정보 공유 및 환경 정보 공유가 어렵게 되면, 협동 청소가 불가능한 문제점이 존재한다.
또한, 이와 같이 여러 대의 이동로봇을 이용한 협업 청소가 효율적으로 이루어지는 위해서는, 복수의 이동로봇이 각각 서로의 위치를 파악하고 있어야 할 것이다. 이를 위해, 초음파, 레이더 등의 위치 센서를 추가로 사용하여 서로의 상대 위치를 파악할 수도 있겠으나, 복수의 이동로봇의 이격거리가 멀어지면 상대 위치를 파악하기가 어려워지는 단점이 있다. 이러한 단점을 극복하기 위해 복수의 이동로봇들이 멀리 떨어져 있는 경우에도 서로의 위치를 정확하게 인식할 수 있는 고성능 센서를 탑재하게 되면 제품 전체의 비용이 증가하게 되는 단점이 있다.
또한, 복수의 이동로봇의 청소 방식이 서로 상이하여서, 청소구역 내에서 청소할 수 있는 영역과 청소를 할 수 없는 영역이 발생할 수 있다. 구체적으로, 습식 청소기가 카펫 등의 바닥형 장애물을 발견했을 경우, 습식 청소기가 카펫을 등반하는 경우, 습식 청소기가 카펫에 구속되어 움직이지 못하는 문제점이 발생한다.
또한, 종래 기술은 다수 개의 영역으로 청소 구역을 나누어서 청소하는데, 습식이 불가능한 지역이 존재하는 경우, 건식 로봇이 모든 영역과 습식이 불가능한 지역을 모두 청소한 후에, 습식 로봇이 청소를 시작하므로, 이로 인해 총 청소시간이 증가하고, 습식 로봇의 대기 시간이 매우 길어지는 문제점이 존재한다.
한국공개특허공보 공개번호 10-2014-0138555
본 발명이 해결하고자 하는 과제는, 서로 다른 청소방식을 사용하는 복수의 이동로봇이 동일한 공간에서 협업하여 효율적으로 청소할 수 있는 복수의 이동로봇 및 그 제어방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 서브 영역을 감지하고, 서브 영역을 건식 로봇과 습식 로봇이 협동으로 효율적으로 청소하는 이동로봇 및 그 제어방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 청소 구역을 복수의 영역으로 분할하고, 서브 영역과 각 영역의 건식 로봇과 습식 로봇의 청소 순서를 효율적으로 정하여서, 총 청소시간을 줄이는 이동로봇 및 그 제어방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 복수의 이동로봇 중 어느 하나의 로봇이 파악한 맵을 다른 하나의 로봇에 공유하여서, 복수의 이동로봇의 협업 청소를 효율적으로 하는 것이다.
상기 과제들을 해결하기 위하여, 본 발명은 청소 구역을 복수 개로 영역으로 구분하고 각 영역 내에 서브 영역을 감지하고, 서브 영역과 각 영역 정보를 복수 개의 이동 로봇이 공유하고, 청소 시간의 낭비를 줄이도록 서로 교대로 청소를 실행하는 복수의 이동로봇의 제어방법을 특징으로 한다.
구체적으로, 본 발명은 주행 구역을 적어도 복수의 제1 영역 및 제2 영역으로 구분하는 구획 단계, 제1 이동 로봇이 상기 제1 영역에서 서브 영역을 감지하는 감지 단계, 상기 제1 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역을 청소하는 제1 건식 청소 단계, 상기 제1 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역 청소를 끝낸 후, 상기 제2 영역을 청소하는 제2 건식 청소 단계 및 상기 제1 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 시작하는 제1 습식 청소 단계를 포함한다.
상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝낸 후, 상기 제1 영역의 상기 서브 영역을 청소하는 제3 건식 청소 단계를 더 포함할 수 있다.
또한, 본 발명은 상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝내고, 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 구역의 청소를 끝낸 후, 상기 제1 이동 로봇이 상기 제1 영역의 상기 서브 영역을 청소하는 제3 건식 청소 단계를 더 포함할 수 있다.
상기 제3 건식 청소 단계에서, 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소 중 인 경우, 상기 제1 이동 로봇은 제자리에서 대기할 수 있다.
상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제1 이동 로봇에 상기 제1 영역의 청소 완료 정보를 송신할 수 있다.
또한, 본 발명은 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제2 영역의 청소를 시작하는 제2 습식 청소 단계를 포함할 수 있다.
또한, 본 발명은 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝내면, 상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝낸 후, 상기 제2 이동 로봇이 상기 제2 영역의 청소를 시작하는 제2 습식 청소 단계를 더 포함할 수 있다.
상기 제2 습식 청소 단계에서, 상기 제1 이동 로봇이 상기 제2 영역의 청소 중 인 경우, 상기 제2 이동 로봇은 제자리에서 대기할 수 있다.
상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝낸 후, 상기 제2 이동 로봇에 상기 제2 영역의 청소 완료 정보를 송신할 수 있다.
상기 제1 이동 로봇과 상기 제2 이동 로봇은 상기 주행 구역의 맵을 공유할 수 있다.
상기 제1 이동 로봇은 이물질의 흡입을 수행하고, 상기 제2 이동 로봇은 걸레질을 수행할 수 있다.
또한, 본 발명은 제1 이동 로봇이 주행 구역 내 구분된 제 1 내지 p 영역에서 서브 영역을 제외한 영역을 순차적으로 청소하는 단계; 상기 제1 이동 로봇이 제 n영역의 청소를 시작한 후 제2 이동 로봇이 상기 서브 영역을 제외한 제 n-1영역의 청소를 시작하는 단계; 및 상기 제1 이동 로봇이 상기 제 p영역의 청소를 끝낸 후, 상기 제1 내지 P 영역 내에 서브 영역을 순차적으로 청소하는 단계를 포함할 수 있다.
또한, 본 발명은 본체를 이동시키는 주행부; 먼지를 흡입하는 청소유닛; 본체 주변의 영상을 획득하는 영상센서; 상기 영상 센서에서 입력된 정보를 바탕을 주행 구역과, 상기 주행 구역을 적어도 복수의 제1 영역 및 제2 영역으로 구분하고, 상기 서브 영역을 특정하는 제어부를 포함하고, 상기 제어부는, 상기 제1 영역 내에 서브 영역이 위치되는 경우, 상기 서브 영역을 제외한 제1 영역을 청소한 후, 상기 제2 영역의 청소를 시작하고, 상기 제2 영역의 청소를 끝내고, 상기 제1 영역 내의 서브 영역을 청소하도록 상기 주행부 및 상기 청소유닛을 제어할 수 있다.
상기 제어부는, 상기 이동 로봇과 상이한 방식으로 청소하는 제2 이동 로봇에 상기 습식 청소 불능 영역의 위치정보를 전송할 수 있다.
상기 제어부는 제2 이동 로봇에서 상기 제1 영역 청소 완료를 수신하면, 상기 제1 영역 내의 서브 영역을 청소하도록 상기 주행부 및 상기 청소유닛을 제어할 수 있다.
상기 제어부는 상기 제1 영역 청소 완료를 완료하면, 제2 이동 로봇에 상기 습식 청소 불능 영역의 위치정보와, 상기 제1 영역에서 상기 서브 영역을 청소하도록 하는 청소 명령을 송신할 수 있다.
상기 제어부는 상기 주행 구역의 복수의 영역 중 어느 하나의 영역에 상기 서브 영역이 위치되는 경우, 상기 서브 영역이 위치되는 영역을 상기 제1 영역으로 정의할 수 있다.
본 발명의 이동 로봇에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 본 발명은 서로 다른 방식으로 청소하는 이동로봇이 각자 자기가 청소 가능한 영역과 청소가 불가능한 영역을 구분하여, 청소 영역의 상태에 따라 알맞은 청소를 수행할 수 있는 이점이 존재한다.
둘째, 본 발명은 건식 로봇이 청소 중에 서브 영역을 발견한 경우, 서브 영역을 습식 로봇과 공유하고, 건식 로봇은 서브 영역을 건너뛰고 다른 영역을 청소하는 중에 습식 로봇이 서브 영역을 청소하므로, 습식 로봇이 쉬는 시간을 줄이고 총 청소 시간을 줄이는 이점이 존재한다.
셋째, 본 발명은 서브 영역의 등반이 가능한 건식 로봇이 먼저 서브 영역을 파악하고 이를 습식 로봇에 전달하므로, 습식 로봇이 구속의 위험을 가지고, 서브 영역을 특정할 필요가 없게 되고, 습식 로봇의 구속의 위험을 줄이는 이점이 존재한다.
넷째, 본 발명은 복수의 로봇이 서로 각 영역의 청소 완료 여부 및 청소 진행 정도를 공유하므로, 다수의 청소 영역이 서로 다른 크기를 가지고 있어서, 각 영역의 청소 시간이 상이하여서 발생하는 청소시간의 낭비를 줄이는 이점이 존재한다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 이동 로봇의 일 실시예를 보인 사시도이다.
도 2는 도 1에 도시된 이동 로봇의 평면도이다.
도 3은 도 1에 도시된 이동 로봇의 측면도이다.
도 4는 도 1에 도시된 이동 로봇의 예시 구성요소를 나타내는 블록도이다.
도 5는 본 발명에 따른 이동 로봇의 다른 실시예를 보인 사시도이다.
도 6은 도 5에 도시된 이동 로봇의 측면도이다.
도 7은 도 5에 도시된 이동 로봇의 저면도이다.
도 8은 도 5에 도시된 이동 로봇의 예시 구성요소를 나타내는 블록도이다.
도 9a는 본 발명의 일 실시예에 따른 복수의 이동 로봇 간의 네트워크 통신을 도시한 개념도이고, 도 9b는 도 9a의 네트워크 통신의 일 예를 도시한 개념도이다.
도 9c는 본 발명의 일 실시예에 따른 복수의 이동 로봇 간의 추종 제어를 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 복수의 이동 로봇이 협업청소를 위한 방법을 설명하기 위한 대표 흐름도이다.
도 11는 본 발명의 일 실시예에 따른 복수의 이동 로봇의 협업청소를 도시한 개념도이다.
도 12은 본 발명의 제1 실시예에 따른 복수의 이동 로봇의 제어방법의 순서도이다.
도 13는 본 발명의 제2 실시예에 따른 복수의 이동 로봇의 제어방법의 순서도이다.
도 14은 본 발명의 제3 실시예에 따른 복수의 이동 로봇의 제어방법의 순서도이다.
도 15은 본 발명의 제4 실시예에 따른 복수의 이동 로봇의 제어방법의 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성 요소들과 다른 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및/또는 동작은 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명인 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 이동 로봇 등이 될 수 있다.
이하, 본 발명에 관련된 이동 로봇에 대하여 도면을 참조하여 보다 상세하게 설명한다.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
본 발명에 따른 이동로봇(100)의 일 예를 보인 사시도이고, 도 2는 도 1에 도시된 이동로봇(100)의 평면도이며, 도 3은 도 1에 도시된 이동 로봇(100)의 측면도이다.
본 명세서에서 이동 로봇, 이동로봇 및 자율 주행을 수행하는 청소기가 동일한 의미로 사용될 수 있다. 또한, 본 명세서에서 복수의 청소기는 이하 도 1 내지 도 3에 도시된 구성 중 적어도 일부를 포함하여 이루어질 수 있다.
도 1 내지 도 3을 참조하면, 이동 로봇(100a)는 일정 영역을 스스로 주행하면서 바닥을 청소하는 기능을 수행한다. 여기서 말하는 바닥의 청소에는, 바닥의 먼지(이물질을 포함한다)를 흡입하거나 바닥을 걸레질하는 것이 포함된다. 구체적으로, 이동 로봇(100a)은 먼지를 흡입하는 건식 로봇 청소기를 포함할 수 있다.
이동 로봇(100a)는 청소기 본체(110), 청소 유닛(120), 센싱유닛(130) 및 먼지통(140)을 포함할 수 있다. 청소기 본체(110)에는 이동 로봇(100a)의 제어를 위한 제어부(1800)를 포함하여 각종 부품들이 내장 또는 장착된다. 또한, 청소기 본체(110)에는 이동 로봇(100a)의 주행을 위한 휠 유닛(111)이 구비된다. 휠 유닛(111)에 의해 이동 로봇(100a)는 전후좌우로 이동되거나 회전될 수 있다.
도 3을 참조하면, 휠 유닛(111)은 메인 휠(111a) 및 서브 휠(111b)을 포함한다.
메인 휠(111a)은 청소기 본체(110)의 양측에 각각 구비되어, 제어부의 제어 신호에 따라 일 방향 또는 타 방향으로 회전 가능하게 구성된다. 각각의 메인 휠(111a)은 서로 독립적으로 구동 가능하게 구성될 수 있다. 예를 들어, 각각 의 메인 휠(111a)은 서로 다른 모터에 의해서 구동될 수 있다. 또는, 하나의 모터에 구비된 복수의 서로 다른 축에 의해서 구동될 수 있다.
서브 휠(111b)은 메인 휠(111a)과 함께 청소기 본체(110)를 지지하며, 메인 휠(111a)에 의한 이동 로봇(100a)의 주행을 보조하도록 이루어진다. 이러한 서브 휠(111b)은 후술하는 청소 유닛(120)에도 구비될 수 있다.
제어부는 휠 유닛(111)의 구동을 제어함으로써, 이동 로봇(100a)는 바닥을 자율 주행하도록 이루어진다.
한편, 청소기 본체(110)에는 이동 로봇(100a)에 전원을 공급하는 배터리(미도시)가 장착된다. 배터리는 충전 가능하게 구성되며, 청소기 본체(110)의 저면부에 착탈 가능하게 구성될 수 있다.
도 1에서, 청소 유닛(120)은 청소기 본체(110)의 일측으로부터 돌출된 형태로 배치되어, 먼지가 포함된 공기를 흡입하거나 또는 걸레질을 할 수 있다. 일측은 청소기 본체(110)가 정방향(F)으로 주행하는 측, 즉 청소기 본체(110)의 앞쪽이 될 수 있다.
본 도면에서는, 청소 유닛(120)이 청소기 본체(110)의 일측에서 전방 및 좌우 양측방으로 모두 돌출된 형태를 가지는 것을 보이고 있다. 구체적으로, 청소 유닛(120)의 전단부는 청소기 본체(110)의 일측으로부터 전방으로 이격된 위치에 배치되고, 청소 유닛(120)의 좌우 양단부는 청소기 본체(110)의 일측으로부터 좌우 양측으로 각각 이격된 위치에 배치된다.
청소기 본체(110)가 원형으로 형성되고, 청소 유닛(120)의 후단부 양측이 청소기 본체(110)로부터 좌우 양측으로 각각 돌출 형성됨에 따라, 청소기 본체(110)와 청소 유닛(120) 사이에는 빈 공간, 즉 틈이 형성될 수 있다. 빈 공간은 청소기 본체(110)의 좌우 양단부와 청소 유닛(120)의 좌우 양단부 사이의 공간으로서, 이동 로봇(100a)의 내측으로 리세스된 형태를 가진다.
상술한 빈 공간에 장애물이 끼이는 경우, 이동 로봇(100a)가 장애물에 걸려 움직이지 못하는 문제가 초래될 수 있다. 이를 방지하기 위하여, 커버 부재(129)가 빈 공간의 적어도 일부를 덮도록 배치될 수 있다.
커버부재(129)는 청소기 본체(110) 또는 청소 유닛(120)에 구비될수 있다. 본 실시예에서는, 청소 유닛(120)의 후단부 양측에 각각 커버부재(129)가 돌출 형성되어, 청소기 본체(110)의 외주면을 덮도록 배치된 것을 보이고 있다.
커버부재(129)는 빈 공간, 즉 청소기 본체(110)와 청소 유닛(120) 간의 빈 공간의 적어도 일부를 메우도록 배치된다. 따라서, 빈 공간에 장애물이 끼이는 것이 방지되거나, 빈 공간에 장애물이 끼이더라도 장애물로부터 용이하게 이탈 가능한 구조가 구현될 수 있다.
청소 유닛(120)에서 돌출 형성된 커버부재(129)는 청소기 본체(110)의 외주면에 지지될 수 있다. 만일, 커버부재(129)가 청소기 본체(110)에서 돌출 형성되는 경우라면, 커버부재(129)는 청소 유닛(120)의 후면부에 지지될 수 있다. 구조에 따르면, 청소 유닛(120)이 장애물과 부딪혀 충격을 받았을 때, 그 충격의 일부가 청소기 본체(110)로 전달되어 충격이 분산될 수 있다.
청소 유닛(120)은 청소기 본체(110)에 착탈 가능하게 결합될 수 있다. 청소 유닛(120)이 청소기 본체(110)로 분리되면, 분리된 청소 유닛(120)을 대체하여 걸레 모듈(미도시)이 청소기 본체(110)에 착탈 가능하게 결합될 수 있다.
따라서, 사용자는 바닥의 먼지를 제거하고자 하는 경우에는 청소기 본체(110)에 청소 유닛(120)을 장착하고, 바닥을 닦고자 하는 경우에는 청소기 본체(110)에 걸레 모듈을 장착할 수 있다.
실시예는 습식 오염영역을 특정하는 액체 감지센서를 더 포함할 수 있다. 액체 감지센서는 청소 유닛(120)의 전방 하단에 배치되어서, 액체류가 청소 유닛(120)으로 흡입되는 것을 방지하고, 액체류를 신속하게 발견하여서, 액체류 위를 청소기 본체(110)가 주행하지 못하게 할 수 있다.
액체 감지센서는 습식 오염영역을 특정하는 다양한 구성을 포함할 수 있다. 일 예로, 액체 감지센서는 습도센서를 포함할 수 있다. 습도센서는 전기 저항식 습도센서 또는 전기 용량식 습도센서가 사용될 수 있다.
다른 예로, 액체 감지센서는 감지부(미도시)가 물이 접촉하면 전기저항이 변하는 것을 이용하여 습식 오염영역을 특정할 수 있다. 액체 감지센서의 감지부는 청소 유닛(120)의 전방 하단에 배치되는 것이 바람직하다.
또 다른 예로, 액체 감지센서는 저항선과 전도선을 포함하고, 액체의 전도성에 의해 저항선 또는 전도선에 쇼트가 일어나는 것을 감지하는 방식으로 구현될 수도 있다.
청소 유닛(120)이 청소기 본체(110)에 장착시, 상술한 커버부재(129)에 의해 장착이 가이드될 수 있다. 즉, 커버부재(129)가 청소기 본체(110)의 외주면을 덮도록 배치됨으로써, 청소기 본체(110)에 대한 청소 유닛(120)의 상대적 위치가 결정될 수 있다.
청소 유닛(120)에는 캐스터(castor, 123)가 구비될 수 있다. 캐스터(123)는 이동 로봇(100a)의 주행을 보조하고, 또한 이동 로봇(100a)를 지지하도록 이루어진다. 청소기 본체(110)에는 센싱 유닛(130)이 배치된다. 도시된 바와 같이, 센싱 유닛(130)은 청소 유닛(120)이 위치하는 청소기 본체(110)의 일측, 즉 청소기 본체(110)의 앞쪽에 배치될 수 있다.
예를 들면, 청소 유닛(120)은 회전축을 중심으로 회전하여 바닥을 스위핑하는 스위핑부(120)와 스위핑부(120)에 회전력을 공급하는 모터(미도시)를 포함할 수 있다.
센싱 유닛(130)은 청소기 본체(110)의 상하 방향으로 청소 유닛(120)과 오버랩 되도록 배치될 수 있다. 센싱 유닛(130)은 청소 유닛(120)의 상부에 배치되어, 이동 로봇(100a)의 가장 앞쪽에 위치하는 청소 유닛(120)이 장애물과 부딪히지 않도록 전방의 장애물이나 지형지물 등을 감지하도록 이루어진다.
센싱 유닛(130)은 이러한 감지 기능 외의 다른 센싱 기능을 추가로 수행하도록 구성될 수 있다. 예로써, 센싱 유닛(130)은 주변의 영상을 획득하기 위한 카메라(131)를 포함할 수 있다. 카메라(131)는 렌즈와 영상 센서(image sensor)를 포함할 수 있다. 또한, 카메라(131)는 청소기 본체(110) 주변의 영상을 제어부(1800)가 처리할 수 있는 전기적 신호로 변환하며, 예를 들어 상방 영상에 대응되는 전기적 신호를 제어부(1800)에 전달할 수 있다. 상방 영상에 대응되는 전기적 신호는 제어부(1800)가 청소기 본체(110)의 위치를 검출하는데 사용될 수 있다.
또한, 센싱 유닛(130)은 이동 로봇(100a)의 주행 면상 또는 주행 경로 상의 벽체, 가구, 및 낭떠러지 등의 장애물을 감지할 수 있다. 또한, 센싱 유닛(130)은 배터리 충전을 수행하는 도킹 기기의 존재를 감지할 수 있다. 또한, 센싱 유닛(130)은 천장 정보를 감지하여서, 이동 로봇(100a)의 청소 영역 또는 청소 구역을 맵핑(Mapping)할 수 있다. 또한, 센싱 유닛(130)은 청소기 본체(110) 주변의 바닥 영상을 획득할 수 있다.
청소기 본체(110)에는 흡입된 공기 중의 먼지를 분리하여 집진하는 먼지통(140)이 착탈 가능하게 결합된다. 또한, 먼지통(140)에는 먼지통(140)을 덮는 먼지통 덮개(150)가 구비된다. 일 실시예로, 먼지통 덮개(150)는 청소기 본체(110)에 힌지 결합되어 회동 가능하게 구성될 수 있다. 먼지통 덮개(150)는 먼지통(140) 또는 청소기 본체(110)에 고정되어 먼지통(140)의 상면을 덮은 상태를 유지할 수 있다. 먼지통 덮개(150)가 먼지통(140)의 상면을 덮도록 배치된 상태에서는, 먼지통 덮개(150)에 의해 먼지통(140)이 청소기 본체(110)로부터 분리되는 것이 방지될 수 있다.
먼지통(140)의 일부는 먼지통 수용부(113)에 수용되되, 먼지통(140)의 다른 일부는 청소기 본체(110)의 후방(즉, 정방향(F)에 반대되는 역방향(R))을 향하여 돌출되게 형성될 수 있다.
먼지통(140)에는 먼지가 포함된 공기가 유입되는 입구와 먼지가 분리된 공기가 배출되는 출구가 형성되며, 청소기 본체(110)에 먼지통(140)의 장착시 입구와 출구는 본체(110)의 내측벽에 형성된 개구(155)를 통해 연통되도록 구성된다. 이에 의하여, 청소기 본체(110) 내부의 흡기유로와 배기유로가 형성될 수 있다.
이러한 연결관계에 따라, 청소 유닛(120)을 통하여 유입된 먼지가 포함된 공기는 청소기 본체(110) 내부의 흡기유로를 거쳐, 먼지통(140)으로 유입되고, 먼지통(140)의 필터 내지는 사이클론을 거치면서 공기와 먼지가 상호 분리된다. 먼지는 먼지통(140)에 집진되며, 공기는 먼지통(140)에서 배출된 후 청소기 본체(110) 내부의 배기유로를 거쳐 최종적으로 배기구(112)를 통하여 외부로 배출된다.
이하의 도 4에서는 이동 로봇(100a)의 구성요소와 관련된 일 실시예가 설명된다.
본 발명의 일 실시 예에 따른 이동 로봇(100a)는, 통신부(1100), 입력부(1200), 주행부(1300), 센싱부(1400), 출력부(1500), 전원부(1600), 메모리(1700), 제어부(1800), 청소부(1900) 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
이때, 도 4에 도시한 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동로봇이 구현될 수 있음은 물론이다. 또한, 전술한 바와 같이, 본 발명에서 설명되는 복수의 이동 로봇은 이하에서 설명된 구성요소들 중 일부만 동일한 구성요소를 포함할 수 있다. 즉, 복수의 이동로봇이 각각 서로 다른 구성요소로 이루어질 수 있다.
이하, 각 구성요소들에 대해 살펴보기로 한다. 우선, 전원부(1600)는 외부 상용 전원에 의해 충전 가능한 배터리를 구비하여 이동 로봇 내로 전원을 공급한다. 전원부(1600)는 이동 로봇에 포함된 각 구성들에 구동 전원을 공급하여, 이동 로봇이 주행하거나 특정 기능을 수행하는데 요구되는 동작 전원을 공급할 수 있다.
이때, 제어부(1800)는 배터리의 전원 잔량을 감지하고, 전원 잔량이 부족하면 외부 상용 전원과 연결된 충전대로 이동하도록 제어하여, 충전대로부터 충전 전류를 공급받아 배터리를 충전할 수 있다. 배터리는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(1800)에 전달될 수 있다. 출력부(1500)은 제어부(1800)에 의해 배터리 잔량을 출력부(1500)에 표시할 수 있다.
배터리는 이동로봇 중앙의 하부에 위치할 수도 있고, 좌, 우측 중 어느 한쪽에 위치할 수도 있다. 후자의 경우, 이동 로봇은 배터리의 무게 편중을 해소하기 위해 균형추를 더 구비할 수 있다.
제어부(1800)는, 인공 지능 기술에 기반하여 정보들을 처리하는 역할을 수행하는 것으로, 정보의 학습, 정보의 추론, 정보의 지각, 자연 언어의 처리 중 적어도 하나를 수행하는 하나 이상의 모듈을 포함할 수 있다.
제어부(1800)는 머신 러닝(machine running) 기술을 이용하여, 청소기 내에 저장된 정보, 이동 단말기 주변의 환경 정보, 통신 가능한 외부 저장소에 저장된 정보 등 방대한 양의 정보(빅데이터, big data)를 학습, 추론, 처리 중 적어도 하나를 수행할 수 있다.
그리고, 제어부(1800)는 머신 러닝 기술을 이용하여 학습된 정보들을 이용하여, 실행 가능한 적어도 하나의 청소기의 동작을 예측(또는 추론)하고, 적어도 하나의 예측된 동작들 중 실현성이 가장 높은 동작이 실행되도록 청소기를 제어할 수 있다. 머신 러닝 기술은 적어도 하나의 알고리즘에 근거하여, 대규모의 정보들을 수집 및 학습하고, 학습된 정보를 바탕으로 정보를 판단 및 예측하는 기술이다.
정보의 학습이란 정보들의 특징, 규칙, 판단 기준 등을 파악하여, 정보와 정보 사이의 관계를 정량화하고, 정량화된 패턴을 이용하여 새로운 데이터들을 예측 하는 동작이다.
머신 러닝 기술이 사용하는 알고리즘은 통계학에 기반한 알고리즘이 될 수 있으며, 예를 들어, 트리 구조 형태를 예측 모델로 사용하는 의사 결정 나무(decision tree), 생물의 신경 네트워크 구조와 기능을 모방하는 인공 신경망(neural network), 생물의 진화 알고리즘에 기반한 유전자 프로그래밍(genetic programming), 관측된 예를 군집이라는 부분집합으로 분배하는 군집화(Clustering), 무작위로 추출된 난수를 통해 함수값을 확률로 계산하는 몬테카를로 방법(Monter carlo method) 등이 될 수 있다.
머신 러닝 기술의 한 분야로써, 딥러닝 기술은 인공 신경망(Deap Neuron Network, DNN) 알고리즘을 이용하여, 정보들을 학습, 판단, 처리 중 적어도 하나를 수행하는 기술이다. 인공 신경망(DNN)은 레이어와 레이어 사이를 연결하고, 레이어와 레이어 사이의 데이터를 전달하는 구조를 가질 수 있다. 이러한 딥러닝 기술은 병렬 연산에 최적화된 GPU(graphic processing unit)를 이용하여 인공 신경망(DNN)을 통하여 방대한 양의 정보를 학습할 수 있다.
제어부(1800)는 외부의 서버 또는 메모리에 저장된 트레이닝 데이터를 이용하며, 소정의 물체를 인식하기 위한 특징을 검출하는 학습 엔진을 탑재할 수 있다. 이때, 물체를 인식하기 위한 특징에는 물체의 크기, 형태 및 음영 등을 포함할 수 있다.
구체적으로, 제어부(1800)는 청소기에 구비된 카메라를 통해 획득된 영상 중 일부를 학습 엔진에 입력하면, 학습 엔진은 입력된 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다. 더욱 구체적으로, 제어부(1800)는 사물로 인식된 것 중에 인공표식을 다양한 방법을 통해 인식할 수 있다.
이와 같이, 학습 엔진을 청소기의 주행에 적용하는 경우, 제어부(1800)는 청소기의 주행에 방해되는 의자 다리, 선풍기, 특정 형태의 발코니 틈과 같은 장애물이 청소기 주변에 존재하는지 여부를 인식할 수 있으므로, 청소기 주행의 효율 및 신뢰도를 높일 수 있다.
한편, 위와 같은 학습 엔진은 제어부(1800)에 탑재될 수도 있고, 외부 서버에 탑재될 수도 있다. 학습 엔진이 외부 서버에 탑재된 경우, 제어부(1800)는 분석의 대상인 적어도 하나의 영상을 외부 서버로 전송하도록 통신부(1100)를 제어할 수 있다.
외부 서버는 청소기로부터 전송받은 영상을 학습 엔진에 입력함으로서, 해당 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다. 아울러, 외부 서버는 인식결과와 관련된 정보를 다시 청소기로 전송할 수 있다. 이때, 인식결과와 관련된 정보는 분석의 대상인 영상에 포함된 객체의 개수, 각 개체의 이름과 관련된 정보를 포함할 수 있다.
한편, 주행부(1300)는 모터를 구비하여, 모터를 구동함으로써, 좌, 우측 주바퀴를 양 방향으로 회전시켜 본체를 회전 또는 이동시킬 수 있다. 이때, 좌, 우측 주바퀴는 독립적으로 움직일 수 있다. 주행부(1300)는 이동 로봇의 본체를 전후좌우로 진행시키거나, 곡선주행시키거나, 제자리 회전시킬 수 있다.
한편, 입력부(1200)는 사용자로부터 이동로봇에 대한 각종 제어 명령을 입력받는다. 입력부(1200)는 하나 이상의 버튼을 포함할 수 있고, 예를 들어, 입력부(1200)는 확인버튼, 설정버튼 등을 포함할 수 있다. 확인버튼은 감지 정보, 장애물 정보, 위치 정보, 맵 정보를 확인하는 명령을 사용자로부터 입력 받기 위한 버튼이고, 설정버튼은 정보들을 설정하는 명령을 사용자로부터 입력받기 위한 버튼이다.
또한, 입력부(1200)는 이전 사용자 입력을 취소하고 다시 사용자 입력을 받기 위한 입력재설정버튼, 기 설정된 사용자 입력을 삭제하기 위한 삭제버튼, 작동 모드를 설정하거나 변경하는 버튼, 충전대로 복귀하도록 하는 명령을 입력받는 버튼 등을 포함할 수 있다.
또한, 입력부(1200)는 하드 키나 소프트 키, 터치패드 등으로 이동로봇의 상부에 설치될 수 있다. 또, 입력부(1200)는 출력부(1500)와 함께 터치 스크린의 형태를 가질 수 있다.
한편, 출력부(1500)는, 이동 로봇의 상부에 설치될 수 있다. 물론 설치 위치나 설치 형태는 달라질 수 있다. 예를 들어, 출력부(1500)는 배터리 상태 또는 주행 방식 등을 화면에 표시할 수 있다.
또한, 출력부(1500)는, 센싱부(1400)가 검출한 이동 로봇 내부의 상태 정보, 예를 들어 이동 로봇에 포함된 각 구성들의 현재 상태를 출력할 수 있다. 또, 출력부(1500)는 센싱부(1400)가 검출한 외부의 상태 정보, 장애물 정보, 위치 정보, 지도 정보 등을 화면에 디스플레이할 수 있다.
출력부(1500)는 발광 다이오드(Light Emitting Diode; LED), 액정 표시 장치(Liquid Crystal Display; LCD), 플라즈마 표시 패널(Plasma Display Panel), 유기 발광 다이오드(Organic Light Emitting Diode; OLED) 중 어느 하나의 소자로 형성될 수 있다.
출력부(1500)는, 제어부(1800)에 의해 수행되는 이동 로봇의 동작 과정 또는 동작 결과를 청각적으로 출력하는 음향 출력 수단을 더 포함할 수 있다. 예를 들어, 출력부(1500)는 제어부(1800)에 의해 생성된 경고 신호에 따라 외부에 경고음을 출력할 수 있다.
이때, 음향 출력 수단(미도시)은 비퍼(beeper), 스피커 등의 음향을 출력하는 수단일 수 있고, 출력부(1500)는 메모리(1700)에 저장된 소정의 패턴을 가진 오디오 데이터 또는 메시지 데이터 등을 이용하여 음향 출력 수단을 통해 외부로 출력할 수 있다.
따라서, 본 발명의 일 실시예에 따른 이동 로봇은, 출력부(1500)를 통해 주행 영역에 대한 환경 정보를 화면에 출력하거나 음향으로 출력할 수 있다. 또 다른 실시예에 따라, 이동 로봇은 출력부(1500)를 통해 출력할 화면이나 음향을 단말 장치가 출력하도록, 지도 정보 또는 환경 정보를 통신부(1100)릍 통해 단말 장치에 전송할 수 있다.
메모리(1700)는 이동로봇을 제어 또는 구동하는 제어 프로그램 및 그에 따른 데이터를 저장한다. 메모리(1700)는 오디오 정보, 영상 정보, 장애물 정보, 위치 정보, 지도 정보 등을 저장할 수 있다. 또, 메모리(1700)는 주행 패턴과 관련된 정보를 저장할 수 있다.
메모리(1700)는 비휘발성 메모리를 주로 사용한다. 여기서, 비휘발성 메모리(Non-Volatile Memory, NVM, NVRAM)는 전원이 공급되지 않아도 저장된 정보를 계속 유지할 수 있는 저장 장치로서, 일 예로, 롬(ROM), 플래시 메모리(Flash Memory), 마그네틱 컴퓨터 기억 장치(예를 들어, 하드 디스크, 디스켓 드라이브, 마그네틱 테이프), 광디스크 드라이브, 마그네틱 RAM, PRAM 등일 수 있다.
한편, 센싱부(1400)는, 외부 신호 감지 센서, 전방 감지 센서, 낭떠러지 감지 센서, 2차원 카메라 센서, 액체 감지센서, 먼지 센서, 바닥 영상센서, 자이로 센서, 가속도 센서, 스위핑 부하센서(1440) 및 3차원 카메라 센서 중 적어도 하나를 포함할 수 있다.
외부 신호 감지 센서는 이동 로봇의 외부 신호를 감지할 수 있다. 외부 신호 감지 센서는, 일 예로, 적외선 센서(Infrared Ray Sensor), 초음파 센서(Ultra Sonic Sensor), RF 센서(Radio Frequency Sensor) 등일 수 있다.
이동 로봇은 외부 신호 감지 센서를 이용하여 충전대가 발생하는 안내 신호를 수신하여 충전대의 위치 및 방향을 확인할 수 있다. 이때, 충전대는 이동 로봇이 복귀 가능하도록 방향 및 거리를 지시하는 안내 신호를 발신할 수 있다. 즉, 이동 로봇은 충전대로부터 발신되는 신호를 수신하여 현재의 위치를 판단하고 이동 방향을 설정하여 충전대로 복귀할 수 있다.
한편, 전방 감지 센서는, 이동 로봇의 전방, 구체적으로 이동 로봇의 측면 외주면을 따라 일정 간격으로 설치될 수 있다. 전방 감지 센서는 이동 로봇의 적어도 일 측면에 위치하여, 전방의 장애물을 감지하기 위한 것으로서, 전방 감지 센서는 이동 로봇의 이동 방향에 존재하는 물체, 특히 장애물을 감지하여 검출 정보를 제어부(1800)에 전달할 수 있다. 즉, 전방 감지 센서는, 이동 로봇의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어부(1800)에 전달할 수 있다.
전방 감지 센서는, 일 예로, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서 등일 수 있고, 이동 로봇은 전방 감지 센서로 한 가지 종류의 센서를 사용하거나 필요에 따라 두 가지 종류 이상의 센서를 함께 사용할 수 있다.
일 예로, 초음파 센서는 일반적으로 원거리의 장애물을 감지하는 데 에 주로 사용될 수 있다. 초음파 센서는 발신부와 수신부를 구비하여, 제어부(1800)는 발신부를 통해 방사된 초음파가 장애물 등에 의해 반사되어 수신부에 수신되는 지의 여부로 장애물의 존부를 판단하고, 초음파 방사 시간과 초음파 수신시간을 이용하여 장애물과의 거리를 산출할 수 있다.
또한, 제어부(1800)는 발신부에서 방사된 초음파와, 수신부에 수신되는 초음파를 비교하여, 장애물의 크기와 관련된 정보를 검출할 수 있다. 예를 들어, 제어부(1800)는 수신부에 더 많은 초음파가 수신될수록, 장애물의 크기가 큰 것으로 판단할 수 있다.
일 실시 예에서, 복수(일 예로, 5개)의 초음파 센서가 이동 로봇의 전방 측면에 외주면을 따라 설치될 수 있다. 이때, 바람직하게 초음파 센서는 발신부와 수신부가 교대로 이동 로봇의 전면에 설치될 수 있다.
즉, 발신부는 본체의 전면 중앙으로부터 좌, 우측에 이격되도록 배치될 수 있고, 수신부의 사이에 하나 또는 둘 이상의 발신부가 배치되어 장애물 등 으로부터 반사된 초음파 신호의 수신 영역을 형성할 수 있다. 이와 같은 배치로 센서의 수를 줄이면서 수신 영역을 확장할 수 있다. 초음파의 발신 각도는 크로스토크(crosstalk) 현상을 방지하도록 서로 다른 신호에 영향을 미치지 아니하는 범위의 각을 유지할 수 있다. 또한, 수신부들의 수신 감도는 서로 다르게 설정될 수 있다.
또한, 초음파 센서에서 발신되는 초음파가 상향으로 출력되도록 초음파 센서는 일정 각도만큼 상향으로 설치될 수 있고, 이때, 초음파가 하향으로 방사되는 것을 방지하기 위해 소정의 차단 부재를 더 포함할 수 있다.
한편, 전방 감지 센서는, 전술한 바와 같이, 두 가지 종류 이상의 센서를 함께 사용할 수 있고, 이에 따라, 전방 감지 센서는 적외선 센서, 초음파 센서, RF 센서 등 중 어느 한 가지 종류의 센서를 사용할 수 있다.
일 예로, 전방 감지 센서는 초음파 센서 이외에 다른 종류의 센서로 적외선 센서를 포함할 수 있다. 적외선 센서는 초음파 센서와 함께 이동 로봇의 외주면에 설치될 수 있다. 적외선 센서 역시, 전방이나 측면에 존재하는 장애물을 감지하여 장애물 정보를 제어부(1800)에 전달할 수 있다. 즉, 적외선 센서는, 이동 로봇의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어부(1800)에 전달한다. 따라서, 이동 로봇은 본체가 장애물과의 충돌없이 특정 영역 내에서 이동할 수 있다.
한편, 낭떠러지 감지 센서(또는 클리프 센서(Cliff Sensor))는, 다양한 형태의 광 센서를 주로 이용하여, 이동 로봇의 본체를 지지하는 바닥의 장애물을 감지할 수 있다. 즉, 낭떠러지 감지 센서는, 바닥의 이동 로봇의 배면에 설치되되, 이동 로봇의 종류에 따라 다른 위치에 설치될 수 있음은 물론이다.
낭떠러지 감지 센서는 이동 로봇의 배면에 위치하여, 바닥의 장애물을 감지하기 위한 것으로서, 낭떠러지 감지 센서는 장애물 감지 센서와 같이 발광부와 수광부를 구비한 적외선 센서, 초음파 센서, RF 센서, PSD(Position Sensitive Detector) 센서 등 일수 있다.
일 예로, 낭떠러지 감지 센서 중 어느 하나는 이동 로봇의 전방에 설치되고, 다른 두 개의 낭떠러지 감지 센서는 상대적으로 뒤쪽에 설치될 수 있다. 예를 들어, 낭떠러지 감지 센서는 PSD 센서일 수 있으나, 복수의 서로 다른 종류의 센서로 구성될 수도 있다.
PSD 센서는 반도체 표면저항을 이용해서 1개의 p-n접합으로 입사광의 단장거리 위치를 검출한다. PSD 센서에는 일축 방향만의 광을 검출하는 1차원 PSD 센서와, 평면상의 광위치를 검출할 수 있는 2차원 PSD 센서가 있으며, 모두 pin 포토 다이오드 구조를 가질 수 있다. PSD 센서는 적외선 센서의 일종으로서, 적외선을 이용하여, 적외선을 송신한 후 장애물에서 반사되어 돌아오는 적외선의 각도를 측정하여 거리를 측정한다. 즉, PSD 센서는 삼각측량방식을 이용하여, 장애물과의 거리를 산출한다.
PSD 센서는 장애물에 적외선을 발광하는 발광부와, 장애물로부터 반사되어 돌아오는 적외선을 수광하는 수광부를 구비하되, 일반적으로 모듈 형태로 구성된다. PSD 센서를 이용하여, 장애물을 감지하는 경우, 장애물의 반사율, 색의 차이에 상관없이 안정적인 측정값을 얻을 수 있다.
청소부(1900)는 제어부(1800)로부터 전달되는 제어명령에 따라, 지정된 청소 영역을 청소한다. 청소부(1900)는 지정된 청소 영역의 먼지를 비산시키는 브러쉬(미도시)를 통해 주변의 먼지를 비산시킨 다음, 흡입 팬 및 흡입 모터를 구동하여 비산된 먼지를 흡입한다. 또한, 청소부(1900)는 구성의 교체에 따라 지정된 청소 영역에 걸레질을 수행할 수도 있다.
또한, 제어부(1800)는 낭떠러지 감지 센서가 지면을 향해 발광한 적외선의 발광신호와 장애물에 의해 반사되어 수신되는 반사신호 간의 적외선 각도를 측정하여, 낭떠러지를 감지하고 그 깊이를 분석할 수 있다.
한편, 제어부(1800)는 낭떠러지 감지 센서를 이용하여 감지한 낭떠 러지의 지면 상태에 따라 통과 여부를 판단할 수 있고, 판단 결과에 따라 낭떠러지의 통과 여부를 결정할 수 있다. 예를 들어, 제어부(1800)는 낭떠러지 감지 센서를 통해 낭떠러지의 존재 여부 및 낭떠러지 깊이를 판단한 다음, 낭떠러지 감지 센서를 통해 반사 신호를 감지한 경우에만 낭떠러지를 통과하도록 한다. 다른 예로, 제어부(1800)는 낭떠러지 감지 센서를 이용하여 이동 로봇의 들림 현상을 판단할 수도 있다.
한편, 2차원 카메라 센서는, 이동 로봇의 일면에 구비되어, 이동 중 본체 주변과 관련된 이미지 정보를 획득한다. 옵티컬 플로우 센서(Optical Flow Sensor)는, 센서 내에 구비된 이미지 센서로부터 입력되는 하방 영상을 변환하여 소정 형식의 영상 데이터를 생성한다. 생성된 영상 데이터는 메모리(1700)에 저장될 수 있다.
또한, 하나 이상의 광원이 옵티컬 플로우 센서에 인접하여 설치될 수 있다. 하나 이상의 광원은, 이미지 센서에 의해 촬영되는 바닥면의 소정 영역에 빛을 조사한다. 즉, 이동 로봇이 바닥면을 따라 특정 영역을 이동하는 경우에, 바닥면이 평탄하면 이미지 센서와 바닥면 사이에는 일정한 거리가 유지된다.
반면, 이동 로봇이 불균일한 표면의 바닥면을 이동하는 경우에는 바닥면의 요철 및 장애물에 의해 일정 거리 이상 멀어지게 된다. 이때 하나 이상의 광원은 조사되는 빛의 양을 조절하도록 제어부(1800)에 의해 제어될 수 있다. 광원은 광량 조절이 가능한 발광 소자, 예를 들어 LED(Light Emitting Diode) 등일 수 있다.
옵티컬 플로우 센서를 이용하여, 제어부(1800)는 이동 로봇의 미끄러짐과 무관하게 이동 로봇의 위치를 검출할 수 있다. 제어부(1800)는 옵티컬 플로우 센서에 의해 촬영된 영상 데이터를 시간에 따라 비교 분석하여 이동 거리 및 이동 방향을 산출하고, 이를 근거로 이동 로봇의 위치를 산출할 수 있다. 옵티컬 플로우 센서를 이용하여 이동 로봇의 하방에 대한 이미지 정보를 이용함으로써, 제어부(1800)는 다른 수단에 의해 산출한 이동 로봇의 위치에 대하여 미끄러짐에 강인한 보정을 할 수 있다.
3차원 카메라 센서는 이동 로봇의 본체 일면 또는 일부분에 부착되어, 본체의 주위와 관련된 3차원 좌표 정보를 생성할 수 있다. 즉, 3차원 카메라 센서는 이동 로봇과 피촬영 대상체의 원근거리를 산출하는 3차원 뎁스 카메라(3D Depth Camera)일 수 있다.
구체적으로, 3차원 카메라 센서는 본체의 주위와 관련된 2차원 영상을 촬영할 수 있으며, 촬영된 2차원 영상에 대응되는 복수의 3차원 좌표 정보를 생성할 수 있다.
일 실시예에서 3차원 카메라 센서는 기존의 2차원 영상을 획득하는 카메라를 2개 이상 구비하여, 2개 이상의 카메라에서 획득되는 2개 이상의 영상을 조합하여, 3차원 좌표 정보를 생성하는 스테레오 비전 방식으로 형성될 수 있다.
구체적으로, 실시예에 따른 3차원 카메라 센서는 본체의 전방을 향해 하측으로 제1 패턴의 광을 조사하는 제1 패턴 조사부와, 본체의 전방을 향해 상측으로 제2 패턴의 광을 조사하는 제2 패턴 조사부 및 본체의 전방의 영상을 획득하는 영상 획득부를 포함할 수 있다. 이로써, 영상 획득부는 제1 패턴의 광과 제2 패턴의 광이 입사된 영역의 영상을 획득할 수 있다.
또 다른 실시예에서 3차원 카메라 센서는 단일 카메라와 함께 적외선 패턴을 조사하는 적외선 패턴 방출부를 구비하고, 적외선 패턴 방출부에서 조사된 적외선 패턴이 피촬영 대상체에 투영된 모양을 캡쳐함으로써, 3차원 카메라 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3차원 카메라 센서는 IR(Infra Red) 방식의 3차원 카메라 센서일 수 있다.
또 다른 실시예에서 3차원 카메라 센서는 단일 카메라와 함께 빛을 방출하는 발광부를 구비하고, 발광부에서 방출되는 레이저 중 피촬영 대상체로부터 반사되는 일부를 수신하며, 수신된 레이저를 분석함으로써, 3차원 카메라 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3차원 카메라 센서는 TOF(Time of Flight) 방식의 3차원 카메라 센서일 수 있다.
구체적으로, 위와 같은 3차원 카메라 센서의 레이저는 적어도 일방향으로 연장된 형태의 레이저를 조사하도록 구성된다. 일 예에서, 3차원 카메라 센서는 제1 및 제2 레이저를 구비할 수 있으며, 제1 레이저는 서로 교차하는 직선 형태의 레이저를 조사하고, 제2 레이저는 단일의 직선 형태의 레이저를 조사할 수 있다. 이에 따르면, 최하단 레이저는 바닥 부분의 장애물을 감지하는 데에 이용되고, 최상단 레이저는 상부의 장애물을 감지하는 데에 이용되며, 최하단 레이저와 최상단 레이저 사이의 중간 레이저는 중간 부분의 장애물을 감지하는 데에 이용된다.
먼지센서는 청소유닛에 의해 흡입된 공기 중의 먼지 농도를 측정한다. 먼지센서는 광학센서 등으로 구성될 수 있다.
바닥 영상 센서는 본체 주변의 바닥의 영상을 획득하는 카메라일 수 있다. 물론, 바닥 영상 센서는 청소 유닛(120)의 전단에 설치되거나, 본체의 전단에 설치된 센싱 유닛(130)의 일부를 구성할 수 있다.
스위핑 부하센서(1440)는 스위핑부(120)의 부하를 측정한다. 구체적으로, 스위핑 부하센서(1440)는 스위핑부(120)와 연결된 모터의 부하를 측정할 수 있다.
한편, 통신부(1100)는 단말 장치 및/또는 특정 영역 내 위치한 타기기(본 명세서에서는 "가전 기기"라는 용어와 혼용하기로 한다)와 유선, 무선, 위성 통신 방식들 중 하나의 통신 방식으로 연결되어 신호와 데이터를 송수신한다.
통신부(1100)는 특정 영역 내에 위치한 타 기기와 데이터를 송수신할 수 있다. 이때, 타 기기는 네트워크에 연결하여 데이터를 송수신할 수 있는 장치이면 어느 것이어도 무방하며, 일 예로, 공기 조화 장치, 난방 장치, 공기 정화 장치, 전등, TV, 자동차 등과 같은 장치일 수 있다. 또한, 타 기기는, 문, 창문, 수도 밸브, 가스 밸브 등을 제어하는 장치 등일 수 있다. 또한, 타 기기는, 온도, 습도, 기압, 가스 등을 감지하는 센서 등일 수 있다.
또한, 통신부(1100)는 특정 영역 또는 일정 범위 내에 위치한 다른 이동 로봇(100b)와 통신할 수 있다.
센싱부(1400)는 바디의 바닥에 대한 기울기 정보를 획득하는 기울기 정보 획득부(미도시)를 포함할 수 있다. 예를 들어, 기울기 정보 획득부는 자이로 센서를 포함할 수 있다. 기울기 정보 획득부는 자이로 센서의 감지 신호를 기울기 정보로 변환하는 처리 모듈(미도시)를 포함할 수 있다. 처리 모듈은 제어부(1800)의 일부로서, 알고리즘이나 프로그램으로 구현될 수 있다. 다른 예로, 기울기 정보 획득부는 자기장 센서를 포함하여, 지구의 자기장에 대한 감지 정보를 근거로 하여 기울기 정보를 획득할 수도 잇다.
여기서, 바닥은 수평면을 의미하는 것으로서, 중력 방향에 수직한 평면을 의미한다. 자이로 센서는 바디(30)의 수평면에 대한 회전 각속도에 대한 정보를 획득할 수 있다. 구체적으로 자이로 센서는 수평면에 평행하고 서로 직교하는 X축 및 Y축을 중심으로 한 회전 각속도를 감지할 수 있다. 처리 모듈을 통해 X축에 대한 회전 각속도(롤)와 Y축에 대한 회전 각속도(피치)를 합성하여, 수평면에 대한 회전 각속도를 산출할 수 있다. 처리 모듈을 통해 회전 각속도를 적분하여, 기울기 값을 산출할 수 있다.
자이로 센서는 정해진 기준 방향을 감지할 수 있다. 기울기 정보 획득부는 기준 방향을 근거로 하여 기울기 정보를 획득할 수 있다.
자이로 센서는 서로 직교하는 공간 좌표계의 3개의 축에 대한 자이로(Gyro) 센싱 기능을 구비할 수 있다. 자이로 센서에서 수집된 정보는 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보일 수 있다. 처리 모듈은, 롤링(roll), 피칭(pitch), 요(yaw) 각속도를 적분하여 이동 로봇(100a)의 방향각의 산출이 가능하다.
자이로 센서는 바디에 배치되는 것이 바람직하다. 이에 따라, 자이로 센서는, 바디(30)를 속하는 후술할 나머지 파트(Q)에 배치된다. 또한, 기울기 정보 획득부는 나머지 파트(Q)에 배치된다.
자이로 센서는, 별도의 센서로 구현될 수도 있고, 후술할 IMU 센서의 일부 기능으로서 구현될 수도 있다.
센싱부(1400)는 자기장을 감지하는 자기장 센서를 포함할 있다. 자기장 센서는 서로 직교하는 공간 좌표계의 3개의 축에 대한 자기장 센싱 기능을 구비할 수 있다. 자기장 센서는 방향각(방위각)을 측정할 수 있다. 자기장 센서는, 별도의 센서로 구현될 수도 있고, 후술할 IMU 센서의 일부 기능으로서 구현될 수도 있다.
센싱부(1400)는 바디(30)에 설치되어 이동 로봇(100a)의 가속도를 감지하는 가속도 센서를 포함할 수 있다. 가속도 센서는 서로 직교하는 공간 좌표계의 3개의 축에 대한 가속도 센싱 기능을 구비할 수 있다. 가속도 센서는, 별도의 센서로 구현될 수도 있고, 후술할 IMU 센서의 일부 기능으로서 구현될 수도 있다.
이동 로봇(100a)는 관성 센서 유닛(IMU)(미도시)을 포함할 수 있다. 관성 센서 유닛의 정보를 기반으로, 이동 로봇(100a)는 주행 모션을 안정화시킬 수 있다. 관성 센서 유닛(IMU)은, 자이로 센서의 기능, 자기장 센서의 기능 및 가속도 센서의 기능을 가질 수 있다.
이동 로봇(100a)은 다양한 센서를 이용하여 선제적으로 바닥(등반 가능한 바닥 장애물을 포함)의 재질이 위험 재질인지 판단하고, 위험 재질로 판단된 영역을 서브 영역으로 특정할 수 있다. 또한, 이동 로봇(100a)(제1 이동로봇)은 다양한 센서(레이져 센서, 적외선 센서, 영상센서)를 이용하여 장애물의 높이를 측정하고, 장애물의 높이 때문에 습식 로봇(제2 이동 로봇)이 등반할 수 없는 영역과, 등반할 수 없는 장애물에 의해 닫힌 영역을 서브 영역으로 특정할 수 있다. 서브 영역은 습식 로봇이 진입 불가능한 영역 및 습식 로봇의 청소가 어려운 영역을 포함한다.
물론, 후술하는 바와 같이 이동 로봇(100a)은 서브 영역 정보를 다른 이동 로봇(100b) 또는 서버에게서 전달받을 수도 있다.
제어부(1800)은 옵티컬 플로우 센서, 가속도 센서, 클리프 센서 및 스위핑 부하 센서(1440) 중 적어도 하나의 센서에서 입력된 정보를 바탕으로 주행 구역 내에 서브 영역을 감지한다.
제어부(1800)은 옵티컬 플로우 센서, 가속도 센서, 클리프 센서 및 스위핑 부하 센서(1440)에서 입력된 정보들을 독립적으로 또는 종합적으로 고려하여 주행 구역 내에 서브 영역을 판단할 수 있다.
제어부(1800)은 옵티컬 플로우 센서를 통해 획득된 하방 영상 정보를 근거로 바닥의 재질을 판단하고 바닥의 재질이 위험 재질인 경우, 현재 위치(또는 현재 위치와 그 주변 지역)를 서브 영역으로 설정할 수 있다.
구체적으로, 제어부(1800)은 하방 영상 정보에서 바닥의 반사도 값, 하방 영상의 이미지 퀄리티 값 및 하방 영상의 프레임 레이트 중 적어도 하나를 산정하고, 조건 1 내지 3 중 적어도 하나를 만족하는 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
<조건 1>
이미지 퀄리티 값이 기 설정된 기준 이미지 퀄리티 값 보다 작음
<조건 2>
프레임 레이트가 기 설정된 기준 프레임 레이트 보다 작음
<조건 3>
바닥의 반사도 값이 기 설정된 기준 반사도 값 보다 작음
다른 예를 들면, 제어부(1800)은, 하방 영상 정보에서 하방 영상의 이미지 퀄리티 값을 산정하고, 이미지 퀄리티 값이 기 설정된 기준 이미지 퀄리티 값 보다 작은 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
다른 예로, 제어부(1800)은, 하방 영상 정보에서 하방 영상의 프레임 레이트를 산정하고, 프레임 레이트가 기 설정된 기준 프레임 레이트 보다 작은 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
또 다른 예로, 제어부(1800)은 하방 영상 정보에서 바닥의 반사도 값을 산정하고, 바닥의 반사도 값이 기 설정된 기준 반사도 값 보다 작은 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
여기서 이미지 퀄리티 값이란 옵티컬 플로우 센서를 통해 촬영한 하방 이미지의 상태를 수치화 한 값으로 정의한다.
이미지 퀄리티 값은, 광원에서 방출된 빛이 바닥에 형성된 상의 형태로 판단할 수 있다. 즉, 광원에서 일정한 모양의 평면광을 바닥에 방출하고, 이를 촬영한 하방 영상에서, 광원에서 방출한 평면광의 모양과 유사한 정도를 이미지 퀄리티 값으로 정의할 수 있다.
다른 예로, 이미지 퀄리티 측정 과정은 히스토그램을 통한 평활화 처리 과정 후, 명암 비율이 적합한지를 측정하는 과정일 수 있다. 이미지 퀄리티 측정 과정은 히스토그램을 통한 평활화 처리 과정 후, 명암 비율이 적합한지를 측정하는 과정일 수 있다. 이미지 퀄리티 측정 과정은 이진화 과정 및 명암 비율 적합성 확인 과정을 포함할 수 있다.
평활화 처리 과정은 히스토그램(histogram) 분석을 이용하여 하방 이미지의 인식률을 향상시키기 위한 과정일 수 있다. 획득된 하방 이미지는 복수의 픽셀들로 구성될 수 있다. 히스토그램은 하방 이미지에 포함된 복수의 픽셀들에 대한 명암 값의 분포를 나타낸 것이다. 즉, 히스토그램은 하방 이미지에서 분포된 밝은 부분과 어두운 부분에 대한 분포를 나타낸 것이다. 구체적으로, 256 Gray Level의 영상에서 명암 값의 범위는 0 내지 255를 가 진다. 히스토그램은 각 픽셀에 대한 명암 값의 빈도 수를 막대 그래프로 나타낸 것이다. 평활화 처리 과정은 히스토그램 상에 분포된 명암 값의 분포가 한쪽으로 치우치거나 균일하지 못한 경우, 명암 값의 분포를 균일화하는 과정이다. 즉, 평활화 처리 과정은 한 곳에 집중되어 있는 명암 값을 펼쳐서 균일환 분포를 갖도록 하는 과정이다. 평활화 처리 과정으로 인해 하방 이미지의 어두운 부분은 밝아지고, 밝은 영상은 어두워져 각 픽셀은 적당한 명암 값을 가질 수 있다.
이진화 과정은 평활화 처리 후 하방 이미지를 구성하는 각 픽셀을 흑 또는 백으로 구분하는 과정일 수 있다. 평활화 처리 후의 하방 이미지는 복잡한 음영을 가질 수 있으므로, 이진화 과정을 통해 각 픽셀은 흑 또는 백으로 이진화 처리될 수 있다. 이진화 과정을 위해 흑과 백으로 구분하기 위한 임계 값이 요구된다. 임계 값은 픽셀을 흑과 백으로 구분하기 위해 설정된 값일 수 있다. 픽셀의 명암 값이 임계 값보다 크면, 0(흑)으로, 픽셀의 명암 값이 임계 값보다 작으면, 1(백)으로 구분될 수 있다.
명암 비율 적합성 확인 과정은 이진화된 복수의 픽셀들의 명암 비율이 기 설정된 비율을 만족하는지 확인하는 과정일 수 있다.
명암 중 흑 비율이 상대적으로 높은 경우, 이미지 퀄리티 값이 작게 되고, 이미지 퀄리티 값이 작은 경우, 바닥의 거칠기가 높거나, 카펫일 수 있다. 따라서, 본 발명은 이미지 퀄리티 값이 기준 이미지 퀄리티 값 보다 작은 경우, 바닥 재질을 위험 재질로 판단한다.
또한, 바닥의 반사도는 백색 픽셀을 흑색 픽셀로 나눈 값일 수 있다. 다른 예로, 바닥의 반사도는 광원에서 발출된 광이 바닥에 반사되어 수광부(미도시)에 입사된 광량 값으로 정의할 수 있다.
바닥의 마루, 대리석 및 장판과 같이 반사도가 좋고 플랫한 재질인 경우, 하방 영상의 이미지 퀄리티 값이 높게 되고, 바닥의 반사도가 높게 되며, 프레임 레이트가 높게 된다. 그러나, 바닥이 반사도가 낮은 재질이거나, 바닥의 거칠기가 높은 경우, 하방 영상의 이미지 퀄리티 값이 낮게 되고, 바닥의 반사도가 낮게 되며, 프레임 레이트가 낮게 된다.
따라서, 본 발명은 이러한 바닥의 재질에 따른 옵티컬 플로우 센서의 하방 영상의 복수의 파라미터의 차이를 기준으로 바닥 재질을 판단하므로, 이동 로봇이 위험지역에 진입 전에 회피가 가능하게 된다. 특히, 하나의 센서로 다수의 파라미터를 교차 및 독립적으로 검증하므로, 정확한 바닥재질의 판단이 가능하다.
따라서, 이동 로봇은 바닥의 반사도가 낮은 영역의 경우 카펫 영역으로 판단하고, 이를 회피하여 주행할 수 있다. 따라서, 걸레의 회전에 의해 이동 로봇에 주행력을 제공하는 이동 로봇이 카펫을 등반하는 경우, 카펫에서 벗어나기가 매우 힘든 문제를 해결할 수 있다.
다른 예로, 제어부(1800)은 클리프 센서에서 획득한 바닥과의 거리 및 옵티컬 플로우 센서를 통해 획득된 하방 영상 정보를 근거로, 바닥의 재질을 판단할 수 있다.
구체적으로, 제어유닛(10)은 클리프 센서에서 획득한 바닥 과의 거리 값이 기준 거리 값 보다 작은 경우 진입 제한 동작을 수행하도록 스위핑 모터를 제어할 수 있다. 이 때, 제어유닛(10)은 옵티컬 플로우 센서를 통해 획득된 하방 영상 정보를 근거로 바닥 재질을 판단할 수도 있다.
제어유닛(10)은 클리프 센서에서 획득한 바닥 과의 거리 값이 기준 거리 값 보다 크고 최대 값 보다 작은 경우 이동 로봇이 정상 주행하도록 스위핑 모터를 제어할 수 있다.
클리프 센서는 바디의 전방 단에 배치되어서, 스핀 맙이 접촉한 바닥(기준 바닥)과 바디의 전당 단 하방의 바닥 사이의 단차를 검출한다. 클리프 센서가 검출한 값을 통해 낭떠러지를 감지할 수 있고, 기준 바닥 보다 높은 바닥을 검출할 수 있다. 기준 바닥 보다 높은 경우, 바닥에 카펫 등이 깔려 있다고 판단하고, 이동 로봇은 이를 회피하게 된다.
클리프 센서와 옵티컬 플로우 센서의 복수의 측정 수단을 사용하여서, 바닥 재질에 대한 판단의 오류를 줄일 수 있게 된다.
또 다른 예로, 이동 로봇은 스핀 맙의 일부가 위험 지역에 진입한 상태에서 현재 위치가 위험 지역인 것을 판단할 수도 있다.
제어유닛(10)은 스위핑 부하 센서(1440)에서 감지된 맙 부하 값을 근거로 이동 로봇(1)를 제어할 수 있다. 구체적으로, 제어유닛(10)은 스위핑 부하 센서(1440)에서 감지된 맙 부하 값을 기 설정된 기준 부하 값 보다 큰 경우 진입 제한 동작을 수행하도록 스위핑 모터(61)를 제어할 수 있다.
또한, 제어유닛(10)은 스위핑 부하 센서(1440)에서 감지된 맙 부하 값을 기 설정된 기준 부하 값 보다 작은 경우 정상 주행 동작을 수행하도록 스위핑 모터(61)를 제어할 수 있다.
또 다른 예로, 제어유닛(10)은, 가속도 값에서 평균 가속도 값을 산정하고, 평균 가속도 값이 기준 평균 가속도 값 보다 큰 경우, 진입 제한 동작을 수행하도록 스위핑 모터를 제어할 수 있다. 또한, 제어유닛(10)은, 가속도 값의 산포도를 산정하고 산도포가 기준 산포도 큰 경우, 진입 제한 동작을 수행하도록 스위핑 모터를 제어할 수 있다.
물론 제어유닛(10)은 평균 가속도 값이 기준 평균 가속도 값 보다 큰 경우, 정상 주행 동작을 수행하도록 스위핑 모터를 제어할 수 있다. 또한, 제어유닛(10)은, 산도포가 기준 산포도 작은 경우, 정사 주행 동작을 수행하도록 스위핑 모터를 제어할 수 있다.
따라서, 본 발명은 클리프 센서 및 옵티컬 플로우 센서에 의해 선제적으로 위험 지역을 판별하지 못한 경우라 하더라도, 스핀 맙의 부하, 가속도 센서의 정보 등 복수 또는 단수의 인자를 통해 위험 지역 진입 초기에 위험 지역 여부를 판단할 수 있다.
또한, 이동 로봇의 회전 동작, 전진 동작 등 다양한 동작에서 이동 로봇의 어느 일부분에 카펫 등이 걸리는 경우를 신속하게 판단할 수 있고, 이를 신속하게 회피할 수 있게 된다.
또 다른 예로, 제어유닛(10)은 하기 조건 4 내지 7 중 적어도 하나를 만족하는 경우, 그 지역을 위험재질로 특정할 수 있다.
<조건>
스위핑 모터의 부하 값이 기 설정된 기준 부하 값 보다 큼
<조건 5>
바닥 과의 거리 값이 기준 거리 값 보다 작음
<조건 6>
평균 가속도 값이 기준 평균 가속도 값 보다 큼
<조건 7>
가속도 산포도가 기준 산포도 보다 큼
또 다른 예로, 제어부(1800)은 조건 1 내지 7 중 적어도 하나를 만족하는 경우, 그 위치를 서브 영역으로 특정할 수 있다.
제어부(1800)는 영상 센서에서 입력된 정보를 바탕을 주행 구역과, 주행 구역을 적어도 복수의 제1 영역 및 제2 영역으로 구분하고, 서브 영역을 특정한다. 제어부(1800)는 제1 영역 내에 서브 영역이 위치되는 경우, 서브 영역을 제외한 제1 영역을 청소한 후, 제2 영역의 청소를 시작하고, 제2 영역의 청소를 끝내고, 제1 영역 내의 서브 영역을 청소하도록 주행부 및 청소유닛을 제어한다.
제어부(1800)는 제1 이동 로봇(100a)과 상이한 방식으로 청소하는 제2 이동 로봇(100b)에 습식 청소 불능 영역의 위치정보를 전송할 수 있다. 제어부(1800)는 제2 이동 로봇에서 제1 영역 청소 완료를 수신하면, 제1 영역 내의 서브 영역을 청소하도록 주행부 및 청소유닛을 제어할 수 있다.
제어부(1800)는, 제1 영역 청소 완료를 완료하면, 제2 이동로봇(100b)에 습식 청소 불능 영역의 위치정보와, 제1 영역에서 서브 영역을 청소하도록 하는 청소 명령을 송신할 수 있다.
제어부(1800)는 주행 구역의 복수의 영역 중 어느 하나의 영역에 서브 영역이 위치되는 경우, 서브 영역이 위치되는 영역을 제1 영역으로 정의할 수 있다. 따라서, 건식 로봇과 습식 로봇이 효율적인 교대 청소가 가능하게 된다.
이하에서 언급되는 ‘걸레’는, 직물이나 종이 재질 등 재질면에서 다양하게 적용될 수 있고, 세척을 통한 반복 사용용 또는 일회용일 수 있다.
이하, 도 5 내지 도 7을 참고하여, 본 발명의 다른 실시예에 따른 이동 로봇(100b)를 전반적으로 설명한다.
본 발명의 실시예 들에 따른 이동 로봇(100b)는 걸레질을 수행한다. 이동 로봇(100b)는 자율 주행이 가능하게 구비될 수 있다. 본 발명의 일 실시예에 따른 이동 로봇(100b)는 제어유닛을 구비하는 바디(30)를 포함한다.
바디(30)는, 외관을 형성하는 케이스(31)와, 케이스(31)의 하측에 배치되는 베이스(32)를 포함한다. 바디(30)는 외면이 기준 반지름과 기준 오차 범위 내의 오차를 가지는 반지름을 가지는 원형의 적어도 일부를 형성한다. 여기서, 기준 반지름과 기준 오차 범위 내의 오차를 가지는 반지름을 가진다는 것은, 원형이 완벽한 원형이 아니고, 각 중심각 마다 또는 각 영역 마다 반지름이 오차 범위 내에서 변할 수 있다는 의미이다.
구체적으로, 바디(30)는 수직방향에서 보아, 50% 이상 원 형상이고, 나머지 부분이 다른 부품과 결합을 고려하여 원 형상에 가깝게 형성될 수 있다. 물론, 여기서, 원은 수학적 의미의 완전한 원을 의미하는 것은 아니고 오차를 가지는 공학적 의미의 원을 의미한다.
이동 로봇(100b)은 바닥(피청소면)과 접촉하여 걸레질하게 구비되는 맙 모듈(40)을 포함한다.
맙 모듈(40)은 바디(30)의 하측에 배치되고, 바디(30)를 지지할 수 있다. 본 실시예에서 바디(30)는 맙 모듈(40) 의해 지지된다. 바디(30)는 외관을 형성한다.
맙 모듈(40)은 바디(30)의 하측에 배치된다. 맙 모듈(40)은 이동 로봇(100b)의 이동을 위한 추진력을 제공한다. 이동 로봇(100b)을 이동시키기 위해 맙 모듈(40)은 이동 로봇(100b)의 후방 측에 배치되는 것이 바람직하다.
맙 모듈(40)은 회전하면서 바닥을 걸레질하게 구비되는 적어도 하나의 걸레부(미도시)를 포함한다. 맙 모듈(40)은 적어도 하나의 스핀맙(41)을 구비하고, 스핀맙(41)은 상측에서 바라볼 때 시계 방향 또는 반시계 방향으로 회전한다. 스핀맙(41)은 바닥에 접촉된다.
본 실시예에서 맙 모듈(40)은 한 쌍의 스핀맙(41a, 41b)를 포함할 수 있다. 한 쌍의 스핀맙(41a, 41b)은 상측에서 바라볼 때 시계 방향 또는 반시계 방향으로 회전하고, 회전을 통해 바닥을 걸레질한다. 한 쌍의 스핀맙(41a, 41b) 중 청소기의 진행방향 정면에서 볼 때 좌측에 배치된 스핀맙(41)을 좌측 스핀맙(41a)이라 하고, 우측에 배치된 스핀맙(41)을 우측 스핀맙(41b)이라 정의한다.
좌측 스핀맙(41a) 및 우측 스핀맙(41b)은 각각의 회전축을 중심으로 회전된다. 회전축은 상하 방향으로 배치된다. 좌측 스핀맙(41a) 및 우측 스핀맙(41b)은 각각 독립적으로 회전될 수 있다. 한 쌍의 스핀맙(41)은 가상의 중심 수직면(Po)을 기준으로 좌우 대칭되게 구비될 수 있다.
본 발명은 좌측 스핀맙(41a) 및 우측 스핀맙(41b)에 구동력을 제공하고, 바디(30)에 설치되는 맙 모터(미도시)를 포함한다. 맙 모터(61)는 제1 맙 모터(61a) 제2 맙 모터(61b)를 포함한다. 맙 모터의 회전축은 상하로 연장될 수 있다. 제1 맙 모터(61a)와 제2 맙 모터(61b)는 중심 수직선(Po)을 기준으로 좌우 대칭되게 구비된다.
중심 수직선(Po)은 전후방향과 나란하고, 바디의 기하학적 중심(Tc)를 지나는 선을 의미한다. 물론, 중심 수직선(Po)는 좌측 스핀 맙의 중심축과 우측 스핀 맙의 중심축을 연결한 가상의 선과 수직으로 교차하면서, 바디의 기하학적 중심(Tc)을 지나가는 선으로 정의할 수 있다.
중심 수직선(Po)을 기준으로 좌우 대칭되게 구비된 한 쌍의 스핀맙(41a, 41b)의 바닥이 수평면과 수평하게 배치되면, 로봇 청소기가 안정적으로 주행하지 못하고, 주행 제어가 어렵게 된다. 따라서, 본 발명은, 각 스핀맙(41)이 외측 전방으로 하향 경사지게 배치한다. 이하, 스핀맙(41)의 경사와 운동에 대해 설명한다.
다시, 도 7을 참조하면, 좌측 스핀맙(41a)의 스핀 회전축(Osa)과 좌측 스핀맙(41a)의 하측면이 교차하는 지점이 도시되고, 우측 스핀맙(41b)의 스핀 회전축(Osb)과 우측 스핀맙(41b)의 하측면이 교차하는 지점이 도시된다. 하측에서 바라볼 때, 좌측 스핀맙(41a)의 회전 방향 중 시계 방향을 제 1정방향(w1f)으로 정의하고 반시계 방향을 제 1역방향(w1r)으로 정의한다. 하측에서 바라볼 때, 우측 스핀맙(41b)의 회전 방향 중 반시계 방향을 제 2정방향(w2f)으로 정의하고 시계 방향을 제 2역방향(w2r)으로 정의한다. 또한, 하측에서 바라볼 때 ‘좌측 스핀맙(41a)의 하측면의 경사 방향이 좌우 방향 축과 이루는 예각’ 및 ‘우측 스핀맙(41b)의 하측면의 경사 방향이 좌우 방향 축과 이루는 예각’을 경사 방향 각(Ag1a, Ag1b)으로 정의한다. 좌측 스핀맙(41a)의 경사 방향 각(Ag1a) 및 우측 스핀맙(41b)의 경사 방향 각(Ag1b)은 동일할 수 있다. 또한, 도 3을 참고하여, ‘가상의 수평면(H)에 대해 좌측 스핀맙(41a)의 하측면(I)이 이루는 각도’ 및 ‘가상의 수평면(H)에 대해 좌측 스핀맙(41a)의 하측면(I)이 이루는 각도’를 경사각(Ag2a, Ag2b)로 정의한다.
물론, 좌측 스핀맙(41a)의 우측단과, 우측 스핀맙(41b)의 좌측단은 서로 접촉하거나, 근접할 수 있다. 따라서, 좌측 스핀맙(41a)과 우측 스핀맙(41b)의 사이에서 발생하는 걸레질을 공백을 줄일 수 있다.
좌측 스핀맙(41a)이 회전할 때, 좌측 스핀맙(41a)의 하측면 중 바닥으로부터 가장 큰 마찰력을 받는 지점(Pla)은 좌측 스핀맙(41a)의 회전 중심(Osa)에서 좌측에 배치된다. 좌측 스핀맙(41a)의 하측면 중 지점(Pla)에 다른 지점보다 큰 하중이 지면에 전달되게 하여, 지점(Pla)에 가장 큰 마찰력이 발생되게 할 수 있다. 본 실시예에서 지점(Pla)은 회전 중심(Osa)의 좌측 전방에 배치되나, 다른 실시예에서 지점(Pla)는 회전 중심(Osa)을 기준으로 정확히 좌측에 배치되거나 좌측 후방에 배치될 수도 있다.
우측 스핀맙(41b)이 회전할 때, 우측 스핀맙(41b)의 하측면 중 바닥으로부터 가장 큰 마찰력을 받는 지점(Plb)은 우측 스핀맙(41b)의 회전 중심(Osb)에서 우측에 배치된다. 우측 스핀맙(41b)의 하측면 중 지점(Plb)에 다른 지점보다 큰 하중이 지면에 전달되게 하여, 지점(Plb)에 가장 큰 마찰력이 발생되게 할 수 있다. 본 실시예에서 지점(Plb)은 회전 중심(Osb)의 우측 전방에 배치되나, 다른 실시예에서 지점(Plb)는 회전 중심(Osb)을 기준으로 정확히 우측에 배치되거나 우측 후방에 배치될 수도 있다.
좌측 스핀맙(41a)의 하측면 및 우측 스핀맙(41b)의 하측면은 각각 경사지게 배치된다. 좌측 스핀맙(41a)의 경사각(Ag2a) 및 우측 스핀맙(41b)의 경사각(Ag2a, Ag2b)은 예각을 형성한다. 경사각(Ag2a, Ag2b)은, 가장 마찰력이 커지는 지점이 지점(Pla, Plb)이 되되, 좌측 스핀맙(41a) 및 우측 스핀맙(41b)의 회전 동작에 따라 걸레부(411)의 하측 전면적이 바닥에 닿을 수 있는 정도로 작게 설정될 수 있다.
좌측 스핀맙(41a)의 하측면은 전체적으로 좌측 방향으로 하향 경사를 형성한다. 우측 스핀맙(41b)의 하측면은 전체적으로 우측 방향으로 하향 경사를 형성한다. 도 6을 참고하여, 좌측 스핀맙(41a)의 하측면은 좌측부에 최저점(Pla)을 형성한다. 좌측 스핀맙(41a)의 하측면은 우측부에 최고점(Pha)을 형성한다. 우측 스핀맙(41b)의 하측면은 우측부에 최저점(Plb)을 형성한다. 우측 스핀맙(41b)의 하측면은 좌측부에 최고점(Phb)을 형성한다.
실시예에 따라, 경사 방향 각(Ag1a, Ag1b)이 0도인 것도 가능하다. 또한, 실시예에 따라, 하측에서 바라볼 때, 좌측 스핀맙(41a)의 하측면의 경사 방향은 좌우 방향 축에 대해 시계 방향으로 경사 방향 각(Ag1a)을 형성하고, 우측 스핀맙(41b)의 하측면의 경사 방향은 좌우 방향 축에 대해 반시계 방향으로 경사 방향 각(Ag1b)을 형성하게 구현하는 것도 가능하다. 본 실시예에서는, 하측에서 바라볼 때, 좌측 스핀맙(41a)의 하측면의 경사 방향은 좌우 방향 축에 대해 반시계 방향으로 경사 방향 각(Ag1a)을 형성하고, 우측 스핀맙(41b)의 하측면의 경사 방향은 좌우 방향 축에 대해 시계 방향으로 경사 방향 각(Ag1b)을 형성한다.
이동 로봇(100b)의 이동은 맙 모듈(40)이 발생시키는 지면과의 마찰력에 의해 구현된다.
맙 모듈(40)은, 바디(30)를 전방으로 이동시키려는 ‘전방 이동 마찰력’, 또는 바디를 후방으로 이동시키려는 ‘후방 이동 마찰력’을 발생시킬 수 있다. 맙 모듈(40)은, 바디(30)를 좌회전시키려는 ‘좌향 모멘트 마찰력’, 또는 바디(30)를 우회전시키려는 ‘우향 모멘트 마찰력’을 발생시킬 수 있다. 맙 모듈(40)은, 전방 이동 마찰력 및 후방 이동 마찰력 중 어느 하나와, 좌향 모멘트 마찰력 및 우향 모멘트 마찰력 중 어느 하나를 조합한 마찰력을 발생시킬 수 있다.
맙 모듈(40)이 전방 이동 마찰력을 발생시키기 위해서, 좌측 스핀맙(41a)을 제 1정방향(w1f)으로 소정 rpm(R1)으로 회전시키고 우측 스핀맙(41b)을 제 2정방향(w2f)으로 rpm(R1)으로 회전시킬 수 있다.
맙 모듈(40)이 후방 이동 마찰력을 발생시키기 위해서, 좌측 스핀맙(41a)을 제 1역방향(w1r)으로 소정 rpm(R2)으로 회전시키고 우측 스핀맙(41b)을 제 2역방향(w2r)으로 rpm(R2)으로 회전시킬 수 있다.
맙 모듈(40)이 우향 모멘트 마찰력을 발생시키기 위해서, 좌측 스핀맙(41a)을 제 1정방향(w1f)으로 소정 rpm(R3)으로 회전시키고, 우측 스핀맙(41b)을 ⅰ 제 2역방향(w2r)으로 회전시키거나 ⅱ 회전없이 정지시키거나 ⅲ 제 2정방향(w2f)으로 rpm(R3)보다 작은 rpm(R4)로 회전시킬 수 있다.
맙 모듈(40)이 좌향 모멘트 마찰력을 발생시키기 위해서, 우측 스핀맙(41b)을 제 2정방향(w2f)으로 소정 rpm(R5)으로 회전시키고, 좌측 스핀맙(41a)을 ⅰ 제 1역방향(w1r)으로 회전시키거나 ⅱ 회전없이 정지시키거나 ⅲ 제 1정방향(w1f)으로 rpm(R5)보다 작은 rpm(R6)로 회전시킬 수 있다.
이하, 좌우측으로 배치된 스핀맙(41)의 마찰력을 향상시키면서, 좌우 방향과 전후 방향으로의 안정성을 향상시키며, 수조(81) 내의 수위에 상관없이 안정적인 주행을 위한 각 구성의 배치를 설명한다.
도 7을 참고하면, 스핀맙(41)의 마찰력을 확대하고, 이동 로봇의 회전 시에 일방으로 편심이 발생하는 것을 제한하기 위해, 상대적으로 무거운, 맙 모터(61)와 배터리를 스핀맙(41)의 상부에 배치할 수 있다.
구체적으로, 제1 맙 모터(61a)는 좌측 스핀맙(41a) 위에 배치되며, 제2 맙 모터(61b)는 우측 스핀맙(41b) 위에 배치될 수 있다. 즉, 제1 맙 모터(61a)의 적어도 일부는 좌측 스핀맙(41a)과 수직적으로 중첩될 수 있다. 바람직하게는, 제1 맙 모터(61a)의 전체는 좌측 스핀맙(41a)과 수직적으로 중첩될 수 있다. 제2 맙 모터(61b)의 적어도 일부는 우측 스핀맙(41b)과 수직적으로 중첩될 수 있다. 바람직하게는, 제2 맙 모터(61b)의 전체는 우측 스핀맙(41b)과 수직적으로 중첩될 수 있다.
더욱 구체적으로, 제1 맙 모터(61a)와 제2 맙 모터(61b)는 좌측 스핀맙(41a)의 스핀 회전축(Osa)과 우측 스핀맙(41b)의 스핀 회전축(Osb)을 연결한 가상의 중심 수평선(CHL)과 수직적으로 중첩되게 배치될 수 있다. 바람직하게는, 제1 맙 모터(61a)의 무게중심(MCa)와 제2 맙 모터(61b)의 무게중심(MCb)는 좌측 스핀맙(41a)의 스핀 회전축(Osa)과 우측 스핀맙(41b)의 스핀 회전축(Osb)을 연결한 가상의 중심 수평선(CHL)과 수직적으로 중첩되게 배치될 수 있다. 또는, 제1 맙 모터(61a)의 기하학적 중심과 제2 맙 모터(61b)의 기하학적 중심은 좌측 스핀맙(41a)의 스핀 회전축(Osa)과 우측 스핀맙(41b)의 스핀 회전축(Osb)을 연결한 가상의 중심 수평선(CHL)과 수직적으로 중첩되게 배치될 수 있다. 물론, 제1 맙 모터(61a)와 제2 맙 모터(61b)는 중심 수직선(Po)을 기준으로 대칭되게 배치된다.
제1 맙 모터(61a)의 무게중심(MCa)와 제2 맙 모터(61b)의 무게중심(MCb)이 각 스핀맙(41)의 위에서 벗어나지 않고, 서로 좌우 대칭되게 배치되므로, 스핀맙(41)의 마찰력을 향상시키면서, 주행 성능 및 좌우 균형을 유지할 수 있다.
이하, 좌측 스핀맙(41a)의 스핀 회전축(Osa)을 좌측 스핀 회전축(Osa)으로 명명하고, 우측 스핀맙(41b)의 스핀 회전축(Osb)을 우측 스핀 회전축(Osb)로 명명한다.
수조(81)가 중심 수평선(CHL) 보다 후방에 배치되고, 수조(81) 내의 물의 량은 가변적이므로, 수조(81)의 수위에 상관없이 안정적인 전후 균형을 유지하기 위해, 제1 맙 모터(61a)는 좌측 스핀 회전축(Osa)에서 좌측방향으로 치우치게 배치될 수 있다. 제1 맙 모터(61a)는 좌측 스핀 회전축(Osa)에서 좌측 전방 방향으로 치우치게 배치될 수 있다. 바람직하게는, 제1 맙 모터(61a)의 기하학적 중심 또는 제1 맙 모터(61a)의 무게중심(MCa)은 좌측 스핀 회전축(Osa)에서 좌측방향으로 치우치게 배치되거나, 제1 맙 모터(61a)의 기하학적 중심 또는 제1 맙 모터(61a)의 무게중심(MCa)은 좌측 스핀 회전축(Osa)에서 좌측 전방 방향으로 치우치게 배치될 수 있다.
제2 맙 모터(61b)는 우측 스핀 회전축(Osb)에서 우측방향으로 치우치게 배치될 수 있다. 제2 맙 모터(61b)는 우측 스핀 회전축(Osb)에서 우측 전방 방향으로 치우치게 배치될 수 있다. 바람직하게는, 제2 맙 모터(61b)의 기하학적 중심 또는 제2 맙 모터(61b)의 무게중심(MCb)은 우측 스핀 회전축(Osb)에서 우측방향으로 치우치게 배치되거나, 제2 맙 모터(61b)의 기하학적 중심 또는 제2 맙 모터(61b)의 무게중심(MCb)은 우측 스핀 회전축(Osb)에서 우측 전방 방향으로 치우치게 배치될 수 있다.
제1 맙 모터(61a)와 제2 맙 모터(61b)가 각 스핀맙(41)의 중심에서 전방외측으로 치우친 위치에서 압력을 가해주므로, 각 스핀맙(41)의 전방 외측에 압력이 집중되게 되므로, 스핀맙(41)의 회전력에 의해 주행 성능이 향상되게 된다.
좌측 스핀 회전축(Osa)과 우측 스핀 회전축(Osb)은 바디(30)의 중심보다 후방에 배치된다. 중심 수평선(CHL)은 바디(30)의 기하학적 중심(Tc) 및 이동로봇의 무게중심(WC) 보다 후방에 배치된다. 좌측 스핀 회전축(Osa)과 우측 스핀 회전축(Osb)은 중심 수직선(Po)에서 동일한 거리로 이격하여 배치된다.
본 실시예에서 배터리는 단수개가 설치된다. 배터리의 적어도 일부는 좌측 스핀맙(41a) 및 우측 스핀맙(41b) 위에 배치된다. 상대적으로 무거운 배터리가 스핀맙(41) 상에 배치되어서 스핀맙(41)의 마찰력을 향상시키고, 이동 로봇의 회전으로 발생하는 편심을 줄일 수 있다.
구체적으로, 배터리의 좌측 일부는 좌측 스핀맙(41a)과 수직적으로 중첩되고, 배터리의 우측 일부는 우측 스핀맙(41b)과 수직적으로 중첩되게 배치될 수 있다. 배터리는 중심 수평선(CHL)과 수직적으로 중첩되게 배치되고, 중심 수직선(Po)과 수직적으로 중첩되게 배치될 수 있다.
더욱 구체적으로, 배터리의 무게 중심(BC) 또는 배터리의 기하학적 중심은 중심 수직선(Po) 상에 배치되고, 중심 수평선(CHL) 상에 배치될 수 있다. 물론, 배터리의 무게 중심(BC) 또는 배터리의 기하학적 중심은 중심 수직선(Po) 상에 배치되고, 중심 수평선(CHL) 보다 전방에 배치되고, 바디(30)의 기하학적 중심(Tc) 보다 후방에 배치될 수 있다.
배터리의 무게 중심(BC) 또는 배터리의 기하학적 중심은 수조(81) 또는 수조(81)의 무게중심(PC) 보다 전방에 배치될 수 있다.
하나의 배터리가 좌측 스핀맙(41a)과 우측 스핀맙(41b) 사이의 중간에 배치되고, 중심 수평선 및 중심 수직선(Po) 상에 배치되므로, 무거운 배터리가 스핀맙(41)들의 회전 시에 중심을 잡아주고, 스핀맙(41)에 무게를 실어줘서 스핀맙(41)에 마찰력을 향상시키게 된다.
배터리는 제1 맙 모터(61a) 및 제2 맙 모터(61b)와 동일 높이(하단의 높이) 또는 동일 평면상에 배치될 수 있다. 배터리는 제1 맙 모터(61a)와 제2 맙 모터(61b)의 사이에 배치될 수 있다. 배터리는 제1 맙 모터(61a)와 제2 맙 모터(61b)의 사이의 빈 공간에 배치된다.
수조(81)의 적어도 일부는 좌측 스핀맙(41a) 및 우측 스핀맙(41b) 위에 배치된다. 수조(81)는 중심 수평선 보다 후방에 배치되고, 중심 수직선(Po)과 수직적으로 중첩되게 배치될 수 있다.
더욱 구체적으로, 수조(81)의 무게 중심(PC) 또는 수조(81)의 기하학적 중심은 중심 수직선(Po) 상에 배치되고, 중심 수평선 보다 전방에 위치될 수 있다. 물론, 수조(81)의 무게 중심(PC) 또는 수조(81)의 기하학적 중심은 중심 수직선(Po) 상에 배치되고, 중심 수평선 보다 후방에 배치될 수 있다. 여기서, 수조(81)의 무게 중심(PC) 또는 수조(81)의 기하학적 중심이 중심 수평선 보다 후방에 배치된다는 것은 수조(81)의 무게 중심(PC) 또는 수조(81)의 기하학적 중심이 중심 수평선 보다 후방에 치우친 일 영역과 수직적으로 중첩되게 위치되는 것을 의미한다. 물론, 수조(81)의 무게 중심(PC) 또는 수조(81)의 기하학적 중심은 바디(30)를 벗어나지 않고, 바디(30)와 수직적으로 중첩되게 위치된다.
수조(81)의 무게 중심(PC) 또는 수조(81)의 기하학적 중심은 배터리의 무게 중심(BC) 보다 후방에 배치될 수 있다.
수조(81)는 제1 맙 모터(61a) 및 제2 맙 모터(61b)와 동일 높이(하단의 높이) 또는 동일 평면상에 배치될 수 있다. 수조(81)는 제1 맙 모터(61a)와 제2 맙 모터(61b)의 사이공간에서 후방으로 치우치게 배치될 수 있다.
각 스핀맙(41)의 일부는 바디(30) 와 수직적으로 중첩되고, 각 스핀맙(41)의 다른 일부는 바디(30)의 외부로 노출된다. 각 스핀맙(41)이 바디(30) 와 수직적으로 중첩되는 영역의 비율은 각 스핀맙(41)의 85% 내지 95%인 것이 바람직하다.
구체적으로, 바디의 우측단과, 우측 스핀맙(41b)의 우측 단을 연결한 선과 바디의 우측단에서 중심 수직선(Po)과 평행하게 연결한 수직선 사이의 사이각은 0 도 내지 5 도 일 수 있다.
각 스핀맙(41)의 바디의 외측으로 노출된 영역의 길이는 각 스핀맙(41)의 반지름의 1/2 내지 1/7 인 것이 바람직하다. 각 스핀맙(41)의 바디의 외측으로 노출된 영역의 길이는 각 스핀맙(41)서 바디의 외측으로 노출된 일단에서 각 스핀맙(41)의 회전축까지의 거리를 의미할 수 있다.
각 스핀맙(41)의 바디의 외측으로 노출된 영역의 단에서 기하학적 중심(TC) 사이의 거리는 바디의 평균 반지름 보다 클 수 있다.
각 스핀맙(41)이 노출되는 위치는 바디(30)의 측방과 후방 사이이다. 즉, 바디를 아래서 보아 시계방향으로 순차적으로 각 분면이 위치될 때, 각 스핀맙(41)이 노출되는 위치는 바디(30)의 2/4 분면 또는 3/4 분면 일 수 있다.
도 8을 참고하면, 이동 로봇(100b)의 동작이나 상태 또는 외부의 상황과 관련된 각종 정보를 감지하는 센싱부(20)를 포함한다. 이동 로봇(100b)은 특별한 설명이 없으면, 도 4의 구성을 모두 포함할 수 있고, 도 8에서 도 4와 동일한 명칭의 경우 도 4에서 설명한 기능을 그대로 수행한다.
센싱부(20)는 이동 로봇(100b)로부터 이격된 외부의 장애물을 감지하는 장애물 감지센서(21)를 포함할 수 있다. 복수의 장애물 감지센서가 구비될 수 있다. 장애물 감지센서(21)는 전방의 장애물을 감지하는 장애물 감지센서를 포함한다. 장애물 감지센서(21)는 좌우 방향의 장애물을 감지하는 장애물 감지센서를 포함한다. 장애물 감지센서(21)는 바디(30)에 배치될 수 있다. 장애물 감지센서(21)는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.
센싱부(20)는 외부로부터의 식별 신호를 수신하여 위치를 판별하는 위치 신호 센서(22)를 포함할 수 있다. 예를 들어, 위치 신호 센서(22)는, 초광대역통신(Ultra Wide Band: UWB) 신호를 이용하는 UWB 센서일 수 있다. 제어부(10)은 위치 신호 센서(22)에서 수신된 신호에 따라 이동 로봇(100b)의 위치를 파악할 수 있다.
외부로부터의 식별 신호는 외부에 배치된 비컨(beacon) 등 신호 발생기가 송신하는 신호로, 신호 발생기는 복수 개가 구비되고, 복수 개의 서로 떨어진 장소에 각각이 구비될 수 있다. 위치 신호 센서(22)는 서로 다른 장소에 배치된 신호 발생기에서 송신된 식별 신호를 수신하는 것이 가능하다.
센싱부(20)는 바닥에 낭떠러지의 존재 여부를 감지하거나 바닥과의 거리를 감지하는 클리프 센서(23a)를 포함할 수 있다. 클리프 센서(23a)는 이동 로봇(100b)의 전방 및/또는 후방의 낭떠러지 유무를 감지할 수 있다. 클리프 센서(23a)는 바닥과의 거리를 감지하고, 제어부(10)은 바닥과의 거리가 기 설정된 거리 보다 큰 경우 낭떠러지라고 판단하고 이에 대응되는 동작을 수행하게 제어할 수 있다.
일 예로, 클리프 센서(23a)는 광 센서를 포함할 수 있고, 광센서는 레이저 센서 또는 적외선 센서를 포함할 수 있다. 클리프 센서(23a)는 바닥을 향해 광을 방출하는 출광부(미도시)와 바닥에서 반사된 빛을 수광하는 수광부(미도시)를 포함할 수 있다. 클리프 센서(23a)는 수광부에 되돌아 오는 시간차에 의해 거리를 측정할 수 있다.
또한, 클리프 센서(23a)는 바닥에서 반사되는 광의 반사량을 감지할 수 있다. 구체적으로, 수광부는 되돌아 오는 광의 광량, 조도 등을 측정하여서, 출광부에서 조사된 광 대비 반사율을 구할 수 있다. 클리프 센서(23a)는 바닥에서 반사되는 광의 반사량을 감지하여서, 제어부(10)에 바닥의 재질을 검출할 수 있는 수단을 제공한다.
클리프 센서(23a)는 한 쌍의 스핀 맙(41) 보다 전방에 배치될 수 있다. 클리프 센서(23a)가 한 쌍의 스핀 맙(41) 보다 전방에 배치되면, 한 쌍의 스핀 맙(41)이 카펫 등에 의해 부하가 증가하지 전에 선제적으로 카펫을 회피할 수 있는 이점이 존재한다. 또한, 클리프 센서(23a)는 한 쌍의 스핀 맙(41)의 전단 또는/및 옵티컬 플로우 센서(23b) 보다 전방에 배치될 수 있다.
센싱부(20)는 바닥의 이미지를 바탕으로 이동 로봇의 이동 량을 검출하는 옵티컬 플로우 센서(23b)(Optical Flow Sensor)를 포함할 수 있다. 옵티컬 플로우 센서(23b)는 바닥에서 반사되는 광의 반사량을 감지할 수 있다. 또는 옵티컬 플로우 센서(23b)는 일정 시간주기로 빛을 이용하여 하방 영상 정보를 획득하고, 하방 영상 정보를 바닥 재질 판단 유닛(12) 또는 제어부(10)에 제공할 수 있다.
옵티컬 플로우 센서(23b)는, 센서 내에 구비된 이미지 센서로부터 입력되는 하방 영상을 변환하여 소정 형식의 영상 데이터를 생성한다. 생성된 영상 데이터는 제어부(10)에 전달될 수 있다.
또한, 옵티컬 플로우 센서(23b)(OFS)는, 하방 영상을 촬영하여 하방 영상 정보를 획득하는 이미지센서(미도시)와, 바닥을 향해 평면광을 방출하는 하나 이상의 광원(미도시)을 포함하여 구성된다.
하나 이상의 광원은, 이미지 센서에 의해 촬영되는 바닥면의 소정 영역에 빛을 조사한다. 즉, 이동 로봇이 바닥면을 따라 특정 영역을 이동하는 경우에, 바닥면이 평탄하면 이미지 센서와 바닥면 사이에는 일정한 거리가 유지된다.
반면, 이동 로봇이 불 균일한 표면의 바닥면을 이동하는 경우에는 바닥면의 요철 및 장애물(CA)에 의해 일정 거리 이상 멀어지게 된다. 이때 하나 이상의 광원은 조사되는 빛의 양을 조절하도록 제어부(10)에 의해 제어될 수 있다. 광원은 광량 조절이 가능한 발광 소자, 예를 들어 LED(Light Emitting Diode) 등일 수 있다.
옵티컬 플로우 센서(23b)를 이용하여, 제어부(10)은 이동 로봇의 미끄러짐과 무관하게 이동 로봇의 위치를 검출할 수 있다. 제어부(10)은 옵티컬 플로우 센서(23b)에 의해 촬영된 영상 데이터를 시간에 따라 비교 분석하여 이동 거리 및 이동 방향을 산출하고, 이를 근거로 이동 로봇의 위치를 산출할 수 있다. 옵티컬 플로우 센서(23b)를 이용하여 이동 로봇의 하방에 대한 이미지 정보를 이용함으로써, 제어부(10)은 다른 수단에 의해 산출한 이동 로봇의 위치에 대하여 미끄러짐에 강인한 보정을 할 수 있다.
옵티컬 플로우 센서(23b)는 바닥에서 반사되는 광의 반사량을 감지하거나, 바닥의 이미지를 분석하여서, 제어부(10)에 바닥의 재질을 검출할 수 있는 수단을 제공한다.
옵티컬 플로우 센서(23b)는 중심 수직면과 적어도 일부가 수직적 방향에서 중첩되게 배치될 수 있다. 구체적으로, 옵티컬 플로우 센서(23b)는 중심 수직면 상에서, 한 쌍의 스핀맙(41)들의 중심축을 연결한 선 보다 전방에 위치된다. 다른 예로, 옵티컬 플로우 센서(23b)는 한 쌍의 스핀 맙(41) 보다 전방에 위치될 수 있다.
옵티컬 플로우 센서(23b)가 맙 모듈 보다 전방에 배치되면, 맙 모듈이 카펫 등에 의해 부하가 증가하기 전에 선제적으로 카펫을 회피할 수 있는 이점이 존재한다.
따라서, 옵티컬 플로우 센서(23b)가 복수개가 사용되지 않고, 하나만 사용되더라도, 바디의 중앙에서 전방으로 치우친 위치에 배치되므로, 한 쌍의 스핀 맙의 전방 바닥의 재질을 검출할 수 있다.
또한, 클리프 센서(23a)와, 옵티컬 플로우 센서(23b)가 기존에 낭떠러지와 이동 로봇의 이동 량을 감지하는 기능을 하면서, 동시에 바닥의 재질을 판단하는 기능도 수행할 수 있는 장점이 존재한다.
센싱부(20)는, 외부의 영상을 감지하는 카메라(24)를 포함할 수 있다. 카메라(24)는 바디(30)에 배치될 수 있다. 카메라(24)는 일정 시간 주기로 상방 영상 정보를 획득할 수 있다.
센싱부(20)는 외부 환경의 3차원 위치 정보를 감지하는 3D 센서(25)를 포함할 수 있다. 3D 센서(25)는 일정 시간주기로 상방 영상 정보를 획득한다.
일 예로, 3D 센서(25)는, 적외선을 조사하는 광 조사부(미도시)와, 외부의 물체에 반사된 적외선을 감지하는 3D 카메라(3D Depth Camera)(미도시)를 포함할 수 있다. 광 조사부는, 소정의 패턴을 가진 적외선을 조사할 수도 있다. 3D 카메라는, IR 카메라 또는 RGB-Depth 카메라 등일 수 있다. 이러한 3D 센서(25)는 TOF(Time of Flight) 방식으로 구현될 수 있다.
다른 예로, 3D 센서(25)는 2개 이상의 카메라를 구비하여, 2개 이상의 카메라에서 획득되는 2개 이상의 영상을 조합함으로써, 3차원 좌표 정보를 생성하는 스테레오 비전 방식으로 구현될 수 있다.
센싱부(20)는 바디(30)의 바닥(H)에 대한 기울기 정보를 획득하는 기울기 정보 획득부(미도시)를 포함할 수 있다. 예를 들어, 기울기 정보 획득부는 자이로 센서(26)를 포함할 수 있다. 기울기 정보 획득부는 자이로 센서(26)의 감지 신호를 기울기 정보로 변환하는 처리 모듈(미도시)를 포함할 수 있다. 처리 모듈은 제어부(10)의 일부로서, 알고리즘이나 프로그램으로 구현될 수 있다. 다른 예로, 기울기 정보 획득부는 자기장 센서(27)를 포함하여, 지구의 자기장에 대한 감지 정보를 근거로 하여 기울기 정보를 획득할 수도 잇다.
여기서, 바닥(H)은 수평면을 의미하는 것으로서, 중력 방향에 수직한 평면을 의미한다. 자이로 센서(26)는 바디(30)의 수평면에 대한 회전 각속도에 대한 정보를 획득할 수 있다. 구체적으로 자이로 센서(26)는 수평면에 평행하고 서로 직교하는 X축 및 Y축을 중심으로 한 회전 각속도를 감지할 수 있다. 처리 모듈을 통해 X축에 대한 회전 각속도(롤)와 Y축에 대한 회전 각속도(피치)를 합성하여, 수평면에 대한 회전 각속도를 산출할 수 있다. 처리 모듈을 통해 회전 각속도를 적분하여, 기울기 값을 산출할 수 있다.
자이로 센서(26)는 정해진 기준 방향을 감지할 수 있다. 기울기 정보 획득부는 기준 방향을 근거로 하여 기울기 정보를 획득할 수 있다.
자이로 센서(26)는 서로 직교하는 공간 좌표계의 3개의 축에 대한 자이로(Gyro) 센싱 기능을 구비할 수 있다. 자이로 센서(26)에서 수집된 정보는 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보일 수 있다. 처리 모듈은, 롤링(roll), 피칭(pitch), 요(yaw) 각속도를 적분하여 이동 로봇(100b)의 방향각의 산출이 가능하다.
자이로 센서(26)는 바디(30)에 배치되는 것이 바람직하다. 이에 따라, 자이로 센서(26)는, 바디(30)를 속하는 후술할 나머지 파트(Q)에 배치된다. 또한, 기울기 정보 획득부는 나머지 파트(Q)에 배치된다.
자이로 센서(26)는, 별도의 센서로 구현될 수도 있고, 후술할 IMU 센서의 일부 기능으로서 구현될 수도 있다.
센싱부(20)는 자기장을 감지하는 자기장 센서(27)를 포함할 있다. 자기장 센서(27)는 서로 직교하는 공간 좌표계의 3개의 축에 대한 자기장 센싱 기능을 구비할 수 있다. 자기장 센서(27)는 방향각(방위각)을 측정할 수 있다. 자기장 센서(27)는, 별도의 센서로 구현될 수도 있고, 후술할 IMU 센서의 일부 기능으로서 구현될 수도 있다.
센싱부(20)는 바디(30)에 설치되어 이동 로봇(100b)의 가속도를 감지하는 가속도 센서(28)를 포함할 수 있다. 가속도 센서(28)는 서로 직교하는 공간 좌표계의 3개의 축에 대한 가속도 센싱 기능을 구비할 수 있다. 가속도 센서(28)는, 별도의 센서로 구현될 수도 있고, 후술할 IMU 센서의 일부 기능으로서 구현될 수도 있다.
이동 로봇(100b)는 관성 센서 유닛(IMU)(미도시)을 포함할 수 있다. 관성 센서 유닛의 정보를 기반으로, 이동 로봇(100b)는 주행 모션을 안정화시킬 수 있다. 관성 센서 유닛(IMU)은, 자이로 센서(26)의 기능, 자기장 센서(27)의 기능 및 가속도 센서(28)의 기능을 가질 수 있다.
센싱부(20)는 맙 모터(61)의 부하 정보를 획득하는 맙 부하정보 센서(29)를 포함할 수 있다.
일 예로, 맙 부하정보 센서(29)는 맙 모터(61)의 모터 부하 전류 값이나 모터 부하 전압 값 등을 감지하여, 맙 모터(61)의 부하를 감지할 수 있다. 구체적으로, 맙 부하정보 센서(29)는, 맙 모터(61) 제어부(10)에 구비되는 전류 검출부에 의해 구현될 수도 있다.
다른 예로, 맙 부하정보 센서(29)는 스핀 맙의 회전 속도나 회전수를 감지하는 엔코더(encoder)를 이용하여, 구비될 수 있다. 구체적으로, 걸레(411)에 걸리는 부하가 클수록 맙 모터(61)에 가해지는 회전 신호(전류 값이나 전압 값 등) 대비, 회전 속도가 느려질 수 있는데, 회전 속도에 대한 정보를 엔코더가 감지함으로써 부하 정보를 획득할 수 있다.
센싱부(20)는, 외부의 장애물과 접촉을 감지하는 충격 감지 센서(미도시)를 포함할 수 있다. 외부의 물체에 의해 눌려지는 범퍼(미도시)에 의해, 충격 감지 센서가 구현될 수 있다.
센싱부(20)은, 이동 로봇(100b)의 실제 움직인 경로를 인식하는 엔코더(미도시)를 포함할 수 있다. 엔코더의 기능은 보조 바퀴(58)가 수행할 수도 있다.
이동 로봇(100b)는 사용자의 각종 지시를 입력할 수 있는 입력부(16)를 포함한다. 입력부(16)는 버튼, 다이얼, 터치형 디스플레이 등을 포함할 수 있다. 입력부(16)는 음성 인식을 위한 마이크(미도시)를 포함할 수 있다. 입력부(16)는 전원 공급의 ON/OFF를 입력하기 위한 전원 스위치(16a)를 포함할 수 있다.
이동 로봇(100b)는 사용자에게 각종 정보를 출력해주는 출력부(17)를 포함한다. 출력부(17)는 시각적 정보를 출력하는 디스플레이(미도시)를 포함할 수 있다. 출력부(17)는 청각적 정보를 출력하는 스피커(미도시)를 포함할 수 있다.
이동 로봇(100b)은 각종 정보를 저장하는 저장부(18)를 포함한다. 저장부(18)는 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 저장부(18)에는 이동 로봇(100b)의 각종 오류 대응 동작을 제어하기 위한 알고리즘이 저장될 수 있다.
저장부(18)에는 주행구역에 대한 맵이 저장될 수 있다. 맵은 통신부(19)를 통해 정보를 교환할 수 있는 외부 단말기에 의해 입력된 것일 수도 있고, 이동 로봇(100b)이 스스로 학습을 하여 생성한 것일 수도 있다. 전자의 경우, 외부 단말기로는 맵 설정을 위한 어플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다.
이동 로봇(100b)는 소정의 네트워크와 접속 가능한 통신부(19)을 포함할 수 있다. 통신 규약에 따라, 통신부(19)은 IEEE 802.11 WLAN, IEEE 802.15 WPAN, UWB, Wi-Fi, Zigbee, Z-wave, Blue-Tooth 등과 같은 무선 통신 기술을 이용하여 구현될 수 있다.
이동 로봇(100b)는 자율 주행을 제어하는 제어부(10)을 포함한다. 제어부(10)은 바디(30)의 내부에 배치된 메인 PCB(Co)에 의해 구현될 수 있다.
제어부(10)은 입력부(16)의 신호 또는 통신부(19)을 통해 입력되는 신호를 처리할 수 있다.
제어부(10)은 센싱부(20)의 감지 신호를 입력 받아 청소기의 주행을 제어할 수 있다. 제어부(10)은 센싱부(20)의 감지 신호를 입력 받아 맙 모터(61)를 제어할 수 있다.
제어부(10)은 급수 모듈(미도시)을 제어할 수 있다. 제어부(10)은 공급되는 물의 양을 조절하도록 펌프(미도시)를 제어할 수 있다. 펌프(미도시)의 제어를 통해, 시간당 맙 모듈(40)에 공급되는 물의 양이 변경될 수 있다. 다른 예로, 제어부(10)은 물의 공급 여부가 변경되도록 후술할 밸브를 제어할 수 있다.
제어부(10)은 카메라(24) 또는 3D센서가 감지한 영상(상방 영상 정보)을 통해 주행 구역을 학습하고 현재 위치를 인식 가능(검출)하게 제어할 수 있다. 제어부(10)은, 영상을 통해 주행 구역을 맵핑하게 구비될 수 있다. 제어부(10)은, 영상을 통해 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비될 수 있다. 카메라(24)에 의해 촬영된 영상은 주행 구역의 맵을 생성하고, 주행 영역 내의 현 위치를 감지하는 데에 이용될 수 있다.
예를 들어, 제어부(10)은 카메라(24)에 의해 촬영된 상측 방향의 영상 중 천장과 측면과의 경계를 이용하여 주행 구역의 지도를 생성할 수 있다. 또한, 제어부(10)은, 영상의 특징점들을 기준으로 주행 구역 내의 현 위치를 감지할 수 있다.
제어부(10)은, 이동 로봇(100b)이 주행 후 충전대로 복귀 가능하도록 제어할 수 있다. 예를 들어, 이동 로봇(100b)는 충전대에서 송출된 적외선(IR: InfraRed)신호 등을 감지하여, 충전대로 복귀 가능하게 구비될 수 있다. 제어부(10)은 충전대에서 송출되어 감지된 신호를 근거로 하여 이동 로봇(100b)이 충전대로 복귀되게 제어할 수 있다. 충전대는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다.
다른 예를 들어, 제어부(10)은 현재 위치를 맵 상에서 인식하여 이동 로봇(100b)이 충전대로 복귀하게 제어할 수 있다. 맵 상에서 충전대에 대응되는 위치와 현재 위치를 인식할 수 있고, 이를 통해 이동 로봇(100b)는 충전대로 복귀할 수 있다.
제어부(10)은, 사용자의 단말기(예를 들어, 스마트폰이나 컴퓨터 등)를 통해 입력된 정보를 근거로 하여, 이동 로봇(100b)를 제어할 수 있다. 이동 로봇(100b)는 입력된 정보를 통신부(19)를 통해 수신할 수 있다. 제어부(10)은 입력된 정보를 근거로 하여, 이동 로봇(100b)의 주행 패턴(예를 들어, 지그재그 방식으로 이동하는 주행 또는 일정 영역을 집중적으로 청소하는 주행)을 제어할 수 있다. 제어부(10)은 입력된 정보를 근거로 하여, 이동 로봇(100b)의 특정 기능(예를 들어, 분실 물건 찾기 기능 또는 벌레 퇴치 기능 등)의 활성 여부를 제어할 수 있다. 제어부(10)은 입력된 정보를 근거로 하여, 이동 로봇(100b)의 청소 주행 시작 시점을 특정 시점으로 설정할 수 있다. (예약 청소 기능)
제어부(10)은 맙 모터(61)의 구동을 제어하는 맙 모터(61) 제어부(10)을 포함한다. 제어부(10)은 제1 맙 모터(61a)의 구동을 제어하는 제 1맙 모터(61) 제어부(10)을 포함할 수 있다. 제어부(10)은 제 2맙 모터(61b)의 구동을 제어하는 제 2맙 모터(61) 제어부(10)을 포함할 수 있다.
스핀 맙과 바닥의 마찰력으로 주행하는 이동 로봇의 경우, 카펫 등의 재질의 경우 스핀 맙이 카펫 등에 등반되는 경우 카펫에 구속되게 된다. 이를 해결하기 위해 본 발명은 다양한 센서를 이용하여 선제적으로 바닥의 재질이 위험 재질인지 판단한다.
제어부(10)은 옵티컬 플로우 센서(23b), 가속도 센서(28), 클리프 센서(23a) 및 맙 부하정보 센서(29) 중 적어도 하나의 센서에서 입력된 정보를 바탕으로 주행 구역 내에 서브 영역을 감지한다.
제어부(10)은 옵티컬 플로우 센서(23b), 가속도 센서(28), 클리프 센서(23a) 및 맙 부하정보 센서(29)에서 입력된 정보들을 독립적으로 또는 종합적으로 고려하여 주행 구역 내에 서브 영역을 판단할 수 있다.
제어부(10)은 옵티컬 플로우 센서(23b)를 통해 획득된 하방 영상 정보를 근거로 바닥의 재질을 판단하고 바닥의 재질이 위험 재질인 경우, 현재 위치(또는 현재 위치와 그 주변 지역)를 서브 영역으로 설정할 수 있다.
구체적으로, 제어부(10)은 하방 영상 정보에서 바닥의 반사도 값, 하방 영상의 이미지 퀄리티 값 및 하방 영상의 프레임 레이트 중 적어도 하나를 산정하고, 조건 1 내지 3 중 적어도 하나를 만족하는 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
<조건 1>
이미지 퀄리티 값이 기 설정된 기준 이미지 퀄리티 값 보다 작음
<조건 2>
프레임 레이트가 기 설정된 기준 프레임 레이트 보다 작음
<조건 3>
바닥의 반사도 값이 기 설정된 기준 반사도 값 보다 작음
다른 예를 들면, 제어부(10)은, 하방 영상 정보에서 하방 영상의 이미지 퀄리티 값을 산정하고, 이미지 퀄리티 값이 기 설정된 기준 이미지 퀄리티 값 보다 작은 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
다른 예로, 제어부(10)은, 하방 영상 정보에서 하방 영상의 프레임 레이트를 산정하고, 프레임 레이트가 기 설정된 기준 프레임 레이트 보다 작은 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
또 다른 예로, 제어부(10)은 하방 영상 정보에서 바닥의 반사도 값을 산정하고, 바닥의 반사도 값이 기 설정된 기준 반사도 값 보다 작은 경우, 바닥 재질을 위험 재질로 판단할 수 있다.
여기서 이미지 퀄리티 값이란 옵티컬 플로우 센서(23b)를 통해 촬영한 하방 이미지의 상태를 수치화 한 값으로 정의한다.
이미지 퀄리티 값은, 광원에서 방출된 빛이 바닥에 형성된 상의 형태로 판단할 수 있다. 즉, 광원에서 일정한 모양의 평면광을 바닥에 방출하고, 이를 촬영한 하방 영상에서, 광원에서 방출한 평면광의 모양과 유사한 정도를 이미지 퀄리티 값으로 정의할 수 있다.
다른 예로, 이미지 퀄리티 측정 과정은 히스토그램을 통한 평활화 처리 과정 후, 명암 비율이 적합한지를 측정하는 과정일 수 있다. 이미지 퀄리티 측정 과정은 히스토그램을 통한 평활화 처리 과정 후, 명암 비율이 적합한지를 측정하는 과정일 수 있다. 이미지 퀄리티 측정 과정은 이진화 과정 및 명암 비율 적합성 확인 과정을 포함할 수 있다.
평활화 처리 과정은 히스토그램(histogram) 분석을 이용하여 하방 이미지의 인식률을 향상시키기 위한 과정일 수 있다. 획득된 하방 이미지는 복수의 픽셀들로 구성될 수 있다. 히스토그램은 하방 이미지에 포함된 복수의 픽셀들에 대한 명암 값의 분포를 나타낸 것이다. 즉, 히스토그램은 하방 이미지에서 분포된 밝은 부분과 어두운 부분에 대한 분포를 나타낸 것이다. 구체적으로, 256 Gray Level의 영상에서 명암 값의 범위는 0 내지 255를 가 진다. 히스토그램은 각 픽셀에 대한 명암 값의 빈도 수를 막대 그래프로 나타낸 것이다. 평활화 처리 과정은 히스토그램 상에 분포된 명암 값의 분포가 한쪽으로 치우치거나 균일하지 못한 경우, 명암 값의 분포를 균일화하는 과정이다. 즉, 평활화 처리 과정은 한 곳에 집중되어 있는 명암 값을 펼쳐서 균일환 분포를 갖도록 하는 과정이다. 평활화 처리 과정으로 인해 하방 이미지의 어두운 부분은 밝아지고, 밝은 영상은 어두워져 각 픽셀은 적당한 명암 값을 가질 수 있다.
이진화 과정은 평활화 처리 후 하방 이미지를 구성하는 각 픽셀을 흑 또는 백으로 구분하는 과정일 수 있다. 평활화 처리 후의 하방 이미지는 복잡한 음영을 가질 수 있으므로, 이진화 과정을 통해 각 픽셀은 흑 또는 백으로 이진화 처리될 수 있다. 이진화 과정을 위해 흑과 백으로 구분하기 위한 임계 값이 요구된다. 임계 값은 픽셀을 흑과 백으로 구분하기 위해 설정된 값일 수 있다. 픽셀의 명암 값이 임계 값보다 크면, 0(흑)으로, 픽셀의 명암 값이 임계 값보다 작으면, 1(백)으로 구분될 수 있다.
명암 비율 적합성 확인 과정은 이진화된 복수의 픽셀들의 명암 비율이 기 설정된 비율을 만족하는지 확인하는 과정일 수 있다.
명암 중 흑 비율이 상대적으로 높은 경우, 이미지 퀄리티 값이 작게 되고, 이미지 퀄리티 값이 작은 경우, 바닥의 거칠기가 높거나, 카펫일 수 있다. 따라서, 본 발명은 이미지 퀄리티 값이 기준 이미지 퀄리티 값 보다 작은 경우, 바닥 재질을 위험 재질로 판단한다.
또한, 바닥의 반사도는 백색 픽셀을 흑색 픽셀로 나눈 값일 수 있다. 다른 예로, 바닥의 반사도는 광원에서 발출된 광이 바닥에 반사되어 수광부(미도시)에 입사된 광량 값으로 정의할 수 있다.
바닥의 마루, 대리석 및 장판과 같이 반사도가 좋고 플랫한 재질인 경우, 하방 영상의 이미지 퀄리티 값이 높게 되고, 바닥의 반사도가 높게 되며, 프레임 레이트가 높게 된다. 그러나, 바닥이 반사도가 낮은 재질이거나, 바닥의 거칠기가 높은 경우, 하방 영상의 이미지 퀄리티 값이 낮게 되고, 바닥의 반사도가 낮게 되며, 프레임 레이트가 낮게 된다.
따라서, 본 발명은 이러한 바닥의 재질에 따른 옵티컬 플로우 센서(23b)의 하방 영상의 복수의 파라미터의 차이를 기준으로 바닥 재질을 판단하므로, 이동 로봇이 위험지역에 진입 전에 회피가 가능하게 된다. 특히, 하나의 센서로 다수의 파라미터를 교차 및 독립적으로 검증하므로, 정확한 바닥재질의 판단이 가능하다.
따라서, 이동 로봇은 바닥의 반사도가 낮은 영역의 경우 카펫 영역으로 판단하고, 이를 회피하여 주행할 수 있다. 따라서, 걸레의 회전에 의해 이동 로봇에 주행력을 제공하는 이동 로봇이 카펫을 등반하는 경우, 카펫에서 벗어나기가 매우 힘든 문제를 해결할 수 있다.
다른 예로, 제어부(10)은 클리프 센서(23a)에서 획득한 바닥과의 거리 및 옵티컬 플로우 센서(23b)를 통해 획득된 하방 영상 정보를 근거로, 바닥의 재질을 판단할 수 있다.
구체적으로, 제어유닛(10)은 클리프 센서(23a)에서 획득한 바닥 과의 거리 값이 기준 거리 값 보다 작은 경우 진입 제한 동작을 수행하도록 맙 모터를 제어할 수 있다. 이 때, 제어유닛(10)은 옵티컬 플로우 센서(23b)를 통해 획득된 하방 영상 정보를 근거로 바닥 재질을 판단할 수도 있다.
제어유닛(10)은 클리프 센서(23a)에서 획득한 바닥 과의 거리 값이 기준 거리 값 보다 크고 최대 값 보다 작은 경우 이동 로봇이 정상 주행하도록 맙 모터를 제어할 수 있다.
클리프 센서(23a)는 바디의 전방 단에 배치되어서, 스핀 맙이 접촉한 바닥(기준 바닥)과 바디의 전당 단 하방의 바닥 사이의 단차를 검출한다. 클리프 센서(23a)가 검출한 값을 통해 낭떠러지를 감지할 수 있고, 기준 바닥 보다 높은 바닥을 검출할 수 있다. 기준 바닥 보다 높은 경우, 바닥에 카펫 등이 깔려 있다고 판단하고, 이동 로봇은 이를 회피하게 된다.
클리프 센서(23a)와 옵티컬 플로우 센서(23b)의 복수의 측정 수단을 사용하여서, 바닥 재질에 대한 판단의 오류를 줄일 수 있게 된다.
또 다른 예로, 이동 로봇은 스핀 맙의 일부가 위험 지역에 진입한 상태에서 현재 위치가 위험 지역인 것을 판단할 수도 있다.
제어유닛(10)은 맙 부하정보 센서(29)에서 감지된 맙 부하 값을 근거로 이동 로봇(1)를 제어할 수 있다. 구체적으로, 제어유닛(10)은 맙 부하정보 센서(29)에서 감지된 맙 부하 값을 기 설정된 기준 부하 값 보다 큰 경우 진입 제한 동작을 수행하도록 맙 모터(61)를 제어할 수 있다.
또한, 제어유닛(10)은 맙 부하정보 센서(29)에서 감지된 맙 부하 값을 기 설정된 기준 부하 값 보다 작은 경우 정상 주행 동작을 수행하도록 맙 모터(61)를 제어할 수 있다.
또 다른 예로, 제어유닛(10)은, 가속도 값에서 평균 가속도 값을 산정하고, 평균 가속도 값이 기준 평균 가속도 값 보다 큰 경우, 진입 제한 동작을 수행하도록 맙 모터를 제어할 수 있다. 또한, 제어유닛(10)은, 가속도 값의 산포도를 산정하고 산도포가 기준 산포도 큰 경우, 진입 제한 동작을 수행하도록 맙 모터를 제어할 수 있다.
물론 제어유닛(10)은 평균 가속도 값이 기준 평균 가속도 값 보다 큰 경우, 정상 주행 동작을 수행하도록 맙 모터를 제어할 수 있다. 또한, 제어유닛(10)은, 산도포가 기준 산포도 작은 경우, 정사 주행 동작을 수행하도록 맙 모터를 제어할 수 있다.
따라서, 본 발명은 클리프 센서(23a) 및 옵티컬 플로우 센서(23b)에 의해 선제적으로 위험 지역을 판별하지 못한 경우라 하더라도, 스핀 맙의 부하, 가속도 센서(28)의 정보 등 복수 또는 단수의 인자를 통해 위험 지역 진입 초기에 위험 지역 여부를 판단할 수 있다.
또한, 이동 로봇의 회전 동작, 전진 동작 등 다양한 동작에서 이동 로봇의 어느 일부분에 카펫 등이 걸리는 경우를 신속하게 판단할 수 있고, 이를 신속하게 회피할 수 있게 된다.
또 다른 예로, 제어유닛(10)은 하기 조건 4 내지 7 중 적어도 하나를 만족하는 경우, 서브 영역으로 판단할 수 있다.
<조건>
맙 모터의 부하 값이 기 설정된 기준 부하 값 보다 큼
<조건 5>
바닥 과의 거리 값이 기준 거리 값 보다 작음
<조건 6>
평균 가속도 값이 기준 평균 가속도 값 보다 큼
<조건 7>
가속도 산포도가 기준 산포도 보다 큼
또 다른 예로, 제어유닛(10)은 조건 1 내지 7 중 적어도 하나를 만족하는 경우, 서브 영역으로 판단할 수 있다.
도 9a 및 도 9b를 참조하면, 자율주행을 수행하는 제1 이동로봇(100a)과 제2 이동로봇(100b)은 네트워크 통신(50)을 통해 서로 데이터를 주고 받을 수 있다. 또한, 자율주행을 수행하는 제1 이동로봇(100a) 및/또는 제2 이동로봇(100b)은 네트워크 통신(50) 또는 다른 통신을 통해 단말기(300)로부터 수신되는 제어명령에 의해 청소 관련 동작을 수행하거나 또는 대응되는 동작을 수행할 수 있다.
즉, 비록 도시되지는 않았지만, 자율주행을 수행하는 복수의 이동로봇(100a, 100b)가 제1 네트워크 통신을 통해서는 단말기(300)와 통신을 수행하고, 제2 네트워크 통신을 통해서는 상호간에 통신을 수행할 수 있다.
여기에서, 네트워크 통신(50)은 WLAN(Wireless LAN), WPAN(Wireless Personal Area Network), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity)Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), Zigbee, Z-wave, Blue-Tooth, RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultrawide-Band), Wireless USB(Wireless Universal Serial Bus) 등과 같은 무선 통신 기술 중 적어도 하나를 이용한 근거리 통신을 의미할 수 있다.
도시된 네트워크 통신(50)은 서로 통신하고자 하는 이동로봇의 통신방식이 무엇인지에 따라 달라질 수 있다.
도 9a에서, 자율주행을 수행하는 제1 이동로봇(100a)의 및/또는 제2 이동로봇(100b)은 각각의 센싱 유닛을 통해 센싱된 정보를 네트워크 통신(50)을 통해 단말기(300)에 제공할 수 있다. 또한, 단말기(300)는 수신된 정보를 기초로 생성된 제어명령을 네트워크 통신(50)을 통해 제1 이동로봇(100a)의 및/또는 제2 이동로봇(100b)에 전달할 수 있다.
또한, 도 9a에서, 제1 이동로봇(100a)의 통신부와 제2 이동로봇(100b)의 통신부가 직접 무선 통신하거나 다른 공유기(미도시) 등을 매개로 간접 무선 통신하여, 주행 상태에 관한 정보 및 서로의 위치 정보 등을 파악할 수 있다.
일 예에서, 제2 이동로봇(100b)은 제1 이동로봇(100a)으로부터 수신되는 제어명령에 따라 주행 동작 및 청소 동작을 수행할 수 있다. 이러한 경우, 제1 이동로봇(100a)은 마스터로, 제2 이동로봇(100b)은 슬레이브로 동작한다고 말할 수 있다.
또는, 제2 이동로봇(100b)은 제1 이동로봇(100a)을 추종한다고 말할 수 있다. 또는, 경우에 따라서는 제1 이동로봇(100a)과 제2 이동로봇(100b)이 서로 협업한다고 말할 수도 있다.
이하 도 9b에서는 본 발명의 일 실시예에 따른 자율주행을 수행하는 복수의 이동로봇(100a, 100b)를 포함하는 시스템이 설명된다.
도 9b를 참조하면, 본 발명의 일 실시예에 따른 청소 시스템은, 자율 주행을 수행하는 복수의 이동로봇(100a, 100b), 네트워크 통신(50), 서버(500), 및 복수의 단말기(300a, 300b)을 포함할 수 있다.
이 중 복수의 이동로봇(100a, 100b)와, 네트워크 통신(50), 그리고 적어도 하나의 단말기(300a)는 건물(10) 내에 배치되고, 다른 단말기(300b)와 서버(500)는 건물(10) 외부에 위치할 수 있다.
복수의 이동로봇(100a, 100b)은, 스스로 주행하며 청소를 수행하는 청소기로서, 자율 주행 및 자율 청소를 수행할 수 있다. 복수의 이동로봇(100a, 100b)은, 주행 기능 및 청소 기능 외에, 내부에 각각 통신부(1100)를 구비할 수 있다.
또한, 복수의 이동로봇(100a, 100b), 서버(500), 및 복수의 단말기(300a, 300b)는 네트워크 통신(50)를 통해 서로 연결되어 서로 데이터를 교환할 수 있다. 이를 위해, 비록 도시되지는 않았지만, AP(access point; AP) 장치 등의 무선 공유기를 더 포함할 수 있다. 이러한 경우, 내부 네트워크 내에 위치한 단말기(300a)는, AP 장치를 통해 복수의 이동로봇(100a, 100b) 중 적어도 하나와 접속함으로써, 청소기에 대한 모니터링, 원격제어 등을 수행할 수 있다. 또한, 외부 네트워크에 위치한 단말기(300b)도, AP 장치를 통해 복수의 이동로봇(100a, 100b) 중 적어도 하나와 접속함으로써, 청소기에 대한 모니터링, 원격제어 등을 수행할 수 있게 된다.
서버(500)는 이동 단말기(300b)를 통해서 직접 무선 연결될 수 있다. 또는, 서버(500)는 이동 단말기(300b)를 통하지 않고 복수의 이동로봇(100a, 100b) 중 적어도 하나와 연결될 수도 있다.
서버(500)는 프로그램 처리 가능한 프로세서를 포함할 수 있으며, 각종 알고리즘을 구비할 수 있다. 예로서, 서버(500)는 머신 러닝(machine learning) 및/또는 데이터 마이닝(data mining)의 수행과 관련된 알고리즘을 구비할 수 있다.
또 예로써, 서버(500)는, 음성 인식 알고리즘을 구비할 수 있다. 이러한 경우, 음성 데이터 수신 시, 수신되는 음성 데이터를, 텍스트 형식의 데이터로 변환하여, 출력할 수 있다.
서버(500)는, 복수의 이동로봇(100a, 100b)에 대한 펌웨어 정보, 운전정보(코스 정보 등)를 저장하고, 복수의 이동로봇(100a, 100b)에 대한 제품 정보를 등록할 수 있다. 예를 들어, 서버(500)는, 청소기 제조자가 운영하는 서버이거나 또는 공개된 애플리케이션 스토어 운영자가 운영하는 서버일 수 있다.
다른 예에서, 서버(500)는 내부 네트워크(10) 내에 구비되어, 홈 기기들에 대한 상태 정보를 저장하거나, 홈 기기에서 공유되는 컨텐츠를 저장하는 홈 서버일 수도 있다. 서버(500)가 홈 서버인 경우, 이물질과 관련된 정보, 예를 들어, 이물질 이미지 등을 저장할 수 있다.
한편, 복수의 이동로봇(100a, 100b)은 지그비(Zigbee), 지-웨이브(Zwave), 블루투스(Blue-Tooth), 초광대역 무선기술(Ultra-wide Band) 등을 통해 직접 무선 연결될 수 있다. 이러한 경우, 복수의 이동로봇(100a, 100b)은 서로의 위치정보 및 주행 정보를 교환할 수 있다.
이때, 복수의 이동로봇(100a, 100b) 중 어느 하나는 마스터 이동로봇(100a)이 되고, 다른 하나는 슬레이브 이동로봇(100b)이 될 수 있다. 예로써, 제1 이동로봇(100a)은 청소 바닥의 먼지를 흡입하는 건식 청소기이고, 제2 이동로봇(100b)은 제1 이동로봇(100a)이 청소한 바닥을 걸레질하는 습식 청소기일 수 있다.
또한, 제1 이동로봇(100a)과 제2 이동로봇(100b)의 구조 및 사양은 서로 상이할 수 있다. 이러한 경우, 제1 이동로봇(100a)이 제2 이동로봇(100b)의 주행 및 청소를 제어할 수 있다. 또, 제2 이동로봇(100b)은 제1 이동로봇(100a)을 추종하며 주행 및 청소를 수행할 수 있다. 여기에서, 제2 이동로봇(100b)이 제1 이동로봇(100a)을 추종한다는 것은, 제2 이동로봇(100b)이 제1 이동로봇(100a)과 적절한 거리를 유지하면서 제1 이동로봇(100a)을 좇아서 주행 및 청소를 수행하는 것을 의미한다.
도 9c를 참조하면, 제1 이동로봇(100a)은 제2 이동로봇(100b)이 제1 이동로봇(100a)을 추종하도록 제2 이동로봇(100b)을 제어할 수 있다.
이를 위해, 제1 이동로봇(100a)과 제2 이동로봇(100b)은 상호 통신이 가능한 특정 영역 내에 존재하며, 제2 이동로봇(100b)은 적어도 제1 이동로봇(100a)의 상대위치를 파악하고 있어야 한다.
예로써, 제1 이동로봇(100a)의 통신부와 제2 이동로봇(100b)의 통신부가 상호 IR 신호, 초음파 신호, 반송파 주파수, 임펄스 신호 등을 교환하고, 삼각측량 등을 통해 이를 분석하여 제1 이동로봇(100a)과 제2 이동로봇(100b)의 이동변위를 산출함으로써 제1 이동로봇(100a)과 제2 이동로봇(100b)의 상대 위치를 파악할 수 있을 것이다.
그러나, 이러한 신호 교환을 통한 위치 파악은 제1 이동로봇(100a)과 제2 이동로봇(100b)이 각각 위치 센서를 탑재하거나 또는 서로 충분히 거리가 가까울 것을 전제로 한다. 이에, 본 발명에서는 추가적인 위치 센서를 구비하지 않고도 그리고 제1 이동로봇(100a)과 제2 이동로봇(100b) 간의 거리와 관계없이 지정된 공간 내에서 서로의 상대 위치를 쉽게 파악할 수 방법을 제시한다.
이와 같이 제1 이동로봇(100a)은 제2 이동로봇(100b) 간의 상대 위치가 인식되면, 제2 이동로봇(100b)은 제1 이동로봇(100a)에 저장된 맵 정보 또는 서버나 단말기 등에 저장된 맵 정보를 기준으로 제어될 수 있다. 또한, 제2 이동로봇(100b)은 제1 이동로봇(100a)에서 센싱된 장애물 정보를 공유할 수 있다. 또한, 제2 이동로봇(100b)은 제1 이동로봇(100a)에서 수신되는 제어명령(예, 주행방향, 주행속도, 정지 등의 주행과 관련된 제어명령)에 의해 동작을 수행할 수 있다.
구체적으로, 제2 이동로봇(100b)은 제1 이동로봇(100a)의 주행 경로를 따라 주행하면서 청소를 수행한다. 다만, 제1 이동로봇(100a)과 제2 이동로봇(100b)의 진행방향이 항상 일치하지는 않는다. 예를 들어, 제1 이동로봇(100a)이 상/하/좌/우로 이동하거나 회전하는 경우, 제2 이동로봇(100b)은 소정 시간 후에 상/하/좌/우로 이동하거나 회전하므로, 현재 진행방향이 서로 달라질 수 있다.
또한, 제1 이동로봇(100a)의 주행 속도(Va)와 제2 이동로봇(100b)의 주행속도(Vb)는 서로 다를 수 있다. 제1 이동로봇(100a)은 제1 이동로봇(100a)과 제2 이동로봇(100b)의 통신가능한 거리를 고려하여, 제1 이동로봇(100a) 및/또는 제2 이동로봇(100b)의 주행 속도(Vb)를 가변하도록 제어할 수 있다.
예로써, 제1 이동로봇(100a)과 제2 이동로봇(100b)이 일정거리 이상으로 멀어지면, 제1 이동로봇(100a)은 제2 이동로봇(100b)의 주행 속도(Vb)가 이전보다 빨라지도록 제어할 수 있다. 또, 제1 이동로봇(100a)과 제2 이동로봇(100b)이 일정 거리 이상으로 가까워지면 제2 이동로봇(100b)의 주행 속도(Vb)가 이전보다 느리도록 제어하거나 또는 소정 시간 정지하도록 제어할 수 있다. 이를 통해, 제2 이동로봇(100b)이 제1 이동로봇(100a)을 계속 추종하며 청소를 수행할 수 있다.
또한, 비록 도시되지는 않았지만, 제1 이동로봇(100a)과 제2 이동로봇(100b)은 지정된 공간을 나누어 협업하며 청소하도록 동작할 수 있다. 이를 위해, 제1 이동로봇(100a)과 제2 이동로봇(100b)은 지정된 공간을 청소했던 이력이 적어도 한번 은 있으며 자신의 위치 좌표가 표시된 장애물 지도를 각각 보유할 수 있다.
장애물 지도는, 특정 공간의 영역 관련 정보(예, 영역의 형상, 벽의 위치, 바닥의 높낮이, 문/문턱의 위치 등), 청소기의 위치 정보, 충전 스테이션의 위치 정보, 그리고 특정 공간 내에 존재하는 장애물에 관한 정보(예, 장애물의 위치, 크기 등)를 포함할 수 있다. 여기서, 장애물은 청소영역(B)의 바닥으로부터 돌출 되어 청소기의 주행을 방해하는 벽(wall), 가구, 집기 등의 고정 장애물과 움직이는 이동 장애물뿐만 아니라, 낭떠러지(cliff)도 포함할 수 있다.
제1 이동로봇(100a)이 보유한 장애물 지도와 제2 이동로봇(100b)이 보유한 장애물 지도는 서로 다를 수 있다. 예를 들어, 제1 이동로봇(100a)과 제2 이동로봇(100b)이 이종이거나 또는 탑재된 장애물 센서(예, 초음파 센서, 레이저 센서, 전파 센서, 적외선 센서, 범퍼 등)가 서로 다른 경우, 동일한 공간에 대해 작성된 것이라도 서로 다른 장애물 지도가 생성될 수 있다.
또한, 제1 이동로봇(100a)과 제2 이동로봇(100b)의 각 메모리(1700)에는 적어도 협업 청소를 하기 전에 지정된 공간에 대해 미리 작성된 장애물 지도 및 이와 관련된 맵 데이터가 저장될 수 있다.
여기에서, 각 장애물 지도는 지정된 공간에 대한 2D 또는 3D 영상 또는 그리드 맵 형태로 구현될 수 있다. 또한, 각 장애물 지도는 적어도 하나의 장애물 정보, 예를 들어 테이블, 벽면, 문턱 등의 위치 정보 및 크기 정보와 함께, 자신(즉, 제1 이동로봇(100a) 또는 제2 이동로봇(100b))의 위치 정보 및 청소영역(B) 내에 습식 오염 영역의 위치정보를 포함할 수 있다.
또한, 각 장애물 지도는 지정된 실제 공간의 형상과 동일하며, 평면도 실측 값을 기초로 실제 공간과 동일한 스케일로 생성될 수 있다.
한편, 제1 이동로봇(100a)과 제2 이동로봇(100b)은 지정된 공간 내에서 각각 독립적으로 주행 및 청소를 수행할 수 있다. 그러나, 협업이 아닌 별개의 시나리오로 청소를 수행할 경우, 제1 이동로봇(100a)의 주행 궤적과 제2 이동로봇(100b)의 주행 궤적이 중첩되는 등, 복수의 이동로봇을 사용하여 효율적으로 청소를 수행하려는 목적에 반할 수 있다.
이에, 본 발명에서는 복수의 이동로봇이 협업/추종 청소 동작을 수행하기 위해, 위치 센서 없이도 지정된 공간 내에서 서로의 상대 위치를 인식할 수 있다.
구체적으로, 본 발명에서는 제1 이동로봇(100a)이 제2 이동로봇(100b)과 통신하여, 제2 이동로봇(100b)으로부터 제2 이동로봇(100b)의 위치 및 인공표식이 표시된 장애물 지도를 수신한다. 그리고, 수신된 장애물 지도를 제1 이동로봇(100a)의 장애물 지도의 인공표식을 기준으로 캘리브레이션하여 좌표계를 통일한다. 그리고, 좌표계가 통일된 제2 이동로봇(100b)의 장애물 지도를 사용하여 제1 이동로봇(100a)이 제2 이동로봇(100b)의 상대 위치를 인식할 수 있다. 즉, 본 발명에서는 제1 이동로봇(100a)과 제2 이동로봇(100b)이 동일 공간에 대하여 각각 장애물 지도를 갖고 있기만 하면, 서로 다른 장애물 센서의 사용으로 인해 지도의 좌표계가 다르거나 서로 근거리 무선신호를 주고받을 정도로 가까이 있지 않거나 위치 센서를 탑재하지 않더라도, 동일 공간 내에서 서로의 상대 위치를 인식할 수 있다.
이하, 도 10을 참고하여, 본 발명의 실시예들에 따른 복수의 이동 로봇의 제어방법 및 제어 시스템을 설명하면 다음과 같다. 제어방법은, 실시예에 따라 제어부(1800) 또는/및 제어부(10)에 의해서 수행될 수도 있고, 제어부(1800), 제어부(10, 단말기(300), 서버(500) 중 적어도 하나에 의해 수행될 수도 있다. 본 발명은, 제어방법의 각 단계를 구현하는 컴퓨터 프로그램이 될 수도 있고, 제어방법을 구현하기 위한 프로그램이 기록된 기록매체가 될 수도 있다. ‘기록매체’는 컴퓨터로 판독 가능한 기록매체를 의미한다. 본 발명은, 하드웨어와 소프트웨어를 모두 포함하는 시스템이 될 수도 있다.
몇 가지 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
먼저, 복수의 이동 로봇이 협업 청소를 수행하기 위해 복수의 청소기를 하나의 그룹으로 선택하고, 함께 청소할 영역을 지정할 수 있다.
구체적으로 도 10을 참고하면, 복수의 이동 로봇의 제어방법은 복수의 이동 로봇을 등록시키는 단계(S10)를 포함한다. 제어방법은, 단계(S10) 후, 사용자에 의해 협업 청소 모드가 선택 입력되는 단계(S20)를 포함한다. 제어방법은, 협업 청소가 선택 입력된 후, 협업할 복수의 이동 로봇(복수의 협업 이동 로봇이라 칭할 수 있음)가 선택되고 복수의 협업 모드 중 어느 하나가 선택되는 단계(S30)를 포함한다. 제어방법은, 복수의 이동 로봇이 청소를 수행하는 단계(S90)를 포함한다.
이동 로봇 등록 단계(S10)에서, 복수의 이동 로봇(100a, 100b)는 단말기(300)에 등록될 수 있다. 복수의 이동 로봇(100a, 100b)는 서버(500)에 등록될 수도 있다.
사용자는 단말기(300)의 화면에서 제품 등록 입력부를 터치하여, 네트워크 상 연결 가능한 이동 로봇을 등록시킬 수 있다. 제품 등록을 마치면, 단말기(300)의 화면에 등록 완료된 이동 로봇이 표시될 수 있다.
협업 청소 선택 단계(S20)에서, 사용자는 단말기(300)를 통해 협업 청소 모드를 선택할 수 있다. 위 단계(S30)는, 등록 완료된 복수의 이동 로봇 중 협업 청소를 수행할 복수의 협업 이동 로봇을 선택하는 이동 로봇 선택 단계(S30)를 포함한다.
예를 들어, 사용자는 선택항를 선택하여, 이동 로봇1이 제1 이동 로봇(100a)가 되도록 입력할 수 있다. 또한, 위의 단계(S30)에서, 사용자는 단말기(300)의 화면에서 적어도 하나 이상의 선택항 중 제2 이동 로봇(100b)를 선택할 수 있다. 예를 들어, 사용자는 선택항를 선택하여, 이동 로봇2(물걸레)가 제2 이동 로봇(100b)가 되도록 입력할 수 있다. 후술할 제 2실시예에서는, 사용자가 복수의 협업 이동 로봇 중 주 이동 로봇만을 선택하여 입력할 수 있다.
위의 단계(S30)는, 복수의 협업 모드 중 어느 하나가 선택되는 모드 선택 단계(S30)를 포함한다. 사용자는 복수의 선택항) 중 선택하고자 하는 협업 모드에 대응하는 어느 하나를 선택할 수 있다.
청소 단계(S90)에서, 이동 로봇 선택 단계(S30)에서 선택된 복수의 협업 이동 로봇(100a, 100b)가 청소를 수행한다. 청소 단계(S90)에서, 모드 선택 단계(S30)에서 선택된 협업 모드에 따라 복수의 이동 로봇(100a, 100b)가 청소를 수행한다.
위의 이동 로봇 선택 단계(S30)에서, 등록된 복수의 이동 로봇 중 제1 이동 로봇(100a) 및 제2 이동 로봇(100b)가 선택된다. 제1 이동 로봇(100a) 및 제2 이동 로봇(100b)는 협업 청소를 수행하도록 선택된 청소기를 의미한다. 단계(S30) 후, 단말기(300)가 네트워크를 통해 제1 이동 로봇(100a) 및 제2 이동 로봇(100b)에 지시를 주면, 제1 이동 로봇(100a) 및 제2 이동 로봇(100b)는 각각 현재 상태를 분석하여 맵 상의 자신의 위치를 확인한다(S150a, S150b). 제1 이동 로봇(100a)는, 자신의 위치 확인(S150a) 후, 제2 이동 로봇(100b)와 협업 청소를 수행한다(S90a). 제2 이동 로봇(100b)는, 자신의 위치 확인(S150b) 후, 제1 이동 로봇(100a)와 협업 청소를 수행한다(S90b). 제1 이동 로봇(100a) 및 제2 이동 로봇(100b)는, 청소를 수행(S90a, S90b)하는 중, 서로 정보를 송수신한다(S80).
도 11 및 도 12을 참조하면, 본 발명의 제1 실시예에 따른 복수의 이동 로봇의 제어방법은 주행 구역을 적어도 복수의 제1 영역(R1) 및 제2 영역(R2)으로 구분하는 구획 단계(S210), 제1 이동 로봇(100a)이 제1 영역(R1)에서 서브 영역을 감지하는 감지 단계(S210), 제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1)을 청소하는 제1 건식 청소 단계(S220), 제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1) 청소를 끝낸 후, 제2 영역(R2)을 청소하는 제2 건식 청소 단계(S250) 및 제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1)의 청소를 끝낸 후, 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 시작하는 제1 습식 청소 단계(S260)를 포함한다. 구획 단계(S210)와 감지 단계(S210)는 하나의 단계로 실행될 수도 있다.
또한, 제1 실시예에 따른 복수의 이동 로봇의 제어방법은 제1 이동 로봇(100a)이 제2 영역(R2)의 청소를 끝낸 후, 제1 영역(R1)의 서브 영역을 청소하는 제3 건식 청소 단계(S290)를 더 포함할 수 있다.
본 발명의 제1 실시예에 따른 복수의 이동 로봇의 제어방법의 다른 예는, 제1 이동 로봇(100a)이 주행 구역 내 구분된 제 1 내지 p 영역에서 서브 영역을 제외한 영역을 순차적으로 청소하는 단계와, 제1 이동 로봇(100a)이 제 n영역의 청소를 시작한 후 제2 이동 로봇(100b)이 서브 영역을 제외한 제 n-1영역의 청소를 시작하는 단계 및 제1 이동 로봇(100a)이 제 p영역의 청소를 끝낸 후, 제1 내지 P 영역 내에 서브 영역을 순차적으로 청소하는 단계를 포함한다. 여기서, p는 2이상의 자연수이고, n은 2이상 p이하의 임의의 자연수이다.
도 11a, 도 11b 및 도 12을 참조하면, 구획 단계(S210)와 감지 단계(S210)에서, 제1 이동로봇(100a)은 청소와 주행구역을 특정하고, 주행 구역을 복수의 제1 영역(R1)과 제2 영역(R2)으로 구분하며, 각 영역 내에 위치되는 서브 영역을 특정한다. 물론, 제1 이동로봇(100a)은 주행구역, 복수의 제1 영역(R1)과 제2 영역(R2), 및 각 영역 내에 위치되는 서브 영역의 정보를 서버 또는 다른 이동 로봇으로부터 수신할 수 있다.
구체적으로, 제1 이동로봇(100a)의 제어부(1800)는 주행부와 청소부를 제어하여서, 청소 구역의 장애물 지도를 작성하고 센싱부의 센싱 값을 기준으로 서브 영역을 특정한다.
위의 단계(S210)에서, 구체적으로, 제1 이동로봇(100a)은 초기 주행 시와 같이 저장된 맵이 없는 경우, 주행구역을 주행하여 벽추종(월팔로윙, Wall Following) 및/또는 센싱부(1400)의 감지 정보 등을 통해 맵을 생성할 수 있다.
제1 이동로봇(100a)은 생성된 맵을 복수의 영역(R1, R2, R3, R4, R5)으로 구분할 수 있다. 주행구역은 소정 알고리즘에 따라 복수의 영역(R1, R2, R3, R4, R5)로 구분될 수 있다.
일 예로, 이동 로봇(100a)가 기 설정된 거리를 주행할 때마다 지나온 이동 궤적이 그룹화되어 어느 한 영역으로 구분될 수 있다.
다른 예로, 주행구역의 구획 형상을 근거로 복수의 영역이 구분될 수 있다. 구체적으로, 이동 로봇(100a)는 주행구역 내 각 실의 벽이나 개폐 가능한 문 등을 인식하여, 복수의 구역을 구분할 수 있다.
또 다른 예로, 구분된 영역의 넓이를 기준으로 주행구역이 복수의 영역으로 구분될 수 있다. 구체적으로, 주행구역을 각각 소정 기준에 따른 넓이를 가진 복수의 영역으로 구분하고, 복수의 영역 중에 습식 장애물(A1)이 존재하는 영역을 서브 영역으로 구분할 수 있다. 제1 이동로봇(100a)이 서브 영역을 특정하는 방법은 상술한 바와 같다.
제1 건식 청소 단계(S220)에서, 제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1)을 청소한다. 제1 이동 로봇(100a)은 물을 사용하지 않고, 먼지 및 이물질을 흡입하는 청소를 수행한다.
이후, 제어부(1800)는 제1 이동 로봇(100a)이 제1 영역(R1)의 청소를 완료했는 지를 판단하다(S230). 도 11c를 참조하면, 제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1) 청소를 끝냈다고 판단하면, 제2 영역(R2)을 청소한다(S250). 제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1) 청소를 못 끝냈다고 판단하면, 제1 영역(R1)의 청소를 계속한다(S240).
제1 이동 로봇(100a)이 서브 영역을 제외한 제1 영역(R1)의 청소를 끝냈다고 판단하면, 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 시작한다(S260).
제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료여부를 판단한다(S270). 도 11d를 참조하면, 제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료했다고 판단하면, 제1 영역(R1)의 서브 영역을 청소한다(S290). 물론, 제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료했다고 판단하면, 제2 이동 로봇(100b)은 제2 영역(R2)의 청소를 시작할 수 있다(S280).
따라서, 본 발명의 제어방법에 따르면 다수의 영역에 서브 영역이 존재하는 경우, 효율적으로 협업 청소를 수행할 수 있다. 이러한 제어방법이 제어부담은 적지만, 각 영역의 크기 차이 및 서브 영역의 크기에 따라 다른 제어를 수행하여야 더 효율적일 수도 있다. 이하 다른 제어에 대해 설명하도록 한다.
도 13은 본 발명의 제2 실시예에 따른 복수의 이동 로봇의 제어방법의 순서도이다.
제2 실시예에 따른 이동 로봇의 제어방법은 제1 실시예와 단계(S210, 220, 230, 240, 250, 260)가 동일하다. 이하, 제1 실시예와의 차이점에 대해 설명한다.
단계(S260) 이후, 제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료여부를 판단한다(S270). 제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료했다고 판단하면, 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료했는지 판단한다 (S274).
제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료했다고 판단하면, 제2 이동 로봇(100b)은 제2 영역(R2)의 청소를 시작하고(S280), 제1 이동 로봇(100a)은 제1 영역(R1)의 서브 영역을 청소한다(S290).
제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료하지 못했다고 판단하면, 제1 이동 로봇(100a)은 제자리에서 대기한다(S277). 여기서, 제1 이동 로봇(100a)이 제자리에서 대기한다 함은, 제1 이동 로봇(100a)은 제2 영역(R2)에서 제2 영역(R2)의 청소를 완료한 위치에서 대기하거나, 제2 영역(R2)에서 제1 영역(R1)에 인접한 위치에 대기하거나, 제2 영역(R2)에서 제1 영역(R1)과 연결되는 영역 근처에서 대기할 수 있다.
제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 끝낸 후, 제1 이동 로봇(100a)에 제1 영역(R1)의 청소 완료 정보를 송신한다.
도 14를 참조하면, 본 발명의 제3 실시예에 따른 복수의 이동 로봇의 제어방법은 제1 실시예와 단계(S210, 220, 230, 240, 250, 260)가 동일하다. 이하, 제1 실시예와의 차이점에 대해 설명한다.
단계(S260) 이후, 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료했는 지 판단한다(S274). 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료했다고 판단되면, 제2 이동 로봇(100b)은 제2 영역(R2)의 청소를 시작하고(S280), 제1 이동 로봇(100a)은 제1 영역(R1)의 서브 영역을 청소한다(S290).
제2 이동 로봇(100b)은 서브 영역을 제외한 제1 영역(R1)의 청소를 끝낸 후, 제1 이동 로봇(100a)으로 제1 영역(R1)의 청소 완료 정보를 송신한다.
도 15는 본 발명의 제4 실시예에 따른 복수의 이동 로봇의 제어방법의 순서도이다.
제4 실시예에 따른 이동 로봇의 제어방법은 제1 실시예와 단계(S210, 220, 230, 240, 250, 260)가 동일하다. 이하, 제1 실시예와의 차이점에 대해 설명한다.
단계(S260) 이후, 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료했는지 판단한다 (S274). 제2 이동 로봇(100b)이 서브 영역을 제외한 제1 영역(R1)의 청소를 완료했다고 판단되면, 제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료여부를 판단한다(S270).
제1 이동 로봇(100a)이 제2 영역(R2)의 청소의 완료했다고 판단되면, 제2 이동 로봇(100b)은 제2 영역(R2)의 청소를 시작하고(S280), 제1 이동 로봇(100a)은 제1 영역(R1)의 서브 영역을 청소한다(S290).
제1 이동 로봇(100a)이 제2 영역(R2)의 청소를 완료하지 못했다고 판단하면, 제2 이동 로봇(100b)은 제자리에서 대기한다(S279). 여기서, 제1 이동 로봇(100a)이 제자리에서 대기한다 함은, 제2 이동 로봇(100b)이 제1 영역(R1)에서 제1 영역(R1)의 청소를 완료한 위치에서 대기하거나, 제1 영역(R1)에서 제2 영역(R2)에 인접한 위치에 대기하거나, 제1 영역(R1)에서 제2 영역(R2)과 연결되는 영역 근처에서 대기할 수 있다.
제1 이동 로봇(100a)이 제2 영역(R2)의 청소를 끝낸 후, 제2 이동 로봇(100b)에 제2 영역(R2)의 청소 완료 정보를 송신한다.
이하, 다른 실시예에 따른 이동 로봇에 대해 설명한다.
도 12를 참조하면, 다른 실시예에 따른 이동로봇은 도 5 내지 도 7의 실시예와 비교하여 차이점 위주로 설명한다. 도 12에서 특별한 설명이 없는 구성은 도 5 내지 도 7과 동일한 것으로 본다.
본 실시예는, 도 5 내지 도 7의 실시예와 비교하면 옵티컬 플로우 센서(23b-1)의 위치가 상이하다.
옵티컬 플로우 센서(23b-1)은 전방 수평선(FHL)과 후방 수평선(RHL) 사이에서 후방 수평선(RHL) 쪽으로 치우쳐 위치될 수 있다. 구체적으로, 옵티컬 플로우 센서(23b-1)은 중심 수평선(CHL)과 후방 수평선(RHL) 사이에서 후방 수평선(RHL) 쪽으로 치우쳐 위치될 수 있다. 또한, 옵티컬 플로우 센서(23b-1)는 수조(81) 및 스핀맙(41)과 중첩되지 않는 위치에 배치될 수 있다.
따라서, 스핀맙(41)에 의해 바닥의 액체성 이물질이 완전히 제거된 후 옵티컬 플로우 센서(23b-1)가 바닥을 스캔하므로, 정확한 이미지를 확보하고 정확한 센싱이 가능한 이점이 존재한다.
또한, 옵티컬 플로우 센서(23b-1)가 바디(30)의 기하학적 중심(Tc)에서 편심되어 존재하므로, 이동로봇이 제자리에서 회전하는 것을 용이하게 감지할 수 있게 된다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (17)

  1. 주행 구역을 적어도 복수의 제1 영역 및 제2 영역으로 구분하는 구획 단계;
    제1 이동 로봇이 상기 제1 영역에서 제2 이동 로봇이 진입하지 못하거나, 제2 이동 로봇의 청소가 어려운 서브 영역을 감지하는 감지 단계;
    상기 제1 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역을 청소하는 제1 건식 청소 단계;
    상기 제1 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역 청소를 끝낸 후, 상기 제2 영역을 청소하는 제2 건식 청소 단계; 및
    상기 제1 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 시작하는 제1 습식 청소 단계를 포함하는 복수의 이동 로봇의 제어방법.
  2. 제1항에 있어서,
    상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝낸 후, 상기 제1 영역의 상기 서브 영역을 청소하는 제3 건식 청소 단계를 더 포함하는 복수의 이동 로봇의 제어방법.
  3. 제1항에 있어서,
    상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝내고, 상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제1 이동 로봇이 상기 제1 영역의 상기 서브 영역을 청소하는 제3 건식 청소 단계를 더 포함하는 복수의 이동 로봇의 제어방법.
  4. 제3항에 있어서,
    상기 제3 건식 청소 단계에서,
    상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소 중 인 경우, 상기 제1 이동 로봇은 제자리에서 대기하는 복수의 이동 로봇의 제어방법.
  5. 제3항에 있어서,
    상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제1 이동 로봇에 상기 제1 영역의 청소 완료 정보를 송신하는 복수의 이동 로봇의 제어방법.
  6. 제1항에 있어서,
    상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝낸 후, 상기 제2 영역의 청소를 시작하는 제2 습식 청소 단계를 포함하는 복수의 이동 로봇의 제어방법.
  7. 제1항에 있어서,
    상기 제2 이동 로봇이 상기 서브 영역을 제외한 상기 제1 영역의 청소를 끝내면, 상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝낸 후, 상기 제2 이동 로봇이 상기 제2 영역의 청소를 시작하는 제2 습식 청소 단계를 더 포함하는 복수의 이동 로봇의 제어방법.
  8. 제6항에 있어서,
    상기 제2 습식 청소 단계에서,
    상기 제1 이동 로봇이 상기 제2 영역의 청소 중 인 경우, 상기 제2 이동 로봇은 제자리에서 대기하는 복수의 이동 로봇의 제어방법.
  9. 제6항에 있어서,
    상기 제1 이동 로봇이 상기 제2 영역의 청소를 끝낸 후, 상기 제2 이동 로봇에 상기 제2 영역의 청소 완료 정보를 송신하는 복수의 이동 로봇의 제어방법.
  10. 제1항에 있어서,
    상기 제1 이동 로봇과 상기 제2 이동 로봇은 상기 주행 구역의 맵을 공유하는, 이동 로봇의 제어방법.
  11. 제1항에 있어서,
    상기 제1 이동 로봇은 이물질의 흡입을 수행하고,
    상기 제2 이동 로봇은 걸레질을 수행하는, 복수의 이동 로봇의 제어방법.
  12. 제1 이동 로봇이 주행 구역 내 구분된 제 1 내지 p 영역에서 서브 영역을 제외한 영역을 순차적으로 청소하는 단계;
    상기 제1 이동 로봇이 제 n영역의 청소를 시작한 후 제2 이동 로봇이 상기 서브 영역을 제외한 제 n-1영역의 청소를 시작하는 단계; 및
    상기 제1 이동 로봇이 상기 제 p영역의 청소를 끝낸 후, 상기 제1 내지 P 영역 내에 서브 영역을 순차적으로 청소하는 단계를 포함하는 복수의 이동 로봇의 제어방법.
    여기서, p는 2이상의 자연수이고, n은 2이상 p이하의 임의의 자연수임.
  13. 본체를 이동시키는 주행부;
    먼지를 흡입하는 청소유닛;
    본체 주변의 영상을 획득하는 영상센서;
    상기 영상 센서에서 입력된 정보를 바탕을 주행 구역과, 상기 주행 구역을 적어도 복수의 제1 영역 및 제2 영역으로 구분하고, 서브 영역을 특정하는 제어부를 포함하고,
    상기 제어부는,
    상기 제1 영역 내에 상기 서브 영역이 위치되는 경우, 상기 서브 영역을 제외한 제1 영역을 청소한 후, 상기 제2 영역의 청소를 시작하고, 상기 제2 영역의 청소를 끝내고, 상기 제1 영역 내의 상기 서브 영역을 청소하도록 상기 주행부 및 상기 청소유닛을 제어하는 이동 로봇.
  14. 제13항에 있어서,
    상기 제어부는,
    상기 이동 로봇과 상이한 방식으로 청소하는 제2 이동 로봇에 상기 서브 영역의 위치정보를 전송하는 이동 로봇.
  15. 제13항에 있어서,
    상기 제어부는,
    제2 이동 로봇에서 상기 제1 영역 청소 완료를 수신하면, 상기 제1 영역 내의 서브 영역을 청소하도록 상기 주행부 및 상기 청소유닛을 제어하는 이동 로봇.
  16. 제13항에 있어서,
    상기 제어부는,
    상기 제1 영역 청소 완료를 완료하면, 제2 이동 로봇에 상기 서브 영역의 위치정보와, 상기 제1 영역에서 상기 서브 영역을 청소하도록 하는 청소 명령을 송신하는 이동 로봇.
  17. 제13항에서,
    상기 제어부는,
    상기 주행 구역의 복수의 영역 중 어느 하나의 영역에 상기 서브 영역이 위치되는 경우, 상기 서브 영역이 위치되는 영역을 상기 제1 영역으로 정의 하는 이동 로봇.







KR1020200023797A 2020-02-26 2020-02-26 이동 로봇 및 복수의 이동 로봇의 제어방법 KR102369661B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200023797A KR102369661B1 (ko) 2020-02-26 2020-02-26 이동 로봇 및 복수의 이동 로봇의 제어방법
US17/801,835 US20230084829A1 (en) 2020-02-26 2021-02-26 Moving robots and method for controlling the same
EP21759837.4A EP4110559A1 (en) 2020-02-26 2021-02-26 Moving robots and method for controlling the same
PCT/KR2021/002453 WO2021172932A1 (en) 2020-02-26 2021-02-26 Moving robots and method for controlling the same
KR1020220024244A KR102615962B1 (ko) 2020-02-26 2022-02-24 이동 로봇 및 복수의 이동 로봇의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023797A KR102369661B1 (ko) 2020-02-26 2020-02-26 이동 로봇 및 복수의 이동 로봇의 제어방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220024244A Division KR102615962B1 (ko) 2020-02-26 2022-02-24 이동 로봇 및 복수의 이동 로봇의 제어방법

Publications (2)

Publication Number Publication Date
KR20210108771A KR20210108771A (ko) 2021-09-03
KR102369661B1 true KR102369661B1 (ko) 2022-03-02

Family

ID=77491702

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200023797A KR102369661B1 (ko) 2020-02-26 2020-02-26 이동 로봇 및 복수의 이동 로봇의 제어방법
KR1020220024244A KR102615962B1 (ko) 2020-02-26 2022-02-24 이동 로봇 및 복수의 이동 로봇의 제어방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220024244A KR102615962B1 (ko) 2020-02-26 2022-02-24 이동 로봇 및 복수의 이동 로봇의 제어방법

Country Status (4)

Country Link
US (1) US20230084829A1 (ko)
EP (1) EP4110559A1 (ko)
KR (2) KR102369661B1 (ko)
WO (1) WO2021172932A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102217540B1 (ko) * 2019-05-07 2021-02-19 엘지전자 주식회사 이동 로봇 및 복수의 이동 로봇의 제어방법
KR20230108552A (ko) * 2022-01-11 2023-07-18 삼성전자주식회사 이동 로봇 및 그 제어 방법
KR20230156229A (ko) * 2022-05-04 2023-11-14 삼성전자주식회사 주행 로봇, 그 제어 방법, 및 프로그램이 기록된 기록매체
KR102629020B1 (ko) * 2023-10-11 2024-01-25 홍준서 습식 청소기

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015160022A (ja) * 2014-02-28 2015-09-07 東日本旅客鉄道株式会社 清掃装置による清掃方法
KR101495849B1 (ko) 2014-10-24 2015-03-03 김태윤 에코 마그네슘 합금 제조방법과 제조장치
KR102315953B1 (ko) * 2015-09-17 2021-10-22 삼성전자주식회사 청소 로봇 및 그 제어 방법
KR20190073140A (ko) * 2017-12-18 2019-06-26 엘지전자 주식회사 복수의 로봇 청소기 및 그 제어방법
KR102067603B1 (ko) * 2018-05-04 2020-01-17 엘지전자 주식회사 복수의 이동 로봇 및 그 제어방법
KR102100476B1 (ko) * 2018-05-04 2020-05-26 엘지전자 주식회사 복수의 이동 로봇 및 그 제어방법
KR102096564B1 (ko) * 2018-06-25 2020-04-02 엘지전자 주식회사 복수의 자율주행 청소기
KR102081340B1 (ko) * 2018-07-20 2020-02-25 엘지전자 주식회사 복수의 로봇 청소기 및 그 제어방법

Also Published As

Publication number Publication date
KR20220031589A (ko) 2022-03-11
US20230084829A1 (en) 2023-03-16
WO2021172932A1 (en) 2021-09-02
KR102615962B1 (ko) 2023-12-19
KR20210108771A (ko) 2021-09-03
EP4110559A1 (en) 2023-01-04

Similar Documents

Publication Publication Date Title
KR102432199B1 (ko) 복수의 자율주행 이동 로봇
US11409308B2 (en) Robot cleaner and a controlling method for the same
KR102234641B1 (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
KR102369661B1 (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
KR20200103203A (ko) 복수의 자율주행 이동 로봇
KR102424536B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
US20220175210A1 (en) Moving robot and controlling method for the moving robot
US20210259498A1 (en) Plurality of autonomous cleaner and controlling method for the same
KR102309303B1 (ko) 로봇 청소기 및 그 제어 방법
CN113966187B (zh) 移动机器人和移动机器人的控制方法
KR102081340B1 (ko) 복수의 로봇 청소기 및 그 제어방법
KR102535719B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
EP3911479B1 (en) Mobile robot and method of controlling mobile robot
KR20210146141A (ko) 이동 로봇 및 이의 코너 구역 주행 방법
KR102309898B1 (ko) 도킹기기 및 이동 로봇 시스템
KR20200133544A (ko) 이동 로봇 및 그 제어방법
KR102390040B1 (ko) 로봇 청소기 및 그 제어 방법
KR102361982B1 (ko) 이동 로봇 및 이의 제어 방법
KR102398332B1 (ko) 청소기 및 그 제어방법
KR102277650B1 (ko) 청소기 및 그 제어방법
KR102390039B1 (ko) 로봇 청소기 및 그 제어 방법
KR20200137263A (ko) 로봇 청소기 및 그 제어방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant