WO2017126768A1 - Remote control apparatus and system for remotely controlling mobile robot and method for executing system - Google Patents

Remote control apparatus and system for remotely controlling mobile robot and method for executing system Download PDF

Info

Publication number
WO2017126768A1
WO2017126768A1 PCT/KR2016/010214 KR2016010214W WO2017126768A1 WO 2017126768 A1 WO2017126768 A1 WO 2017126768A1 KR 2016010214 W KR2016010214 W KR 2016010214W WO 2017126768 A1 WO2017126768 A1 WO 2017126768A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile robot
user
message
response message
communication
Prior art date
Application number
PCT/KR2016/010214
Other languages
French (fr)
Korean (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
Priority claimed from KR1020160109293A external-priority patent/KR101844744B1/en
Application filed by (주)유진로봇 filed Critical (주)유진로봇
Publication of WO2017126768A1 publication Critical patent/WO2017126768A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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]

Definitions

  • the present invention relates to a remote control device for remotely controlling a mobile robot, and more particularly, to a remote control device and a method for remotely controlling a mobile robot in consideration of a network connection state, and a remote control system.
  • the cleaning robot refers to a device that automatically cleans an area to be cleaned by inhaling foreign substances such as dust from the floor while driving itself in the area to be cleaned without a user's operation.
  • the cleaning robot is configured to perform a cleaning operation while driving a predetermined cleaning path according to a built-in program.
  • the position of the cleaning robot, its mileage, and obstacles A large number of sensors are used to detect the back.
  • the user's device is connected through the cleaning robot and the network to check the progress and results of the cleaning robot's autonomous driving and cleaning operation, and according to the situation, the user can remotely control the operation with the cleaning robot.
  • Techniques for remote control systems have been developed that can be implemented.
  • the present invention is to solve the above problems in the prior art, by using a control device for controlling a mobile robot, using a pre-stored data or temporarily storing the request and response according to the determination condition according to the network environment
  • a control device for controlling a mobile robot using a pre-stored data or temporarily storing the request and response according to the determination condition according to the network environment
  • the user is subjected to as little as possible the influence of the communication performance according to the network environment.
  • a remote control apparatus for remotely controlling a mobile robot that operates according to a request of a user comprising: a transceiver configured to transmit a user message related to the mobile robot or to receive a response message from the mobile robot according to the user message; Based on the time at which the user message is transmitted or the response message is received, the connection manager and the connection manager determine whether the current network connection state is in real time.
  • First control for providing first data responsive to the And a processor configured to generate a second control signal for providing a signal and second data received from the mobile robot in response to the user's request.
  • the mobile robot is a cleaning robot, the operation may be cleaning and running.
  • the connection manager is based on the current time of receiving or transmitting the user message and the response message based on whether the current network connection state is a state capable of communication in real time, the current network connection state is real-time It is determined whether the communication mode is the first communication mode or the second communication mode in which communication is not possible in real time, and the first data is received from the mobile robot when the first communication mode is stored in advance.
  • the response message, and the second data may be a response message received from the mobile robot when the first communication mode.
  • the apparatus may further include a storage configured to store data including a user message related to the operation of the mobile robot and a response message from the mobile robot according to the user message.
  • the storage may further include a cache.
  • the cache may further include a first cache for sorting and storing the user message according to the network connection state and a second cache for storing a response message responded by the mobile robot according to the user message.
  • connection manager presets the control signal generated by the processor when receiving a disconnect event from the socket (socket) when the socket (socket) for network communication of the mobile robot is not connected to the network
  • at least one of the case may be set to the second communication mode.
  • the processor may receive a response message from the mobile robot according to the user message from the transmission and reception unit and store it in the second cache.
  • the processor when the current network connection state is not possible to communicate in real time, sorts and stores the user message in the first cache, when the current network connection state can communicate in real time
  • the response message prestored in the second cache may be called.
  • the data can be transmitted and received in real time with the mobile robot.
  • the apparatus may further include a user interface for receiving the user message and an output unit for outputting the response message to the user interface.
  • the user message and the response message includes a timestamp including a time when the user message and the response message are generated, a first identifier for distinguishing according to a user's command type, and a generation order of the user message and the response message. It may include a sequence number indicating, a second identifier for distinguishing the user message and the response message, and at least one of parameters according to the first identifier and the second identifier.
  • a remote control device for remotely controlling a mobile robot and a mobile robot operating at the request of a user, the user associated with the mobile robot Transmitting and receiving unit for transmitting a message, receiving a response message from the mobile robot according to the user message, the current network connection state based on the time to send the user message or the response message communication in real time
  • the connection manager for determining whether or not it is possible and the first control signal for providing the first data stored in advance and in response to the user's request and received from the mobile robot in response to the user's request
  • a second control scene for providing a responsive second data
  • a control device for remotely controlling the mobile robot including a control device for remotely controlling the mobile robot including a processor for generating a call.
  • the mobile robot is a cleaning robot, further comprising a first cache for sorting and storing the user message according to the network connection state and a second cache for storing a response message responded by the cleaning robot according to the user message.
  • the processor may include, when the current network connection state is capable of communication in real time, depending on whether the current network connection state is capable of communication in real time based on the current time of receiving or transmitting the data. Receiving a response message from the cleaning robot according to the user message from the transmitting and receiving unit and storing the response message in the second cache, and when the communication is not possible in real time according to the network connection state, the user message is transmitted to the first cache.
  • the point in time to communicate in real time may further include wherein loading the stored response messages in advance to the second cache.
  • the cleaning robot when the network connection state can be communicated in real time receives the control signal generated from the control device, and cleaning and driving in accordance with the control signal, according to the user message
  • a response signal including a response message responsive to cleaning and driving may be transmitted.
  • a remote control method for communicating with a mobile robot operating according to a user's command the remote communication method for communicating with a mobile robot operating according to a user's command, Transmitting a related user message or receiving a response message from the mobile robot according to the user message; communicating the current network connection status in real time based on a time when the user message is transmitted or the response message is received; The first control signal and the first control signal for providing the first data stored in advance in response to a user's request in accordance with the step of determining whether or not the possible state and the network state can communicate in real time. Received and responding to the user's request Generating a second control signal for providing the second data.
  • the mobile robot is a cleaning robot, the operation may further comprise the cleaning and running.
  • the current network connection state is a state capable of communication in real time based on a current time of receiving or transmitting the data
  • the current network connection state is a first communication mode capable of communication in real time
  • the method may further include determining whether the communication mode is a second communication mode in which communication is not possible, and determining whether the communication mode is the second communication mode comprises: a socket for network communication of the mobile robot;
  • the second communication mode is a case in which at least one of the case that the control signal generated by the processor can not be transmitted and received with the mobile robot more than a predetermined number of times. Can be set to
  • the method may further include arranging and storing the user message according to the network connection state and storing a response message responded by the mobile robot according to the user message.
  • the method may further include transmitting and receiving the data in real time with the mobile robot in the first communication mode, and storing the response message may be stored when the first communication mode is used. Sorting and storing the message may be stored in the second communication mode, and the response message stored in advance in the first communication mode may be called.
  • control device uses the previously stored data or temporarily stores the request and response, thereby enabling seamless remote control to the user even when communication is not possible in real time.
  • FIG. 1 is a diagram illustrating a remote communication system for remotely controlling a mobile robot according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a case of a first communication mode according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a case of a second communication mode according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a case where a mode is converted to a first communication mode after a second communication mode according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a remote communication method according to a network connection state according to an embodiment of the present invention.
  • the remote control apparatus of the present invention is a remote control apparatus for remotely controlling a mobile robot that operates according to a request of a user, and transmits a user message related to the mobile robot or a response message from the mobile robot according to the user message.
  • a transmission / reception unit for receiving a message, a connection manager for determining whether a current network connection state is in a state capable of communication in real time based on a time for transmitting the user message or receiving the response message, according to the determination of the connection manager.
  • a processor configured to generate a first control signal stored in advance to provide first data in response to a user's request and a second control signal received from the mobile robot to provide second data in response to the user's request. It may include.
  • the remote control system of the present invention transmits and receives a mobile robot and a user message related to the mobile robot, a transceiver for receiving a response message from the mobile robot according to the user message, and transmits the user message or sends the response message.
  • the connection manager determines whether the current network connection state is in a state capable of real-time communication on the basis of the received time, and in order to provide first data that is stored in advance and responds to a user's request according to the determination of the connection manager.
  • a processor configured to generate a first control signal and a second control signal for providing second data received from the mobile robot in response to the user's request.
  • the remote control method of the present invention transmits a user message related to the mobile robot or sends a response message from the mobile robot according to the user message.
  • Receiving determining whether the current network connection state is a state capable of real-time communication on the basis of the time to send the user message or the response message and the state that the network state can communicate in real time
  • the first control signal is stored in advance to provide first data in response to the user's request, and the second control signal for providing second data received from the mobile robot in response to the user's request. It may include the step of generating.
  • the remote communication method of the present invention may provide a storage medium having a computer-readable program recorded thereon for execution by a computer.
  • the mobile robot may be a robot implemented as a cleaning robot that moves and operates itself according to a user's command, and performs an operation related to cleaning and driving.
  • the control device is a terminal device that can be used by a user as a user terminal receiving user commands related to remote cleaning or remote driving through a remote service system, and includes a mobile communication module, a mobile phone, a smartphone, and a laptop computer.
  • Digital broadcasting terminal, PDA (Personal Digital Assistants), PMP (Portable Multimedia Player), navigation, netbooks, tablets, etc. can be provided in various forms, in the present embodiment mixed with "user terminal" do.
  • the mobile robot 2 may be exemplified as, for example, a cleaning robot, a hospital service robot, a logistics service robot, a military robot, or an industrial robot, and there is no limitation on the type of robot.
  • the cleaning robot which is a representative mobile robot, will be described.
  • the mobile robot 2 is equipped with a sensor unit for detecting a surrounding situation, a driving unit for moving, and an embedded processor to grasp the surrounding situation of the mobile robot 2 and determine an appropriate operation according to the autonomous operation. . That is, the user's voice or other command may be recognized to determine the user's request, and the corresponding operation may be performed.
  • the mobile robot 2 is connected to the control device 1 via a network, and may receive a remote control from the control device 1 to perform a specific operation. At this time, the mobile robot 2 transmits the situation information detected through the sensor unit to the control device 1 and receives a remote control command signal for the determined operation based on the situation information monitored by the control device 1. This can be done.
  • the mobile robot 2 may switch the control mode from the automatic control mode using its own processor to the networked control mode that can be remotely controlled according to the user's request.
  • the mobile robot 2 is interconnected with the control device 1 through wired / wireless networks including the Internet, and secures or authenticates a space such as a home or office by using a gateway or an access point providing high-speed Internet access. Can be provided.
  • a router and an external server may be used.
  • the router is a network device that connects to an Internet line coming into the house and transmits it as a wireless signal, thereby allowing a plurality of software devices to share one Internet line and to simultaneously access the Internet.
  • the router is an access point (AP), and performs wireless communication in a wireless communication enabled area of a certain distance, thereby connecting the service robot 2 to the network.
  • AP access point
  • the server according to an embodiment of the present invention is located between the control device 1 for providing the information and the mobile robot 2 is located in place of the information requested by the user and delivers it to the user, and also provided by the user
  • a relay server or proxy server that delivers the information to the mobile robot 2 and temporarily stores the information so that when the user requests the information again, the information is quickly delivered to the user without re-connection. It can be prepared as.
  • the server is operated by a company providing a mobile robot 2, and is connected to a plurality of mobile robots 2 through a network, and the mobile robot 2 includes a plurality of mobile robots ( 2) You can save IP address, serial number, ID and password. Therefore, when the user inputs the ID and password through the control device 1, the mobile robot 2 can find the IP address of the mobile robot 2 corresponding to the ID and password, and can connect with the robot having the address. have.
  • a program for remotely controlling the mobile robot 2 may be installed in each of the mobile robot and the remote control device.
  • the control device 1 connects to the mobile robot 2 via a network in accordance with an operation defined by an installed program, and displays a screen for controlling the mobile robot 2 in the user interface unit 100 of the control device 1. After outputting), the mobile robot can be controlled by receiving a user's instruction and transmitting the user's instruction to the mobile robot.
  • the mobile robot 2 and the control device 1 may be initially connected to a server to obtain identification information of the other party and location information on the other party's network, and then form a mutual connection separately from the server.
  • a relay server having a fixed network address on the network is required.
  • the control device 1 connects to the relay server device to obtain necessary information about itself.
  • the mobile robot 2 and the control device 1 exchange a large amount of information such as real time video and audio information. If the mobile robot 2 and the control device 1 are plural, high performance server devices and large network bandwidths are required if all the information is exchanged through the relay server device, which leads to an increase in cost.
  • the mobile robot 2 and the control device 1 are initially connected to the relay server device to obtain the partner's identification information and the information on the partner's network, and then form an interconnection layer separately from the relay server device.
  • Two devices a Session Traversal Utilities for NAT (STUN) server, a signal processing device (1) and a service robot (2), for peer to peer connection to obtain location information on its own network separately from the relay server device.
  • An ICE frame network that performs communication and coordination through an ICE (Interactive Connectivity Establishment) protocol can be used to find a network connection path.
  • FIG. 1 is a diagram illustrating a remote communication system for remotely controlling a mobile robot according to an embodiment of the present invention.
  • a telecommunications system includes a control device 1 and a cleaning robot 2 for remotely controlling a mobile robot (hereinafter referred to as a “cleaning robot”).
  • the control device 1 includes a user interface unit 100, a processor 200, a storage unit (not shown), a transceiver unit 400, an output unit 500, and a connection manager ( 600).
  • the user interface unit 100 receives a user message.
  • the user interface unit 100 displays a map related to the driving area of the cleaning robot 2 and receives a user message related to the operation of the cleaning robot 2, thereby receiving the input unit 110 and the display.
  • the apparatus may further include a unit 120, and receive a message for a user command for controlling the cleaning robot 2, and display various information of the cleaning robot 2.
  • the input unit 110 is for receiving a command of a user such as a touch, and may be illustrated as, for example, a graphical user interface (GUI) for touch input, or a touch panel including software for touch input.
  • GUI graphical user interface
  • the touch panel may be implemented in a form of a layer structure with the display unit 120.
  • the input unit 110 may not only form a touch panel but also various buttons, switches, pedals, keyboards, mice, track-balls, various levers, handles, or sticks for user input. It can be implemented in the form of a hardware device such as a stick).
  • the display unit 120 provides the map received from the cleaning robot 2 to the user through a visual screen.
  • the display 120 may provide the user with the information in an auditory form through the speaker.
  • the display unit 120 may generally include a liquid crystal touch panel and a driving unit for driving the touch panel, but is not limited thereto.
  • the display 120 may display a map or information according to a signal from the processor 200 on the screen.
  • the storage unit (not shown) stores data including a user message, which is a user command related to the operation of the cleaning robot 2, and a response message responded by the cleaning robot 2 according to the user message.
  • a storage unit (not shown) according to an embodiment of the present invention is a cache, and the storage unit further includes a first cache 310 and a second cache 320.
  • the first cache 310 is a storage unit for sorting and storing user messages
  • the second cache 320 is a storage unit for storing a response message responded by the cleaning robot 2 according to the user message. More specifically, the first cache 310 and the second cache 320 is provided with a space for storing each message.
  • the first cache 310 and the second cache 320 are provided with spaces divided into robot status information, cleaning schedule information, map information, cleaning concentration area information, cleaning avoidance area information, location information, and the like.
  • a message may include a version indicating a change history of a message format, a size value of a message, a timestamp containing a time when a message is generated, a first identifier for distinguishing a user's command type, and a sequence of generating a message. sequence), a second identifier for distinguishing a request and a response message, and a structure including parameters according to the first identifier and the second identifier.
  • the first cache 310 stores the input user message in a sorted form according to at least one of the structures described above. .
  • the second cache 320 is a storage unit that stores data that can be retrieved by the processor 200 when the network connection state is not possible in real time, and stores a response message when communication is possible in real time. .
  • the processor 200 is received from the cleaning robot 2 and a first control signal for providing first data that is stored in advance according to a network connection state used for communicating with the cleaning robot 2 and responds to a user's request. Generate a second control signal for providing second data in response to the request.
  • the first data is a response message received from the cleaning robot 2 and stored in advance when the current network state is the second communication mode capable of communicating in real time
  • the second data is the cleaning robot when the first data is in the first communication mode.
  • This is a response message received in real time from (2).
  • the first control signal is a signal generated in the second communication mode when communication is not possible in real time
  • the second control signal is a signal generated in the first communication mode when communication is possible in real time.
  • the second data may include a cleaning schedule list, map information generated from the cleaning robot 2, and area information on which the cleaning robot 2 has completed its operation.
  • the processor 200 sorts and stores the data according to the structure included in the message as described above.
  • the connection manager 600 determines whether the current network connection state can communicate in real time according to whether the current network connection state can communicate in real time based on a time for transmitting a user message or receiving a response message. It is determined whether the communication mode or the second communication mode in which communication is not possible in real time.
  • the connection manager 600 determines the first communication mode if the current network connection state is possible in real time, and determines the second communication mode if the current network connection state is not possible in real time.
  • the connection manager 600 is generated when the socket for network communication of the cleaning robot 20 is not connected to the network, when receiving a disconnect event from the socket, and from the processor 200.
  • the current network connection state is a second communication mode in which communication is not possible in real time.
  • the predetermined number of times refers to a case in which a message cannot be transmitted or received more than a predetermined number set by a user.
  • the transceiver 400 transmits a control signal including a user message generated from the processor 200 to the cleaning robot 2 through the network. , Receives a signal including a response message from the cleaning robot (2).
  • the transceiver 400 may include various communication modules, such as a wireless Internet module, a short-range communication module, a mobile communication module.
  • various communication modules such as a wireless Internet module, a short-range communication module, a mobile communication module.
  • the wireless Internet module can be connected externally according to communication protocols such as Wireless LAN (WLAN), Wi-Fi, Wireless broadband, Wimax (World Interoperability for Microwave Access), and High Speed Downlink Packet Access (HSDPA).
  • WLAN Wireless LAN
  • Wi-Fi Wireless fidelity
  • Wireless broadband Wireless broadband
  • Wimax Worldwide Interoperability for Microwave Access
  • HSDPA High Speed Downlink Packet Access
  • the short-range communication module is connected to external devices located in close proximity according to near field communication schemes such as Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, etc. It means a module for performing communication.
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • UWB Ultra Wideband
  • ZigBee ZigBee
  • the mobile communication module refers to a module that performs communication by accessing a mobile communication network according to various mobile communication standards such as 3rd generation (3G), 3rd generation partnership project (3GPP), long term evolution (LTE), and the like.
  • 3G 3rd generation
  • 3GPP 3rd generation partnership project
  • LTE long term evolution
  • the present invention is not limited thereto. If communication with the cleaning robot 2 is possible, the transceiver 400 may employ a communication module of another type in addition to the above.
  • the output unit 500 outputs the response message that the cleaning robot 2 received from the transceiver 400 to the user interface unit 100.
  • the cleaning robot 2 receives a control signal generated from the control device 1 when the network connection state is a first communication mode capable of communicating in real time, and cleans according to the control signal.
  • the vehicle generates a response signal including a response message responsive to cleaning and driving according to a user message, and transmits the response signal to the controller 1.
  • the cleaning robot 2 responds to a remote control signal from the control device 1, performs an operation according to the above, and generates a map for the space in which the robot is running, through an external router, to control the control.
  • the cleaning robot 2 may include a network adapter for connecting to a wired or wireless router.
  • the network adapter operates in a client mode that connects to an existing wireless router.
  • the network adapter may have a soft AP or an infrastructure mode, which is a role of the wireless router. Therefore, when a specific button is pressed on the cleaning robot 2, the cleaning robot 2 performs a role of a router, and the control device 1 connects to a router of the cleaning robot 2 to perform communication. At this time, the control device 1 transmits the existing router information to which the cleaning robot 2 should be connected, that is, SSID, security protocol, security algorithm, and key information to the cleaning robot 2, and the cleaning robot 2 After receiving the information, you can stop the role of the router and connect to the existing router based on the received information.
  • FIG. 2 is a diagram illustrating a case of a first communication mode according to an embodiment of the present invention.
  • the input unit 110 transmits the user message to the processor 200.
  • the connection manager 600 transmits a result of determining whether the current network connection state is in a state capable of real time communication or a state in which communication is not possible to the processor 200.
  • the processor 200 transmits / receives data including a user message and a response message to the cleaning robot 2 in real time when the result received from the connection manager 600 is a first communication mode in which communication is possible. At this time, when the response message is received from the cleaning robot 2 in the first communication mode, the processor 200 stores the received response message in the second cache 320. More specifically, the second cache 320 classifies the second identifier included in the response message, and stores at least one parameter included in the message in an information space corresponding to the response message in the second cache 320. Save it in consideration.
  • the processor 200 receiving the response message from the transceiver 400 and completing the storage in the second cache 320 transmits the response message to the output unit 500.
  • the output unit 500 outputs the received response message to the display unit 120, so that the user checks the response information from the cleaning robot 2 through the screen of the display unit 120.
  • FIG. 3 is a diagram illustrating a case of a second communication mode according to an embodiment of the present invention.
  • the input unit 110 transmits the user message to the processor 200.
  • the connection manager 600 transmits a result of determining whether the current network connection state is in a state capable of real time communication or a state in which communication is not possible to the processor 200.
  • the processor 200 aligns and stores the user message in the first cache 310 and stores the first message that occurred earlier from the present time.
  • the response message prestored in the second cache 320 is called.
  • the processor 200 calls a response message according to a user message stored in the first cache 310
  • the processor 200 calls a response message including a first identifier and a second identifier corresponding to the user message. come.
  • the retrieved response message may be output to the display unit 120 through the output unit 500 to confirm data to be acquired by the user.
  • the processor 200 may not store a user message regarding an action of requesting real-time processing among user messages according to a user's request in the first cache.
  • the message related to the forward, backward, and rotational motions of the cleaning robot 2 may be stored in the first cache by excluding a user's manual manipulation.
  • FIG. 4 is a diagram illustrating a case where a mode is converted to a first communication mode after a second communication mode according to an embodiment of the present invention.
  • the connection manager 600 determines that the current network connection state is in a first communication mode in which communication is possible in real time due to a good network connection state again in the second communication mode in which communication is impossible in real time
  • the first cache ( The user message stored in the 310 is transmitted to the cleaning robot 2 through the transceiver 400.
  • the transceiver 400 receives the response message according to the user message from the cleaning robot 2 and returns the reply message to the information space corresponding to the inside of the second cache 320 in the reply message. By considering and storing at least one parameter, data previously stored in the second cache 320 is updated.
  • the processor 200 transmits the returned response message to the user interface unit 100 to the output unit 500.
  • the second cache 320 is provided with separate information spaces according to a first identifier for distinguishing an instruction type among the components constituting the data.
  • the input user message is transferred from the user interface unit 100 to the processor 200.
  • the processor 200 transmits a user message to the transceiver 400, and the transceiver 400 transmits the user message to the cleaning robot 2 through a network.
  • the cleaning robot 2 generates a response message according to the user message and transmits the response message to the control device 1 again, and when the processor 200 of the control device 1 receives the response message through the transceiver 400, 2
  • the cache 320 retrieves a second identifier called "Cleaning Schedule List” and stores the "Cleaning Schedule List” included in the response message in the corresponding space.
  • the processor 200 when a user inputs a user message requesting a "cleaning schedule list" to the control device 1, the processor 200 accordingly inputs the input user message to the first cache 310.
  • the processor 200 stores the input user message in the first cache 310, retrieves data corresponding to the user message from the second cache 320, and outputs a corresponding response message through the display 120. Displayed on the screen, the user confirms the displayed response message.
  • FIG. 5 is a flowchart illustrating a remote communication method according to a network connection state according to an embodiment of the present invention.
  • the remote communication method described later describes in detail a method of controlling from a system for remotely controlling the cleaning robot 2.
  • the user inputs a user message to the user interface unit 100 to request data related to driving and cleaning operations of the cleaning robot 2 to be acquired (S100).
  • the connection manager 600 determines whether or not the current network connection state is available for communication in real time based on a current time of receiving or transmitting a user message or response message. It is determined whether the state is a first communication mode capable of communicating in real time or a second communication mode in which communication is not possible in real time (S200). At this time, the connection manager 600 determines that the current network connection state is the first communication mode if communication is possible in real time, and the socket for network communication of the cleaning robot 20 is not connected to the network. , At least one of receiving a disconnect event from the socket and failing to transmit / receive a control signal generated from the processor 200 with the cleaning robot 2 more than a predetermined number of times. It determines with the 2nd communication mode which communication is not possible.
  • the predetermined number of times refers to a case in which a message cannot be transmitted or received more than a predetermined number set by a user.
  • the transceiver 400 cleans a control signal including a user message generated from the processor 200 through the network. It transmits to the robot 2 (S201).
  • the transmission / reception unit 4000 receives a signal including a response message from the cleaning robot 2 (S202).
  • the processor 200 stores the received response message in the second cache (S203). More specifically, the second cache 320 classifies the second identifier included in the response message, and stores at least one parameter included in the message in an information space corresponding to the response message in the second cache 320. Save it in consideration.
  • the processor 200 receiving the response message from the transceiver 400 and completing the storage in the second cache 320 transmits the response message to the output unit 500.
  • the output unit 500 outputs the received response message to the display unit 120, and the user checks the information responded from the cleaning robot 2 through the screen of the display unit 120 (S300).
  • the user message may be aligned and stored in the first cache 310 (S210), and the second message may be generated at a previous time from the current time.
  • a response message prestored in the second cache 320 is called.
  • the processor 200 calls a response message according to a user message stored in the first cache 310, the processor 200 searches for a response message including a first identifier and a second identifier corresponding to the user message. To be called (S220)
  • the imported response message is output to the display unit 120 through the output unit 500, and the user confirms the response message.
  • the processor 200 transmits to the cleaning robot 2 through the transceiver 400 to request a response message.
  • the processor 200 deletes the user message stored in the first cache.
  • the processor 200 stores the response message in an information space corresponding to the inside of the second cache 320 in consideration of at least one parameter included in the returned response message, thereby allowing the second cache 320 to be stored. Update the data previously stored in.
  • the map displayed on the screen of the remote control device is preferably a map based on map data generated by the cleaning robot.
  • the cleaning robot may store map data for the corresponding area, which is already stored, or may generate map data generated in real time by recognizing the moving path while the mobile robot starts driving regardless of the stored map data.
  • the user message related to cleaning the user-designated area stored in the first cache 310 is converted from the second communication mode to the first communication mode, and transmitted from the mobile robot 2 as it is transmitted to the mobile robot 2.
  • the processor 200 may analyze the received response message. For example, the processor 200 may analyze whether the cleaning area performed by the mobile robot 2 according to the user command is correct for the designated area selected by the user.
  • the user compares the designated area selected by the control device with the cleaning area performed by the mobile robot 2, and if it is determined that the comparison is similar, the response message received from the mobile robot 2 is determined by the user.
  • the display unit may be controlled to display on the screen.
  • the processor 200 may determine the similarity by using a positional relationship between the outline line or the feature points forming the outline recognized in each map representing the designated area and the cleaning area.
  • the processor 200 matches at least some of the feature points extracted from each map, adjusts some of the matched feature points to the same size by adjusting the scale, and then compares similarities between the corresponding feature points.
  • the distance may be used to determine similarity between maps.
  • the similarity distance may be obtained by using a method such as Euclidean distance, Cosine distance, Mahalanobis's distance, Manhattan distance, and the like. Can be determined.
  • the notification message may be displayed on the display unit so that the user can designate the designated area together with the cleaning area cleaned by the mobile robot 2.
  • the present invention is not necessarily limited to these embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more.
  • all of the components may be implemented in one independent hardware, each or some of the components of the components are selectively combined to perform some or all of the functions combined in one or a plurality of hardware It may be implemented as a computer program having a.
  • such a computer program is stored in a computer readable medium such as a USB memory, a CD disk, a flash memory, and the like, and is read and executed by a computer, thereby implementing embodiments of the present invention.
  • the recording medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.

Abstract

The present invention relates to a control apparatus for remotely controlling a mobile robot, the control apparatus, which remotely controls a mobile robot moving in accordance with user requests, comprising: a transceiver for transmitting a user message associated with the mobile robot and for receiving a response message from the mobile robot in response to the user message; a connection manager for determining whether the current network connection state allows real-time communication on the basis of time for transmitting a user message or for receiving a response message; and a processor for generating, in accordance with the determination of the connection manager, a first control signal for providing first item of data, previously stored, in response to a user request, and a second control signal for providing second item of data, received from the mobile robot, in response to the user request.

Description

이동로봇을 원격으로 제어하는 원격 제어 장치 및 시스템과 그의 수행방법Remote control device and system for remotely controlling mobile robot and method of performing the same
본 발명은 이동 로봇을 원격으로 제어하는 원격 제어 장치에 관한 것으로써, 더욱 상세하게는, 네트워크 연결 상태를 고려하여 이동 로봇을 원격으로 제어하는 원격 제어 장치와 방법 및 원격 제어 시스템에 관한 것이다.The present invention relates to a remote control device for remotely controlling a mobile robot, and more particularly, to a remote control device and a method for remotely controlling a mobile robot in consideration of a network connection state, and a remote control system.
청소 로봇은 사용자의 조작 없이도 청소하고자 하는 구역내를 스스로 주행하면서 바닥면으로부터 먼지 등의 이물질을 흡입함으로써, 청소하고자 하는 구역을 자동으로 청소하는 기기를 말한다.The cleaning robot refers to a device that automatically cleans an area to be cleaned by inhaling foreign substances such as dust from the floor while driving itself in the area to be cleaned without a user's operation.
이러한 청소로봇은 내장된 프로그램에 따라 미리 설정된 청소경로를 주행하면서 청소동작을 수행하도록 되어 있는데, 이와 같이 기 설정된 청소 경로를 자동적으로 주행하면서 청소동작을 수행하기 위해서는 청소로봇의 위치와 주행거리 및 장애물 등을 감지하기 위해 많은 수의 센서들이 사용된다.The cleaning robot is configured to perform a cleaning operation while driving a predetermined cleaning path according to a built-in program. In order to perform the cleaning operation while automatically driving the preset cleaning path, the position of the cleaning robot, its mileage, and obstacles A large number of sensors are used to detect the back.
최근에는 사용자의 사용자기기를 청소로봇과 네트워크를 통해 연결하여 청소로봇의 자율주행 및 청소동작에 따른 진행상황 및 결과를 확인하고, 또, 상황에 따라 사용자가 원격으로 청소로봇으로 동작에 대한 제어할 수 있도록 구현된 원격 제어 시스템의 기술들이 개발되고 있다.Recently, the user's device is connected through the cleaning robot and the network to check the progress and results of the cleaning robot's autonomous driving and cleaning operation, and according to the situation, the user can remotely control the operation with the cleaning robot. Techniques for remote control systems have been developed that can be implemented.
그러나, 네트워크를 이용하여 사용자기기와 청소로봇간 데이터를 주고받는데 있어서, 네트워크 환경에 따라 실시간 통신에 장애가 발생하는 경우에 사용자가 청소로봇을 원격으로 제어하는데 어려움이 있었다.However, in the exchange of data between the user device and the cleaning robot by using a network, it is difficult for the user to remotely control the cleaning robot in case of a failure in real time communication according to the network environment.
본 발명은 상기와 같은 종래 기술상의 문제점을 해결하기 위하여, 이동 로봇을 제어하는 제어 장치를 이용하여, 네트워크 환경에 따른 판단 조건에 의하여 미리 저장해둔 데이터를 이용하거나 요청 및 응답을 일시적으로 저장하는 방법을 이용하여, 사용자가 이동 로봇을 제어하는데 있어서, 네트워크 환경에 따른 통신 성능의 영향을 가능한 한 적게 받도록 하는 것을 그 목적으로 한다.The present invention is to solve the above problems in the prior art, by using a control device for controlling a mobile robot, using a pre-stored data or temporarily storing the request and response according to the determination condition according to the network environment In order to control the mobile robot, the user is subjected to as little as possible the influence of the communication performance according to the network environment.
상기 목적을 달성하기 위한 본 발명의 일 예에 따른 사용자의 명령에 따라 동작하는 이동 로봇을 원격으로 제어하는 제어 장치는, 사용자의 명령에 따라 동작하는 이동 로봇을 원격으로 제어하는 제어 장치에 있어서, 사용자의 요청에 따라 동작하는 이동 로봇을 원격으로 제어하는 원격 제어 장치에 있어서, 상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 송수신부, 상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 연결 관리자 및 상기 연결 관리자의 판단에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 프로세서를 포함할 수 있다.In the control device for remotely controlling a mobile robot operating according to a user's command according to an embodiment of the present invention for achieving the above object, in the control device for remotely controlling a mobile robot operating according to the user's command, A remote control apparatus for remotely controlling a mobile robot that operates according to a request of a user, the remote control apparatus comprising: a transceiver configured to transmit a user message related to the mobile robot or to receive a response message from the mobile robot according to the user message; Based on the time at which the user message is transmitted or the response message is received, the connection manager and the connection manager determine whether the current network connection state is in real time. First control for providing first data responsive to the And a processor configured to generate a second control signal for providing a signal and second data received from the mobile robot in response to the user's request.
본 발명에서, 상기 이동 로봇은 청소 로봇이고, 상기 동작은 청소 및 주행일 수 있다.In the present invention, the mobile robot is a cleaning robot, the operation may be cleaning and running.
본 발명에서, 상기 연결 관리자는 상기 사용자 메시지 및 응답메시지를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 제1 통신 모드인지, 아니면 상기 실시간으로 통신이 가능하지 않은 제2 통신 모드인지 여부를 판단하고, 상기 제1 데이터는 상기 제1 통신 모드일 때, 상기 이동 로봇으로부터 수신 받아 미리 저장한 응답메시지이고, 상기 제2 데이터는 상기 제1 통신 모드일 때, 상기 이동 로봇으로부터 수신된 응답메시지일 수 있다.In the present invention, the connection manager is based on the current time of receiving or transmitting the user message and the response message based on whether the current network connection state is a state capable of communication in real time, the current network connection state is real-time It is determined whether the communication mode is the first communication mode or the second communication mode in which communication is not possible in real time, and the first data is received from the mobile robot when the first communication mode is stored in advance. The response message, and the second data may be a response message received from the mobile robot when the first communication mode.
또한, 상기 이동 로봇의 동작과 관련된 사용자 메시지 및 상기 사용자 메시지에 따른 상기 이동 로봇으로부터의 응답메시지를 포함하는 데이터를 저장하는 저장부를 더 포함하며, 상기 저장부는 캐시를 더 포함할 수 있다.The apparatus may further include a storage configured to store data including a user message related to the operation of the mobile robot and a response message from the mobile robot according to the user message. The storage may further include a cache.
또한, 상기 캐시는 상기 네트워크 연결 상태에 따라 상기 사용자 메시지를 정렬하여 저장하는 제1캐시 및 상기 사용자 메시지에 따라 이동 로봇이 응답한 응답 메시지를 저장하는 제2캐시를 더 포함할 수 있다.The cache may further include a first cache for sorting and storing the user message according to the network connection state and a second cache for storing a response message responded by the mobile robot according to the user message.
본 발명에서, 상기 연결 관리자는 상기 이동 로봇의 네트워크 통신을 위한 소켓(socket)이 네트워크에 접속 안되는 경우, 상기 소켓(socket)으로부터 끊김 이벤트를 수신하는 경우, 상기 프로세서에서 생성된 제어 신호를 기 설정된 횟수 이상 상기 이동 로봇과 송수신 하지 못하는 경우, 중 적어도 하나인 경우를 상기 제2 통신 모드로 설정할 수 있다.In the present invention, the connection manager presets the control signal generated by the processor when receiving a disconnect event from the socket (socket) when the socket (socket) for network communication of the mobile robot is not connected to the network When not transmitting and receiving with the mobile robot more than the number of times, at least one of the case may be set to the second communication mode.
본 발명에서, 상기 프로세서는, 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 경우, 상기 사용자 메시지에 따른 상기 이동 로봇으로부터의 응답 메시지를 상기 송수신부로부터 전달받아 상기 제2 캐시로 저장할 수 있다.In the present invention, when the current network connection state can be communicated in real time, the processor may receive a response message from the mobile robot according to the user message from the transmission and reception unit and store it in the second cache.
본 발명에서, 상기 프로세서는, 현재의 네트워크 연결 상태가 실시간으로 통신이 가능하지 않은 경우,상기 사용자 메시지를 상기 제1 캐시에 정렬하여 저장하고,상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 경우에 상기 제2 캐시에 미리 저장한 응답 메시지를 불러올 수 있다.In the present invention, the processor, when the current network connection state is not possible to communicate in real time, sorts and stores the user message in the first cache, when the current network connection state can communicate in real time The response message prestored in the second cache may be called.
또한, 상기 연결 관리자로부터 상기 제1 통신 모드로 판단되면, 상기 데이터를 상기 이동 로봇과 실시간으로 송수신할 수 있다.In addition, if it is determined that the first communication mode from the connection manager, the data can be transmitted and received in real time with the mobile robot.
또한, 상기 사용자 메시지를 입력받는 사용자 인터페이스부 및 상기 응답 메시지를 상기 사용자 인터페이스부로 출력하는 출력부를 더욱 포함할 수 있다.The apparatus may further include a user interface for receiving the user message and an output unit for outputting the response message to the user interface.
본 발명에서, 상기 사용자 메시지 및 응답 메시지는 상기 사용자 메시지 및 응답 메시지가 생성된 시각을 포함하는 타임스탬프, 사용자의 명령 타입에 따라 구분하기 위한 제1 식별자, 상기 사용자 메시지 및 응답 메시지의 생성 순서를 나타내는 시퀀스 번호, 상기 사용자 메시지와 응답 메시지를 구분하기 위한 제2 식별자 및 상기 제1 식별자와 제2 식별자에 따른 파라미터들 중 적어도 하나를 포함할 수 있다.In the present invention, the user message and the response message includes a timestamp including a time when the user message and the response message are generated, a first identifier for distinguishing according to a user's command type, and a generation order of the user message and the response message. It may include a sequence number indicating, a second identifier for distinguishing the user message and the response message, and at least one of parameters according to the first identifier and the second identifier.
본 발명의 일 실시예에 따르는 청소로봇을 원격으로 제어하기 위한 원격 제어 시스템은, 이동로봇 및 사용자의 요청에 따라 동작하는 이동 로봇을 원격으로 제어하는 원격 제어 장치에 있어서, 상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 송수신부, 상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 연결 관리자 및 상기 연결 관리자의 판단에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 프로세서를 포함하는 이동 로봇을 원격으로 제어하는 제어 장치를 포함하는 이동 로봇을 원격으로 제어하는 제어 장치를 포함할 수 있다. In a remote control system for remotely controlling a cleaning robot according to an embodiment of the present invention, a remote control device for remotely controlling a mobile robot and a mobile robot operating at the request of a user, the user associated with the mobile robot Transmitting and receiving unit for transmitting a message, receiving a response message from the mobile robot according to the user message, the current network connection state based on the time to send the user message or the response message communication in real time The connection manager for determining whether or not it is possible and the first control signal for providing the first data stored in advance and in response to the user's request and received from the mobile robot in response to the user's request A second control scene for providing a responsive second data And a control device for remotely controlling the mobile robot including a control device for remotely controlling the mobile robot including a processor for generating a call.
본 발명에서, 상기 이동로봇은 청소로봇이고, 상기 네트워크 연결 상태에 따라 상기 사용자 메시지를 정렬하여 저장하는 제1캐시 및 상기 사용자 메시지에 따라 청소로봇이 응답한 응답 메시지를 저장하는 제2캐시를 더 포함할 수 있고, 상기 프로세서는, 상기 데이터를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 경우, 상기 사용자 메시지에 따른 상기 청소로봇으로부터의 응답 메시지를 상기 송수신부로부터 전달받아 상기 제2 캐시로 저장하며, 상기 네트워크 연결 상태에 따라 실시간으로 통신이 가능하지 않은 경우, 상기 사용자 메시지를 상기 제1 캐시에 정렬하여 저장하고, 상기 실시간으로 통신 가능한 시점에 따라 상기 제2 캐시에 미리 저장한 응답 메시지를 불러오는 것을 특징으로 하는 것을 더 포함할 수 있다.In the present invention, the mobile robot is a cleaning robot, further comprising a first cache for sorting and storing the user message according to the network connection state and a second cache for storing a response message responded by the cleaning robot according to the user message. The processor may include, when the current network connection state is capable of communication in real time, depending on whether the current network connection state is capable of communication in real time based on the current time of receiving or transmitting the data. Receiving a response message from the cleaning robot according to the user message from the transmitting and receiving unit and storing the response message in the second cache, and when the communication is not possible in real time according to the network connection state, the user message is transmitted to the first cache. Arranged and stored in the cache, the point in time to communicate in real time According may further include wherein loading the stored response messages in advance to the second cache.
본 발명에서, 상기 청소로봇은, 상기 네트워크 연결 상태가 실시간으로 통신이 가능한 경우 상기 제어장치로부터 생성된 제어신호를 전달받아, 상기 제어신호에 따라 청소 및 주행을 수행하고, 상기 사용자 메시지에 따라 상기 청소 및 주행에 관련되어 응답하는 응답 메시지를 포함하는 응답신호를 전송할 수 있다.In the present invention, the cleaning robot, when the network connection state can be communicated in real time receives the control signal generated from the control device, and cleaning and driving in accordance with the control signal, according to the user message A response signal including a response message responsive to cleaning and driving may be transmitted.
본 발명의 일 실시예에 따르는 사용자의 명령에 따라 동작하는 이동 로봇과 통신하기 위한 원격 제어 방법에 있어서, 사용자의 명령에 따라 동작하는 이동 로봇과 통신하기 위한 원격 통신 방법에 있어서, 상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 단계, 상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 단계 및 상기 네트워크 상태가 실시간으로 통신이 가능한 상태인지 판단함에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 단계를 포함할 수 있다.A remote control method for communicating with a mobile robot operating according to a user's command according to an embodiment of the present invention, the remote communication method for communicating with a mobile robot operating according to a user's command, Transmitting a related user message or receiving a response message from the mobile robot according to the user message; communicating the current network connection status in real time based on a time when the user message is transmitted or the response message is received; The first control signal and the first control signal for providing the first data stored in advance in response to a user's request in accordance with the step of determining whether or not the possible state and the network state can communicate in real time. Received and responding to the user's request Generating a second control signal for providing the second data.
본 발명에서, 상기 이동 로봇은 청소 로봇이고, 상기 동작은 청소 및 주행인 것을 특징으로 하는 것을 더 포함할 수 있다.In the present invention, the mobile robot is a cleaning robot, the operation may further comprise the cleaning and running.
또한, 상기 데이터를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 제1 통신 모드인지, 아니면 상기 실시간으로 통신이 가능하지 않은 제2 통신 모드인지 여부를 판단하는 단계를 더 포함할 수 있고, 상기 제2통신 모드인지 여부를 판단하는 단계는 상기 이동 로봇의 네트워크 통신을 위한 소켓(socket)이 네트워크에 접속 안되는 경우, 상기 소켓(socket)으로부터 끊김 이벤트를 수신하는 경우, 상기 프로세서에서 생성된 제어 신호를 기 설정된 횟수 이상 상기 이동 로봇과 송수신 하지 못하는 경우 중 적어도 하나인 경우를 상기 제2통신 모드로 설정할 수 있다.Further, depending on whether the current network connection state is a state capable of communication in real time based on a current time of receiving or transmitting the data, the current network connection state is a first communication mode capable of communication in real time, or The method may further include determining whether the communication mode is a second communication mode in which communication is not possible, and determining whether the communication mode is the second communication mode comprises: a socket for network communication of the mobile robot; When not connected to the network, when receiving the disconnect event from the socket (socket), the second communication mode is a case in which at least one of the case that the control signal generated by the processor can not be transmitted and received with the mobile robot more than a predetermined number of times. Can be set to
또한, 상기 네트워크 연결 상태에 따라 상기 사용자 메시지를 정렬하여 저장하는 단계 및 상기 사용자 메시지에 따라 이동 로봇이 응답한 응답 메시지를 저장하는 단계를 더욱 포함할 수 있다.The method may further include arranging and storing the user message according to the network connection state and storing a response message responded by the mobile robot according to the user message.
또한, 상기 제1 통신 모드인 경우에, 상기 데이터를 상기 이동 로봇과 실시간으로 송수신하는 단계를 더 포함하고, 상기 응답 메시지를 저장하는 단계는, 상기 제1 통신 모드인 경우에 저장하고,상기 사용자 메시지를 정렬하여 저장하는 단계는, 상기 제2 통신 모드인 경우 저장하며, 상기 제1 통신 모드인 경우에 미리 저장한 상기 응답 메시지를 불러올 수 있다.The method may further include transmitting and receiving the data in real time with the mobile robot in the first communication mode, and storing the response message may be stored when the first communication mode is used. Sorting and storing the message may be stored in the second communication mode, and the response message stored in advance in the first communication mode may be called.
또한, 본 발명의 또 다른 목적을 달성하기 위하여, 본 발명의 원격 통신 방법이 컴퓨터에서 수행하기 위한 컴퓨터에서 판독 가능한 프로그램이 기록된 저장 매체를 제공한다.In addition, in order to achieve another object of the present invention, there is provided a storage medium in which a computer readable program is recorded for performing on a computer by the telecommunication method of the present invention.
따라서, 제어 장치는 미리 저장해둔 데이터를 이용하거나 요청 및 응답을 일시적으로 저장함으로써, 실시간으로 통신이 가능하지 않은 경우에도 사용자에게 끊김 없는 원격 제어가 가능하게 한다.Therefore, the control device uses the previously stored data or temporarily stores the request and response, thereby enabling seamless remote control to the user even when communication is not possible in real time.
도1은 본 발명의 일 실시예에 따른 이동 로봇을 원격으로 제어 하기 위한 원격 통신 시스템을 도시한 도면이다.1 is a diagram illustrating a remote communication system for remotely controlling a mobile robot according to an embodiment of the present invention.
도2는 본 발명의 일 실시예에 따른 제1 통신 모드인 경우를 도시한 도면이다. 2 is a diagram illustrating a case of a first communication mode according to an embodiment of the present invention.
도3은 본 발명의 일 실시예에 따른 제2 통신 모드인 경우를 도시한 도면이다.3 is a diagram illustrating a case of a second communication mode according to an embodiment of the present invention.
도4는 본 발명의 일 실시예에 따른 제2 통신 모드 이후에 제1 통신 모드로 변환된 경우를 도시한 도면이다.4 is a diagram illustrating a case where a mode is converted to a first communication mode after a second communication mode according to an embodiment of the present invention.
도5는 본 발명의 일 실시예에 따른 네트워크 연결 상태에 따른 원격 통신 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a remote communication method according to a network connection state according to an embodiment of the present invention.
본 발명의 원격 제어 장치는 사용자의 요청에 따라 동작하는 이동 로봇을 원격으로 제어하는 원격 제어 장치에 있어서, 상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 송수신부, 상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 연결 관리자 및 상기 연결 관리자의 판단에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 프로세서를 포함할 수 있다.The remote control apparatus of the present invention is a remote control apparatus for remotely controlling a mobile robot that operates according to a request of a user, and transmits a user message related to the mobile robot or a response message from the mobile robot according to the user message. A transmission / reception unit for receiving a message, a connection manager for determining whether a current network connection state is in a state capable of communication in real time based on a time for transmitting the user message or receiving the response message, according to the determination of the connection manager. And a processor configured to generate a first control signal stored in advance to provide first data in response to a user's request and a second control signal received from the mobile robot to provide second data in response to the user's request. It may include.
본 발명의 원격 제어 시스템은 이동로봇 및 상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 송수신부, 상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 연결 관리자 및 상기 연결 관리자의 판단에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 프로세서를 포함할 수 있다.The remote control system of the present invention transmits and receives a mobile robot and a user message related to the mobile robot, a transceiver for receiving a response message from the mobile robot according to the user message, and transmits the user message or sends the response message. The connection manager determines whether the current network connection state is in a state capable of real-time communication on the basis of the received time, and in order to provide first data that is stored in advance and responds to a user's request according to the determination of the connection manager. And a processor configured to generate a first control signal and a second control signal for providing second data received from the mobile robot in response to the user's request.
본 발명의 원격 제어 방법은 사용자의 명령에 따라 동작하는 이동 로봇과 통신하기 위한 원격 통신 방법에 있어서, 상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 단계, 상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 단계 및 상기 네트워크 상태가 실시간으로 통신이 가능한 상태인지 판단함에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 단계를 포함할 수 있다.In a remote communication method for communicating with a mobile robot operating according to a user's command, the remote control method of the present invention transmits a user message related to the mobile robot or sends a response message from the mobile robot according to the user message. Receiving, determining whether the current network connection state is a state capable of real-time communication on the basis of the time to send the user message or the response message and the state that the network state can communicate in real time In response to the determination, the first control signal is stored in advance to provide first data in response to the user's request, and the second control signal for providing second data received from the mobile robot in response to the user's request. It may include the step of generating.
또한, 본 발명의 원격 통신 방법은 컴퓨터에서 수행하기 위한 컴퓨터에서 판독 가능한 프로그램이 기록된 저장매체를 제공할 수 있다.In addition, the remote communication method of the present invention may provide a storage medium having a computer-readable program recorded thereon for execution by a computer.
첨부된 도면들을 참조하여 본 발명을 일 실시예에 따라 상세히 설명한다.The present invention will be described in detail with reference to the accompanying drawings in accordance with one embodiment.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments.
본 발명의 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 해당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라 질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다.The terminology used in the specification of the present invention is a general term that is widely used as possible while considering the functions of the present invention, but may vary according to the intention or custom of the person skilled in the art or the emergence of new technology. . In addition, in certain cases, there is a term arbitrarily selected by the applicant, and in this case, the meaning of the term will be described in the corresponding description of the invention. Therefore, it is to be understood that the terminology used herein is to be interpreted based on the actual meaning of the term and the contents throughout the specification, rather than simply on the name of the term. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment.
나아가, 도면들 중 참조번호 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Furthermore, it should be noted that reference numerals and like elements among the drawings are denoted by the same reference numerals and symbols as much as possible even though they are displayed on different drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
따라서 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서 동일한 부호는 동일한 구성 요소를 나타낸다.The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects. Like reference numerals in the drawings denote like elements.
이하에서는, 첨부된 도면을 참조하여 이동 로봇을 원격으로 제어하는 원격 제어 장치, 원격 통신 시스템 및 원격 통신 방법을 후술하는 실시예들에 따라 구체적으로 설명하도록 한다. 예컨대, 이동 로봇은 사용자의 명령에 따라 자체적으로 움직이며 동작하고, 청소 및 주행에 관련된 동작을 수행하는 청소 로봇으로 구현되는 로봇일 수 있다. 또한, 제어 장치는 원격 서비스 시스템을 통해 원격 청소 또는 원격 주행 등과 관련된 사용자 명령을 받는 사용자 단말기로서 사용자가 사용할 수 있는 단말장치이고, 무선 통신 모듈을 포함하는 휴대폰, 스마트폰, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 넷북, 태블릿 등을 포함하여, 다양한 형태로 마련될 수 마련될 수 있고, 본 실시예에서는"사용자 단말"과 혼용된다.Hereinafter, a remote control apparatus, a remote communication system, and a remote communication method for remotely controlling a mobile robot will be described in detail with reference to the accompanying drawings. For example, the mobile robot may be a robot implemented as a cleaning robot that moves and operates itself according to a user's command, and performs an operation related to cleaning and driving. In addition, the control device is a terminal device that can be used by a user as a user terminal receiving user commands related to remote cleaning or remote driving through a remote service system, and includes a mobile communication module, a mobile phone, a smartphone, and a laptop computer. , Digital broadcasting terminal, PDA (Personal Digital Assistants), PMP (Portable Multimedia Player), navigation, netbooks, tablets, etc., can be provided in various forms, in the present embodiment mixed with "user terminal" do.
이동로봇(2)는 예를 들어, 청소로봇, 병원 서비스 로봇, 물류 서비스 로봇, 군사용 로봇, 산업용 로봇으로 예시될 수 있으며 로봇의 종류에 제한은 없다. 다만, 아래의 실시예에서는 대표적인 이동 로봇인 청소 로봇을 위주로 설명한다.The mobile robot 2 may be exemplified as, for example, a cleaning robot, a hospital service robot, a logistics service robot, a military robot, or an industrial robot, and there is no limitation on the type of robot. However, in the following embodiments, the cleaning robot, which is a representative mobile robot, will be described.
이동로봇(2)는 주변 상황을 감지하는 센서부와 이동을 위한 구동부와 임베디드 프로세서(embedded processor)를 갖추어 이동로봇(2)의 주변의 상황을 파악하고 이에 맞는 적절한 동작을 결정하여 자율적으로 수행한다. 즉, 사용자의 음성이나 기타 명령을 인식하여 사용자의 요구를 판단하고, 이에 대응하는 적절한 동작을 수행할 수 있다.The mobile robot 2 is equipped with a sensor unit for detecting a surrounding situation, a driving unit for moving, and an embedded processor to grasp the surrounding situation of the mobile robot 2 and determine an appropriate operation according to the autonomous operation. . That is, the user's voice or other command may be recognized to determine the user's request, and the corresponding operation may be performed.
또한, 이동로봇(2)은 네트워크를 통해 제어장치(1)와 연결되며, 제어장치(1)로부터의 원격제어를 받아 특정 동작을 수행할 수 있다. 이때, 이동로봇(2)은 센서부를 통해 감지되는 상황정보를 제어장치(1)로 전달하고, 제어장치(1)가 모니터링한 상황 정보에 기초하여, 결정한 동작에 대한 원격제어 명령 신호를 수신하여 이를 수행할 수 있다.In addition, the mobile robot 2 is connected to the control device 1 via a network, and may receive a remote control from the control device 1 to perform a specific operation. At this time, the mobile robot 2 transmits the situation information detected through the sensor unit to the control device 1 and receives a remote control command signal for the determined operation based on the situation information monitored by the control device 1. This can be done.
즉, 이동로봇(2)은 사용자의 요구에 따라 자체 프로세서를 이용한 자율모드(automatic control mode)에서 원격제어가 가능한 네트워크 모드(networked control mode)로 제어 모드를 전환할 수 있다.That is, the mobile robot 2 may switch the control mode from the automatic control mode using its own processor to the networked control mode that can be remotely controlled according to the user's request.
이동로봇(2)은 인터넷을 비롯한 유/무선 네트워크를 통해 제어장치(1)와 상호 연결되며, 게이트웨이나 고속의 인터넷 액세스를 제공하는 액세스 포인트를 이용하여 집이나 사무실과 같은 공간에 대한 보안 또는 인증을 제공할 수 있다.The mobile robot 2 is interconnected with the control device 1 through wired / wireless networks including the Internet, and secures or authenticates a space such as a home or office by using a gateway or an access point providing high-speed Internet access. Can be provided.
여기서, 본 발명에 일 실시예에 따라 제어 장치(1)와 이동로봇(2)이 상호 연결을 하기 위해, 공유기 및 외부 서버를 이용할 수 있다.Here, according to an embodiment of the present invention, in order for the control device 1 and the mobile robot 2 to interconnect with each other, a router and an external server may be used.
공유기는 집으로 들어오는 인터넷 라인에 연결하여, 무선 신호로 송출하면서, 복수개의 소프트웨어 장치가 하나의 인터넷 라인을 공유해, 동시에 인터넷 접근이 가능하게 하는 네트워크 기기이다. 공유기는 AP(Access Point)로서, 일정 거리의 무선 통신 가능 영역에서 무선 통신을 수행하여, 서비스 로봇(2)을 네트워크에 연결하게 한다.The router is a network device that connects to an Internet line coming into the house and transmits it as a wireless signal, thereby allowing a plurality of software devices to share one Internet line and to simultaneously access the Internet. The router is an access point (AP), and performs wireless communication in a wireless communication enabled area of a certain distance, thereby connecting the service robot 2 to the network.
본 발명의 일 실시예에 따르는 서버는 정보를 제공하는 제어 장치(1)와 이동 로봇(2)이 사이에 위치하여 사용자가 요구한 정보를 대신하여 가져와 이를 사용자에게 전달하고, 또, 사용자가 제공하는 정보를 이동 로봇(2)에게 전달하며, 해당 정보를 일시적으로 보관하여, 사용자가 정보를 재차 요구할 때, 다시 접속하지 않고도 해당 정보를 사용자에게 신속하게 전달해 주는 중계서버 또는 프록시서버(Proxy Server)로 마련될 수 있다.The server according to an embodiment of the present invention is located between the control device 1 for providing the information and the mobile robot 2 is located in place of the information requested by the user and delivers it to the user, and also provided by the user A relay server or proxy server that delivers the information to the mobile robot 2 and temporarily stores the information so that when the user requests the information again, the information is quickly delivered to the user without re-connection. It can be prepared as.
또 다른 일 실시예에 따른 서버는 이동 로봇(2)을 제공하는 회사에서 운영하는 것으로써, 네트워크를 통해 복수개의 이동 로봇(2)과 연결되어 있으며, 이동 로봇(2)은 복수개의 이동 로봇(2)의 IP 주소와 시리얼 번호, 아이디 및 비밀번호를 저장할 수 있다. 따라서, 사용자가 제어 장치(1)를 통해 아이디와 비밀번호를 입력하면, 이동 로봇(2)은 그 아이디와 비밀번호에 해당하는 이동로봇(2)의 IP 주소를 찾고, 그 주소를 갖는 로봇과 접속할 수 있다. In another embodiment, the server is operated by a company providing a mobile robot 2, and is connected to a plurality of mobile robots 2 through a network, and the mobile robot 2 includes a plurality of mobile robots ( 2) You can save IP address, serial number, ID and password. Therefore, when the user inputs the ID and password through the control device 1, the mobile robot 2 can find the IP address of the mobile robot 2 corresponding to the ID and password, and can connect with the robot having the address. have.
또한, 이동로봇(2)을 원격 제어하기 위한 프로그램은 이동로봇과 원격제어장치 각각에 설치될 수 있다. 제어 장치(1)는 설치된 프로그램에 의하여 정의된 동작에 따라 네트워크를 통해 이동로봇(2)에 접속하고, 이동로봇(2)을 제어할 수 있는 화면을 제어 장치(1)의 사용자 인터페이스부(100)에 출력한 후, 사용자 지시를 입력 받아, 사용자 지시를 이동 로봇에 전송하는 방식으로 이동 로봇을 제어할 수 있다.In addition, a program for remotely controlling the mobile robot 2 may be installed in each of the mobile robot and the remote control device. The control device 1 connects to the mobile robot 2 via a network in accordance with an operation defined by an installed program, and displays a screen for controlling the mobile robot 2 in the user interface unit 100 of the control device 1. After outputting), the mobile robot can be controlled by receiving a user's instruction and transmitting the user's instruction to the mobile robot.
일 예로, 이동 로봇(2)과 제어 장치(1)가 처음에는 서버에 연결되어, 상대의 식별 정보 및 상대의 네트워크 상의 위치 정보를 얻은 후, 서버와는 별개로 상호 연결을 이룰 수 있다.For example, the mobile robot 2 and the control device 1 may be initially connected to a server to obtain identification information of the other party and location information on the other party's network, and then form a mutual connection separately from the server.
보다 상세하게는, 이동 로봇(2)이 제어 장치(1)와 네트워크 상에서 연결되기 위해서는 네트워크 상에서 고정된 네트워크 주소를 가지고 있는 중계 서버가 필요하다. 제어 장치(1)는 중계 서버 장치에 연결하여, 스스로에 대한 필요한 정보를 획득한다. 이동 로봇(2)과 제어 장치(1)는 실시간 영상, 음성 정보와 같은 대용량의 정보를 교환한다. 만일 이동 로봇(2)과 제어 장치(1)가 다수일 경우, 모든 정보가 중계 서버 장치를 통해 교환된다면 고성능의 서버 장치 및 대용량의 네트워크 대역폭이 필요하며, 이는 곧 비용의 증가로 이어진다.More specifically, in order for the mobile robot 2 to be connected to the control device 1 on the network, a relay server having a fixed network address on the network is required. The control device 1 connects to the relay server device to obtain necessary information about itself. The mobile robot 2 and the control device 1 exchange a large amount of information such as real time video and audio information. If the mobile robot 2 and the control device 1 are plural, high performance server devices and large network bandwidths are required if all the information is exchanged through the relay server device, which leads to an increase in cost.
따라서, 이동 로봇(2)과 제어 장치(1)는 처음에는 중계 서버 장치에 연결하여, 상대의 식별 정보 및 상대의 네트워크 상의 정보를 얻은 후, 중계 서버 장치와는 별개로 상호 연결을 이루는 동등 계층간 연결(peer to peer connection)을 하여, 중계 서버 장치와는 별도로 스스로의 네트워크 상의 위치 정보를 얻기 위한 STUN(Session Traversal Utilities for NAT) 서버와 신호 처리 장치(1)와 서비스 로봇(2) 두 장치간의 네트워크 연결 경로를 찾기 위해 ICE(Interactive Connectivity Establishment) 프로토콜(protocol)을 통해 통신 및 조정을 수행하는 ICE 프레임 네트워크를 이용할 수 있다.Therefore, the mobile robot 2 and the control device 1 are initially connected to the relay server device to obtain the partner's identification information and the information on the partner's network, and then form an interconnection layer separately from the relay server device. Two devices, a Session Traversal Utilities for NAT (STUN) server, a signal processing device (1) and a service robot (2), for peer to peer connection to obtain location information on its own network separately from the relay server device. An ICE frame network that performs communication and coordination through an ICE (Interactive Connectivity Establishment) protocol can be used to find a network connection path.
도1은 본 발명의 일 실시예에 따른 이동 로봇을 원격으로 제어 하기 위한 원격 통신 시스템을 도시한 도면이다.1 is a diagram illustrating a remote communication system for remotely controlling a mobile robot according to an embodiment of the present invention.
도1을 참고하면, 원격 통신 시스템은 이동 로봇(이하, "청소 로봇")을 원격으로 제어하는 제어 장치(1) 및 청소 로봇(2)을 포함한다. 보다 상세하게 설명하면, 본 발명에 따른 제어 장치(1)는 사용자 인터페이스부(100), 프로세서(200), 저장부(미도시), 송수신부(400), 출력부(500) 및 연결 관리자(600)를 포함한다.Referring to FIG. 1, a telecommunications system includes a control device 1 and a cleaning robot 2 for remotely controlling a mobile robot (hereinafter referred to as a “cleaning robot”). In more detail, the control device 1 according to the present invention includes a user interface unit 100, a processor 200, a storage unit (not shown), a transceiver unit 400, an output unit 500, and a connection manager ( 600).
사용자 인터페이스부(100)는 사용자 메시지를 입력받는다. 일 예로, 사용자 인터페이스부(100)는 청소로봇(2)의 주행영역과 관련된 맵(map)을 표시하고, 청소로봇(2)의 동작과 관련된 사용자 메시지를 입력 받음으로써, 입력부(110) 및 디스플레이부(120)를 더 포함하며, 청소 로봇(2)의 제어를 위한 사용자 명령을 위한 메시지를 입력 받고, 청소 로봇(2)의 각종 정보를 표시할 수 있다.The user interface unit 100 receives a user message. For example, the user interface unit 100 displays a map related to the driving area of the cleaning robot 2 and receives a user message related to the operation of the cleaning robot 2, thereby receiving the input unit 110 and the display. The apparatus may further include a unit 120, and receive a message for a user command for controlling the cleaning robot 2, and display various information of the cleaning robot 2.
입력부(110)는 터치와 같은 사용자의 명령을 입력 받기 위한 것으로서, 예를 들어 같이 터치 입력을 위한 GUI(Graphical User interface), 내지는 터치 입력을 위한 소프트웨어를 포함하는 터치 패널로 예시될 수 있다. 터치 패널은 디스플레이부(120)와 상호 레이어 구조를 이루는 형태로 구현될 수 있다. 입력부(110)는 이러한 터치 패널 형태뿐만 아니라 사용자의 입력을 위해 각종 버튼이나 스위치, 페달(pedal), 키보드, 마우스, 트랙볼(track-ball), 각종 레버(lever), 핸들(handle)이나 스틱(stick) 등과 같은 하드웨어적인 장치의 형태로 구현될 수 있다.The input unit 110 is for receiving a command of a user such as a touch, and may be illustrated as, for example, a graphical user interface (GUI) for touch input, or a touch panel including software for touch input. The touch panel may be implemented in a form of a layer structure with the display unit 120. The input unit 110 may not only form a touch panel but also various buttons, switches, pedals, keyboards, mice, track-balls, various levers, handles, or sticks for user input. It can be implemented in the form of a hardware device such as a stick).
디스플레이부(120)는 청소로봇(2)으로부터 전달 받은 맵을 시각적인 화면을 통해 사용자에게 제공한다. 또한, 디스플레이부(120)는 청각적인 형태의 정보를 스피커를 통해 사용자에게 제공할 수도 있다. 특히, 디스플레이부(120)는 일반적으로 액정 터치 패널과, 상기 터치 패널을 구동하기 위한 구동부를 포함할 수 있으나, 이에 제한되지는 않는다. 디스플레이부(120)는 프로세서(200)로부터의 신호에 따른 맵 내지는 정보를 화면에 표시할 수 있다. The display unit 120 provides the map received from the cleaning robot 2 to the user through a visual screen. In addition, the display 120 may provide the user with the information in an auditory form through the speaker. In particular, the display unit 120 may generally include a liquid crystal touch panel and a driving unit for driving the touch panel, but is not limited thereto. The display 120 may display a map or information according to a signal from the processor 200 on the screen.
저장부(미도시)는 청소 로봇(2)의 동작과 관련된 사용자 명령인 사용자 메시지 및 사용자 메시지에 따른 청소 로봇(2)으로부터 응답된 응답메시지를 포함하는 데이터를 저장한다. 본 발명의 일 실시예에 따른 저장부(미도시)는 캐시(cache)이며, 상기 저장부는 제1 캐시(310) 및 제2 캐시(320)를 더 포함한다.The storage unit (not shown) stores data including a user message, which is a user command related to the operation of the cleaning robot 2, and a response message responded by the cleaning robot 2 according to the user message. A storage unit (not shown) according to an embodiment of the present invention is a cache, and the storage unit further includes a first cache 310 and a second cache 320.
제1 캐시(310)는 사용자 메시지를 정렬하여 저장하는 저장부이고, 제2 캐시(320)는 사용자 메시지에 따라 청소 로봇(2)이 응답한 응답 메시지를 저장하는 저장부이다. 보다 상세하게는, 제1 캐시(310) 및 제2 캐시(320)는 메시지 별로 각각 저장되는 공간이 마련되어 있다. 예를 들어, 제1 캐시(310) 및 제2 캐시(320)에는 로봇 상태 정보, 청소 일정 정보, 맵 정보, 청소 집중 영역 정보, 청소 회피 영역 정보 및 위치 정보 등으로 구분된 공간이 마련된다.The first cache 310 is a storage unit for sorting and storing user messages, and the second cache 320 is a storage unit for storing a response message responded by the cleaning robot 2 according to the user message. More specifically, the first cache 310 and the second cache 320 is provided with a space for storing each message. For example, the first cache 310 and the second cache 320 are provided with spaces divided into robot status information, cleaning schedule information, map information, cleaning concentration area information, cleaning avoidance area information, location information, and the like.
일 예로, 메시지는 메시지 형식의 변경 이력을 알 수 있는 버전, 메시지의 크기 값, 메시지가 생성된 시각을 담는 타임스탬프, 사용자의 명령 타입을 구분하기 위한 제1 식별자, 메시지의 생성 순서인 시퀀스(sequence) 번호, 요청과 응답 메시지를 구분하기 위한 제2 식별자를 포함하고, 제1 식별자 및 제2 식별자에 따른 파라미터들을 포함하는 구조를 포함할 수 있다.For example, a message may include a version indicating a change history of a message format, a size value of a message, a timestamp containing a time when a message is generated, a first identifier for distinguishing a user's command type, and a sequence of generating a message. sequence), a second identifier for distinguishing a request and a response message, and a structure including parameters according to the first identifier and the second identifier.
제1 캐시(310)는 네트워크 연결 상태가 실시간으로 통신이 가능하지 않은 경우에 사용자 메시지가 입력되면, 입력된 사용자 메시지를 상술한 바와 같은 구조들 중 적어도 하나에 따라 구분하여 정렬된 형태로 저장한다.When the user message is input when the network connection status is not possible in real time, the first cache 310 stores the input user message in a sorted form according to at least one of the structures described above. .
제2 캐시(320)는 네트워크 연결 상태가 실시간으로 통신이 가능하지 않은 경우에 프로세서(200)가 불러올 수 있는 데이터를 저장하는 저장부로서, 실시간으로 통신이 가능한 경우에 응답 메시지를 저장하는 공간이다.The second cache 320 is a storage unit that stores data that can be retrieved by the processor 200 when the network connection state is not possible in real time, and stores a response message when communication is possible in real time. .
프로세서(200)는 청소 로봇(2)과 통신하기 위해 이용하는 네트워크 연결 상태에 따라 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 청소 로봇(2)으로부터 수신되어 사용자 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성한다. 여기서, 제1 데이터는 현재의 네트워크 상태가 실시간으로 통신 가능한 제2 통신모드일 때, 청소 로봇(2)으로부터 수신 받아 미리 저장한 응답메시지이고, 제2 데이터는 제1 통신 모드일 때, 청소 로봇(2)으로부터 실시간으로 수신된 응답메시지이다. 또한, 제1 제어 신호는 실시간으로 통신이 가능하지 않은 경우인 제2 통신 모드에 생성하는 신호이고, 제2 제어 신호는 실시간으로 통신이 가능한 경우인 제1 통신 모드에 생성하는 신호이다. 예컨대, 여기서 제2 데이터는 청소 일정 목록, 청소 로봇(2)으로부터 생성된 지도 정보 및 청소 로봇(2)이 동작을 완료한 영역 정보 등을 포함할 수 있다.The processor 200 is received from the cleaning robot 2 and a first control signal for providing first data that is stored in advance according to a network connection state used for communicating with the cleaning robot 2 and responds to a user's request. Generate a second control signal for providing second data in response to the request. Here, the first data is a response message received from the cleaning robot 2 and stored in advance when the current network state is the second communication mode capable of communicating in real time, and the second data is the cleaning robot when the first data is in the first communication mode. This is a response message received in real time from (2). The first control signal is a signal generated in the second communication mode when communication is not possible in real time, and the second control signal is a signal generated in the first communication mode when communication is possible in real time. For example, the second data may include a cleaning schedule list, map information generated from the cleaning robot 2, and area information on which the cleaning robot 2 has completed its operation.
또한, 프로세서(200)는 상기 데이터를 저장부(미도시)에 저장할 때, 상술한 바와 같이 메시지가 포함하고 있는 구조에 따라 분류하여 정렬하여 저장한다.In addition, when storing the data in the storage unit (not shown), the processor 200 sorts and stores the data according to the structure included in the message as described above.
연결 관리자(600)는 사용자 메시지를 송신하거나 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 제1 통신 모드인지, 아니면 실시간으로 통신이 가능하지 않은 제2 통신 모드인지 여부를 판단한다. The connection manager 600 determines whether the current network connection state can communicate in real time according to whether the current network connection state can communicate in real time based on a time for transmitting a user message or receiving a response message. It is determined whether the communication mode or the second communication mode in which communication is not possible in real time.
연결 관리자(600)는 현재의 네트워크 연결 상태가 실시간으로 통신이 가능하면 제1 통신 모드로 판단하고, 현재의 네트워크 연결 상태가 실시간으로 통신이 가능하지 않다면 제2 통신 모드로 판단한다.The connection manager 600 determines the first communication mode if the current network connection state is possible in real time, and determines the second communication mode if the current network connection state is not possible in real time.
일 예로, 연결 관리자(600)는 청소 로봇(20)의 네트워크 통신을 위한 소켓(socket)이 네트워크에 접속이 안되는 경우, 소켓(socket)으로부터 끊김 이벤트를 수신하는 경우 및 프로세서(200)로부터 생성된 제어 신호를 기 설정된 횟수 이상 청소 로봇(2)과 송수신하지 못하는 경우 중 적어도 하나인 경우 현재의 네트워크 연결상태가 실시간으로 통신이 가능하지 않은 제2 통신 모드로 판단한다. 상기 기 설정된 횟수는 사용자에 의해 미리 설정된 정해진 횟수 이상 메시지를 송수신하지 못하는 경우를 의미한다. For example, the connection manager 600 is generated when the socket for network communication of the cleaning robot 20 is not connected to the network, when receiving a disconnect event from the socket, and from the processor 200. In the case where at least one of the control signals cannot be transmitted to or received from the cleaning robot 2 more than a predetermined number of times, it is determined that the current network connection state is a second communication mode in which communication is not possible in real time. The predetermined number of times refers to a case in which a message cannot be transmitted or received more than a predetermined number set by a user.
송수신부(400)는 연결 관리자(600)로부터 네트워크 연결 상태가 제1 통신모드로 판단되면, 프로세서(200)로부터 생성된 사용자 메시지를 포함하는 제어 신호를 네트워크를 통해 청소로봇(2)으로 송신하고, 청소로봇(2)으로부터 응답된 응답메시지를 포함하는 신호를 수신한다.When the network connection state is determined as the first communication mode from the connection manager 600, the transceiver 400 transmits a control signal including a user message generated from the processor 200 to the cleaning robot 2 through the network. , Receives a signal including a response message from the cleaning robot (2).
이를 위해, 송수신부(400)는 무선 인터넷 모듈, 근거리 통신 모듈, 이동통신 모듈 등 다양한 통신 모듈을 포함할 수 있다.To this end, the transceiver 400 may include various communication modules, such as a wireless Internet module, a short-range communication module, a mobile communication module.
무선 인터넷 모듈은 무선 랜(Wireless LAN; WLAN), 와이파이(Wi-Fi), Wibro(Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등과 같은 통신 프로토콜에 따라 외부 네트워트에 연결되어 통신을 수행하는 모듈을 의미한다.The wireless Internet module can be connected externally according to communication protocols such as Wireless LAN (WLAN), Wi-Fi, Wireless broadband, Wimax (World Interoperability for Microwave Access), and High Speed Downlink Packet Access (HSDPA). The module is connected to the network and performs communication.
근거리 통신 모듈은 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, Infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee) 등과 같은 근걸 통신 방식에 따라, 근거리에 위치한 외부 기기와 통신을 수행하기 위한 모듈을 의미한다.The short-range communication module is connected to external devices located in close proximity according to near field communication schemes such as Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, etc. It means a module for performing communication.
이동 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신 망에 접속하여 통신을 수행하는 모듈을 의미한다.The mobile communication module refers to a module that performs communication by accessing a mobile communication network according to various mobile communication standards such as 3rd generation (3G), 3rd generation partnership project (3GPP), long term evolution (LTE), and the like.
다만, 이에 한정되는 것은 아니며, 청소로봇(2)와 통신을 수행할 수 있다면, 송수신부(400)는 상술한 바 외에 다른 형태의 통신 모듈을 채용할 수도 있다.However, the present invention is not limited thereto. If communication with the cleaning robot 2 is possible, the transceiver 400 may employ a communication module of another type in addition to the above.
출력부(500)는 송수신부(400)로부터 수신된 청소로봇(2)이 응답한 응답메시지를 사용자 인터페이스부(100)로 출력한다. The output unit 500 outputs the response message that the cleaning robot 2 received from the transceiver 400 to the user interface unit 100.
본 발명의 일 실시예에 따른 청소 로봇(2)은 네트워크 연결 상태가 실시간으로 통신이 가능한 제1 통신 모드인 경우, 제어 장치(1)로부터 생성된 제어신호를 전달받아, 제어신호에 따라 청소 및 주행을 수행하고, 사용자 메시지에 따라 청소 및 주행에 관련되어 응답하는 응답 메시지를 포함하는 응답신호를 생성하여 제어장치(1)로 전송한다. 또 다른 일 예로서, 청소로봇(2)는 제어 장치(1)로부터의 원격 제어 신호에 응답하고, 이에 따른 동작을 수행하며, 주행중인 공간에 대한 맵을 생성하여 외부의 공유기를 통해, 상기 제어 장치(1)로 전송한다. 보다 상세하게는, 청소로봇(2)은 유선 또는 무선 공유기에 연결하기 위한 네트워크 어뎁터(adapter)를 포함할 수 있다. 일반적으로 네트워크 어뎁터는 기존의 무선 공유기에 연결하는 클라이언트 모드로 작동하나, 필요에 따라서 무선 공유기의 역할인 Soft AP 또는 infrastructure mode를 할 수 있다. 따라서 청소 로봇(2)에서 특정 버튼을 누르면 청소 로봇(2)은 공유기의 역할을 수행하고, 제어 장치(1)는 청소로봇(2)의 공유기에 연결하여 통신을 수행한다. 이 때, 제어 장치(1)는 청소로봇(2)이 연결되어야 할 기존의 공유기 정보 즉, SSID, 보안 프로토콜, 보안 알고리즘 및 키 정보를 청소로봇(2)에 전달하고, 청소로봇(2)은 정보를 전달받은 후, 공유기의 역할을 중지하고 전달받은 정보를 바탕으로 기존의 공유기에 연결할 수 있다.The cleaning robot 2 according to an embodiment of the present invention receives a control signal generated from the control device 1 when the network connection state is a first communication mode capable of communicating in real time, and cleans according to the control signal. The vehicle generates a response signal including a response message responsive to cleaning and driving according to a user message, and transmits the response signal to the controller 1. As another example, the cleaning robot 2 responds to a remote control signal from the control device 1, performs an operation according to the above, and generates a map for the space in which the robot is running, through an external router, to control the control. To the device 1. More specifically, the cleaning robot 2 may include a network adapter for connecting to a wired or wireless router. In general, the network adapter operates in a client mode that connects to an existing wireless router. However, the network adapter may have a soft AP or an infrastructure mode, which is a role of the wireless router. Therefore, when a specific button is pressed on the cleaning robot 2, the cleaning robot 2 performs a role of a router, and the control device 1 connects to a router of the cleaning robot 2 to perform communication. At this time, the control device 1 transmits the existing router information to which the cleaning robot 2 should be connected, that is, SSID, security protocol, security algorithm, and key information to the cleaning robot 2, and the cleaning robot 2 After receiving the information, you can stop the role of the router and connect to the existing router based on the received information.
도2는 본 발명의 일 실시예에 따른 제1 통신 모드인 경우를 도시한 도면이다.2 is a diagram illustrating a case of a first communication mode according to an embodiment of the present invention.
사용자 인터페이스부(100)로부터 사용자 메시지가 입력되면, 입력부(110)는 사용자 메시지를 프로세서(200)로 전달한다. 이와 동시에, 연결 관리자(600)는 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 통신이 가능하지 않은 상태인지 판단된 결과를 프로세서(200)에 전달한다.When a user message is input from the user interface unit 100, the input unit 110 transmits the user message to the processor 200. At the same time, the connection manager 600 transmits a result of determining whether the current network connection state is in a state capable of real time communication or a state in which communication is not possible to the processor 200.
프로세서(200)는 연결 관리자(600)로부터 전달받은 결과가 통신 가능한 제1 통신 모드이면, 사용자 메시지 및 응답 메시지를 포함하는 데이터를 청소로봇(2)과 실시간으로 송수신한다. 이 때, 프로세서(200)는 제1 통신 모드 시, 청소 로봇(2)으로부터 응답 메시지가 수신되었을 때, 수신된 응답 메시지를 제2 캐시(320)에 저장한다. 보다 상세하게는, 제2 캐시(320)는 응답 메시지에 포함된 제2 식별자를 구분하여, 제2 캐시(320) 내부에 응답 메시지에 해당하는 정보 공간으로 해당 메시지에 포함된 적어도 하나의 파라미터를 고려하여 저장한다.The processor 200 transmits / receives data including a user message and a response message to the cleaning robot 2 in real time when the result received from the connection manager 600 is a first communication mode in which communication is possible. At this time, when the response message is received from the cleaning robot 2 in the first communication mode, the processor 200 stores the received response message in the second cache 320. More specifically, the second cache 320 classifies the second identifier included in the response message, and stores at least one parameter included in the message in an information space corresponding to the response message in the second cache 320. Save it in consideration.
송수신부(400)로부터 응답 메시지를 전달 받고, 제2 캐시(320)로 저장을 완료한 프로세서(200)는 출력부(500)로 응답 메시지를 전달한다. 출력부(500)는 전달받은 응답 메시지를 디스플레이부(120)로 출력하여, 사용자는 디스플레이부(120)의 화면을 통해 청소로봇(2)으로부터 응답된 정보를 확인한다.The processor 200 receiving the response message from the transceiver 400 and completing the storage in the second cache 320 transmits the response message to the output unit 500. The output unit 500 outputs the received response message to the display unit 120, so that the user checks the response information from the cleaning robot 2 through the screen of the display unit 120.
도3은 본 발명의 일 실시예에 따른 제2 통신 모드인 경우를 도시한 도면이다.3 is a diagram illustrating a case of a second communication mode according to an embodiment of the present invention.
사용자 인터페이스부(100)로부터 사용자 메시지가 입력되면, 입력부(110)는 사용자 메시지를 프로세서(200)로 전달한다. 이와 동시에, 연결 관리자(600)는 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 통신이 가능하지 않은 상태인지 판단된 결과를 프로세서(200)에 전달한다.When a user message is input from the user interface unit 100, the input unit 110 transmits the user message to the processor 200. At the same time, the connection manager 600 transmits a result of determining whether the current network connection state is in a state capable of real time communication or a state in which communication is not possible to the processor 200.
프로세서(200)는 연결 관리자(600)로부터 전달받은 결과가 통신 가능하지않은 제2 통신 모드이면, 사용자 메시지를 제1 캐시(310)에 정렬하여 저장하고, 현재 시점으로부터 이전 시점에 발생했던 제1 통신 모드일 때, 제2 캐시(320)에 미리 저장된 응답 메시지를 불러온다. 보다 구체적으로 설명하면, 프로세서(200)는 제1 캐시(310)에 저장하는 사용자 메시지에 따른 응답 메시지를 불러올 때, 사용자 메시지와 상응하는 제1 식별자와 제2 식별자를 포함하고 있는 응답 메시지를 불러온다. 불러온 응답 메시지는 출력부(500)를 통해, 디스플레이부(120)로 출력하여, 사용자가 획득하고자 하는 데이터를 확인할 수 있다.When the result received from the connection manager 600 is a second communication mode in which communication is not possible, the processor 200 aligns and stores the user message in the first cache 310 and stores the first message that occurred earlier from the present time. When in the communication mode, the response message prestored in the second cache 320 is called. In more detail, when the processor 200 calls a response message according to a user message stored in the first cache 310, the processor 200 calls a response message including a first identifier and a second identifier corresponding to the user message. come. The retrieved response message may be output to the display unit 120 through the output unit 500 to confirm data to be acquired by the user.
또한, 일 실시예로서, 프로세서(200)는 사용자의 요청에 따른 사용자 메시지 중 실시간적 처리를 요구하는 행위에 대한 사용자 메시지는 제1 캐시에 저장하지 않을 수 있다. 예를 들어, 사용자의 수동 조종에 의한 청소 로봇(2)의 전진, 후진, 회전동작에 관련된 메시지는 제외시켜 제1 캐시에 저장될 수 있다.In addition, as an embodiment, the processor 200 may not store a user message regarding an action of requesting real-time processing among user messages according to a user's request in the first cache. For example, the message related to the forward, backward, and rotational motions of the cleaning robot 2 may be stored in the first cache by excluding a user's manual manipulation.
도4는 본 발명의 일 실시예에 따른 제2 통신 모드 이후에 제1 통신 모드로 변환된 경우를 도시한 도면이다.4 is a diagram illustrating a case where a mode is converted to a first communication mode after a second communication mode according to an embodiment of the present invention.
연결 관리자(600)가 현재의 네트워크 연결 상태가 실시간으로 통신이 불가능한 경우인 제2 통신 모드에서 다시 양호한 네트워크 연결 상태로 인해 실시간으로 통신이 가능한 경우인 제1 통신 모드로 확인되면, 제1 캐시(310)에 저장된 사용자 메시지를 송수신부(400)를 통해, 청소로봇(2)으로 송신한다. 송수신부(400)는 청소로봇(2)으로부터 사용자 메시지에 따른 응답 메시지를 회신받아, 회신된 응답 메시지를 다시 제2 캐시(320)의 내부에 해당하는 정보 공간으로 상기 회신된 응답 메시지에 포함된 적어도 하나의 파라미터를 고려하여 저장함으로써, 제2 캐시(320)에 미리 저장되어 있던 데이터를 갱신한다. 또한, 프로세서(200)는 회신된 응답 메시지를 사용자 인터페이스부(100)로 출력하기 위해, 출력부(500)로 전달한다.When the connection manager 600 determines that the current network connection state is in a first communication mode in which communication is possible in real time due to a good network connection state again in the second communication mode in which communication is impossible in real time, the first cache ( The user message stored in the 310 is transmitted to the cleaning robot 2 through the transceiver 400. The transceiver 400 receives the response message according to the user message from the cleaning robot 2 and returns the reply message to the information space corresponding to the inside of the second cache 320 in the reply message. By considering and storing at least one parameter, data previously stored in the second cache 320 is updated. In addition, the processor 200 transmits the returned response message to the user interface unit 100 to the output unit 500.
예를 들어, 제2 캐시(320)에는 상기 데이터를 구성하고 있는 구성 요소들 중 명령 타입을 구분하기 위한 제1 식별자에 따른 별개의 정보 공간들이 마련되어 있다. 이 때, 사용자가 "청소 일정 목록"을 요청하는 사용자 메시지를 입력부(110)를 통해 입력하면, 입력된 사용자 메시지는 사용자 인터페이스부(100)로부터 프로세서(200)로 전달이 된다. 프로세서(200)는 제1 통신 모드일 경우, 사용자 메시지를 송수신부(400)에 전달하고, 송수신부(400)는 사용자 메시지를 네트워크를 통해 청소 로봇(2)으로 송신한다. 청소 로봇(2)은 사용자 메시지에 따라서 응답 메시지를 생성하여 다시 제어 장치(1)로 전송하고, 제어 장치(1)의 프로세서(200)는 송수신부(400)를 통해 응답 메시지를 수령하면, 제2 캐시(320)에서 "청소 일정 목록"이라는 제2 식별자를 검색하여, 해당하는 공간으로 응답 메시지에 포함되어 있는 "청소 일정 목록"을 저장한다. 또한, 제2 통신 모드인 경우, 사용자가 "청소 일정 목록"을 요청하는 사용자 메시지를 제어 장치(1)에 입력하면, 그에 따라 프로세서(200)는 입력된 사용자 메시지를 제1 캐시(310)에 "청소 일정 목록"의 사용자 메시지를 저장하고, 제2 캐시(320)에서 "청소 일정 목록"이라는 제2 식별자를 검색하여, 청소 로봇(2)이 위치하고 있는 해당 위치로부터 '청소 일정 목록'을 읽어서, "청소 일정 목록" 요청에 상응하는 응답 메시지를 생성하여 다시 출력부(500)로 전달하고, 출력부(500)는 상기 응답 메시지를 사용자 인터페이스부(100)로 출력한다. 즉, 제2 통신 모드에서 제1 통신 모드로 전환 시, 프로세서(200)는 제2 통신 모드일 때, 제1 캐시(310)에 미리 저장했던 사용자 메시지들을 읽어서, 송수신부(400)는 상기 사용자 메시지들을 청소로봇(2)으로 요청한다. 그리고, 프로세서(200)는 요청된 사용자 메시지들에 대한 응답 메시지를 청소로봇(2)으로부터 전달받으면, 제1 캐시에 저장되어있던 사용자 메시지는 삭제한다.For example, the second cache 320 is provided with separate information spaces according to a first identifier for distinguishing an instruction type among the components constituting the data. At this time, when the user inputs a user message requesting a "cleaning schedule list" through the input unit 110, the input user message is transferred from the user interface unit 100 to the processor 200. When the processor 200 is in the first communication mode, the processor 200 transmits a user message to the transceiver 400, and the transceiver 400 transmits the user message to the cleaning robot 2 through a network. The cleaning robot 2 generates a response message according to the user message and transmits the response message to the control device 1 again, and when the processor 200 of the control device 1 receives the response message through the transceiver 400, 2 The cache 320 retrieves a second identifier called "Cleaning Schedule List" and stores the "Cleaning Schedule List" included in the response message in the corresponding space. In addition, in the second communication mode, when a user inputs a user message requesting a "cleaning schedule list" to the control device 1, the processor 200 accordingly inputs the input user message to the first cache 310. Save the user message of the "Cleaning Schedule List", retrieve the second identifier "Cleaning Schedule List" from the second cache 320, and read the "Cleaning Schedule List" from the corresponding location where the cleaning robot 2 is located. , And generates a response message corresponding to the "Cleaning Schedule List" request to the output unit 500 again, and the output unit 500 outputs the response message to the user interface unit 100. That is, when switching from the second communication mode to the first communication mode, when the processor 200 is in the second communication mode, the processor 200 reads user messages previously stored in the first cache 310, and the transmission / reception unit 400 determines the user. Request messages to the cleaning robot (2). When the processor 200 receives a response message for the requested user messages from the cleaning robot 2, the processor 200 deletes the user message stored in the first cache.
프로세서(200)는 입력된 사용자 메시지를 제1 캐시(310)에 저장하고, 제2 캐시(320)에서 상기 사용자 메시지와 상응하는 데이터를 검색하고, 해당하는 응답 메시지를 디스플레이부(120)를 통해 화면으로 표시하여, 사용자는 표시된 응답 메시지를 확인한다.The processor 200 stores the input user message in the first cache 310, retrieves data corresponding to the user message from the second cache 320, and outputs a corresponding response message through the display 120. Displayed on the screen, the user confirms the displayed response message.
도5는 본 발명의 일 실시예에 따른 네트워크 연결 상태에 따른 원격 통신 방법을 나타내는 흐름도이다. 후술하는 원격 통신 방법은, 청소로봇(2)을 원격으로 제어하기 위한 시스템으로부터 제어하는 방법을 상세하게 설명한다.5 is a flowchart illustrating a remote communication method according to a network connection state according to an embodiment of the present invention. The remote communication method described later describes in detail a method of controlling from a system for remotely controlling the cleaning robot 2.
먼저, 사용자는 획득하고자 하는 청소로봇(2)의 주행 및 청소 동작과 관련된 데이터를 요청하기 위해, 사용자 메시지를 사용자 인터페이스부(100)로 입력한다(S100).First, the user inputs a user message to the user interface unit 100 to request data related to driving and cleaning operations of the cleaning robot 2 to be acquired (S100).
사용자 메시지가 입력되면, 연결 관리자(600)는 사용자 메시지 또는 응답 메시지를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 제1 통신 모드인지, 아니면 실시간으로 통신이 가능하지 않은 제2 통신 모드인지 여부를 판단한다(S200). 이 때, 연결 관리자(600)는 현재의 네트워크 연결 상태가 실시간으로 통신이 가능하면 제1 통신 모드로 판단하고, 청소 로봇(20)의 네트워크 통신을 위한 소켓(socket)이 네트워크에 접속이 안되는 경우, 소켓(socket)으로부터 끊김 이벤트를 수신하는 경우 및 프로세서(200)로부터 생성된 제어 신호를 기 설정된 횟수 이상 청소 로봇(2)과 송수신하지 못하는 경우 중 적어도 하나인 경우 현재의 네트워크 연결상태가 실시간으로 통신이 가능하지 않은 제2 통신 모드로 판단한다. 상기 기 설정된 횟수는 사용자에 의해 미리 설정된 정해진 횟수 이상 메시지를 송수신하지 못하는 경우를 의미한다.When a user message is input, the connection manager 600 determines whether or not the current network connection state is available for communication in real time based on a current time of receiving or transmitting a user message or response message. It is determined whether the state is a first communication mode capable of communicating in real time or a second communication mode in which communication is not possible in real time (S200). At this time, the connection manager 600 determines that the current network connection state is the first communication mode if communication is possible in real time, and the socket for network communication of the cleaning robot 20 is not connected to the network. , At least one of receiving a disconnect event from the socket and failing to transmit / receive a control signal generated from the processor 200 with the cleaning robot 2 more than a predetermined number of times. It determines with the 2nd communication mode which communication is not possible. The predetermined number of times refers to a case in which a message cannot be transmitted or received more than a predetermined number set by a user.
송수신부(400)는 연결 관리자(600)로부터 네트워크 연결 상태가 제2 통신 모드가 아닌, 제1 통신모드로 판단되면, 프로세서(200)로부터 생성된 사용자 메시지를 포함하는 제어 신호를 네트워크를 통해 청소로봇(2)으로 송신한다(S201). 송수신부(4000)는 청소 로봇(2)으로부터 응답된 응답메시지를 포함하는 신호를 수신한다(S202).When the network connection state is determined by the connection manager 600 to be the first communication mode instead of the second communication mode, the transceiver 400 cleans a control signal including a user message generated from the processor 200 through the network. It transmits to the robot 2 (S201). The transmission / reception unit 4000 receives a signal including a response message from the cleaning robot 2 (S202).
다음으로, 프로세서(200)는 수신된 응답메시지를 제2 캐시에 저장한다(S203). 보다 상세하게는, 제2 캐시(320)는 응답 메시지에 포함된 제2 식별자를 구분하여, 제2 캐시(320) 내부에 응답 메시지에 해당하는 정보 공간으로 해당 메시지에 포함된 적어도 하나의 파라미터를 고려하여 저장한다.Next, the processor 200 stores the received response message in the second cache (S203). More specifically, the second cache 320 classifies the second identifier included in the response message, and stores at least one parameter included in the message in an information space corresponding to the response message in the second cache 320. Save it in consideration.
송수신부(400)로부터 응답 메시지를 전달 받고, 제2 캐시(320)로 저장을 완료한 프로세서(200)는 출력부(500)로 응답 메시지를 전달한다. The processor 200 receiving the response message from the transceiver 400 and completing the storage in the second cache 320 transmits the response message to the output unit 500.
출력부(500)는 전달받은 응답 메시지를 디스플레이부(120)로 출력하여, 사용자는 디스플레이부(120)의 화면를 통해 청소로봇(2)으로부터 응답된 정보를 확인한다(S300).The output unit 500 outputs the received response message to the display unit 120, and the user checks the information responded from the cleaning robot 2 through the screen of the display unit 120 (S300).
또한, 연결 관리자(600)로부터 현재 네트워크 상태를 판단한 결과가 통신 가능한 제2 통신 모드이면, 사용자 메시지를 제1 캐시(310)에 정렬하여 저장하고(S210), 현재 시점으로부터 이전 시점에 발생했던 제1 통신 모드일 때, 제2 캐시(320)에 미리 저장된 응답 메시지를 불러온다. 보다 구체적으로 설명하면, 프로세서(200)는 제1 캐시(310)에 저장하는 사용자 메시지에 따른 응답 메시지를 불러올 때, 사용자 메시지와 상응하는 제1 식별자와 제2 식별자를 포함하고 있는 응답 메시지를 검색하여 불러온다(S220)In addition, if the result of determining the current network state from the connection manager 600 is a second communication mode in which communication is possible, the user message may be aligned and stored in the first cache 310 (S210), and the second message may be generated at a previous time from the current time. In the first communication mode, a response message prestored in the second cache 320 is called. In more detail, when the processor 200 calls a response message according to a user message stored in the first cache 310, the processor 200 searches for a response message including a first identifier and a second identifier corresponding to the user message. To be called (S220)
불러온 응답 메시지는 출력부(500)를 통해, 디스플레이부(120)로 출력하여, 사용자가 상기 응답 메시지를 확인한다.The imported response message is output to the display unit 120 through the output unit 500, and the user confirms the response message.
이 때, 제1 캐시(310)에 저장된 사용자 메시지는 제1 통신 모드로 전환 되면, 프로세서(200)는 송수신부(400)를 통해 청소로봇(2)으로 송신하여 응답 메시지를 요청한다. 그리고, 요청된 사용자 메시지들에 대한 응답 메시지를 청소로봇(2)으로부터 전달받으면, 프로세서(200)는 제1 캐시에 저장되어있던 사용자 메시지는 삭제한다. 또한, 프로세서(200)는 상기 응답 메시지를 다시 제2 캐시(320)의 내부에 해당하는 정보 공간으로 상기 회신된 응답 메시지에 포함된 적어도 하나의 파라미터를 고려하여 저장함으로써, 제2 캐시(320)에 미리 저장되어 있던 데이터를 갱신한다.At this time, when the user message stored in the first cache 310 is switched to the first communication mode, the processor 200 transmits to the cleaning robot 2 through the transceiver 400 to request a response message. In addition, when the response message for the requested user messages is received from the cleaning robot 2, the processor 200 deletes the user message stored in the first cache. In addition, the processor 200 stores the response message in an information space corresponding to the inside of the second cache 320 in consideration of at least one parameter included in the returned response message, thereby allowing the second cache 320 to be stored. Update the data previously stored in.
본 실시예에서 원격 제어 장치의 화면에 표시되는 맵은, 청소로봇이 생성한 맵 데이터에 근거하는 맵이 바람직하다. 청소 로봇은 이미 저장된 해당 영역에 대한 맵 데이터를 저장하고 있거나, 또는 저장된 맵 데이터와는 무관하게 이동 로봇이 주행을 시작하면서 이동된 경로에 따라 인식하여 생성되는 맵 데이터를 실시간으로 생성할 수 있다. 이 때, 제1 캐시(310)에 저장되어있던 사용자 지정영역 청소에 관련된 사용자 메시지가 제2 통신모드에서 제1 통신모드로 변환되면서, 이동로봇(2)에 전송됨에 따라 이동로봇(2)으로부터 수신되는 응답 메시지를 프로세서(200)는 분석할 수 있다. 예컨대, 프로세서(200)는 이동로봇(2)이 사용자 명령에 따라 수행한 청소영역이 사용자가 선택한 지정영역이 맞는지 분석할 수 있다. 보다 상세하게 설명하면, 사용자가 제어 장치를 통해 선택한 지정영역과 이동로봇(2)이 수행한 청소영역을 비교하고, 비교 결과 유사한 것으로 판단되는 경우, 이동로봇(2)으로부터 수신된 응답메시지를 사용자 화면에 표시하도록 디스플레이부를 제어할 수 있다. 여기에서, 프로세서(200)는 상기 지정영역과 상기 청소영역을 나타내는 각 맵에서 인식되는 외곽선 라인 내지는 외곽선을 이루는 특징점들 간의 위치 관계를 이용하여 유사 여부를 판단할 수 있다.In the present embodiment, the map displayed on the screen of the remote control device is preferably a map based on map data generated by the cleaning robot. The cleaning robot may store map data for the corresponding area, which is already stored, or may generate map data generated in real time by recognizing the moving path while the mobile robot starts driving regardless of the stored map data. At this time, the user message related to cleaning the user-designated area stored in the first cache 310 is converted from the second communication mode to the first communication mode, and transmitted from the mobile robot 2 as it is transmitted to the mobile robot 2. The processor 200 may analyze the received response message. For example, the processor 200 may analyze whether the cleaning area performed by the mobile robot 2 according to the user command is correct for the designated area selected by the user. In more detail, when the user compares the designated area selected by the control device with the cleaning area performed by the mobile robot 2, and if it is determined that the comparison is similar, the response message received from the mobile robot 2 is determined by the user. The display unit may be controlled to display on the screen. Here, the processor 200 may determine the similarity by using a positional relationship between the outline line or the feature points forming the outline recognized in each map representing the designated area and the cleaning area.
더욱 자세하게는, 프로세서(200)는 각각의 맵에서 추출된 특징점들 중 적어도 일부를 매칭하고, 매칭된 특징점들 중 일부를 스케일 조절을 통해 맵의 사이즈를 동일하게 한 후, 대응되는 특징점들간의 유사도 거리를 이용하여, 맵들간의 유사 여부를 판단할 수 있다. 예를 들어, 유사도 거리는 유클리드 거리(Euclidean distance), 코사인 거리(Cosine distance), 마하라노비스 거리(Mahalanobis's distance), 맨하탄 거리(Manhattan distance)와 같은 방법을 이용하여, 프로세서(20)는 맵들 간의 유사도를 판단할 수 있다. 맵들 간의 유사도가 일정 수준 이하로 낮게 계산될 경우에는, 이동로봇(2)이 청소한 청소영역과 함께, 사용자가 지정영역을 다시 지정할 수 있도록 알림메시지를 디스플레이부에 표시할 수 있다.More specifically, the processor 200 matches at least some of the feature points extracted from each map, adjusts some of the matched feature points to the same size by adjusting the scale, and then compares similarities between the corresponding feature points. The distance may be used to determine similarity between maps. For example, the similarity distance may be obtained by using a method such as Euclidean distance, Cosine distance, Mahalanobis's distance, Manhattan distance, and the like. Can be determined. When the similarity between the maps is calculated to be lower than a predetermined level, the notification message may be displayed on the display unit so that the user can designate the designated area together with the cleaning area cleaned by the mobile robot 2.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.Although all components constituting the embodiments of the present invention described above are described as being combined or operating in combination, the present invention is not necessarily limited to these embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or some of the components of the components are selectively combined to perform some or all of the functions combined in one or a plurality of hardware It may be implemented as a computer program having a. In addition, such a computer program is stored in a computer readable medium such as a USB memory, a CD disk, a flash memory, and the like, and is read and executed by a computer, thereby implementing embodiments of the present invention. The recording medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, all terms including technical or scientific terms have the same meaning as commonly understood by a person of ordinary skill in the art unless otherwise defined in the detailed description. Terms used generally, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications, changes, and substitutions may be made by those skilled in the art without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical spirit of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by the embodiments and the accompanying drawings. . The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

Claims (19)

  1. 사용자의 요청에 따라 동작하는 이동 로봇을 원격으로 제어하는 원격 제어 장치에 있어서,In the remote control device for remotely controlling a mobile robot operating at the request of a user,
    상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 송수신부;A transmitter / receiver for transmitting a user message related to the mobile robot or receiving a response message from the mobile robot according to the user message;
    상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 연결 관리자; 및A connection manager configured to determine whether a current network connection state is in a state capable of communicating in real time based on a time for transmitting the user message or receiving the response message; And
    상기 연결 관리자의 판단에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 프로세서를 포함하는 원격 제어 장치. A first control signal for providing first data stored in advance and in response to a user's request and second data received from the mobile robot in response to the user's request according to the connection manager's decision; 2 A remote control device comprising a processor for generating a control signal.
  2. 제1항에 있어서,The method of claim 1,
    상기 이동 로봇은 청소 로봇이고, 상기 동작은 청소 및 주행인 것을 특징으로 하는 것을 더 포함하는 이동 로봇을 원격으로 제어하는 제어 장치.The mobile robot is a cleaning robot, the control device for remotely controlling the mobile robot further comprises the cleaning and running.
  3. 제1항에 있어서, 상기 연결 관리자는The method of claim 1, wherein the connection manager
    상기 사용자 메시지 및 응답메시지를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 제1 통신 모드인지, 아니면 상기 실시간으로 통신이 가능하지 않은 제2 통신 모드인지 여부를 판단하고, Whether the current network connection state is a first communication mode capable of communicating in real time according to whether a current network connection state is in a state capable of real-time communication based on a current time of receiving or transmitting the user message and response message. Or determine whether the communication mode is a second communication mode in which communication is not possible in real time;
    상기 제1 데이터는 상기 제1 통신 모드일 때, 상기 이동 로봇으로부터 수신 받아 미리 저장한 응답메시지이고, 상기 제2 데이터는 상기 제1 통신 모드일 때, 상기 이동 로봇으로부터 수신된 응답메시지인 것을 특징으로 하는 것을 더 포함하는 이동 로봇을 원격으로 제어하는 제어 장치.The first data is a response message received from the mobile robot and stored in advance in the first communication mode, and the second data is a response message received from the mobile robot in the first communication mode. A control device for remotely controlling the mobile robot further comprising.
  4. 제1항에 있어서, The method of claim 1,
    상기 이동 로봇의 동작과 관련된 사용자 메시지 및 상기 사용자 메시지에 따른 상기 이동 로봇으로부터의 응답메시지를 포함하는 데이터를 저장하는 저장부를 더 포함하며,And a storage unit configured to store data including a user message related to the operation of the mobile robot and a response message from the mobile robot according to the user message.
    상기 저장부는 캐시를 더 포함하는 것을 특징으로 하는 이동 로봇을 원격으로 제어하는 제어 장치.The storage unit further controls the mobile robot, characterized in that it further comprises a cache.
  5. 제4항에 있어서, 상기 캐시는,The method of claim 4, wherein the cache,
    상기 네트워크 연결 상태에 따라According to the network connection status
    상기 사용자 메시지를 정렬하여 저장하는 제1캐시; 및A first cache for sorting and storing the user message; And
    상기 사용자 메시지에 따라 이동 로봇이 응답한 응답 메시지를 저장하는 제2캐시;A second cache for storing a response message responded by the mobile robot according to the user message;
    를 더욱 포함하는 것을 특징으로 하는 이동 로봇을 원격으로 제어하는 제어 장치.Control device for remotely controlling the mobile robot, characterized in that it further comprises.
  6. 제3항에 있어서, 상기 연결 관리자는The method of claim 3, wherein the connection manager
    상기 이동 로봇의 네트워크 통신을 위한 소켓(socket)이 네트워크에 접속 안되는 경우; When a socket for network communication of the mobile robot is not connected to a network;
    상기 소켓(socket)으로부터 끊김 이벤트를 수신하는 경우;Receiving a disconnect event from the socket;
    상기 프로세서에서 생성된 제어 신호를 기 설정된 횟수 이상 상기 이동 로봇과 송수신 하지 못하는 경우;When the control signal generated by the processor cannot be transmitted or received with the mobile robot more than a preset number of times;
    중 적어도 하나인 경우를 상기 제2 통신 모드로 설정하는 것을 특징으로 하는 이동 로봇을 원격으로 제어하는 제어 장치.The control device for remotely controlling the mobile robot, characterized in that for setting at least one of the case to the second communication mode.
  7. 제5항에 있어서, 상기 프로세서는,The method of claim 5, wherein the processor,
    현재의 네트워크 연결 상태가 실시간으로 통신 가능한 경우,If the current network connection status can communicate in real time,
    상기 사용자 메시지에 따른 상기 이동 로봇으로부터의 응답 메시지를 상기 송수신부로부터 전달받아 상기 제2 캐시로 저장하는 것을 특징으로 하는 것을 더 포함하는 이동 로봇을 원격으로 제어하는 제어 장치.And receiving a response message from the mobile robot according to the user message from the transceiving unit and storing the response message in the second cache.
  8. 제5항에 있어서, 상기 프로세서는,The method of claim 5, wherein the processor,
    현재의 네트워크 연결 상태가 실시간으로 통신이 가능하지 않은 경우,If the current network connection status is not available in real time,
    상기 사용자 메시지를 상기 제1 캐시에 정렬하여 저장하고,Sort and store the user message in the first cache,
    상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 경우에 상기 제2 캐시에 미리 저장한 응답 메시지를 불러오는 것을 특징으로 하는 이동 로봇을 원격으로 제어하는 제어 장치.And a response message pre-stored in the second cache when the current network connection state is available for communication in real time.
  9. 제1항에 있어서, The method of claim 1,
    상기 사용자 메시지를 입력 받는 사용자 인터페이스부; 및A user interface unit for receiving the user message; And
    상기 응답 메시지를 상기 사용자 인터페이스부로 출력하는 출력부;An output unit which outputs the response message to the user interface unit;
    를 더욱 포함하는 것을 특징으로 하는 이동 로봇을 원격으로 제어하는 제어 장치.Control device for remotely controlling the mobile robot, characterized in that it further comprises.
  10. 제1항에 있어서, 상기 사용자 메시지 및 응답 메시지는 The method of claim 1, wherein the user message and the response message
    상기 사용자 메시지 및 응답 메시지가 생성된 시각을 포함하는 타임스탬프, 사용자의 명령 타입에 따라 구분하기 위한 제1 식별자, 상기 사용자 메시지 및 응답 메시지의 생성 순서를 나타내는 시퀀스 번호, 상기 사용자 메시지와 응답 메시지를 구분하기 위한 제2 식별자 및 상기 제1 식별자와 제2 식별자에 따른 파라미터들 중 적어도 하나를 포함하는 것을 특징으로 하는 이동 로봇을 원격으로 제어하는 제어 장치.A timestamp including a time when the user message and the response message are generated, a first identifier for distinguishing according to a user's command type, a sequence number indicating a generation order of the user message and the response message, and a representation of the user message and the response message And a second identifier for distinguishing and at least one of parameters according to the first identifier and the second identifier.
  11. 이동로봇; 및Mobile robot; And
    상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 송수신부,Transmitting and receiving unit for transmitting a user message associated with the mobile robot, or receiving a response message from the mobile robot according to the user message,
    상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 연결 관리자 및A connection manager for determining whether a current network connection state is available for communication in real time based on a time for transmitting the user message or receiving the response message;
    상기 연결 관리자의 판단에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 프로세서를 포함하는 이동 로봇을 원격으로 제어하는 제어 장치;A first control signal for providing first data stored in advance and in response to a user's request and second data received from the mobile robot in response to the user's request according to the connection manager's decision; A control device for remotely controlling a mobile robot including a processor for generating a control signal;
    를 포함하는 이동로봇을 원격으로 제어하기 위한 원격 제어 시스템.Remote control system for remotely controlling a mobile robot comprising a.
  12. 제11항에 있어서, The method of claim 11,
    상기 이동로봇은 청소로봇이고, The mobile robot is a cleaning robot,
    상기 네트워크 연결 상태에 따라According to the network connection status
    상기 사용자 메시지를 정렬하여 저장하는 제1캐시 및 상기 사용자 메시지에 따라 청소로봇이 응답한 응답 메시지를 저장하는 제2캐시를 더 포함하고,A first cache for sorting and storing the user message and a second cache for storing a response message responded by the cleaning robot according to the user message,
    상기 프로세서는, 상기 데이터를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, The processor may be further configured to determine whether a current network connection state is available for communication in real time based on a current time for receiving or transmitting the data.
    현재의 네트워크 연결 상태가 실시간으로 통신 가능한 경우, 상기 사용자 메시지에 따른 상기 청소로봇으로부터의 응답 메시지를 상기 송수신부로부터 전달받아 상기 제2 캐시로 저장하며,When the current network connection state can be communicated in real time, the response message from the cleaning robot according to the user message is received from the transceiver and stored in the second cache,
    상기 네트워크 연결 상태에 따라 실시간으로 통신이 가능하지 않은 경우, 상기 사용자 메시지를 상기 제1 캐시에 정렬하여 저장하고, 상기 실시간으로 통신 가능한 시점에 따라 상기 제2 캐시에 미리 저장한 응답 메시지를 불러오는 것을 특징으로 하는 것을 더 포함하는 청소로봇을 원격으로 제어하기 위한 원격 제어 시스템.When the communication is not possible in real time according to the network connection state, the user message is arranged in the first cache and stored, and the response message pre-stored in the second cache is loaded in accordance with the point of time in which the communication is possible in real time. A remote control system for remotely controlling the cleaning robot further comprising.
  13. 제12항에 있어서, 상기 청소로봇은,The method of claim 12, wherein the cleaning robot,
    상기 네트워크 연결 상태가 실시간으로 통신이 가능한 경우 When the network connection state can be communicated in real time
    상기 제어장치로부터 생성된 제어신호를 전달받아, 상기 제어신호에 따라 청소 및 주행을 수행하고, 상기 사용자 메시지에 따라 상기 청소 및 주행에 관련되어 응답하는 응답 메시지를 포함하는 응답신호를 전송하는 것을 특징으로 하는 청소로봇을 원격으로 제어하기 위한 원격 제어 시스템.Receiving a control signal generated from the control device, performing cleaning and driving according to the control signal, and transmitting a response signal including a response message responsive to the cleaning and driving according to the user message; Remote control system for remotely controlling the cleaning robot.
  14. 사용자의 명령에 따라 동작하는 이동 로봇과 통신하기 위한 원격 통신 방법에 있어서,In the remote communication method for communicating with a mobile robot that operates according to a user's command,
    상기 이동 로봇과 관련된 사용자 메시지를 송신하거나, 상기 사용자 메시지에 따른 상기 이동로봇으로부터의 응답 메시지를 수신하는 단계;Transmitting a user message related to the mobile robot or receiving a response message from the mobile robot according to the user message;
    상기 사용자 메시지를 송신하거나 또는 상기 응답 메시지를 수신하는 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부를 판단하는 단계; 및Determining whether a current network connection state is available for communication in real time based on a time for transmitting the user message or receiving the response message; And
    상기 네트워크 상태가 실시간으로 통신이 가능한 상태인지 판단함에 따라, 미리 저장되어 사용자의 요청에 응답하는 제1 데이터를 제공하기 위한 제1 제어 신호와 상기 이동로봇으로부터 수신되어 상기 사용자의 요청에 응답하는 제2 데이터를 제공하기 위한 제2 제어 신호를 생성하는 단계를 포함하는 네트워크 연결 상태에 따른 원격 제어 방법.In response to determining whether the network state is in a state capable of communication in real time, a first control signal for providing first data stored in advance and in response to a user request, and a second control signal received from the mobile robot and responding to the user request Generating a second control signal for providing data;
  15. 제14항에 있어서,The method of claim 14,
    상기 이동 로봇은 청소 로봇이고, 상기 동작은 청소 및 주행인 것을 특징으로 하는 것을 더 포함하는 네트워크 연결 상태에 따른 원격 제어 방법.The mobile robot is a cleaning robot, the operation is a remote control method according to the network connection further comprising the cleaning and running.
  16. 제14항에 있어서, The method of claim 14,
    상기 데이터를 수신하거나 송신하는 현재의 시간을 기준으로 현재의 네트워크 연결 상태가 실시간으로 통신이 가능한 상태인지 여부에 따라, 상기 현재의 네트워크 연결 상태가 실시간으로 통신 가능한 제1 통신 모드인지, 아니면 상기 실시간으로 통신이 가능하지 않은 제2 통신 모드인지 여부를 판단하는 단계를 더 포함하고,The current network connection state is a first communication mode that can communicate in real time or the real time according to whether a current network connection state is in a state capable of real time communication based on a current time of receiving or transmitting the data. Determining whether the communication mode is a second communication mode in which communication is not possible;
    상기 제2통신 모드인지 여부를 판단하는 단계는Determining whether or not the second communication mode is
    상기 이동 로봇의 네트워크 통신을 위한 소켓(socket)이 네트워크에 접속 안되는 경우; When a socket for network communication of the mobile robot is not connected to a network;
    상기 소켓(socket)으로부터 끊김 이벤트를 수신하는 경우;Receiving a disconnect event from the socket;
    상기 프로세서에서 생성된 제어 신호를 기 설정된 횟수 이상 상기 이동 로봇과 송수신 하지 못하는 경우;When the control signal generated by the processor cannot be transmitted or received with the mobile robot more than a preset number of times;
    중 적어도 하나인 경우를 상기 제2통신 모드로 설정하는 것을 특징으로 하는 네트워크 연결 상태에 따른 원격 제어 방법.Remote control method according to the network connection state, characterized in that for setting at least one of the case to the second communication mode.
  17. 제14항에 있어서, The method of claim 14,
    상기 네트워크 연결 상태에 따라According to the network connection status
    상기 사용자 메시지를 정렬하여 저장하는 단계; 및Sorting and storing the user message; And
    상기 사용자 메시지에 따라 이동 로봇이 응답한 응답 메시지를 저장하는 단계Storing a response message responded by the mobile robot according to the user message;
    를 더욱 포함하는 것을 특징으로 하는 네트워크 연결 상태에 따른 원격 제어 방법.Remote control method according to the network connection state characterized in that it further comprises.
  18. 제17항에 있어서, The method of claim 17,
    상기 제1 통신 모드인 경우에, 상기 데이터를 상기 이동 로봇과 실시간으로 송수신하는 단계를 더 포함하고,In the first communication mode, transmitting and receiving the data in real time with the mobile robot,
    상기 응답 메시지를 저장하는 단계는, 상기 제1 통신 모드인 경우에 저장하고,The storing of the response message may include storing in the first communication mode,
    상기 사용자 메시지를 정렬하여 저장하는 단계는, 상기 제2 통신 모드인 경우 저장하며,Sorting and storing the user message may be stored in the second communication mode;
    상기 제1 통신 모드인 경우에 미리 저장한 상기 응답 메시지를 불러오는 것을 특징으로 하는 네트워크 연결 상태에 따른 원격 제어 방법.And in response to the network connection state, the response message stored in advance in the first communication mode.
  19. 제14항 및 제18항 중 어느 한 항에 따른 원격 제어 방법을 컴퓨터에서 수행하기 위한 컴퓨터에서 판독 가능한 프로그램이 기록된 저장 매체.19. A storage medium having recorded thereon a computer readable program for performing a remote control method according to any one of claims 14 and 18 on a computer.
PCT/KR2016/010214 2016-01-20 2016-09-09 Remote control apparatus and system for remotely controlling mobile robot and method for executing system WO2017126768A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20160007244 2016-01-20
KR10-2016-0007244 2016-01-20
KR1020160109293A KR101844744B1 (en) 2016-01-20 2016-08-26 Remote control apparatus and system for a mobile robot, and method thereof
KR10-2016-0109293 2016-08-26

Publications (1)

Publication Number Publication Date
WO2017126768A1 true WO2017126768A1 (en) 2017-07-27

Family

ID=59361854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/010214 WO2017126768A1 (en) 2016-01-20 2016-09-09 Remote control apparatus and system for remotely controlling mobile robot and method for executing system

Country Status (1)

Country Link
WO (1) WO2017126768A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377022A (en) * 2018-11-21 2019-10-25 天津京东深拓机器人科技有限公司 The control method and device of automated guided vehicle
CN113660419A (en) * 2021-08-12 2021-11-16 北京智芯原动科技有限公司 Parking area remote debugging system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004299033A (en) * 2003-04-01 2004-10-28 Sony Corp Robot device, information processing method, and program
JP2004363956A (en) * 2003-06-04 2004-12-24 Nippon Telegraph & Telephone West Corp Remote control system and remote control robot
KR20060027726A (en) * 2004-09-23 2006-03-28 엘지전자 주식회사 Remote observation system and method in using robot cleaner
KR20080050959A (en) * 2006-12-04 2008-06-10 한국전자통신연구원 Communication system and method for network based robot control
US20130085602A1 (en) * 2011-10-04 2013-04-04 Hei Tao Fung Office Robot System
JP5638658B2 (en) * 2013-04-26 2014-12-10 三菱電機株式会社 Control system, control device, control method, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004299033A (en) * 2003-04-01 2004-10-28 Sony Corp Robot device, information processing method, and program
JP2004363956A (en) * 2003-06-04 2004-12-24 Nippon Telegraph & Telephone West Corp Remote control system and remote control robot
KR20060027726A (en) * 2004-09-23 2006-03-28 엘지전자 주식회사 Remote observation system and method in using robot cleaner
KR20080050959A (en) * 2006-12-04 2008-06-10 한국전자통신연구원 Communication system and method for network based robot control
US20130085602A1 (en) * 2011-10-04 2013-04-04 Hei Tao Fung Office Robot System
JP5638658B2 (en) * 2013-04-26 2014-12-10 三菱電機株式会社 Control system, control device, control method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377022A (en) * 2018-11-21 2019-10-25 天津京东深拓机器人科技有限公司 The control method and device of automated guided vehicle
CN110377022B (en) * 2018-11-21 2023-08-04 北京京东乾石科技有限公司 Control method and device for automatic guided vehicle
CN113660419A (en) * 2021-08-12 2021-11-16 北京智芯原动科技有限公司 Parking area remote debugging system

Similar Documents

Publication Publication Date Title
KR101844744B1 (en) Remote control apparatus and system for a mobile robot, and method thereof
WO2013058584A1 (en) Method and apparatus for sharing contents between devices
US7840185B2 (en) Extended handset functionality and mobility
US8117295B2 (en) Remote apparatus management system, remote apparatus management method and remote apparatus management program
KR20140118990A (en) Communication processing method and apparatus, and terminal
CN105100231A (en) Method, equipment and system for obtaining location information of intelligent equipment
WO2020141920A1 (en) Display apparatus and method of controlling the same
WO2012102582A2 (en) Method and apparatus for remotely controlling consumer electronics device by using wireless personal area network
WO2016099193A1 (en) Method and apparatus for supporting facility control of terminal
WO2017135557A1 (en) Electronic device, display device, and control method therefor
WO2014010852A1 (en) Method and apparatus for generating access point sequence information according to path and accessing wireless communication network using said generated access point sequence information
WO2018147592A1 (en) Method and device for connecting device in short-range wireless communication system
EP3763164A1 (en) Electronic device supporting multiple wireless communication protocols and method therefor
WO2014126303A1 (en) Method for matching between control command for movable robot and image transmitted by movable robot and control apparatus for same
WO2017126768A1 (en) Remote control apparatus and system for remotely controlling mobile robot and method for executing system
WO2018190546A1 (en) Electronic apparatus and control method thereof
US10405244B2 (en) Communication method, system, and device
WO2013039297A2 (en) Method and system for searching for object in network
WO2017209461A1 (en) Method and apparatus for pairing client device and access point in wireless lan
WO2018079925A1 (en) Method for controlling quick pairing with internet-of-things devices by using service subscriber information
KR20120001924A (en) Apparatus and method for controlling peripheral in wireless communication system
WO2019135543A1 (en) Electronic device and method for controlling same
WO2016060321A1 (en) Secure call connection method and apparatus
WO2020091382A1 (en) Electronic device and control method therefor
JP2017135607A (en) Communication device and communication system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16886611

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 05/11/2018)

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 23/11/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16886611

Country of ref document: EP

Kind code of ref document: A1