KR101941060B1 - 이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치 - Google Patents

이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치 Download PDF

Info

Publication number
KR101941060B1
KR101941060B1 KR1020160109294A KR20160109294A KR101941060B1 KR 101941060 B1 KR101941060 B1 KR 101941060B1 KR 1020160109294 A KR1020160109294 A KR 1020160109294A KR 20160109294 A KR20160109294 A KR 20160109294A KR 101941060 B1 KR101941060 B1 KR 101941060B1
Authority
KR
South Korea
Prior art keywords
data
delay time
time
received
signal processing
Prior art date
Application number
KR1020160109294A
Other languages
English (en)
Other versions
KR20170087386A (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 주식회사 유진로봇
Publication of KR20170087386A publication Critical patent/KR20170087386A/ko
Application granted granted Critical
Publication of KR101941060B1 publication Critical patent/KR101941060B1/ko

Links

Images

Classifications

    • 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/0044Control 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 providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Tourism & Hospitality (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

본 발명은 이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법에 관한 것으로서, 단말 장치가, 상기 단말 장치와 통신 가능한 외부 기기로부터 송신된 제1 데이터 및 상기 제1 데이터가 송신된 시점 이후에 송신된 제2 데이터를 순차적으로 저장하고, 상기 제1 데이터와 상기 제2 데이터가 수신된 시간의 차이에 따른 제1 지연시간을 계산하는 단계, 상기 저장된 제1 데이터와 제2 데이터가 출력되는 시간 차이로서 미리 정해진 제1 기준시간과, 상기 제1 지연시간을 비교하여, 제1 완충 지연 시간을 결정하는 단계 및 상기 제1 완충 지연 시간을 고려하여 상기 제1 데이터를 출력하는 단계를 포함한다.

Description

이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치{Signal Processing Method and Apparatus for Performing Communication with Mobile Robot}
본 발명은 이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치에 관한 것으로써, 더욱 상세하게는 사용자 명령에 따른 상기 이동 로봇으로부터 생성된 데이터를 처리하는 신호 처리 방법 및 장치에 관한 것이다.
일반적으로 로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고 있으며, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다.
가정용 로봇의 대표적인 일 예로, 청소 로봇을 들 수 있는데, 이 때 청소 로봇이란 사용자의 조작 없이도 청소하고자 하는 영역을 스스로 주행하면서 바닥면으로부터 먼지 등의 이물질을 흡입함으로써, 청소하고자 하는 영역을 자동으로 청소하는 장치를 의미한다. 이러한 청소 로봇은 각종 센서 등을 통해 청소 영역 내에 위치하는 장애물 등을 감지하고, 감지 결과를 이용하여, 청소 로봇의 주행 경로 및 청소 동작을 제어하게 된다.
이 때, 청소 로봇은 사용자 기기의 요청에 의해서 또는 실시간으로 갱신되는 이벤트에 의해서 지도 정보를 로봇의 위치 정보와 함께 사용자 기기에 전달한다. 따라서, 사용자 기기는 실시간으로 로봇이 이동하는 과정, 지도 정보가 갱신되는 과정을 확인하고, 청소 상태를 자세하게 파악할 수 있다.
그러나, 상기 사용자 기기와 로봇이 통신하기 위해 사용하는 네트워크 환경은 항상 변화하며, 특히 무선 네트워크는 연결을 보장할 수 없고, 데이터 대역폭의 기복이 심하여, 실시간성에 문제가 발생하기 마련이다. 즉, 로봇이 균일하게 이동하면서 지도를 업데이트하더라도 사용자 기기에서 전송 받는 데이터는 균일하지 못하며, 사용자 기기에서 관찰할 때, 로봇이 더디게 움직이면서 지도를 업데이트하거나, 또는 급격한 속도로 움직이면서, 지도를 업데이트하는 현상이 발생한다.
한국 공개 특허 제10-2015-0014237 호 (공개)
본 발명은 상기와 같은 종래 기술상의 문제점을 해결하기 위하여, 신호 처리 방법 및 장치를 이용하여, 각 데이터에 포함된 시간 정보를 이용하여, 이동 로봇으로부터 수신된 데이터를 일정한 간격으로 출력하여 업데이트함으로써, 네트워크 환경에 따른 정보 전달의 변동을 최소화시켜 제공하는 것을 그 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 예에 따른 신호 처리 방법은, 무선통신을 위한 신호 처리부가 외부 기기로부터 송신된 제1 데이터 및 상기 제1 데이터가 송신된 시점 이후에 송신된 제2 데이터를 순차적으로 저장하고, 상기 제1 데이터와 상기 제2 데이터가 수신된 시간의 차이에 따른 제1 지연시간을 계산하는 단계, 상기 저장된 제1 데이터와 제2 데이터가 출력되는 시간 차이로서 미리 정해진 제1 기준시간과, 상기 제1 지연시간을 비교하여, 제1 완충 지연 시간을 결정하는 단계 및 상기 제1 완충 지연 시간을 고려하여 상기 제1 데이터를 출력하는 단계를 포함한다.
또한, 상기 외부 기기로부터 송신되는 데이터는 상기 데이터가 생성된 생성 시간 정보를 포함하고, 상기 제2 데이터는 상기 외부기기로부터 송신되는 상기 제1 데이터와 제2 데이터의 생성 시간의 차이에 따라 제2 완충 지연 시간을 고려하여 출력할 수 있다.
또한, 상기 외부기기로부터 송신된 제n (여기에서, n은 3 이상의 정수) 데이터의 생성 시간과 상기 제n 데이터가 수신된 시점 이전에 수신된 제n-1 데이터의 생성 시간의 차이값인 제n 데이터 생성 주기를 제n 완충 지연 시간으로 결정하고, 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 출력할 수 있다.
또한, 상기 외부기기로부터 송신된 제n-1 (여기에서, n은 3 이상의 정수) 데이터가 출력된 이후에 상기 단말 장치로 수신된 데이터가 존재하지 않은 경우, 제n 데이터가 수신되면, 상기 제n 데이터의 생성 주기와, 상기 제n-1 데이터가 출력된 시간과 상기 제n 데이터가 수신된 시간의 차이에 따른 차이값인 제n 수신 지연 시간을 비교하여, 제n 완충 지연 시간을 결정하는 단계 및 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 출력하는 단계를 더 포함할 수 있다.
또한, 상기 제1 완충 지연 시간으로 결정하는 것은, 상기 제1 지연시간과 상기 제1 기준시간 중 더 짧은 시간인 것으로 결정할 수 있다.
또한, 상기 제n 완충 지연 시간을 결정하는 것은, 상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 큰 경우에는 상기 제n 데이터 생성주기로 선택하고, 상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 작은 경우에는 상기 제n 수신 지연 시간으로 선택하여, 제n 완충 지연 시간으로 결정할 수 있다.
또한, 상기 무선 통신을 위한 신호 처리부는 모바일 이동 통신 단말의 일 구성이고, 상기 외부기기는 상기 모바일 이동 통신 단말과 통신 가능한 이동 로봇일 수 있다.
본 발명에서, 상기 제1 데이터 및 제2 데이터는, 상기 이동로봇의 주행 및 동작에 관련된 영상 및 음성 정보 또는 지도 정보 또는 동작 수행 상황에 대한 정보 중 적어도 하나일 수 있다.
본 발명에서, 상기 신호처리부는 동등 계층간 연결(peer to peer connection)을 이용하여, 상기 이동 로봇과 통신할 수 있다.
본 발명의 일 실시예에 따르는 외부 기기와 통신을 수행하는 신호 처리 장치는, 상기 외부 기기로부터 송신된 제1 데이터 및 상기 제1 데이터가 송신된 시점 이후에 송신된 제2 데이터를 순차적으로 수신하는 수신부 및 상기 제1 데이터와 제2 데이터가 수신된 시간의 차이에 따른 제1 지연시간을 계산하고, 상기 제1 데이터와 제2 데이터가 출력되는 시간 차이로서 미리 정해진 제1 기준시간과 상기 제1 지연시간을 비교하여, 제1 완충 지연 시간을 결정하고 결정된 제1 완충 지연 시간에 따라 출력하는 버퍼부를 포함할 수 있다.
본 발명에서, 상기 외부기기는 상기 신호 처리 장치와 통신 가능한 이동 로봇일 수 있다.
또한, 상기 외부 기기로부터 송신되는 데이터는 송신되는 시간 정보를 포함하고, 상기 제2 데이터는 상기 외부기기로부터 송신되는 상기 제1 데이터와 제2 데이터의 송신 시간의 차이에 따라 제2 완충 지연 시간을 고려하여 출력할 수 있다.
본 발명에서, 상기 버퍼부는 상기 외부기기로부터 송신된 제n (여기에서, n은 3 이상의 정수) 데이터의 생성 시간과 상기 제n 데이터가 수신된 시점 이전에 수신된 제n-1 데이터의 생성 시간의 차이값인 제n 데이터 생성 주기를 제n 완충 지연 시간으로 결정하고, 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 출력할 수 있다.
또한, 상기 외부기기로부터 송신된 제n-1 (여기에서, n은 3 이상의 정수) 데이터가 출력된 이후에 상기 단말 장치로 수신된 데이터가 존재하지 않은 경우,
제n 데이터가 수신되면, ⅰ) 상기 제n 데이터의 생성 주기와, 상기 제n-1 데이터가 출력된 시간과 상기 제n 데이터가 수신된 시간의 차이에 따른 차이값인 ⅱ) 제n 수신 지연 시간을 비교하여, 제n 완충 지연 시간을 결정하고, 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 출력할 수 있다.
본 발명에서, 상기 버퍼부는, 상기 제1 지연시간과 상기 제1 기준시간 중 더 짧은 시간인 것을 상기 제1 완충 지연 시간으로 결정하고, 상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 큰 경우에는 상기 제n 데이터 생성주기로 선택하고, 상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 작은 경우에는 상기 제n 수신 지연 시간으로 선택하여, 제n 완충 지연 시간으로 결정할 수 있다.
본 발명에서, 상기 제1 데이터 및 제2 데이터는, 상기 이동로봇의 주행 및 동작에 관련된 영상 및 음성 정보 또는 지도 정보 또는 동작 수행 상황에 대한 정보 중 적어도 하나일 수 있다.
또한, 본 발명의 또 다른 목적을 달성하기 위하여, 본 발명의 신호 처리 방법이 컴퓨터에서 수행하기 위한 컴퓨터에서 판독 가능한 프로그램이 기록된 저장 매체를 제공한다.
따라서, 신호 처리 방법 및 방법은 네트워크 환경의 영향을 최소화하고, 일정한 주기로 데이터를 출력시킴으로써, 끊김 없는 데이터 제공이 가능하다.
도1은 본 발명의 일 실시예에 따른 이동 로봇을 원격으로 제어 하기 위해 신호를 처리하는 신호 처리 시스템을 도시한 도면이다.
도2는 본 발명의 일 실시예에 따른 신호 처리 장치와 이동 로봇의 구성도를 도시한 도면이다.
도3은 본 발명의 일 실시예에 따른 신호 처리 시스템에서 수행되는 신호 처리를 설명하기 위한 도면이다.
도4는 본 발명의 일 실시예에 따른 신호 처리 방법을 나타내는 흐름도이다.
도5는 본 발명의 또 다른 일 실시예에 따른 제n 데이터를 출력하기 위한 방법을 나타내는 도면이다.
첨부된 도면들을 참조하여 본 발명을 일실시예에 따라 상세히 설명한다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.
본 발명의 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 해당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라 질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다.
나아가, 도면들 중 참조번호 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
따라서 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서는, 첨부된 도면을 참조하여 외부 기기인 이동 로봇을 원격으로 제어하기 위한 신호 처리 장치, 신호 처리 시스템 및 신호 처리 방법을 후술하는 실시예들에 따라 구체적으로 설명하도록 한다. 예컨대, 이동 로봇은 사용자의 명령에 따라 자체적으로 움직이며 동작하고, 청소 및 주행에 관련된 동작을 수행하는 청소 로봇으로 구현되는 로봇일 수 있다. 또한, 신호 처리 장치는 원격 서비스 시스템을 통해 원격 청소 또는 원격 주행 등과 관련된 사용자 명령을 받는 사용자 단말기의 일 부분으로서 상기 사용자 단말기는 사용자가 사용할 수 있는 단말장치이고, 무선 통신 모듈을 포함하는 휴대폰, 스마트폰, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 넷북, 태블릿 등을 포함하여, 다양한 형태로 마련될 수 있다.
이동 로봇(2)는 주변 상황을 감지하는 센서부와 이동을 위한 구동부와 임베디드 프로세서(embedded processor)를 갖추어 이동 로봇(2)의 주변의 상황을 파악하고 이에 맞는 적절한 동작을 결정하여 자율적으로 수행한다. 즉, 사용자의 음성이나 기타 명령을 인식하여 사용자의 요구를 판단하고, 이에 대응하는 적절한 동작을 수행할 수 있다.
또한, 이동 로봇(2)은 네트워크를 통해 신호 처리 장치(1)와 연결되며, 신호 처리 장치(1)로부터의 원격제어를 받아 특정 동작을 수행할 수 있다.
이때, 신호 처리 장치(1)는 사용자가 사용하는 단말장치(1) 내부에 마련될 수 있다. 여기서는, 신호 처리 장치(1)와 단말장치(1)를 도면상에서 동일하게 나타내어 설명한다.
이동 로봇(2)은 센서부(미도시)를 통해 감지되는 상황정보를 신호 처리 장치(1)로 전달하고, 신호 처리 장치(1)가 모니터링한 상황 정보에 기초하여, 결정한 동작에 대한 원격제어 명령 신호를 수신하여 이를 수행할 수 있다.
즉, 이동 로봇(2)은 사용자의 요구에 따라 자체 프로세서를 이용한 자율모드(automatic control mode)에서 원격제어가 가능한 네트워크 모드(networked control mode)로 제어 모드를 전환할 수 있다.
이동 로봇(2)은 인터넷을 비롯한 유/무선 네트워크를 통해 신호 처리 장치(1)와 상호 연결되며, 게이트웨이나 고속의 인터넷 액세스를 제공하는 액세스 포인트를 이용하여 집이나 사무실과 같은 공간에 대한 보안 또는 인증을 제공할 수 있다.
이 때, 이동 로봇(2)과 사용자 단말 장치인 신호 처리 장치(2)가 실시간으로 통신하기 위하여 사용되는 네트워크 환경은 항상 변화하며, 특히 무선 네트워크는 연결을 보장할 수 없고, 데이터 대역폭의 기복이 심해서 실시간성에 문제가 발생하기 마련이다. 일 예로, 이동 로봇(2)이 균일하게 이동하면서 지도를 업데이트하더라도 신호 처리 장치(1)가 전송 받는 데이터는 균일하지 못하여, 사용자가 신호 처리 장치(1)를 통하여 이동 로봇(2)의 동작 상황 및 동작 및 주행에 관련된 정보를 확인하는 데 있어서, 이동 로봇(2)의 더디게 움직이면서 지도를 업데이트하거나, 또는 급격하게 빠른 속도로 지도를 업데이트하는 현상이 발생한다. 따라서, 본 발명에 따른 신호 처리 장치 및 방법은 상기와 같은 네트워크 환경에 따른 데이터 전달의 변동을 신호 처리 장치(1)에서 최소화시켜 출력할 수 있다.
도1은 본 발명의 일 실시예에 따른 이동 로봇을 원격으로 제어 하기 위해 신호를 처리하는 신호 처리 시스템을 도시한 도면이다.
본 발명에 따른 이동 로봇 제어를 위한 신호 처리 시스템은 이동 로봇(2)으로부터 획득한 정보를 네트워크를 통해 신호 처리 장치(1)에 전달하여 이동 로봇(2)의 작동 상태, 계산 결과 등을 확인할 수 있다. 또한, 신호 처리 장치(1)의 입력 장치를 통해 입력된 정보의 네트워크를 통해 이동 로봇(2)의 행위 등을 조정할 수 있다. 이동 로봇(2)이 네트워크 기반의 서비스를 제공하기 위해서는 외부의 인터넷과 연결되기 위한 매개체인 공유기에 연결되어야 한다.
본 발명의 실시예에 따른 이동 로봇 제어 시스템은 신호 처리 장치(1), 이동 로봇(2), 공유기(3) 및 외부 서버(4)를 포함한다.
신호 처리 장치(1)는 이동 로봇(2)을 원격으로 제어하기 위한 사용자로부터의 제어 신호를 생성하고, 상기 이동 로봇에 전송한다. 신호 처리 장치(1)는 무선 통신 모듈을 포함하는, 휴대폰, 스마트폰, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 넷북, 태블릿 등을 포함하여, 다양한 형태로 마련될 수 있고, 본 실시예에서는 "사용자 단말", "신호 처리 장치"와 혼용된다.
이동로봇(2)은 예를 들어, 청소로봇, 병원 서비스 로봇, 물류 서비스 로봇, 군사용 로봇, 산업용 로봇으로 예시될 수 있으며 로봇의 종류에 제한은 없다. 다만, 아래의 실시예에서는 대표적인 이동 로봇인 청소 로봇을 위주로 설명한다.
이동 로봇(2)는 신호 처리 장치(1)로부터의 원격 제어 신호에 응답하고, 이에 따른 동작을 수행하며, 주행중인 공간에 대한 맵을 생성하여 공유기(3)를 통해, 상기 신호 처리 장치(1)로 전송한다. 보다 상세하게는, 이동 로봇(2)은 유선 또는 무선 공유기에 연결하기 위한 네트워크 어뎁터(adapter)를 포함할 수 있다. 일반적으로 네트워크 어뎁터는 기존의 무선 공유기에 연결하는 클라이언트 모드로 작동하나, 필요에 따라서 무선 공유기의 역할인 Soft AP 또는 infrastructure mode를 할 수 있다. 따라서 이동 로봇(2)에서 특정 버튼을 누르면 이동 로봇(2)은 공유기의 역할을 수행하고, 신호 처리 장치(1)는 이동 로봇(2)의 공유기에 연결하여 통신을 수행한다. 이 때, 신호 처리 장치(1)는 이동 로봇(2)이 연결되어야 할 기존의 공유기 정보 즉, SSID, 보안 프로토콜, 보안 알고리즘 및 키 정보를 이동 로봇(2)에 전달하고, 이동 로봇(2)은 정보를 전달받은 후, 공유기의 역할을 중지하고 전달받은 정보를 바탕으로 기존의 공유기에 연결할 수 있다.
공유기(3)는 집으로 들어오는 인터넷 라인에 연결하여, 무선 신호로 송출하면서, 복수개의 소프트웨어 장치가 하나의 인터넷 라인을 공유해, 동시에 인터넷 접근이 가능하게 하는 네트워크 기기이다. 공유기(3)는 AP(Access Point)로서, 일정 거리의 무선 통신 가능 영역에서 무선 통신을 수행하여, 이동 로봇(2)을 네트워크에 연결하게 한다.
본 발명의 일 실시예에 따르는 서버(4)는 정보를 제공하는 신호 처리 장치(1)와 이동 로봇(2)이 사이에 위치하여 사용자가 요구한 정보를 대신하여 가져와 이를 사용자에게 전달하고, 또, 사용자가 제공하는 정보를 이동 로봇(2)에게 전달하며, 해당 정보를 일시적으로 보관하여, 사용자가 정보를 재차 요구할 때, 다시 접속하지 않고도 해당 정보를 사용자에게 신속하게 전달해 주는 중계서버 또는 프록시서버(Proxy Server)로 마련될 수 있다.
또 다른 일 실시예에 따른 서버(4)는 이동 로봇(2)을 제공하는 회사에서 운영하는 것으로써, 네트워크를 통해 복수개의 이동 로봇(2)과 연결되어 있으며, 이동 로봇(2)은 복수개의 이동 로봇(2)의 IP 주소와 시리얼 번호, 아이디 및 비밀번호를 저장할 수 있다. 따라서, 사용자가 신호 처리 장치(1)를 통해 아이디와 비밀번호를 입력하면, 이동 로봇(2)은 그 아이디와 비밀번호에 해당하는 이동 로봇(2)의 IP 주소를 찾고, 그 주소를 갖는 로봇과 접속할 수 있다. 또한, 이동 로봇(2)을 원격으로 제어할 수 있는 프로그램이 설치되어 있고, 신호 처리 장치(1)가 접속되면, 이동 로봇(1)을 제어할 수 있는 화면을 신호 처리 장치(1)의 사용자 인터페이스부(10)에 출력할 수 있다.
본 발명에 따르는 이동 로봇 제어 시스템은 이동 로봇(2)과 신호 처리 장치(1)가 처음에는 상기 서버(4)에 연결되어, 상대의 식별 정보 및 상대의 네트워크 상의 위치 정보를 얻은 후, 상기 서버(4)와는 별개로 상호 연결을 이룰 수 있다.
보다 상세하게는, 이동 로봇(2)이 신호 처리 장치(1)와 네트워크 상에서 연결되기 위해서는 네트워크 상에서 고정된 네트워크 주소를 가지고 있는 중계 서버가 필요하다. 신호 처리 장치(1)는 중계 서버 장치에 연결하여, 스스로에 대한 필요한 정보를 획득한다. 이동 로봇(2)과 신호 처리 장치(1)는 실시간 영상, 음성 정보와 같은 대용량의 정보를 교환한다. 만일 이동 로봇(2)과 신호 처리 장치(1)가 다수일 경우, 모든 정보가 중계 서버 장치를 통해 교환된다면 고성능의 서버 장치 및 대용량의 네트워크 대역폭이 필요하며, 이는 곧 비용의 증가로 이어진다.
따라서, 이동 로봇(2)과 신호 처리 장치(1)는 처음에는 중계 서버 장치에 연결하여, 상대의 식별 정보 및 상대의 네트워크 상의 정보를 얻은 후, 중계 서버 장치와는 별개로 상호 연결을 이루는 동등 계층간 연결(peer to peer connection)을 하여, 중계 서버 장치와는 별도로 스스로의 네트워크 상의 위치 정보를 얻기 위한 STUN(Session Traversal Utilities for NAT) 서버와 신호 처리 장치(1)와 이동 로봇(2) 두 장치간의 네트워크 연결 경로를 찾기 위해 ICE(Interactive Connectivity Establishment) 프로토콜(protocol)을 통해 통신 및 조정을 수행하는 ICE 프레임 네트워크를 이용할 수 있다.
도2는 본 발명의 일 실시예에 따른 신호 처리 장치와 이동 로봇의 구성도를 도시한 도면이다.
도2를 참고하면, 신호 처리 장치(1)는 수신부(10), 저장부(20) 및 출력부(30)를 포함한다. 수신부(10)는 이동 로봇(2)으로부터 송신된 제1 데이터 및 제1 데이터가 송신된 시점 이후에 송신된 제2 데이터를 순차적으로 수신한다.
여기서, 이동 로봇(2)으로부터 순차적으로 송신되는 제1 데이터 및 제2 데이터를 포함하는 복수개의 데이터들은 전기적인 신호로서, 이동 로봇(2)의 주행 및 동작에 관련된 영상 및 음성 정보 또는 지도 정보 또는 동작 수행 상황에 대한 정보일 수 있다. 또한, 이동 로봇(2)은 사용자 명령에 따라 청소 동작을 수행하는 청소 로봇일 수 있다.
버퍼부(20)는 제1 데이터와 제2 데이터가 수신된 시간의 차이에 따른 제1 지연 시간을 계산하고, 상기 제1 데이터와 제2 데이터가 출력되는 시간 차이로서, 미리 정해진 제1 기준시간과 상기 제1 지연시간을 비교하여, 제1 완충 지연 시간을 결정하고 결정된 제1 완충 지연 시간에 따라 출력하는. 일 예로, 상기 미리 정해진 제1 기준시간은 2초~3초 사이의 시간으로 미리 설정될 수 있다.
출력부(30)는 버퍼부(20)로부터 출력된 제1 데이터 및 제2 데이터를 포함하는 복수개의 데이터들을 신호를 처리하는 신호처리부(미도시)로 전송한다.
버퍼부(20)가 출력하는 복수개의 데이터들은 전기적인 신호일 수 있다.
본 발명의 일 실시예에 따른 신호 처리 장치(1)와 통신하는 외부 기기(2)는이동 로봇(2)일 수 있고, 이동 로봇(2)은 송신부(100) 및 제어부(200)를 포함한다.
제어부(200)는 이동 로봇(2)의 사용자의 명령에 따라 수행된 주행 및 동작 수행에 관련된 데이터를 신호 처리 장치(1)로 전송하기 위해, 송신부(100)로 전달한다. 이에, 송신부(100)는 제어부(200)로부터 전달받은 데이터를 신호 처리 장치(1)로 송신한다. 이때, 송신부(100)로부터 송신되는 데이터는 해당 데이터가 송신되는 시간 정보를 포함한다.
보다 상세한 설명을 위하여, 도3을 참조하여 설명한다.
도3은 본 발명의 일 실시예에 따른 신호 처리 시스템(1,2)에서 수행되는 신호 처리를 설명하기 위한 도면이다.
먼저, 이동 로봇(2)의 제어부(200)가 제1 데이터(m1)를 송신부(100)로 전달한다. 그에 따라, 송신부(100)는 전달받은 제1 데이터(m1)를 신호 처리 장치(1)로 송신한다.
신호 처리 장치(1)의 수신부(100)는 이동 로봇(2)으로부터 송신된 제1 데이터(m1)를 수신한다.
다음으로, 이동 로봇(2)의 송신부(100)는 제어부(200)로부터 전달 받은 제2 데이터(m2)를 신호 처리 장치(1)로 송신한다. 송신된 제2 데이터(m2)는 신호 처리 장치(1)의 수신부(10)에서 수신하고, 버퍼부(20)는 네트환경 연결 상태에 따라 제2 데이터(m2)가 수신된 시간을 확인한다. 그리고, m1과 m2가 수신된 시간의 차이(제1 지연시간)을 계산한다. 이때, 버퍼부(20)는 제1 데이터(m1)를 출력하기 위해, 신호 처리 장치(1)에서 미리 설정해둔 제1 기준시간을 기준으로, 제1 기준시간 내에 제2 데이터(m2)가 수신부(10)에 수신된 수신여부에 따라 제1 완충 지연 시간을 결정할 수 있다. 출력부(30)는 출력된 데이터를 신호처리하기 위해 신호 처리부(미도시)로 전송한다. 예를 들어, 버퍼부(20)는 m2의 수신 시점이 신호 처리 장치(1)에서 미리 설정해둔 제1 기준시간 보다 먼저 도착하면, m2와 m1의 수신된 시점 창이에 따른 제1 지연시간을 제1 완충 지연 시간으로 선택하고, 선택된 제1 완충 지연 시간에 따라 m1을 출력하고, m2의 수신 시점이 제1 기준시간 보다 늦게 도착하면, 제1 기준시간을 제1 완충 지연 시간으로 선택하여, 선택된 제1 완충 지연 시간에 따라 m1을 출력한다.
다음으로, 제2 데이터를 출력하기 위해, 제2 완충 지연 시간을 결정한다.
제2 완충 지연 시간을 결정하는 방법은 이동 로봇(2)에서 생성된 m1이 생성된 시점과 m2가 생성된 시점의 시간차(d2)를 이용한다. 보다 상세하게는, 이동 로봇(2)으로부터 생성된 데이터에는 상기 데이터가 생성된 시간 정보를 포함한다. 따라서, 신호 처리 장치(1)의 버퍼부(200)는 수신된 데이터에 포함되어 있는 시간 정보를 통해 m1과 m2의 데이터 생성 시간을 확인하고, m1과 m2의 생성 시점에 따른 시간차(d2)를 계산한다. 버퍼부(20)는 계산된 시간차(d2)을 제2 완충 지연 시간으로 결정하고, 결정된 제2 완충 지연 시간에 따라 제2 데이터(m2)를 출력한다.
제2 데이터가 출력된 이후로, 상기 외부기기로부터 송신된 제n (여기에서, n은 3 이상의 정수) 데이터의 생성 시간과 상기 제n 데이터가 수신된 시점 이전에 수신된 제n-1 데이터의 생성 시간의 차이값인 제n 데이터 생성 주기를 제n 완충 지연 시간으로 결정하고, 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 출력한다.
본 발명의 또 다른 일 실시예에 의하면, 제n-1 데이터가 출력된 이후에 신호 처리 장치(1)로 수신된 데이터가 존재하지 않은 경우, 제n 데이터가 수신되면, 제n 데이터와 제n-1 데이터의 생성 시간의 차이에 따른 차이값인 제n 데이터 생성 주기와 제n-1 데이터가 출력된 시간과 제n 데이터가 수신된 시간의 차이에 다른 제n 수신 지연 시간을 비교하여, 제n 완충 지연 시간으로 결정한다. 보다 상세하게는, 제n 수신 지연 시간이 제n 데이터 생성 주기보다 큰 경우에는 제n 수신 지연 시간을 제n 완충 지연 시간으로 결정하고, 제n 수신 지연 시간이 제n 데이터 생성 주기보다 작은 경우에는 제n 데이터 생성 주기를 제n 완충 지연 시간으로 결정한다.
이 때, 도3에 도시된 바와 같이, 제2 데이터(m2)가 출력되는 시점에 앞서, 이동 로봇(2)으로부터 송신된 제3 데이터(m3)가 신호 처리 장치(1)로 수신되는 경우, 버퍼부(20)는 제2 데이터 생성 주기(d2)를 기준으로 m3의 수신 시점에 따르지 않고, d2에 따라 제2 완충 지연 시간으로 결정하고, 결정된 제2 완충 지연시간으로 m2를 출력한다.
마찬가지로, 버퍼부(20)는 제3 데이터(m3)에 포함되어 있는 제3 데이터의생성 시간에 대한 시간 정보를 통해 m2와 m3의 생성 시점에 따른 제3 데이터 생성 주기(d3)를 계산하고, 계산된 시간차(d3)를 제3 완충 지연 시간으로 결정하여, 결정된 제3 완충 지연 시간에 따라 m3를 출력한다. 버퍼부(20)는 제4 데이터(m4)가 수신되면, m4에 포함되어 있는 시간 정보를 이용하여, m3와 m4의 생성 시점에 따른 제4 데이터 생성 주기(d4)를 확인하여, d4를 제4 완충 지연 시간으로 결정하여, m4를 출력한다.
도3을 참조하여, 제5 데이터(m5)를 출력하는 과정을 설명하면, 출력부(30)가 제4 데이터(m4)를 신호 처리부(미도시)로 전송한 이후에, 수신부(10)에 제4 데이터(m4)의 이후 데이터인 제5 데이터(m5)가 수신되지 않아, 버퍼부(20)에 전달된 데이터가 존재하지 않은 경우에, 버퍼부(20)는 제5 데이터(m5)가 수신되면, 제5 데이터(m5)에 포함되어 있는 m5의 생성 시간 정보를 이용하여, m5와 m4의 생성 시간의 차이에 따른 제5 데이터 생성 주기(d5)과 m4가 출력된 시간과 m5가 수신된 시간의 차이에 따른 제5 수신 지연 시간(d5')을 비교하여, d5'가 d5보다 큰 경우에는 d5'를 제5 완충 지연 시간으로 결정하여, m5를 출력하고, d5'가 d5보다 작은 경우에는 d5를 제5 완충 지연 시간으로 결정하여, m5를 출력한다. 본 발명의 일 예인 도3에 따르면, d5'가 d5보다 크기 때문에, 제5 완충 지연 시간을 d5'로 선택하여 결정한다.
제5 데이터(m5)가 출력한 이후에, 이동 로봇(2)으로부터 전송된 제6 데이터(m6)가 수신되면, 버퍼부(20)는 m6와 m5가 생성된 시간의 차이(d6)를 확인하고, d6를 제6 완충 지연 시간으로 결정하여, 그에 따라 버퍼부(20)는 m6을 출력한다. 일 예로, 보다 상세하게 설명하면, 버퍼부(20)는 d6를 확인하고, m5가 출력된 시간으로부터 m6가 수신된 시간의 차이 값인 제n 수신 지연 시간(d6')(미도시)과제n 데이터 생성 주기(d6)을 비교하여, 제n 수신 지연 시간(d6')이 제n 데이터 생성 주기(d6)보다 작으므로, d6을 제6 완충 지연 시간으로 선택하여 결정한다.
일 예로, 제n-1 데이터가 출력된 이후로 제n 데이터가 10초~20초 내로 수신되지 않은 경우, 신호 처리 장치는 임의로 프로그램을 중단시켜 종료하고, 다시 시작하여 초기화할 수 있다.
도4는 본 발명의 일 실시예에 따른 신호 처리 방법을 나타내는 흐름도이다.
먼저, 즉, 수신부(10)는 이동 로봇(2)으로부터 제1 데이터를 수신한다(S100).
다음으로, 수신부(10)는 이동 로봇(2)으로부터 제2 데이터를 순차적으로 수신한다(S200). 버퍼부(20)는 제2 데이터가 수신된 시간과 제1 데이터가 수신된 시간의 차이인 제1 지연시간을 계산한다(S300).
이 때, 버퍼부(20)는 제1 데이터를 출력하기 위해, 신호 처리 장치(1)에서 미리 설정해둔 제1 기준시간과 제1 지연시간을 비교한다(S400). 보다 상세하게는, 제1 지연시간과 제1 기준시간을 비교하여, 둘 중 더 짧은 시간인 것을 판별한다. 제1 지연시간과 제1 기준시간 중 제1 지연시간이 더 짧은 시간이면, 제1 지연시간을 제1 완충 지연 시간으로 결정하고(S500), 제1 기준시간이 더 짧은 시간이면, 제1 기준시간을 제1 완충 지연 시간으로 결정한다(S600).
상기 과정에서 선택된 제1 완충 지연 시간으로, 제1 데이터를 출력한다(S700).
제1 데이터가 출력되고 나면, 제1 데이터 이후에 더 처리할 데이터가 존재하는지 확인한다(S900). 처리할 데이터가 존재하지 않으면, 프로그램을 종료하고, 처리할 데이터가 존재하면, 처리해야 할 제n 데이터를 출력한다(S900). 이 때, 일 실시예에 의한 n은 2로서, 초기값을 설정한다.
따라서, 제2 데이터가 출력되고 나면, 다음 데이터를 처리하기 위해, n에 n+1을 대입하여, 차순 데이터를 처리할 준비를 한다(S1000).
따라서, n의 값은 3으로 변경되고, n의 값이 변경되면, 다시 S800으로 되돌아가 제2 데이터 이후에 처리해야 할 데이터가 존재하는지 확인한다(S800).
여기서, 제n+1 데이터를 출력하기 위한 절차를 상세하게 설명하기 위해 도5를 참조한다. 도5는 본 발명의 또 다른 일 실시예에 따른 제n 데이터를 출력하기 위한 방법을 나타내는 도면으로서, 도4에서 생략하여 도시한 S800과 S900 사이에 이루어지는 단계에 해당하는 도면이다.
일 실시예로서, 여기서는 제n 데이터를 제2 데이터로 설정하여 설명한다.
먼저, 제2 데이터를 출력하기 위한 절차가 시작되면, 버퍼부(20)는 제2 데이터가 수신됨에 따라, 제1 데이터와 제2 데이터 각각이 포함하고 있는 이동 로봇(2)에서 생성된 제1 데이터와 제2 데이터에 대한 생성 시간 정보를 읽어, 상기 두 데이터의 생성 시간의 차이값인 제2 데이터 생성 주기를 계산하고(S810), 제1 데이터가 출력한 시간과 제2 데이터가 수신된 시간의 차이값인 제n 수신 지연 시간을 계산한다(S810).
다음으로, 제2 완충 지연 시간을 결정하기 위해, 제2 데이터 생성 주기와제2 수신 지연 시간을 비교한다(S820). 여기서, 제2 데이터 생성 주기와 제2 수신 지연 시간을 비교하는 방법은, 제2 데이터 생성 주기와 제2 수신 지연 시간 중 더 큰 차이값인 것을 판별한다.
제2 데이터 생성 주기가 제2 수신 지연 시간보다 크다면 제2 데이터 생성 주기를 제2 완충 지연 시간으로 선택하고(S830), 제2 수신 지연 시간이 제2 데이터 생성 주기보다 크다면, 제2 수신 지연 시간을 제2 완충 지연 시간으로 선택한다(S840).
상기와 같은 방법으로, 제2 완충 지연 시간을 결정한다(S850). 제2 완충 지연 시간이 결정되고 나면, 제2 데이터를 출력한다(S900).
다시 도4를 참조하면 제2 데이터가 출력되고 나면, n값을n+1로 재설정한다(S1000). 따라서, n은 3으로 재설정하고, 다시 처리해야 하는 다른 데이터가 존재 하는지 확인한다(S800). 처리해야 할 데이터가 더 이상 존재하지 않는다면, 제2 데이터까지만 출력하여 종료하고, 데이터가 존재하면, n+1값인 제3 데이터를 출력한다(S900).
본 발명의 또 다른 일 실시예로 단말 장치(1)의 프로세서(미도시)는 제n 완충 지연 시간이 기 설정된 기준 완충 지연 시간보다 더 긴 시간인 경우, 이동 로봇(2)과 통신하는 또 다른 사용자 단말 장치로 출력하고자 하는 데이터를 요청할 수 있다. 이 과정에서, 상기 단말 장치(1)는 상기 출력하고자 하는 데이터를 수신하기 위하여, 복수개의 단말 장치들을 공유하고 있는 트래커(tracker) 서버(미도시)에 접근하여 자신의 공개키(public key)를 트래커 서버에게로 제공하여 특정 오버레이 네트워크에 대한 참여를 요청할 수도 있다. 이후, 단말 장치(1)의 접근이 허가된 경우, 상기 트래커 서버는 오버레이 네트워크에 참여하고 있는 다른 사용자 단말 장치들의 목록을 상기 단말 장치(1)로 전달한다. 이어, 단말 장치(1)은 수신한 목록에 포함된 제2 단말 장치에게 접근하여, 자신의 버퍼맵과 함께 자신의 세션키(session key)와 공개키를 전달하고, 제2 단말 장치 역시 자신의 버퍼맵, 세션키와 공개키를 전달한다. 여기서, 각각의 버퍼맵은 해당하는 단말 장치가 가지고 있는 복수개의 데이터 각각에 대한 정보를 포함하고 있다. 예컨대, 상기 데이터는 데이터가 생성된 시각을 담는 타임스탬프, 사용자의 명령 타입을 구분하기 위한 식별자, 데이터의 생성 순서인 시퀀스(sequence) 번호, 식별자에 따른 파라미터들을 포함하는 구조를 포함할 수 있다. 상기 데이터에 대한 정보에 따라, 제2 단말 장치(미도시)는 요청된 데이터를 상기 단말 장치(1)에게 전달하여, 길어지는 완충지연시간을 다른 단말 장치를 통해 보완할 수 있도록 구현될 수 있다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
1: 단말 장치, 신호 처리 장지
2: 이동 로봇
3: 공유기
4: 서버
10: 수신부
20: 버퍼부
30: 출력부
100: 송신부
200: 제어부
m1: 제1 데이터
m2: 제2 데이터
d2: 제2 데이터 생성 주기
d3: 제3 데이터 생성 주기
d5': 제5 수신 지연 시간

Claims (17)

  1. 이동로봇의 지도 업데이트를 위한 신호 처리방법에 있어서,
    무선통신을 위한 신호 처리장치의 수신부가 외부 기기로부터 송신된 제1 데이터 및 상기 제1 데이터가 송신된 시점 이후에 송신된 제2 데이터를 순차적으로 저장하고, 상기 제1 데이터와 상기 제2 데이터가 수신된 시간의 차이에 따른 제1 지연시간을 계산하는 단계;
    상기 신호 처리장치의 버퍼부가 상기 수신부에 상기 제1 데이터가 수신된 시점을 기준으로 미리 정해진 제1 기준시간 또는 상기 제1 지연시간으로 제1 완충 지연 시간을 결정하는 단계; 및
    상기 버퍼부가 상기 제1 데이터 수신 시점으로부터 상기 제1 완충 지연 시간후에 상기 제1 데이터를 상기 신호 처리장치의 출력부로 출력하는 단계;를 포함하되,
    상기 버퍼부는 ⅰ) 상기 제1 기준시간 내에 상기 제2 데이터가 상기 수신부로 수신되는 경우 상기 제1 지연시간을 제1 완충 지연 시간으로 결정하고, ⅱ) 상기 제2 데이터가 상기 제1 기준시간 내에 상기 수신부로 수신되지 않는 경우 상기 제1 기준시간을 제1 완충 지연 시간으로 결정하여, 상기 제1 데이터를 결정된 제1 완충 지연 시간 후에 출력하는 것을 특징으로 하는 신호 처리 방법.
  2. 제1항에 있어서,
    상기 외부 기기로부터 송신되는 데이터는 상기 데이터가 생성된 생성 시간 정보를 포함하고,
    상기 버퍼부가 상기 제2 데이터를 상기 외부 기기로부터 송신되는 상기 제1 데이터와 제2 데이터의 생성 시간의 차이에 따라 제2 완충 지연 시간을 고려하여 상기 출력부로 출력하는 것을 특징으로 하는 신호 처리 방법.
  3. 제1항에 있어서,
    상기 외부 기기로부터 송신된 제n (여기에서, n은 3 이상의 정수) 데이터의 생성 시간과 상기 제n 데이터가 수신된 시점 이전에 수신된 제n-1 데이터의 생성 시간의 차이값인 제n 데이터 생성 주기를 제n 완충 지연 시간으로 결정하고, 상기 버퍼부가 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 상기 출력부로 출력하는 것을 특징으로 하는 신호 처리 방법.
  4. 제1항에 있어서,
    상기 외부 기기로부터 송신된 제n-1 (여기에서, n은 3 이상의 정수) 데이터가 출력된 이후에 상기 신호 처리장치로 수신된 데이터가 존재하지 않은 경우,
    제n 데이터가 수신되면, 상기 제n 데이터의 생성 주기와,
    상기 제n-1 데이터가 출력된 시간과 상기 제n 데이터가 수신된 시간의 차이에 따른 차이값인 제n 수신 지연 시간을 비교하여, 제n 완충 지연 시간을 결정하는 단계; 및
    상기 버퍼부가 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 상기 출력부로 출력하는 단계;를 더 포함하는 신호 처리 방법.
  5. 삭제
  6. 제4항에 있어서, 상기 제n 완충 지연 시간을 결정하는 것은,
    상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 큰 경우에는 상기 제n 데이터 생성주기를 제n 완충 지연 시간으로 결정하고,
    상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 작은 경우에는 상기 제n 수신 지연 시간으로 선택하여, 제n 완충 지연 시간으로 결정하는 것을 특징으로 하는 것을 더 포함하는 신호 처리 방법.
  7. 제1항에 있어서,
    상기 무선 통신을 위한 신호 처리장치는 모바일 이동 통신 단말의 일 구성이고,
    상기 외부 기기는 상기 모바일 이동 통신 단말과 통신 가능한 이동 로봇인 것을 특징으로 하는 것을 더 포함하는 신호 처리 방법.
  8. 제7항에 있어서,
    상기 제1 데이터 및 제2 데이터는,
    상기 이동 로봇의 주행 및 동작에 관련된 영상 및 음성 정보 또는 지도 정보 또는 동작 수행 상황에 대한 정보 중 적어도 하나인 것을 특징으로 하는 것을 더 포함하는 신호 처리 방법.
  9. 제7항에 있어서,
    동등 계층간 연결(peer to peer connection)을 이용하여, 상기 이동 로봇과 통신하는 것을 특징으로 하는 것을 더 포함하는 신호 처리 방법.
  10. 외부 기기와 통신을 수행하며 출력부를 포함하는 신호 처리 장치에 있어서,
    상기 외부 기기로부터 송신된 제1 데이터 및 상기 제1 데이터가 송신된 시점 이후에 송신된 제2 데이터를 순차적으로 수신하고, 상기 제1 데이터와 상기 제2 데이터가 수신된 시간의 차이에 따른 제1 지연시간을 계산하는 수신부; 및
    상기 제1 데이터와 제2 데이터가 수신된 시간의 차이에 따른 제1 지연시간을 계산하고, 상기 제1 데이터와 제2 데이터가 출력되는 시간 차이로서 미리 정해진 제1 기준시간 또는 상기 제1 지연시간으로 제1 완충 지연 시간을 결정하고, 상기 제1 데이터 수신 시점으로부터 상기 제1 완충 지연 시간 후에 상기 제1 데이터를 상기 출력부로 출력하는 결정된 제1 완충 지연 시간에 따라 상기 출력부로 출력하는 버퍼부;를 포함하되,
    상기 버퍼부는 ⅰ) 상기 제1 기준시간 내에 상기 제2 데이터가 상기 수신부로 수신되는 경우 상기 제1 지연시간을 제1 완충 지연 시간으로 결정하고, ⅱ) 상기 제2 데이터가 상기 제1 기준시간 내에 상기 수신부로 수신되지 않는 경우 상기 제1 기준시간을 제1 완충 지연 시간으로 결정하여,
    상기 제1 데이터를 결정된 제1 완충 지연 시간 후에 출력하는 것을 특징으로 하는 신호 처리 장치.
  11. 제10항에 있어서,
    상기 외부 기기는 상기 신호 처리 장치와 통신 가능한 이동 로봇인 것을 특징으로 하는 것을 더 포함하는 신호 처리 장치.
  12. 제10항에 있어서,
    상기 외부 기기로부터 송신되는 데이터는 송신되는 시간 정보를 포함하고,
    상기 버퍼부는 상기 제2 데이터는 상기 외부 기기로부터 송신되는 상기 제1 데이터와 제2 데이터의 송신 시간의 차이에 따라 제2 완충 지연 시간을 고려하여 상기 출력부로 출력하는 것을 특징으로 하는 신호 처리 장치.
  13. 제11항에 있어서, 상기 버퍼부는
    상기 외부 기기로부터 송신된 제n (여기에서, n은 3 이상의 정수) 데이터의 생성 시간과 상기 제n 데이터가 수신된 시점 이전에 수신된 제n-1 데이터의 생성 시간의 차이값인 제n 데이터 생성 주기를 제n 완충 지연 시간으로 결정하고, 상기 버퍼부는 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 상기 출력부로 출력하는 것을 특징으로 하는 신호 처리 장치.
  14. 제11항에 있어서,
    상기 외부 기기로부터 송신된 제n-1 (여기에서, n은 3 이상의 정수) 데이터가 출력된 이후에 상기 신호 처리장치의 수신부로 수신된 데이터가 존재하지 않은 경우,
    제n 데이터가 수신되면, 상기 제n 데이터의 생성 주기와,
    상기 제n-1 데이터가 출력된 시간과 상기 제n 데이터가 수신된 시간의 차이에 따른 차이값인 제n 수신 지연 시간을 비교하여, 제n 완충 지연 시간을 결정하고, 상기 버퍼부는 상기 결정된 제n 완충 지연 시간에 따라 상기 제n 데이터를 상기 출력부로 출력하는 것을 특징으로 하는 것을 더 포함하는 신호 처리 장치.
  15. 제14항에 있어서, 상기 버퍼부는,
    상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 큰 경우에는 상기 제n 데이터 생성주기로 선택하고, 상기 제n 데이터 생성 주기가 상기 제n 수신 지연 시간보다 작은 경우에는 상기 제n 수신 지연 시간으로 선택하여, 제n 완충 지연 시간으로 결정하는 것을 특징으로 하는 것을 더 포함하는 신호 처리 장치.
  16. 제11항에 있어서,
    상기 제1 데이터 및 제2 데이터는,
    상기 이동 로봇의 주행 및 동작에 관련된 영상 및 음성 정보 또는 지도 정보 또는 동작 수행 상황에 대한 정보 중 적어도 하나인 것을 특징으로 하는 것을 더 포함하는 신호 처리 장치.
  17. 제1항 내지 제4항 및 제6항 내지 제9항 중 어느 한 항에 따른 신호 처리 방법을 컴퓨터에서 수행하기 위한 컴퓨터에서 판독 가능한 프로그램이 기록된 저장 매체.
