KR102366796B1 - 이동 로봇 시스템 및 그 제어 방법 - Google Patents

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

Info

Publication number
KR102366796B1
KR102366796B1 KR1020170117505A KR20170117505A KR102366796B1 KR 102366796 B1 KR102366796 B1 KR 102366796B1 KR 1020170117505 A KR1020170117505 A KR 1020170117505A KR 20170117505 A KR20170117505 A KR 20170117505A KR 102366796 B1 KR102366796 B1 KR 102366796B1
Authority
KR
South Korea
Prior art keywords
transceiver
robot
terminal
mobile robot
user terminal
Prior art date
Application number
KR1020170117505A
Other languages
English (en)
Other versions
KR20190030281A (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 KR1020170117505A priority Critical patent/KR102366796B1/ko
Priority to PCT/KR2018/010127 priority patent/WO2019054676A1/ko
Priority to US16/647,846 priority patent/US11465275B2/en
Publication of KR20190030281A publication Critical patent/KR20190030281A/ko
Application granted granted Critical
Publication of KR102366796B1 publication Critical patent/KR102366796B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2857User input or output elements for control, e.g. buttons, switches or displays
    • 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/4063Driving means; Transmission means therefor
    • A47L11/4069Driving or transmission means for the cleaning tools
    • 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/02Nozzles
    • A47L9/04Nozzles with driven brushes or agitators
    • A47L9/0461Dust-loosening tools, e.g. agitators, brushes
    • A47L9/0466Rotating tools
    • A47L9/0477Rolls
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2894Details related to signal transmission in suction cleaners
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0016Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the operator's input device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0022Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the communication link
    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0033Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by having the operator tracking the vehicle either by direct line of sight or via one or more cameras located remotely from the vehicle
    • 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/02Docking stations; Docking operations
    • A47L2201/022Recharging of batteries
    • 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)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

이동 로봇은 사용자 장치에 의하여 지시된 목표 위치로 이동하는 이동 로봇에 있어서, 상기 이동 로봇을 이동시키는 구동부; 상기 사용자 장치에 포함된 제1 단말 송수신기와 제2 단말 송수신기 각각과 무선 신호를 주고 받는 통신부; 및 상기 제1 단말 송수신기와의 무선 신호의 송수신과 상기 제2 단말 송수신기와의 무선 신호의 송수신 이후 상기 목표 위치로 이동하도록 상기 구동부를 제어하는 제어부를 포함할 수 있다.

Description

