KR102280210B1 - 청소 로봇 및 그 제어 방법 - Google Patents

청소 로봇 및 그 제어 방법 Download PDF

Info

Publication number
KR102280210B1
KR102280210B1 KR1020140104284A KR20140104284A KR102280210B1 KR 102280210 B1 KR102280210 B1 KR 102280210B1 KR 1020140104284 A KR1020140104284 A KR 1020140104284A KR 20140104284 A KR20140104284 A KR 20140104284A KR 102280210 B1 KR102280210 B1 KR 102280210B1
Authority
KR
South Korea
Prior art keywords
cleaning robot
driving
state
angle
motor
Prior art date
Application number
KR1020140104284A
Other languages
English (en)
Other versions
KR20150065134A (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 US14/510,487 priority Critical patent/US9480380B2/en
Priority to PCT/KR2014/011842 priority patent/WO2015084078A1/en
Priority to AU2014357957A priority patent/AU2014357957B2/en
Priority to EP14867029.2A priority patent/EP3076845B1/en
Priority to CN201480066302.7A priority patent/CN105792720B/zh
Publication of KR20150065134A publication Critical patent/KR20150065134A/ko
Priority to US15/257,204 priority patent/US10362917B2/en
Application granted granted Critical
Publication of KR102280210B1 publication Critical patent/KR102280210B1/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
    • 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
    • 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/4063Driving means; Transmission means therefor
    • A47L11/4066Propulsion of the whole machine
    • 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/4072Arrangement of castors or wheels
    • 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
    • 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/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • 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

Landscapes

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

Abstract

주행 성능을 개선하기 위한 청소 로봇 및 그 제어 방법을 제안한다.
모션 명령과 센서 정보를 이용하여 청소 로봇의 주행 시에 '끼임', '들림' 또는 '물체 박힘' 현상과 같은 스턱 상태를 검출하고, 스턱 상태가 검출되면 청소 로봇의 전고를 높이거나 낮출 수 있도록 가변되는 휠 구조를 이용하여 다양한 주행 조건에서 발생하는 청소 로봇의 스턱 상태를 신속하게 탈출할 수 있도록 한다. 또한, 스턱 상태에 대하여 미리 대처가 가능하도록 청소 로봇이 스턱 상태에 빠지기 전에 스턱 상태의 위험도 및 종류를 미리 예측한다. 예측된 스턱 상태의 위험도에 따라 청소 로봇을 급감속하거나 급정지하여 각각의 위험도로부터 청소 로봇이 벗어날 수 있도록 있도록 하고, 예측된 스턱 상태의 종류에 따라 적합한 탈출 기법을 선택할 수 있도록 정보를 제공하여 스턱 상태의 위험도 및 종류에 대한 효과적인 대응이 가능하도록 한다.

Description

청소 로봇 및 그 제어 방법{ROBOT CLEANER AND CONTROL METHOD THEREOF}
본 발명은 주행 성능을 개선하기 위한 청소 로봇 및 그 제어 방법에 관한 것이다.
일반적으로, 청소 로봇은 사용자의 조작 없이도 청소하고자 하는 영역을 스스로 주행하면서 바닥 면으로부터 먼지 등의 이물질을 흡입하여 청소 영역을 자동으로 청소하는 장치이다.
이러한 청소 로봇은 이동을 위한 한 쌍의 구동 휠을 본체의 하부 양측에 설치하고, 본체를 지지하기 위해 필요한 하나 이상의 캐스터를 구비하여 청소 로봇 본체가 청소 영역을 전진 또는 후진하거나 회전할 수 있도록 한다. 청소 로봇이 주행하는 청소 영역에는 단턱(문턱), 경사면을 가지는 물체, 가구 등과 같은 장애물들이 존재할 수 있다.
청소 로봇과 같이 본체의 높이가 낮은 로봇의 경우에는 장애물의 좁은 틈으로 진입하여(예를 들어, 침대나 소파 아래로 들어가) 청소 로봇의 상부가 끼이게 되거나(이하, '끼임'이라 한다), 바닥의 구조물이나 홈에 의해 청소 로봇의 배면이 걸리거나 장애물에 올라타 청소 로봇의 구동 휠이 들리게 되어(이하, '들림'이라 한다) 주행이 불가능한 상태(이하, '스턱'이라 한다)가 자주 발생한다. 이외에도 청소 로봇이 이불이나 빨래 등의 부드러운 물체에 박혀 나오지 못하는 '물체 박힘' 현상으로 인해 주행이 불가능한 스턱 상태가 발생할 수 있다.
종래의 청소 로봇은 이러한 '끼임', '들림' 또는 '물체 박힘' 현상을 검출하는 센서를 구비하지 않거나 '들림' 현상으로 인해 한쪽 휠만 접지될 경우 스프링을 이용한 서스펜션을 적용하여 공중에 뜬 즉, 헛도는 휠을 돌출시키도록 한다.
그러나, 종래의 청소 로봇은 스프링의 힘에 의존하므로 휠이 들렸을 경우 충분한 접지력을 얻을 수 없으며 접지된 이후에도 계속 장애물에 걸려 있는 상태가 되어 탈출이 어렵고, 휠이 수직으로만 돌출하여 주행 중 측면으로 빠질 경우 탈출이 불가능하다. 또한 청소 로봇의 전고(휠이 닿는 지면부터 본체 상부까지의 길이)를 낮추는 기능이 제공되지 않으므로 청소 로봇의 상부가 끼일 경우에 대한 해결 방법이 없다.
연구 목적 로봇들의 경우 고정밀도의 위치 추정 기법, 영상 정보 등을 활용하여 현재 로봇의 상태를 실시간으로 추종하여 스턱 상태를 판단할 수 있다. 그러나, 이같은 기술들은 저가에 해당하는 청소 로봇과 같이 작은 크기나 높이뿐만 아니라 무게 및 가격 등에도 제약이 있는 로봇에는 부적합하다. 또한, 청소 로봇 등에 사용되고 있는 휠 구동부 전류센서를 이용한 스턱 감지의 경우는 다양한 상황에 모두 적용될 수 없는 한계를 가지고 있어 상황을 파악해 적합한 대응을 하기에 부적합하다. 위치 인식을 위해 천장 카메라를 사용하는 SLAM을 이용한 위치 인식 기술의 경우 바닥 면과 평행한 천장에 충분한 특징점이 있어야 동작하므로 스턱에 빠지는 많은 상황들과 같이 청소 로봇이 기울어지거나 가구 등의 밑에 들어가 천장이 보이지 않는 상황에서는 신뢰하기 어려운 한계가 있다.
상술한 문제를 해결하기 위하여 개시된 본 발명의 일 측면은 모션 명령과 센서 정보를 이용하여 청소 로봇의 '끼임', '들림' 또는 '물체 박힘' 현상과 같은 스턱 상태를 검출할 수 있는 청소 로봇 및 그 제어 방법을 제안하고자 한다.
본 발명의 다른 측면은 다양한 주행 조건에서 발생하는 스턱 상태를 탈출할 수 있도록 개선된 휠 구조를 가지는 청소 로봇 및 그 제어 방법을 제안하고자 한다.
본 발명의 또 다른 측면은 소형 청소 로봇에 적합한 센서들로부터 얻은 센서 정보 및 일정시간 동안의 로봇 명령/주변 상황 정보들로부터 청소 로봇이 스턱 상태에 빠졌음을 검출하고 그 스턱 상태를 분류하는 청소 로봇 및 그 제어 방법을 제안하고자 한다.
본 발명의 또 다른 측면은 스턱 상태에 대하여 미리 대처가 가능하도록 스턱 상태에 빠지기 전에 스턱 상태의 위험도 및 종류를 미리 예측하고, 스턱 상태에 따라 적합한 탈출 기법을 선택할 수 있도록 정보를 제공하는 청소 로봇 및 그 제어 방법을 제안하고자 한다.
이를 위해 본 발명의 일 측면에 의한 청소 로봇은, 본체; 본체를 이동시키는 구동유닛을 포함하고, 구동유닛은, 구동력을 발생하는 복수의 모터; 복수의 모터 중 어느 하나에 연결되고, 어느 하나의 모터로부터 구동력을 전달받아 회전하는 복수의 휠; 복수의 휠을 지지하고, 복수의 모터 중 다른 하나의 모터로부터 구동력을 전달받아 복수의 휠의 위치를 변경하도록 회동하는 구동프레임을 더 포함한다.
복수의 모터는, 본체를 이동시키도록 복수의 휠을 회전시키는 제1모터; 본체의 높이를 조절하도록 구동프레임을 회동시키는 제2모터를 포함한다.
제2모터는, 제1모터와 수직으로 설치되어 회전축을 중심으로 구동프레임을 회동시킨다.
또한, 본 발명의 일 측면에 의한 청소 로봇은, 제2모터의 구동력을 구동프레임에 전달하는 기어부를 더 포함하고, 기어부는, 제2모터에 결합되어 회전하는 웜 기어; 웜 기어의 회전에 따라 회전축을 중심으로 구동프레임을 회동시키는 틸트기어를 포함한다.
구동프레임은, 틸트기어에 결합되고, 기어부는 웜 기어와 틸트기어 사이에서 제2모터의 구동력을 전달하는 연결기어를 더 포함한다.
틸트기어의 회전축은 제1모터의 회전축과 동축 상에 배치되는 구조를 가진다.
복수의 휠은, 본체를 이동시키도록 구동하는 메인 휠; 메인 휠의 안쪽에 설치되어 구동하는 서브 휠을 포함한다.
메인 휠과 서브 휠은 주행 방향으로 다른 선상에 배치되는 구조를 가진다.
또한, 본 발명의 일 측면에 의한 청소 로봇은, 제2모터에 흐르는 전류를 측정하는 전류센서를 더 포함하고, 전류센서는, 구동프레임의 회동 시에 서브 휠의 바닥면과의 접지 여부 또는 서브 휠의 구속 여부를 검출한다.
그리고, 본 발명의 다른 측면은 본체와, 본체를 이동시키는 구동유닛을 구비하는 청소 로봇에 있어서, 구동유닛은 메인 휠과 서브 휠로 이루어지는 휠 어셈블리와, 휠 어셈블리의 위치를 변경하도록 회동 가능한 구동프레임을 포함하며, 청소 로봇의 모션 명령을 입력하는 입력부; 입력된 모션 명령에 따라 움직이는 구동유닛의 움직임을 측정하는 엔코더; 청소 로봇의 움직임을 측정하는 위치센서; 입력된 모션 명령에 의한 위치값과, 엔코더의 측정값에 따라 청소 로봇이 이동한 위치를 계산한 위치값과, 위치센서의 센서 정보에 따라 청소 로봇이 이동한 위치값을 이용하여 청소 로봇의 주행 상태를 판단하는 제어부를 포함한다.
구동유닛은, 구동력을 전달하는 제1 및 제2모터를 더 포함하며; 메인 휠 및 서브 휠은 제1모터에 연결되고, 제1모터로부터 구동력을 전달받아 회전하며, 구동프레임은 제2모터로부터 구동력을 전달받아 휠 어셈블리의 위치를 변경하도록 회동한다.
엔코더는 제1모터에 설치되어 청소 로봇의 모션 명령에 의해 생성된 제1모터의 이동량을 측정한다.
위치센서는 청소 로봇이 실제 움직인 거리를 측정하는 옵티컬 플로우 센서인 것이 바람직하다.
위치센서는 본체에 적어도 하나 이상 설치되는 것이 바람직하다.
제어부는 청소 로봇의 주행이 불가능한 스턱 상태로 판단하는 경우, 제2모터를 구동하여 휠 어셈블리를 포함하는 구동프레임을 회동시킨다.
또한, 본 발명의 다른 측면에 의한 청소 로봇은, 제2모터의 전류를 감지하는 전류센서를 더 포함하고, 제어부는 구동프레임의 회동 시, 제2모터에 흐르는 전류값의 변동을 감지하면 구동프레임의 회동을 중지한다.
또한, 본 발명의 다른 측면에 의한 청소 로봇은, 제2모터의 전류를 감지하는 전류센서를 더 포함하고, 제어부는 제2모터에 과전류가 흐르는 것을 감지하면, 구동프레임의 회동을 반대 방향으로 변경한다.
또한, 본 발명의 다른 측면에 의한 청소 로봇은, 청소 로봇의 기울기를 측정하는 기울기센서를 더 포함하고, 제어부는, 엔코더의 측정값에 따라 청소 로봇이 이동한 각도를 계산하고, 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 각도를 측정하고, 계산된 청소 로봇의 각도와 측정된 청소 로봇의 각도를 이용하여 청소 로봇의 주행 상태를 판단한다.
기울기센서는 청소 로봇이 실제 움직인 각도를 측정하는 자이로 센서인 것이 바람직하다.
또한, 제어부는, 계산된 청소 로봇의 위치 또는 각도와 측정된 청소 로봇의 위치 또는 각도 차이를 일정 시간 동안 검출하여 청소 로봇의 주행이 불가능한 스턱 상태인지를 판단한다.
그리고, 본 발명의 다른 측면은 본체와; 메인 휠과 서브 휠로 이루어지는 휠 어셈블리와, 휠 어셈블리를 지지하고 휠 어셈블리의 위치를 변경하도록 회동 가능한 구동프레임을 포함하는 구동유닛으로 이루어진 청소 로봇의 제어 방법에 있어서, 입력된 모션 명령에 따라 움직이는 구동유닛의 움직임을 엔코더를 통해 측정하여 청소 로봇이 이동한 위치 또는 각도를 계산하고; 청소 로봇의 움직임을 센서를 통해 측정하고; 계산된 청소 로봇의 각도 또는 위치와, 측정된 청소 로봇의 각도 또는 위치를 이용하여 청소 로봇의 주행 상태를 판단한다.
센서는, 청소 로봇이 실제 움직인 거리를 측정하는 위치센서; 청소 로봇이 실제 움직인 각도를 측정하는 기울기센서를 포함한다.
청소 로봇의 주행 상태를 판단하는 것은, 계산된 청소 로봇의 위치 또는 각도와 측정된 청소 로봇의 위치 또는 각도 차이를 일정 시간 동안 검출하여 청소 로봇의 주행이 불가능한 스턱 상태인지를 판단한다.
또한, 본 발명의 다른 측면에 의한 청소 로봇의 제어 방법은, 청소 로봇의 주행이 불가능한 스턱 상태로 판단하는 경우, 구동프레임을 회동시키는 것을 더 포함한다.
또한, 본 발명의 다른 측면에 의한 청소 로봇의 제어 방법은, 구동프레임의 회동 시, 구동프레임을 회동시키는 모터의 전류값의 변동을 감지하면 구동프레임의 회동을 중지하는 것을 더 포함한다.
또한, 본 발명의 다른 측면에 의한 청소 로봇의 제어 방법은, 구동프레임의 회동 시, 구동프레임을 회동시키는 모터의 과전류값을 감지하면 구동프레임의 회동을 반대 방향으로 변경하는 것을 더 포함한다.
그리고, 본 발명의 또 다른 측면은 본체와, 본체를 이동시키는 구동유닛을 구비하는 청소 로봇에 있어서, 청소 로봇의 모션 명령을 입력하는 입력부; 입력된 모션 명령에 따라 움직이는 청소 로봇의 기울기를 측정하는 기울기센서; 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 각도를 측정한 각도값을 이용하여 청소 로봇의 스턱 상태를 판단하는 제어부를 포함한다.
구동유닛은, 본체의 좌우측에 구동력을 전달하는 좌우측 구동모터를 더 포함하고, 청소 로봇은, 좌측 구동모터에 설치되어 청소 로봇의 모션 명령에 의해 생성된 좌측 구동모터의 이동량을 측정하는 제1엔코더와, 우측 구동모터에 설치되어 청소 로봇의 모션 명령에 의해 생성된 우측 구동모터의 이동량을 측정하는 제2엔코더를 더 포함한다.
기울기센서는 청소 로봇이 실제 움직인 기울기 값을 측정하는 자이로 센서인 것이 바람직하다.
또한, 제어부는, 제1 및 제2엔코더의 측정값에 따라 청소 로봇이 이동한 각도를 계산하고, 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 각도를 측정하고, 계산된 청소 로봇의 각도와 측정된 청소 로봇의 각도 차이를 이용하여 청소 로봇의 스턱 상태를 판단한다.
또한, 제어부는, 제1 및 제2엔코더의 측정값에 따라 청소 로봇이 이동한 제1 및 제2엔코더 변화량(A1, A2)을 계산하고, 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 기울기 값의 변화량(B)을 계산하고, 계산된 제1 및 제2엔코더 변화량(A1, A2)과 계산된 기울기 값의 변화량(B)을 이용하여 청소 로봇의 스턱 위험도와 스턱 종류를 판단한다.
또한, 제어부는 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 크고, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1 = ㅁ3˚)보다 크면 청소 로봇이 '들림' 상태로 저위험에 빠졌다고 판단한다.
또한, 제어부는 청소 로봇이 저위험의 '들림' 상태에서 빠져 나올 수 있도록 구동모터를 급감속하고, '들림' 상태에 적합한 탈출 정보를 제공한다.
또한, 제어부는 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1 = ㅁ3˚)보다 크면 청소 로봇이 상부 '끼임' 상태로 저위험에 빠졌다고 판단한다.
또한, 제어부는 청소 로봇이 저위험의 상부 '끼임' 상태에서 빠져 나올 수 있도록 구동모터를 급감속하고, 상부 '끼임' 상태에 적합한 탈출 정보를 제공한다.
또한, 제어부는, 계산된 청소 로봇의 각도와 측정된 청소 로봇의 각도 차이를 일정 시간 동안 검출하여 청소 로봇의 스턱 상태를 판단한다.
또한, 제어부는, 제1 및 제2엔코더의 측정값에 따라 청소 로봇이 제1시간(t1) 동안 이동한 제1 및 제2엔코더 변화량(A1t1, A2t1)을 계산하고, 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 기울기 값의 변화량(B)을 계산하고, 계산된 제1 및 제2엔코더 변화량(A1t1, A2t1)과 계산된 기울기 값의 변화량(B)을 이용하여 청소 로봇의 스턱 위험도와 스턱 종류를 판단한다.
또한, 제어부는 제1 및 제2엔코더 변화량(A1t1, A2t1) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크면 청소 로봇이 '물체 박힘' 상태로 저위험에 빠졌다고 판단한다.
또한, 제어부는 청소 로봇이 저위험의 '물체 박힘' 상태에서 빠져 나올 수 있도록 구동모터를 급감속하고, '물체 박힘' 상태에 적합한 탈출 정보를 제공한다.
또한, 제어부는 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 공회전 상태이고, 기울기 값의 변화량(B)이 2차 기울기 임계값(Bth2 = tan -1 (2r/h))보다 크면 청소 로봇이 '들림' 상태로 고위험에 빠졌다고 판단한다.
또한, 제어부는 청소 로봇이 고위험의 '들림' 상태에서 빠져 나올 수 있도록 구동모터를 급정지하고, '들림' 상태에 적합한 탈출 정보를 제공한다.
또한, 제어부는 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고 2차 엔코더 임계값(Ath2) 크고, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1 = ㅁ3˚)보다 크면 청소 로봇이 상부 '끼임' 상태로 고위험에 빠졌다고 판단한다.
또한, 제어부는 청소 로봇이 고위험의 상부 '끼임' 상태에서 빠져 나올 수 있도록 구동모터를 급정지하고, 상부 '끼임' 상태에 적합한 탈출 정보를 제공한다.
또한, 제어부는, 제1 및 제2엔코더의 측정값에 따라 청소 로봇이 제2시간(t2) 동안 이동한 제1 및 제2엔코더 변화량(A1t2, A2t2)을 계산하고, 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 기울기 값의 변화량(B)을 계산하고, 계산된 제1 및 제2엔코더 변화량(A1t2, A2t2)과 계산된 기울기 값의 변화량(B)을 이용하여 청소 로봇의 스턱 위험도와 스턱 종류를 판단한다.
또한, 제어부는 제1 및 제2엔코더 변화량(A1t2, A2t2) 중 적어도 하나의 엔코더 변화량이 사용자가 지정한 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크면 청소 로봇이 '물체 박힘' 상태로 고위험에 빠졌다고 판단한다.
또한, 제어부는 청소 로봇이 고위험의 '물체 박힘' 상태에서 빠져 나올 수 있도록 구동모터를 급정지하고, '물체 박힘' 상태에 적합한 탈출 정보를 제공한다.
그리고, 본 발명의 또 다른 측면은 본체와, 본체를 이동시키는 좌우측 구동유닛을 구비하는 청소 로봇에 있어서, 청소 로봇의 모션 명령을 입력하는 입력부; 입력된 모션 명령에 따라 움직이는 좌우측 구동유닛의 움직임을 측정하는 제1 및 제2엔코더; 제1 및 제2엔코더의 측정값에 따라 청소 로봇이 이동한 각도를 계산한 각도값을 이용하여 청소 로봇의 스턱 상태를 판단하는 제어부를 포함한다.
또한, 본 발명의 또 다른 측면에 의한 청소 로봇은, 청소 로봇의 기울기를 측정하는 기울기센서를 더 포함하고, 제어부는, 제1 및 제2엔코더의 측정값에 따라 청소 로봇이 이동한 각도를 계산한 각도값과, 기울기센서의 센서 정보에 따라 청소 로봇이 이동한 각도를 측정한 각도값을 이용하여 청소 로봇의 스턱 상태를 판단한다.
그리고, 본 발명의 또 다른 측면은 본체와, 본체를 이동시키는 좌우측 구동유닛을 구비하는 청소 로봇의 제어 방법에 있어서, 입력된 모션 명령에 따라 움직이는 좌우측 구동유닛의 움직임을 제1 및 제2엔코더를 통해 각각 측정하여 청소 로봇이 이동한 각도를 계산하고; 청소 로봇이 움직인 각도를 기울기센서를 통해 측정하고; 계산된 청소 로봇의 각도와, 측정된 청소 로봇의 각도를 이용하여 청소 로봇의 주행이 불가능한 스턱 상태를 판단한다.
제안된 청소 로봇 및 그 제어 방법에 의하면, 모션 명령과 센서 정보를 이용하여 청소 로봇의 주행 시에 '끼임', '들림' 또는 '물체 박힘' 현상과 같은 스턱 상태를 검출하고, 스턱 상태가 검출되면 청소 로봇의 전고를 높이거나 낮출 수 있도록 가변되는 휠 구조를 이용하여 다양한 주행 조건에서 발생하는 청소 로봇의 스턱 상태를 신속하게 탈출할 수 있도록 한다.
또한, 소형 청소 로봇에 적합한 센서들로부터 얻은 센서 정보 및 일정시간 동안의 로봇 명령/주변 상황 정보들로부터 청소 로봇이 스턱 상태에 빠졌음을 검출하고, 그 스턱 상태를 분류하여 여러 가지의 스턱 상태에 대한 효과적인 대응이 가능하도록 한다.
또한, 스턱 상태에 대하여 미리 대처가 가능하도록 청소 로봇이 스턱 상태에 빠지기 전에 스턱 상태의 위험도 및 종류를 미리 예측한다. 예측된 스턱 상태의 위험도에 따라 청소 로봇을 급감속하거나 급정지하여 각각의 위험도로부터 청소 로봇이 벗어날 수 있도록 있도록 하고, 예측된 스턱 상태의 종류에 따라 적합한 탈출 기법을 선택할 수 있도록 정보를 제공하여 스턱 상태의 위험도 및 종류에 대한 효과적인 대응이 가능하도록 한다.
도 1은 본 발명의 일 실시예에 의한 청소 로봇의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 의한 청소 로봇의 저면도이다.
도 3은 본 발명의 일 실시예에 의한 구동유닛의 외관을 도시한 도면이다.
도 4는 도 3에 도시된 구동유닛의 A-A선 단면도이다.
도 5는 도 3에 도시된 구동 유닛의 분리 사시도이다.
도 6은 본 발명의 일 실시예에 의한 구동모터의 동력전달기어를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 의한 틸트모터의 동력전달기어를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 의한 청소 로봇에서 스턱 상태를 판단하기 위한 제어 블록도이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 의한 청소 로봇의 주행 제어 방법을 나타낸 동작 순서도이다.
도 10은 본 발명의 일 실시예에 의한 청소 로봇이 기본 주행하는 상태의 정면도이다.
도 11은 도 10에 도시된 청소 로봇의 측면도이다.
도 12는 도 10 및 도 11에 도시된 메인 휠과 서브 휠의 위치를 상세하게 도시한 도면이다.
도 13은 본 발명의 일 실시예에 의한 청소 로봇이 '들림' 현상과 같은 스턱 상태를 탈출하기 위해 서브 휠을 돌출시킨 상태의 정면도이다.
도 14는 도 13에 도시된 청소 로봇의 측면도이다.
도 15는 도 13 및 도 14에 도시된 메인 휠과 서브 휠의 위치를 상세하게 도시한 도면이다.
도 16은 본 발명의 일 실시예에 의한 청소 로봇이 '끼임' 현상과 같은 스턱 상태를 탈출하기 위해 청소 로봇의 전고를 낮춘 상태의 정면도이다.
도 17은 도 16에 도시된 청소 로봇의 측면도이다.
도 18은 도 16 및 도 17에 도시된 메인 휠과 서브 휠의 위치를 상세하게 도시한 도면이다.
도 19는 본 발명의 일 실시예에 의한 청소 로봇이 단턱에 걸려 들린 스턱 상태를 도시한 제1도면이다.
도 20은 도 19에 도시된 청소 로봇이 스턱 상태를 탈출하기 위해 서브 휠을 아래로 돌출시킨 상태를 도시한 도면이다.
도 21은 본 발명의 일 실시예에 의한 청소 로봇이 단턱에 걸려 들린 스턱 상태를 도시한 제2도면이다.
도 22는 도 21에 도시된 청소 로봇이 스턱 상태를 탈출하기 위해 서브 휠을 아래로 돌출시킨 상태를 도시한 도면이다.
도 23은 본 발명의 다른 실시예에 의한 청소 로봇에서 스턱 상태를 예측하기 위한 제어 블록도이다.
도 24는 본 발명의 다른 실시예에 의한 청소 로봇의 '들림' 상태를 나타낸 도면이다.
도 25는 본 발명의 다른 실시예에 의한 청소 로봇의 '끼임' 상태를 나타낸 도면이다.
도 26은 본 발명의 다른 실시예에 의한 청소 로봇의 '물체 박힘' 상태를 나타낸 도면이다.
도 27은 본 발명의 다른 실시예에 의한 청소 로봇이 스턱 상태에 빠질 때의 위험도를 분류한 도면이다.
도 28은 본 발명의 다른 실시예에 의한 청소 로봇이 '들림' 상태로 저위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 29는 본 발명의 다른 실시예에 의한 청소 로봇이 상부 '끼임' 상태로 저위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 30은 본 발명의 다른 실시예에 의한 청소 로봇이 '물체 박힘' 상태로 저위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 31은 본 발명의 다른 실시예에 의한 청소 로봇이 '들림' 상태로 고위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 32는 본 발명의 다른 실시예에 의한 청소 로봇이 상부 '끼임' 상태로 고위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 33은 본 발명의 다른 실시예에 의한 청소 로봇이 '물체 박힘' 상태로 고위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
이하, 본 발명에 의한 일 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 의한 청소 로봇의 구성을 도시한 도면이고, 도 2는 본 발명의 일 실시예에 의한 청소 로봇의 저면도이다.
도 1 및 도 2에서, 본 발명의 일 실시예에 의한 청소 로봇(1)은 외관을 형성하는 본체(10)와, 본체(10)의 상부를 덮는 커버(20)와, 청소 영역에 존재하는 먼지를 쓸거나 비산시키는 브러시부(30, 40)와, 본체(10)를 구동시키기 위한 구동 전원을 공급하는 전원부(50)와, 본체(10)를 이동시키는 구동유닛(100)을 포함하여 구성된다.
본체(10)는 청소 로봇(1)의 외관을 형성하는 한편, 그 내부에 설치되는 각종 부품들을 지지한다.
브러시부(30, 40)는 먼지의 흡입 효율을 향상시키기 위해 본체(10)의 하부에 형성된 흡입구(11)에 설치되어 바닥의 먼지를 쓸거나 비산시키는 메인 브러시부(30)와, 본체(10)의 전방 양측 하부에 설치되어 청소 로봇(1)이 주행하는 바닥의 먼지를 흡입구(11) 측으로 쓸어 주는 사이드 브러시부(40)로 구성된다.
메인 브러시부(30)는 흡입구(11)에 대응하는 길이로 흡입구(11)에 설치되어 바닥 면의 먼지를 쓸거나 비산시키도록 바닥 면에 대해 롤러식으로 회전하는 드럼 형상의 브러시유닛(31)과, 브러시유닛(31)을 전진 또는 후진 방향으로 회전시키기 위한 브러시모터(32)를 포함한다.
브러시유닛(31)은 롤러(33)와 브러시(34)를 포함한다. 롤러(33)는 강체로 형성되며 본체(10)에 회전 가능하게 결합하고 브러시모터(32)에 의해서 구동된다. 롤러(33)의 양측 단부에는 앤드캡이 설치되어 이물질이 브러시모터(32)로 이동하는 것을 방지한다. 브러시(34)는 탄성 재질로 형성되며 롤러(33)에 심어져 있는 구조로, 청소 로봇(1)이 주행하는 동안 브러시(34)는 롤러(33)와 함께 구동하면서 바닥에 쌓인 먼지 또는 이물질을 휘젓게 된다.
사이드 브러시부(40)는 본체(10)의 전면부 양측에 일정 간격을 두고 설치되어 메인 브러시부(30)가 쓸지 못하는 바닥 면의 먼지를 흡입구(11)측으로 쓸어 주도록 바닥에 대해 수평면으로 회전하는 브러시(41)를 포함한다.
전원부(50)는 구동유닛(100)의 제1모터(140;이하, 구동모터라 한다. 도 3 참조) 및 제2모터(150; 이하, 틸트모터라 한다. 도 3 참조)와, 메인 브러시부(30)를 회전시키는 브러시 모터(32) 및 그 외 본체(10)를 구동시키기 위한 각 구동부와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함한다. 배터리는 재충전이 가능한 2차 배터리로 마련되며, 본체(10)가 청소 작업을 완료하고 도킹스테이션(미도시)에 결합된 경우 도킹스테이션(미도시)으로부터 전력을 공급받아 충전된다.
구동유닛(100)은 본체(10)의 중앙부 양측에 각각 설치되어 본체(10)가 청소를 수행하는 과정에서 전진, 후진 및 회전 주행 등의 이동 동작이 가능하도록 한다.
양 구동유닛(100)은 후술하는 제어부의 명령에 따라 전진 또는 후진 방향으로 각각 회전하여 청소 로봇(1)이 전진 또는 후진하거나 회전할 수 있도록 한다. 예를 들면 양 구동유닛(100)을 전진 또는 후진 방향으로 회전시켜 청소 로봇(1)이 전진 또는 후진 주행하도록 한다. 또한 좌측 구동유닛(100)를 후진 방향으로 회전시키는 동안 우측 구동유닛(100)를 전진 방향으로 회전시켜 청소 로봇(1)이 전방을 기준으로 좌측 방향으로 회전하도록 하고, 우측 구동유닛(100)를 후진 방향으로 회전시키는 동안 좌측 구동유닛(100)를 전진 방향으로 회전시켜 청소 로봇(1)이 전방을 기준으로 우측 방향으로 회전하도록 한다.
이하에서는 본체(10)가 전진하는 방향을 기준으로 우측에 위치한 구동유닛(100)을 예로 들어 설명하며, 이하에서 설명되는 내용은 특별한 언급이 없는 한 본체(10)가 전진하는 방향을 기준으로 좌측에 위치한 구동유닛(100)에도 동일하게 적용된다. 구동유닛(100)에 대해서는 도 3 내지 도 5를 참조하여 상세히 설명하기로 한다.
또한, 본체(10)의 전방에는 청소 로봇(1)이 이동하는 바닥 면의 상태에 따라 회전하는 각도가 변화하는 캐스터 바퀴(60)가 설치된다. 캐스터 바퀴(60)는 청소 로봇(1)의 자세 안정 및 추락 방지 등에 활용되어 청소 로봇(1)을 지지하며, 롤러나 캐스터 형상의 바퀴로 구성된다.
한편, 본 발명의 일 실시예에서는 캐스터 바퀴(60)를 본체(10)의 전방에 설치한 것을 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않고 본체(10)의 후방에 설치하거나 또는 본체(10)의 전방과 후방에 모두 설치하여도 본 발명과 동일한 목적 및 효과를 달성할 수 있다.
또한, 본체(10)에는 사용자의 모션 명령에 따라 구동하는 구동유닛(100)의 움직임량을 측정하는 엔코더(211)와, 청소 로봇(1)의 실제 움직임량을 측정하는 위치센서(212) 및 기울기센서(213)가 설치된다. 엔코더(211)와 위치센서(212) 및 기울기센서(213)에 대해서는 도 8을 참조하여 상세히 설명하기로 한다.
이외에도, 본체(10)에는 장애물을 검출할 수 있는 접촉센서와 근접센서 등이 설치될 수 있다. 예를 들면 본체(10)의 전방에 설치되는 범퍼(미도시)는 벽 등의 장애물을 검출하는데 사용될 수 있고, 본체(10)의 바닥에 설치되는 적외선 센서(또는 초음파 센서)는 계단 등의 장애물을 검출하는데 사용될 수 있다.
도 3은 본 발명의 일 실시예에 의한 구동유닛의 외관을 도시한 도면이고, 도 4는 도 3에 도시된 구동유닛의 A-A선 단면도이며, 도 5는 도 3에 도시된 구동 유닛의 분리 사시도이다.
도 3 내지 도 5에서, 구동유닛(100)은 구동프레임(110)과, 청소 로봇(1)의 기본 주행을 위해 구동하는 메인 휠(120)과, 청소 로봇(1)의 전고를 높이고 측방 빠짐을 탈출하기 위해 구동하는 서브 휠(130)과, 구동프레임(110)의 일측에 배치되어 메인 휠(120)과 서브 휠(130)에 동력을 전달하는 구동모터(140)와, 구동모터(140)와 수직으로 배치되어 회전축을 중심으로 구동프레임(110) 전체를 틸트(tilt)시키는 틸트모터(150)와, 틸트모터(150)와 구동프레임(110) 사이에 배치되어 틸트모터(150)의 구동력을 구동프레임(110)에 전달하는 기어부(160)를 포함하여 구성된다.
구동프레임(110)은 틸트모터(150)의 동력을 전달받아 회전축을 중심으로 회전하는 제1프레임(111)과, 메인 휠(120)의 바깥쪽에 배치되어 제1프레임(111)에 결합되는 제2프레임(112)과, 메인 휠(120)의 안쪽에 배치되어 제2프레임(112)에 결합되는 제3프레임(113)을 포함하여 구성된다.
제1프레임(111)의 내부에는 구동모터(140)의 구동력을 전달받아 서로 맞물려 회전하는 동력전달기어들(114)이 배치된다.
동력전달기어들(114)은 서로 맞물린 상태로 제1프레임(111)에 회전 가능하게 지지되며, 구동모터(140)의 회전축(141)에 결합된 구동기어(142)에 연결되어 구동모터(140)의 구동력을 메인 휠(120)과 서브 휠(130)에 전달한다.
또한, 제3프레임(113)은 이물질이 구동프레임(110) 안쪽으로 침투하는 것을 방지한다.
메인 휠(120)은 본체(10)의 주행이 가능하도록 청소 영역의 바닥 면과 직접 접촉하는 바퀴(121)와, 바퀴(121)를 구동하여 회전시킬 수 있도록 바퀴(121)에 고정된 구동축(122)을 포함하여 구성된다.
또한, 메인 휠(120)은 본체(10)의 중앙부 양측에 설치되어 청소 로봇(1)의 기본 주행을 가능하게 한다.
또한, 메인 휠(120)은 구동과 동시에 전고 조절 기능을 가지며, 청소 로봇(1)의 전고를 낮추는 것이 가능하다.
서브 휠(130)은 청소 로봇(1)의 주행이 불가능한 상태(스턱 상태)에서 청소 로봇(1)의 이동(탈출)이 가능하도록 바닥 면과 접촉하는 바퀴(131)와, 바퀴(131)를 구동하여 회전시킬 수 있도록 바퀴(131)에 고정된 구동축(132)을 포함하여 구성된다.
또한, 서브 휠(130)은 메인 휠(120)의 안쪽에 설치되어 청소 로봇(1)의 주행이 불가능한 스턱 상태에서 이동(탈출)이 가능하게 한다.
또한, 서브 휠(130)은 진행 방향에서 메인 휠(120)에 비해 25mm 가량 안쪽에 위치해 있기 때문에 청소 로봇(1)의 주행 시, 측 방향으로 한쪽의 메인 휠(120)이 추락할 경우 무한 궤도 타입일 때에 비해 동력을 회복하는 것이 용이하게 한다.
또한, 서브 휠(130)은 메인 휠(120)과 주행 방향으로 동일한 선상에 배치되어 있지 않다.
구동모터(140)는 메인 휠(120)과 서브 휠(130)에 동력을 전달하는 DC모터로, 제1프레임(111)의 외측에 결합된다. 구동모터(140)의 구동력은 구동기어와 연결되는 동력전달기어들(114)을 통해 메인 휠(120)과 서브 휠(130)의 구동축(122, 132)에 동시에 전달되어 메인 휠(120)과 서브 휠(130)을 동시에 구동시킨다. 한편, 메인 휠(120)과 서브 휠(130)의 구동 속도는 동일하게 설계되어 있다.
틸트모터(150)는 공간 저감을 위해 구동모터(140)와 수직으로 배치되어 회전축을 중심으로 구동프레임(110) 전체를 틸트(tilt)시키는 DC모터로, 제1프레임(111)의 외측에 결합된다. 틸트모터(150)의 구동력은 기어부(160)를 통해 제1프레임(111)에 전달되어 구동프레임(110) 전체를 회전시킨다.
기어부(160)는 틸트모터(150)에 결합되어 큰 감속비를 작은 면적에 구현하기 위한 웜 기어(161)와, 웜 기어(161)에 연결된 웜 휠(162)과, 웜 기어(161)의 회전에 따라 회전축을 중심으로 구동프레임(110) 전체를 회전시키는 틸트기어(163)와, 웜 휠(162)과 틸트기어(163)를 연결하는 연결기어(164)를 포함하여 구성된다.
웜 기어(161)는 동일 면적 내 최대 감속비를 구현할 수 있으며, 역구동성(backdrivability)을 억제할 수 있는 기능을 한다.
틸트기어(163)는 제1프레임(111)에 연결된 120도 평기어로, 웜 기어(161)를 통해 틸트모터(150)의 구동력을 전달받아 회전축을 중심으로 구동프레임(110)을 회전시킨다. 틸트기어(163)의 회전축(165)은 구동모터(140)의 회전축(141)과 동축 상에 배치된다.
도 6은 본 발명의 일 실시예에 의한 구동모터의 동력전달기어를 도시한 도면이다.
도 6에서, 구동모터(140)에 전원이 공급되어 구동모터(140)가 회전하면, 구동모터(140)의 회전축(141)에 결합된 구동기어(142)가 회전하고, 구동모터(140)의 구동력은 구동기어와 연결되는 동력전달기어들(114)을 통해 메인 휠(120)과 서브 휠(130)의 구동축(122, 132)에 전달되어 메인 휠(120)과 서브 휠(130)을 동시에 구동시킨다.
청소 로봇(1)의 기본 주행 시에는 서브 휠(130)이 올라간 상태이므로 청소 영역의 바닥 면에는 메인 휠(120)만 접촉되어 본체(10)의 전진, 후진 및 회전 주행 등의 이동 동작이 가능하도록 한다.
도 7은 본 발명의 일 실시예에 의한 틸트모터의 동력전달기어를 도시한 도면이다.
도 7에서, 틸트모터(150)에 전원이 공급되어 틸트모터(150)가 회전하면, 틸트모터(150)에 결합된 웜 기어(161)가 회전하고, 웜 기어(161)의 회전에 따라 웜 휠(162)과 연결기어(164)가 회전하여 틸트기어(163)가 회전한다. 틸트기어(163)가 회전하면 틸트기어(163)에 연결된 제1프레임(111)을 통해 구동프레임(110) 전체가 회전하여 서브 휠(130)의 위치가 변경된다.
청소 로봇(1)의 주행이 불가능한 스턱 상태에서는 스턱의 형태에 따라 서브 휠(130)의 위치를 변경하여 청소 영역의 바닥 면에는 메인 휠(120)과 서브 휠(130)이 동시에 또는 선택적으로 접촉되어 청소 로봇의 스턱 상태를 탈출하면서 본체(10)의 전진, 후진 및 회전 주행 등의 이동 동작이 가능하도록 한다.
도 8은 본 발명의 일 실시예에 의한 청소 로봇에서 스턱 상태를 판단하기 위한 제어 블록도이다.
도 8에서, 본 발명의 일 실시예에 의한 청소 로봇(1)은 사용자로부터 모션 명령을 입력받는 입력부(200)와, 청소 로봇(1)이 주행하는 청소 영역에 대한 각종 정보를 검출하는 센서부(210)와, 입력부(200)의 모션 명령 및 센서부(210)의 센서 정보에 따라 청소 로봇(1)의 주행 불가능 상태(스턱 상태)를 판단하고 스턱 상태를 탈출하도록 틸트모터(150)를 제어하는 제어부(220)와, 제어부(220)의 구동 명령에 따라 메인 휠(120)과 서브 휠(130)을 구동시키는 구동모터(140)와, 제어부(220)의 탈출 명령에 따라 서브 휠(130)의 위치를 변경시키는 틸트모터(150)를 더 포함한다.
입력부(200)는 사용자로부터 청소 로봇(1)의 모션 명령 또는 청소 명령을 입력받고, 입력된 정보를 제어부(220)에 전달하도록 본체(10)의 상부 또는 리모컨(미도시)에 다수의 버튼을 포함한다.
센서부(210)는 사용자의 모션 명령에 따라 회전하는 구동모터(140)의 이동량을 측정하는 엔코더(211)와, 청소 로봇(1)이 실제 움직인 거리를 측정하는 위치센서(212)와, 청소 로봇(1)이 실제 움직인 각도(방향)를 측정하는 기울기센서(213)와, 틸트모터(150)에 흐르는 전류를 측정하는 전류센서(214)를 포함한다.
엔코더(211)는 구동모터(140)에 부착되어 청소 로봇(1)의 모션 명령에 의해 생성된 이동량을 측정하기 위한 것으로, 청소 로봇(1)의 모션 명령으로부터 역산한 이동량을 사용하는 경우 대체 가능하다.
또한, 엔코더(211)는 청소 로봇(1)의 의도된 움직임으로 인한 위치 변화량을 생성하기 위한 것으로, 청소 로봇(1)의 의도된 움직임을 계산한다. 이 과정에서 청소 로봇(1)의 모션 명령에 의한 청소 로봇(1)의 거리 변화량 및 각도 변화량은 시스템 지연 보상을 위해 로우 패스 필터(Low-pass filtering;이하, 'LPF'라 한다)을 거치게 되며, 엔코더(211)로부터 얻어진 거리 변화량 및 각도 변화량은 노이즈 제거를 위한 LPF을 거친다. 이렇게 얻어진 청소 로봇(1)의 거리 변화량 및 각도 변화량에서 엔코더(211) 정보로부터 얻은 값을 우선하되, 모션 명령으로부터 얻어진 청소 로봇(1)의 거리 변화량 및 각도 변화량이 엔코더(211)로부터 얻은 경우와 크게 달라질 경우 모션 명령으로부터 얻어진 청소 로봇(1)의 거리 변화량, 각도 변화량을 사용하는 방법으로 청소 로봇(1)의 상위 모션 명령으로부터 발생되어야할 청소 로봇(1)의 거리 변화량 및 각도 변화량을 생성해 낸다.
이러한 방식을 취하는 이유는 청소 로봇(1)의 상위 모션 명령에 의해 의도된 운동 변화량으로는 실제 움직임으로 나타난 정확한 정보를 얻기 위해 엔코더(211) 정보로부터 얻은 것을 신뢰하되, 휠 끼임 등으로 움직임이 제한된 경우에도 모션 명령으로부터 계산된 청소 로봇(1)의 거리 변화량 및 각도 변화량을 사용하여 의도되었던 움직임에 의한 값을 보상해주기 위한 것이다.
위치센서(212)는 청소 로봇(1)의 실제 움직임량을 측정하기 위한 것으로, 옵티컬 플로우 센서의 경우에는 빛이 없는 상황이나 천장에 특징점이 거의 없는 경우에도 사용할 수 있다. 센서의 장착 위치로부터 옵티컬 플로우 센서로부터 읽어낸 위치 변화량을 청소 로봇(1)의 중심 좌표로 변환하여 사용한다. 이는 절대 위치를 알 수 있는 Localization 기법이나 SLAM(Simultaneous Localization and Mapping) 기법 등이 동작하는 경우에는 이들로부터 추정된 위치를 사용하는 경우도 포함할 수 있다. 이는 청소 로봇(1)의 실제 위치를 측정할 수 있는 기법으로부터 추정한 청소 로봇(1)의 실제 위치 계산값을 사용하기 위함이다. 이렇게 얻어진 값의 경우도 노이즈를 제거하기 위한 LPF을 거친다.
또한, 위치센서(212)는 청소 로봇(1)의 실제 움직임량을 측정할 수 있는 어떠한 위치에도 설치 가능하며, 하나 이상 설치할 수 있다.
기울기센서(213)는 청소 로봇(1)의 기울기를 측정할 수 있는 센서 모듈을 의미하는 것으로, 중력 방향을 이용해 직접적으로 기울기를 측정하는 자이로 센서뿐만 아니라 3축 가속도와 3축 각속도 센서를 센서 퓨전을 통해 청소 로봇(1)의 기울기를 얻는 경우 등까지 포함한다.
또한, 기울기센서(213)는 청소 로봇(1)의 기울기 값 및 기울기 변화량을 측정하여 스턱(Stuck) 가능성 검출 및 스턱(Stuck) 조건 생성. 롤(roll)/피치(pitch) 값을 측정할 수 있는 2축 기울기 센서를 사용할 수도 있다.
전류센서(214)는 전원 회로에 설치되어 틸트모터(150)에 걸리는 부하(토크나 전류 값)를 측정하여 제어부(220)에 전달한다.
따라서, 제어부(220)는 서브 휠(130)의 위치를 변경할 때에 틸트모터(150)에 흐르는 전류를 전류센서(214)를 통해 측정하여 서브 휠(130)의 구속 여부를 검출하고, 청소 로봇(1)의 스턱 형태를 최종 판단하게 된다.
예를 들어, 청소 로봇(1)이 스턱이라고 판단한 상태에서 서브 휠(130)을 내릴 때에 틸트모터(150)에 이상 고전류가 흐르면 서브 휠(130)이 구속되었음을 검출하고, 제어부(220)는 청소 로봇(1)의 주행이 불가능한 스턱 형태가 상부 '끼임'이라고 판단한다.
반면, 청소 로봇(1)이 스턱이라고 판단한 상태에서 서브 휠(130)을 내릴 때에 틸트모터(150)에 이상 고전류가 흐르지 않으면 서브 휠(130)이 구속되지 않았음을 검출하고, 제어부(220)는 청소 로봇(1)의 주행이 불가능한 스턱 형태가 '들림'이라고 판단한다.
제어부(220)는 청소 로봇(1)의 제반 동작을 제어하는 것으로, 입력부(200)의 모션 명령에 따라 청소 로봇(1)이 주행하도록 구동모터(140)를 제어한다.
또한, 제어부(220)는 입력부(200)의 모션 명령 및 센서부(210)의 센서 정보에 따라 청소 로봇(1)의 주행 불가능 상태(스턱 상태)를 판단하고, 청소 로봇(1)의 주행 불가능 상태를 탈출할 수 있도록 틸트모터(150)를 제어한다.
이를 위해 제어부(220)는 입력부(200)의 모션 명령에 따라 청소 로봇(1)이 이동할 거리의 변화량(L1)을 추정하는 제1거리 계산부(221)와, 엔코더(211)의 측정값에 따라 청소 로봇(1)이 이동한 거리의 변화량(L2)을 계산하는 제2거리 계산부(222)와, 위치센서(212)의 센서 정보에 따라 청소 로봇(1)이 이동한 거리의 변화량(L3)을 계산하는 제3거리 계산부(223)와, 엔코더(211)의 측정값에 따라 청소 로봇(1)이 이동한 각도의 변화량(G1)을 계산하는 제1각도 계산부(224)와, 기울기센서(213)의 센서 정보에 따라 청소 로봇(1)이 이동한 각도의 변화량(G2)을 계산하는 제2각도 계산부(225)와, 제1 내지 제3거리 계산부(221, 222, 223)에 의해 계산된 거리 변화량(L1, L2, L3)에 따라 청소 로봇(1)의 주행 불가능 상태를 검출하는 제1스턱 후보 검출부(226)와, 제1 및 제2각도 계산부(224, 225)에 의해 계산된 각도 변화량에 따라 청소 로봇(1)의 주행 불가능 상태를 검출하는 제2스턱 후보 검출부(227)와, 제1 및 제2스턱 후보 검출부(226, 227)에 의해 검출된 스턱 후보를 이용하여 청소 로봇(1)의 스턱 상태를 판단하는 스턱 판단부(228)를 포함하여 구성된다.
스턱 판단부(228)는 청소 로봇(1)의 주행 불가능 상태를 판단한 후에 전류센서(214)를 통해 서브 휠(130)을 구동시키는 틸트모터(150) 쪽에 흐르는 전류를 측정하여 서브 휠(130)의 구속 상태를 검출하는 휠 구속 검출부(229)를 더 포함한다.
청소부(230)는 제어부(220)의 구동 명령에 따라 청소 로봇(1)이 주행하는 청소 영역의 바닥으로부터 먼지 등의 이물질을 흡입하여 청소 작업을 수행하도록 메인 및 사이드 브러시를 구동시킨다.
저장부(240)는 청소 로봇(1)의 청소 명령에 따라 미리 설정된 주행 패턴 및 주행 경로와, 청소 로봇(1)의 주행 과정에서 검출된 센서 정보 등을 저장한다.
또한, 저장부(240)는 청소 영역의 맵 정보를 저장하는 것도 가능하다.
이하, 본 발명의 일 실시예에 의한 청소 로봇 및 그 제어 방법의 동작과정 및 작용효과를 설명한다.
도 9a 및 도 9b는 본 발명의 일 실시예에 의한 청소 로봇의 주행 제어 방법을 나타낸 동작 순서도이다.
도 9a 및 도 9b에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(300), 제어부(220)는 입력부(200)를 통해 입력되는 모션 명령을 수신하여 청소 로봇(1)이 이동할 거리의 변화량(L1)을 제1거리 계산부(221)를 통해 추정한다(302).
그리고, 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 엔코더(211)에서 측정하여 제어부(220)에 전달한다(304).
이때에, 청소 로봇(1)이 실제 움직인 거리를 위치센서(212)에서 측정하여 제어부(220)에 전달하고(306), 청소 로봇(1)이 실제 움직인 각도(방향)을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(308).
따라서, 제어부(220)는 엔코더(211)의 측정값에 따라 청소 로봇(1)이 이동한 거리의 변화량(L2)을 제2거리 계산부(222)를 통해 계산하고(310), 위치센서(212)의 센서 정보에 따라 청소 로봇(1)이 이동한 거리의 변화량(L3)을 제3거리 계산부(223)를 통해 계산한다(312).
이에 따라, 제어부(220)는 제1 내지 제3거리 계산부(221, 222, 223)에 의해 계산된 거리 변화량(L1, L2, L3)에 따라 청소 로봇(1)의 주행 불가능 상태를 검출하는 제1스턱 후보를 제1스턱 후보 검출부(226)를 통해 검출한다(314).
제1스턱 후보는 청소 로봇(1)의 순간 이동량을 기반으로 하여 스턱 후보를 검출한다. 위치센서(212)의 센서 정보를 통해 계산된 거리 변화량(L3)과 엔코더(211) 측정값에 따라 계산된 거리 변화량(L2) 및 모션 명령에 따라 추정된 거리 변화량(L1)을 비교 분석하여 청소 로봇(1)이 주행 불가능한 상태인지를 검출한다.
이어서, 제어부(220)는 엔코더(211)의 측정값에 따라 청소 로봇(1)이 이동한 각도의 변화량(G1)을 제1각도 계산부(224)를 통해 계산하고(316), 기울기센서(213)의 센서 정보에 따라 청소 로봇(1)이 이동한 각도의 변화량(G2)을 제2각도 계산부(225)를 통해 계산한다(318).
이에 따라, 제어부(220)는 제1 및 제2각도 계산부(224, 225)에 의해 계산된 각도 변화량(G1, G2)에 따라 청소 로봇(1)의 주행 불가능 상태를 검출하는 제2스턱 후보를 제2스턱 후보 검출부(227)를 통해 검출한다(320).
제2스턱 후보는 청소 로봇(1)의 순간 각도차를 기반으로 하여 스턱 후보를 검출한다. 기울기센서(213)의 센서 정보를 통해 계산된 각도 변화량(G2)과 엔코더(211) 측정값에 따라 계산된 각도 변화량(G1)의 각도차가 임계값(Threshold)보다 큰가를 비교하여 청소 로봇(1)이 주행 불가능한 상태인지를 검출한다.
제1스턱 후보와 제2스턱 후보가 검출되면, 제어부(220)는 검출된 제1스턱 후보와 제2스턱 후보를 이용하여 청소 로봇(1)이 주행 불가능한 스턱 상태인지를 판단한다(324).
단계 324의 판단 결과, 청소 로봇(1)이 스턱 상태이면 제어부(220)는 틸트모터(150)를 구동하여 서브 휠(130)의 위치를 변경시킨다(326). 이때 서브 휠(130)의 위치는 목표 위치까지 이동시키며, 기본적으로 내릴 수 있는 최대 위치까지 내린다.
서브 휠(130)의 위치를 변경할 때에 틸트모터(150)에 흐르는 전류를 전류센서(214)에서 측정하여 제어부(220)에 전달한다.
따라서, 제어부(220)는 전류센서(214)를 통해 측정된 전류값에 따라 서브 휠(130)을 내리는 틸트모터(150) 쪽에 이상 고전류가 발생하였는지를 검출하여 서브 휠(130)의 구속인가를 판단한다(328).
단계 328의 판단 결과, 서브 휠(130)이 구속되면 제어부(220)는 청소 로봇(1)이 장애물의 좁은 틈으로 진입하여(예를 들어, 침대나 소파 아래로 들어가) 청소 로봇(1)의 상부가 끼인 상부 '끼임'이라고 판단하고(330), 청소 로봇(1)의 전고를 낮추어 스턱 상태를 탈출할 수 있도록 청소 로봇(1)이 진입한 반대 반향으로 주행한다(332).
한편, 단계 328의 판단 결과, 서브 휠(130)이 구속되지 않으면 제어부(220)는 청소 로봇(1)이 장애물에 올라타 청소 로봇(1)의 메인 휠(120)이 들린 휠 '들림'이라고 판단하고(340), 서브 휠(130)을 아래로 돌출시켜 스턱 상태를 탈출할 수 있도록 청소 로봇(1)을 주행한다(342).
한편, 단계 324의 판단 결과, 청소 로봇(1)이 스턱 상태가 아니면 제어부(220)는 틸트모터(150)를 구동시키지 않고 메인 휠(120)을 이용하여 이동하는 청소 로봇(1)의 기본 주행을 계속한다(350).
한편, 본 발명의 일 실시예에서는 틸트모터(150)에 흐르는 전류를 측정하여 서브 휠(130)의 구속을 검출하는 것을 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않고 모션 명령값과 틸트모터(150)에 엔코더를 설치하고, 엔코더로부터의 측정값을 이용하여 서브 휠(130)의 구속을 검출하여도 본 발명과 동일한 목적 및 효과를 달성할 수 있음은 물론이다.
도 10은 본 발명의 일 실시예에 의한 청소 로봇이 기본 주행하는 상태의 정면도이고, 도 11은 도 10에 도시된 청소 로봇의 측면도이며, 도 12는 도 10 및 도 11에 도시된 메인 휠과 서브 휠의 위치를 상세하게 도시한 도면이다.
도 10 내지 도 12에서, 청소 로봇(1)이 기본 주행하는 상태에서는 청소 로봇(1)의 밑면과 바닥 면과의 높이(지상고, H1)가 10mm이고, 서브 휠(130)이 올라간 상태이므로 청소 영역의 바닥 면에는 메인 휠(120)만 접지되어 본체(10)의 주행이 이루어진다.
도 13은 본 발명의 일 실시예에 의한 청소 로봇이 '들림' 현상과 같은 스턱 상태를 탈출하기 위해 서브 휠을 돌출시킨 상태의 정면도이고, 도 14는 도 13에 도시된 청소 로봇의 측면도이며, 도 15는 도 13 및 도 14에 도시된 메인 휠과 서브 휠의 위치를 상세하게 도시한 도면이다.
도 13 내지 도 15에서, 청소 로봇(1)이 장애물에 올라타 청소 로봇(1)의 배면이 걸리게 되면 청소 로봇(1)의 구동 휠이 들리게 되어('들림') 주행이 불가능한 스턱 상태가 된다. 이때에는 서브 휠(130)의 위치를 변경하기 위해 구동프레임(110)을 아래로 틸트시켜 서브 휠(130)을 서서히 돌출시키며 구동력을 회복한다.
구동프레임(110)이 하강할 경우 일정 각도까지는 메인 휠(120)이 바닥 면과 접지하지만 약 20도 기울였을 때는 메인 휠(120)과 서브 휠(130)이 동시에 바닥 면과 접지하여 구동력을 전달한다. 이때 메인 휠(120)과 서브 휠(130)의 속도는 동일하며 바닥 과 가장 많은 접촉 면적을 가지게 되므로 넓은 면적의 장애물을 탈출하기 용이해진다. 20도 이상 기울어질 경우 서브 휠(130)이 본체(10)를 기울여 들어 올리기 시작하며 기울기는 최대 80도에서 제한된다. 이때 청소 로봇(1)의 밑면과 바닥 면과의 높이(H2)는 기본 10mm에 45mm가 더해진 55mm가 된다. 또한 서브 휠(130)은 진행 방향에서 메인 휠(120)에 비해 25mm가량 안쪽에 위치해 있기 때문에 주행 시 측 방향으로 한쪽 메인 휠(120)이 추락할 경우 무한 궤도 타입일 때에 비해 동력을 회복하는 것이 용이하게 된다.
이때, 헛돌거나 접지가 충분하지 않던 휠(120 또는 130)이 접지하여 구동력을 회복하게 되면 틸트모터(150)에 흐르는 전류량이 늘어나게 되므로 더 이상의 돌출을 멈추게 된다. 장애물을 탈출한 후에는 도 10 내지 도 12에 도시한 기본 주행 상태로 다시 돌아가 청소 성능을 회복하도록 제어된다.
도 16은 본 발명의 일 실시예에 의한 청소 로봇이 '끼임' 현상과 같은 스턱 상태를 탈출하기 위해 청소 로봇의 전고를 낮춘 상태의 정면도이고, 도 17은 도 16에 도시된 청소 로봇의 측면도이며, 도 18은 도 16 및 도 17에 도시된 메인 휠과 서브 휠의 위치를 상세하게 도시한 도면이다.
도 16 내지 도 18에서, 청소 로봇(1)이 장애물의 좁은 틈으로 진입하면(예를 들어, 침대나 소파 아래로 들어감) 청소 로봇(1)의 상부가 끼이게 되어('끼임') 주행이 불가능한 스턱 상태가 된다. 청소 로봇(1)의 상부가 끼었을 경우에는 메인 휠(120)이 구속 상태가 되므로 구동모터(140)가 구속 상태가 되어 엔코더(211)를 통해 검출하게 된다. 스턱 상태로 판단 시, 다시 서브 휠(130)의 위치를 변경하기 위해 구동프레임(110)을 아래로 틸트시키게 되면 구동프레임(10)이 더 이상 이동하지 못하기 때문에 틸트 모터(150)에 과전류가 흐르게 되고, 이를 전류센서(214)에 의해 감지하게 되어 "끼임"으로 판단하게 된다.
이때에는 메인 휠(120)의 전고를 낮추기 위해 구동프레임(110)을 위쪽으로 틸트시킨다. 구동프레임(110)이 상승할 경우 메인 휠(120)은 회전축에서 벗어난 위치이므로 청소 로봇(1)의 안쪽으로 상승하게 되어 청소 로봇(1)의 전고가 낮아지게 된다. 이때 청소 로봇(1)의 전고는 최대 3.5mm가 낮아져 청소 로봇(1)의 밑면과 바닥 면과의 높이(H3)는 6.5mm(최저 지상고)가 된다.
청소 로봇(1)의 전고를 낮추는 동작으로 구동력을 회복하여 청소 로봇(1)이 진입한 반대 방향으로 주행하여 청소 로봇(1)의 스턱 상태를 탈출하게 된다.
도 19는 본 발명의 일 실시예에 의한 청소 로봇이 단턱에 걸려 들린 스턱 상태를 도시한 제1도면이고, 도 20은 도 19에 도시된 청소 로봇이 스턱 상태를 탈출하기 위해 서브 휠을 아래로 돌출시킨 상태를 도시한 도면이다.
도 19 및 도 20에서 보듯이, 청소 로봇(1)이 주행하다가 단턱에 걸려 메인 휠(120)이 들리게 되면, 서브 휠(130)을 아래로 돌출시켜 서브 휠(130)이 청소 영역의 바닥 면에 접지되도록 함으로써 구동력을 회복한다.
도 21은 본 발명의 일 실시예에 의한 청소 로봇이 단턱에 걸려 들린 스턱 상태를 도시한 제2도면이고, 도 22은 도 21에 도시된 청소 로봇이 스턱 상태를 탈출하기 위해 서브 휠(130)을 아래로 돌출시킨 상태를 도시한 도면이다.
도 21 및 도 22에서 보듯이, 청소 로봇(1)이 주행하다가 단턱에 걸려 메인 휠(120)이 들리게 되면, 서브 휠(130)을 아래로 돌출시켜 서브 휠(130)이 청소 영역의 바닥 면에 접지되도록 함으로써 구동력을 회복한다. 도면에는 서브 휠(130)을 최대로 돌출시킨 경우로 도시하였으나, 앞서 설명한 바와 같이, 서브 휠(130)에 접지력이 발생하는 각도 만큼만 회동시켜서 스턱 상태를 탈출할 수도 있다.
다음에는, 스턱 상태에 대하여 미리 대처가 가능하도록 청소 로봇(1)이 스턱 상태에 빠지기 전에 스턱 상태의 위험도와 종류를 미리 예측하는 방법에 대하여 도 23 내지 도 27을 참조하여 설명한다.
도 23은 본 발명의 다른 실시예에 의한 청소 로봇에서 스턱 상태를 예측하기 위한 제어 블록도로서, 도 8과 동일한 부분에 대해서는 동일 부호 및 동일 명칭을 사용하여 중복되는 설명을 최대한 생략한다.
도 23에서, 본 발명의 다른 실시예에 의한 청소 로봇(1)은 사용자로부터 모션 명령을 입력받는 입력부(200)와, 청소 로봇(1)이 주행하는 청소 영역에 대한 각종 정보를 검출하는 센서부(210)와, 입력부(200)의 모션 명령 및 센서부(210)의 센서 정보에 따라 스턱 상태의 위험도 및 종류를 검출하고 스턱 상태를 탈출하도록 제어하는 제어부(220)와, 제어부(220)의 구동 명령에 따라 메인 휠(120)과 서브 휠(130)을 구동시키는 구동모터(140)와, 제어부(220)의 탈출 명령에 따라 서브 휠(130)의 위치를 변경시키는 틸트모터(150)를 더 포함한다.
입력부(200)는 사용자로부터 청소 로봇(1)의 모션 명령 또는 청소 명령을 입력받고, 입력된 정보를 제어부(220)에 전달하도록 본체(10)의 상부 또는 리모컨(미도시)에 다수의 버튼을 포함한다.
센서부(210)는 사용자의 모션 명령에 따라 회전하는 구동모터(140)의 이동량을 측정하는 제1 및 제2엔코더(211-1, 211-2)와, 청소 로봇(1)이 실제 움직인 거리를 측정하는 위치센서(212)와, 청소 로봇(1)이 실제 움직인 각도(방향)를 측정하는 기울기센서(213)와, 틸트모터(150)에 흐르는 전류를 측정하는 전류센서(214)를 포함한다.
제1 및 제2엔코더(211-1, 211-2)는 본체(10)의 중앙부 양측에 설치된 양 구동유닛(100)의 구동모터(140)에 각각 부착되어 청소 로봇(1)이 스턱 상태에 빠질 수 있는 위험도와 종류를 예측하기 위한 것으로, 메인 휠(120)의 눌림이나 빠짐 여부를 검출할 수 있다.
또한, 제1 및 제2엔코더(211-1, 211-2)는 좌측 구동모터(140)에 부착된 제1엔코더(211-1)와, 우측 구동모터(140)에 부착된 제2엔코더(211-2)를 포함한다.
위치센서(212)는 청소 로봇(1)의 실제 움직임량을 측정하기 위한 것으로, 옵티컬 플로우 센서의 경우에는 빛이 없는 상황이나 천장에 특징점이 거의 없는 경우에도 사용할 수 있다.
기울기센서(213)는 청소 로봇(1)의 각도(기울기)를 측정할 수 있는 센서 모듈을 의미하는 것으로, 청소 로봇(1)의 각도값(기울기 값) 및 각도값(기울기 값)의 변화량을 측정하여 스턱 상태의 위험도와 종류를 예측한다.
전류센서(214)는 전원 회로에 설치되어 틸트모터(150)에 걸리는 부하(토크나 전류 값)를 측정하여 제어부(220)에 전달한다.
제어부(220)는 청소 로봇(1)의 제반 동작을 제어하는 것으로, 제1 및 제2엔코더(211-1, 211-2)와 기울기센서(213)로부터 얻은 센서 정보 및 일정시간 동안의 로봇 명령/주변 상황 정보들로부터 청소 로봇(1)이 스턱 상태에 빠질 수 있는 상황임을 예측한다.
즉, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 각도를 계산한 각도값과, 기울기센서(213)의 센서 정보에 따라 청소 로봇(1)이 이동한 각도를 측정한 각도값을 이용하여 청소 로봇(1)의 스턱 상태를 판단한다.
다시 말해서, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 각도를 계산하고, 기울기센서(213)의 센서 정보에 따라 청소 로봇(1)이 이동한 각도를 측정하고, 계산된 청소 로봇(1)의 각도와 측정된 청소 로봇(1)의 각도 차이를 이용하여 청소 로봇(1)의 스턱 상태를 판단하는 것이다.
또한, 제어부(220)는 계산된 청소 로봇(1)의 각도와 측정된 청소 로봇(1)의 각도 차이를 일정 시간 동안 검출하여 청소 로봇(1)의 스턱 상태를 판단한다.
이외에도, 제어부(220)는 스턱 상태에 대하여 미리 대처가 가능하도록 청소 로봇(1)이 스턱 상태에 빠지기 전에 스턱 상태의 위험도 및 종류를 미리 예측할 수 있다. 스턱 상태의 위험도 및 종류를 예측하는 방법에 대해서는 도 28 내지 도 33을 참조하여 상세히 설명하기로 한다.
또한, 제어부(220)는 예측된 스턱 상태의 위험도에 따라 청소 로봇을 급감속하거나 급정지하여 각각의 위험도로부터 청소 로봇이 벗어날 수 있도록 있도록 하고, 예측된 스턱 상태의 종류에 따라 적합한 탈출 기법을 선택할 수 있도록 정보를 제공하여 스턱 상태의 위험도 및 종류에 대한 효과적인 대응이 가능하도록 제어한다.
청소부(230)는 제어부(220)의 구동 명령에 따라 청소 로봇(1)이 주행하는 청소 영역의 바닥으로부터 먼지 등의 이물질을 흡입하여 청소 작업을 수행하도록 메인 및 사이드 브러시를 구동시킨다.
저장부(240)는 청소 로봇(1)의 청소 명령에 따라 미리 설정된 주행 패턴 및 주행 경로와, 청소 로봇(1)의 주행 과정에서 검출된 센서 정보 등을 저장한다.
도 24 내지 도 26은 본 발명의 다른 실시예에 의한 청소 로봇의 여러 가지 스턱 상태를 나타낸 도면이다.
청소 로봇에서 자주 발생하는 스턱 상태는 다음 세 가지의 주행과 관련된 상황들이다.
첫째, '들림'은 청소 로봇(1)의 배면에 물체나 문턱에 끼어 주행이 불가능한 상태, 또는 휠의 서스펜션이 모두 들려 청소 로봇(1)의 배면이 바닥 면에 닿게 되어 배면 마찰로 주행이 불가능한 상태이다.
둘째, 상부 '끼임"은 청소 로봇(1)의 정면이나 측면이 높이가 낮은 틈에 끼어 빠져 나오지 못하는 상태이다.
셋째, '물체 박힘'은 청소 로봇(1)이 주행 중에 부드러운 물체(예를 들어, 이불이나 빨래) 위에 올라 타거나 옷 더미 등에 박혀 나오지 못하는 상태이다.
도 24는 본 발명의 다른 실시예에 의한 청소 로봇의 '들림' 상태를 나타낸 도면이다.
도 24에서, 청소 로봇(1)의 '들림' 상태는 크게 네 가지 상황으로 나눌 수 있다.
도 24의 (a)는 청소 로봇(1)이 메인 휠(120)의 바깥쪽으로 물체 위에 올라타 주행이 불가능한 상태이고, (b)는 청소 로봇(1)의 배면에 물체가 끼어 주행이 불가능한 상태이며, (c)는 청소 로봇(1)이 빗면 물체 위에 올라타 주행이 불가능한 상태이고, (d)는 청소 로봇(1)의 배면이 물체 위에 완전히 올라타 주행이 불가능한 상태로 나눌 수 있다.
도 25는 본 발명의 다른 실시예에 의한 청소 로봇의 '끼임' 상태를 나타낸 도면이다.
도 25의 (a)는 청소 로봇(1)의 측면이 좁은 틈(예를 들어, 침대나 소파 아래)에 끼인 상태이고, (b)는 청소 로봇(1)의 전면이 좁은 틈에 끼인 상태이다.
도 25에서, 청소 로봇(1)의 상부 '끼임' 상태는 공통적으로 청소 로봇(1)의 전면이나 측면이 좁은 틈으로 진입하여 청소 로봇(1)의 배면이 모두 땅에 닿거나 한쪽 면이 닿아 빠져 나오지 못하는 상황으로 청소 로봇(1)이 좁은 틈에 끼일 때까지 센서가 동작하지 않아 발생하는 경우이다.
도 26은 본 발명의 다른 실시예에 의한 청소 로봇의 '물체 박힘' 상태를 나타낸 도면이다.
도 26의 (a)는 청소 로봇(1)이 주행 중에 부드러운 물체(예를 들어, 이불이나 빨래) 위에 올라탄 상태이고, (b)는 청소 로봇(1)이 주행 중에 부드러운 물체(예를 들어, 옷 더미 )에 박힌 상태이다.
도 24 내지 도 26에 도시한 스턱 상태에 대하여 미리 대처하기 위해서는 스턱 상태의 위험을 미리 예측할 수 있어야 한다. 스턱 상태의 위험을 미리 예측하는 것은 실제 스턱의 상황은 아니나 스턱이 일어나기 쉬운 저위험 또는 고위험 상황을 미리 검출하기 위한 것으로, 좌우측 구동모터(140)에 부착된 제1 및 제2엔코더(211-1, 211-2)와 기울기센서(213)를 이용하여 사전 검출 역할을 수행하게 된다. 여기에서 스턱 사전 검출을 위해서는 제1 및 제2엔코더(211-1, 211-2)와 기울기센서(213)의 변화량을 사용하게 되는데, 일정시간 동안 변화량을 보고 사전 검출을 수행하게 된다.
도 27은 본 발명의 다른 실시예에 의한 청소 로봇이 스턱 상태에 빠질 때의 위험도를 분류한 도면으로서, 기울기센서(213)에서 측정된 기울기 값 및 기울기 값의 변화량을 이용하여 청소 로봇(1)에 스턱 상태에 빠지기 전에 스턱 상태의 위험도를 미리 예측한다.
도 27에서, 청소 로봇(1)의 스턱 상태를 예측하는 위험도는 두 가지 단계를 가진다. 즉, 청소 로봇(1)이 스턱 상태에 빠질 수 있는 위험 정도에 따라 저위험, 고위험의 두 가지로 구분된다. 저위험의 경우에는 청소 로봇(1)의 주행 속도를 급감속하여 대처할 수 있으며, 고위험의 경우에는 청소 로봇(1)의 급정지를 통해서 메인 휠(120)을 회동하여 고위험으로부터 벗어날 수 있는 방법을 사용한다.
다음에는, 스턱 상태의 위험도와 종류를 예측하는 방법에 대하여 도 28 내지 도 33을 참조하여 설명한다.
도 28은 본 발명의 다른 실시예에 의한 청소 로봇이 '들림' 상태로 저위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 28에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(400), 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 좌우측 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 제1 및 제2엔코더(211-1, 211-2)에서 측정하여 제어부(220)에 전달한다(402).
이때에, 청소 로봇(1)이 실제 움직인 각도값 즉, 기울기 값을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(404).
따라서, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 거리의 변화량(A1, A2)을 계산하고(406), 기울기센서(213)의 측정값에 따라 청소 로봇(1)이 이동한 각도 즉, 기울기 값의 변화량(B)을 계산한다(408).
이에 따라, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 사용자가 지정한 1차 엔코더 임계값(Ath1; threshold)보다 큰가를 판단한다(410).
사용자가 지정한 1차 엔코더 임계값(Ath1)은 아래의 [식 1]을 이용하여 구할 수 있다.
Ath1 = V + V*0.06(센서 오차) .............. [식 1]
[식 1]에서, V는 청소 로봇(1)의 평균 이동 속도로, 아래의 [식 2]를 이용하여 구할 수 있다.
V = nk X 2πㅇr/n0 [rad/sec] .............. [식 2]
[식 2]에서, nk는 제1 및 제2엔코더(211-1, 211-2)의 펄스 개수이고, r은 메인 휠(120)의 반지름, n0는 한 바퀴 회전한 제1 및 제2엔코더(211-1, 211-2)의 펄스 개수이다.
단계 410의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 1차 엔코더 임계값(Ath1)보다 크면 제어부(220)는 기울기센서(213)에서 측정된 기울기 값의 변화량(B)이 사용자가 지정한 1차 기울기 임계값(Bth1; threshold)보다 큰가를 판단한다(412).
사용자가 지정한 1차 기울기 임계값(Bth1)은 아래의 [식 3]과 같다.
Bth1 = ㅁ3˚(센서 오차) .............. [식 3]
단계 412의 판단 결과, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1)보다 크면 제어부(220)는 청소 로봇(1)이 저위험의 '들림' 상태에 빠졌다고 판단한다(414).
결론적으로, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 크게 나타나고, 기울기 값의 변화량(B)이 사용자가 지정한 1차 기울기 임계값(Bth1)보다 크게 나타날 때 청소 로봇(1)이 '들림' 상태로 저위험에 빠졌음을 경고한다.
이후, 제어부(220)는 청소 로봇(1)이 저위험의 '들림' 상태에서 빠져 나올 수 있도록 구동모터(140)를 급감속하고, '들림' 상태에 대한 적합한 탈출 기법을 선택할 수 있도록 정보를 제공한다.
한편, 단계 410의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 1차 엔코더 임계값(Ath1)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(416).
또한, 단계 412의 판단 결과, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(416).
도 29는 본 발명의 다른 실시예에 의한 청소 로봇이 상부 '끼임' 상태로 저위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 29에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(500), 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 좌우측 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 제1 및 제2엔코더(211-1, 211-2)에서 측정하여 제어부(220)에 전달한다(502).
이때에, 청소 로봇(1)이 실제 움직인 각도 즉, 기울기 값을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(504).
따라서, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 거리의 변화량(A1, A2)을 계산하고(506), 기울기센서(213)의 측정값에 따라 청소 로봇(1)이 이동한 각도 즉, 기울기 값의 변화량(B)을 계산한다(508).
이에 따라, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작은가를 판단한다(510).
단계 510의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 1차 엔코더 임계값(Ath1)보다 작으면 제어부(220)는 기울기센서(213)에서 측정된 기울기 값의 변화량(B)이 사용자가 지정한 1차 기울기 임계값(Bth1)보다 큰가를 판단한다(512).
단계 512의 판단 결과, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1)보다 크면 제어부(220)는 청소 로봇(1)이 저위험의 상부 '끼임' 상태에 빠졌다고 판단한다(514).
결론적으로, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작게 나타나고, 기울기 값의 변화량(B)이 사용자가 지정한 1차 기울기 임계값(Bth1)보다 크게 나타날 때 청소 로봇(1)이 상부 '끼임' 상태로 저위험에 빠졌음을 경고한다.
이후, 제어부(220)는 청소 로봇(1)이 저위험의 상부 '끼임' 상태에서 빠져 나올 수 있도록 구동모터(140)를 급감속하고, 상부 '끼임' 상태에 대한 적합한 탈출 기법을 선택할 수 있도록 정보를 제공한다.
한편, 단계 510의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 1차 엔코더 임계값(Ath1)보다 작지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(516).
또한, 단계 512의 판단 결과, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(516).
도 30은 본 발명의 다른 실시예에 의한 청소 로봇이 '물체 박힘' 상태로 저위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 30에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(600), 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 좌우측 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 제1 및 제2엔코더(211-1, 211-2)에서 측정하여 제어부(220)에 전달한다(602).
이때에, 청소 로봇(1)이 실제 움직인 각도 즉, 기울기 값을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(604).
따라서, 제어부(220)는 제1시간(t1) 동안의 빈도 체크를 통해 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 각도의 변화량(A1t1, A2t1)을 계산하고(606), 기울기센서(213)의 측정값에 따라 청소 로봇(1)이 이동한 각도 즉, 기울기 값의 변화량(B)을 계산한다(608).
이에 따라, 제어부(220)는 제1시간(t1) 동안의 빈도 체크를 통해 측정한 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1t1, A2t1) 중 적어도 하나의 엔코더 변화량(A1t1 or A2t1)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작은가를 판단한다(610).
단계 610의 판단 결과, 적어도 하나의 엔코더 변화량(A1t1 or A2t1)이 1차 엔코더 임계값(Ath1)보다 작으면 제어부(220)는 기울기센서(213)에서 측정된 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 큰가를 판단한다(612).
단계 612의 판단 결과, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크면 제어부(220)는 청소 로봇(1)이 저위험의 '물체 박힘' 상태에 빠졌다고 판단한다(614).
결론적으로, 제어부(220)는 제1시간(t1) 동안의 빈도 체크를 통해 측정한 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1t1, A2t1) 중 적어도 하나의 엔코더 변화량(A1t1 or A2t1)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작게 나타나고, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크게 나타날 때 청소 로봇(1)이 '물체 박힘' 상태로 저위험에 빠졌음을 경고한다.
이후, 제어부(220)는 청소 로봇(1)이 저위험의 '물체 박힘' 상태에서 빠져 나올 수 있도록 구동모터(140)를 급감속하고, '물체 박힘' 상태에 대한 적합한 탈출 기법을 선택할 수 있도록 정보를 제공한다.
한편, 단계 610의 판단 결과, 제1시간(t1) 동안의 빈도 체크를 통해 측정한 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1t1, A2t1) 중 적어도 하나의 엔코더 변화량(A1t1 or A2t1)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(616).
또한, 단계 612의 판단 결과, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(616).
도 31은 본 발명의 다른 실시예에 의한 청소 로봇이 '들림' 상태로 고위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 31에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(700), 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 좌우측 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 제1 및 제2엔코더(211-1, 211-2)에서 측정하여 제어부(220)에 전달한다(702).
이때에, 청소 로봇(1)이 실제 움직인 각도 즉, 기울기 값을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(704).
따라서, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 거리의 변화량(A1, A2)을 계산하고(706), 기울기센서(213)의 측정값에 따라 청소 로봇(1)이 이동한 각도 즉, 기울기 값의 변화량(B)을 계산한다(708).
이에 따라, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 공회전 상태(메인 휠이 헛도는 상태, Open 상태)인가를 판단한다(710).
단계 710의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 공회전 상태이면 제어부(220)는 기울기센서(213)에서 측정된 기울기 값의 변화량(B)이 사용자가 지정한 2차 기울기 임계값(Bth2)보다 큰가를 판단한다(712).
사용자가 지정한 2차 기울기 임계값(Bth2)은 아래의 [식 4]를 이용하여 구할 수 있다.
Bth2 = tan -1 (2r/h) .............. [식 4]
[식 4]에서, r은 메인 휠(120)의 지름이고, h는 청소 로봇(1)의 지름(넓이)이다.
단계 712의 판단 결과, 기울기 값의 변화량(B)이 2차 기울기 임계값(Bth2)보다 크면 제어부(220)는 청소 로봇(1)이 고위험의 '들림' 상태에 빠졌다고 판단한다(714).
결론적으로, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 공회전 상태이고, 기울기 값의 변화량(B)이 사용자가 지정한 2차 기울기 임계값(Bth2)보다 크게 나타날 때 청소 로봇(1)이 '들림' 상태로 고위험에 빠졌음을 경고한다.
이후, 제어부(220)는 청소 로봇(1)이 고위험의 '들림' 상태에서 빠져 나올 수 있도록 구동모터(140)를 급정지하고, '들림' 상태에 대한 적합한 탈출 기법을 선택할 수 있도록 정보를 제공한다.
한편, 단계 710의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 공회전 상태가 아니면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(716).
또한, 단계 712의 판단 결과, 기울기 값의 변화량(B)이 2차 기울기 임계값(Bth2)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(716).
도 32는 본 발명의 다른 실시예에 의한 청소 로봇이 상부 '끼임' 상태로 고위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 32에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(800), 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 좌우측 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 제1 및 제2엔코더(211-1, 211-2)에서 측정하여 제어부(220)에 전달한다(802).
이때에, 청소 로봇(1)이 실제 움직인 각도 즉, 기울기 값을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(804).
따라서, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 거리의 변화량(A1, A2)을 계산하고(806), 기울기센서(213)의 측정값에 따라 청소 로봇(1)이 이동한 각도 즉, 기울기 값의 변화량(B)을 계산한다(808).
이에 따라, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작고, 사용자가 지정한 2차 엔코더 임계값(Ath2)보다 큰가를 판단한다(810).
사용자가 지정한 2차 엔코더 임계값(Ath2)은 아래의 [식 5]을 이용하여 구할 수 있다.
Ath2 = 0 + V*0.06(센서 오차) .............. [식 5]
[식 5]에서, 0은 스턱 시 청소 로봇(1)의 속도이고, V는 청소 로봇(1)의 평균 이동 속도이다.
단계 810의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 1차 엔코더 임계값(Ath1)보다 작고 2차 엔코더 임계값(Ath2)보다 크면 제어부(220)는 기울기센서(213)에서 측정된 기울기 값의 변화량(B)이 사용자가 지정한 1차 기울기 임계값(Bth1)보다 큰가를 판단한다(812).
단계 812의 판단 결과, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1)보다 크면 제어부(220)는 청소 로봇(1)이 고위험의 상부 '끼임' 상태에 빠졌다고 판단한다(814).
결론적으로, 제어부(220)는 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량(A1 or A2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작고 2차 엔코더 임계값(Ath2)보다 크게 나타나고, 기울기 값의 변화량(B)이 사용자가 지정한 1차 기울기 임계값(Bth1)보다 크게 나타날 때 청소 로봇(1)이 상부 '끼임' 상태로 고위험에 빠졌음을 경고한다.
이후, 제어부(220)는 청소 로봇(1)이 고위험의 상부 '끼임' 상태에서 빠져 나올 수 있도록 구동모터(140)를 급정지하고, 상부 '끼임' 상태에 대한 적합한 탈출 기법을 선택할 수 있도록 정보를 제공한다.
한편, 단계 810의 판단 결과, 적어도 하나의 엔코더 변화량(A1 or A2)이 1차 엔코더 임계값(Ath1)보다 작고 2차 엔코더 임계값(Ath2)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(816).
또한, 단계 812의 판단 결과, 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(816).
도 33은 본 발명의 다른 실시예에 의한 청소 로봇이 '물체 박힘' 상태로 고위험에 빠진 경우를 예측하는 방법을 나타낸 동작 순서도이다.
도 33에서, 사용자가 입력부(200)를 통해 청소 로봇(1)의 모션 명령을 입력하면(900), 제어부(220)는 모션 명령에 따라 본체(10)의 양측에 설치된 구동모터(140)를 회전시켜 메인 휠(120)이 전진 또는 후진 방향(정방향 또는 역방향)으로 회전되도록 함으로써 청소 로봇(1)이 미리 설정된 주행 패턴(직각 주행 또는 랜덤 주행)으로 이동하면서 바닥 면을 주행할 수 있도록 한다.
이와 같이, 모션 명령에 따라 회전하는 좌우측 구동모터(140)의 이동량(구동모터의 이동 거리 및 이동 각도)을 제1 및 제2엔코더(211-1, 211-2)에서 측정하여 제어부(220)에 전달한다(902).
이때에, 청소 로봇(1)이 실제 움직인 각도 즉, 기울기 값을 기울기센서(213)에서 측정하여 제어부(220)에 전달한다(904).
따라서, 제어부(220)는 제2시간(t2) 동안의 빈도 체크를 통해 제1 및 제2엔코더(211-1, 211-2)의 측정값에 따라 청소 로봇(1)이 이동한 각도의 변화량(A1t2, A2t2)을 계산하고(906), 기울기센서(213)의 측정값에 따라 청소 로봇(1)이 이동한 각도 즉, 기울기 값의 변화량(B)을 계산한다(908).
이에 따라, 제어부(220)는 제2시간(t2) 동안의 빈도 체크를 통해 측정한 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1t2, A2t2) 중 적어도 하나의 엔코더 변화량(A1t2 or A2t2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작은가를 판단한다(910).
단계 910의 판단 결과, 적어도 하나의 엔코더 변화량(A1t2 or A2t2)이 1차 엔코더 임계값(Ath1)보다 작으면 제어부(220)는 기울기센서(213)에서 측정된 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 큰가를 판단한다(912).
단계 912의 판단 결과, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크면 제어부(220)는 청소 로봇(1)이 고위험의 '물체 박힘' 상태에 빠졌다고 판단한다(914).
결론적으로, 제어부(220)는 제2시간(t2) 동안의 빈도 체크를 통해 측정한 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1t2, A2t2) 중 적어도 하나의 엔코더 변화량(A1t2 or A2t2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작게 나타나고, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크게 나타날 때 청소 로봇(1)이 '물체 박힘' 상태로 고위험에 빠졌음을 경고한다.
고위험의 '물체 박힘' 상태는 청소 로봇(1)이 '물체 박힘' 상태에 빠진 위험도가 저위험에 비해 높은 경우이므로, 제2시간(t2)을 제1시간(t1)보다 짧게 설정한다.
이후, 제어부(220)는 청소 로봇(1)이 고위험의 '물체 박힘' 상태에서 빠져 나올 수 있도록 구동모터(140)를 급정지하고, '물체 박힘' 상태에 대한 적합한 탈출 기법을 선택할 수 있도록 정보를 제공한다.
한편, 단계 910의 판단 결과, 제2시간(t2) 동안의 빈도 체크를 통해 측정한 제1 및 제2엔코더(211-1, 211-2)의 변화량(A1t2, A2t2) 중 적어도 하나의 엔코더 변화량(A1t2 or A2t2)이 사용자가 지정한 1차 엔코더 임계값(Ath1)보다 작지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(916).
또한, 단계 912의 판단 결과, 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크지 않으면 제어부(220)는 구동모터(140)를 회전시켜 바닥 면을 이동하는 청소 로봇(1)의 정상 주행을 계속한다(916).
1 : 청소 로봇 10 : 본체
20 : 커버 30, 40 : 브러시부
50 : 전원부 60 : 캐스터 바퀴
100 : 구동유닛 110 : 구동프레임
120 : 메인 휠 130 : 서브 휠
140 : 구동모터 150 : 틸트모터
160 : 기어부 200 : 입력부
210 : 센서부 211 : 엔코더
211-1 : 제1엔코더 211-2 : 제2엔코더
212 : 위치센서 213 : 기울기센서
214 : 전류센서 220 : 제어부
221 : 제1거리 계산부 222 : 제2거리 계산부
223 : 제3거리 계산부 224 : 제1각도 계산부
225 : 제2각도 계산부 226 : 제1스턱 후보 검출부
227 : 제2스턱 후보 검출부 228 : 스턱 판단부
229 : 휠 구속 검출부 230 : 청소부
240 : 저장부

Claims (50)

  1. 본체;
    상기 본체를 이동시키는 구동유닛을 포함하고,
    상기 구동유닛은,
    구동력을 발생하는 복수의 모터;
    상기 복수의 모터 중 어느 하나에 연결되고, 상기 어느 하나의 모터로부터 구동력을 전달받아 회전하는 복수의 휠;
    상기 복수의 휠을 지지하고, 상기 복수의 모터 중 다른 하나의 모터로부터 구동력을 전달받아 복수의 휠의 위치를 변경하도록 회동하는 구동프레임을 더 포함하고,
    상기 복수의 모터는,
    상기 본체를 이동시키도록 상기 복수의 휠을 회전시키는 제1모터;
    상기 본체의 높이를 조절하도록 상기 구동프레임을 회동시키는 제2모터를 포함하는 청소 로봇.
  2. 삭제
  3. 제1항에 있어서,
    상기 제2모터는,
    상기 제1모터와 수직으로 설치되어 회전축을 중심으로 상기 구동프레임을 회동시키는 청소 로봇.
  4. 제1항에 있어서,
    상기 제2모터의 구동력을 상기 구동프레임에 전달하는 기어부를 더 포함하고,
    상기 기어부는,
    상기 제2모터에 결합되어 회전하는 웜 기어;
    상기 웜 기어의 회전에 따라 회전축을 중심으로 상기 구동프레임을 회동시키는 틸트기어를 포함하는 청소 로봇.
  5. 제4항에 있어서,
    상기 구동프레임은,
    상기 틸트기어에 결합되고,
    상기 기어부는 상기 웜 기어와 상기 틸트기어 사이에서 상기 제2모터의 구동력을 전달하는 연결기어를 더 포함하는 청소 로봇.
  6. 제4항에 있어서,
    상기 틸트기어의 회전축은 상기 제1모터의 회전축과 동축 상에 배치되는 구조를 가지는 청소 로봇.
  7. 제1항에 있어서,
    상기 복수의 휠은,
    상기 본체를 이동시키도록 구동하는 메인 휠;
    상기 메인 휠의 안쪽에 설치되어 구동하는 서브 휠을 포함하는 청소 로봇.
  8. 제7항에 있어서,
    상기 메인 휠과 서브 휠은 주행 방향으로 다른 선상에 배치되는 구조를 가지는 청소 로봇.
  9. 제7항에 있어서,
    상기 제2모터에 흐르는 전류를 측정하는 전류센서를 더 포함하고,
    상기 전류센서는,
    상기 구동프레임의 회동 시에 상기 서브 휠의 바닥면과의 접지 여부 또는 상기 서브 휠의 구속 여부를 검출하는 청소 로봇.
  10. 본체와, 상기 본체를 이동시키는 구동유닛을 구비하는 청소 로봇에 있어서,
    상기 구동유닛은 메인 휠과 서브 휠로 이루어지는 휠 어셈블리와, 상기 휠 어셈블리의 위치를 변경하도록 회동 가능한 구동프레임을 포함하며,
    상기 청소 로봇의 모션 명령을 입력하는 입력부;
    상기 입력된 모션 명령에 따라 움직이는 상기 구동유닛의 움직임을 측정하는 엔코더;
    상기 청소 로봇의 움직임을 측정하는 위치센서;
    상기 입력된 모션 명령에 의한 위치값과, 상기 엔코더의 측정값에 따라 상기 청소 로봇이 이동한 위치를 계산한 위치값과, 상기 위치센서의 센서 정보에 따라 상기 청소 로봇이 이동한 위치값을 이용하여 상기 청소 로봇의 주행 상태를 판단하는 제어부를 포함하고,
    상기 구동유닛은,
    구동력을 전달하는 제1 및 제2모터를 더 포함하며;
    상기 메인 휠 및 서브 휠은 상기 제1모터에 연결되고, 상기 제1모터로부터 구동력을 전달받아 회전하며,
    상기 구동프레임은 상기 제2모터로부터 구동력을 전달받아 상기 휠 어셈블리의 위치를 변경하도록 회동하는 청소 로봇.
  11. 삭제
  12. 제10항에 있어서,
    상기 엔코더는 상기 제1모터에 설치되어 상기 청소 로봇의 모션 명령에 의해 생성된 상기 제1모터의 이동량을 측정하는 청소 로봇.
  13. 제10항에 있어서,
    상기 위치센서는 상기 청소 로봇이 실제 움직인 거리를 측정하는 옵티컬 플로우 센서인 청소 로봇.
  14. 제10항에 있어서,
    상기 위치센서는 상기 본체에 적어도 하나 이상 설치되는 청소 로봇.
  15. 제10항에 있어서,
    상기 제어부는 상기 청소 로봇의 주행이 불가능한 스턱 상태로 판단하는 경우, 상기 제2모터를 구동하여 상기 휠 어셈블리를 포함하는 상기 구동프레임을 회동시키는 청소 로봇.
  16. 제15항에 있어서,
    상기 제2모터의 전류를 감지하는 전류센서를 더 포함하고,
    상기 제어부는 상기 구동프레임의 회동 시, 상기 제2모터에 흐르는 전류값의 변동을 감지하면 상기 구동프레임의 회동을 중지하는 청소 로봇.
  17. 제15항에 있어서,
    상기 제2모터의 전류를 감지하는 전류센서를 더 포함하고,
    상기 제어부는 상기 제2모터에 과전류가 흐르는 것을 감지하면, 상기 구동프레임의 회동을 반대 방향으로 변경하는 청소 로봇.
  18. 제10항에 있어서,
    상기 청소 로봇의 기울기를 측정하는 기울기센서를 더 포함하고,
    상기 제어부는,
    상기 엔코더의 측정값에 따라 상기 청소 로봇이 이동한 각도를 계산하고, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 각도를 측정하고, 상기 계산된 상기 청소 로봇의 각도와 상기 측정된 상기 청소 로봇의 각도를 이용하여 상기 청소 로봇의 주행 상태를 판단하는 청소 로봇.
  19. 제18항에 있어서,
    상기 기울기센서는 상기 청소 로봇이 실제 움직인 각도를 측정하는 자이로 센서인 청소 로봇.
  20. 제18항에 있어서,
    상기 제어부는,
    상기 계산된 상기 청소 로봇의 위치 또는 각도와 상기 측정된 상기 청소 로봇의 위치 또는 각도 차이를 일정 시간 동안 검출하여 상기 청소 로봇의 주행이 불가능한 스턱 상태인지를 판단하는 청소 로봇.
  21. 본체와; 메인 휠과 서브 휠로 이루어지는 휠 어셈블리와, 상기 휠 어셈블리를 지지하고 상기 휠 어셈블리의 위치를 변경하도록 회동 가능한 구동프레임을 포함하고, 구동력을 전달하는 제1 및 제2모터를 더 포함하고, 상기 메인 휠 및 서브 휠은 상기 제1모터에 연결되고, 상기 제1모터로부터 구동력을 전달받아 회전하며, 상기 구동프레임은 상기 제2모터로부터 구동력을 전달받아 상기 휠 어셈블리의 위치를 변경하도록 회동하는 구동유닛으로 이루어진 청소 로봇의 제어 방법에 있어서,
    입력된 모션 명령에 따라 움직이는 상기 구동유닛의 움직임을 엔코더를 통해 측정하여 상기 청소 로봇이 이동한 위치 또는 각도를 계산하고;
    상기 청소 로봇의 움직임을 센서를 통해 측정하고;
    상기 계산된 상기 청소 로봇의 각도 또는 위치와, 상기 측정된 상기 청소 로봇의 각도 또는 위치를 이용하여 상기 청소 로봇의 주행 상태를 판단하는 청소 로봇의 제어 방법.
  22. 제21항에 있어서,
    상기 센서는,
    상기 청소 로봇이 실제 움직인 거리를 측정하는 위치센서;
    상기 청소 로봇이 실제 움직인 각도를 측정하는 기울기센서를 포함하는 청소 로봇의 제어 방법.
  23. 제21항에 있어서,
    상기 청소 로봇의 주행 상태를 판단하는 것은,
    상기 계산된 상기 청소 로봇의 위치 또는 각도와 상기 측정된 상기 청소 로봇의 위치 또는 각도 차이를 일정 시간 동안 검출하여 상기 청소 로봇의 주행이 불가능한 스턱 상태인지를 판단하는 청소 로봇의 제어 방법.
  24. 제21항에 있어서,
    상기 청소 로봇의 주행이 불가능한 스턱 상태로 판단하는 경우, 상기 구동프레임을 회동시키는 청소 로봇의 제어 방법.
  25. 제24항에 있어서,
    상기 구동프레임의 회동 시, 상기 구동프레임을 회동시키는 모터의 전류값의 변동을 감지하면 상기 구동프레임의 회동을 중지하는 청소 로봇의 제어 방법.
  26. 제24항에 있어서,
    상기 구동프레임의 회동 시, 상기 구동프레임을 회동시키는 모터의 과전류값을 감지하면 상기 구동프레임의 회동을 반대 방향으로 변경하는 청소 로봇의 제어 방법.
  27. 본체와, 상기 본체를 이동시키는 구동유닛을 구비하는 청소 로봇에 있어서,
    상기 청소 로봇의 모션 명령을 입력하는 입력부;
    상기 입력된 모션 명령에 따라 움직이는 상기 청소 로봇의 기울기를 측정하는 기울기센서;
    상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 각도를 측정한 각도값을 이용하여 상기 청소 로봇의 스턱 상태를 판단하는 제어부를 포함하고,
    상기 구동유닛은,
    상기 본체의 좌우측에 구동력을 전달하는 좌우측 구동모터를 더 포함하고,
    상기 청소 로봇은,
    상기 좌측 구동모터에 설치되어 상기 청소 로봇의 모션 명령에 의해 생성된 상기 좌측 구동모터의 이동량을 측정하는 제1엔코더와, 상기 우측 구동모터에 설치되어 상기 청소 로봇의 모션 명령에 의해 생성된 상기 우측 구동모터의 이동량을 측정하는 제2엔코더를 더 포함하는 청소 로봇.
  28. 삭제
  29. 제27항에 있어서,
    상기 기울기센서는 상기 청소 로봇이 실제 움직인 기울기 값을 측정하는 자이로 센서인 청소 로봇.
  30. 제29항에 있어서,
    상기 제어부는,
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 이동한 각도를 계산하고, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 각도를 측정하고, 상기 계산된 상기 청소 로봇의 각도와 상기 측정된 상기 청소 로봇의 각도 차이를 이용하여 상기 청소 로봇의 스턱 상태를 판단하는 청소 로봇.
  31. 제30항에 있어서,
    상기 제어부는,
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 이동한 제1 및 제2엔코더 변화량(A1, A2)을 계산하고, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 기울기 값의 변화량(B)을 계산하고, 상기 계산된 제1 및 제2엔코더 변화량(A1, A2)과 상기 계산된 기울기 값의 변화량(B)을 이용하여 상기 청소 로봇의 스턱 위험도와 스턱 종류를 판단하는 청소 로봇.
  32. 제31항에 있어서,
    상기 제어부는 상기 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 크고, 상기 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1 = ㅁ3˚)보다 크면 상기 청소 로봇이 '들림' 상태로 저위험에 빠졌다고 판단하는 청소 로봇.
    상기 1차 엔코더 임계값(Ath1)에서, V는 청소 로봇(1)의 평균 이동 속도이다.
  33. 제32항에 있어서,
    상기 제어부는 상기 청소 로봇이 저위험의 '들림' 상태에서 빠져 나올 수 있도록 상기 구동모터를 급감속하고, 상기 '들림' 상태에 적합한 탈출 정보를 제공하는 청소 로봇.
  34. 제31항에 있어서,
    상기 제어부는 상기 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고, 상기 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1 = ㅁ3˚)보다 크면 상기 청소 로봇이 상부 '끼임' 상태로 저위험에 빠졌다고 판단하는 청소 로봇.
    상기 1차 엔코더 임계값(Ath1)에서, V는 청소 로봇(1)의 평균 이동 속도이다.
  35. 제34항에 있어서,
    상기 제어부는 상기 청소 로봇이 저위험의 상부 '끼임' 상태에서 빠져 나올 수 있도록 상기 구동모터를 급감속하고, 상기 상부 '끼임' 상태에 적합한 탈출 정보를 제공하는 청소 로봇.
  36. 제30항에 있어서,
    상기 제어부는,
    상기 계산된 상기 청소 로봇의 각도와 상기 측정된 상기 청소 로봇의 각도 차이를 일정 시간 동안 검출하여 상기 청소 로봇의 스턱 상태를 판단하는 청소 로봇.
  37. 제36항에 있어서,
    상기 제어부는,
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 제1시간(t1) 동안 이동한 제1 및 제2엔코더 변화량(A1t1, A2t1)을 계산하고, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 기울기 값의 변화량(B)을 계산하고, 상기 계산된 제1 및 제2엔코더 변화량(A1t1, A2t1)과 상기 계산된 기울기 값의 변화량(B)을 이용하여 상기 청소 로봇의 스턱 위험도와 스턱 종류를 판단하는 청소 로봇.
  38. 제37항에 있어서,
    상기 제어부는 상기 제1 및 제2엔코더 변화량(A1t1, A2t1) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고, 상기 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크면 상기 청소 로봇이 '물체 박힘' 상태로 저위험에 빠졌다고 판단하는 청소 로봇.
    상기 1차 엔코더 임계값(Ath1)에서, V는 청소 로봇(1)의 평균 이동 속도이다.
  39. 제38항에 있어서,
    상기 제어부는 상기 청소 로봇이 저위험의 '물체 박힘' 상태에서 빠져 나올 수 있도록 상기 구동모터를 급감속하고, 상기 '물체 박힘' 상태에 적합한 탈출 정보를 제공하는 청소 로봇.
  40. 제31항에 있어서,
    상기 제어부는 상기 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 공회전 상태이고, 상기 기울기 값의 변화량(B)이 2차 기울기 임계값(Bth2 = tan -1 (2r/h))보다 크면 상기 청소 로봇이 '들림' 상태로 고위험에 빠졌다고 판단하는 청소 로봇.
    상기 2차 기울기 임계값(Bth2)에서, r은 메인 휠(120)의 지름이고, h는 청소 로봇(1)의 지름이다.
  41. 제40항에 있어서,
    상기 제어부는 상기 청소 로봇이 고위험의 '들림' 상태에서 빠져 나올 수 있도록 상기 구동모터를 급정지하고, 상기 '들림' 상태에 적합한 탈출 정보를 제공하는 청소 로봇.
  42. 제31항에 있어서,
    상기 제어부는 상기 제1 및 제2엔코더 변화량(A1, A2) 중 적어도 하나의 엔코더 변화량이 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고 2차 엔코더 임계값(Ath2) 크고, 상기 기울기 값의 변화량(B)이 1차 기울기 임계값(Bth1 = ㅁ3˚)보다 크면 상기 청소 로봇이 상부 '끼임' 상태로 고위험에 빠졌다고 판단하는 청소 로봇.
    상기 1차 엔코더 임계값(Ath1)에서, V는 청소 로봇(1)의 평균 이동 속도이다.
  43. 제42항에 있어서,
    상기 제어부는 상기 청소 로봇이 고위험의 상부 '끼임' 상태에서 빠져 나올 수 있도록 상기 구동모터를 급정지하고, 상기 상부 '끼임' 상태에 적합한 탈출 정보를 제공하는 청소 로봇.
  44. 제36항에 있어서,
    상기 제어부는,
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 제2시간(t2) 동안 이동한 제1 및 제2엔코더 변화량(A1t2, A2t2)을 계산하고, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 기울기 값의 변화량(B)을 계산하고, 상기 계산된 제1 및 제2엔코더 변화량(A1t2, A2t2)과 상기 계산된 기울기 값의 변화량(B)을 이용하여 상기 청소 로봇의 스턱 위험도와 스턱 종류를 판단하는 청소 로봇.
  45. 제44항에 있어서,
    상기 제어부는 상기 제1 및 제2엔코더 변화량(A1t2, A2t2) 중 적어도 하나의 엔코더 변화량이 사용자가 지정한 1차 엔코더 임계값(Ath1 = V + V*0.06)보다 작고, 상기 기울기 값의 변화량(B)이 상부 끼임 기준 임계값(Bs)보다 크면 상기 청소 로봇이 '물체 박힘' 상태로 고위험에 빠졌다고 판단하는 청소 로봇.
    상기 1차 엔코더 임계값(Ath1)에서, V는 청소 로봇(1)의 평균 이동 속도이다.
  46. 제45항에 있어서,
    상기 제어부는 상기 청소 로봇이 고위험의 '물체 박힘' 상태에서 빠져 나올 수 있도록 상기 구동모터를 급정지하고, 상기 '물체 박힘' 상태에 적합한 탈출 정보를 제공하는 청소 로봇.
  47. 본체와, 상기 본체를 이동시키는 좌우측 구동유닛을 구비하는 청소 로봇에 있어서,
    상기 청소 로봇의 모션 명령을 입력하는 입력부;
    상기 입력된 모션 명령에 따라 움직이는 상기 좌우측 구동유닛의 움직임을 측정하는 제1 및 제2엔코더;
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 이동한 각도를 계산한 각도값을 이용하여 상기 청소 로봇의 스턱 상태를 판단하는 제어부; 및
    상기 청소 로봇의 기울기를 측정하는 기울기센서를 포함하고,
    상기 제어부는,
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 이동한 각도를 계산한 각도값과, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 각도를 측정한 각도값을 이용하여 상기 청소 로봇의 스턱 상태를 판단하는 청소 로봇.
  48. 삭제
  49. 본체와, 상기 본체를 이동시키는 좌우측 구동유닛을 구비하는 청소 로봇의 제어 방법에 있어서,
    입력된 모션 명령에 따라 움직이는 상기 좌우측 구동유닛의 움직임을 제1 및 제2엔코더를 통해 각각 측정하여 상기 청소 로봇이 이동한 각도를 계산하고;
    상기 청소 로봇이 움직인 각도를 기울기센서를 통해 측정하고;
    상기 계산된 상기 청소 로봇의 각도와, 상기 측정된 상기 청소 로봇의 각도를 이용하여 상기 청소 로봇의 주행이 불가능한 스턱 상태를 판단하는 청소 로봇의 제어 방법.
  50. 제49항에 있어서,
    상기 청소 로봇의 스턱 상태를 판단하는 것은,
    상기 제1 및 제2엔코더의 측정값에 따라 상기 청소 로봇이 이동한 각도를 계산하고, 상기 기울기센서의 센서 정보에 따라 상기 청소 로봇이 이동한 각도를 측정하고, 상기 계산된 상기 청소 로봇의 각도와 상기 측정된 상기 청소 로봇의 각도 차이를 이용하여 상기 청소 로봇의 스턱 상태를 판단하는 청소 로봇의 제어 방법.
KR1020140104284A 2013-12-04 2014-08-12 청소 로봇 및 그 제어 방법 KR102280210B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US14/510,487 US9480380B2 (en) 2013-12-04 2014-10-09 Cleaning robot and control method thereof
PCT/KR2014/011842 WO2015084078A1 (en) 2013-12-04 2014-12-04 Cleaning robot and control method thereof
AU2014357957A AU2014357957B2 (en) 2013-12-04 2014-12-04 Cleaning robot and control method thereof
EP14867029.2A EP3076845B1 (en) 2013-12-04 2014-12-04 Cleaning robot and control method thereof
CN201480066302.7A CN105792720B (zh) 2013-12-04 2014-12-04 清洁机器人及其控制方法
US15/257,204 US10362917B2 (en) 2013-12-04 2016-09-06 Cleaning robot

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20130149881 2013-12-04
KR1020130149881 2013-12-04
US201461973434P 2014-04-01 2014-04-01
US61/973,434 2014-04-01

Publications (2)

Publication Number Publication Date
KR20150065134A KR20150065134A (ko) 2015-06-12
KR102280210B1 true KR102280210B1 (ko) 2021-07-22

Family

ID=53503631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140104284A KR102280210B1 (ko) 2013-12-04 2014-08-12 청소 로봇 및 그 제어 방법

Country Status (4)

Country Link
EP (1) EP3076845B1 (ko)
KR (1) KR102280210B1 (ko)
CN (1) CN105792720B (ko)
AU (1) AU2014357957B2 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017000833U1 (de) 2016-02-22 2017-03-08 Lg Electronics Inc. Beweglicher Roboter
KR101984012B1 (ko) * 2016-12-14 2019-05-31 (주)아이포바인 로봇 청소기
CN107080499B (zh) * 2017-06-09 2022-09-20 北京小狗吸尘器集团股份有限公司 扫地机器人被卡住后的脱困方法
KR102448287B1 (ko) * 2017-08-08 2022-09-28 삼성전자주식회사 전자 장치 및 그 동작 방법
CN107671862B (zh) * 2017-11-17 2020-01-21 珠海市一微半导体有限公司 机器人被卡住的处理方法
CN107997693A (zh) * 2017-12-20 2018-05-08 苏州燕云网络技术有限公司 扫地机控制方法及扫地机
EP4300249A3 (en) * 2018-01-09 2024-03-27 LG Electronics Inc. Robotic vacuum cleaner and control method therefor
CN108466601B (zh) * 2018-03-30 2021-06-11 曾正扬 一种公交专用吸尘器
WO2019194550A1 (ko) * 2018-04-02 2019-10-10 엘지전자 주식회사 구속 방지 필터를 구비하는 로봇 청소기
CN108628312B (zh) * 2018-05-14 2021-11-19 珠海一微半导体股份有限公司 机器人被卡的检测方法和脱卡的控制方法及芯片
CN110477810B (zh) * 2018-05-14 2021-06-29 杭州萤石软件有限公司 扫地机器人的控制方法、装置和扫地机器人
CN109414145B (zh) * 2018-06-28 2022-03-15 广州市小罗机器人有限公司 基于光流传感器的测速方法、打滑检测方法、可移动电子设备、路径纠正方法及装置
KR102095694B1 (ko) * 2018-07-13 2020-04-02 (주)아이포바인 로봇 청소기용 구동휠 높이조절장치
CN109394095B (zh) 2018-10-23 2020-09-15 珠海市一微半导体有限公司 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人
CN109717792B (zh) * 2018-11-06 2020-12-22 安徽国星生物化学有限公司 电动机噪声消除平台
CN109381126B (zh) * 2018-11-16 2021-06-04 杭州友邻电子有限公司 一种扫地机器人和扫地机器人充电座
CN109199252B (zh) * 2018-11-16 2021-09-14 邵勤俏 一种清扫范围广的扫地机器人
CN109512342B (zh) * 2018-12-25 2022-03-25 深圳市云鼠科技开发有限公司 一种基于陀螺仪的扫地机器人及姿态检测与脱困方法
CN111481113A (zh) * 2019-01-29 2020-08-04 北京奇虎科技有限公司 一种判断扫地机器人打滑的方法和装置
KR102677261B1 (ko) * 2019-02-13 2024-06-25 삼성전자주식회사 청소 로봇 및 그 제어 방법
CN109827592A (zh) * 2019-03-04 2019-05-31 广东乐生智能科技有限公司 一种扫地机器人被困的检测方法
GB2582955B (en) * 2019-04-10 2023-02-08 Jotun As Monitoring module
CN111830956B (zh) * 2019-04-16 2024-04-05 杭州萤石软件有限公司 一种检测移动机器人工作状态的方法及移动机器人
AU2020321757B2 (en) * 2019-07-31 2023-10-26 Lg Electronics Inc. Mobile robot and method for calculating moving distance of mobile robot
WO2021066222A1 (en) * 2019-10-02 2021-04-08 Lg Electronics Inc. Robot cleaner
KR102309306B1 (ko) 2019-11-29 2021-10-06 엘지전자 주식회사 로봇 청소기
KR102271443B1 (ko) * 2019-12-24 2021-07-01 엘지전자 주식회사 로봇청소기
WO2021133102A1 (ko) * 2019-12-24 2021-07-01 삼성전자주식회사 이동 로봇 장치 및 이의 제어 방법
CN111168679B (zh) * 2020-01-09 2023-08-22 上海山科机器人有限公司 行走机器人、控制行走机器人的方法和行走机器人系统
KR102328787B1 (ko) * 2020-04-23 2021-11-22 한양대학교 산학협력단 로봇
JP7433185B2 (ja) * 2020-10-02 2024-02-19 東芝ライフスタイル株式会社 吸込口体および電気掃除機
KR20220049854A (ko) * 2020-10-15 2022-04-22 삼성전자주식회사 로봇청소기
CN112869645B (zh) * 2021-03-17 2021-11-19 江西理工大学南昌校区 一种扫地机器人的运动控制装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000078198A1 (en) * 1999-06-19 2000-12-28 Gi Hwan Han Self-driven automatic cleaner
CN2498979Y (zh) * 2001-09-18 2002-07-10 泰怡凯电器(苏州)有限公司 自动吸尘器的位置定位检测机构
KR20030046325A (ko) * 2001-12-05 2003-06-12 아메니티-테크노스 가부시키가이샤 자주식청소장치 및 자주식청소방법
KR101812021B1 (ko) * 2011-09-30 2017-12-27 삼성전자주식회사 로봇청소기
KR100507926B1 (ko) * 2003-06-30 2005-08-17 삼성광주전자 주식회사 로봇청소기의 구동장치
KR100480144B1 (ko) * 2003-07-23 2005-04-07 엘지전자 주식회사 이동로봇의 위치검출장치 및 방법
KR100565227B1 (ko) * 2003-12-22 2006-03-30 엘지전자 주식회사 이동로봇의 위치인식장치 및 방법
CN201404156Y (zh) * 2009-04-16 2010-02-17 泰怡凯电器(苏州)有限公司 可移动的智能机器人
EP2263510B1 (en) * 2009-06-19 2017-09-13 Samsung Electronics Co., Ltd. Robot cleaner and method of its travel control
US8973210B2 (en) * 2009-06-30 2015-03-10 Lg Electronics Inc. Robot cleaner
KR101850386B1 (ko) * 2011-04-19 2018-04-19 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR101931362B1 (ko) * 2011-08-22 2018-12-24 삼성전자주식회사 로봇청소기 및 그 제어방법
US9173539B2 (en) * 2011-10-18 2015-11-03 Samsung Electronics Co., Ltd. Robot cleaner and method for controlling the same

Also Published As

Publication number Publication date
KR20150065134A (ko) 2015-06-12
AU2014357957B2 (en) 2017-06-15
EP3076845A4 (en) 2017-08-02
EP3076845A1 (en) 2016-10-12
EP3076845B1 (en) 2019-02-27
CN105792720B (zh) 2019-02-01
AU2014357957A1 (en) 2016-06-23
CN105792720A (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
KR102280210B1 (ko) 청소 로봇 및 그 제어 방법
US10362917B2 (en) Cleaning robot
EP3076263B1 (en) Robot cleaner and control method thereof
US11382478B2 (en) Mobile floor-cleaning robot with floor-type detection
KR102321278B1 (ko) 로봇 청소기 및 로봇 청소기 제어 방법
KR102159972B1 (ko) 로봇 청소기 및 그 제어 방법
CN109152501B (zh) 调整机器人清洁设备的高度
JP6309637B2 (ja) 自律式移動ロボット
CN107092260B (zh) 移动机器人及该移动机器人跨越障碍物的方法
KR20130021212A (ko) 로봇청소기 및 그 제어방법
CN107456172A (zh) 清洁机器人及障碍物跨越方法
CN113455962B (zh) 一种自主清洁设备的行进控制方法、设备、系统及介质
CN114451819A (zh) 清洁机器人及其越障方法
KR20190119221A (ko) 구속 방지 필터를 구비하는 로봇 청소기
JP2020190769A (ja) 自律走行型移動体、自律走行型掃除機、自律走行型掃除機の制御方法、およびプログラム
CN117784781A (zh) 机器人的控制方法、机器人及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right