KR1020160109294A 2016-01-20 2016-08-26 이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치 KR101941060B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160007244 2016-01-20
KR20160007244 2016-01-20

Publications (2)

Publication Number Publication Date
KR20170087386A KR20170087386A (ko) 2017-07-28
KR101941060B1 true KR101941060B1 (ko) 2019-01-22

Family

ID=59422500

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020160109294A KR101941060B1 (ko) 2016-01-20 2016-08-26 이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치
KR1020160109292A KR101857952B1 (ko) 2016-01-20 2016-08-26 청소로봇을 원격으로 제어하기 위한 원격 제어 장치, 제어 시스템 및 제어 방법
KR1020160109293A KR101844744B1 (ko) 2016-01-20 2016-08-26 이동로봇을 원격으로 제어하는 원격 제어 장치 및 시스템과 그의 수행방법
KR1020160114021A KR20170087387A (ko) 2016-01-20 2016-09-05 다수의 맵 관리 및 위치 재인식을 통한 청소 방법
KR1020170000350A KR101901599B1 (ko) 2016-01-20 2017-01-02 복합 지도 정보 기반의 이동 로봇을 운영하기 위한 시스템 및 그 방법

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020160109292A KR101857952B1 (ko) 2016-01-20 2016-08-26 청소로봇을 원격으로 제어하기 위한 원격 제어 장치, 제어 시스템 및 제어 방법
KR1020160109293A KR101844744B1 (ko) 2016-01-20 2016-08-26 이동로봇을 원격으로 제어하는 원격 제어 장치 및 시스템과 그의 수행방법
KR1020160114021A KR20170087387A (ko) 2016-01-20 2016-09-05 다수의 맵 관리 및 위치 재인식을 통한 청소 방법
KR1020170000350A KR101901599B1 (ko) 2016-01-20 2017-01-02 복합 지도 정보 기반의 이동 로봇을 운영하기 위한 시스템 및 그 방법