이동 로봇 시스템 및 그 제어 방법{MOBILE ROBOT, CONTROLLING METHOD OF MOBILE ROBOT AND MOBILE ROBOT SYSTEM}
개시된 발명은 이동 로봇, 이동 로봇의 제어 방법 및 이동 로봇 시스템에 관한 것으로써, 더욱 상세하게는 이동 로봇과 이동 로봇의 이동을 제어하는 사용자 단말을 포함하는 이동 로봇, 이동 로봇의 제어 방법 및 이동 로봇 시스템에 관한 발명이다.
일반적으로 이동 로봇은 사용자의 조작 없이 청소 공간을 주행하면서 특정한 작업을 수행하는 장치이다. 예를 들어, 이동 로봇은 바닥에 쌓인 먼지 등의 이물질을 흡입함으로써 청소 공간을 자동으로 청소하는 장치이다. 다시 말해, 이동 로봇은 청소 공간을 주행하며 청소 공간을 청소할 수 있다.
종래 이동 로봇은 사용자가 청소 공간 가운데 특정 위치를 먼저 청소하기를 원하는 경우 사용자가 직접 이동 로봇의 위치를 확인하고 리모트 컨트롤러를 이용하여 이동 로봇을 특정 위치로 이동시켜야 했다.
그러나, 사용자가 이동 로봇의 위치를 알지 못하는 경우에는 사용자가 이동 로봇을 찾아야만 했고, 사용자가 이동 로봇을 찾기 어려움이 있었다.
또한, 이동 로봇을 특정 위치를 이동시키기 위하여 리모트 컨트롤러를 이용하여 사용자가 이동 로봇의 주행을 조작하여야 하는 불편함이 있었다.
관련 선행기술로는 특허문헌 1(KR 10-0565227 B1)이 있다.
개시된 발명의 일 측면은 이동 로봇이 사용자 단말의 위치를 감지할 수 있는 이동 로봇, 이동 로봇의 제어 방법 및 이동 로봇 시스템을 제공하고자 한다.
개시된 발명의 다른 일 측면은 이동 로봇이 사용자 단말이 지시하는 방향을 감지할 수 있는 이동 로봇, 이동 로봇의 제어 방법 및 이동 로봇 시스템을 제공하고자 한다.
개시된 발명의 일 측면에 따른 이동 로봇은 사용자 장치에 의하여 지시된 목표 위치로 이동하는 이동 로봇에 있어서, 상기 이동 로봇을 이동시키는 구동부; 상기 사용자 장치에 포함된 제1 단말 송수신기와 제2 단말 송수신기 각각과 무선 신호를 주고 받는 통신부; 및 상기 제1 단말 송수신기와의 무선 신호의 송수신과 상기 제2 단말 송수신기와의 무선 신호의 송수신 이후 상기 목표 위치로 이동하도록 상기 구동부를 제어하는 제어부를 포함할 수 있다.
상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 목표 위치를 판단하고, 상기 목표 위치로 이동하도록 상기 구동부를 제어할 수 있다.
상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하고, 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 기초로 상기 목표 위치를 판단할 수 있다.
상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하고, 상기 제1 단말 송수신기의 위치와 상기 제2 단말 송수신기의 위치를 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단할 수 있다.
상기 통신부는 제1 로봇 송수신기, 제2 로봇 송수신기 및 제3 로봇 송수신기를 포함하고, 상기 제어부는 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단할 수 있다
상기 통신부는 제1 로봇 송수신기를 포함하고, 상기 제어부는 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단할 수 있다.
상기 통신부는 제1 로봇 송수신기, 제2 로봇 송수신기 및 제3 로봇 송수신기를 포함하고, 상기 제어부는 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단할 수 있다.
상기 통신부는 제1 로봇 송수신기를 포함하고, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제어부는 상기 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단할 수 있다.
개시된 발명의 일 측면에 따른 이동 로봇의 제어 방법은, 사용자 단말에 의하여 지시된 상기 목표 위치로 이동 로봇을 이동시키는 이동 로봇의 제어 방법에 있어서, 상기 사용자 장치에 포함된 제1 단말 송수신기와 제2 단말 송수신기 각각과 무선 신호를 주고 받고; 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 목표 위치를 판단하고; 상기 이동 로봇을 상기 목표 위치로 이동시키는 것을 포함할 수 있다.
상기 목표 위치를 판단하는 것은, 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하고; 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 기초로 상기 목표 위치를 판단하는 것을 포함할 수 있다.
상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하는 것은, 상기 제1 단말 송수신기의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고; 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하고; 상기 제1 단말 송수신기의 위치와 상기 제2 단말 송수신기의 위치를 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하는 것을 포함할 수 있다.
상기 제1 단말 송수신기의 위치를 판단하는 것은, 상기 이동 로봇에 포함된 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하는 것을 포함하고, 상기 제2 단말 송수신기의 위치를 판단하는 것은, 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하는 것을 포함할 수 있다.
상기 제1 단말 송수신기의 위치를 판단하는 것은, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 이동 로봇에 포함된 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하는 것을 포함하고, 상기 제2 단말 송수신기의 위치를 판단하는 것은, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하는 것을 포함할 수 있다.
상기 목표 위치를 판단하는 것은, 상기 이동 로봇에 포함된 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 것을 포함할 수 있다.
상기 목표 위치를 판단하는 것은, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 이동 로봇에 포함된 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 것을 포함할 수 있다.
개시된 발명의 일 측면에 따른 이동 로봇 시스템은 목표 위치를 지시하고, 상기 목표 위치를 향하여 일렬로 배치된 제1 단말 송수신기와 제2 단말 송수신기를 포함하는 사용자 단말; 및 상기 목표 위치를 향하여 이동하는 이동 로봇을 포함하고, 상기 이동 로봇은, 상기 이동 로봇을 이동시키는 구동부; 상기 제1 단말 송수신기와 상기 제2 단말 송수신기 각각과 무선 신호를 주고 받는 통신부; 및 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 목표 위치를 판단하고, 상기 목표 위치로 이동하도록 상기 구동부를 제어하는 제어부를 포함할 수 있다.
개시된 발명의 일 측면에 따르면, 이동 로봇이 사용자 단말의 위치를 감지할 수 있는 이동 로봇, 이동 로봇의 제어 방법 및 이동 로봇 시스템을 제공할 수 있다.
개시된 발명의 다른 일 측면에 따르면, 이동 로봇이 사용자 단말이 지시하는 방향을 감지할 수 있는 이동 로봇, 이동 로봇의 제어 방법 및 이동 로봇 시스템을 제공할 수 있다.
도 1은 일 실시예에 의한 이동 로봇 시스템의 구성 및 동작을 개략적으로 도시한다.
도 2는 일 실시예에 의한 이동 로봇의 구성을 도시한다.
도 3은 일 실시예에 의한 이동 로봇의 외관을 도시한다.
도 4는 일 실시예에 의한 이동 로봇의 저면을 도시한다.
도 5는 일 실시예에 의한 이동 로봇에 포함된 로봇 통신부의 일 예를 도시한다.
도 6은 일 실시예에 의한 이동 로봇에 포함된 로봇 통신부의 다른 일 예를 도시한다.
도 7은 일 실시예에 의한 이동 로봇에 포함된 로봇 통신부의 또 다른 일 예를 도시한다.
도 8은 일 실시예에 의한 사용자 단말의 구성을 도시한다.
도 9는 일 실시예에 의한 사용자 단말의 외관을 도시한다.
도 10은 일 실시예에 의한 사용자 단말에 포함된 단말 통신부의 일 예를 도시한다.
도 11은 일 실시예에 의한 사용자 단말에 포함된 단말 통신부의 다른 일 예를 도시한다.
도 12는 일 실시예에 의한 이동 로봇이 목표 위치를 판단하는 일 예를 도시한다.
도 13은 일 실시예에 의한 이동 로봇의 목표 위치 판단 방법을 도시한다.
도 14는 일 실시예에 의한 이동 로봇이 사용자 단말의 위치를 판단하는 일 예를 도시한다.
도 15는 일 실시예에 의한 이동 로봇이 사용자 단말의 위치를 판단하는 다른 일 예를 도시한다.
도 16 및 도 17은 일 실시예에 의한 이동 로봇이 사용자 단말의 지시 방향을 판단하는 일 예를 도시한다.
도 18는 일 실시예에 의한 이동 로봇이 목표 위치로 이동하는 방법을 도시한다.
도 19은 일 실시예에 의한 이동 로봇 시스템을 도시한다.
도 20는 일 실시예에 의한 이동 로봇이 목표 위치를 판단하는 방법을 도시한다.
도 21은 일 실시예에 의한 사용자 단말의 위치를 판단하는 일 예를 도시한다.
도 22은 일 실시예에 의한 사용자 단말의 지시 방향을 판단하는 일 예를 도시한다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 일 실시예에 의한 이동 로봇 시스템의 구성 및 동작을 개략적으로 도시한다.
도 1을 참조하면, 이동 로봇 시스템(1)은 바닥을 주행하는 이동 로봇(100)과, 이동 로봇(100)의 주행을 제어하는 사용자 단말(200)을 포함할 수 있다.
이동 로봇(100)은 주행 공간의 바닥을 주행할 수 있다.
예를 들어, 이동 로봇(100)은 자동 및/또는 수동으로 사용자(U)의 집안의 바닥을 주행할 수 있다. 이동 로봇(100)은 자동으로 집안의 구조 및 장애물들의 위치를 인식하고, 집 안의 구조 및 장애물들의 위치에 따라 집 안의 벽, 가구 등을 회피하면서 집안의 바닥을 주행할 수 있다. 여기서, 장애물은 가구, 벽 등 이동 로봇(100)의 주행을 방해할 수 있는 모든 물건을 나타낼 수 있다.
이동 로봇(100)은 사용자(U)의 조작에 의하여 수동으로 집안의 바닥을 주행할 수 있다. 사용자(U)는 사용자 단말(200)을 통하여 이동 로봇(100)의 주행을 제어할 수 있으며, 이동 로봇(100)은 사용자 단말(200)로부터의 주행 제어 신호에 따라 주행 속도 및/또는 주행 방향을 조절할 수 있다.
사용자(U)는 사용자 단말(200)을 통하여 이동 로봇(100)이 이동할 목표 위치(T)를 지시할 수 있으며, 이동 로봇(100)은 사용자 단말(200)에 의하여 지시된 목표 위치(T)로 자동으로 이동할 수 있다.
이동 로봇(100)은 실내에서 주행하는 것에 한정되지 아니하며, 이동 로봇(100)은 실외에서 주행할 수 있다. 이동 로봇(100)은 자동으로 장애물 등을 인식하면서 실외를 주행하거나, 사용자 단말(200)을 통한 사용자(U)의 제어에 따라 실외를 주행할 수 있다.
이동 로봇(100)은 주행하는 동안 다양한 작업을 수행할 수 있다.
예를 들어, 이동 로봇(100)은 사용자(U)의 집안을 주행하는 동안 집안의 바닥을 청소할 수 있다. 구체적으로, 이동 로봇(100)은 자동으로 사용자(U)의 집안을 주행하면서, 집안 바닥의 먼지를 쓸고 흡입할 수 있다. 또한, 이동 로봇(100)은 사용자 단말(200)에 의하여 지시된 목표 위치(T)로 이동한 이후 목표 위치(T) 주변의 먼지를 흡입할 수 있다.
이동 로봇(100)은 주행하는 동안 바닥을 청소하는 것에 한정되지 아니한다. 예를 들어, 이동 로봇(100)은 주행하는 동안 물건을 나를 수 있다.
사용자 단말(200)은 사용자(U)의 사용자 입력을 수신하고, 사용자 입력에 대응하는 사용자 제어 신호를 이동 로봇(100)으로 전송할 수 있다.
예를 들어, 사용자 단말(200)은 이동 로봇(100)의 주행 및/또는 청소에 관한 사용자 입력을 수신하고, 이동 로봇(100)의 주행을 제어하기 위한 주행 제어 신호 및/또는 이동 로봇(100)의 청소를 제어하기 위한 청소 제어 신호를 이동 로봇(100)으로 전송할 수 있다. 이동 로봇(100)은 주행 제어 신호 및/또는 청소 제어 신호의 수신에 응답하여 집안의 바닥을 주행하고, 집안의 바닥을 청소할 수 있다.
사용자 단말(200)은 사용자(U)로부터 목표 위치(T)를 지정하기 위한 사용자 입력을 수신하고, 목표 위치(T)로 이동 신호를 이동 로봇(100)으로 전송할 수 있다. 이동 로봇(100)은 목표 위치(T)로 이동 신호에 응답하여 목표 위치(T)의 위치를 판단하고, 목표 위치(T)를 향하여 자동으로 이동할 수 있다.
이동 로봇(100)은 목표 위치(T)를 산출하기 위하여 사용자 단말(200)의 위치를 판단하고, 사용자 단말(200)이 지시하는 방향(이하 '이상 사용자 단말의 지시 방향'이라 한다)을 판단할 수 있다. 또한, 이동 로봇(100)은 사용자 단말(200)의 위치 및/또는 사용자 단말(200)의 지시 방향을 판단하기 위하여 사용자 단말(200)과 통신할 수 있다.
이처럼, 이동 로봇(100)는 사용자 단말(200)과의 통신을 통하여 사용자 단말(200)로부터 주행 제어 신호 및/또는 청소 제어 신호를 수신하고, 주행 제어 신호 및/또는 청소 제어 신호에 따라 집안을 주행하고, 집안에서 청소할 수 있다.
특히, 이동 로봇(100)은 사용자 단말(200)과의 통신을 통하여 목표 위치(T)로 이동 신호를 수신하고, 사용자 단말(200)과의 통신을 통하여 목표 위치(T)의 위치를 판단할 수 있다. 이동 로봇(100)은 목표 위치(T)로 이동하고, 이후 목표 위치(T) 주변을 청소할 수 있다.
이하에서는, 이동 로봇(100)과 사용자 단말(200)의 각각의 구성과 각 구성들의 기능이 설명된다.
도 2는 일 실시예에 의한 이동 로봇의 구성을 도시한다. 도 3은 일 실시예에 의한 이동 로봇의 외관을 도시한다. 도 4는 일 실시예에 의한 이동 로봇의 저면을 도시한다. 도 5는 일 실시예에 의한 이동 로봇에 포함된 로봇 통신부의 일 예를 도시한다. 도 6은 일 실시예에 의한 이동 로봇에 포함된 로봇 통신부의 다른 일 예를 도시한다. 도 7은 일 실시예에 의한 이동 로봇에 포함된 로봇 통신부의 또 다른 일 예를 도시한다.
도 2, 도 3, 도 4, 도 5, 도 6 및 도 7을 참조하면, 이동 로봇(100)은 로봇 본체(101)를 포함하며, 로봇 본체(101)는 이동 로봇(100)을 구성하는 구성 부품들을 수용하고 구성 부품들을 외력으로부터 보호할 수 있다.
로봇 본체(101)는 메인 바디(101a)와 서브 바디(101b)를 포함할 수 있으며, 메인 바디(101a)는 예를 들어 대략 반원 기둥의 형태를 가질 수 있고 서브 바디(101b)는 예를 들어 대략 직육면체의 형태를 가질 수 있다. 메인 바디(101a)와 서브 바디(101b)의 형상은 최적의 청소를 위한 것이며, 메인 바디(101a)와 서브 바디(101b)의 형상이 각각 대략 반원의 형태 및 대략 직사각형의 형태에 한정되는 것은 아니다
로봇 본체(101)의 내부 또는 외부에는 사용자(U)와 상호 작용하는 로봇 컨트롤 패널(110)과, 이동 로봇(100)의 움직임을 감지하는 로봇 움직임 감지부(120)와, 바닥에 놓여진 장애물을 감지하는 로봇 장애물 감지부(130)와, 이동 로봇(100)을 이동시키는 구동부(140)와, 바닥을 청소하는 청소부(150)와, 사용자 단말(200)과 통신하는 로봇 통신부(160)와, 이동 로봇(100)의 동작을 제어하는 로봇 제어부(170)가 마련된다. 다만, 이동 로봇(100)의 구성은 도 2에 도시된 바에 한정되는 것은 아니며, 필요에 따라 다른 구성이 추가되거나 그 일부가 생략될 수도 있다.
로봇 컨트롤 패널(110)은 로봇 본체(101) 상면에 마련될 수 있으며, 사용자(U)로부터 사용자 입력을 수신하는 복수의 로봇 입력 버튼(111)과 이동 로봇(100)의 동작에 관한 정보를 표시하는 로봇 디스플레이(112)를 포함할 수 있다.
로봇 입력 버튼(111)은 다양한 사용자 입력을 수신하기 위한 복수의 버튼들을 포함할 수 있다. 예를 들어, 로봇 입력 버튼(111)은 이동 로봇(100)을 턴온 또는 턴오프시키는 전원 버튼과, 이동 로봇(100)의 동작을 시작하거나 동작을 중지시키기 위한 동작 버튼과, 이동 로봇(100)을 충전 스테이션으로 복귀시키기 위한 복귀 버튼 등을 포함할 수 있다.
로봇 입력 버튼(111)에 포함된 복수의 버튼들 각각은 사용자 입력을 수신하고, 사용자 입력에 대응하는 사용자 제어 신호를 로봇 제어부(170)로 출력할 수 있다. 또한, 로봇 입력 버튼(111)에 포함된 복수의 버튼들 각각은 푸시 스위치, 터치 스위치, 다이얼, 슬라이드 스위치, 토글 스위치 등 다양한 입력 수단에 의하여 구현될 수 있다.
로봇 디스플레이(112)는 사용자 입력에 응답하여 이동 로봇(100)의 동작에 관한 정보를 표시할 수 있다. 예를 들어, 로봇 디스플레이(112)는 이동 로봇(100)의 동작 상태, 전원의 상태, 사용자가 선택한 청소 모드, 충전 스테이션으로의 복귀 여부 등을 표시할 수 있다.
로봇 디스플레이(112)는 액정 디스플레이(Liquid Crystal Display, LCD) 패널, 또는 발광 다이오드(Light Emitting Diode, LED), 또는 유기 발광 다이오드(Organic Light Emitting Diode, OLED) 패널 등 다양한 표시 수단에 의하여 구현될 수 있다. 또한, 로봇 디스플레이(112)는 사용자 입력을 수신하고, 이동 로봇(100)의 동작 정보를 표시하는 터치 스크린 패널(Touch Screen Panel, TSP)을 채용할 수도 있다.
로봇 움직임 감지부(120)는 이동 로봇(100)이 주행 공간을 주행하는 동안 이동 로봇(100)의 움직임 및 자세를 감지할 수 있다. 예를 들어, 로봇 움직임 감지부(120)는 이동 로봇(100)이 이동하는 동안 이동 로봇(100)의 선형 이동 가속도, 선형 이동 속도, 선형 이동 변위, 선형 이동 방향, 기울어짐, 회전 이동 각속도, 회전 이동 각변위 및/또는 회전 방향(회전 이동의 축 방향) 등을 감지할 수 있다.
로봇 움직임 감지부(120)는 이동 로봇(100)의 선형 이동을 감지하는 로봇 가속도 센서(121)와, 이동 로봇(100)의 회전 이동을 감지하는 로봇 자이로 센서(122)를 포함할 수 있다.
로봇 가속도 센서(121)는 이동 로봇(100)의 선형 이동에 의한 x축 가속도, y축 가속도 및/또는 z축 가속도(3축 선형 가속도)를 측정할 수 있다.
예를 들어, 로봇 가속도 센서(121)는 지구 중력에 의한 가속도(중력 가속도)를 기준으로 이동 로봇(100)의 선형 이동 가속도를 측정할 수 있다. 로봇 가속도 센서(121)는 중력 가속도와 선형 이동 가속도의 벡터 합을 측정하고, 측정 값으로부터 선형 이동 가속도를 판단할 수 있다. 로봇 가속도 센서(121)는 이동 로봇(100)의 선형 이동 가속도로부터 이동 로봇(100)의 선형 이동 속도를 산출할 수 있으며, 이동 로봇(100)의 선행 이동 속도로부터 이동 로봇(100)의 선형 이동 변위를 산출할 수 있다.
또한, 로봇 가속도 센서(121)는 중력 가속도의 방향 변화를 기초로 이동 로봇(100)의 자세를 판단할 수 있다.
로봇 자이로 센서(122)는 이동 로봇(100)의 회전 이동에 의한 x축 중심의 각속도(회전 속도), y축 중심의 각속도 및/또는 z축 중심의 각속도(3축 각속도)를 측정할 수 있다.
예를 들어, 로봇 자이로 센서(122)는 회전에 의한 코리올리의 힘(Coriolis force)을 이용하여 이동 로봇(100)의 회전 이동 각속도를 측정할 수 있다. 로봇 자이로 센서(122)는 코리올리의 힘을 측정하고, 코이올리의 힘으로부터 이동 로봇(100)의 회전 이동 각속도를 판단할 수 있다.
로봇 자이로 센서(122)는 이동 로봇(100)의 회전 이동 각속도로부터 이동 로봇(100)의 회전 이동 변위를 산출할 수 있다.
이처럼, 로봇 움직임 감지부(120)는 이동 로봇(100)의 선형 이동 가속도, 선형 이동 속도, 선형 이동 변위, 선형 이동 방향, 회전 이동 각속도, 회전 이동 각변위 및/또는 회전 방향(회전 이동의 축 방향) 등 움직임에 관한 정보와 이동 로봇(100)의 기울어짐 등 자세에 관한 정보를 로봇 제어부(170)로 출력할 수 있다.
또한, 로봇 움직임 감지부(120)는 로봇 가속도 센서(121) 및/또는 로봇 자이로 센서(122)와 함께 이동 로봇(100)에 포함된 구동 바퀴(142)의 회전을 감지하는 엔코더 및/또는 홀 센서 등을 더 포함할 수 있다. 또한, 로봇 움직임 감지부(120)는 구동 바퀴(142)의 회전을 기초로 이동 로봇(100)의 선형 이동 속도, 선형 이동 변위, 회전 이동 속도 및 회전 이동 변위 등을 판단할 수 있다.
로봇 장애물 감지부(130)는 이동 로봇(100)의 이동을 방해하는 장애물을 검출할 수 있다. 여기서, 장애물은 주행 공간의 바닥으로 돌출되어 이동 로봇(100)의 이동을 방해하거나, 주행 공간으로부터 함몰되어 이동 로봇(100)의 이동을 방해하는 모든 물건 또는 구조를 나타낼 수 있다. 예를 들어, 장애물은 테이블, 의자 등의 가구와, 집안을 구획하는 벽과, 집안의 바닥보다 낮은 현관 등을 포함할 수 있다.
로봇 장애물 감지부(130)는 이동 로봇(100)이 주행하는 전방을 향하여 감지 매체(예를 들어, 광 또는 초음파 또는 전파 등)를 발신하는 발신부(131)와, 장애물로부터 반사되는 감지 매체를 수신하는 수신부(132)를 포함할 수 있다.
발신부(131)는 광을 발신하는 발광 다이오드 또는 초음파를 발신하는 초음파 스피커 또는 전파를 발신하는 안테나 등을 포함할 수 있으며, 이동 로봇(100)이 주행하는 동안 이동 로봇(100)의 전방(다시 말해, 이동 로봇의 주행 방향)을 향하여 광 또는 초음파 또는 전파 등을 발신할 수 있다.
발신부(131)로부터 발신된 감지 매체는 이동 로봇(100)의 전방을 향하여 전파될 수 있다. 이동 로봇(100)의 전방에 장애물이 위치하면 광 또는 초음파 또는 전파는 장애물에 반사되며, 반사된 감지 매체는 이동 로봇(100)을 향하여 전파될 수 있다.
수신부(132)는 광을 수신하는 포토 다이오드 또는 초음파를 수신하는 마이크 또는 전파를 수신하는 안테나 등을 포함할 수 있으며, 이동 로봇(100)이 주행하는 동안 이동 로봇(100)의 전방에 위치하는 장애물로부터 반사된 광 또는 초음파 또는 전파 등을 수신할 수 있다.
로봇 장애물 감지부(130)는 수신부(132)의 감지 매체의 수신 여부에 따라 이동 로봇(100)의 전방에 위치하는 장애물의 존부를 판단할 수 있다. 또한, 로봇 장애물 감지부(130)는 수신부(132)에 의한 감지된 감지 매체의 세기 및/또는 감지 매체의 발신과 수신 사이의 시간 차이 등으로부터 이동 로봇(100)의 전방에 위치하는 장애물의 위치(이동 로봇과 장애물 사이의 거리)를 판단할 수 있다.
이처럼, 로봇 장애물 감지부(130)는 이동 로봇(100)의 전방에 위치하는 장애물의 검출 여부 및/또는 장애물의 위치 등 장애물에 관한 정보를 로봇 제어부(170)로 출력할 수 있다.
구동부(140)는 이동 로봇(100)을 이동시킬 수 있다. 구체적으로, 구동부(140)는 로봇 제어부(170)의 주행 제어 신호에 따라 이동 로봇(100)을 선형 이동시키거나 회전 이동시킬 수 있다.
구동부(140)는 바퀴 구동 모터(141)와, 구동 바퀴(142)와, 캐스터 바퀴(143)를 포함할 수 있다.
구동 바퀴(142)는 로봇 본체(101)의 좌우 양단에 마련될 수 있으며, 로봇 본체(101)의 좌측단에 마련되는 좌측 구동 바퀴(142a)와 로봇 본체(101)의 우측단에 마련되는 우측 구동 바퀴(142b)를 포함할 수 있다.
바퀴 구동 모터(141)는 구동 바퀴(142)를 회전시키기 위한 회전력을 생성하고, 좌측 구동 바퀴(142a)를 회전시키는 좌측 구동 모터(141a)와 우측 구동 바퀴(142b)를 회전시키는 우측 구동 모터(141b)를 포함할 수 있다.
좌측 구동 모터(141a)와 우측 구동 모터(141b)는 각각 로봇 제어부(170)로부터 주행 제어 신호를 수신하고, 독립적으로 좌측 구동 바퀴(142a)와 우측 구동 바퀴(142b)를 회전시킬 수 있다. 그 결과, 좌측 구동 바퀴(142a)와 우측 구동 바퀴(142b)는 서로 독립적으로 회전할 수 있다.
좌측 구동 바퀴(142a)와 우측 구동 바퀴(142b)의 회전에 의하면, 이동 로봇(100)은 직선 주행, 곡선 주행 및 제자리 회전 등 다양한 패턴의 주행이 가능하다.
예를 들어, 좌측 구동 바퀴(142a)와 우측 구동 바퀴(142b)가 동일한 방향 및 동일한 속도로 회전하면, 이동 로봇(100)은 직선 주행이 가능하다. 좌측 구동 바퀴(142a)와 우측 구동 바퀴(142b)가 동일한 방향 및 상이한 속도로 회전하면, 이동 로봇(100)은 곡선 주행이 가능하다, 또한, 좌측 구동 바퀴(142a)와 우측 구동 바퀴(142b)가 상이한 방향 및 동일한 속도로 회전하면, 이동 로봇(100)은 제자리 회전이 가능하다.
캐스터 바퀴(143)는 로봇 본체(101)의 저면에 설치되며, 이동 로봇(100)이 원활하게 이동하도록 이동 로봇(100)을 지지할 수 있다. 캐스터 바퀴(143)는 바닥면과 수평한 회전축을 중심으로 회전할 수 있을 뿐만 아니라, 바닥면과 수직한 회전축을 중심으로 회전할 수 도 있다. 따라서, 캐스터 바퀴(143)는 이동 로봇(100)의 이동 방향에 따라 회전축의 방향이 변화할 수 있다.
또한, 구동부(140)는 로봇 제어부(170)의 주행 제어 신호에 따라 바퀴 구동 모터(141)에 구동 전류를 공급하는 모터 구동 회로와, 바퀴 구동 모터(141)의 회전력을 구동 바퀴(142)로 전달하는 동력 전달 장치와, 바퀴 구동 모터(141) 또는 구동 바퀴(142)의 회전 변위 및/또는 회전 각속도를 감지하는 회전 감지 센서 등을 더 포함할 수 있다.
청소부(150)는 청소 영역의 바닥의 먼지를 비산시키는 드럼 브러시(152), 드럼 브러시(152)를 회전시키는 브러시 구동 모터(151), 비산된 먼지를 흡입하는 먼지 흡입 팬(154), 먼지 흡입 팬(154)을 회전시키는 팬 구동 모터(153)를 포함한다.
드럼 브러시(152)는 로봇 본체(101) (예를 들어, 서브 바디)의 저면에 형성된 먼지 흡입구(103)에 마련되며, 바닥과 수평하게 마련된 회전축을 중심으로 회전하며, 바닥의 먼지를 먼지 흡입구(103)를 내부로 비산시킨다.
브러시 구동 모터(151)는 드럼 브러시(152)에 인접하게 마련되어 로봇 제어부(170)의 청소 제어 신호에 따라 드럼 브러시(152)를 회전시킨다.
또한, 청소부(150)는 로봇 제어부(170)의 청소 제어 신호에 따라 브러시 구동 모터(151)에 구동 전류를 공급하는 모터 구동 회로와, 브러시 구동 모터(151)의 회전력을 드럼 브러시(152)에 전달하는 동력 전달 장치를 더 포함할 수 있다.
먼지 흡입 팬(154)은 로봇 본체(101) (예를 들어, 메인 바디) 내부에 마련되어, 드럼 브러시(152)에 의하여 비산된 먼지를 흡입할 수 있다.
팬 구동 모터(153)는 먼지 흡입 팬(154)과 인접한 위치에 마련되며, 로봇 제어부(170)의 청소 제어 신호에 따라 먼지 흡입 팬(154)을 회전시킬 수 있다.
청소부(150)는 로봇 제어부(170)의 청소 제어 신호에 따라 팬 구동 모터(153)에 구동 전류를 공급하는 모터 구동 회로와, 팬 구동 모터(153)의 회전력을 먼지 흡입 팬(154)에 전달하는 동력 전달 장치와 먼지 흡입 팬(154)에 의하여 흡입된 먼지를 저장하는 먼지함을 더 포함할 수 있다.
로봇 통신부(160)는 사용자 단말(200)와 통신 데이터를 주고 받을 수 있다. 통신 데이터는 다양한 매체에 의하여 전송될 수 있다. 예를 들어, 통신 데이터는 광 또는 초음파 또는 전파를 통하여 전송될 수 있다.
이하에서는 이해를 돕기 위하여 통신 데이터가 전파를 통하여 전송됨이 가정된다. 특히, 로봇 통신부(160)는 초광대역(Ultra Wide Band, UWB) 통신 방식을 이용하여 사용자 단말(200)와 통신 데이터를 주고 받을 수 있다.
초광대역 통신 방식은 무선 신호의 대역폭이 무선 신호의 중심 주파수의 25% 이상인 통신 방식 또는 무선 신호의 대역폭이 500MHz (mega-hertz) 이상인 통신 방식을 나타낸다. 초광대역 통신 방식에 의한 무선 신호(이하 '초광대역 무선 신호'라 한다)는 1ns (nano-second) 이하의 펄스 폭을 가지는 짧은 임펄스 신호일 수 있다. 임펄스 신호의 형태(예를 들어, 양의 임펄스 신호와 음의 임펄스 신호)를 변경함으로써 초광대역 무선 신호는 데이터(예를 들어, '0'과 '1'의 디지털 데이터)를 전달할 수 있다.
로봇 통신부(160)는 초광대역 무선 신호를 송신 및 수신하기 위한 로봇 송수신기(161)와, 송신할 초광대역 무선 신호를 생성하고 수신된 초광대역 무선 신호를 처리하는 로봇 통신 프로세서(162)를 포함할 수 있다.
로봇 송수신기(161)는 자유 공간으로부터 초광대역 무선 신호를 수신하거나 자유 공간으로 초광대역 무선 신호를 송신할 수 있다. 예를 들어, 로봇 송수신기(161)는 자유 공간으로부터 초광대역 무선 신호를 송신하거나 자유 공간으로 초광대역 무선 신호를 수신하는 안테나와, 수신된 초광대역 무선 신호를 증폭하는 증폭기를 포함할 수 있다.
로봇 통신 프로세서(162)는 로봇 제어부(170)의 통신 제어 신호에 따라 초광대역 무선 신호를 생성할 수 있다. 예를 들어, 로봇 통신 프로세서(162)는 전송하고자 하는 통신 데이터에 대응하는 초광대역 무선 신호를 생성할 수 있다.
로봇 통신 프로세서(162)는 로봇 송수신기(161)에 의하여 수신된 초광대역 무선 신호를 처리할 수 있다. 예를 들어, 로봇 통신 프로세서(162)는 초광대역 무선 신호로부터 통신 데이터를 추출하고, 추출된 통신 데이터를 로봇 제어부(170)로 출력할 수 있다.
로봇 통신부(160)는 1개 이상의 로봇 송수신기(161)와 1개 이상의 로봇 통신 프로세서(162)를 포함할 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 로봇 통신부(160)는 3개의 로봇 송수신기(161)와 3개의 로봇 통신 프로세서(162)를 포함할 수 있다.
로봇 통신부(160)는 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)를 포함할 수 있다. 제1 로봇 송수신기(161a)는 로봇 본체(101)의 전방 좌측에 위치하고, 제2 로봇 송수신기(161b)는 로봇 본체(101)의 전방 우측에 위치하고, 제3 로봇 송수신기(161c)는 로봇 본체(101)의 후방 중앙에 위치할 수 있다. 또한, 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)은 서로 미리 정해진 거리(a)만큼 이격될 수 있다.
로봇 통신부(160)는 제1 로봇 통신 프로세서(162a)와 제2 로봇 통신 프로세서(162b)와 제3 로봇 통신 프로세서(162c)를 더 포함할 수 있으며, 제1 로봇 통신 프로세서(162a)와 제2 로봇 통신 프로세서(162b)와 제3 로봇 통신 프로세서(162c)는 각각 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)와 인접한 위치에 설치될 수 있다.
제1 로봇 통신 프로세서(162a)는 제1 로봇 송수신기(161a)를 통하여 송수신되는 초광대역 무선 신호를 처리하며, 제2 로봇 통신 프로세서(162b)는 제2 로봇 송수신기(161b)를 통하여 송수신되는 초광대역 무선 신호를 처리할 수 있다. 또한, 제3 로봇 통신 프로세서(162c)는 제3 로봇 송수신기(161c)를 통하여 송수신되는 초광대역 무선 신호를 처리할 수 있다.
다른 예로, 도 6에 도시된 바와 같이, 로봇 통신부(160)는 3개의 로봇 송수신기(161)와 1개의 로봇 통신 프로세서(162)를 포함할 수 있다.
로봇 통신부(160)는 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)를 포함할 수 있다. 제1 로봇 송수신기(161a)는 로봇 본체(101)의 전방 좌측에 위치하고, 제2 로봇 송수신기(161b)는 로봇 본체(101)의 전방 우측에 위치하고, 제3 로봇 송수신기(161c)는 로봇 본체(101)의 후방 중앙에 위치할 수 있다. 또한, 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)은 서로 미리 정해진 거리(a)만큼 이격될 수 있다.
로봇 통신부(160)는 제1 로봇 통신 프로세서(162a)를 더 포함할 수 있으며, 제1 로봇 통신 프로세서(162a)는 임의의 위치에 설치될 수 있다.
제1 로봇 통신 프로세서(162a)는 제1 로봇 송수신기(161a)를 통하여 송수신되는 초광대역 무선 신호와 제2 로봇 송수신기(161b)를 통하여 송수신되는 초광대역 무선 신호와 제3 로봇 송수신기(161c)를 통하여 송수신되는 초광대역 무선 신호를 순차적으로 처리할 수 있다.
또 다른 예로, 도 7에 도시된 바와 같이, 로봇 통신부(160)는 1개의 로봇 송수신기(161)와 1개의 로봇 통신 프로세서(162)를 포함할 수 있다.
로봇 통신부(160)는 제1 로봇 송수신기(161a)와 제1 로봇 통신 프로세서(162a)를 포함할 수 있으며, 제1 로봇 송수신기(161a)는 로봇 본체(101)의 전방 중앙에 설치되고 제1 로봇 통신 프로세서(162a)는 제1 로봇 송수신기(161a)와 인접한 위치에 설치될 수 있다.
제1 로봇 통신 프로세서(162a)는 제1 로봇 송수신기(161a)를 통하여 송수신되는 초광대역 무선 신호를 처리할 수 있다.
로봇 통신부(160)는 초광대역 통신 방식을 이용하여 사용자 단말(200)과 통신 데이터를 주고 받을 수 있을 뿐만 아니라, 로봇 통신부(160)는 사용자 단말(200)과 로봇 송수신기(161) 사이의 거리를 측정하기 위하여 사용자 단말(200)과 초광대역 무선 신호를 주고 받을 수 있다.
예를 들어, 로봇 통신부(160)는 로봇 송수신기(161)를 통하여 감지 신호를 전송하고, 사용자 단말(200)로부터 응답 신호를 수신할 수 있다. 로봇 통신부(160)는 사용자 단말(200)의 응답 신호의 수신에 응답하여 감지 신호의 전송과 응답 신호의 수신 사이의 응답 시간 간격을 측정할 수 있다.
로봇 통신부(160)는 응답 시간 간격으로부터 사용자 단말(200)의 감지 신호 처리 시간을 뺀 무선 신호 전파 시간을 산출할 수 있으며, 무선 신호 전파 시간으로부터 사용자 단말(200)과 로봇 송수신기(161) 사이의 거리를 판단할 수 있다. 또한, 로봇 통신부(160)는 사용자 단말(200)과 로봇 송수신기(161) 사이의 거리에 관한 정보를 로봇 제어부(170)로 출력할 수 있다.
예를 들어, 로봇 통신부(160)가 3개의 로봇 송수신기(161)를 포함하는 경우, 로봇 통신부(160)는 제1 로봇 송수신기(161a)를 통하여 감지 신호를 전송하고 제1 로봇 송수신기(161a)를 통하여 사용자 단말(200)의 응답 신호를 수신할 수 있으며, 감지 신호의 전송 시간과 응답 신호의 수신 시간 사이의 차이를 기초로 제1 로봇 송수신기(161a)와 사용자 단말(200) 사이의 제1 거리를 산출할 수 있다. 같은 방식으로,로봇 통신부(160)는 제2 로봇 송수신기(161b)와 사용자 단말(200) 사이의 제2 거리 및 제3 로봇 송수신기(161c)와 사용자 단말(200) 사이의 제3 거리를 산출할 수 있다.
또한, 로봇 통신부(160)가 1개의 로봇 송수신기(161)를 포함하는 경우, 로봇 통신부(160)는 이동 로봇(100)의 이동 중에 측정된 제1 로봇 송수신기(161a)와 사용자 단말(200) 사이의 거리들을 로봇 제어부(170)로 출력할 수 있다.
로봇 제어부(170)는 로봇 컨트롤 패널(110)의 사용자 입력, 로봇 움직임 감지부(120)의 움직임 정보 및 로봇 장애물 감지부(130)의 장애물 정보를 처리하고, 구동부(140)로 주행 제어 신호를 출력하고 청소부(150)로 청소 제어 신호를 출력하고 로봇 통신부(160)로 통신 제어 신호 및/또는 통신 데이터를 출력할 수 있다.
또한, 로봇 제어부(170)는 사용자 단말(200)이 지시하는 목표 위치(T)를 판단하고, 목표 위치(T)를 향하여 이동하도록 구동부(140)를 제어할 수 있다. 구체적으로, 로봇 제어부(170)는 로봇 송수신기(161)와 사용자 단말(200) 사이의 거리를 측정하도록 로봇 통신부(160)를 제어하고, 로봇 송수신기(161)와 사용자 단말(200) 사이의 거리를 기초로 사용자 단말(200)의 위치를 판단할 수 있다.
로봇 제어부(170)는 메모리(172)와 마이크로프로세서(171)를 포함할 수 있다.
메모리(172)는 이동 로봇(100)의 동작을 제어하기 위한 프로그램 및 데이터를 저장할 수 있다. 예를 들어, 메모리(172)는 로봇 움직임 감지부(120)로부터 출력되는 움직임 정보를 처리하기 위한 프로그램, 로봇 장애물 감지부(130)로부터 출력되는 장애물 정보를 처리하기 위한 프로그램 및 로봇 통신부(160)로부터 출력되는 통신 데이터를 처리하기 위한 프로그램을 저장할 수 있다.
또한, 메모리(172)는 마이크로프로세서(171)의 처리 동작 중에 발생하는 데이터를 임시로 기억할 수 있다. 예를 들어, 메모리(172)는 마이크로프로세서(171)가 움직임 정보 또는 장애물 정보 또는 통신 데이터를 처리하는 중에 발생되는 임시 데이터를 기억할 수 있다.
이러한 메모리(172)는 데이터를 일시적으로 기억하기 위한 S-램(Static Random Access Memory, S-RAM), D-램(Dynamic Random Access Memory) 등의 휘발성 메모리와, 데이터를 장기간 저장하기 위한 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM), 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있다.
마이크로프로세서(171)는 메모리(172)에 저장된 프로그램에 따라 로봇 움직임 감지부(120)로부터 출력되는 움직임 정보와 로봇 장애물 감지부(130)로부터 출력되는 장애물 정보와 로봇 통신부(160)로부터 출력되는 통신 데이터를 처리할 수 있다. 또한, 마이크로프로세서(171)는 움직임 정보와 장애물 정보와 통신 데이터의 처리 결과에 따라 구동부(140)와 청소부(150)와 로봇 통신부(160)를 제어하기 위한 제어 신호를 생성할 수 있다. 예를 들어, 마이크로프로세서(171)는 로봇 장애물 감지부(130)로부터 출력되는 장애물 정보를 기초로 장애물을 우회하거나 회피하도록 구동 제어 신호를 생성할 수 있다.
마이크로프로세서(171)는 로봇 움직임 감지부(120)로부터 출력되는 움직임 정보를 기초로 주행 공간을 나타내는 지도를 생성하고, 지도에 관한 정보를 메모리(172)에 저장할 수 있다.
마이크로프로세서(171)는 사용자 단말(200)의 위치와 사용자 단말(200)의 지시 방향을 판단하기 위한 통신 제어 신호를 출력할 수 있다. 마이크로프로세서(171)는 사용자 단말(200)과의 통신 결과(감지 신호와 응답 신호의 시간 차이)를 기초로 사용자 단말(200)의 위치에 관한 정보와 사용자 단말(200)의 지시 방향에 관한 정보를 생성할 수 있다. 또한, 마이크로프로세서(171)는 사용자 단말(200)의 위치에 관한 정보와 사용자 단말(200)의 지시 방향에 관한 정보를 기초로 사용자 단말(200)이 지시하는 목표 위치(T)를 판단할 수 있다.
마이크로프로세서(171)는 이동 로봇(100)이 목표 위치(T)로 이동하도록 구동 제어 신호를 생성할 수 있다.
이러한 마이크로프로세서(171)는 논리 연산 및 산술 연산 등을 수행하는 연산 회로와, 연산된 데이터를 기억하는 기억 회로와, 연산 회로 및 기억 회로를 제어하는 제어 회로 등을 포함할 수 있다.
이상에서 설명된 바와 같이, 이동 로봇(100)은 사용자 단말(200)의 위치와 사용자 단말(200)의 지시 방향을 판단하고, 사용자 단말(200)의 위치와 사용자 단말(200)의 지시 방향을 기초로 사용자 단말(200)이 지시하는 목표 위치(T)를 판단할 수 있다. 또한, 이동 로봇(100)은 사용자 단말(200)이 지시하는 목표 위치(T)를 향하여 이동할 수 있다.
도 8은 일 실시예에 의한 사용자 단말의 구성을 도시한다. 도 9는 일 실시예에 의한 사용자 단말의 외관을 도시한다. 도 10은 일 실시예에 의한 사용자 단말에 포함된 단말 통신부의 일 예를 도시한다. 도 11은 일 실시예에 의한 사용자 단말에 포함된 단말 통신부의 다른 일 예를 도시한다.
도 8, 도 9, 도 10 및 도 11을 참조하면, 사용자 단말(200)은 단말 본체(201)를 포함하며, 단말 본체(201)는 사용자 단말(200)을 구성하는 구성 부품들을 수용하고 구성 부품들을 외력으로부터 보호할 수 있다.
단말 본체(201)의 내부 또는 외부에는 사용자(U)와 상호 작용하는 단말 컨트롤 패널(210)과, 사용자 단말(200)의 움직임을 감지하는 단말 움직임 감지부(220)와, 사용자 단말(200)과 목표 위치(T) 사이의 거리를 감지하는 거리 감지부(250)와, 이동 로봇(100)과 통신하는 단말 통신부(230)와, 사용자 단말(200)의 동작을 제어하는 단말 제어부(240)가 마련된다. 다만, 사용자 단말(200)의 구성은 도 8에 도시된 바에 한정되는 것은 아니며, 필요에 따라 다른 구성이 추가되거나 그 일부가 생략될 수도 있다.
단말 컨트롤 패널(210)은 단말 본체(201) 상면에 마련될 수 있으며, 사용자(U)로부터 사용자 입력을 수신하는 복수의 단말 입력 버튼(211)을 포함할 수 있다.
단말 입력 버튼(211)은 이동 로봇(100)의 동작에 관한 다양한 사용자 입력을 수신하기 위한 복수의 버튼들을 포함할 수 있다. 예를 들어, 단말 입력 버튼(211)은 이동 로봇(100)의 전원 버튼과, 이동 로봇(100)의 동작 버튼과, 이동 로봇(100)의 복귀 버튼과, 이동 로봇(100)을 목표 위치(T)로 이동시키기 위한 이동 버튼 등을 포함할 수 있다.
단말 입력 버튼(211)에 포함된 복수의 버튼들 각각은 사용자 입력을 수신하고, 사용자 입력에 대응하는 사용자 제어 신호를 로봇 제어부(170)로 출력할 수 있다. 또한, 단말 입력 버튼(211)에 포함된 복수의 버튼들 각각은 푸시 스위치, 터치 스위치, 다이얼, 슬라이드 스위치, 토글 스위치 등 다양한 입력 수단에 의하여 구현될 수 있다.
단말 움직임 감지부(220)는 사용자(U)가 사용자 단말(200)을 이용하여 목표 위치(T)를 지시할 때 사용자 단말(200)의 움직임 및 자세를 감지할 수 있다. 예를 들어, 단말 움직임 감지부(220)는 사용자 단말(200)의 선형 이동 가속도, 선형 이동 속도, 선형 이동 변위, 선형 이동 방향, 기울어짐, 회전 이동 각속도, 회전 이동 각변위 및/또는 회전 방향(회전 이동의 축 방향) 등을 감지할 수 있다.
단말 움직임 감지부(220)는 사용자 단말(200)의 선형 이동을 감지하는 단말 가속도 센서(221)와, 사용자 단말(200)의 회전 이동을 감지하는 단말 자이로 센서(222)를 포함할 수 있다.
단말 가속도 센서(221)는 사용자 단말(200)의 선형 이동에 의한 x축 가속도, y축 가속도 및/또는 z축 가속도(3축 선형 가속도)를 측정할 수 있다. 예를 들어, 단말 가속도 센서(221)는 지구 중력에 의한 가속도(중력 가속도)를 기준으로 사용자 단말(200)의 선형 이동 가속도를 측정할 수 있다. 또한, 단말 가속도 센서(221)는 중력 가속도의 방향 변화를 기초로 사용자 단말(200)의 자세를 판단할 수 있다.
단말 자이로 센서(222)는 사용자 단말(200)의 회전 이동에 의한 x축 중심의 각속도(회전 속도), y축 중심의 각속도 및/또는 z축 중심의 각속도(3축 각속도)를 측정할 수 있다. 또한, 단말 자이로 센서(222)는 이동 로봇(100)의 회전 이동 각속도로부터 사용자 단말(200)의 회전 이동 변위를 산출할 수 있다.
이처럼, 단말 움직임 감지부(220)는 사용자 단말(200)의 선형 이동 가속도, 선형 이동 속도, 선형 이동 변위, 선형 이동 방향, 회전 이동 각속도, 회전 이동 각변위 및/또는 회전 방향(회전 이동의 축 방향) 등 움직임에 관한 정보와 사용자 단말(200)의 기울어짐 등 자세에 관한 정보를 단말 제어부(240)로 출력할 수 있다.
거리 감지부(250)는 사용자 단말(200)과 목표 위치(T) 사이의 거리를 감지할 수 있다.
거리 감지부(250)는 사용자 단말(200)이 지시하는 방향을 향하여 감지 매체(예를 들어, 광 또는 초음파 또는 전파 등)을 발신하는 발신부(251)와, 바닥 면으로부터 반사되는 감지 매체를 수신하는 수신부(252)를 포함할 수 있다.
발신부(251)는 광을 발신하는 발광 다이오드 또는 초음파를 발신하는 초음파 스피커 또는 전파를 발신하는 안테나 등을 포함할 수 있으며, 사용자 단말(200)이 지시하는 방향으로 광 또는 초음파 또는 전파 등을 발신할 수 있다.
발신부(251)로부터 발신된 감지 매체가 바닥 면에 도달하면, 감지 매체는 바닥 면으로부터 반사될 수 있다. 또한, 감지 매체가 도달한 바닥 면의 위치가 목표 위치(T)가 될 수 있다.
수신부(252)는 바닥 면으로부터 반사된 광 또는 초음파 또는 전파 등을 수신할 수 있다.
거리 감지부(250)는 수신부(252)에 의한 감지된 감지 매체의 세기 및/또는 감지 매체의 발신과 수신 사이의 시간 차이 등으로부터 사용자 단말(200)과 감지 매체가 반사된 위치(목표 위치) 사이의 거리를 판단할 수 있다.
이처럼, 거리 감지부(250)는 사용자 단말(200)과 목표 위치(T) 사이의 거리에 관한 정보를 단말 제어부(240)로 출력할 수 있다.
단말 통신부(230)는 이동 로봇(100)과 통신 데이터를 주고 받을 수 있다. 통신 데이터는 다양한 매체에 의하여 전송될 수 있다. 예를 들어, 통신 데이터는 광 또는 초음파 또는 전파를 통하여 전송될 수 있다.
이하에서는 이해를 돕기 위하여 통신 데이터가 전파를 통하여 전송됨이 가정된다. 특히, 단말 통신부(230)는 초광대역(Ultra Wide Band, UWB) 통신 방식을 이용하여 이동 로봇(100)과 통신 데이터를 주고 받을 수 있다.
단말 통신부(230)는 초광대역 무선 신호를 송신 및 수신하기 위한 단말 송수신기(231)와, 송신할 초광대역 무선 신호를 생성하고 수신된 초광대역 무선 신호를 처리하는 단말 통신 프로세서(232)를 포함할 수 있다.
단말 송수신기(231)는 자유 공간으로부터 초광대역 무선 신호를 수신하거나 자유 공간으로 초광대역 무선 신호를 송신할 수 있으며, 안테나 및 증폭기를 포함할 수 있다.
단말 통신 프로세서(232)는 단말 제어부(240)의 통신 제어 신호에 따라 초광대역 무선 신호를 생성하고, 단말 송수신기(231)에 의하여 수신된 초광대역 무선 신호를 처리할 수 있다.
단말 통신부(230)는 1개 이상의 단말 송수신기(231)와 1개 이상의 단말 통신 프로세서(232)를 포함할 수 있다.
예를 들어, 도 10에 도시된 바와 같이, 단말 통신부(230)는 2개의 단말 송수신기(231)와 2개의 단말 통신 프로세서(232)를 포함할 수 있다.
단말 통신부(230)는 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)를 포함할 수 있다. 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)는 사용자 단말(200) 상에 길이 방향을 배치될 수 있다. 다시 말해, 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)을 연결하면 가상의 직선이 형성되며, 가상의 직선이 지시하는 방향은 사용자 단말(200)이 지시하는 방향과 동일할 수 있다.
단말 통신부(230)는 제1 단말 통신 프로세서(232a)와 제2 단말 통신 프로세서(232)를 더 포함할 수 있으며, 제1 단말 통신 프로세서(232a)와 제2 단말 통신 프로세서(232)는 각각 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)와 인접한 위치에 설치될 수 있다.
제1 단말 통신 프로세서(232a)는 제1 단말 송수신기(231a)를 통하여 송수신되는 초광대역 무선 신호를 처리하며, 제2 단말 통신 프로세서(232)는 제2 단말 송수신기(231b)를 통하여 송수신되는 초광대역 무선 신호를 처리할 수 있다.
다른 예로, 도 11에 도시된 바와 같이, 단말 통신부(230)는 2개의 단말 송수신기(231)와 1개의 단말 통신 프로세서(232)를 포함할 수 있다.
단말 통신부(230)는 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)를 포함할 수 있다. 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)는 사용자 단말(200) 상에 길이 방향을 배치될 수 있다. 다시 말해, 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)을 연결하면 가상의 직선이 형성되며, 가상의 직선이 지시하는 방향은 사용자 단말(200)이 지시하는 방향과 동일할 수 있다. 또한, 단말 통신부(230)는 제1 단말 통신 프로세서(232a)를 더 포함할 수 있으며, 제1 단말 통신 프로세서(232a)는 임의의 위치에 설치될 수 있다.
제1 단말 통신 프로세서(232a)는 제1 단말 송수신기(231a)를 통하여 송수신되는 초광대역 무선 신호와 제2 단말 송수신기(231b)를 통하여 송수신되는 초광대역 무선 신호를 교대로 처리할 수 있다.
단말 통신부(230)는 초광대역 통신 방식을 이용하여 이동 로봇(100)과 통신 데이터를 주고 받을 수 있을 뿐만 아니라, 단말 통신부(230)는 이동 로봇(100)과 단말 송수신기(231) 사이의 거리를 측정하기 위하여 이동 로봇(100)과 초광대역 무선 신호를 주고 받을 수 있다.
예를 들어, 사용자 단말(200)은 단말 송수신기(231)를 통하여 이동 로봇(100)의 감지 신호를 수신하고, 감지 신호의 수신에 응답하여 이동 로봇(100)으로 응답 신호를 전송할 수 있다.
구체적으로, 사용자 단말(200)은 제1 단말 송수신기(231a)를 통하여 이동 로봇(100)의 감지 신호를 수신하고, 이후 제1 단말 송수신기(231a)를 통하여 이동 로봇(100)으로 응답 신호를 전송할 수 있다. 또한, 사용자 단말(200)은 제2 단말 송수신기(231b)를 통하여 이동 로봇(100)의 감지 신호를 수신하고, 이후 제2 단말 송수신기(231b)를 통하여 이동 로봇(100)으로 응답 신호를 전송할 수 있다.
이동 로봇(100)은 감지 신호의 전송과 응답 신호의 수신 사이의 시간 차이를 기초로 제1 단말 송수신기(231a)와 로봇 송수신기(161) 사이의 거리 및 제2 단말 송수신기(231b)와 로봇 송수신기(161) 사이의 거리를 판단할 수 있다. 이동 로봇(100)은 제1 단말 송수신기(231a)와 로봇 송수신기들(161a, 161b, 161c) 사이의 거리들을 기초로 제1 단말 송수신기(231a)의 위치를 판단할 수 있으며, 제2 단말 송수신기(231b)와 로봇 송수신기들(161a, 161b, 161c) 사이의 거리들을 기초로 제2 단말 송수신기(231b)의 위치를 판단할 수 있다. 또한, 이동 로봇(100)은 제1 단말 송수신기(231a)의 위치와 제2 단말 송수신기(231b)의 위치를 기초로 사용자 단말(200)의 지시 방향을 판단할 수 있다.
단말 제어부(240)는 단말 컨트롤 패널(210)의 사용자 입력을 처리하고, 단말 통신부(230)로 통신 제어 신호 및/또는 통신 데이터를 출력할 수 있다.
단말 제어부(240)는 사용자의 목표 위치 이동 명령의 수신에 응답하여 단말 통신부(230)를 통하여 이동 로봇(100)에 목표 위치 이동 명령을 전송할 수 있다. 또한, 단말 제어부(240)는 단말 통신부(230)가 이동 로봇(100)의 감지 신호에 응답하여 응답 신호를 전송하도록 단말 통신부(230)를 제어할 수 있다.
단말 제어부(240)는 마이크로 컨트롤러(241)를 포함할 수 있다.
마이크로 컨트롤러(241)는 내부에 저장된 프로그램에 따라 사용자 입력을 처리하고, 사용자 입력에 대응하는 통신 제어 신호 및/또는 통신 데이터를 생성할 수 있다. 예를 들어, 사용자의 목표 위치 이동 명령에 응답하여 마이크로 컨트롤러(241)는 이동 로봇(100)이 사용자 단말(200)의 위치와 사용자 단말(200)의 지시 방향을 판단하도록 하는 통신 제어 신호를 출력할 수 있다.
이러한 마이크로 컨트롤러(241)는 논리 연산 및 산술 연산 등을 수행하는 연산 회로와, 연산된 데이터를 기억하는 기억 회로와, 연산 회로 및 기억 회로를 제어하는 제어 회로 등을 포함할 수 있다.
이상에서 설명된 바와 같이, 사용자 단말(200)은 사용자 입력을 수신하고, 이동 로봇(100)이 사용자 단말(200)의 위치와 사용자 단말(200)의 지시 방향을 판단할 수 있도록 이동 로봇(100)과 통신할 수 있다.
이하에서는 이동 로봇(100)과 사용자 단말(200)의 동작이 설명된다.
도 12는 일 실시예에 의한 이동 로봇이 목표 위치를 판단하는 일 예를 도시한다.
도 12와 함께, 이동 로봇(100)이 사용자 단말(200)이 지시하는 목표 위치(T)를 판단하는 방법이 설명된다.
사용자(U)는 사용자 단말(200)을 이용하여 목표 위치(T)를 지정할 수 있다. 예를 들어, 도 12에 도시된 바와 같이 사용자(U)는 사용자 단말(200)이 목표 위치(T)를 지시하도록 사용자 단말(200)을 쥐고, 단말 컨트롤 패널(210)에 마련된 이동 버튼을 누를 수 있다. 단말 컨트롤 패널(210)의 이동 버튼이 눌려지면 목표 위치 이동 명령이 입력되며, 사용자 단말(200)은 이동 로봇(100)에 목표 위치 이동 명령을 전송할 수 있다.
목표 위치(T)를 판단하기 위하여, 이동 로봇(100)은 사용자 단말(200)의 위치(P1)의를 판단할 수 있다. 구체적으로, 이동 로봇(100)은 이동 로봇(100)으로부터 사용자 단말(200)의 상대적인 위치를 판단할 수 있다.
이동 로봇(100)은 도 12에 도시된 바와 같이 상대 좌표계를 설정할 수 있다. 이동 로봇(100)의 상대 좌표계는 이동 로봇(100)의 위치(P0)를 원점(0, 0, 0)으로 하며, 이동 로봇(100)의 전방 방향(F)을 +y축 방향으로 하고, 이동 로봇(100)의 우측 방향을 +x축 방향으로 하고, 이동 로봇(100)의 상방을 +z축 방향으로 할 수 있다.
이동 로봇(100)은 이동 로봇(100)의 상대 좌표계에서 사용자 단말(200)의 좌표(x1, y1, z1)를 판단할 수 있다. 예를 들어, 이동 로봇(100)은 이동 로봇(100)에 포함된 로봇 송수신기들(161a, 161b, 161c)과 사용자 단말(200) 사이의 거리를 기초로 사용자 단말(200)의 좌표(x1, y1, z1)를 판단할 수 있다.
또한, 목표 위치(T)를 판단하기 위하여 이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)과, 목표 위치(T)와 사용자 단말(200) 사이의 거리(L1)를 판단할 수 있다.
사용자 단말(200)의 지시 방향(D1)을 판단하기 위하여 이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)를 판단할 수 있다. 예를 들어, 사용자 단말(200)은 단말 움직임 감지부(220)의 출력을 기초로 제1 각도(Θ1)를 판단할 수 있으며, 제1 각도(Θ1)에 관한 정보를 이동 로봇(100)으로 전송할 수 있다.
또한, 이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)이 바닥 면(xy평면)에 투영된 방향(D2) (이하, '바닥 면 상의 지시 방향'이라 한다)과 이동 로봇(100)의 전방 방향(F) 사이의 제2 각도(Θ2)를 판단할 수 있다. 예를 들어, 이동 로봇(100)은 사용자 단말(200)의 제1 단말 송수신기(231a)의 좌표(x1, y1, z1)와 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 판단하고, 제1 단말 송수신기(231a)의 좌표(x1, y1, z1)와 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 기초로 제2 각도(Θ2)를 판단할 수 있다.
또한, 사용자 단말(200)은 거리 감지부(250)의 출력을 기초로 목표 위치(T)와 사용자 단말(200) 사이의 거리(L1)를 판단할 수 있으며, 목표 위치(T)와 사용자 단말(200) 사이의 거리(L1)에 관한 정보를 이동 로봇(100)으로 전송할 수 있다.
이동 로봇(100)은 사용자 단말(200)의 좌표(x1, y1, z1)와 사용자 단말(200)의 지시 방향(제1 각도 및 제2 각도)과 목표 위치(T)와 사용자 단말(200) 사이의 거리(L1)로부터 목표 위치(T)의 좌표(xT, yT, 0)를 판단할 수 있다.
목표 위치(T)의 x축 좌표(xT) 및 y축 좌표(yT)는 각각 [수학식 1] 및 [수학식 2]에 의하여 산출될 수 있다.
[수학식 1]
Figure 112017089199200-pat00001
[수학식 2]
Figure 112017089199200-pat00002
(단, xT는 목표 위치의 x축 좌표, yT는 목표 위치의 y축 좌표, x1은 사용자 단말 위치의 x축 좌표, y1은 사용자 단말 위치의 y축 좌표, L1은 목표 위치와 사용자 단말 사이의 거리, Θ1은 제1 각도, Θ2는 제2 각도를 나타낸다.)
이상에서 설명된 바와 같이, 이동 로봇(100)는 사용자 단말(200)의 위치(P1)와 사용자 단말(200)의 지시 방향(D1, D2)을 기초로 목표 위치(T)를 판단할 수 있다.
이하에서는 이동 로봇(100)의 목표 위치 판단 방법이 보다 상세하게 설명된다.
도 13은 일 실시예에 의한 이동 로봇의 목표 위치 판단 방법을 도시한다. 도 14는 일 실시예에 의한 이동 로봇이 사용자 단말의 위치를 판단하는 일 예를 도시한다. 도 15는 일 실시예에 의한 이동 로봇이 사용자 단말의 위치를 판단하는 다른 일 예를 도시한다. 도 16 및 도 17은 일 실시예에 의한 이동 로봇이 사용자 단말의 지시 방향을 판단하는 일 예를 도시한다.
도 13, 도 14, 도 15, 도 16 및 도 17과 함께, 이동 로봇(100)의 목표 위치 판단 방법(1000)이 설명된다.
이동 로봇(100)은 사용자 단말(200)의 위치(P1)을 획득한다(1010).
이동 로봇(100)은 사용자 단말(200)과의 통신을 이용하여 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
이동 로봇(100)은 로봇 송수신기(161)를 통하여 사용자 단말(200)과 초광대역 무선 신호를 주고 받을 수 있으며, 초광대역 무선 신호의 전파 시간을 기초로 로봇 송수신기(161)와 사용자 단말(200) 사이의 거리를 판단할 수 있다. 또한, 이동 로봇(100)은 로봇 송수신기(161)와 사용자 단말(200) 사이의 거리를 기초로 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
예를 들어, 도 14에 도시된 바와 같이 이동 로봇(100)은 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)를 포함할 수 있으며, 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)은 서로 미리 정해진 거리(a)만큼 이격될 수 있다. 또한, 사용자 단말(200)은 제1 단말 송수신기(231a)를 포함할 수 있으며, 제1 단말 송수신기(231a)의 위치(P1)는 사용자 단말(200)의 위치로 가정할 수 있다.
이동 로봇(100)은 제1 로봇 송수신기(161a)을 통하여 감지 신호를 전송하고, 사용자 단말(200)은 제1 단말 송수신기(231a)를 통하여 감지 신호를 수신할 수 있다. 사용자 단말(200)은 감지 신호에 응답하여 제1 단말 송수신기(231a)를 통하여 응답 신호를 전송할 수 있으며, 이동 로봇(100)은 제1 로봇 송수신기(161a)을 통하여 응답 신호를 수신할 수 있다. 이동 로봇(100)은 감지 신호의 전송과 응답 신호의 수신 사이의 응답 시간 간격을 측정할 수 있다. 또한, 이동 로봇(100)은 응답 시간 간격으로부터 사용자 단말(200)의 감지 신호 처리 시간을 뺀 무선 신호 전파 시간을 산출할 수 있으며, 무선 신호 전파 시간으로부터 사용자 단말(200)의 제1 단말 송수신기(231a)과 제1 로봇 송수신기(161a) 사이의 제1 거리(d1)를 판단할 수 있다.
이동 로봇(100)은 제2 로봇 송수신기(161b)을 통하여 감지 신호를 전송하고, 사용자 단말(200)은 감지 신호의 수신에 응답하여 제1 단말 송수신기(231a)를 통하여 응답 신호를 전송할 수 있다. 이동 로봇(100)은 제2 로봇 송수신기(161b)을 통하여 응답 신호를 수신할 수 있다. 이동 로봇(100)은 감지 신호의 전송과 응답 신호의 수신 사이의 응답 시간 간격을 측정할 수 있으며, 응답 시간 간격을 기초로 사용자 단말(200)의 제1 단말 송수신기(231a)과 제2 로봇 송수신기(161b) 사이의 제2 거리(d2)를 판단할 수 있다.
이동 로봇(100)은 제3 로봇 송수신기(161c)을 통하여 감지 신호를 전송하고, 사용자 단말(200)은 감지 신호의 수신에 응답하여 제1 단말 송수신기(231a)를 통하여 응답 신호를 전송할 수 있다. 이동 로봇(100)은 제3 로봇 송수신기(161c)을 통하여 응답 신호를 수신할 수 있다. 이동 로봇(100)은 감지 신호의 전송과 응답 신호의 수신 사이의 응답 시간 간격을 측정할 수 있으며, 응답 시간 간격을 기초로 사용자 단말(200)의 제1 단말 송수신기(231a)과 제3 로봇 송수신기(161c) 사이의 제3 거리(d3)를 판단할 수 있다.
이동 로봇(100)은 제1 거리(d1), 제2 거리(d2), 제3 거리(d3), 제1 단말 송수신기(231a)의 좌표, 제2 단말 송수신기(231b)의 좌표 및 제3 단말 송수신기(231c)의 좌표를 기초로 사용자 단말(200)의 좌표(x1, y1, z1) (정확히는 제1 단말 송수신기의 좌표)를 판단할 수 있다. 이때, 제1 단말 송수신기(231a)의 좌표는 (
Figure 112017089199200-pat00003
)이며, 제2 단말 송수신기(231b)의 좌표는 (
Figure 112017089199200-pat00004
)이며, 제3 단말 송수신기(231c)의 좌표는 (
Figure 112017089199200-pat00005
)일 수 있다.사용자 단말(200)의 좌표(x1, y1, z1)와 제1 단말 송수신기(231a)의 좌표와 제1 거리(d1)는 [수학식 3]의 관계를 갖는다.
[수학식 3]
Figure 112017089199200-pat00006
(단, x1은 사용자 단말의 x축 좌표, y1은 사용자 단말의 y축 좌표, z1은 사용자 단말의 x축 좌표, a는 제1 단말 송수신기와 제2 단말 송수신기와 제3 단말 송수신기 사이의 거리, d1은 제1 거리를 나타낸다.)
사용자 단말(200)의 좌표(x1, y1, z1)와 제2 단말 송수신기(231b)의 좌표와 제2 거리(d2)는 [수학식 4]의 관계를 갖는다.
[수학식 4]
Figure 112017089199200-pat00007
(단, x1은 사용자 단말의 x축 좌표, y1은 사용자 단말의 y축 좌표, z1은 사용자 단말의 x축 좌표, a는 단말 송수신기 사이의 거리, d2은 제2 거리를 나타낸다.)
사용자 단말(200)의 좌표(x1, y1, z1)와 제3 단말 송수신기(231c)의 좌표와 제3 거리(d3)는 [수학식 5]의 관계를 갖는다.
[수학식 5]
Figure 112017089199200-pat00008
(단, x1은 사용자 단말의 x축 좌표, y1은 사용자 단말의 y축 좌표, z1은 사용자 단말의 x축 좌표, a는 단말 송수신기 사이의 거리, d3은 제3 거리를 나타낸다.)
이동 로봇(100)은 가우스-뉴턴법(Gauss-Newton Method)을 이용하여 [수학식 3], [수학식 4] 및 [수학식 5]의 연립 근사해(x1, y1, z1)를 산출할 수 있다.
다른 예로, 도 15에 도시된 바와 같이 이동 로봇(100)은 제1 로봇 송수신기(161a)를 포함할 수 있다.
이동 로봇(100)은 사용자 단말(200)의 좌표(x1, y1, z1)를 판단하기 위하여 제자리에서 회전할 수 있으며, 제자리에 회전하는 동안 제1 로봇 송수신기(161a)의 좌표와 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 거리를 판단할 수 있다.
도 15의 (a)에 도시된 바와 같이 제자리에서 '0'도 회전한 때 이동 로봇(100)는 응답 시간 간격을 기초로 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 제1 거리(d1)를 판단할 수 있다. 도 15의 (b)에 도시된 바와 같이 제자리에서 '120'도 회전한 때 이동 로봇(100)는 응답 시간 간격을 기초로 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 제2 거리(d2)를 판단할 수 있다. 또한, 도 15의 (c)에 도시된 바와 같이 제자리에서 '240'도 회전한 때 이동 로봇(100)는 응답 시간 간격을 기초로 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 제3 거리(d3)를 판단할 수 있다.
이동 로봇(100)은 제1 거리(d1), 제2 거리(d2) 및 제3 거리(d3)를 기초로 삼각 측량법을 이용하여 사용자 단말(200)의 좌표(x1, y1, z1) (정확히는 제1 단말 송수신기의 좌표)를 판단할 수 있다.
이동 로봇(100)은 가우스-뉴턴법을 이용하여 [수학식 3], [수학식 4] 및 [수학식 5]의 연립 근사해(x1, y1, z1)를 산출할 수 있다.
사용자 단말(200)의 좌표(x1, y1, z1)를 판단하기 위하여 이동 로봇(100)이 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 거리를 판단하는 지점은 3개에 한정되지 않는다. 예를 들어, 이동 로봇(100)은 제자리에서 회전하는 동안 수십 개의 지점에서 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 거리를 판단할 수 있으며, 사용자 단말(200)의 좌표와 제1 로봇 송수신기(161a)의 좌표 사이의 수십 개의 방정식을 획득할 수 있다. 또한, 이동 로봇(100)은 가우스-뉴턴법을 이용하여 수십 개의 연립 방정식의 해를 산출할 수 있다.
또 다른 예로, 이동 로봇(100)은 제1 로봇 송수신기(161a)를 포함할 수 있으며, 사용자 단말(200)의 좌표(x1, y1, z1)를 판단하기 위하여 이동할 수 있다. 이동하는 동안 이동 로봇(100)은 제1 로봇 송수신기(161a)의 좌표와 사용자 단말(200)과 제1 로봇 송수신기(161a) 사이의 거리를 판단할 수 있으며, 사용자 단말(200)의 좌표와 제1 로봇 송수신기(161a)의 좌표 사이의 수십 개의 방정식을 획득할 수 있다. 이동 로봇(100)은 가우스-뉴턴법을 이용하여 수십 개의 연립 방정식의 해를 산출할 수 있다.
구체적으로, 이동 로봇(100)의 이동 중에 이동 로봇(100)의 좌표와 이동 로봇(100)이 향하는 방향(전방 방향, 로봇 자이로 센서의 출력 값)이 변화할 수 있다. 이동 로봇(100)의 좌표와 전방 방향이 변화함으로 인하여 제1 로봇 송수신기(161a)의 좌표(Xr, Yr, 0) 역시 함께 변화할 수 있다. 뿐만 아니라, 이동 로봇(100)의 이동으로 인하여 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리(d) 역시 함께 변화할 수 있다.
이동 중에 이동 로봇(100)은 제1 로봇 송수신기(161a)의 좌표들((Xr1, Yr2, 0), (Xr2, Yr2, 0), (Xr3, Yr3, 0), ...)과 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리들(d1, d2, d3, ...)를 측정할 수 있다. 제1 위치에서의 제1 로봇 송수신기(161a)의 좌표(Xr1, Yr1, 0)와 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리(d1), 제2 위치에서의 제1 로봇 송수신기(161a)의 좌표(Xr2, Yr2, 0)와 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리(d2), 제3 위치에서의 제1 로봇 송수신기(161a)의 좌표(Xr3, Yr3, 0)와 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리(d3)가 측정될 수 있다.
또한, 이동 로봇(100)은 제1 로봇 송수신기(161a)의 좌표들((Xr1, Yr2, 0), (Xr2, Yr2, 0), (Xr3, Yr3, 0), ...)과 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리들(d1, d2, d3, ...)은 [수학식 6]의 관계를 갖는다.
[수학식 6]
Figure 112017089199200-pat00009
(단, x1은 사용자 단말의 x축 좌표, y1은 사용자 단말의 y축 좌표, Xr1는 제1 위치에서의 제1 로봇 송수신기의 x축 좌표, Yr1은 제1 위치에서의 제1 로봇 송수신기의 y축 좌표, d1은 제1 위치에서의 제1 로봇 송수신기와 사용자 단말 사이의 거리, Xr2는 제2 위치에서의 제1 로봇 송수신기의 x축 좌표, Yr2은 제2 위치에서의 제1 로봇 송수신기의 y축 좌표, d2은 제2 위치에서의 제1 로봇 송수신기와 사용자 단말 사이의 거리, Xr3는 제3 위치에서의 제1 로봇 송수신기의 x축 좌표, Yr3은 제3 위치에서의 제1 로봇 송수신기의 y축 좌표, d3은 제3 위치에서의 제1 로봇 송수신기와 사용자 단말 사이의 거리를 나타낸다.)
이동 로봇(100)은 가우스-뉴턴법을 이용하여 [수학식 6]의 연립 근사해(x1, y1, 0)를 산출할 수 있다. [수학식 6]에는 3개의 연립 방정식이 기재되었으나, 이에 한정되지 아니하며 수 개에서 수 백개까지의 연립 방정식이 획득될 수 있다.
또한, 사용자 단말(200)의 z축 좌표(z1)는 제1 로봇 송수신기(161a)의 좌표들((Xr1, Yr2, 0), (Xr2, Yr2, 0), (Xr3, Yr3, 0), ... )과 제1 로봇 송수신기(161a)과 사용자 단말(200) 사이의 거리들(d1, d2, d3, ...)로부터 산출되거나, 사용자 단말(200)의 거리 감지부(250)에 의하여 검출된 목표 위치(T)와 사용자 단말(200) 사이의 거리(L1)로부터 산출될 수 있다.
또한, 이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)를 획득한다(1020).
사용자 단말(200)은 단말 가속도 센서(221)를 이용하여 사용자 단말(200)의 자세를 판단할 수 있다. 단말 가속도 센서(221)는 지구 중력에 의한 가속도(중력 가속도)를 기준으로 사용자 단말(200)의 선형 이동 가속도 및/또는 사용자 단말(200)의 자세를 판단할 수 있다. 예를 들어, 단말 가속도 센서(221)는 중력 가속도의 방향 변화를 기초로 사용자 단말(200)의 자세를 판단할 수 있다.
사용자 단말(200)은 단말 가속도 센서(221)의 출력으로부터 사용자 단말(200)의 기울어짐 즉, 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)를 판단할 수 있다. 또한, 사용자 단말(200)은 단말 통신부(230)를 통하여 이동 로봇(100)으로 제1 각도(Θ1)에 관한 정보를 전송할 수 있다.
이동 로봇(100)은 로봇 통신부(160)를 통하여 제1 각도(Θ1)에 관한 정보를 수신할 수 있으며, 제1 각도(Θ1)에 관한 정보로부터 제1 각도(Θ1)를 획득할 수 있다.
또한, 이동 로봇(100)은 바닥 면 상의 지시 방향(D2)과 이동 로봇(100)의 전방 방향(F) 사이의 제2 각도(Θ2)를 획득한다(1030).
제2 각도(Θ2)을 획득하기 위하여 이동 로봇(100)은 사용자 단말(200)이 지시하는 방향을 나타내는 지시 선을 판단할 수 있다. 또한, 지시 선을 판단하기 위하여 이동 로봇(100)은 사용자 단말(200)의 지시 선 상에 위치하는 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)의 위치를 판단할 수 있다.
제1 단말 송수신기(231a)의 위치(P1)는 동작 1010에서 사용자 단말(200)의 좌표(x1, y1, z1)를 판단하기 위하여 산출된다. 따라서, 제1 단말 송수신기(231a)의 위치는 사용자 단말(200)의 좌표(x1, y1, z1)와 동일할 수 있다.
이동 로봇(100)은 사용자 단말(200)과의 통신을 통하여 제2 단말 송수신기(231b)의 위치(P2)를 판단할 수 있다.
예를 들어, 이동 로봇(100)이 로봇 송수신기(161)를 통하여 감지 신호를 전송하고, 사용자 단말(200)은 제2 단말 송수신기(231b)를 통하여 감지 신호를 수신할 수 있다. 사용자 단말(200)은 감지 신호에 응답하여 제2 단말 송수신기(231b)를 통하여 응답 신호를 전송할 수 있으며, 이동 로봇(100)은 로봇 송수신기(161)을 통하여 응답 신호를 수신할 수 있다.
이동 로봇(100)는 감지 신호의 전송과 응답 신호의 수신 사이의 응답 시간 간격을 측정할 수 있으며, 도 16에 도시된 바와 같이 제4 거리(d4), 제5 거리(d5) 및 제6 거리(d6)를 판단할 수 있다.
이동 로봇(100)은 제4 거리(d4), 제5 거리(d5) 및 제6 거리(d6)를 기초로 삼각 측량법을 이용하여 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 판단할 수 있다.
이동 로봇(100)은 도 17에 도시된 바와 같이 제1 단말 송수신기(231a)의 xy좌표(x1, y1)와 2 단말 송수신기(231)의 xy좌표(x2, y2)를 기초로 바닥 면(xy평면) 상에서의 사용자 단말(200)의 지시 선을 산출할 수 있으며, 또한 지시 선의 기울기를 기초로 바닥 면 상의 지시 방향(D2)와 이동 로봇(100)의 전방 방향(F) 사이의 제2 각도(Θ2)를 산출할 수 있다.
이동 로봇(100)은 [수학식 7]을 이용하여 제2 각도(Θ2)를 산출할 수 있다.
[수학식 7]
Figure 112017089199200-pat00010
(단, Θ2는 제2 각도, x1은 제1 단말 송수신기의 x축 좌표, y1은 제1 단말 송수신기의 y축 좌표, x2은 제2 단말 송수신기의 x축 좌표, y2은 제2 단말 송수신기의 y축 좌표를 나타낸다.)
이동 로봇(100)은 사용자 단말(200)에 의하여 지시된 목표 위치(T)를 판단한다(1040).
이동 로봇(100)은 사용자 단말(200)의 좌표(x1, y1, z1)와, 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)와, 바닥 면 상의 지시 방향(D2)과 이동 로봇(100)의 전방 방향(F) 사이의 제2 각도(Θ2)를 기초로 목표 위치(T)의 좌표(xT, yT, 0)를 판단할 수 있다. 예를 들어, 목표 위치(T)의 x축 좌표(xT) 및 y축 좌표(yT)는 각각 앞서 설명된 [수학식 1] 및 [수학식 2]에 의하여 산출될 수 있다.
목표 위치(T)를 판단한 이후, 이동 로봇(100)은 목표 위치(T)를 향하여 이동할 수 있다.
이상에서 설명된 바와 같이, 이동 로봇(100)은 사용자 단말(200)과의 통신을 통하여 사용자 단말(200)의 위치(P1) 및 사용자 단말(200)의 지시 방향(D1, D2)을 판단할 수 있으며, 사용자 단말(200)의 위치(P1) 및 사용자 단말(200)의 지시 방향(D1)을 기초로 목표 위치(T)를 판단할 수 있다.
이동 로봇(100)은 3 또는 1개의 로봇 송수신기(161)를 포함할 수 있다. 이동 로봇(100)이 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c)를 포함하는 경우, 이동 로봇(100)은 제1 로봇 송수신기(161a)와 제2 로봇 송수신기(161b)와 제3 로봇 송수신기(161c) 각각과 사용자 단말(200) 사이의 거리를 기초로 사용자 단말(200)의 위치(P1)를 판단할 수 있다. 또한, 이동 로봇(100)이 제1 로봇 송수신기(161a)를 포함하는 경우, 이동 로봇(100)은 제자리 회전 또는 이동 중에 제1 로봇 송수신기(161a)와 사용자 단말(200) 사이의 거리를 기초로 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
또한, 사용자 단말(200)은 이동 로봇(100)과 데이터를 주고 받을 수 있는 제1 단말 송수신기(231a)와 제2 단말 송수신기(231b)를 포함할 수 있으며, 이동 로봇(100)은 제1 단말 송수신기(231a)의 위치(P1)와 제2 단말 송수신기(231b)의 위치(P2)를 기초로 사용자 단말(200)의 지시 방향(D1, D2)을 판단할 수 있다.
도 18는 일 실시예에 의한 이동 로봇이 목표 위치로 이동하는 방법을 도시한다.
도 18와 함께, 이동 로봇(100)의 목표 위치 이동 방법(1200)이 설명된다.
이동 로봇(100)는 사용자 단말(200)로부터 이동 로봇 호출 신호를 수신한다(1210).
사용자(U)는 목표 위치(T)를 지정하기 전에 사용자 단말(200)을 이용하여 이동 로봇(100)을 호출할 수 있다. 예를 들어, 이동 로봇(100)과 사용자 단말(200) 사이에 장애물이 위치하는 경우, 이동 로봇(100)이 정확한 목표 위치(T)를 판단하기 어려움이 있다.
따라서, 목표 위치(T)를 지정하기 전에 이동 로봇(100)이 사용자 단말(200)과 근접한 위치로 이동할 수 있도록 사용자(U)는 사용자 단말(200)을 이용하여 이동 로봇(100)을 호출할 수 있으며, 이동 로봇(100)은 호출 신호를 수신할 수 이다.
이동 로봇(100)은 사용자 단말(200)의 위치를 판단한다(1220).
이동 로봇(100)은 사용자 단말(200)과의 통신을 이용하여 사용자 단말(200)의 위치를 판단할 수 있다. 예를 들어, 이동 로봇(100)은 로봇 송수신기(161)를 통하여 사용자 단말(200)과 초광대역 무선 신호를 주고 받을 수 있으며, 초광대역 무선 신호의 전파 시간을 기초로 로봇 송수신기(161)와 사용자 단말(200) 사이의 거리를 판단할 수 있다. 또한, 이동 로봇(100)은 로봇 송수신기(161)와 사용자 단말(200) 사이의 거리를 기초로 사용자 단말(200)의 위치를 판단할 수 있다.
다만, 이동 로봇(100)과 사용자 단말(200) 사이에 장애물이 위치하는 경우, 이동 로봇(100)은 정확한 사용자 단말(200)의 위치를 판단하기 어려움이 있으나, 사용자 단말(200)이 위치하는 방향을 판단할 수 있다.
이동 로봇(100)은 사용자 단말(200)을 향하여 이동한다(1230).
이동 로봇(100)은 사용자 단말(200)의 위치 또는 사용자 단말(200)의 방향을 향하여 이동하도록 구동부(140)를 제어할 수 있다. 또한, 사용자 단말(200)을 향하여 이동하는 중에 장애물(예를 들어, 벽 또는 가구 등)이 검출되면 이동 로봇(100)는 장애물을 회피하거나, 장애물의 외각선을 따라 주행할 수 있다.
이동 로봇(100)은 주행 공간을 나타내는 지도를 기초로 이동 로봇(100)으로부터 사용자 단말(200)의 위치까지 경로를 생성하고, 생성된 경로를 따라 사용자 단말(200)을 향하여 이동할 수 있다.
또한, 이동 로봇(100)는 사용자 단말(200)을 향하여 이동하는 중에 주기적으로 사용자 단말(200)의 위치를 갱신하고, 갱신된 사용자 단말(200)의 위치를 향하여 이동할 수 있다.
특히, 이동 로봇(100)은 사용자 단말(200)을 향하여 이동하는 동안 이동 로봇(100)과 사용자 단말(200) 사이의 거리들을 판단할 수 있으며, 이동 로봇(100)이 사용자 단말(200)에 가까워짐에 따라 이동 로봇(100)과 사용자 단말(200) 사이의 거리 데이터들의 개수가 증가한다. 또한, 이동 로봇(100)과 사용자 단말(200) 사이의 거리 데이터들의 개수가 증가함에 따라 이동 로봇(100)은 더욱 정확한 사용자 단말(200)의 위치를 판단할 수 있다. 구체적으로, 이동 로봇(100)은 이동 중에 자신의 위치값이 변화면서 로봇에 장착된 로봇 송수신기, 사용자 단말(200)과 이동 로봇(100) 사이의 거리 등의 데이터를 최소 수십개 획득하고, 수십 개의 원의 연립방정식으로 표현한 후, 가우스-뉴턴법을 이용하여 연립 방정식의 해(즉, 사용자 단말(200)의 좌표)를 산출할 수 있다.
이동 로봇(100)은 사용자 단말(200)로부터 목표 위치 지정 신호를 수신한다(1240).
사용자(U)는 이동 로봇(100)의 위치가 확인하거나 이동 로봇(100)이 사용자 단말(200)에 근접하면 사용자 단말(200)을 이용하여 목표 위치(T)를 지정하기 위한 사용자 입력을 입력할 수 있다.
사용자 단말(200)은 목표 위치(T)를 지정하기 위한 사용자 입력에 응답하여 이동 로봇(100)으로 목표 위치 지정 신호를 전송할 수 있다.
이동 로봇(100)은 사용자 단말(200)의 위치(P1)를 판단한다(1250).
이동 로봇(100)은 사용자 단말(200)과의 통신을 이용하여 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
사용자 단말(200)의 위치(P1)를 판단하는 방법은 도 13에 도시된 동작 1010과 동일할 수 있다.
이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)을 판단한다(1260).
이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)을 판단하기 위하여 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)와, 바닥 면 상의 지시 방향(D2)와 이동 로봇(100)의 전방 방향(F) 사이의 제2 각도(Θ2)를 판단할 수 있다.
제1 각도(Θ1)를 판단하는 방법은 도 13에 도시된 동작 1020과 동일할 수 있으며, 제2 각도(Θ2)를 판단하는 방법은 도 13에 도시된 동작 1030과 동일할 수 있다.
이동 로봇(100)은 목표 위치(T)를 판단한다(1270).
이동 로봇(100)은 사용자 단말(200)의 좌표(x1, y1, z1)와, 제1 각도(Θ1)와, 제2 각도(Θ2)를 기초로 목표 위치(T)의 좌표(xT, yT, 0)를 판단할 수 있다.
목표 위치(T)를 판단하는 방법은 도 13에 도시된 동작 1040과 동일할 수 있다.
이동 로봇(100)은 목표 위치(T)를 향하여 이동한다(1280).
이동 로봇(100)은 목표 위치(T)까지의 경로를 생성하고, 생성된 경로를 따라 이동하도록 구동부(140)를 제어할 수 있다.
이상에서 설명된 바와 같이, 이동 로봇(100)이 목표 위치(T)를 보다 정확하게 판단할 수 있도록 사용자(U)는 이동 로봇(100)를 호출하고, 이후 목표 위치(T)를 지정할 수 있다. 호출 신호가 수신되면 이동 로봇(100)은 사용자 단말(200)을 향하여 이동하고, 목표 위치 지정 신호가 수신되면 이동 로봇(100)은 목표 위치(T)를 향하여 이동할 수 있다.
도 19는 일 실시예에 의한 이동 로봇 시스템을 도시한다.
도 19를 참조하면, 이동 로봇 시스템(2)은 바닥을 주행하는 이동 로봇(100)과, 이동 로봇(100)의 주행을 제어하는 사용자 단말(200)과, 이동 로봇(100)을 충전하는 충전 스테이션(300)과, 이동 로봇(100) 및 사용자 단말(200)과 통신하는 제1 비콘(400) 및 제2 비콘(500)을 포함할 수 있다.
이동 로봇(100)은 주행 공간의 바닥을 주행할 수 있다. 이동 로봇(100)은 도 1과 함께 설명된 이동 로봇(100)과 동일할 수 있다.
사용자 단말(200)은 사용자(U)의 사용자 입력을 수신하고, 사용자 입력에 대응하는 사용자 제어 신호를 이동 로봇(100)으로 전송할 수 있다. 사용자 단말(200)은 도 1과 함께 설명된 사용자 단말(200)과 동일할 수 있다.
충전 스테이션(300)은 이동 로봇(100)의 구성 부품들에 전력을 공급하는 배터리를 충전할 수 있으며, 먼지를 저장하는 먼지함을 비울 수 있다. 충전 스테이션(300)은 주행 공간 내에 임의의 위치에 설치될 수 있다.
또한, 충전 스테이션(300)은 이동 로봇(100) 및 사용자 단말(200)과 데이터를 주고받을 수 있다. 예를 들어, 충전 스테이션(300)는 이동 로봇(100)의 위치를 판단하기 위하여 이동 로봇(100)과 초광대역 무선 신호를 주고 받을 수 있으며, 사용자 단말(200)의 위치를 판단하기 위하여 사용자 단말(200)과 초광대역 무선 신호를 주고 받을 수 있다.
제1 비콘(400) 및 제2 비콘(500)은 각각 이동 로봇(100) 및 사용자 단말(200)과 데이터를 주고받을 수 있다. 예를 들어, 제1 비콘(400) 및 제2 비콘(500)은 각각 이동 로봇(100)의 위치를 판단하기 위하여 이동 로봇(100)과 초광대역 무선 신호를 주고 받을 수 있으며, 사용자 단말(200)의 위치를 판단하기 위하여 사용자 단말(200)과 초광대역 무선 신호를 주고 받을 수 있다.
이처럼, 이동 로봇(100)의 위치를 판단하기 위하여 이동 로봇(100)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500)과 통신할 수 있다. 또한, 사용자 단말(200)의 위치 및 사용자 단말(200)의 지시 방향을 판단하기 위하여 사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500)과 통신할 수 있다.
이동 로봇(100)은 이동 로봇(100)의 위치, 사용자 단말(200)의 위치 및 사용자 단말(200)의 지시 방향을 기초로 사용자 단말(200)이 지시하는 목표 위치(T)를 판단할 수 있다.
도 20는 일 실시예에 의한 이동 로봇이 목표 위치를 판단하는 방법을 도시한다. 도 21은 일 실시예에 의한 사용자 단말의 위치를 판단하는 일 예를 도시한다. 도 22은 일 실시예에 의한 사용자 단말의 지시 방향을 판단하는 일 예를 도시한다.
도 20, 도 21 및 도 22과 함께, 이동 로봇(100)의 목표 위치 판단 방법(1100)이 설명된다.
이동 로봇(100)은 사용자 단말(200)의 위치(P1)를 획득한다(1110).
사용자 단말(200)의 위치(P1)는 기준점(예를 들어, 충전 스테이션의 위치)을 원점으로 하는 좌표계에서의 좌표를 나타낼 수 있다. 좌표계는 이동 로봇(100)의 위치 또는 이동에 의하여 변하지 않는 절대 좌표계일 수 있다.
사용자 단말(200)은 제1 단말 송수신기(231a)를 통하여 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과의 통신할 수 있으며, 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과의 통신을 이용하여 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
사용자 단말(200)은 제1 단말 송수신기(231a)를 통하여 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 초광대역 무선 신호를 주고 받을 수 있으며, 초광대역 무선 신호의 전파 시간을 기초로 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제1 단말 송수신기(231a) 사이의 거리를 판단할 수 있다. 또한, 사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제1 단말 송수신기(231a) 사이의 거리를 기초로 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
예를 들어, 도 21에 도시된 바와 같이 사용자 단말(200)은 제1 단말 송수신기(231a)을 통하여 감지 신호를 전송하고, 충전 스테이션(300)은 감지 신호에 응답하여 응답 신호를 전송할 수 있다. 사용자 단말(200)은 제1 단말 송수신기(231a)를 통하여 충전 스테이션(300)의 응답 신호를 수신하고, 감지 신호의 전송과 응답 신호의 수신 사이의 응답 시간 간격을 기초로 제1 단말 송수신기(231a)와 충전 스테이션(300) 사이의 제1 거리(d1)을 판단할 수 있다.
또한, 사용자 단말(200)은 제1 비콘(400)의 통신을 통하여 제1 단말 송수신기(231a)와 제1 비콘(400) 사이의 제2 거리(d2)을 판단하고, 제2 비콘(500)의 통신을 통하여 제1 단말 송수신기(231a)와 제2 비콘(500) 사이의 제3 거리(d3)을 판단할 수 있다.
사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제1 단말 송수신기(231a) 사이의 거리(d1, d2, d3)로부터 사용자 단말(200)의 좌표(x1, y1, z1) (정확히는 제1 단말 송수신기의 좌표)를 판단할 수 있으며, 사용자 단말(200)의 위치(P1)에 관한 정보를 이동 로봇(100)으로 전송할 수 있다. 이동 로봇(100)은 사용자 단말(200)의 위치(P1)에 관한 정보로부터 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
뿐만 아니라, 사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제1 단말 송수신기(231a) 사이의 거리(d1, d2, d3)에 관한 정보를 이동 로봇(100)으로 전송할 수 있다. 이동 로봇(100)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제1 단말 송수신기(231a) 사이의 거리(d1, d2, d3)를 기초로 사용자 단말(200)의 위치(P1)를 판단할 수 있다.
이동 로봇(100)은 사용자 단말(200)의 지시 방향(D1)를 획득한다(1120).
사용자 단말(200)의 지시 방향(D1)은 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)와, 바닥 면 상의 지시 방향(D2)와 +y축 방향 사이의 제2 각도(Θ2)로 나타낼 수 있다.
제1 각도(Θ1)을 판단하기 위하여 사용자 단말(200)은 단말 가속도 센서(221)를 이용하여 사용자 단말(200)의 자세를 판단할 수 있다. 단말 가속도 센서(221)는 중력 가속도의 방향 변화를 기초로 사용자 단말(200)의 자세를 판단할 수 있다.
사용자 단말(200)은 단말 가속도 센서(221)의 출력으로부터 사용자 단말(200)의 기울어짐 즉, 사용자 단말(200)의 지시 방향(D1)과 수직 방향(G1) 사이의 제1 각도(Θ1)를 판단할 수 있다. 또한, 사용자 단말(200)은 단말 통신부(230)를 통하여 이동 로봇(100)으로 제1 각도(Θ1)에 관한 정보를 전송할 수 있다.
제2 각도(Θ2)을 판단하기 위하여 사용자 단말(200)은 도 22에 도시된 바와 같이 제2 단말 송수신기(231b)의 위치(P2)를 판단할 수 있다. 제2 단말 송수신기(231b)의 위치(P2)는 기준점(예를 들어, 충전 스테이션의 위치)을 원점으로 하는 좌표계에서의 좌표를 나타낼 수 있다.
사용자 단말(200)은 제2 단말 송수신기(231b)를 통하여 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과의 통신할 수 있으며, 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제2 단말 송수신기(231b) 사이의 거리를 판단할 수 있다
사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제2 단말 송수신기(231b) 사이의 거리를 기초로 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 판단할 수 있으며, 제1 단말 송수신기(231a)의 좌표(x1, y1, z1)와 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 기초로 제2 각도(Θ2)을 판단할 수 있다. 사용자 단말(200)은 단말 통신부(230)를 통하여 이동 로봇(100)으로 제2 각도(Θ2)에 관한 정보를 전송할 수 있으며, 이동 로봇(100)은 사용자 단말(200)로부터 제1 각도(Θ1)에 관한 정보와 제2 각도(Θ2)에 관한 정보로부터 사용자 단말(200)의 지시 방향(D1)을 나타내는 제1 각도(Θ1)와 제2 각도(Θ2)를 판단할 수 있다.
뿐만 아니라, 사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제2 단말 송수신기(231b) 사이의 거리에 관한 정보를 이동 로봇(100)으로 전송할 수 있다. 이동 로봇(100)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 제2 단말 송수신기(231b) 사이의 거리를 기초로 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 판단할 수 있으며, 제1 단말 송수신기(231a)의 좌표(x1, y1, z1)와 제2 단말 송수신기(231b)의 좌표(x2, y2, z2)를 기초로 제2 각도(Θ2)을 판단할 수 있다.
이동 로봇(100)은 사용자 단말(200)에 의하여 지시된 목표 위치(T)를 판단한다(1130).
이동 로봇(100)은 사용자 단말(200)의 좌표(x1, y1, z1)와, 제1 각도(Θ1)와, 제2 각도(Θ2)를 기초로 목표 위치(T)의 좌표(xT, yT, 0)를 판단할 수 있다. 예를 들어, 목표 위치(T)의 x축 좌표(xT) 및 y축 좌표(yT)는 각각 앞서 설명된 [수학식 1] 및 [수학식 2]에 의하여 산출될 수 있다.
이동 로봇(100)은 이동 로봇(100)의 위치(P0)를 획득한다(1140).
이동 로봇(100)의 위치(P0)는 기준점(예를 들어, 충전 스테이션의 위치)을 원점으로 하는 좌표계에서의 좌표를 나타낼 수 있다.
이동 로봇(100)은 로봇 송수신기(161)를 통하여 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과의 통신할 수 있으며, 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과의 통신을 이용하여 이동 로봇(100)의 위치(P0)를 판단할 수 있다.
이동 로봇(100)는 로봇 송수신기(161)를 통하여 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 초광대역 무선 신호를 주고 받을 수 있으며, 초광대역 무선 신호의 전파 시간을 기초로 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 로봇 송수신기(161) 사이의 거리를 판단할 수 있다. 또한, 이동 로봇(100)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500) 각각과 로봇 송수신기(161) 사이의 거리를 기초로 이동 로봇(100)의 좌표(x0, y0, 0)를 판단할 수 있다.
이동 로봇(100)은 목표 위치(T)를 향하여 이동한다(1150).
이동 로봇(100)은 이동 로봇(100)이 위치(P0)와 목표 위치(T)를 기초로 목표 위치(T)까지의 경로를 생성할 수 있으며, 생성된 경로를 따라 목표 위치(T)를 향하여 이동할 수 있다.
또한, 이동 로봇(100)은 목표 위치(T)를 향하여 이동 중에 이동 로봇(100)의 위치를 갱신할 수 있다.
이상에서 설명된 바와 같이, 이동 로봇(100)과 사용자 단말(200)은 충전 스테이션(300), 제1 비콘(400) 및 제2 비콘(500)과의 통신을 통하여 이동 로봇(100)의 위치(P0), 사용자 단말(200)의 위치(P1) 및 사용자 단말(200)의 지시 방향(D1)을 판단할 수 있다. 또한, 이동 로봇(100)은 사용자 단말(200)의 위치(P1) 및 사용자 단말(200)의 지시 방향(D1)을 기초로 목표 위치(T)를 판단할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 게시된 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 게시된 실시예의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
1, 2: 이동 로봇 시스템 100: 이동 로봇
101: 로봇 본체 101a: 메인 바디
101b: 서브 바디 103: 먼지 흡입구
110: 로봇 컨트롤 패널 111: 로봇 입력 버튼
112: 로봇 디스플레이 120: 로봇 움직임 감지부
121: 로봇 가속도 센서 122: 로봇 자이로 센서
130: 로봇 장애물 감지부 131: 발신부
132: 수신부 140: 구동부
141: 바퀴 구동 모터 142: 구동 바퀴
150: 청소부 151: 브러시 구동 모터
152: 드럼 브러시 153: 팬 구동 모터
154: 먼지 흡입 팬 160: 로봇 통신부
161: 로봇 송수신기 161a: 제1 로봇 송수신기
161b: 제2 로봇 송수신기 161c: 제3 로봇 송수신기
162: 로봇 통신 프로세서 162a: 제1 로봇 통신 프로세서
162b: 제2 로봇 통신 프로세서 162c: 제3 로봇 통신 프로세서
170: 로봇 제어부 171: 마이크로프로세서
172: 메모리 200: 사용자 단말
201: 단말 본체 210: 단말 컨트롤 패널
211: 단말 입력 버튼 220: 단말 움직임 감지부
221: 단말 가속도 센서 222: 단말 자이로 센서
230: 단말 통신부 231: 단말 송수신기
231a: 제1 단말 송수신기 231b: 제2 단말 송수신기
232: 단말 통신 프로세서 232a: 제1 단말 통신 프로세서
232b: 제2 단말 통신 프로세서 240: 단말 제어부
241: 마이크로 컨트롤러 300: 충전 스테이션
400: 제1 비콘 500: 제2 비콘

