KR20230112391A - 이동 로봇 및 그 제어 방법 - Google Patents

이동 로봇 및 그 제어 방법 Download PDF

Info

Publication number
KR20230112391A
KR20230112391A KR1020220008606A KR20220008606A KR20230112391A KR 20230112391 A KR20230112391 A KR 20230112391A KR 1020220008606 A KR1020220008606 A KR 1020220008606A KR 20220008606 A KR20220008606 A KR 20220008606A KR 20230112391 A KR20230112391 A KR 20230112391A
Authority
KR
South Korea
Prior art keywords
robot
protrusion
module
spin module
driving
Prior art date
Application number
KR1020220008606A
Other languages
English (en)
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 KR1020220008606A priority Critical patent/KR20230112391A/ko
Priority to PCT/KR2022/018436 priority patent/WO2023140481A1/ko
Publication of KR20230112391A publication Critical patent/KR20230112391A/ko

Links

Images

Classifications

    • 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
    • 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
    • A47L11/282Floor-scrubbing machines, motor-driven having rotary tools
    • A47L11/283Floor-scrubbing machines, motor-driven having rotary tools the tools being disc brushes
    • 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
    • A47L11/284Floor-scrubbing machines, motor-driven having reciprocating tools
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • 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
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 개시는 로봇에 관한 것이다. 본 개시의 일 실시예에 따른 로봇은, 적어도 하나의 프로그램을 저장하는 메모리, 상기 적어도 하나의 프로그램에 저장된 명령어를 실행시키는 프로세서를 포함하고, 상기 프로세서는 주행 지도를 하나 이상의 경계부에 기초하여 복수의 청소 영역들로 분할하고, 상기 경계부 중 적어도 일부가 돌출부로 식별되면 상기 복수의 청소 영역들 중 상기 로봇이 위치하는 일 영역에 대한 청소의 진행도에 기초하여 상기 돌출부의 유형을 식별하고, 상기 식별된 돌출부의 유형에 기초하여 복수의 주행 패턴들 중 어느 하나로 제어할 수 있다.

Description

이동 로봇 및 그 제어 방법{MOVING ROBOT AND CONTROL METHOD THEROF}
본 개시는 이동 로봇 및 그 제어 방법에 관한 것이다.
이동 로봇은 휠을 이용하여 주행하며 소정의 작업을 수행하는 전자 장치를 말한다. 이동 로봇은, 예를 들어, 비서 로봇, 청소 로봇, 안내 로봇 등을 포함할 수 있다. 여기서, 청소 로봇은 사용자의 조작이 없더라도 실내를 주행하며 바닥에 존재하는 이물질을 제거하는 전자 장치이다. 일반적으로, 실내 공간은 복수개의 방과 상기 방 사이를 연결하는 입출구로 구성된다. 그리고 입출구에는 문이 설치될 수 있으며, 문과 함께 문턱이 바닥에 시공될 수 있다. 문턱은 일반적으로 단단한 재질(하드 플로어 재질)로 만들어지며, 바닥으로부터 돌출되어 청소 로봇의 주행을 저지하거나 방해할 수 있다. 건식 청소 로봇은 브러시를 이용하여 바닥의 이물질을 흡입하여 제거하는 청소 로봇으로서, 브러시가 바닥과 밀착될 필요가 없다. 다만, 습식 청소 로봇은 걸레(또는 물걸레)가 접착된 스핀 모듈을 이용하여 바닥의 이물질을 닦아내는 청소 로봇으로서, 걸레는 스핀 모듈에 의해 바닥과 강하게 밀착되어야 한다.
본 개시는, 주행 경로 상에 위치한 하드 플로어 재질의 돌출부를 승월할 수 있는 이동 로봇 및 그 제어 방법을 제공하고자 한다.
본 개시의 일 실시예에 따른 로봇은 적어도 하나의 프로그램을 저장하는 메모리, 상기 적어도 하나의 프로그램에 저장된 명령어를 실행시키는 프로세서를 포함하고, 상기 프로세서는, 주행 지도를 하나 이상의 경계부에 기초하여 복수의 청소 영역들로 분할하고, 상기 경계부 중 적어도 일부가 돌출부로 식별되면 상기 복수의 청소 영역들 중 상기 로봇이 위치하는 일 영역에 대한 청소의 진행도에 기초하여 상기 돌출부의 유형을 식별하고, 상기 식별된 돌출부의 유형에 기초하여 복수의 주행 패턴들 중 어느 하나로 제어할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 거리 센서, 범퍼 센서를 더 포함하고, 상기 프로세서는, 상기 거리 센서에 의한 측정 값을 이용하여 상기 주행 지도를 획득하고, 상기 범퍼 센서에 의한 측정 값을 이용하여 주행 지도를 갱신할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 통신부를 더 포함하고, 상기 통신부를 통해 외부 장치로부터 상기 주행 지도를 수신하되, 상기 주행 지도는, 상기 외부 장치에 저장된 애플리케이션에 의해 상기 돌출부가 추가되거나 제거될 수 있다.
본 개시의 일 실시예에 따르면, 상기 복수의 주행 패턴은, 상기 돌출부를 승월하는 제1 주행 패턴, 상기 돌출부를 회피하는 제2 주행 패턴을 포함하고, 상기 프로세서는, 상기 돌출부가 제1 유형으로 식별되면 상기 제1 주행 패턴으로 제어하고, 상기 돌출부가 제2 유형으로 식별되면 상기 제2 주행 패턴으로 제어할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 전방의 장애물을 감지하기 위한 범퍼 센서를 더 포함하고, 상기 프로세서는, 상기 제1 주행 패턴으로 제어하는 경우, 상기 범퍼 센서에 의해 발생된 센싱 신호를 무시할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 높이 단차를 감지하기 위한 추락 방지 센서를 더 포함하고, 상기 프로세서는, 상기 제1 주행 패턴으로 제어하는 경우, 상기 추락 방지 센서의 민감도를 낮추거나, 상기 추락 방지 센서를 비활성화하거나, 또는 추락 방지 센서에 의해 발생된 센싱 신호를 무시할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈을 더 포함하고, 상기 스핀 모듈은 하측에 걸레가 접착 가능한 접착부를 갖고, 상기 걸레가 접착된 상태에서 상기 바디를 지지하고, 상기 프로세서는, 상기 제1 주행 패턴으로 제어하는 경우, 상기 스핀 모듈의 회전을 중지시키고, 상기 제2 주행 패턴으로 제어하는 경우, 상기 스핀 모듈을 회전시킬 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 상기 스핀 모듈과 연결된 팝아웃 모듈을 더 포함하고, 상기 프로세서는, 상기 제1 주행 패턴으로 제어하는 경우, 상기 팝아웃 모듈에 의해 상기 스핀 모듈이 상기 바디 외측에 돌출되어 있다면 상기 돌출된 스핀 모듈을 상기 바디 내측으로 이동시킬 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 바디 및 상기 바디 하측에 마련된 진동 모듈을 더 포함하고, 상기 진동 모듈은 하측에 걸레가 접착 가능한 접착부를 갖고, 상기 프로세서는, 상기 제1 주행 패턴으로 제어하는 경우, 상기 진동 모듈의 진동을 중지시키고, 상기 제2 주행 패턴으로 제어하는 경우, 상기 진동 모듈을 진동시킬 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은 바디를 포함하고, 상기 바디는 전방에 경사 돌기를 포함하고, 상기 제1 주행 패턴은 상기 바디의 전방으로 승월하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은 바디를 포함하고, 상기 바디는 후방 슬로프 구조를 포함하고, 상기 제1 주행 패턴은 상기 바디의 후방으로 승월하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 상기 진행도가 100% 이면, 상기 돌출부를 제1 유형으로 식별하고, 상기 진행도가 100% 미만이면, 상기 돌출부를 제2 유형으로 식별하고, 상기 돌출부가 상기 제1 유형으로 식별되면 제1 주행 패턴으로 제어하고, 상기 돌출부가 상기 제2 유형으로 식별되면 상기 제1 주행 패턴과 다른 제2 주행 패턴으로 제어할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은 거리 센서 또는 자이로 센서를 더 포함하고, 상기 프로세서는, 상기 거리 센서 또는 상기 자이로 센서를 이용하여 스턱 상태를 식별하고, 상기 스턱 상태가 식별되면, 상기 스턱 상태에서 벗어나기 위한 탈출 패턴으로 제어할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈을 더 포함하고, 상기 스핀 모듈은 좌측 스핀 모듈, 우측 스핀 모듈을 포함하고, 상기 프로세서는, 상기 탈출 패턴으로 제어하는 경우, 상기 좌측 스핀 모듈 및 상기 우측 스핀 모듈을 회전시켜, 전방 이동 마찰력, 후방 이동 마찰력 중 어느 하나, 좌향 모멘트 마찰력 및 우향 모멘트 마찰력 중 어느 하나를 조합한 마찰력을 발생시켜 상기 스턱 상태로부터 벗어나도록 제어할 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈을 더 포함하고, 상기 스핀 모듈은 좌측 스핀 모듈, 우측 스핀 모듈을 포함하고, 상기 프로세서는, 상기 탈출 패턴으로 제어하는 경우, 상기 자이로 센서를 이용하여 상기 바디의 기울임을 확인하고, 상기 좌측 스핀 모듈 또는 상기 우측 스핀 모듈 중 상기 바디가 기울어진 방향에 위치한 스핀 모듈을 선택하고, 상기 선택된 스핀 모듈을 회전시킬 수 있다.
본 개시의 일 실시예에 따르면, 상기 프로세서는, 상기 탈출 패턴으로 제어하는 경우로서, 상기 선택된 스핀 모듈을 회전시켜 상기 스턱 상태로부터 벗어나지 못하면, 다른 스핀 모듈도 회전시킬 수 있다.
본 개시의 일 실시예에 따르면, 상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈, 상기 스핀 모듈과 연결된 팝아웃 모듈을 더 포함하고, 상기 프로세서는, 상기 탈출 패턴으로 제어하는 경우, 상기 스핀 모듈을 상기 바디 외측으로 돌출시킬 수 있다.
본 개시의 다른 실시예에 따른 로봇의 제어 방법은, 주행 지도를 하나 이상의 경계부에 기초하여 복수의 청소 영역들로 분할하는 동작, 상기 경계부 중 적어도 일부가 돌출부로 식별되면 상기 복수의 청소 영역들 중 상기 로봇이 위치하는 일 영역에 대한 청소의 진행도에 기초하여 상기 돌출부의 유형을 식별하는 동작 및 상기 식별된 돌출부의 유형에 기초하여 복수의 주행 패턴들 중 어느 하나로 제어하는 동작을 포함한다.
본 개시의 다양한 실시예에 따른 로봇 및 제어 방법은, 주행 경로 상에 위치한 하드 플로어 재질의 돌출부를 승월하도록 할 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1a는 본 개시의 다양한 실시예에 따른 로봇의 사시도이다.
도 1b는 본 개시의 다양한 실시예에 따른 로봇의 저면도이다.
도 1c는 본 개시의 다양한 실시예에 따른 로봇의 측면도이다.
도 1d는 본 개시의 다양한 실시예에 따른 로봇의 스핀 모듈이 돌출된 상태(팝아웃 상태)의 저면도이다.
도 2는 본 개시의 다양한 실시예에 따른 로봇의 블록도이다.
도 3 및 도 4는 본 개시의 다양한 실시예에 따른 제어 방법의 흐름도이다.
도 5 및 도 6은 본 개시의 다양한 실시예에 따른 탈출 패턴의 흐름도이다.
도 7 내지 도 9는 주행 지도의 생성을 위한 사용자 단말의 애플리케이션 실행화면을 예시적으로 도시한 참고도이다.
도 10 및 도 11은 돌출부의 성질이 전환되는 동작을 예시적으로 설명하기 위한 참고도이다.
도 12는 추락 방지 센서의 센싱 값을 조절하는 동작을 예시적으로 설명하기 위한 참고도이다.
이하의 설명에서 첨부된 도면들이 참조되며, 실시될 수 있는 특정 예들이 도면들 내에서 예시로서 도시된다. 또한, 다양한 예들의 범주를 벗어나지 않으면서 다른 예들이 이용될 수 있고 구조적 변경이 행해질 수 있다.
이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면의 설명과 관련하여, 동일하거나 유사한 구성요소에 대해서는 동일하거나 유사한 참조 부호가 사용될 수 있다. 또한, 도면 및 관련된 설명에서는, 잘 알려진 기능 및 구성에 대한 설명이 명확성과 간결성을 위해 생략될 수 있다.
도 1a는 본 개시의 다양한 실시예에 따른 로봇의 사시도이고, 도 1b는 본 개시의 다양한 실시예에 따른 로봇의 저면도이고, 도 1c는 본 개시의 다양한 실시예에 따른 로봇의 측면도이다.
도 1a, 도 1b 및 도 1c는 로봇, 예를 들어 습식 청소 로봇에 관해 도시한다.
도 1a, 도 1b 및 도 1c를 참조하면, 본 개시의 다양한 실시예에 따른 로봇(100)은 바디(110)를 포함한다. 로봇(100)은 바디(110)를 지지하는 휠 모듈(161a)을 포함한다. 또한, 로봇(100)은 로봇(100)의 바디(110)를 지지하는 스핀 모듈(162)을 포함한다. 로봇(100)은 스핀 모듈(162) 및 휠 모듈(161a)에 의해 지지된다. 휠 모듈(161a)은 로봇(100)을 수평으로 지지하도록 좌측 휠 모듈(161a), 우측 휠 모듈(161a)을 포함할 수 있다. 스핀 모듈(162)은 상측에서 바라볼 때 시계 방향 또는 반시계 방향으로 회전하는 동작에 의해 걸레질이 실현되게 구비된 좌측 걸레와 우측 걸레를 포함할 수 있다.
본 개시의 다양한 실시예에 따르면, 스핀 모듈(162)은 바닥과 소정의 거리만큼 이격되게 구비된다. 스핀 모듈(162)은 걸레와 결합하여 바닥과 접촉하게 구비된다. 스핀 모듈(162)은 바닥을 향해 걸레를 접착하기 위한 접착부를 갖는다. 접착부는 걸레의 재질에 대응하여 접착 패드, 벨크로 등이 다양한 구조로 구현될 수 있다. 걸레는 청소를 위해 설계된 다양한 플라스틱 또는 섬유 재질을 포함한다. 걸레는 스핀 모듈(162)이 회전함에 따라 함께 회전하고, 바닥에 대한 걸레질이 실현된다. 좌측 걸레와 우측 걸레는 바닥에 대해 접촉하게 구비된다. 스핀 모듈(162)은 바디(110)의 하측에 배치된다. 스핀 모듈(162)은 휠 모듈(161a)의 전방에 배치된다. 로봇(100)은 별도의 휠 모듈(161a)없이 스핀 모듈(162)의 회전 동작으로 바디(110)가 이동 가능하게 구비될 수도 있다. 여기서, 본 개시의 용어 걸레는 용어 청소포 또는 용어 스핀맙(spin mob)과 상호 혼용될 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 진동 모듈(163)을 포함할 수 있다. 진동 모듈(163)은 바닥과 소정의 거리만큼 이격되게 구비된다. 진동 모듈(163)은 걸레와 결합하여 바닥에 접촉하게 구비된다. 진동 모듈(163)은 바닥을 향해 걸레를 접착하기 위한 접착부를 갖는다. 접착부는 걸레의 재질에 대응하여 접착 패드, 벨크로 등이 다양한 구조로 구현될 수 있다. 걸레는 청소를 위해 설계된 다양한 플라스틱 또는 섬유 재질을 포함한다. 걸레는 진동 모듈(163)이 진동함에 따라 함께 진동하고, 바닥에 대한 걸레질이 실현된다. 한편, 스핀 모듈(162)과 달리 진동 모듈(163)은 바디(110)의 후방에 구비될 수 있다. 또한, 진동 모듈(163)과 접착하는 걸레는 후방에 마련되거나 마련될 추락 방지 센서(142)의 발광 경로 및 수광 경로를 차폐하지 않도록 설계된다.
본 개시에서, 바디(110)의 전방에 구비되는 스핀 모듈(162)에 접착하는 걸레는 전방 걸레, 바디(110)의 후방에 구비되는 진동 모듈(163)에 접착하는 걸레는 후방 걸레로 호칭될 수 있다. 본 개시의 다양한 실시예에서, 둘 이상의 전방 걸레는 동일한 형상을 가질 수 있으나, 후방 걸레는 전방 걸레와 다른 형상을 가질 수 있다.
본 개시의 다양한 실시예에 따르면, 휠 모듈(161a)은 바닥과 접촉하게 구비된다. 휠 모듈(161a)은 바디(110)의 하측에 배치된다. 휠 모듈(161a)은 좌측 걸레 및 우측 걸레로부터 전후 방향으로 이격된 위치에서 바닥에 접촉하게 구비될 수 있다.
본 개시의 다양한 실시예에 따르면, 바디(110)는 로봇(100)의 외관을 형성한다. 바디(110)의 전방 또는 후방에는 문턱에 대한 승월을 지원하기 위한 슬로프 구조가 형성된다. 바디(110)의 전방에는 전방 슬로프 구조가 형성될 수 있다. 바디(110)의 후방에는 후방 슬로프 구조(180)가 형성될 수 있다. 전방 슬로프 구조를 통해 로봇(100)은 문턱과의 저항력을 절감시키고, 전방 주행을 통해 문턱을 승월할 수 있다. 후방 슬로프 구조(180)를 통해 로봇(100)은 문턱과의 저항력을 절감시키고, 후방 주행을 통해 문턱을 승월할 수 있다.
본 개시의 다양한 실시예에 따르면, 전방 슬로프 구조는 바디(110)의 전방에 구비된 경사 돌기(170)를 포함할 수 있다. 경사 돌기(170)는 바디(110)의 외측에서 내측으로 소정의 경사를 가지고 연장된다. 경사 돌기(170)의 전방에는 전방 승월을 위해 바디(110) 내측으로 경사진 경사면이 형성될 수 있다. 경사 돌기(170)는 후방, 우측, 및 좌측에도 하나 이상의 경사면이 형성될 수 있다. 경사 돌기(170)는 스핀 모듈(162) 보다 바디(110)의 전방에 마련되어, 전방 승월 시 경사 돌기(170)는 스핀 모듈(162)보다 먼저 문턱과 접촉하게 되어 상기 스핀 모듈(162)과 문턱 간의 접촉으로 인한 승월의 방해를 최소화할 수 있다.
본 개시의 다양한 실시예에 따르면, 경사 돌기(170)의 하측에는 보조 휠(161b)이 마련될 수 있다. 보조 휠(161b)은 전방 승월 동작에 소모되는 에너지를 최소화할 수 있다. 보조 휠(161b)을 통해 경사 돌기(170)와 문턱 간의 마찰을 최소화함으로써 적은 에너지로 로봇(100)은 전방에 위치한 문턱을 승월할 수 있게 된다.
본 개시의 다양한 실시예에 따르면, 후방 슬로프 구조(180)는 소정의 각도로 경사진 경사면을 포함한다. 경사면은 바디(110)의 후방에 형성된다. 예를 들어, 바디(110) 후방의 적어도 일부는 바닥과 소정의 각도를 이루는 경사면으로 형성될 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 전원을 공급하기 위한 배터리를 포함한다. 배터리는 스핀 모듈(162)의 회전 동작을 위한 전원을 공급할 수 있다. 배터리는 휠 모듈(161a)의 회전 동작을 위한 전원을 공급할 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 전방의 장애물을 검출하기 위한 장애물 감지 센서를 포함할 수 있다. 장애물 감지 센서는 하나 또는 둘 이상이 구비될 수 있다. 장애물 감지 센서는 바디(110)의 전방면에 배치될 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 주행경로 상의 높이 단차를 검출하기 위한 추락 방지 센서(142)를 포함할 수 있다. 추락 방지 센서(142)는 전방, 후방, 좌측, 및 우측 중 적어도 하나에 구비될 수 있다. 추락 방지 센서(142)는 하나 이상의 발광 소자와 하나 이상의 수광 소자를 포함할 수 있다. 추락 방지 센서(142)는 발광 소자에서 출력된 광이 바닥에서 반사되어 수광 소자에 입사되는 반사광의 광량에 기초하여 바닥의 높이 단차를 감지할 수 있다.
본 개시의 다양한 실시예에 따르면, 추락 방지 센서(142)는 휠 모듈(161a)의 좌우측에 마련될 수 있다. 하나 이상의 추락 방지 센서(142)는 좌측 휠 모듈(161a)의 좌측에 배치될 수 있다. 좌측에 배치되는 추락 방지 센서(142)는 좌측 추락 방지 센서(142)로 호칭될 수 있다. 하나 이상의 추락 방지 센서(142)는 우측 휠 모듈(161a)의 우측에 배치될 수 있다. 우측에 배치되는 추락 방지 센서(142)는 우측 추락 방지 센서(142)로 호칭될 수 있다. 경우에 따라, 추락 방지 센서(142)는 바디(110)의 전방에도 배치될 수 있다. 바디(110)의 전방에 배치되는 경우, 추락 방지 센서(142)는 스핀 모듈(162)의 전방에 배치되어 전방의 높이 단차로 인한 추락을 방지할 수 있다. 본 개시의 다양한 실시예에 따르면, 추락 방지 센서(142)는 바디(110)의 후방에 배치될 수 있다. 후방에 배치된 추락 방지 센서(142)는 후방 주행 중 로봇(100)의 높이 단차로 인한 추락을 방지할 수 있다.
본 개시의 다양한 실시예에 따르면, 추락 방지 센서(142)는 바닥의 재질을 감지할 수도 있다. 추락 방지 센서(142)는 반사광의 광량에 기초하여, 상기 광량이 소정의 임계치 이상이면 바닥의 재질을 하드 플로어로 식별하고, 상기 광량이 소정의 임계치 이하이면 바닥의 재질을 소프트 플로어로 식별할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 다양한 실시예에 따르면, 로봇은 수분 감지 센서(미도시)를 포함할 수 있다. 수분 감지 센서(미도시)는 로봇의 전방, 후방, 좌측, 및 우측 중 적어도 하나에 구비될 수 있으나, 이에 한정되는 것은 아니다. 수분 감지 센서(미도시)는 정전식 수분 감지 센서(미도시)와 저항식 수분 감지 센서(미도시)를 포함할 수 있으며, 이에 한정되는 것은 아니다.
본 개시의 다양한 실시예에 따르면, 로봇은 외부의 충격을 감지하기 위한 범퍼 센서(미도시)를 포함한다. 범퍼 센서(미도시)는 바디의 전방, 좌측 및 우측 중 적어도 하나에 마련된다. 범퍼 센서(미도시)는 하나 또는 둘 이상이 구비된다. 범퍼 센서(미도시)는 바디와 외부의 장애물과 충돌함에 따라 발생하는 충격량에 기초하여, 충격량이 소정의 임계치 이상이면 범퍼 센서(미도시)가 마련된 방향에 장애물이 있는 것으로 식별할 수 있다.
도 1d는 본 개시의 다양한 실시예에 따른 로봇의 스핀 모듈이 돌출된 상태(팝아웃 상태)의 저면도이다.
본 개시의 다양한 실시예에 따른 로봇(100)은 바디(110)의 전방에 하나 또는 둘 이상의 스핀 모듈(162)을 포함할 수 있다. 도 1d을 참조하면, 본 개시의 다양한 실시예에서, 스핀 모듈(162)이 둘 이상이 구비된 경우, 스핀 모듈(162)들 중 적어도 일부는 바디(110) 외측으로 팝아웃하도록 구성될 수 있다. 스핀 모듈(162) 중 적어도 일부는 팝아웃 모듈(미도시)과 결합하여 바디(110) 외측으로 팝아웃될 수 있다. 팝아웃 모듈(미도시)은 스핀 모듈(162) 중 적어도 일부와 일 단이 연결되는 연결 부재, 상기 연결 부재를 안내하기 위해 바디(110)에 마련된 가이드 레일을 포함한다. 연결 부재는 가이드 레일에 형성된 홈(또는 개구)를 따라 이동하도록 구성된다. 연결 부재의 일 단과 연결된 스핀 모듈(162)은, 연결 부재가 가이드 레일을 따라 이동함에 따라 스핀 모듈(162) 또한 가이드 레일을 따라 이동할 수 있다. 가이드 레일은 바디(110)의 내측에서 상기 바디(110)의 외측을 향해 연장되도록 형성된다.
본 개시에서, 연결 부재가 가이드 레일을 따라 바디(110)의 외측을 향해 최대로 이동한 상태를 팝아웃 상태라고 한다. 또한, 연결 부재가 가이드 레일을 따라 바디(110)의 내측을 향해 최대로 이동한 상태를 기본 상태라고 한다. 본 개시의 다양한 실시예에 따른 로봇(100)은, 기본 상태로 주행하며 습식 청소를 수행하고, 스핀 모듈(162)을 벽면과 밀착하여 청소를 해야 하는 경우에는 팝아웃 상태로 전환하여 돌출된 스핀 모듈(162)로 벽면과 인접한 바닥에 대한 청소를 수행할 수 있다.
도 2는 본 개시의 다양한 실시예에 따른 로봇의 블록도이다.
도 2를 참조하면 본 개시의 다양한 실시예에 따른 로봇은 프로세서(210), 통신부(230), 메모리(220)를 포함할 수 있다. 여기서, 프로세서(210)는 통신부(230) 및 메모리(220)와 전기적으로 또는 기능적으로 연결될 수 있다. 프로세서(210)는 제어 명령을 생성, 전송하여 로봇을 구성하는 구성요소들을 제어할 수 있다.
본 개시의 다양한 실시예에 따르면, 프로세서(210)는 로봇의 동작을 지원하기 위한 저장 및 프로세싱 회로부를 포함할 수 있다. 저장 및 프로세싱 회로부는 비휘발성 메모리(예를 들어, 플래시 메모리, 또는 SSD)를 형성하도록 구성된 다른 전기적 프로그래밍 가능한 ROM), 휘발성 메모리(예를 들어, 정적 또는 동적 RAM) 등과 같은 스토리지를 포함할 수 있다. 프로세서 내의 프로세싱 회로부는 로봇의 동작을 제어하는 데 사용될 수 있다. 프로세싱 회로부는 하나 이상의 마이크로프로세서(들), 마이크로제어기(들), 디지털 신호 프로세서(들), 기저대역 프로세서(들), 전력 관리 섹션(들), 오디오 칩(들), 주문형 집적 회로(들) 등에 기초할 수 있다.
본 개시의 다양한 실시예에 따르면, 메모리(220)는 본 개시에서 예시적으로 설명된 방법들 및/또는 절차들 중 임의의 것에 대응하거나 이들을 포함하는 동작들을 포함하는, 로봇의 프로토콜, 구성, 제어 및 다른 기능들에서 사용되는 변수들을 저장하기 위해 하나 이상의 프로세서에 대한 메모리 영역을 포함할 수 있다. 또한 메모리는 비휘발성 메모리, 휘발성 메모리, 또는 이들의 조합을 포함할 수 있다. 또한 메모리는 하나 이상의 포맷들의 착탈식 메모리 카드들(예를 들어, SD 카드, 메모리 스틱, 콤팩트 플래시 등)이 삽입 및 제거될 수 있게 하는 메모리 슬로소가 인터페이싱할 수 있다.
본 개시의 다양한 실시예에 따르면, 통신부(230)는 무선 통신 모듈 또는 RF 모듈을 포함할 수 있다. 무선 통신 모듈은, 예를 들면, Wi-Fi, BT, GPS 또는 NFC를 포함할 수 있다. 예를 들면, 무선 통신 모듈은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가적으로 또는 대체적으로, 무선 통신 모듈은 로봇을 네트워크(예: Internet, LAN, WAN, telecommunication network, cellular network, satellite network, POTS 또는 5G network 등)와 연결시키기 위한 네트워크 인터페이스 또는 모뎀 등을 포함할 수 있다. RF 모듈은 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자 신호의 송수신을 담당할 수 있다. 일 례로, RF 모듈은 PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, RF 모듈은 무선통신에서 자유공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 센서(부)(240)를 포함할 수 있다. 센서(240)는 라이다 센서(241), 추락 방지 센서(242), 범퍼 센서(243), 이미지 센서(244), 자이로 센서(245), 압력 센서(246)를 포함할 수 있다. 라이다 센서(241)는 ToF에 기반한 거리 센서 중 하나로서, 로봇이 주행할 공간에 대한 주행 지도를 생성할 수 있다. 추락 방지 센서(242)는 적외선 등을 이용하여 바닥과 바디 사이의 거리를 측정하고, 측정된 거리가 멀어지면 높이 단차가 있는 것으로 식별할 수 있다. 이미지 센서(244)는 로봇의 일측면에 형성되어 로봇 주변에 위치한 오브젝트의 이미지를 촬상할 수 있다. 자이로 센서(245)는 바디의 기울기를 측정할 수 있다. 압력 센서(246)는 로봇의 일 구성요소와 연결되어 외부와의 접촉으로 인한 압력을 측정할 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 구동부(250)를 포함할 수 있다. 로봇은 하나 또는 둘 이상 구동부(250)를 포함할 수 있다. 구동부(250)는 휠 모듈(261), 스핀 모듈(262), 진동 모듈(263) 중 적어도 하나와 연결될 수 있다. 경우에 따라, 휠 모듈(261), 스핀 모듈(262), 진동 모듈(263) 각각에 대해 하나의 구동부(250)가 마련될 수도 있다. 구동부(250)는 모터를 포함한다. 구동부는 휠 모듈(261)을 제어하여 로봇을 이동시킬 수 있다. 구동부(250)는 스핀 모듈(262) 및/또는 진동 모듈(263)을 제어하여 본 개시의 다양한 실시예에 따른 동작을 수행할 수 있다.
본 개시의 다양한 실시예에 따른 프로세서(210)는, 이하에서 도 3 내지 도 6을 참조하여 설명되는 방법에 포함된 동작들을 실행할 수 있다. 프로세서(210)는 메모리(220)에 저장된 적어도 하나의 프로그램의 제어 명령을 실행시킴으로써 이하의 동작들을 실현하 수 있다.
도 3 및 도 4는 본 개시의 다양한 실시예에 따른 제어 방법의 흐름도이다. 도 3은 돌출부의 성질에 기초하여 달리 제어하는 방법에 관한 흐름도이고, 도 4는 돌출부로 인한 스턱 상태로부터 벗어나기 위한 소중의 탈출 패턴으로 제어하는 방법에 관한 흐름도이다.
본 개시의 다양한 실시예에 따른 제어 방법은 로봇이 주행 지도를 획득하는 동작을 포함할 수 있다(S310).
본 개시의 다양한 실시예에 따른 로봇(100)은 ToF(Time of Flight) 방식과 같이 전파(또는 신호)가 반사되어 되돌아오는 시간을 측정하여 오브젝트와의 거리를 센싱하는 거리 센서(예를 들어, 레이더 센서, 라이다 센서, 초음파 센서 등)를 포함할 수 있다. 다양한 실시예에서, 로봇(100)은 라이다 센서를 이용하여 특정한 방향으로 전파를 방출하고, 방출된 전파가 반사되어 되돌아오기 까지의 시간을 측정하여 오브젝트와 로봇(100) 간의 거리를 측정할 수 있다. 로봇(100)은 반복된 측정 결과에 기초하여 로봇(100)이 위치한 공간에 대한 주행 지도를 얻을 수 있다.
본 개시의 다양한 실시예에 따른 로봇(100)은 통신부를 포함할 수 있고, 본 개시의 다양한 실시예에 따른 사용자 단말은 메모리에 주행 지도를 저장하고 있다. 로봇(100)은 통신부를 통해 사용자 단말로 주행 지도의 송신을 요청할 수 있다. 사용자 단말은 로봇(100)의 요청에 응답하여 로봇(100)으로 주행 지도를 송신할 수 있다. 여기서, 주행 지도는 로봇(100) 또는 다른 전자 장치에 의해 사용자 단말로 미리 전송된 것일 수 있다. 예를 들어, 사용자 단말의 메모리에 주행 지도가 저장되기 이전의 경우, 로봇(100)은 거리 센서를 이용하여 주행 지도를 획득하고, 획득된 주행 지도를 사용자 단말로 통신부를 통해 전송할 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 주행 지도를 갱신할 수 있다. 예를 들어, 로봇(100)이 이동하던 중, 주행 경로 상에 장애물이 존재할 수 있다. 여기서, 장애물은 처음 주행 지도를 획득하는 동작에서 식별되지 않은 임의의 장애물(예를 들어, 문턱)일 수 있다. 로봇(100)은 센서(예를 들어, 범퍼 센서)를 이용하여 임의의 장애물을 식별할 수 있다. 로봇(100)은 임의의 장애물이 식별되면, 상기 장애물의 위치, 형상, 또는 크기를 주행 지도에 반영할 수 있다. 이에 따라, 로봇(100)은 식별된 임의의 장애물을 회피하거나 승월하여 이동할 수 있다. 본 개시의 다양한 실시예에서, 센서(예를 들어, 범퍼 센서)에 의해 새롭게 식별된 장애물은 돌출부로 결정될 수도 있다. 본 개시의 다양한 실시예에서, 돌출부의 유형에 기초하여 로봇(100)의 주행 패턴이 달라질 수 있다(이하 S330 참조).
나아가, 본 개시의 다양한 실시예에 따르면, 로봇(100)은 센서(예를 들어, 범퍼 센서)를 이용하여 임의의 장애물이 식별되면, 사용자 단말로 안내 정보를 전송할 수도 있다. 안내 정보는 주행 지도 및 식별된 임의의 장애물에 관한 정보를 포함할 수 있다. 임의의 장애물에 관한 정보는, 장애물의 형상, 위치, 크기 등을 포함한다. 경우에 따라, 임의의 장애물에 관한 정보는 주행 지도에 미리 반영된 상태로 제공될 수 있다. 사용자 단말은, 안내 정보 및 장애물에 관한 정보를 수신하면, 수신된 정보를 애플리케이션을 통해 디스플레이 화면 상에 표시할 수 있다. 애플리케이션 실행화면에는 주행 지도와 함께 장애물에 관한 정보가 표시될 수 있다. 사용자 단말은 주행 지도상에 표현된 장애물에 관한 정보에 대한 사용자 입력에 기초하여, 장애물의 위치, 범위, 형상 등을 조정할 수 있다. 나아가, 사용자 단말은 사용자 입력에 기초하여, 로봇(100)의 센서에 의해 획득된 장애물에 관한 정보와 상관없이, 새롭게 장애물의 위치, 범위 형상 등을 생성하여 주행 지도에 표현할 수 있다. 사용자 단말은 하나 또는 둘 이상의 사용자 입력에 기초하여 갱신된 주행 지도를 로봇(100)으로 전송할 수 있고, 이를 수신한 로봇(100)은 갱신된 주행 지도에 기초하여 본 개시의 다양한 실시예에 따른 동작을 수행할 수 있다.
본 개시의 다양한 실시예에 따른 제어 방법은 주행 지도를 복수의 청소 영역들로 분할하는 동작을 포함할 수 있다(S320).
본 개시의 다양한 실시예에 로봇(100)은 주행 지도의 전체 영역을 주행하도록 주행 경로를 생성하고, 주행 경로에 기초하여 이동할 수 있다. 주행 지도의 전체 영역은 하나 이상의 청소 영역을 포함할 수 있다. 주행 경로는 각각의 청소 영역 내를 소정의 패턴으로 주행하는 제1 경로, 청소 영역들 사이를 이동하는 제2 주행 경로를 포함할 수 있다. 제1 주행 경로는, 예를 들어, 지그재그 패턴을 포함할 수 있으나, 이에 한정되는 것은 아니다. 제2 주행 경로는, 제1 주행 경로의 마지막 위치에서 시작하여 다른 청소 영역에 위치할 때까지의 최단 경로로 이루어질 수 있다. 이처럼, 주행 지도의 전체 영역은 복수의 청소 영역들을 포함할 수 있고, 주행 경로는 각각의 청소 영역들 내부 경로(제1 주행 경로)와 상기 청소 영역들 사이의 이동 경로(제2 주행 경로)를 포함하므로, 주행 경로의 설정을 위해서는 청소 영역이 특정되어야 한다.
본 개시의 다양한 실시예에 따르면 청소 영역들은 주행 지도의 형상에 기초하여 구분될 수 있다. 주행 지도는 복수의 방들과 방들을 연결하는 입구 또는 통로로 구성될 수 있다. 복수의 방들은, 일반적으로, 사각형 형상으로 마련되나 해당 방 내에 배치된 인테리어 소품으로 인하여 다각형으로 인식될 수 있다. 본 개시의 다양한 실시예에 따른 로봇(100)은 다각형으로 인식된 공간들을 사각형으로 단순화함으로써, 주행 지도를 복수의 사각형 공간으로 분할할 수 있다. 예를 들어, 사각형 공간이 2 이상인 경우, 각각의 사각형 공간은 서로에 대해 중첩되지 않는다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 각각의 사각형 공간에 상응하도록, 단순화되지 않은 주행 지도의 적어도 일부의 영역들을 구분할 수 있다. 이에 따라, 청소 영역이 특정될 수 있다. 다양한 실시예에서, 특정 사각형의 영역으로서, 다른 사각형의 영역과 개방되어 연결되는 부분은 돌출부가 위치할 것으로 예상되는 영역(제1 후보 영역)으로 식별될 수 있다. 다양한 실시예에서, 제1 후보 영역 중 적어도 일부에는 돌출부가 위치하고, 나머지 일부에는 돌출부가 위치하지 않을 수 있다. 제1 후보 영역은 장변의 길이에 기초하여 돌출부로 식별될 수 있다. 길이가 소정의 값 미만인 제1 후보 영역을 선택하고, 선택된 제1 후보 영역에는 돌출부가 위치하는 것으로 식별될 수 있다. 또한, 본 개시의 다양한 실시예에 따르면, 제1 후보 영역 중 적어도 일부에는 돌출부가 위치하고, 나머지 일부에는 돌출부가 위치하지 않을 수 있다. 제1 후보 영역은 장변의 길이에 기초하여 돌출부로 식별될 수 있다. 장변의 길이가 소정의 값 미만인 제1 후보 영역을 선택하고, 선택된 제1 후보 영역은 제2 후보 영역으로 식별될 수 있다. 로봇(100)은, 제2 후보 영역이 반영된 주행 지도를 사용자 단말로 전송할 수 있다. 사용자 단말은 사용자 입력에 기초하여, 하나 또는 둘 이상의 제2 후보 영역 중 일부에 돌출부가 위치하는 것으로 결정하고, 돌출부의 위치가 반영된 주행 지도를 로봇(100)으로 전송할 수 있다.
본 개시의 일 실시예에 따르면, 돌출부는 하드 돌출부, 소프트 돌출부를 포함한다. 하드 돌출부는 하드 플로어 재질을 갖는 돌출부(예를 들어, 문턱)을 말한다. 소프트 돌출부는 소프트 플로어 재질을 갖는 돌출부를 포함한다. 소프트 플로어 재질의 경우, 로봇(100)이 전진함에 따라 밀리는 현상을 야기할 수 있고, 이는 로봇(100)의 전진을 저해할 수 있다. 하드 플로어 재질의 경우, 로봇(100)이 전진함에 따른 밀림 현상은 야기하지 않으나 높이에 따라 승월하기 어렵다.
본 개시의 다양한 실시예에 따르면, 로봇(100)은 하드 돌출부의 위치에 기초하여 주행 지도를 복수의 청소 영역들로 분할할 수 있다. 소프트 돌출부의 위치는 청소 영역을 나누는 기준이 되지 않으며, 이에 따라 제1 유형 또는 제2 유형의 돌출부로 식별하는 동작(S330)에서의 확인 대상에서 제외(또는 무시)될 수 있다. 예를 들어, 로봇(100)은 문턱의 위치에 기초하여 주행 지도를 복수의 청소 영역들로 분할할 수 있다. 복수의 청소 영역들은 하드 돌출부의 위치에 기초하여 구획될 수 있다.
본 개시의 다양한 실시예에 적용되는 돌출부는 복수의 청소 영역들을 구분하기 위한 것으로서, 돌출부의 양 단이 주행 지도의 경계선과 접촉하여 폐공간을 형성하는 것을 의미한다. 참고로, 경계선은 청소 영역을 구분하기 이전에 집의 구조를 표현하기 위한 선으로서, 공간의 벽면을 말한다. 돌출부의 양 단 중 적어도 하나가 주행 지도의 경계선과 접촉하지 않는 경우(즉 폐공간으로서 청소 영역을 형성하지 않는 경우), 상기 돌출부는 복수의 청소 영역을 형성하는 동작에 이용될 수 없고, 나아가 제1 유형 또는 제2 유형의 돌출부로 식별하는 동작(S330)에서의 확인 대상에서 제외(또는 무시)될 수 있다.
한편, 본 개시의 다양한 실시예에 적용되는 청소 영역의 구획 방법은 이에 한정되는 것이 아니며, 청소 영역을 분할하거나, 돌출부의 위치를 식별하기 위해 다양한 수단이 이용될 수 있다.
본 개시의 다양한 실시예에 따른 제어 방법은 청소 영역들 중 로봇이 위치한 일 영역에 대한 청소의 진행도에 기초하여, 돌출부를 제1 유형 또는 제2 유형 중 어느 하나로 식별하는 동작을 포함할 수 있다(S330).
본 개시의 다양한 실시예에 따르면, 로봇(100)은 주행 지도의 전체 영역을 구분없이 주행하지 않고, 분할된 각각의 청소 영역들을 순차적으로 주행하며 청소 동작을 수행할 수 있다. 예를 들어, 주행 지도가 제1 청소 영역, 제2 청소 영역, 제3 청소 영역으로 분할된 경우, 로봇(100)은 제1 청소 영역을 소정의 주행 패턴으로 주행하며 청소 동작을 수행하고, 제1 청소 영역에 대한 청소 동작이 완료되면, 다음 우선 순위를 갖는 제2 청소 영역에 대한 청소 동작을 수행한다. 이때, 로봇(100)은 제1, 제2 청소 영역을 구분하는 돌출부를 통과하여 제1 청소 영역에서 제2 청소 영역으로 이동할 수 있다.
본 개시의 다양한 실시예에 따른 로봇(100)은 현재 로봇(100)이 위치한 일 청소 영역에 대한 청소의 진행도를 확인할 수 있다. 예를 들어, 주행 지도가 제1 청소 영역, 제2 청소 영역, 제3 청소 영역으로 분할되고, 로봇(100)이 제2 청소 영역에 위치한 경우를 가정하면, 로봇(100)은 제2 청소 영역을 소정의 주행 경로를 따라 주행하며 청소 동작을 수행할 것이다. 이때, 소정의 주행 경로는 길이 값으로 표현될 수 있으며, 로봇(100)은 상기 길이 값에 기초하여 로봇(100)이 제2 청소 영역에 대한 주행을 완료했는지 확인할 수 있다. 로봇(100)이 현재 위치한 청소 영역(위 가정에 따르면, 제2 청소 영역)에 대한 청소 동작을 완료하면, 청소의 진행도가 100%에 도달한 것으로 이해될 수 있다.
본 개시의 다양한 실시예에 따른 로봇(100)은, 청소의 진행도가 100%이면 돌출부(예를 들어, 하드 돌출부)를 제1 유형(예를 들어, 승월로)으로 식별하고, 청소의 진행도가 100% 미만이면 상기 돌출부를 제2 유형(예를 들어, 회피물, 장애물)으로 식별할 수 있다.
제1 유형은 경계를 나타내고, 제1 유형의 돌출부는 입구(또는 승월로)의 성질을 갖는 돌출부로 이해될 수 있다. 제2 유형은 장애물을 나타내고, 제2 유형의 돌출부는 장애물의 성질을 갖는 돌출부로 이해될 수 있다. 본 개시의 다양한 실시예에 따른 로봇(100)은, 청소의 진행도가 100%이면 제1 유형의 돌출부를 지나 다른 청소 영역으로 이동하고, 청소의 진행도가 100% 미만이면 청소의 진행도가 100%가 될 때까지 현재 위치한 청소 영역을 주행하며 청소 동작을 수행한다.
도 10은 제1 청소 영역(1020), 제2 청소 영역(1030)을 포함하고, 제1, 제2 청소 영역 사이(1020, 1030)에는 경계부(1040)가 위치한 주행 지도를 예시적으로 도시한다. 로봇(1010)이 현재 위치한 제1 청소 영역(1020)에서의 청소 동작을 마치지 않은 경우, 경계부(1040)는 제2 유형의 돌출부로 식별될 수 있다. 따라서, 로봇(1010)은 경계부(1040)를 승월하여 다른 청소 영역으로 주행하지 않고, 제1 청소 영역(1020)에 대한 청소 동작만을 수행할 수 있다.
도 11은 제1 청소 영역(1120), 제2 청소 영역(1130)을 포함하고, 제1, 제2 청소 영역 사이(1120, 1130)에는 경계부(1140)가 위치한 주행 지도를 예시적으로 도시한다. 로봇(1110)이 현재 위치한 제1 청소 영역(1120)에서의 청소 동작을 마친 경우, 경계부(1140)는 제1 유형의 돌출부로 식별될 수 있다. 따라서, 로봇(1110)은 경계부(1140)를 승월하여 다른 청소 영역으로 주행할 수 있다.
여기서, 현재 로봇이 위치한 청소 영역을 제외하고 로봇이 청소 동작을 수행하여야 할 잔여 청소 영역이 둘 이상인 경우라면, 경계부는 둘 이상 존재할 수 있다. 일 구현예에서, 둘 이상의 경계부는, 로봇이 다른 청소 영역으로 이동하는 동작을 수행하는 동안, 제1 유형의 돌출부로 식별될 수 있다. 다른 구현예에서, 둘 이상의 경계부 중 어느 하나는 로봇이 다른 청소 영역으로 이동하는 동작을 수행하는 동안 제1 유형의 돌출부로 식별될 수 있고, 나머지는 제2 유형의 돌출부로 식별될 수 있다. 여기서, 제1 유형의 돌출부는, 현재 로봇과 더 가까이 위치한 것으로 결정될 수 있다.
본 개시의 다양한 실시예에 따른 제어 방법은 돌출부에 관한 식별 결과에 기초하여, 제1 주행 패턴 또는 제2 주행 패턴으로 제어하는 동작을 포함할 수 있다(S340).
본 개시의 다양한 실시예에 따르면, 동작 S340은 돌출부가 제1 유형으로 식별되면, 제1 유형의 돌출부를 승월하는 제1 주행 패턴으로 제어하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예에 따르면, 돌출부가 제1 유형으로 식별되는 경우, 상기 돌출부는 현재 로봇이 위치한 청소 영역에서 다른 청소 영역으로 이동하기 위한 입구가 된다. 다만, 제1 유형의 돌출부는 그 높이로 인해 로봇이 쉽게 통과하기 어렵기 때문에, 로봇은 일반 주행 패턴과 구분되는 새로운 주행 패턴으로 이동한다. 본 개시의 다양한 실시예에 따르면, 로봇은 일반 주행 패턴과 구분되는 제1 주행 패턴으로 제1 유형의 돌출부를 승월할 수 있다. 제1 주행 패턴에 대해서는 이하에서 상세히 설명한다.
본 개시의 다양한 실시예에 따르면, 제1 주행 패턴은 전방으로 전진하여 제1 유형의 돌출부를 승월하는 동작을 포함할 수 있다. 본 개시의 다양한 실시예에 따르면, 로봇은 전방 승월을 위한 전진 이전에 스핀 모듈의 동작을 중지하도록 제어할 수 있다. 다양한 실시예에 따르면, 로봇은 전방 승월을 위한 전진 이전에 스핀 모듈이 팝아웃 상태로 돌출되어 있다면, 돌출된 스핀 모듈을 바디 내측으로 복귀 시킬 수 있다. 다양한 실시예에 따르면, 로봇은 전방 승월을 위한 전진 중 범퍼 센서로 인해 돌출부가 장애물로 인식되는 것을 방지하기 위하여, 범퍼 센서에 의한 감지 신호를 무시할 수 있다. 본 개시의 다양한 실시예에 따른 로봇은 경사 돌기가 스핀 모듈보다 전방에 형성되어 있으므로, 스핀 모듈과 제1 유형의 돌출부가 접촉하기 이전에, 경사 돌기에 의해 바디의 전방은 바닥으로부터 소정의 높이만큼 멀어지게 된다. 그 결과 스핀 모듈은 제1 유형의 돌출부와 접촉하지 않고, 로봇은 제1 유형의 돌출부를 무리 없이 승월할 수 있다.
본 개시의 다양한 실시예에 따르면, 제1 주행 패턴은 후방으로 후진하여 제1 유형의 돌출부를 승월하는 동작을 포함할 수 있다. 본 개시의 다양한 실시예에 따르면, 로봇은 후방 승월을 위한 후진 이전에 스핀 모듈의 동작을 중지하도록 제어할 수 있다. 다양한 실시예에 따르면, 로봇은 후방 승월을 위한 후진 이전에 스핀 모듈이 팝아웃 상태로 돌출되어 있다면, 돌출된 스핀 모듈을 바디 내측으로 복귀시킬 수 있다. 다양한 실시예에 따른 로봇은 바디의 후방에는 후방 슬로프 구조가 형성되어 있으므로, 스핀 모듈과 제1 유형의 돌출부가 접촉하기 이전에, 슬로프 구조에 의해 바디의 후방은 바닥으로부터 소정의 높이만큼 멀어지게 된다. 그 결과 스핀 모듈은 제1 유형의 돌출부와 접촉하지 않고, 로봇은 제1 유형의 돌출부를 무리 없이 승월할 수 있다.
또한, 본 개시의 다양한 실시예에 따른 제1 주행 패턴에서, 진동 모듈의 동작이 중단될 수 있다. 다시 말해, 진동 모듈이 비활성화될 수 있다. 제1 주행 패턴에 기초하여 전방 또는 후방으로 승월하는 동안, 스핀 모듈과 마찬가지로 진동 모듈의 동작은 승월 동작을 방해할 수 있기 때문이다. 정지된 진동 모듈은 제1 주행 패턴이 종결되고, 제2 주행 패턴으로 다시 주행하게 되면, 다시 동작하게 된다.
본 개시의 다양한 실시예에 따르면, 제1 주행 패턴은 제1 유형의 돌출부를 승월하는 동안 추락 방지 센서의 민감도를 조절하는 동작을 더 포함할 수 있다. 다시 말해, 로봇은 제1 주행 패턴으로 제1 유형의 돌출부를 승월하는 동안 추락 방지 센서의 민감도(sensitivity)를 조절할 수 있다. 전방 승월 또는 후방 승월을 수행하는 동안 로봇의 전방 또는 후방은 바닥으로부터 상당한 거리만큼 멀어지게 되고, 추락 방지 센서의 민감도를 조절하지 않을 시 로봇은 높이 단차가 존재하는 것으로 오인하여 현재 위치로부터 회피하는 동작을 수행할 수 있다. 이는 도 12를 참조하여 이해될 수 있다. 도 12를 참조하면, 로봇은 제1 유형의 돌출부를 승월하는 동안 바디가 바닥으로부터 소정의 거리(d)만큼 멀어지게 된다. 로봇은 바디가 바닥과 평행하다는 가정 하 현재 추락 위험이 있는 것으로 오감지할 수 있다. 이에, 로봇은 추락 방지 센서 및 상기 추락 방지 센서에 의해 발생된 센싱 값, 센싱 신호를 달리 처리할 필요가 있다.
이러한 승월 동작에서 추락 방지 센서의 오감지를 방지하기 위해, 로봇은 제1 주행 패턴으로 동작하는 동안 추락 방지 센서의 민감도를 낮출 수 있다. 민감도를 낮추는 방식은, 예를 들어, 로봇은 추락 방지 센서가 센싱 신호를 발생하기 위한 임계치를 더 높게 설정할 수 있고, 다른 예를 들어, 로봇은 추락 방지 센서에 의한 측정 값을 소정의 보정율을 적용하여 더 낮게 측정할 수도 있으나, 이에 한정되는 것은 아니다.
본 개시의 다양한 실시예에 따르면, 복수의 추락 방지 센서들이 구비된 경우, 로봇은 복수의 추락 방지 센서들 중 적어도 일부를 선택하여 민감도를 낮출 수도 있다. 본 개시의 다양한 실시예에 따르면, 로봇은 복수의 추락 방지 센서들 중 로봇의 진행 방향에 기초하여 적어도 일부를 선택하고, 선택된 추락 방지 센서의 민감도를 낮출 수 있다. 예를 들어, 전방 승월하는 경우, 로봇은 추락 방지 센서들 중 바디의 전방에 위치한 적어도 하나의 추락 방지 센서를 선택하여 민감도를 낮출 수 있다. 다른 예를 들어, 후방 승월하는 경우, 로봇은 추락 방지 센서들 중 바디의 후방에 위치한 적어도 하나의 추락 방지 센서를 선택하여 민감도를 낮출 수 있다.
한편, 로봇은 전술한 추락 방지 센서(들)의 민감도를 낮추는 동작 뿐만 아니라, 승월 동작이 수행되는 동안 추락 방지 센서를 비활성화하거나, 추락 방지 센서에 의해 발생되는 센싱 신호를 무시할 수도 있다.
본 개시의 다양한 실시예에 따르면, 제1 주행 패턴은 전방 승월 또는 후방 승월 이전에 제1 유형의 돌출부를 이미지 센서를 통해 촬상하는 동작을 더 포함할 수 있다. 본 개시의 다양한 실시예에 따른 로봇은 전방 또는 후방 중 적어도 하나에 이미지 센서를 구비할 수 있다. 이미지 센서는 시야각 내의 오브젝트를 촬상할 수 있다. 로봇은 촬상된 이미지를 통신부를 통해 사용자 단말로 전송할 수 있다. 사용자 단말은 수신된 이미지를 소정의 애플리케이션을 통해 디스플레이 상에 표시할 수 있다. 사용자는 사용자 단말의 디스플레이를 통해 제1 유형의 돌출부를 시각적으로 확인할 수 있다. 경우에 따라, 로봇의 오감지로 인해 제1 유형의 돌출부가 아님에도 제1 유형의 돌출부로 확인되어 사용자 단말로 연관된 이미지가 전송되었다면, 사용자는 사용자 단말을 조작하여 로봇으로 제어 명령을 전송할 수 있다. 이후, 로봇은 사용자 단말로부터 수신된 제어 명령에 상응하는 동작을 수행할 것이다.
본 개시의 다양한 실시예에 따르면, 제1 주행 패턴은 제1 유형의 돌출부를 승월하기 이전에 또는 승월하는 동안 범퍼 센서에 의해 발생된 센싱 신호를 무시할 수 있다. 다시 말해, 로봇은 제1 주행 패턴으로 제1 유형의 돌출부를 승월하는 동안 범퍼 센서에 의해 발생된 센싱 신호를 무시할 수 있다. 전방 승월 또는 후방 승월을 수행하는 동안 로봇은 제1 유형의 돌출부와 물리적으로 충돌하게 되며, 그 결과 경우에 따라 범퍼 센서가 구비된 방향에 장애물이 존재하는 것으로 감지될 수 있다. 제1 주행 패턴으로 동작하는 동안, 제1 유형의 돌출부는 장애물이 아니므로 이와 같은 감지 결과는 오감지로 볼 수 있다. 본 개시의 다양한 실시예에 따르면, 로봇은 범퍼 센서에 의해 발생된 센싱 신호를 무시하거나, 범퍼 센서의 민감도를 낮추어 승월 동작이 수행되는 동안 범퍼 센서로 인해 돌출부가 장애물로 잘못 인식되는 것을 방지할 수 있다. 이에 따라, 본 개시의 다양한 실시예에 따른 로봇은 전방 승월 또는 후방 승월하는 동안, 범퍼와 돌출부가 충돌하더라도 상기 충돌은 제1 주행 패턴에 기초한 승월 동작에 어떠한 영향도 미치지 않게 된다.
본 개시의 다양한 실시예에 따르면, 동작 S340은 돌출부가 제2 유형으로 식별되면, 제2 유형의 돌출부를 회피하는 제2 주행 패턴으로 제어하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예에 따르면, 돌출부가 제2 유형으로 식별되는 경우, 돌출부는 현재 로봇이 위치한 청소 영역에서 다른 청소 영역으로의 이동을 저지하기 위한 장애물이 된다. 본 개시의 다양한 실시예에 따른 로봇은 제2 유형의 돌출부를 통과하지 않도록 제2 유형의 돌출부를 장애물로 인식하고, 상기 제2 유형의 돌출부를 회피하는 주행 패턴으로 이동한다. 이러한 주행 패턴을 제2 주행 패턴이라고 한다. 제2 주행 패턴은 장애물을 회피하여 소정의 청소 영역을 주행하며 청소 동작을 수행하는 주행 패턴으로 이해될 수 있다. 로봇은 제2 주행 패턴에 기초하여 현재 위치한 청소 영역을 주행하며 청소 동작을 수행하고, 현재 위치한 청소 영역에 대한 청소 진행도가 100%에 도달하면, 돌출부를 제2 유형에서 제1 유형으로 변경하고, 제1 주행 패턴에 기초하여 제1 유형의 돌출부를 승월하도록 제어할 수 있다.
도 4는 본 개시의 다양한 실시예에 따른 로봇이 스턱 상태에서 벗어나기 위한 제어 방법의 흐름도이다.
도 4를 참조하면, 도 4의 도시된 동작들 중, S410, S420은 도 3의 S310, S320과 동일하여, 추가적인 설명은 생략하고, 새롭게 추가된 동작들을 중심으로 설명한다.
본 개시의 다양한 실시예에 따른 제어 방법은 청소 영역 중 어느 하나에 대한 청소 동작이 완료되면, 다른 청소 영역으로 이동하는 동작을 포함할 수 있다(S430).
본 개시의 다양한 실시예에 따른 로봇은, 청소의 진행도가 100%에 도달하면 현재 위치한 청소 영역에서 다른 청소 영역으로 이동할 수 있다. 또한, 로봇은 청소의 진행도가 100% 미만이면 현재 위치한 청소 영역의 나머지 주행 경로를 따라 주행하며 청소 동작을 수행할 수 있다.
한편, 본 개시의 다양한 실시예에 따르면, 다른 청소 영역으로 이동하는 동작은, 도 3을 통해 전술한 S340을 포함할 수 있다. 다시 말해, 다른 청소 영역으로 이동하기 위해, S430 또한, 돌출부에 대한 식별 결과에 기초하여 제1 주행 패턴 또는 제2 주행 패턴으로 제어하는 동작을 포함할 수 있다. 로봇은 제1 유형의 돌출부, 즉 입구의 경우, 재1 주행 패턴에 기초하여 제1 유형의 돌출부를 승월할 수 있다.
본 개시의 다양한 실시예에 따른 제어 방법은 다른 청소 영역으로 이동하는 경우, 센서부를 이용하여 돌출부로 인한 스턱 상태를 식별하는 동작을 포함할 수 있다(S440).
본 개시의 다양한 실시예에 따르면, 로봇은 스턱 상태를 식별하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 스턱 상태를 식별하기 위한 센서는 자이로 센서 또는 라이다 센서 중 적어도 하나를 포함할 수 있다.
본 개시의 다양한 실시예에 따르면, 휠 모듈이 회전하는 동안 로봇의 위치가 변경되는 것이 정상적인 상태인 반면, 스턱 상태에 해당하는 경우에 로봇의 휠 모듈이 회전하는 동안 위치가 변경되지 않는다. 즉, 본 개시의 다양한 실시예에 따른 로봇은, 휠 모듈이 회전하는 동안에 라이다 센서를 이용하여 로봇의 위치를 확인하고, 로봇의 위치 변화에 기초하여 스턱 상태를 식별할 수 있다.
또한, 본 개시의 다양한 실시예에 따르면, 로봇은 자이로 센서를 이용하여 로봇의 기울기를 확인할 수 있다. 자이로 센서에 의해 확인된 기울기가 소정의 시간 동안 변화가 없는 것으로 측정되거나, 측정된 변화가 임계 범위를 벗어나지 않는 것으로 확인된 경우, 로봇은 현재 스턱 상태일 수 있다. 즉, 본 개시의 다양한 실시예에 따른 로봇은, 자이로 센서를 이용하여 로봇의 기울기를 확인하고, 확인된 기울기, 보다 구체적으로는 기울기의 지속시간에 기초하여 스턱 상태를 식별할 수 있다.
본 개시의 다양한 실시예에 따른 제어 방법은 스턱 상태가 식별되면, 스턱 상태에서 벗어나기 위한 탈출 패턴으로 제어하는 동작을 포함할 수 있다(S450).
본 개시의 다양한 실시예에 따르면, 스턱 상태에서 벗어나기 위해 스핀 모듈 및/또는 팝아웃 모듈을 이용할 수 있다. 스턱 상태에서 벗어나기 위한 동작은 스핀 모듈이 발생시키는 바닥과의 마찰력에 기초하여 이루어진다.
본 개시의 다양한 실시예에 따르면, 스핀 모듈은 바디를 전방으로 이동시키려는 전방 이동 마찰력, 또는 바디를 후방으로 이동시키려는 후방 이동 마찰력을 발생시킬 수 있다. 스핀 모듈은 바디를 좌회전시키는 좌향 모멘트 마찰력, 바디를 우회전시키는 우향 모멘트 마찰력을 발생시킬 수 있다. 스핀 모듈은 전방 이동 마찰력, 후방 이동 마찰력 중 어느 하나, 좌향 모멘트 마찰력 및 우향 모멘트 마찰력 중 어느 하나를 조합한 마찰력을 발생시킬 수 있다. 전방 이동 마찰력을 발생시키기 위해서, 로봇은 상측에서 바라봤을 때 좌측 스핀 모듈을 시계방향으로 회전시키고, 우측 스핀 모듈을 반시계방향으로 회전시킬 수 있다. 후방 이동 마찰력을 발생시키기 위해서, 로봇은 상측에서 바라봤을 때 좌측 스핀 모듈을 반시계방향으로 회전시키고, 우측 스핀 모듈을 시계방향으로 회전시킬 수 있다. 우향 모멘트 마찰력을 발생시키기 위해서, 로봇은 상측에서 바라봤을 때 좌측 스핀 모듈을 시계방향으로 회전시키고, 우측 스핀 모듈을 시계방향으로 회전시키거나, 정지시키거나, 좌측 스핀 모듈보다 작은 RPM으로 반시계방향으로 회전시킬 수 있다. 좌향 모멘트 마찰력을 발생시키기 위해서, 로봇은 상측에서 바라봤을 때 우측 스핀 모듈을 반시계방향으로 회전시키고, 좌측 스핀 모듈을 반시계방향으로 회전시키거나, 정지시키거나, 우측 스핀 모듈보다 작은 RPM으로 시계방향으로 회전시킬 수 있다.
본 개시의 다양한 실시예에 따르면, 이처럼 스핀 모듈에 의해 발생되는 전방 이동 마찰력, 후방 이동 마찰력 중 어느 하나, 좌향 모멘트 마찰력 및 우향 모멘트 마찰력 중 어느 하나를 조합한 마찰력을 이용하여, 로봇은 스턱 상태에서 벗어날 수 있다. 한편, 본 개시의 다양한 실시예에 따른 탈출 패턴은 이하 명세서에서 도 5 및 도 6을 참조하여 설명한다.
도 5 및 도 6은 본 개시의 다양한 실시예에 따른 탈출 패턴의 흐름도이다.
도 5 및 도 6에서 도시된 동작들은, 도 4의 S450에서 언급된 탈출 패턴에 포함될 수 있다. 이하에서, 도 5를 참조하여 탈출 패턴의 일 예를 설명한다.
본 개시의 다양한 실시예에 따르면, 로봇은 바디의 기울기 측정을 위한 자이로 센서를 포함할 수 있다. 다양한 실시예에 따르면, 로봇은 자이로 센서를 이용하여 바디의 기울기를 측정할 수 있다. 로봇은, 예를 들어, 스턱 상태에서 좌측 또는 우측 중 어느 하나로 기울여진 상태일 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 바디의 기울기 측정을 위한 압력 센서를 포함할 수 있다. 다양한 실시예에 따르면, 로봇은 압력 센서를 이용하여 바디의 기울기를 측정할 수 있다. 압력 센서는 스핀 모듈에 포함될 수 있다. 로봇은, 예를 들어, 좌측 또는 우측 중 어느 하나로 기울여진 상태일 수 있으며, 이때 좌측 스핀 모듈 또는 우측 스핀 모듈 중 어느 하나는 바닥과 접촉할 수 있다. 좌측 스핀 모듈만 바닥과 접촉하고 있는 경우, 로봇은 좌측 스핀 모듈에 구비된 압력 센서를 통해 좌측에서의 센싱 신호를 확인하고, 바디가 좌측으로 기울어진 것으로 결정할 수 있다. 또한, 우측 스핀 모듈만 바닥과 접촉하고 있는 경우, 로봇은 우측 스핀 모듈에 구비된 압력 센서를 통해 우측에서 센싱 신호를 확인하고, 바디가 우측으로 기울어진 것으로 결정할 수 있다. 한편, 본 개시의 다양한 실시예에 따른 로봇은 기울기 측정을 위한 자이로 센서, 압력 센서 중 적어도 하나를 포함할 수 있으며, 둘 중 어느 하나를 갖는 것으로 한정되지 않는다.
본 개시의 다양한 실시예에 따른 로봇은 바디가 기울어진 방향에 기초하여 좌측 스핀 모듈 또는 우측 스핀 모듈 중 어느 하나를 선택할 수 있다(S510).
예를 들어, 바디가 좌측으로 기울어진 경우, 로봇은 좌측 스핀 모듈을 선택할 수 있다. 다른 예를 들어, 바디가 우측으로 기울어진 경우, 로봇은 우측 스핀 모듈을 선택할 수 있다. 본 개시의 다양한 실시예에 따르면, 로봇은 선택된 좌측 스핀 모듈 또는 우측 스핀 모듈 중 어느 하나를 회전시킬 수 있다. 예를 들어, 바디가 좌측으로 기울어진 경우, 로봇은 좌측 스핀 모듈을 선택하여 회전시킬 수 있다. 다른 예를 들어, 바디가 우측으로 기울어진 경우, 로봇은 우측 스핀 모듈을 선택하여 회전시킬 수 있다. 기울어진 방향에 위치하는 스핀 모듈은 바닥과 더욱 강하게 접촉하고 있을 수 있다. 본 개시의 다양한 실시예에 따른 로봇은 다른 스핀 모듈보다 바닥과 더욱 강하게 접촉하고 있는 스핀 모듈을 회전시킴으로써 더욱 강한 마찰력을 발생시킬 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 승월 방향에 기초하여 선택된 좌측 스핀 모듈 또는 우측 스핀 모듈의 회전 방향을 결정할 수 있다(S520). 또한, 본 개시의 다양한 실시예에 따르면, 로봇은 결정된 회전 방향으로 선택된 좌측 스핀 모듈 또는 우측 스핀 모듈을 회전시킬 수 있다(S530).
본 개시의 다양한 실시예에 따르면, 전방 승월 중 스턱 상태가 식별된 경우, 로봇은 전방으로 이동하여 스턱 상태에서 벗어나는 것이 바람직하다. 전방 승월 중 스턱 상태가 식별되고 바디가 좌측으로 기울어진 경우, 로봇은 전방 이동 마찰력을 발생시키기 위해 상측에서 바라봤을 때 좌측 스핀 모듈을 시계방향으로 회전시킬 수 있다. 전방 승월 중 스턱 상태가 식별되고 바디가 우측으로 기울어진 경우, 로봇은 전방 이동 마찰력을 발생시키기 위해 상측에서 바라봤을 때 우측 스핀 모듈을 반시계방향으로 회전시킬 수 있다.
본 개시의 다양한 실시예에 따르면, 후방 승월 중 스턱 상태가 식별된 경우, 로봇은 후방으로 이동하여 스턱 상태에서 벗어나는 것이 바람직하다. 후방 승월 중 스턱 상태가 식별되고 바디가 좌측으로 기울어진 경우, 로봇은 후방 이동 마찰력을 발생시키기 위해 상측에서 바라봤을 때 좌측 스핀 모듈을 반시계방향으로 회전시킬 수 있다. 후방 승월 중 스턱 상태가 식별되고 바디가 우측으로 기울어진 경우, 로봇은 후방 이동 마찰력을 발생시키기 위해 상측에서 바라봤을 때 우측 스핀 모듈을 시계방향으로 회전시킬 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 센서부를 이용하여 돌출부로 인한 스턱 상태를 다시 식별할 수 있다(S540). 또한, 본 개시의 다양한 실시예에 따르면, 기울기 방향에 기초하여 선택된 스핀 모듈을 소정의 조건에 따라 회전시키고 스턱 상태에서 벗어나지 못한 경우, 로봇은 다른 스핀 모듈을 회전시킬 수 있다(S550).
본 개시의 일 실시예에 따르면, 스턱 상태에서 벗어난 경우, 로봇은 탈출 패턴을 중지하고 새롭게 위치하게 된 청소 영역을 주행할 수 있다. 스턱 상태에서 벗어나지 못한 경우, 로봇은 탈출 패턴에 포함된 추가 동작을 수행할 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 바디의 기울기에 기초하여 좌측 스핀 모듈 또는 우측 스핀 모듈 중 어느 하나를 선택하고, 선택된 스핀 모듈을 회전시킬 수 있다. 또한, 본 개시의 다양한 실시예에 따르면, 로봇은 선택된 스핀 모듈의 회전에 의한 바디의 기울기 변화를 센서(예를 들어, 자이로 센서 또는 압력 센서 중 적어도 하나)를 통해 감지할 수 있다. 다양한 실시예에 따르면, 로봇은 선택된 스핀 모듈이 회전하는 동안, 또는 소정의 시간동안 회전한 이후에 바디의 기울기 변화를 센서를 통해 확인할 수 있다. 바디의 기울기 변화가 소정의 값 이상으로 확인되면, 로봇은 최초 설정된 소정의 시간이 경과한 이후에도 선택된 스핀 모듈의 회전을 다시 소정의 시간동안 지속할 수 있다. 스핀 모듈의 회전은 로봇의 기울기가 수평으로 감지되거나, 로봇이 이동하고 있는 것으로 감지될 때까지 지속될 수 있다.
본 개시의 다양한 실시예에 따르면, 로봇은 선택된 스핀 모듈을 소중의 시간동안 회전하였음에도 불구하고 기울어진 상태가 유지되는 경우, 선택된 스핀 모듈 외의 나머지 스핀 모듈을 회전시킬 수 있다. 이때, 나머지 스핀 모듈이 회전하는 방향은 승월 방향에 기초하여 결정될 수 있다. 전방 승월 중 스턱 상태가 식별된 경우, 로봇은 전방 이동 마찰력을 발생시키기 위해서, 나머지 스핀 모듈을 상기의 미리 선택된 스핀 모듈과 반대방향으로 회전시킬 수 있다. 후방 승월 중 스턱 상태가 식별된 경우, 로봇은 후방 이동 마찰력을 발생시키기 위해서, 나머지 스핀 모듈을 상기의 미리 선택된 스핀 모듈과 반대방향으로 회전시킬 수 즉, 선택된 스핀 모듈을 회전하여 스턱 상태에서 벗어나지 못한 경우, 로봇은 좌측 스핀 모듈과 우측 스핀 모듈을 서로 다른 방향으로 회전시킴으로써, 스턱 상태에서 벗어나는 것을 시도할 수 있다.
본 개시의 다양한 실시예에 따르면, 다른 스핀 모듈의 회전 동작은, 좌측 스핀 모듈 및 우측 스핀 모듈에 의한 회전 동작의 조합으로 이루어질 수도 있다. 일 구현예에 따르면, 로봇은 일 스핀 모듈, 다른 스핀 모듈의 순서로 상기 스핀 모듈들이 순차적으로 회전하도록 제어할 수 있다. 다른 구현예에 따르면, 로봇은 일 스핀 모듈, 다른 스핀 모듈, 전체 스핀 모듈 순서로 상기 스핀 모듈들이 순차적으로 회전하도록 제어할 수 있다. 또 다른 구현예에 따르면, 로봇은 일 스핀 모듈, 전체 스핀 모듈 순서로 상기 스핀 모듈들이 순차적으로 회전하도록 제어할 수 있다. 일 스핀 모듈, 다른 스핀 모듈, 전체 스핀 모듈이 각각 회전하는 시간은 소정의 시간으로 미리 설정될 수 있다.
이하에서, 도 6를 참조하여 탈출 패턴의 다른 예를 설명한다.
도 6의 도시된 동작들 중, S610, S620, S630, S640, S650은 도 5의 S510, S520, S530, S540, S550과 동일하여, 추가적인 설명은 생략하고, 새롭게 추가된 S660, S670을 중심으로 설명한다.
도 6을 참조하면, 본 개시의 다양한 실시예에 따른 로봇은 센서부를 이용하여 돌출부로 인한 스턱 상태를 또 다시 식별할 수 있다(S660).
S660에서, 로봇은 S640에서와 같이, 선택된 스핀 모듈이 회전하는 동안, 또는 소정의 시간동안 회전한 이후에 바디의 기울기 변화를 센서를 통해 확인할 수 있다. 바디의 기울기 변화가 소정의 값 이상으로 확인되면, 로봇은 최초 설정된 소정의 시간이 경과한 이후에도 선택된 스핀 모듈의 회전을 다시 소정의 시간동안 지속할 수 있다. 스핀 모듈의 회전은 로봇의 기울기가 수평으로 감지되거나, 로봇이 이동하고 있는 것으로 감지될 때까지 지속될 수 있다.
본 개시의 다양한 실시예에 따르면, 소정의 시간동안 스핀 모듈을 회전시켰음에도 불구하고, 바디의 기울기 변화가 감지되지 않거나, 감지된 기울기 변화가 임계치 미만인 경우, 로봇은 승월 방향과 반대 방향으로 이동할 수 있다(S670).
전방 승월의 경우, 로봇은 후방으로 이동할 수 있다. 후방 승월의 경우, 로봇은 전방으로 이동할 수 있다. 즉, 로봇은 승월을 위해 이동하던 방향과 반대 방향으로 이동할 수 있다. 전술한 S610 내지 S650에도 불구하고, 스턱 상태에서 벗어나지 못한 경우, 로봇은 돌출부에 대한 승월을 포기하고, 다시 원위치로 복귀하는 것이다. 승월을 실패한 돌출부는, 이후 장애물로 그 유형이 변경되어 반복된 승월 시도를 방지할 수 있다.
한편, 본 개시의 다양한 실시예에 따르면, 스턱 상태에서 벗어나기 위해, 팝아웃 모듈을 이용할 수도 있다. 팝아웃 모듈을 이용한 제어 동작은, 도 6에서 도시되는 탈출 패턴에 포함되는 것으로 한정되지 않으며, 도 4 및 도 5의 탈출 패턴에도 포함될 수 있다. 다양한 실시예에 따르면, 스턱 상태에서 벗어나기 위한 스핀 모듈의 회전 이전에, 또는 스핀 모듈이 회전하는 동안에, 로봇은 팝아웃 모듈을 이용하여 스핀 모듈을 바디 외측으로 돌출시킬 수 있다. 스핀 모듈이 외부로 돌출됨에 따라, 스핀 모듈 및 해당 돌출된 스핀 모듈과 접촉하는 바닥 간의 압력이 더 커지게 된다. 그리고, 압력의 증가는 스핀 모듈과 바닥 간의 마찰력의 증가를 야기한다. 이처럼, 로봇은 팝아웃 모듈을 이용하여 스핀 모듈과 바닥 사이의 마찰력을 증가시킴으로써 보다 쉽게 스턱 상태에서 벗어날 수 있다.
또한, 본 개시의 다양한 실시예에 따르면, 스턱 상태에서 벗어나기 위해, 진동 모듈을 이용할 수도 있다. 진동 모듈을 이용한 제어 동작은, 도 6에서 도시된 탈출 패턴에 포함되는 것으로 한정되지 않으며, 도 4 및 도 5의 탈출 패턴에도 포함될 수 있다. 다양한 실시예에 따르면, 스턱 상태에서 벗어나기 위한 스핀 모듈의 회전 이전에, 또는 상기 스핀 모듈이 회전하는 동안에, 로봇은 진동 모듈을 동작시켜 바디의 후방에 진동을 유발할 수 있다. 이처럼, 바디 후방에서 야기되는 진동은 스핀 모듈이 바닥과 불규칙적인 압력으로 접촉하게 하며, 불규칙적인 압력은 스턱 상태를 보다 쉽게 벗어날 수 있게 할 수 있다.
도 7 내지 도 9는 주행 지도의 생성을 위한 사용자 단말의 애플리케이션 실행화면을 예시적으로 도시한 참고도이다.
애플리케이션 실행화면(700, 800, 900)은 주행 지도의 전체 영역을 포함할 수 있다. 도 7에 도시된 바를 참조하면, 애플리케이션 실행화면(700)에 포함된 주행 지도의 전체 영역은 복수의 청소 영역들(710a, 710b, 710c, 710d, 710e)로 분할된 상태로 표시될 수 있다. 예를 들어, 주행 지도의 전체 영역은, 드레스룸(제1 청소 영역, 710a), 서재(제2 청소 영역, 710c), 복도(제3 청소 영역, 710b), 주방(제4 청소 영역, 710d), 거실(제5 청소 영역, 710e)로 구분될 수 있다. 복수의 청소 영역들은 복수의 경계부에 의해 영역이 구분될 수 있다. 경계부들 중 적어도 일부는 돌출부(예를 들어, 문턱)일 수 있다.
한편, 청소 영역들 사이의 경계부라 하더라도, 상기 경계부 중 적어도 일부는 돌출부로 식별되지 않을 수도 있다. 경계부의 길이에 기초하여, 경계부 중 적어도 일부는 돌출부로 식별되고, 나머지 일부는 돌출부가 아닌 것으로 식별될 수 있다. 길이 값이 소정의 값 이상인 경계부는 돌출부가 아닌 것으로 식별되고, 소정의 값 미만인 경계부는 돌출부인 것으로 식별될 수 있다.
예를 들어, 제1 청소 영역(710a)과 제3 청소 영역(710b) 사이의 제1 경계부, 제2 청소 영역(710c)과 제3 청소 영역(710b) 사이의 제2 경계부 중 적어도 하나는 돌출부일 수 있다. 제1 청소 영역(710a)과 제3 청소 영역(710b) 사이에 존재하는 경계부는 그 길이가 소정의 값 미만이며, 해당 경계부(710b)는 돌출부로 식별될 수 있다. 다른 예를 들어, 제4 청소 영역(710d)과 제5 청소 영역(710e) 사이에는 돌출부가 설정되지 않으며, 이는, 경계부의 길이가 소정의 값 이상이기 때문일 수 있다.
또한, 돌출부는 청소 영역들(710a, 710b, 710c, 710d, 710e)의 성질(또는 속성)에 기초하여 식별될 수도 있다. 청소 영역은 공간의 용도에 따라 다양하게 분류될 수 있다. 예를 들어, 청소 영역은, 드레스룸, 복도, 서재, 주방, 거실 등으로 분류될 수 있다. 청소 영역의 성질은, 이에 한정될 것은 아니나, 해당 공간에 존재하는 오브젝트의 위치 및/또는 종류에 기초하여 식별되거나, 애플리케이션에 대한 사용자 입력에 기초하여 설정될 수 있다. 예를 들어, 주방(예를 들어, 710d)과 거실(예를 들어, 710e) 사이에는 돌출부가 존재하지 않는 것으로 미리 설정될 수 있다. 다른 예를 들어, 주방(예를 들어, 710d)과 복도(예를 들어, 710b) 사이에는 돌출부가 존재하지 않는 것으로 미리 설정될 수 있다.
본 개시의 다양한 실시예에 따르면, 주행 지도 상에는 하나 이상의 경계부가 표시될 수 있다. 이러한 경계부는, 도 3의 S320에서 언급된, 후보 영역(예를 들어, 제1 후보 영역 또는 제2 후보 영역)으로 이해될 수 있다. 후보 영역(730a, 730b)은 하나 또는 둘 이상이 주행 지도 상에 포함될 수 있다. 사용자 단말은 애플리케이션 실행화면(700)에 대한 사용자 입력에 기초하여 후보 영역(730a, 730b)을 돌출부로 전환할 수 있다. 예를 들어, 후보 영역(730a, 730b)에 대한 사용자 입력이 수신되면, 사용자 단말은 입력이 수신된 위치의 후보 영역(730a, 730b)을 돌출부로 전환할 수 있다.
본 개시의 다양한 실시예에 따르면, 후보 영역(730a, 730b)은 사용자 입력에 기초하여 애플리케이션 실행화면(700) 상에 표현될 수 있다. 예를 들어, 아이콘(720)에 대한 사용자 입력이 수신되면, 사용자 단말은 주행 지도 상에 후보 영역(730a, 730b)을 표현할 수 있다.
도 8을 참조하면, 사용자 단말은 사용자 입력에 기초하여 새로운 돌출부(830)를 지정할 수 있다. 지정된 돌출부(830)는 주행 지도 상에 표현될 수 있다. 돌출부(830)의 지정은 사용자의 터치 스크린에 대한 터치 입력에 기초하여 이루어질 수 있다. 예를 들어, 사용자의 드래그 입력에 기초하여 돌출부(830)는 애플리케이션 실행화면(800) 상에 표현될 수 있다.
도 7에 도시된 애플리케이션 실행화면(700)을 통해 전환된 돌출부(730a) 및 도 8에 도시된 애플리케이션 실행화면(800)을 통해 지정된 돌출부(830)는, 도 9를 통해 도시된 애플리케이션 실행화면(900)과 같이 주행 지도 상에 표현될 수 있다. 도 9를 참조하면, 도 7에 도시된 애플리케이션 실행화면(700)에서, 사용자 입력에 기초하여 돌출부로 전환되지 않은 후보 영역(730b)은 표현되지 않고, 사용자 입력에 기초하여 전환된 후보 영역(730a)은 돌출부로 표현된다. 또한, 도 8에 도시된 애플리케이션 실행화면(800)에서, 사용자 입력에 기초하여 지정된 돌출부(830)가 함께 표현된다.
도 7의 애플리케이션 실행화면(700)을 제1 실행화면, 도 8의 애플리케이션 실행화면(800)을 제2 실행화면, 도 9의 애플리케이션 실행화면(900)을 제3 실행화면이라고 호칭할 때, 사용자 단말은 제1 실행화면을 통해 돌출부를 설정하고, 상기 설정을 완료하는 것에 응답하여 제2 실행화면을 디스플레이 상에 표시할 수 있다. 또한, 사용자 단말은 제2 실행화면을 통해 돌출부를 지정하고, 상기 지정을 완료하는 것에 응답하여 제3 실행화면을 디스플레이 상에 표시할 수 있다. 이때, 제1 실행화면과 제2 실행화면의 표시 순서는 서로에 대해 변경될 수 있다.
사용자 단말은 제3 실행화면을 로봇으로 전송할 수 있으며, 로봇은 수신된 제3 실행화면에 기초하여 도 3 내지 도 6을 참조하여 설명한 제어 방법을 수행할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 디스플레이 장치, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 문서에서 사용되는 '및/또는'이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다,' '가지다,' '구성되다' 등의 용어는 본 개시 상에 기재된 특징, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다.
본 문서의 다양한 실시예들에서 사용된 용어 "~부" 또는 "~모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. "~부" 또는 "~모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 다양한 실시예에 따르면, "~부" 또는 "~모듈"은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들에서 사용된 용어 “~할 경우”는 문맥에 따라 “~할 때”, 또는 “~할 시” 또는 “결정하는 것에 응답하여” 또는 “검출하는 것에 응답하여”를 의미하는 것으로 해석될 수 있다. 유사하게, “~라고 결정되는 경우” 또는 “~이 검출되는 경우”는 문맥에 따라 “결정 시” 또는 “결정하는 것에 응답하여”, 또는 “검출 시” 또는 “검출하는 것에 응답하여”를 의미하는 것으로 해석될 수 있다.
본 문서를 통해 설명된 로봇 또는 청소 로봇(100, 200)에 의해 실행되는 프로그램은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 명령어들을 수행할 수 있는 모든 시스템에 의해 수행될 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 저장 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(Read-Only Memory), RAM(Random-Access Memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 저장 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 컴퓨터 프로그램은 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 통합 이전에 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 로봇에 있어서,
    적어도 하나의 프로그램을 저장하는 메모리;
    상기 적어도 하나의 프로그램에 저장된 명령어를 실행시키는 프로세서;
    를 포함하고,
    상기 프로세서는,
    주행 지도를 하나 이상의 경계부에 기초하여 복수의 청소 영역들로 분할하고,
    상기 경계부 중 적어도 일부가 돌출부로 식별되면 상기 복수의 청소 영역들 중 상기 로봇이 위치하는 일 영역에 대한 청소의 진행도에 기초하여 상기 돌출부의 유형을 식별하고,
    상기 식별된 돌출부의 유형에 기초하여 복수의 주행 패턴들 중 어느 하나로 제어하는, 로봇.
  2. 제1항에 있어서,
    상기 로봇은, 거리 센서, 범퍼 센서를 더 포함하고,
    상기 프로세서는, 상기 거리 센서에 의한 측정 값을 이용하여 상기 주행 지도를 획득하고, 상기 범퍼 센서에 의한 측정 값을 이용하여 주행 지도를 갱신하는, 로봇.
  3. 제1항에 있어서,
    상기 로봇은, 통신부를 더 포함하고,
    상기 통신부를 통해 외부 장치로부터 상기 주행 지도를 수신하되,
    상기 주행 지도는, 상기 외부 장치에 저장된 애플리케이션에 의해 상기 돌출부가 추가되거나 제거된 것인, 로봇.
  4. 제1항에 있어서,
    상기 복수의 주행 패턴은, 상기 돌출부를 승월하는 제1 주행 패턴, 상기 돌출부를 회피하는 제2 주행 패턴을 포함하고,
    상기 프로세서는,
    상기 돌출부가 제1 유형으로 식별되면 상기 제1 주행 패턴으로 제어하고, 상기 돌출부가 제2 유형으로 식별되면 상기 제2 주행 패턴으로 제어하는, 로봇.
  5. 제4항에 있어서,
    상기 로봇은, 전방의 장애물을 감지하기 위한 범퍼 센서를 더 포함하고,
    상기 프로세서는,
    상기 제1 주행 패턴으로 제어하는 경우, 상기 범퍼 센서에 의해 발생된 센싱 신호를 무시하는, 로봇.
  6. 제4항에 있어서,
    상기 로봇은, 높이 단차를 감지하기 위한 추락 방지 센서를 더 포함하고,
    상기 프로세서는,
    상기 제1 주행 패턴으로 제어하는 경우, 상기 추락 방지 센서의 민감도를 낮추거나, 상기 추락 방지 센서를 비활성화하거나, 또는 추락 방지 센서에 의해 발생된 센싱 신호를 무시하는, 로봇.
  7. 제4항에 있어서,
    상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈을 더 포함하고,
    상기 스핀 모듈은 하측에 걸레가 접착 가능한 접착부를 갖고, 상기 걸레가 접착된 상태에서 상기 바디를 지지하고,
    상기 프로세서는,
    상기 제1 주행 패턴으로 제어하는 경우, 상기 스핀 모듈의 회전을 중지시키고,
    상기 제2 주행 패턴으로 제어하는 경우, 상기 스핀 모듈을 회전시키는, 로봇.
  8. 제7항에 있어서,
    상기 로봇은, 상기 스핀 모듈과 연결된 팝아웃 모듈을 더 포함하고,
    상기 프로세서는,
    상기 제1 주행 패턴으로 제어하는 경우, 상기 팝아웃 모듈에 의해 상기 스핀 모듈이 상기 바디 외측에 돌출되어 있다면 상기 돌출된 스핀 모듈을 상기 바디 내측으로 이동시키는, 로봇.
  9. 제4항에 있어서,
    상기 로봇은, 바디 및 상기 바디 하측에 마련된 진동 모듈을 더 포함하고,
    상기 진동 모듈은 하측에 걸레가 접착 가능한 접착부를 갖고,
    상기 프로세서는,
    상기 제1 주행 패턴으로 제어하는 경우, 상기 진동 모듈의 진동을 중지시키고,
    상기 제2 주행 패턴으로 제어하는 경우, 상기 진동 모듈을 진동시키는, 로봇.
  10. 제4항에 있어서,
    상기 로봇은 바디를 포함하고, 상기 바디는 전방에 경사 돌기를 포함하고,
    상기 제1 주행 패턴은 상기 바디의 전방으로 승월하는 동작을 포함하는, 로봇.
  11. 제4항에 있어서,
    상기 로봇은 바디를 포함하고, 상기 바디는 후방 슬로프 구조를 포함하고,
    상기 제1 주행 패턴은 상기 바디의 후방으로 승월하는 동작을 포함하는, 로봇.
  12. 제1항에 있어서,
    상기 프로세서는,
    상기 진행도가 100% 이면, 상기 돌출부를 제1 유형으로 식별하고, 상기 진행도가 100% 미만이면, 상기 돌출부를 제2 유형으로 식별하고,
    상기 돌출부가 상기 제1 유형으로 식별되면 제1 주행 패턴으로 제어하고, 상기 돌출부가 상기 제2 유형으로 식별되면 상기 제1 주행 패턴과 다른 제2 주행 패턴으로 제어하는, 로봇.
  13. 제1항에 있어서,
    상기 로봇은 거리 센서 또는 자이로 센서를 더 포함하고,
    상기 프로세서는,
    상기 거리 센서 또는 상기 자이로 센서를 이용하여 스턱 상태를 식별하고,
    상기 스턱 상태가 식별되면, 상기 스턱 상태에서 벗어나기 위한 탈출 패턴으로 제어하는, 로봇.
  14. 제13항에 있어서,
    상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈을 더 포함하고,
    상기 스핀 모듈은 좌측 스핀 모듈, 우측 스핀 모듈을 포함하고,
    상기 프로세서는,
    상기 탈출 패턴으로 제어하는 경우,
    상기 좌측 스핀 모듈 및 상기 우측 스핀 모듈을 회전시켜, 전방 이동 마찰력, 후방 이동 마찰력 중 어느 하나, 좌향 모멘트 마찰력 및 우향 모멘트 마찰력 중 어느 하나를 조합한 마찰력을 발생시켜 상기 스턱 상태로부터 벗어나도록 제어하는, 로봇.
  15. 제13항에 있어서,
    상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈을 더 포함하고,
    상기 스핀 모듈은 좌측 스핀 모듈, 우측 스핀 모듈을 포함하고,
    상기 프로세서는,
    상기 탈출 패턴으로 제어하는 경우,
    상기 자이로 센서를 이용하여 상기 바디의 기울임을 확인하고, 상기 좌측 스핀 모듈 또는 상기 우측 스핀 모듈 중 상기 바디가 기울어진 방향에 위치한 스핀 모듈을 선택하고, 상기 선택된 스핀 모듈을 회전시키는, 로봇.
  16. 제15항에 있어서,
    상기 프로세서는,
    상기 탈출 패턴으로 제어하는 경우로서, 상기 선택된 스핀 모듈을 회전시켜 상기 스턱 상태로부터 벗어나지 못하면, 다른 스핀 모듈도 회전시키는, 로봇.
  17. 제13항에 있어서,
    상기 로봇은, 바디 및 상기 바디 하측에 마련된 스핀 모듈, 상기 스핀 모듈과 연결된 팝아웃 모듈을 더 포함하고,
    상기 프로세서는,
    상기 탈출 패턴으로 제어하는 경우,
    상기 스핀 모듈을 상기 바디 외측으로 돌출시키는, 로봇.
  18. 로봇의 제어 방법에 있어서,
    주행 지도를 하나 이상의 경계부에 기초하여 복수의 청소 영역들로 분할하는 동작;
    상기 경계부 중 적어도 일부가 돌출부로 식별되면 상기 복수의 청소 영역들 중 상기 로봇이 위치하는 일 영역에 대한 청소의 진행도에 기초하여 상기 돌출부의 유형을 식별하는 동작; 및
    상기 식별된 돌출부의 유형에 기초하여 복수의 주행 패턴들 중 어느 하나로 제어하는 동작;
    을 포함하는, 방법.
  19. 제18항에 있어서,
    상기 복수의 주행 패턴은, 상기 돌출부를 승월하는 제1 주행 패턴, 상기 돌출부를 회피하는 제2 주행 패턴을 포함하고,
    상기 제어하는 동작은,
    상기 돌출부가 제1 유형으로 식별되면 제1 주행 패턴으로 제어하는 동작, 상기 돌출부가 제2 유형으로 식별되면 상기 제2 주행 패턴으로 제어하는 동작을 포함하는, 방법.
  20. 제19항에 있어서,
    상기 로봇은, 전방의 장애물을 감지하기 위한 범퍼 센서를 더 포함하고,
    상기 방법은, 상기 제1 주행 패턴에 기초하여 상기 돌출부를 승월하도록 제어하는 경우, 상기 범퍼 센서에 의해 발생된 센싱 신호를 무시하는 동작을 포함하는, 방법.
KR1020220008606A 2022-01-20 2022-01-20 이동 로봇 및 그 제어 방법 KR20230112391A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220008606A KR20230112391A (ko) 2022-01-20 2022-01-20 이동 로봇 및 그 제어 방법
PCT/KR2022/018436 WO2023140481A1 (ko) 2022-01-20 2022-11-21 이동 로봇 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220008606A KR20230112391A (ko) 2022-01-20 2022-01-20 이동 로봇 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230112391A true KR20230112391A (ko) 2023-07-27

Family

ID=87348911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220008606A KR20230112391A (ko) 2022-01-20 2022-01-20 이동 로봇 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230112391A (ko)
WO (1) WO2023140481A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101123185B1 (ko) * 2009-03-18 2012-03-19 에이스전자(주) 로봇청소기
KR101641242B1 (ko) * 2010-01-20 2016-07-20 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR102376150B1 (ko) * 2015-03-05 2022-03-21 삼성전자주식회사 청소 로봇 및 그 제어 방법
KR20210028426A (ko) * 2019-09-04 2021-03-12 엘지전자 주식회사 로봇 청소기 및 그 제어방법
KR20210100518A (ko) * 2020-02-06 2021-08-17 엘지전자 주식회사 로봇 청소기 및 그 제어 방법

Also Published As

Publication number Publication date
WO2023140481A1 (ko) 2023-07-27

Similar Documents

Publication Publication Date Title
US11132000B2 (en) Robot with automatic styles
EP2677386B1 (en) Robot cleaner and obstacle detection control method of the same
US11389040B2 (en) Cleaning mode control method and cleaning robot
KR102527645B1 (ko) 청소 로봇 및 그 제어 방법
US20220022717A1 (en) Cleaning control method and device, cleaning robot and storage medium
KR102427836B1 (ko) 로봇 청소기, 정보 제공 시스템 및 정보 제공 방법
KR102321278B1 (ko) 로봇 청소기 및 로봇 청소기 제어 방법
EP3820343A1 (en) Mobile robot cleaning system
US8788133B2 (en) Cleaning robot and control method thereof
US10463217B1 (en) Cleaning of pet areas by autonomous cleaning robots
KR101752190B1 (ko) 로봇청소기 및 그 제어방법
US10555655B2 (en) Robot cleaner and method for controlling the same
WO2016057181A1 (en) Mobile robot area cleaning
EP3138458A1 (en) Robotic vacuum cleaner and control method therefor
US11986138B2 (en) Robot cleaner and method for controlling same
US11191407B2 (en) Cleaning of pet areas by autonomous cleaning robots
CN110989630A (zh) 自移动机器人控制方法、装置、自移动机器人和存储介质
KR20220029824A (ko) 청소 로봇 및 그 제어 방법
EP3795051B1 (en) Cleaner and method for controlling same
EP3895593A1 (en) Robot cleaner and method for operating same
KR20230112391A (ko) 이동 로봇 및 그 제어 방법
US11986137B2 (en) Mobile robot
KR20220021980A (ko) 청소 로봇 및 그 제어 방법
CN112987716A (zh) 作业控制方法、装置、系统及机器人
KR102302198B1 (ko) 청소 장치 및 그 제어 방법