Country Status (1)

Country Link
KR (5) KR101941060B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200058400A (ko) 2017-09-26 2020-05-27 에이비 엘렉트로룩스 로봇 청소 장치의 이동 제어
WO2019072965A1 (en) * 2017-10-11 2019-04-18 Trinamix Gmbh AUTONOMOUS ROBOTIC DEVICE AND CONTROL METHOD THEREOF
KR102428216B1 (ko) * 2017-12-04 2022-08-01 엘지전자 주식회사 인공지능을 이용한 이동 로봇, 이동 로봇의 제어방법, 및 이동 로봇의 제어 시스템
KR102008367B1 (ko) * 2018-01-18 2019-08-07 소프트온넷(주) 인공지능 플래닝을 이용한 자율주행형 이동로봇과 이를 이용한 스마트 실내업무 관리 시스템 및 방법
US11173605B2 (en) 2018-02-26 2021-11-16 dogugonggan Co., Ltd. Method of controlling mobile robot, apparatus for supporting the method, and delivery system using mobile robot
KR102500529B1 (ko) * 2018-04-05 2023-02-15 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN108628311B (zh) * 2018-05-14 2021-11-02 努比亚技术有限公司 一种控制方法、扫地机器人、终端和计算机可读存储介质
KR102557736B1 (ko) * 2018-07-19 2023-07-24 삼성전자주식회사 드로잉을 통한 이동 로봇 제어 장치 및 그것의 동작 방법
KR20200015340A (ko) 2018-08-02 2020-02-12 주식회사 유진로봇 속성 블록에 따라 동적 주행하는 이동 로봇, 사용자 단말 장치, 및 지도 관리 서버
US11278176B2 (en) 2018-09-06 2022-03-22 Irobot Corporation Scheduling system for autonomous robots
KR102147211B1 (ko) 2018-10-22 2020-08-24 엘지전자 주식회사 인공지능 이동 로봇의 제어 방법
KR102255273B1 (ko) 2019-01-04 2021-05-24 삼성전자주식회사 청소 공간의 지도 데이터를 생성하는 장치 및 방법
KR102212268B1 (ko) * 2019-05-15 2021-02-04 주식회사 폴라리스쓰리디 위치 측정 시스템과 이를 구비하는 이동 수단 및 이를 수행하기 위한 컴퓨팅 장치
WO2020246753A1 (en) * 2019-06-03 2020-12-10 Samsung Electronics Co., Ltd. Electronic apparatus for object recognition and control method thereof
KR102190900B1 (ko) * 2019-07-08 2020-12-14 이상부 청소 서비스 제공 방법 또는 이를 위한 장치
CN111449572A (zh) * 2020-03-26 2020-07-28 北京石头世纪科技股份有限公司 清洁机器人控制方法、装置及存储介质、清洁机器人
WO2022086161A1 (ko) * 2020-10-20 2022-04-28 삼성전자주식회사 로봇 및 그 제어 방법
WO2023068542A1 (ko) * 2021-10-21 2023-04-27 한국전자통신연구원 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치
KR102668808B1 (ko) 2021-12-20 2024-05-24 한국전자기술연구원 약도 지도를 이용한 자율주행 이동로봇 및 방법
KR20230100049A (ko) * 2021-12-28 2023-07-05 (주)에스엘엠 선체 표면 관리시스템
KR20230102387A (ko) 2021-12-30 2023-07-07 주식회사 클로봇 지도 변경에 따른 이동 로봇의 위치 보정 방법, 장치 및 프로그램
CN114983267A (zh) * 2022-05-10 2022-09-02 安克创新科技股份有限公司 清洁机器人控制方法、装置、系统及清洁机器人
KR102611689B1 (ko) * 2022-12-30 2023-12-08 한국로봇융합연구원 로봇 청소 시스템 및 그 제어 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014147845A (ja) 2005-02-18 2014-08-21 Irobot Corp 清掃ロボット

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101553950B1 (ko) * 2009-03-02 2015-09-17 엘지전자 주식회사 로봇 청소기 및 그의 위치 검출 방법
KR101412590B1 (ko) * 2011-09-07 2014-06-26 엘지전자 주식회사 로봇 청소기의 원격 제어 시스템 및 방법
KR102094347B1 (ko) 2013-07-29 2020-03-30 삼성전자주식회사 자동 청소 시스템, 청소 로봇 및 그 제어 방법
KR102118049B1 (ko) * 2013-12-19 2020-06-09 엘지전자 주식회사 로봇 청소기, 로봇 청소기 시스템 및 그 제어방법
KR101784183B1 (ko) * 2014-06-17 2017-10-11 주식회사 유진로봇 ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014147845A (ja) 2005-02-18 2014-08-21 Irobot Corp 清掃ロボット