Claims (20)

  1. 사용자 단말에 의하여 지시된 목표 위치로 이동하는 이동 로봇에 있어서,
    상기 이동 로봇을 이동시키는 구동부;
    상기 사용자 단말에 포함된 제1 단말 송수신기와 제2 단말 송수신기 각각과 무선 신호를 주고 받는 통신부; 및
    상기 제1 단말 송수신기와의 무선 신호의 송수신과 상기 제2 단말 송수신기와의 무선 신호의 송수신 이후 상기 목표 위치로 이동하도록 상기 구동부를 제어하는 제어부를 포함하는 이동 로봇.
  2. 제1항에 있어서,
    상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 목표 위치를 판단하고, 상기 목표 위치로 이동하도록 상기 구동부를 제어하는 이동 로봇.
  3. 제2항에 있어서,
    상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하고, 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 기초로 상기 목표 위치를 판단하는 이동 로봇.
  4. 제3항에 있어서,
    상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하고, 상기 제1 단말 송수신기의 위치와 상기 제2 단말 송수신기의 위치를 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하는 이동 로봇.
  5. 제4항에 있어서,
    상기 통신부는 제1 로봇 송수신기, 제2 로봇 송수신기 및 제3 로봇 송수신기를 포함하고,
    상기 제어부는 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하는 이동 로봇.
  6. 제4항에 있어서,
    상기 통신부는 제1 로봇 송수신기를 포함하고,
    상기 제어부는 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하는 이동 로봇.
  7. 제1항에 있어서,
    상기 통신부는 제1 로봇 송수신기, 제2 로봇 송수신기 및 제3 로봇 송수신기를 포함하고,
    상기 제어부는 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 이동 로봇.
  8. 제1항에 있어서,
    상기 통신부는 제1 로봇 송수신기를 포함하고,
    상기 이동 로봇이 제자리에서 회전하는 동안 상기 제어부는 상기 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 이동 로봇.
  9. 사용자 단말에 의하여 지시된 목표 위치로 이동 로봇을 이동시키는 이동 로봇의 제어 방법에 있어서,
    상기 사용자 단말에 포함된 제1 단말 송수신기와 제2 단말 송수신기 각각과 무선 신호를 주고 받고;
    상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 목표 위치를 판단하고;
    상기 이동 로봇을 상기 목표 위치로 이동시키는 것을 포함하는 이동 로봇의 제어 방법.
  10. 제9항에 있어서,
    상기 목표 위치를 판단하는 것은,
    상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하고;
    상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 기초로 상기 목표 위치를 판단하는 것을 포함하는 이동 로봇의 제어 방법.
  11. 제10항에 있어서,
    상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하는 것은,
    상기 제1 단말 송수신기의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고;
    상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하고;
    상기 제1 단말 송수신기의 위치와 상기 제2 단말 송수신기의 위치를 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하는 것을 포함하는 이동 로봇의 제어 방법.
  12. 제11항에 있어서,
    상기 제1 단말 송수신기의 위치를 판단하는 것은, 상기 이동 로봇에 포함된 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하는 것을 포함하고,
    상기 제2 단말 송수신기의 위치를 판단하는 것은, 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하는 것을 포함하는 이동 로봇의 제어 방법.
  13. 제11항에 있어서,
    상기 제1 단말 송수신기의 위치를 판단하는 것은, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 이동 로봇에 포함된 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하는 것을 포함하고,
    상기 제2 단말 송수신기의 위치를 판단하는 것은, 상기 이동 로봇이 제자리에서 회전하는 동안 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하는 것을 포함하는 이동 로봇의 제어 방법.
  14. 제9항에 있어서,
    상기 목표 위치를 판단하는 것은,
    상기 이동 로봇에 포함된 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 것을 포함하는 이동 로봇의 제어 방법.
  15. 제9항에 있어서,
    상기 목표 위치를 판단하는 것은,
    상기 이동 로봇이 제자리에서 회전하는 동안 상기 이동 로봇에 포함된 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 것을 포함하는 이동 로봇의 제어 방법.
  16. 목표 위치를 지시하고, 상기 목표 위치를 향하여 일렬로 배치된 제1 단말 송수신기와 제2 단말 송수신기를 포함하는 사용자 단말; 및
    상기 목표 위치를 향하여 이동하는 이동 로봇을 포함하고,
    상기 이동 로봇은,
    상기 이동 로봇을 이동시키는 구동부;
    상기 제1 단말 송수신기와 상기 제2 단말 송수신기 각각과 무선 신호를 주고 받는 통신부; 및
    상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 목표 위치를 판단하고, 상기 목표 위치로 이동하도록 상기 구동부를 제어하는 제어부를 포함하는 이동 로봇 시스템.
  17. 제16항에 있어서,
    상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간과 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하고, 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 기초로 상기 목표 위치를 판단하는 이동 로봇 시스템.
  18. 제17항에 있어서,
    상기 제어부는 상기 제1 단말 송수신기의 통신 응답 시간을 기초로 상기 제1 단말 송수신기의 위치를 판단하고, 상기 제2 단말 송수신기의 통신 응답 시간을 기초로 상기 제2 단말 송수신기의 위치를 판단하고, 상기 제1 단말 송수신기의 위치와 상기 제2 단말 송수신기의 위치를 기초로 상기 사용자 단말의 위치와 상기 사용자 단말의 지시 방향을 판단하는 이동 로봇 시스템.
  19. 제16항에 있어서,
    상기 통신부는 제1 로봇 송수신기, 제2 로봇 송수신기 및 제3 로봇 송수신기를 포함하고,
    상기 제어부는 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1, 제2 및 제3 로봇 송수신기 각각과 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 이동 로봇 시스템.
  20. 제16항에 있어서,
    상기 통신부는 제1 로봇 송수신기를 포함하고,
    상기 이동 로봇이 제자리에서 회전하는 동안 상기 제어부는 상기 제1 로봇 송수신기와 상기 제1 단말 송수신기 사이의 통신 응답 시간과 상기 제1 로봇 송수신기와 상기 제2 단말 송수신기 사이의 통신 응답 시간을 기초로 상기 목표 위치를 판단하는 이동 로봇 시스템.
KR1020170117505A 2017-09-14 2017-09-14 이동 로봇 시스템 및 그 제어 방법 KR102366796B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170117505A KR102366796B1 (ko) 2017-09-14 2017-09-14 이동 로봇 시스템 및 그 제어 방법
PCT/KR2018/010127 WO2019054676A1 (ko) 2017-09-14 2018-08-31 이동 로봇 시스템 및 그 제어 방법
US16/647,846 US11465275B2 (en) 2017-09-14 2018-08-31 Mobile robot and method of controlling the same and mobile robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170117505A KR102366796B1 (ko) 2017-09-14 2017-09-14 이동 로봇 시스템 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20190030281A KR20190030281A (ko) 2019-03-22
KR102366796B1 true KR102366796B1 (ko) 2022-02-24

Family

ID=65722921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170117505A KR102366796B1 (ko) 2017-09-14 2017-09-14 이동 로봇 시스템 및 그 제어 방법

Country Status (3)

Country Link
US (1) US11465275B2 (ko)
KR (1) KR102366796B1 (ko)
WO (1) WO2019054676A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11835343B1 (en) * 2004-08-06 2023-12-05 AI Incorporated Method for constructing a map while performing work
USD908993S1 (en) * 2018-05-04 2021-01-26 Irobot Corporation Evacuation station
KR20230046080A (ko) * 2021-09-29 2023-04-05 삼성전자주식회사 로봇 및 그 제어 방법
USD1016416S1 (en) 2022-02-14 2024-02-27 Karcher North America, Inc. Floor cleaning machine
CN114521843B (zh) * 2022-04-21 2022-07-12 深圳市倍思科技有限公司 清洁位置确定方法、装置、终端设备及智能清洁系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153351B1 (ko) 2013-10-25 2020-09-21 삼성전자주식회사 청소 로봇

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100641113B1 (ko) 2004-07-30 2006-11-02 엘지전자 주식회사 이동로봇 및 그의 이동제어방법
EP2533120B1 (en) * 2005-12-02 2019-01-16 iRobot Corporation Robot system
ES2623920T3 (es) * 2005-12-02 2017-07-12 Irobot Corporation Sistema de robot.
TWI305610B (en) * 2006-07-07 2009-01-21 Ind Tech Res Inst Path guidance method for autonomous mobile device
KR100833125B1 (ko) * 2006-07-11 2008-05-28 이재영 로봇 청소기의 집중 청소 제어방법
KR102412747B1 (ko) * 2014-02-28 2022-06-27 삼성전자주식회사 청소 로봇 및 그에 포함되는 원격 제어기
KR20170000282A (ko) 2015-06-23 2017-01-02 한국전자통신연구원 센서를 이용한 로봇 위치 정확도 정보 제공장치 및 그 방법
KR101783890B1 (ko) * 2016-01-25 2017-10-11 경북대학교 산학협력단 이동 로봇 시스템
US10664502B2 (en) * 2017-05-05 2020-05-26 Irobot Corporation Methods, systems, and devices for mapping wireless communication signals for mobile robot guidance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153351B1 (ko) 2013-10-25 2020-09-21 삼성전자주식회사 청소 로봇

Also Published As

Publication number Publication date
WO2019054676A1 (ko) 2019-03-21
US20200223056A1 (en) 2020-07-16
US11465275B2 (en) 2022-10-11
KR20190030281A (ko) 2019-03-22

Similar Documents

Publication Publication Date Title
KR102366796B1 (ko) 이동 로봇 시스템 및 그 제어 방법
CN110621209B (zh) 清洁器及其控制方法
US10542859B2 (en) Cleaning robot and controlling method thereof
KR102431996B1 (ko) 로봇 청소기 및 그 제어 방법
KR102153351B1 (ko) 청소 로봇
EP3727122B1 (en) Robot cleaners and controlling method thereof
CN110300537B (zh) 吸尘器及其控制方法
KR102613442B1 (ko) 청소로봇 및 그 제어 방법
US20190155276A1 (en) Cleaning robot
US11547255B2 (en) Cleaning robot
CN107773161B (zh) 机器人吸尘器
CN114468898B (zh) 机器人语音控制方法、装置、机器人和介质
KR102203439B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
KR20170004343A (ko) 사용자 단말기, 이를 포함하는 청소 로봇 및 그 제어 방법
US20180338661A1 (en) Cleaner and controlling method thereof
KR20170133620A (ko) 청소 로봇 및 그 제어 방법
US20230350060A1 (en) Distance measuring device and sweeping robot
KR20210015126A (ko) 이동 로봇
US20240176362A1 (en) Robot cleaner and location identification method thereof
WO2023089886A1 (ja) 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
WO2023157345A1 (ja) 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
KR20230154700A (ko) 사물까지의 거리를 산출하는 로봇 및 방법

Legal Events

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