Also Published As

Publication number Publication date
KR101901599B1 (ko) 2018-09-28
KR101844744B1 (ko) 2018-04-05
KR101857952B1 (ko) 2018-05-15
KR20170087387A (ko) 2017-07-28
KR20170087403A (ko) 2017-07-28
KR20170087384A (ko) 2017-07-28
KR20170087385A (ko) 2017-07-28
KR20170087386A (ko) 2017-07-28

Similar Documents

Publication Publication Date Title
KR101941060B1 (ko) 이동 로봇과 통신을 수행하는 단말 장치의 신호 처리 방법 및 장치
US20160269691A1 (en) System for monitoring door using door phone
US20140129006A1 (en) Smart gateway, smart home system and smart controlling method thereof
CN104503378B (zh) 一种机器人以及基于该机器人的控制家电的方法
KR102350430B1 (ko) 홈 오토메이션 시스템의 하드웨어 엘리먼트들의 무선 프로비저닝 및 구성
US8634720B2 (en) Remote control relay for wirelessly-controlled devices
US11122318B2 (en) Methods and systems for implementing legacy remote and keystroke redirection
EP2668790B1 (en) Method and apparatus for remotely controlling a consumer electronics device by using a wireless personal area network
WO2017058001A1 (en) A type of smart home management method based on instant messasing (im)
US20100094928A1 (en) Remote apparatus management system, remote apparatus management method and remote apparatus management program
CN110174848B (zh) 一种智能家居控制系统及方法
US20060263091A1 (en) Remote control device, apparatus control device, and remote control method
CN107942690A (zh) 一种控制家电的智能系统及基于该系统的控制方法
KR101691284B1 (ko) 적외선 시그널링을 이용하여 주 디스플레이와 같은 방에 있는 후보 동반 디스플레이 디바이스의 근접 검출
CN113794996B (zh) 设备通信、设备控制方法、装置、电子设备和存储介质
CN105577521A (zh) 好友分组方法、装置及系统
US10531517B2 (en) Connection method for wireless system
KR20240059947A (ko) 머신러닝 기반 협동로봇의 센서 신호처리 시스템
KR100988725B1 (ko) 공용 로봇을 위한 p2p 방식의 로봇 제어 시스템 및 방법
US9191237B1 (en) Wireless communication systems and methods
JP3214776U (ja) 様々なタイプの無線接続を用いた屋内微気候管理システム、微気候管理設備及び微気候管理方法
KR102379865B1 (ko) IoT 허브 장치 및 이의 동작 방법
JPWO2013038693A1 (ja) 情報共有システム、情報共有管理装置及び情報共有方法
TWI647929B (zh) Wireless system data transmission method
CN109547913B (zh) 无线系统的数据传输方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant