WO2023027310A1 - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
WO2023027310A1
WO2023027310A1 PCT/KR2022/008739 KR2022008739W WO2023027310A1 WO 2023027310 A1 WO2023027310 A1 WO 2023027310A1 KR 2022008739 W KR2022008739 W KR 2022008739W WO 2023027310 A1 WO2023027310 A1 WO 2023027310A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
context data
information
task
processor
Prior art date
Application number
PCT/KR2022/008739
Other languages
English (en)
French (fr)
Inventor
허규호
이무웅
고종명
이상경
추지호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/974,941 priority Critical patent/US20230066945A1/en
Publication of WO2023027310A1 publication Critical patent/WO2023027310A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • 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
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • 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/10Office automation; Time management
    • 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/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Definitions

  • the present invention relates to a robot providing a service to a user and a control method thereof.
  • the present disclosure is in accordance with the above-described need, and is to provide a robot that provides a service corresponding to task information acquired based on context data acquired by the robot and context data received from other robots, and a control method thereof.
  • a robot for achieving the above object obtains first context data through a sensor, a drive unit, a communication interface, and the sensor, and obtains data obtained by at least one other robot.
  • the processor obtains the task information based on the identified at least one context data and constant data of the robot, and the constant data includes identification information of the robot and specifications of the robot. information, function information of the robot, map information corresponding to a space where the robot is located, or at least one of priority information for each task.
  • the processor may include at least one element corresponding to each of the plurality of elements among the first context data and the second context data based on a type of a plurality of elements related to a collaboration scenario between the robot and the at least one other robot.
  • the task information may be acquired by identifying context data of and inputting the at least one context data corresponding to each of the plurality of elements to the predetermined task assignment algorithm.
  • the processor determines the at least one value corresponding to the type of each of the plurality of elements based on at least one of acquisition time, similarity, or whether emergency information is included in each of the first context data and the second context data.
  • Context data can be identified.
  • the plurality of elements may include at least one of type information of an external object, location information of the external object, location information of the robot, or emergency situation information.
  • the preset task assignment algorithm is at least one of identification of a current task of the robot and the at least one other robot, identification of a situation of an external object, or identification of cost for each task of the robot and the at least one other robot. It may be an algorithm that includes.
  • the processor controls the communication interface to transmit the first context data to the at least one other robot, and when the at least one context data is identified, the identified at least one context data is transmitted to the at least one other robot. It is possible to control the communication interface to transmit to other robots.
  • the processor when the other context data identified based on the collaboration scenario is received from the at least one other robot, context data having a higher priority among the received other context data and the identified at least one context data
  • the task information may be obtained by inputting to the preset task allocation algorithm.
  • the processor controls the communication interface to transmit the first context data to the at least one other robot, and when the other context data identified based on the collaboration scenario is received from the at least one other robot, It is identified whether the first context data is reflected in the received other context data, and if it is identified that the first context data is not reflected in the received other context data, the first context data is reflected in the at least one other context data. It is possible to control the communication interface to send back to the robot.
  • the processor may perform a task assignment function based on the collaboration scenario when a signal indicating an error occurrence is received from the management server.
  • a robot control method includes obtaining first context data through a sensor, receiving second context data obtained by at least one other robot, Identifying at least one context data of the first context data and the second context data based on a collaboration scenario between the robot and the at least one other robot, The method may include obtaining task information corresponding to the robot by inputting one piece of context data, and driving the robot based on the acquired task information.
  • the obtaining of the task information may include obtaining the task information based on the identified at least one context data and constant data of the robot, wherein the constant data includes identification information of the robot , at least one of specification information of the robot, function information of the robot, map information corresponding to a space where the robot is located, or priority information for each task.
  • the identifying the context data may include each of the plurality of elements among the first context data and the second context data based on a type of a plurality of elements related to a collaboration scenario between the robot and the at least one other robot.
  • the step of identifying at least one context data corresponding to and obtaining the task information may include obtaining the task information by inputting the at least one context data corresponding to each of the plurality of elements to the predetermined task assignment algorithm. can do.
  • the step of identifying the context data corresponds to the type of each of the plurality of elements based on at least one of acquisition time, similarity, or whether emergency information is included in each of the first context data and the second context data. It is possible to identify the at least one context data to be.
  • the plurality of elements may include at least one of type information of an external object, location information of the external object, location information of the robot, or emergency situation information.
  • a plurality of robots can receive tasks necessary for collaboration between a plurality of robots and provide services without intervention of a management server, user convenience can be improved.
  • FIG. 1 is a diagram for explaining a service providing process of a robot according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram for explaining the configuration of a robot according to an embodiment of the present disclosure.
  • 3A to 3C are diagrams for explaining collaboration between a plurality of robots according to an embodiment of the present disclosure.
  • 4A to 4C are diagrams for explaining collaboration between a plurality of robots according to an embodiment of the present disclosure.
  • 5A to 5C are diagrams for explaining collaboration between a plurality of robots according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for specifically explaining the functional configuration of a robot according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
  • expressions such as “has,” “can have,” “includes,” or “can include” indicate the presence of a corresponding feature (eg, numerical value, function, operation, or component such as a part). , which does not preclude the existence of additional features.
  • a component e.g., a first component
  • another component e.g., a second component
  • connection to it should be understood that an element may be directly connected to another element, or may be connected through another element (eg, a third element).
  • a “module” or “unit” performs at least one function or operation, and may be implemented in hardware or software or a combination of hardware and software.
  • a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented by at least one processor (not shown), except for “modules” or “units” that need to be implemented with specific hardware. It can be.
  • 'user' may mean a person who is provided with a service by a robot, but is not limited thereto.
  • FIG. 1 is a diagram for explaining a service providing process of a robot according to an embodiment of the present disclosure.
  • the robot 100 is disposed in a specific space and may provide various services to users visiting the space. Specifically, the robot 100 may provide a service corresponding to at least one of route guidance, serving, and cleaning to the user, but is not limited thereto.
  • At least one other robot 200, 300 including the robot 100, is disposed in a specific space, and the robot 100 and at least one other robot 200, 300 provide services to users through mutual collaboration.
  • service provision through collaboration may mean an operation in which the robot 100 and at least one other robot 200 or 300 provide a service corresponding to different task information to a user.
  • At least one of the other robots 200 and 300 may be a robot having the same specifications as the robot 100, but may also be robots having specifications different from those of the robot 100. At least one other robot 200 or 300 may be a robot that provides a user with a service corresponding to task information different from the task information acquired by the robot 100 .
  • At least one other robot 200, 300 is shown as a first other robot 200 and a second other robot 300, respectively.
  • a total of three robots 100, 200, and 300 may be disposed in a specific space, but is not limited thereto, and a larger number of robots may collaborate to provide services to users.
  • the plurality of robots 100, 200, and 300 may be controlled by a management server.
  • the management server may receive data obtained by the plurality of robots 100, 200, and 300, and obtain task information corresponding to the plurality of robots 100, 200, and 300 based on the received data.
  • the management server may control service provision of the robots 100, 200, and 300 by transmitting the obtained task information to the plurality of robots 100, 200, and 300.
  • the plurality of robots 100, 200, and 300 respond to each robot based on the data collected by each robot without server intervention. It is possible to obtain task information to be used, and to provide a service based on the acquired task information.
  • FIG. 2 is a diagram for explaining the configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a sensor 110, a driving unit 120, a communication interface 130, and a processor 140.
  • the sensor 110 may measure a physical quantity or detect an operating state of the robot 100 and convert the measured or sensed information into an electrical signal.
  • the sensor 110 may include a camera, and the camera may include a lens for focusing visible light and other optical signals received after being reflected by an object into an image sensor, and an image sensor capable of detecting visible light and other optical signals.
  • the image sensor may include a 2D pixel array divided into a plurality of pixels.
  • the senor 110 may include a microphone.
  • a microphone is a component that collects an input sound by receiving a user's voice and an ambient noise signal.
  • the microphone is a component that collectively refers to a device that receives a sound wave and generates a current of the same waveform.
  • the processor 140 may convert a sound signal included in the input sound into a digital signal based on the current of the waveform generated by the microphone.
  • the processor 140 may obtain context data including image data or sound data through the sensor 110 including a camera or a microphone.
  • the senor 110 may include a distance sensor, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor (eg, a red, green, blue (RGB) sensor), It may include at least one of a bio sensor, a temperature/humidity sensor, an illuminance sensor, or an ultra violet (UV) sensor, and the sensor 110 according to an example is implemented in the form of a sensor module including at least one sensor. It can be.
  • the driving unit 120 is a device capable of driving the robot 100.
  • the driving unit 120 can adjust the driving direction and driving speed under the control of the processor 140, and the driving unit 120 according to an example is a power generating device (eg: Gasoline engine, diesel engine, LPG (liquefied gas petroleum) engine, electric motor, etc., depending on fuel (or energy source) used steering (hydraulics steering, electronic control power steering (EPS), etc.), driving devices (eg, wheels, propellers, etc.) for driving the robot 100 according to power may be included.
  • the drive unit 120 may be modified according to the driving type (eg, wheel type, walking type, flying type, etc.) of the robot 100 .
  • the communication interface 130 may input and output various types of data.
  • the communication interface 130 is AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth (Bluetooth), Zigbee (Zigbee), wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical External device (eg, source device), external storage medium (eg, USB memory), external server (eg, web hard) and various types of data through communication methods such as , Coaxial, etc. can transmit and receive.
  • Wi-Fi Wi-Fi, Wireless LAN network
  • Bluetooth Bluetooth
  • Zigbee Zigbee
  • wired / wireless LAN Local Area Network
  • WAN Wide Area Network
  • Ethernet IEEE 1394
  • HDMI High-Definition Multimedia Interface
  • USB Universal Serial Bus
  • the processor 140 may transmit and receive data with an external server or another robot through the communication interface 130 .
  • the processor 140 may transmit context data to another robot or receive context data from another robot through the communication interface 130 .
  • the processor 140 controls the overall operation of the robot 100.
  • the processor 140 may be connected to each component of the robot 100 to control the overall operation of the robot 100.
  • the processor 140 may be connected to the sensor 110, the driving unit 120, and the communication interface 130 to control the operation of the robot 100.
  • the processor 140 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). unit), Neural Processing Unit (NPU), controller, application processor (AP), etc., but is described as processor 140 in this specification.
  • DSP digital signal processor
  • CPU central processing unit
  • MCU micro controller unit
  • MPU micro processing unit
  • NPU Neural Processing Unit
  • controller controller
  • AP application processor
  • the processor 140 may be implemented as a system on chip (SoC), large scale integration (LSI), or may be implemented as a field programmable gate array (FPGA). Also, the processor 140 may include volatile memory such as SRAM.
  • SoC system on chip
  • LSI large scale integration
  • FPGA field programmable gate array
  • SRAM static random access memory
  • the processor 140 may obtain first context data through the sensor 110 .
  • the processor 140 receives second context data acquired by at least one other robot through the communication interface 130, and based on a collaboration scenario between the robot 100 and the other robot, the first context data and the second context data. At least one of the two context data may be identified as unified context data.
  • the processor 140 may obtain task information corresponding to the robot 100 based on the identified integrated context data and the constant data of the robot 100 .
  • the constant data is at least one of identification information of the robot 100, specification information of the robot 100, function information of the robot 100, map information corresponding to a space where the robot 100 is located, and priority information for each task. may contain one.
  • the processor 140 generates at least one context data corresponding to each of a plurality of elements among the first context data and the second context data based on the type of each of a plurality of elements related to a collaboration scenario between the robot 100 and the other robots. It can be identified as integrated context data.
  • the processor 140 may obtain task information corresponding to the robot 100 by inputting integrated context data corresponding to each of a plurality of elements to a preset task assignment algorithm.
  • the processor 140 may identify context data corresponding to each type of a plurality of elements based on at least one of acquisition time, similarity, or whether emergency information is included in each of the first context data and the second context data. there is.
  • the plurality of elements may include at least one of external object type information, external object location information, location information of the robot 100, or emergency situation information.
  • the preset task allocation algorithm may be an algorithm including at least one of identifying a current task of the robot 100 and other robots, identifying a situation of an external object, and identifying costs for each task of the robot 100 and other robots.
  • the processor 140 controls the communication interface 130 to transmit the first context data to at least one other robot, and when integrated context data is identified, communicates to transmit the identified integrated context data to at least one other robot.
  • the interface 130 can be controlled.
  • the processor 140 when the integrated context data identified based on the collaboration scenario is received from at least one other robot, the processor 140 has a higher priority among the received integrated context data and the integrated context data identified by the robot 100. It is possible to obtain task information corresponding to the robot 100 by inputting to a preset task allocation algorithm.
  • the processor 140 controls the communication interface 130 to transmit the first context data to at least one other robot, and when the integrated context data identified based on the collaboration scenario is received from the at least one other robot, the first context data is received. It is possible to identify whether the context data is reflected in the received unified context data. When it is identified that the first context data is not reflected in the received integrated context data, the processor 140 may control the communication interface 130 to retransmit the first context data to at least one other robot.
  • the processor 140 may perform a task assignment function based on a preset collaboration scenario when a signal indicating the occurrence of an error is received from the management server.
  • first other robot 200 and the second other robot 300 may also include a configuration included in the robot 100, and the first other robot 200 and the second other robot 300 include The function or operation of each component may be the same as or similar to the function or operation of the component included in the robot 100, but is not limited thereto.
  • the processor 140 may acquire context data A through the sensor 110 (S10).
  • the context data (A) may include at least one of location information of the robot 100, information related to an external object, or emergency situation information, but is not limited thereto.
  • the context data A may include data related to an event occurring at a specific location within a range that can be sensed by the robot 100 through the sensor 110 .
  • context data A may include data corresponding to an 'order' event occurring near the robot 100 .
  • the context data A may include data corresponding to a 'pollution source occurrence' event occurring near the robot 100 .
  • the processor 140 may receive a signal indicating the occurrence of an error from the management server through the communication interface 130 (S20). In addition, the processor 140 transfers the context data A obtained through the sensor 110 to the first other robot 200 and the second other robot 300 based on receiving a signal indicating the occurrence of an error from the management server. It is possible to control the communication interface 130 to transmit (S30).
  • the processor 140 may receive context data acquired by at least one other robot 200 or 300 through the communication interface 130 .
  • the processor 140 may receive context data B obtained from the first robot 200 through the communication interface 130 .
  • the robot 100 may acquire data on an event occurring at at least one location within a range that can be sensed by the robot 100 and the first other robot 200 through the sensor 110 .
  • the processor 140 selects context data (A) acquired by the robot 100 based on a collaboration scenario between the robot 100 and at least one other robot and context data (B) received from the first other robot 200. At least one context data may be identified. Specifically, the processor 140 is based on the type of each of the plurality of elements related to the collaboration scenario of the plurality of robots 100, 200, 300 corresponding to each of a plurality of elements of the context data (A) and context data (B) At least one context data may be identified as integrated context data (S40).
  • the collaboration scenario is a cost for each task performed by the plurality of robots 100, 200, and 300 in the process of providing a service to a user in relation to at least one event occurring in a specific space. It may mean a scenario for minimizing the sum of , but is not limited thereto.
  • the plurality of elements related to the collaboration scenario may include, but are not limited to, elements related to at least one of location information of the plurality of robots 100, 200, and 300, information related to an external object, or emergency situation information.
  • the processor 140 determines the type of each of the plurality of elements related to the collaboration scenario based on at least one of acquisition time, similarity, or emergency situation information of each of the context data A and the context data B.
  • Corresponding context data may be identified as unified context data, but is not limited thereto.
  • the processor 140 may identify at least one context data related to a collaboration scenario as integrated context data based on a similarity of at least one context data related to one element among a plurality of elements related to the collaboration scenario. . For example, when the at least one context data includes data about an event corresponding to 'external object identification', the processor 140 determines at least one element associated with a collaboration scenario called 'external object type'. Among the context data, integrated context data including at least one context data having a high similarity to other context data may be identified.
  • the processor 140 when the processor 140 identifies integrated context data based on a total of three context data, two context data include data corresponding to 'external object type: person', and the remaining one context data includes When data corresponding to 'type of external object: obstacle' is included, the processor 140 may identify integrated context data based on the fact that the type of external object is 'person'.
  • the robot 100 needs to preferentially provide a service corresponding to the emergency situation, so the processor 140 has a low similarity to other context data 'external object type:
  • integrated context data may be identified based on the corresponding context data. Accordingly, the processor 140 may identify integrated context data based on an emergency situation caused by an obstacle.
  • the processor 140 may identify the unified context data based on the most recently acquired context data. For example, when the processor 140 identifies integrated context data based on a total of two pieces of context data, the context data obtained first includes data corresponding to 'position of external object: corridor' and the context data obtained later When data corresponding to 'position of external object: door' is included, the processor 140 may identify integrated context data based on the location of the user near the door.
  • the processor 140 may control the communication interface 130 to transmit the identified integrated context data to the first other robot 200 and the second other robot 300 (S50).
  • the processor 140 may obtain task information corresponding to the robot 100 by inputting constant data and integrated context data to the task allocation algorithm (S70).
  • the constant data includes identification information of the robot 100, specification information of the robot 100, function information of the robot 100, map information corresponding to a space where the robot 100 is located, and priority information for each task. It may include at least one, but is not limited thereto, and any data that does not change regardless of events occurring in the space may be included in the constant data.
  • the constant data may be stored in the memory included in the plurality of robots 100, 200, and 300, and the constant data integrated by transmitting and receiving constant data between the plurality of robots 100, 200, and 300 as necessary. can also be used.
  • the task assignment algorithm includes identification of a current task of the robot 100 and at least one other robot 200 or 300, identification of a situation of an external object, cost per task of a plurality of robots 100, 200, or 300 ) can be an algorithm that includes at least one of identification.
  • the task allocation algorithm may be stored in the memory included in the plurality of robots 100, 200, and 300, and if necessary, the plurality of robots 100, 200, and 300 communicate with an external server to generate a pre-stored task allocation algorithm. It can also be updated with new task assignment algorithms.
  • the processor 140 may identify a current task of the robot 100 through a task assignment algorithm and check a situation related to an external object. In addition, the processor 140 allows the robot 100 to minimize the sum of costs for each task performed by the plurality of robots 100, 200, and 300 in relation to a collaboration scenario of the plurality of robots 100, 200, and 300. Task information corresponding to a task suitable for execution may be obtained.
  • the processor 140 performs the 'serving' task for the robot 100 and the 'cleaning up dishes' task for the first other robot 200, and responds to the occurrence of the 'empty dish found' event near the robot 100.
  • Corresponding integrated context data and constant data may be input to the task assignment algorithm.
  • the empty dish is located closer to the robot 100 than the first other robot 200, but the first other robot 200 performing the tableware cleaning task rather than the robot 100 performing the serving task collecting the empty dish Since collecting the empty dishes may be more suitable for a collaborative scenario of the plurality of robots 100, 200, and 300, the processor 140 transmits information on the task of collecting the empty dishes through a task allocation algorithm to the first type. It can be obtained as task information about the robot 200.
  • the processor 140 may provide a service to the user based on the acquired task information (S80). Specifically, the processor 140 may control the driving unit 120 to perform an operation corresponding to a service to be provided to a user by the robot 100 based on task information.
  • the above-described operation of identifying integrated context data and acquiring task information of the robot 100 may be repeatedly performed.
  • the processor 140 may identify integrated context data again after a predetermined time elapses after obtaining task information, obtain new task information based thereon, and provide a service based on the new task information.
  • the processor 140 may perform an operation of identifying integrated context data and obtaining task information based on the fact that information related to an important event is included in the context data A newly acquired by the robot 100. may be
  • the first other robot 200 may also acquire context data B like the robot 100 (S11). If a problem occurs in the management server, the first other robot 200 may receive a signal indicating the occurrence of an error from the management server (S21).
  • the first other robot 200 receives the context data (A) from the robot 100, and separately acquires the context data (B) to the robot 100 and the second other robot 300. It can be transmitted (S31).
  • the first other robot 200 includes context data (B) obtained by the first other robot 200 based on a collaboration scenario of the plurality of robots 100, 200, and 300 and context data received from the robot 100 ( At least one context data of A) may be identified as integrated context data.
  • the first other robot 200 receives integration context data from a robot 100 other than the first other robot 200 before identifying the integration context data
  • the first other robot 200 receives the integration context data. It may be identified whether or not the context data obtained by the first robot 200 is reflected in the context data (S51).
  • the first other robot 200 includes the context data (B If data corresponding to a plurality of elements included in ) is not included at all, it may be identified that the context data obtained by the first other robot 200 is not reflected in the integrated context data (S51: N). Conversely, if the first other robot 200 includes at least some data corresponding to a plurality of elements included in the context data B acquired by the first other robot 200 in the integrated context data, the integrated context data It can be identified that the context data acquired by the first other robot 200 is reflected (S51: Y).
  • the first other robot 200 transmits the context data B acquired by itself to the first other robot to the integrated context data It can be retransmitted to the robot 100 that has transmitted (S61). Accordingly, the context data B retransmitted from the first other robot 200 can be considered in the process of the robot 100 identifying integrated context data again thereafter.
  • task information may be acquired by inputting the integrated context data and constant data received from the robot 100 to the task allocation algorithm (S71).
  • the first other robot 200 may provide a service to the user based on the acquired task information (S81).
  • the second robot 300 may be a robot that does not acquire context data unlike the robot 100 and the first robot 200 .
  • the second robot 300 is a robot in a standby state, not in a state of providing a service to a user, and may not acquire context data through the sensor 110 .
  • the second robot 300 may receive a signal indicating the occurrence of an error from the management server (S22). Subsequently, the second other robot 300 may receive a plurality of context data A and B from the robot 100 and the first other robot 200 .
  • the second robot 300 may identify integrated context data related to a collaboration scenario based on the received plurality of x context data (S42). Specifically, the second robot 300 includes a plurality of robots 100, 200, and 300 among the context data A received from the robot 100 and the context data B received from the first robot 200 At least one piece of context data corresponding to each of a plurality of elements related to the collaboration scenario may be identified as integrated context data.
  • the second other robot 300 may identify context data having a higher priority among the integrated context data received from the robot 100 and the integrated context data identified by the second other robot 300 (S52). Since the identification method of the integrated context data and the context data (A, B) used by the robot 100 and the second robot 300 to identify the integrated context data are the same, the integrated context data received from the robot 100 is different from the integrated context data.
  • the integrated context data identified by the two other robots 300 may include exactly the same data.
  • the second other robot 300 has a relationship between the integrated context data received from the robot 100 and the integrated context data identified by the second other robot 300.
  • One unified context data may be identified based on priority.
  • the second robot 300 When the second other robot 300 according to an example receives the integrated context data from the robot 100 earlier than the time point at which the second other robot 300 itself identifies the integrated context data, the second robot 300 receives the integrated context data from the robot 100.
  • One integration context can be identified as having high priority.
  • the second other robot 300 identifies the integrated context data by itself before the time of receiving the integrated context data from the robot 100, the second other robot 300 The identified integration context data may be identified as having a high priority.
  • the second robot 300 may acquire task information by inputting constant data and context data identified as having high priority to the task assignment algorithm (S72).
  • the second robot 300 may provide a service to the user based on the acquired task information (S82).
  • the plurality of robots 100, 200, and 300 utilize the same integrated context data and the same task allocation algorithm to obtain task information corresponding to each robot and provide services, so that the plurality of robots 100, 200 , 300), tasks suitable for each robot to perform can be assigned to each robot without overlapping tasks, so user convenience can be improved.
  • 3A to 3C are diagrams for explaining collaboration between a plurality of robots according to an embodiment of the present disclosure.
  • a plurality of robots 310, 320, and 330 disposed in a restaurant 301 may provide services based on a collaboration scenario.
  • robot 1 (310) may perform a task corresponding to serving (311)
  • robot 2 (320) may perform a task corresponding to leaving (321)
  • robot 3 (330) may perform a task corresponding to patrol (331).
  • the plurality of robots 310 , 320 , and 330 may store constant data including each identification data and context data including position information of each robot and data related to an external object.
  • the context data stored by each robot may include continuously updated data.
  • the plurality of robots 310, 320, and 330 may share constant data and context data stored by each other. Accordingly, all of the plurality of robots 310, 320, and 330 may share location information of each robot and information related to an external object.
  • robot 1 (310) providing service in the restaurant 301 may identify an empty plate 340.
  • robot 1 (310) identifies the dish 340 placed on the table where the user is not located as an empty dish, and acquires context data 341 identifying the dish 340 as an object of the leaving task. can do.
  • the robot 2 (320) may obtain integrated context data based on the context data 341 received from the robot 1 (310) and the context data acquired by itself.
  • robot 2 (320) may acquire task information corresponding to robot 2 (320) by inputting integrated context data to a task allocation algorithm. Specifically, the robot 2 (320) is used to identify the current task of each of the plurality of robots (310, 320, and 330), identify the situation of the external object (340), and identify costs for each task of the plurality of robots (310, 320, and 330). Based on this, the robot 2 (320) may obtain task information for performing the elimination task targeting the dish 340 by itself, and may perform the elimination task based on the obtained task information.
  • 4A to 4C are diagrams for explaining collaboration between a plurality of robots according to an embodiment of the present disclosure.
  • a plurality of robots 410, 420, and 430 disposed in the hotel 400 may provide services based on a collaboration scenario.
  • robot 1 (410) may perform a task corresponding to carrying laundry (411)
  • robot 2 (420) may perform a guide 421
  • robot 3 (430) may perform a task corresponding to carrying laundry (431).
  • the plurality of robots 410 , 420 , and 430 may obtain context data about the structures 440 and 450 located in the hotel 400 and the first user 10 .
  • the robots of the plurality of robots 410, 420, and 430 have information 11 on a first user receiving service from the robot 2 420 and the doors 440 and 450 of rooms 401 and 402.
  • Information 441 and 451 indicating the current closed state may be acquired or shared.
  • robot 2 (420) acquires and acquires context data including information (452) that the door (450) of room 402 has been changed to an open state and information (21) about the second user (20).
  • One context data may be transmitted to robot 1 (410) and robot 3 (430).
  • the robot 2 (420) obtains integrated context data based on the context data received from the robot 1 (410) and the robot 3 (430) and the context data acquired by itself, and the obtained integrated context data. It can also be transmitted to robot 1 (410) and robot 3 (430).
  • the plurality of robots 410, 420, and 430 acquire integrated context data based on context data received from other robots and context data acquired by themselves, and input the acquired integrated context data to a task assignment algorithm.
  • task information corresponding to each robot can be obtained.
  • robot 2 (420) is the robot located closest to room 402 (450), which is the target of the cleaning task due to the departure of the second user (20), robot 2 (420) is currently the robot for the first user (10). Based on the fact that it is performing the guide task, robot 1 (410) may be identified as a robot corresponding to the cleaning task for room 402 (450).
  • robot 1 410 obtains task information 412 corresponding to the cleaning task for room 402 450 as a result of inputting the integrated context data into the task assignment algorithm, and based on the obtained task information Can perform cleaning tasks. Also, robot 2 (420) may continue the existing guiding task.
  • robot 3 (430) inputs the integrated context data to the task allocation algorithm to acquire task information about taking over the laundry carried by robot 1 (410) and transporting the laundry at once, and based on the obtained task information, Existing laundry transport tasks can be continued.
  • 5A to 5C are diagrams for explaining collaboration between a plurality of robots according to an embodiment of the present disclosure.
  • a plurality of robots 510 and 520 disposed in a hallway 500 may provide services based on a collaboration scenario.
  • robot 1 510 performing a normal task 511 may move along a movement path 501 obtained based on task information corresponding to a normal task.
  • the robot 2 (520) may be in a standby state (521).
  • robot 1 510 performing normal tasks may obtain context data 531 corresponding to an emergency 530 occurring on one side of the corridor 500 .
  • Robot 1 (510) may transmit the acquired context data (531) to robot 2 (520). Since the context data received from robot 1 (510) includes emergency information (531), robot 2 (520) receives information about emergency situation (530) based on the context data received from robot 1 (510). It is possible to obtain integrated context data including
  • the robot 2 (520) inputs the integrated context data including information on the emergency situation (530) and the constant data of each robot (510, 520) to the task assignment algorithm, so that the robot 2 (520) Corresponding task information may be acquired.
  • the specifications or functions of robot 2 (520) are more suitable for coping with an emergency situation (530) than the specifications or functions of robot 1 (510)
  • robot 2 (520) is located at the point where the emergency situation (530) occurs.
  • Priority is given to robot 1 (510) closest to the robot 1 (510), which is assigned a task of handling an emergency situation (530), and can perform an emergency task (522) corresponding thereto.
  • the task information corresponding to the robot 2 (520) may include information about a path 502 along which the robot 2 (520) will move to the point where the emergency situation 530 occurs, and the robot 2 (520) Information on the shortest path 502 moving from the position of robot 2 520 to the point where the emergency 530 occurs by inputting constant data and integrated context data including priority information for each task to the task assignment algorithm. It is possible to obtain task information including.
  • robot 1 (510) inputs integrated context data and constant data acquired by itself or received from robot 2 (520) to the task allocation algorithm to continue the existing normal work task (511) based on task information obtained. can do.
  • the normal task 511 to be performed by robot 1 (510) has a lower priority than the urgent task 522 to be performed by robot 2 (520)
  • the moving path of robot 1 (510) is the existing path ( 501) to the change path 503.
  • the plurality of robots 510 and 520 disposed in the corridor 500 can provide optimal services to users based on a collaborative scenario in which a robot 520 suitable for handling an emergency 530 can move quickly. be able to
  • FIG. 6 is a diagram for specifically explaining the functional configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a sensor 110, a driving unit 120, a communication interface 130, a processor 140, a display 150, a memory 160, and a user interface 170. .
  • a sensor 110 the robot 100 may include a sensor 110, a driving unit 120, a communication interface 130, a processor 140, a display 150, a memory 160, and a user interface 170.
  • a processor 140 the robot 100 may include a sensor 110, a driving unit 120, a communication interface 130, a processor 140, a display 150, a memory 160, and a user interface 170.
  • the display 150 may be implemented with various types of displays such as a liquid crystal display (LCD), organic light emitting diodes (OLED) display, quantum dot light-emitting diodes (QLED) display, and plasma display panel (PDP).
  • the display 150 may also include a driving circuit, a backlight unit, and the like, which may be implemented in the form of a TFT, a low temperature poly silicon (LTPS) TFT, or an organic TFT (OTFT). Meanwhile, the display 150 may be implemented as a flexible display, a 3D display, or the like.
  • the display 150 may display information related to a service provided by the robot 100 or a UI (User Interface) including the corresponding information.
  • UI User Interface
  • the memory 160 may store data necessary for various embodiments of the present disclosure.
  • the memory 160 may be implemented in the form of a memory embedded in the robot 100 or in the form of a removable memory in the robot 100 depending on the data storage purpose.
  • data for driving the robot 100 is stored in a memory embedded in the robot 100
  • data for extended functions of the robot 100 is stored in a memory attachable to and detachable from the robot 100. It can be.
  • volatile memory eg, DRAM (dynamic RAM), SRAM (static RAM), SDRAM (synchronous dynamic RAM), etc.
  • non-volatile memory non-volatile memory
  • OTPROM one time programmable ROM
  • PROM programmable ROM
  • EPROM erasable and programmable ROM
  • EEPROM electrically erasable and programmable ROM
  • mask ROM flash ROM, flash memory (e.g. NAND flash or NOR flash, etc.) , hard drive, or solid state drive (SSD).
  • a memory card eg, CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
  • external memory that can be connected to the USB port (e.g., a USB memory) may be implemented in the form of the like.
  • the memory 160 may store at least one of constant data corresponding to at least one robot among a plurality of robots and context data acquired by the robot 100 or context data received from another robot.
  • the memory 160 may store task information obtained by inputting a predetermined task assignment algorithm and constant data and context data to the task assignment algorithm.
  • the user interface 170 is a component involved in the robot 100 performing an interaction with a user.
  • the user interface 170 may include at least one of a touch sensor, a motion sensor, a button, a jog dial, a switch, a microphone, or a speaker, but is not limited thereto.
  • FIG. 7 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
  • first context data is acquired through a sensor (S710).
  • At least one context data among first context data and second context data is identified based on a collaboration scenario between the robot and another robot (S730).
  • task information corresponding to the robot is acquired by inputting at least one context data identified to a preset task assignment algorithm related to collaboration (S740).
  • task information corresponding to the robot is obtained based on the identified at least one context data and constant data of the robot, and the constant data includes robot identification information, It may include at least one of robot specification information, robot function information, map information corresponding to a space where the robot is located, and priority information for each task.
  • step of identifying the context data at least one context corresponding to each of a plurality of elements among the first context data and the second context data is selected based on the type of each of the plurality of elements related to the collaboration scenario between the robot and the other robot.
  • step of identifying data and obtaining task information ( S740 ), task information corresponding to a robot may be obtained by inputting at least one context data corresponding to each of a plurality of elements to a preset task allocation algorithm.
  • the context corresponding to the type of each of the plurality of elements based on at least one of acquisition time, similarity, or whether emergency information is included in each of the first context data and the second context data. data can be identified.
  • the plurality of elements may include at least one of external object type information, external object location information, robot location information, and emergency situation information.
  • the preset task assignment algorithm may be an algorithm including at least one of identifying a current task of the robot and other robots, identifying a situation of an external object, and identifying costs for each task of the robot and other robots.
  • control method may further include transmitting the first context data to at least one other robot, and transmitting the identified at least one context data to at least one other robot when the at least one context data is identified. there is.
  • the control method inputs context data having a higher priority among the received context data and the identified at least one context data to a preset task assignment algorithm.
  • the method may further include obtaining task information corresponding to the robot by doing so.
  • control method includes transmitting the first context data to at least one other robot, and determining whether the first context data is reflected in the received context data when context data identified based on a collaboration scenario is received from the at least one other robot. and retransmitting the first context data to at least one other robot if it is identified that the first context data is not reflected in the received context data.
  • At least one context data may be identified.
  • various embodiments of the present disclosure described above may be performed through an embedded server included in a robot or at least one external server.
  • embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • the embodiments described herein may be implemented by the processor 140 itself.
  • embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing the processing operation of the robot 100 according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • the computer instructions stored in such a non-transitory computer readable medium are executed by a processor of a specific device, the processing operation in the robot 100 according to various embodiments described above is performed by the specific device.
  • a non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory.
  • Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

로봇이 개시된다. 로봇은 센서, 구동부, 통신 인터페이스 및 프로세서를 포함한다. 프로세서는 센서를 통해 제1 컨텍스트(context) 데이터를 획득하고, 적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 통신 인터페이스를 통해 수신하고, 로봇 및 적어도 하나의 타 로봇의 협업 시나리오에 기초하여 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 식별하고, 협업과 관련된 기 설정된 태스크 할당 알고리즘에 식별된 적어도 하나의 컨텍스트 데이터를 입력하여 로봇에 대응되는 태스크 정보를 획득하고, 획득된 태스크 정보에 기초하여 구동부를 제어할 수 있다.

Description

로봇 및 그 제어 방법
본 발명은 사용자에게 서비스를 제공하는 로봇 및 그 제어 방법에 관한 것이다.
최근 실내 공간에 배치되어 사용자에게 서비스를 제공하는 로봇에 대한 기술 개발이 활발해지고 있다. 실내 공간에 복수의 로봇이 배치되어 서비스를 제공하는 경우, 복수의 로봇은 관리 서버의 통제 하에 고유의 태스크를 할당 받아 할당된 태스크에 대응되는 서비스를 제공할 수 있다.
그러나, 종래의 로봇은 관리 서버에 문제가 발생하는 경우 서비스를 위한 태스크를 할당 받지 못하여 원활한 서비스 제공을 할 수 없는 문제점이 있었다. 이에 따라 관리 서버 없이도 복수의 로봇이 협업하여 사용자에게 서비스를 제공하는 방법에 대한 지속적인 요구가 있었다.
본 개시는 상술한 필요성에 따른 것으로, 로봇이 획득한 컨텍스트 데이터 및 타 로봇으로부터 수신한 컨텍스트 데이터에 기초하여 획득된 태스크 정보에 대응되는 서비스를 제공하는 로봇 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 로봇은, 센서, 구동부, 통신 인터페이스 및 상기 센서를 통해 제1 컨텍스트(context) 데이터를 획득하고, 적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 상기 통신 인터페이스를 통해 수신하고, 상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 식별하고, 상기 협업과 관련된 기 설정된 태스크 할당 알고리즘에 상기 식별된 적어도 하나의 컨텍스트 데이터를 입력하여 상기 로봇에 대응되는 태스크 정보를 획득하고, 상기 획득된 태스크 정보에 기초하여 상기 구동부를 제어하는 프로세서를 포함할 수 있다.
여기서, 상기 프로세서는, 상기 식별된 적어도 하나의 컨텍스트 데이터 및 상기 로봇의 컨스턴트(constant) 데이터에 기초하여 상기 태스크 정보를 획득하고, 상기 컨스턴트 데이터는, 상기 로봇의 식별 정보, 상기 로봇의 스펙 정보, 상기 로봇의 기능 정보, 상기 로봇이 위치한 공간에 대응되는 맵 정보 또는 태스크 별 우선 순위 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 프로세서는, 상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 상기 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 식별하고, 상기 복수의 요소 각각에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 상기 기 설정된 태스크 할당 알고리즘에 입력하여 상기 태스크 정보를 획득할 수 있다
여기서, 상기 프로세서는, 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 상기 복수의 요소 각각의 타입에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 식별할 수 있다.
또한, 상기 복수의 요소는, 외부 오브젝트의 타입 정보, 상기 외부 오브젝트의 위치 정보, 상기 로봇의 위치 정보 또는 긴급 상황 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 기 설정된 태스크 할당 알고리즘은, 상기 로봇 및 상기 적어도 하나의 타 로봇의 현재 태스크 식별, 외부 오브젝트의 상황 식별 또는 상기 로봇 및 상기 적어도 하나의 타 로봇의 태스크 별 코스트(cost) 식별 중 적어도 하나를 포함하는 알고리즘일 수 있다.
또한, 상기 프로세서는, 상기 제1 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 적어도 하나의 컨텍스트 데이터가 식별되면, 상기 식별된 적어도 하나의 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는, 상기 적어도 하나의 타 로봇으로부터 상기 협업 시나리오에 기초하여 식별된 타 컨텍스트 데이터가 수신되면, 상기 수신된 타 컨텍스트 데이터 및 상기 식별된 적어도 하나의 컨텍스트 데이터 중 우선 순위가 높은 컨텍스트 데이터를 상기 기 설정된 태스크 할당 알고리즘에 입력하여 상기 태스크 정보를 획득할 수 있다.
또한, 상기 프로세서는, 상기 제1 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 적어도 하나의 타 로봇으로부터 상기 협업 시나리오에 기초하여 식별된 타 컨텍스트 데이터가 수신되면, 상기 제1 컨텍스트 데이터가 상기 수신된 타 컨텍스트 데이터에 반영되었는지 여부를 식별하고, 상기 제1 컨텍스트 데이터가 상기 수신된 타 컨텍스트 데이터에 미 반영된 것으로 식별되면, 상기 제1 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 재전송하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는, 관리 서버에서 에러 발생을 나타내는 신호가 수신되면, 상기 협업 시나리오에 기초하여 태스크 할당 기능을 수행할 수 있다.
한편, 본 발명의 일 실시 예에 따른 로봇의 제어 방법은, 센서를 통해 제1 컨텍스트(context) 데이터를 획득하는 단계, 적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 수신하는 단계, 상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 식별하는 단계, 상기 협업과 관련된 기 설정된 태스크 할당 알고리즘에 상기 식별된 적어도 하나의 컨텍스트 데이터를 입력하여 상기 로봇에 대응되는 태스크 정보를 획득하는 단계 및 상기 획득된 태스크 정보에 기초하여 상기 로봇을 구동하는 단계를 포함할 수 있다.
여기서, 상기 태스크 정보를 획득하는 단계는, 상기 식별된 적어도 하나의 컨텍스트 데이터 및 상기 로봇의 컨스턴트(constant) 데이터에 기초하여 상기 태스크 정보를 획득하고, 상기 컨스턴트 데이터는, 상기 로봇의 식별 정보, 상기 로봇의 스펙 정보, 상기 로봇의 기능 정보, 상기 로봇이 위치한 공간에 대응되는 맵 정보 또는 태스크 별 우선 순위 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 컨텍스트 데이터를 식별하는 단계는, 상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 상기 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 식별하고, 상기 태스크 정보를 획득하는 단계는, 상기 복수의 요소 각각에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 상기 기 설정된 태스크 할당 알고리즘에 입력하여 상기 태스크 정보를 획득할 수 있다.
여기서, 상기 컨텍스트 데이터를 식별하는 단계는, 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 상기 복수의 요소 각각의 타입에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 식별할 수 있다.
또한, 상기 복수의 요소는, 외부 오브젝트의 타입 정보, 상기 외부 오브젝트의 위치 정보, 상기 로봇의 위치 정보 또는 긴급 상황 정보 중 적어도 하나를 포함할 수 있다.
본 개시의 다양한 실시 예에 따르면, 복수의 로봇이 관리 서버의 개입 없이도 복수의 로봇의 협업에 필요한 태스크를 할당 받아 서비스를 제공할 수 있으므로 사용자의 편의가 향상될 수 있다.
도 1는 본 개시의 일 실시 예에 따른 로봇의 서비스 제공 과정을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 도면이다.
도 3a 내지 도 3c는 본 개시의 일 실시 예에 따른 복수의 로봇들 간의 협업에 대해 설명하기 위한 도면이다.
도 4a 내지 도 4c는 본 개시의 일 실시 예에 따른 복수의 로봇들 간의 협업에 대해 설명하기 위한 도면이다.
도 5a 내지 도 5c는 본 개시의 일 실시 예에 따른 복수의 로봇들 간의 협업에 대해 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시에서 '사용자' 는 로봇에게 서비스를 제공받는 사람을 의미할 수 있으나, 이에 한정되는 것은 아니다.
도 1는 본 개시의 일 실시 예에 따른 로봇의 서비스 제공 과정을 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 특정 공간에 배치되며, 공간을 방문한 사용자에게 다양한 서비스를 제공할 수 있다. 구체적으로, 로봇(100)은 사용자에게 경로 안내, 서빙 또는 청소 중 적어도 하나에 대응되는 서비스를 제공할 수 있으나 이에 한정되는 것은 아니다.
또한, 특정 공간에는 로봇(100)을 비롯하여 적어도 하나의 타 로봇(200, 300)이 배치되며, 로봇(100) 및 적어도 하나의 타 로봇(200, 300)은 상호 협업을 통하여 사용자에게 서비스를 제공할 수 있다. 여기서, 협업을 통한 서비스 제공이란 로봇(100) 및 적어도 하나의 타 로봇(200, 300)이 각기 상이한 태스크 정보에 대응되는 서비스를 사용자에게 제공하는 동작을 의미할 수 있다.
적어도 하나의 타 로봇(200, 300)은 로봇(100)과 동일한 스펙을 갖는 로봇일 수도 있으나, 로봇(100)과 상이한 스펙을 갖는 로봇일 수도 있다. 적어도 하나의 타 로봇(200, 300)은 로봇(100)이 획득한 태스크 정보와 상이한 태스크 정보에 대응되는 서비스를 사용자에게 제공하는 로봇일 수 있다.
도 1에서는 적어도 하나의 타 로봇(200, 300)은 제1 타 로봇(200) 및 제2 타 로봇(300)으로 각각 도시하였다. 도 1에서 도시한 바에 따르면 특정 공간에 총 3대의 로봇(100, 200, 300)이 배치될 수 있으나 이에 한정되는 것은 아니며, 보다 많은 수의 로봇이 협업하여 사용자에게 서비스를 제공할 수 도 있다.
일 예에 따르면, 복수의 로봇(100, 200, 300)은 관리 서버에 의해 제어될 수 있다. 구체적으로, 관리 서버는 복수의 로봇(100, 200, 300)이 획득한 데이터를 수신하고, 수신한 데이터에 기초하여 복수의 로봇(100, 200, 300)에 대응되는 태스크 정보를 획득할 수 있다. 또한, 관리 서버는 획득된 태스크 정보를 복수의 로봇(100, 200, 300)으로 전송함으로써 로봇(100, 200, 300)의 서비스 제공을 제어할 수 있다.
그러나, 복수의 로봇(100, 200, 300)을 관리하는 서버에 에러가 발생한 경우 복수의 로봇(100, 200, 300)은 서버의 개입이 없이도 각 로봇이 수집한 데이터에 기초하여 각 로봇에 대응되는 태스크 정보를 획득하고, 획득한 태스크 정보에 기초하여 서비스를 제공할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 도면이다.
도 2에 따르면, 본 개시의 일 실시 예에 따른 로봇(100)은 센서(110), 구동부(120), 통신 인터페이스(130) 및 프로세서(140)를 포함할 수 있다.
센서(110)는 물리량을 계측하거나 로봇(100)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서(110)는 카메라를 포함할 수 있으며, 카메라는 오브젝트에 의해 반사되어 수신되는 가시광 기타 광학 신호를 이미지 센서로 포커싱하는 렌즈 및 가시광 기타 광학 신호를 감지할 수 있는 이미지 센서를 포함할 수 있다. 여기서, 이미지 센서는 복수의 픽셀로 구분되는 2D의 픽셀 어레이를 포함할 수 있다.
또한, 센서(110)는 마이크를 포함할 수 있다. 마이크는 사용자의 음성과 주위 노이즈 신호를 수신함으로써 입력 사운드를 수집하는 구성이다. 구체적으로 마이크는 음파를 입력 받아 이와 동일한 파형의 전류를 생성하는 장치를 통칭하는 구성이다. 프로세서(140)는 마이크에 의해 생성된 파형의 전류에 기초하여 입력 사운드에 포함된 사운드 신호를 디지털 신호로 변환할 수 있다.
프로세서(140)는 카메라 또는 마이크를 포함하는 센서(110)를 통해 이미지 데이터 또는 음향 데이터를 포함하는 컨텍스트 데이터를 획득할 수 있다.
또한, 센서(110)는 거리 센서, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러(color) 센서(예: RGB(red, green, blue) 센서), 생체 센서, 온/습도 센서, 조도 센서, 또는 UV(ultra violet) 센서 중의 적어도 하나를 포함할 수도 있으며, 일 예에 따른 센서(110)는 적어도 하나 이상의 센서를 포함하는 센서 모듈의 형태로도 구현될 수 있다.
구동부(120)는 로봇(100)을 주행시킬 수 있는 장치이다. 구동부(120)는 프로세서(140)의 제어에 따라 주행 방향 및 주행 속도를 조절할 수 있으며, 일 예에 따른 구동부(120)는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 사용 연료(또는 에너지원)에 따라 가솔린 엔진(engine), 디젤 엔진, LPG(liquefied petroleum gas) 엔진, 전기 모터 등), 주행 방향을 조절하기 위한 조향 장치(예: 기계식 스티어링(manual steering), 유압식 스티어링(hydraulics steering), 전자식 스티어링(electronic control power steering; EPS) 등), 동력에 따라 로봇(100)을 주행시키는 주행 장치(예: 바퀴, 프로펠러 등) 등을 포함할 수 있다. 여기서, 구동부(120)는 로봇(100)의 주행 타입(예: 휠 타입, 보행 타입, 비행 타입 등)에 따라 변형 실시될 수 있다.
통신 인터페이스(130)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(130)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
프로세서(140)는 통신 인터페이스(130)를 통해 외부 서버 또는 타 로봇과 데이터를 송수신할 수 있다. 특히, 프로세서(140)는 통신 인터페이스(130)를 통해 타 로봇으로 컨텍스트 데이터를 전송하거나 타 로봇으로부터 컨텍스트 데이터를 수신할 수 있다.
프로세서(140)는 로봇(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(140)는 로봇(100)의 각 구성과 연결되어 로봇(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(140)는 센서(110), 구동부(120) 및 통신 인터페이스(130)와 연결되어 로봇(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(140)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(140)로 기재한다.
프로세서(140)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(140)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(140)는 센서(110)를 통해 제1 컨텍스트(context) 데이터를 획득할 수 있다. 또한, 프로세서(140)는 적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 통신 인터페이스(130)를 통해 수신하고, 로봇(100) 및 타 로봇의 협업 시나리오에 기초하여 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있다.
또한, 프로세서(140)는 식별된 통합 컨텍스트 데이터 및 로봇(100)의 컨스턴트 데이터에 기초하여 로봇(100)에 대응되는 태스크 정보를 획득할 수 있다. 여기서, 컨스턴트 데이터는 로봇(100)의 식별 정보, 로봇(100)의 스펙 정보, 로봇(100)의 기능 정보, 로봇(100)이 위치한 공간에 대응되는 맵 정보 및 태스크 별 우선 순위 정보 중 적어도 하나를 포함할 수 있다.
또한, 프로세서(140)는 로봇(100) 및 타 로봇의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 중 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있다. 또한, 프로세서(140)는 복수의 요소 각각에 대응되는 통합 컨텍스트 데이터를 기 설정된 태스크 할당 알고리즘에 입력하여 로봇(100)에 대응되는 태스크 정보를 획득할 수 있다.
여기서, 프로세서(140)는 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 복수의 요소 각각의 타입에 대응되는 컨텍스트 데이터를 식별할 수 있다.
또한, 복수의 요소는 외부 오브젝트의 타입 정보, 외부 오브젝트의 위치 정보, 로봇(100)의 위치 정보 또는 긴급 상황 정보 중 적어도 하나를 포함할 수 있다.
또한, 기 설정된 태스크 할당 알고리즘은 로봇(100) 및 타 로봇의 현재 태스크 식별, 외부 오브젝트의 상황 식별, 로봇(100) 및 타 로봇의 태스크 별 코스트 식별 중 적어도 하나를 포함하는 알고리즘일 수 있다.
또한, 프로세서(140)는 제1 컨텍스트 데이터를 적어도 하나의 타 로봇으로 전송하도록 통신 인터페이스(130)를 제어하고, 통합 컨텍스트 데이터가 식별되면 식별된 통합 컨텍스트 데이터를 적어도 하나의 타 로봇으로 전송하도록 통신 인터페이스(130)를 제어할 수 있다.
또한, 프로세서(140)는 적어도 하나의 타 로봇으로부터 협업 시나리오에 기초하여 식별된 통합 컨텍스트 데이터가 수신되면 수신된 통합 컨텍스트 데이터 및 로봇(100)이 식별한 통합 컨텍스트 데이터 중 우선 순위가 높은 통합 컨텍스트 데이터를 기 설정된 태스크 할당 알고리즘에 입력하여 로봇(100)에 대응되는 태스크 정보를 획득할 수 있다.
또한, 프로세서(140)는 제1 컨텍스트 데이터를 적어도 하나의 타 로봇으로 전송하도록 통신 인터페이스(130)를 제어하고, 적어도 하나의 타 로봇으로부터 협업 시나리오에 기초하여 식별된 통합 컨텍스트 데이터가 수신되면 제1 컨텍스트 데이터가 수신된 통합 컨텍스트 데이터에 반영되었는지 여부를 식별할 수 있다. 프로세서(140)는 제1 컨텍스트 데이터가 수신된 통합 컨텍스트 데이터에 미 반영된 것으로 식별되면 제1 컨텍스트 데이터를 적어도 하나의 타 로봇으로 재전송하도록 통신 인터페이스(130)를 제어할 수 있다.
또한, 프로세서(140)는 관리 서버에서 에러 발생을 나타내는 신호가 수신되면 기 설정된 협업 시나리오에 기초하여 태스크 할당 기능을 수행할 수 있다.
한편, 제1 타 로봇(200) 및 제2 타 로봇(300) 역시 로봇(100)에 포함된 구성을 포함할 수 있으며, 제1 타 로봇(200) 및 제2 타 로봇(300)에 포함된 각 구성의 기능 또는 동작은 로봇(100)에 포함된 구성의 기능 또는 동작과 동일 또는 유사할 수 있으나, 이에 한정되는 것은 아니다.
다시 도 1을 참조하면, 프로세서(140)는 센서(110)를 통해 컨텍스트(context) 데이터(A)를 획득할 수 있다(S10). 여기서, 컨텍스트 데이터(A)는 로봇(100)의 위치 정보, 외부 오브젝트에 관련된 정보 또는 긴급 상황 정보 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.
구체적으로, 컨텍스트 데이터(A)는 로봇(100)이 센서(110)를 통해 센싱 가능한 범위 내의 특정 위치에서 발생한 이벤트에 관한 데이터를 포함할 수 있다. 예를 들어, 로봇(100)이 '서빙'에 대응되는 서비스를 제공하는 경우 컨텍스트 데이터(A)는 로봇(100) 인근에서 발생한 '주문' 이벤트에 대응되는 데이터를 포함할 수 있다. 또한, 로봇(100)이 '청소'에 대응되는 서비스를 제공하는 경우 컨텍스트 데이터(A)는 로봇(100) 인근에서 발생한 '오염원 발생' 이벤트에 대응되는 데이터를 포함할 수 있다.
프로세서(140)는 통신 인터페이스(130)를 통해 관리 서버로부터 에러 발생을 나타내는 신호를 수신할 수 있다(S20). 또한, 프로세서(140)는 관리 서버로부터 에러 발생을 나타내는 신호를 수신함에 기초하여 센서(110)를 통해 획득한 컨텍스트 데이터(A)를 제1 타 로봇(200) 및 제2 타 로봇(300)로 전송하도록 통신 인터페이스(130)를 제어할 수 있다(S30).
또한, 프로세서(140)는 적어도 하나의 타 로봇(200, 300)에 의해 획득된 컨텍스트 데이터를 통신 인터페이스(130)를 통해 수신할 수 있다. 도 1에 따르면, 프로세서(140)는 제1 타 로봇(200)으로부터 획득된 컨텍스트 데이터(B)를 통신 인터페이스(130)를 통해 수신할 수 있다. 이에 따라 로봇(100)은 로봇(100) 및 제1 타 로봇(200)이 센서(110)를 통해 센싱 가능한 범위 내의 적어도 하나의 위치에서 발생한 이벤트에 대한 데이터를 획득할 수 있다.
프로세서(140)는 로봇(100) 및 적어도 하나의 타 로봇의 협업 시나리오에 기초하여 로봇(100)이 획득한 컨텍스트 데이터(A) 및 제1 타 로봇(200)으로부터 수신한 컨텍스트 데이터(B) 중 적어도 하나의 컨텍스트 데이터를 식별할 수 있다. 구체적으로, 프로세서(140)는 복수의 로봇(100, 200, 300)의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 컨텍스트 데이터(A) 및 컨텍스트 데이터(B) 중 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있다(S40).
협업 시나리오는 특정 공간에서 발생한 적어도 하나의 이벤트와 관련하여 복수의 로봇(100, 200, 300)이 사용자에게 서비스를 제공하는 과정에서, 복수의 로봇(100, 200, 300)이 수행하는 태스크 별 코스트의 합을 최소화하기 위한 시나리오를 의미할 수 있으나, 이에 한정되는 것은 아니다.
여기서, 협업 시나리오와 관련된 복수의 요소에는 복수의 로봇(100, 200, 300)의 위치 정보, 외부 오브젝트에 관련한 정보 또는 긴급 상황 정보 중 적어도 하나의 정보에 관한 요소가 포함될 수 있으나 이에 한정되는 것은 아니다. 예를 들어, 프로세서(140)는 컨텍스트 데이터(A) 및 컨텍스트 데이터(B) 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 협업 시나리오와 관련된 복수의 요소 각각의 타입에 대응되는 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있으나 이에 한정되는 것은 아니다.
일 예에 따른 프로세서(140)는 협업 시나리오와 관련된 복수의 요소 중 일 요소와 관련하여 적어도 하나의 컨텍스트 데이터의 유사도에 기초하여 협업 시나리오와 관련한 적어도 하나의 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있다. 예를 들어, 적어도 하나의 컨텍스트 데이터에 '외부 오브젝트 식별'에 대응되는 이벤트에 관한 데이터가 포함된 경우 프로세서(140)는 '외부 오브젝트의 타입'이라는 협업 시나리오와 관련된 일 요소와 관련하여 적어도 하나의 컨텍스트 데이터 중 다른 컨텍스트 데이터와 유사도가 높은 적어도 하나의 컨텍스트 데이터를 포함하는 통합 컨텍스트 데이터를 식별할 수 있다.
보다 구체적으로, 프로세서(140)가 총 3개의 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 식별하는 경우 2개의 컨텍스트 데이터에는 '외부 오브젝트의 타입: 사람'에 대응되는 데이터가 포함되고 나머지 1개의 컨텍스트 데이터에는 '외부 오브젝트의 타입: 장애물'에 대응되는 데이터가 포함된 경우, 프로세서(140)는 외부 오브젝트의 타입이 '사람'인 것에 기초하여 통합 컨텍스트 데이터를 식별할 수 있다.
그러나, 긴급 상황이 발생했을 가능성이 있는 경우에 로봇(100)은 긴급 상황에 대응되는 서비스를 우선적으로 제공할 필요가 있기 때문에, 프로세서(140)는 다른 컨텍스트 데이터와 유사도가 낮은 '외부 오브젝트 타입: 장애물'에 대응되는 컨텍스트 데이터에 긴급 상황 정보가 포함된 경우에는 해당 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 식별할 수도 있다. 따라서 프로세서(140)는 장애물에 의해 긴급 상황이 유발된 것에 기초하여 통합 컨텍스트 데이터를 식별할 수 있다.
또한, 프로세서(140)는 컨텍스트 데이터 각각의 유사도 여부에 기초하여 통합 컨텍스트 데이터를 식별할 수 없는 경우에는 가장 최근에 획득된 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 식별할 수 있다. 예를 들어, 프로세서(140)가 총 2개의 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 식별하는 경우 먼저 획득된 컨텍스트 데이터에는 '외부 오브젝트의 위치: 복도'에 대응되는 데이터가 포함되고 나중에 획득된 컨텍스트 데이터에는 '외부 오브젝트의 위치: 출입문'에 대응되는 데이터가 포함되는 경우, 프로세서(140)는 사용자가 출입문 근처에 위치하는 것에 기초하여 통합 컨텍스트 데이터를 식별할 수 있다.
프로세서(140)는 식별된 통합 컨텍스트 데이터를 제1 타 로봇(200) 및 제2 타 로봇(300)로 전송하도록 통신 인터페이스(130)를 제어할 수 있다(S50). 또한, 프로세서(140)는 태스크 할당 알고리즘에 컨스턴트 데이터 및 통합 컨텍스트 데이터를 입력하여 로봇(100)에 대응되는 태스크 정보를 획득할 수 있다(S70).
여기서, 컨스턴트 데이터는 로봇(100)의 식별 정보, 로봇(100)의 스펙 정보, 로봇(100)의 기능 정보, 로봇(100)이 위치하는 공간에 대응되는 맵 정보 및 태스크 별 우선 순위 정보 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니며, 공간 내에서 발생하는 이벤트와 관계 없이 변화하지 않는 데이터라면 얼마든지 컨스턴트 데이터에 포함될 수 있다. 컨스턴트 데이터는 복수의 로봇(100, 200, 300)에 포함된 메모리에 저장될 수 있으며, 필요에 따라서는 복수의 로봇(100, 200, 300) 간에 컨스턴트 데이터를 송수신함으로써 통합된 컨스턴트 데이터를 활용할 수도 있다.
일 예에 따른 태스크 할당 알고리즘은 로봇(100) 및 적어도 하나의 타 로봇(200, 300)의 현재 태스크 식별, 외부 오브젝트의 상황 식별, 복수의 로봇(100, 200, 300)의 태스크 별 코스트(cost) 식별 중 적어도 하나를 포함하는 알고리즘일 수 있다. 태스크 할당 알고리즘은 복수의 로봇(100, 200, 300)에 포함된 메모리에 저장될 수 있으며, 필요에 따라서는 복수의 로봇(100, 200, 300)이 외부 서버와 통신하여 기 저장된 태스크 할당 알고리즘을 새로운 태스크 할당 알고리즘으로 업데이트할 수도 있다.
일 예에 따른 프로세서(140)는 태스크 할당 알고리즘을 통해 로봇(100)의 현재 태스크가 무엇인지 식별하고, 외부 오브젝트와 관련된 상황을 확인할 수 있다. 또한, 프로세서(140)는 복수의 로봇(100, 200, 300)의 협업 시나리오와 관련하여 복수의 로봇(100, 200, 300)이 수행하는 태스크 별 코스트의 합을 최소화하기 위해 로봇(100)이 수행하기 적합한 태스크에 대응되는 태스크 정보를 획득할 수 있다.
구체적으로, 프로세서(140)는 로봇(100)이 '서빙' 태스크, 제1 타 로봇(200)은 '식기 정리' 태스크를 수행하며, 로봇(100) 인근에서 '빈 접시 발견' 이벤트가 발생한 것에 대응되는 통합 컨텍스트 데이터 및 컨스턴트 데이터를 태스크 할당 알고리즘에 입력할 수 있다. 빈 접시는 제1 타 로봇(200) 보다 로봇(100)에서 가까이 위치하지만, 서빙 태스크를 수행하는 로봇(100)이 빈 접시를 수거하는 것보다는 식기 정리 태스크를 수행하는 제1 타 로봇(200)이 빈 접시를 수거하는 것이 복수의 로봇(100, 200, 300)의 협업 시나리오에 보다 적합할 수 있으므로, 프로세서(140)는 태스크 할당 알고리즘을 통해 빈 접시를 수거하는 태스크에 관한 정보를 제1타 로봇(200)에 대한 태스크 정보로 획득할 수 있다.
또한, 프로세서(140)는 획득한 태스크 정보에 기초하여 사용자에게 서비스를 제공할 수 있다(S80). 구체적으로, 프로세서(140)는 태스크 정보에 기초하여 로봇(100)이 사용자에게 제공할 서비스에 대응되는 동작을 수행하도록 구동부(120)를 제어할 수 있다.
상술한 로봇(100)의 통합 컨텍스트 데이터 식별 및 태스크 정보 획득 동작은 반복하여 이루어질 수 있다. 일 예에 따르면 프로세서(140)는 태스크 정보 획득 이후 기 설정된 시간이 지나면 다시 통합 컨텍스트 데이터를 식별하고, 그에 기초하여 새로운 태스크 정보를 획득하여 새로운 태스크 정보에 기초한 서비스를 제공할 수 있다. 다만, 이는 일 예에 불과하며 프로세서(140)는 로봇(100)이 새롭게 획득한 컨텍스트 데이터(A)에 중요 이벤트와 관련된 정보가 포함된 것에 기초하여 통합 컨텍스트 데이터 식별 및 태스크 정보 획득 동작을 수행할 수도 있다.
한편, 본 개시의 일 실시 예에 따른 제1 타 로봇(200) 역시 로봇(100)과 마찬가지로 컨텍스트 데이터(B)를 획득할 수 있다(S11). 관리 서버에 문제가 생긴 경우 제1 타 로봇(200)은 관리 서버로부터 에러 발생을 나타내는 신호를 수신할 수 있다(S21).
또한, 제1 타 로봇(200)은 로봇(100)으로부터 컨텍스트 데이터(A)를 수신하고, 그와 별개로 스스로 획득한 컨텍스트 데이터(B)를 로봇(100) 및 제2 타 로봇(300)로 전송할 수 있다(S31).
제1 타 로봇(200)은 복수의 로봇(100, 200, 300)의 협업 시나리오에 기초하여 제1 타 로봇(200)이 획득한 컨텍스트 데이터(B) 및 로봇(100)으로부터 수신한 컨텍스트 데이터(A) 중 적어도 하나의 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있다.
그러나, 제1 타 로봇(200)이 통합 컨텍스트 데이터를 식별하기 전에 제1 타 로봇(200)이 아닌 다른 로봇(100)으로부터 통합 컨텍스트 데이터를 수신하는 경우 제1 타 로봇(200)은 수신된 통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터가 반영되었는지 여부를 식별할 수 있다(S51).
구체적으로, 제1 타 로봇(200)은 복수의 로봇(100, 200, 300)의 협업 시나리오와 관련된 복수의 요소와 관련하여 통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터(B)에 포함된 복수의 요소에 대응되는 데이터가 전혀 포함되어 있지 않은 경우 통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터가 반영되지 않은 것으로 식별할 수 있다(S51: N). 반대로, 제1 타 로봇(200)은 통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터(B)에 포함된 복수의 요소에 대응되는 데이터가 일부라도 포함되어 있는 경우 통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터가 반영된 것으로 식별할 수 있다(S51: Y).
통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터가 반영되지 않은 것으로 식별되는 경우, 제1 타 로봇(200)은 스스로 획득한 컨텍스트 데이터(B)를 제1 타 로봇에게 통합 컨텍스트 데이터를 전송한 로봇(100)으로 재전송할 수 있다(S61). 이에 따라 로봇(100)이 이후 다시 통합 컨텍스트 데이터를 식별하는 과정에서 제1 타 로봇(200)으로부터 재전송된 컨텍스트 데이터(B)가 고려될 수 있게 된다.
제1 타 로봇(200)은 스스로 획득한 컨텍스트 데이터(B)를 로봇(100)으로 재전송한 경우(S61) 또는 통합 컨텍스트 데이터에 제1 타 로봇(200)이 획득한 컨텍스트 데이터가 반영된 것으로 식별한 경우(S51: Y)에 태스크 할당 알고리즘에 로봇(100)으로부터 수신한 통합 컨텍스트 데이터 및 컨스턴트 데이터를 입력하여 태스크 정보를 획득할 수 있다(S71).
또한, 제1 타 로봇(200)은 획득된 태스크 정보에 기초하여 사용자에게 서비스를 제공할 수 있다(S81).
한편, 본 개시의 일 실시 예에 따른 제2 타 로봇(300)은 로봇(100) 및 제1 타 로봇(200)과는 달리 컨텍스트 데이터를 획득하지 않는 로봇일 수 있다. 구체적으로, 제2 타 로봇(300)은 기존에 사용자에게 서비스를 제공하는 상태가 아닌 대기 상태인 로봇으로 센서(110)를 통해 컨텍스트 데이터를 획득하지 않을 수 있다.
제2 타 로봇(300)은 관리 서버로부터 에러 발생을 나타내는 신호를 수신할 수 있다(S22). 이어서 제2 타 로봇(300)는 로봇(100) 및 제1 타 로봇(200)으로부터 복수의 컨텍스트 데이터(A, B)를 수신할 수 있다.
또한, 제2 타 로봇(300)은 수신된 복수의 x컨텍스트 데이터에 기초하여 협업 시나리오와 관련된 통합 컨텍스트 데이터를 식별할 수 있다(S42). 구체적으로, 제2 타 로봇(300)은 로봇(100)으로부터 수신한 컨텍스트 데이터(A) 및 제1 타 로봇(200)으로부터 수신한 컨텍스트 데이터(B) 중 복수의 로봇(100, 200, 300)의 협업 시나리오와 관련된 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 통합 컨텍스트 데이터로 식별할 수 있다.
또한, 제2 타 로봇(300)은 로봇(100)으로부터 수신된 통합 컨텍스트 데이터 및 제2 타 로봇(300)이 식별한 통합 컨텍스트 데이터 중 우선 순위가 높은 컨텍스트 데이터를 식별할 수 있다(S52). 로봇(100) 및 제2 타 로봇(300)이 통합 컨텍스트 데이터 식별에 사용하는 컨텍스트 데이터(A, B) 및 통합 컨텍스트 데이터의 식별 방식이 동일하기 때문에 로봇(100)으로부터 수신된 통합 컨텍스트 데이터와 제2 타 로봇(300)이 식별한 통합 컨텍스트 데이터는 완전히 동일한 데이터를 포함할 수 있다.
다만, 제2 타 로봇(300)은 태스크 할당 알고리즘에 입력할 하나의 통합 컨텍스트 데이터를 식별하기 위하여 로봇(100)으로부터 수신된 통합 컨텍스트 데이터와 제2 타 로봇(300)이 식별한 통합 컨텍스트 데이터 간의 우선 순위에 기초하여 하나의 통합 컨텍스트 데이터를 식별할 수 있다.
일 예에 따른 제2 타 로봇(300)은 로봇(100)으로부터 통합 컨텍스트 데이터를 수신한 시점이 제2 타 로봇(300) 스스로 통합 컨텍스트 데이터를 식별한 시점보다 앞서는 경우, 로봇(100)으로부터 수신한 통합 컨텍스트가 높은 우선 순위를 갖는 것으로 식별할 수 있다. 반대로, 제2 타 로봇(300)은 제2 타 로봇(300) 스스로 통합 컨텍스트 데이터를 식별한 시점이 로봇(100)으로부터 통합 컨텍스트 데이터를 수신한 시점보다 앞서는 경우, 제2 타 로봇(300)이 식별한 통합 컨텍스트 데이터가 높은 우선 순위를 갖는 것으로 식별할 수 있다.
또한, 제2 타 로봇(300)은 태스크 할당 알고리즘에 컨스턴트 데이터 및 우선 순위가 높은 것으로 식별된 컨텍스트 데이터를 입력하여 태스크 정보를 획득할 수 있다(S72).
또한, 제2 타 로봇(300)은 획득된 태스크 정보에 기초하여 사용자에게 서비스를 제공할 수 있다(S82).
상술한 바와 같이, 복수의 로봇(100, 200, 300)은 동일한 통합 컨텍스트 데이터 및 동일한 태스크 할당 알고리즘을 활용하여 각 로봇에 대응되는 태스크 정보를 획득하여 서비스를 제공하므로, 복수의 로봇(100, 200, 300)의 협업 시나리오에서 서로 겹치는 태스크 없이 각 로봇이 수행하기 적합한 태스크가 각 로봇에게 할당될 수 있으므로 사용자의 편의가 제고될 수 있다.
도 3a 내지 도 3c는 본 개시의 일 실시 예에 따른 복수의 로봇들 간의 협업에 대해 설명하기 위한 도면이다.
도 3a에 따르면, 식당(301)에 배치된 복수의 로봇(310, 320, 330)은 협업 시나리오에 기초하여 서비스를 제공할 수 있다. 예를 들어, 로봇 1(310)은 서빙(311), 로봇 2(320)는 퇴식(321), 로봇 3(330)은 패트롤(331)에 대응되는 태스크를 수행할 수 있다.
복수의 로봇(310, 320, 330)은 각각의 식별 데이터를 포함하는 컨스턴트 데이터 및 각 로봇의 위치 정보 및 외부 오브젝트에 관련된 데이터를 포함하는 컨텍스트 데이터를 저장할 수 있다. 여기서, 각 로봇이 저장하고 있는 컨텍스트 데이터는 지속적으로 업데이트되는 데이터를 포함할 수 있다.
복수의 로봇(310, 320, 330)들은 각자 저장하고 있는 컨스턴트 데이터 및 컨텍스트 데이터를 서로 공유할 수 있다. 이에 따라 복수의 로봇(310, 320, 330) 모두는 각 로봇의 위치정보 및 외부 오브젝트에 관련된 정보를 공유할 수 있다.
도 3b에 따르면, 식당(301)에서 서비스를 제공하는 로봇 1(310)은 빈 접시(340)를 식별할 수 있다. 이 경우, 로봇 1(310)은 사용자가 위치하지 않은 테이블에 놓인 접시(340)를 빈 접시로 식별하고, 해당 접시(340)를 퇴식 태스크의 객체로 식별하는 내용의 컨텍스트 데이터(341)를 획득할 수 있다.
여기서, 로봇 2(320)는 로봇 1(310)로부터 수신한 컨텍스트 데이터(341) 및 스스로 획득한 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 획득할 수 있다.
도 3c에 따르면, 로봇 2(320)는 통합 컨텍스트 데이터를 태스크 할당 알고리즘에 입력하여 로봇 2(320)에 대응되는 태스크 정보를 획득할 수 있다. 구체적으로, 로봇 2(320)는 복수의 로봇(310, 320, 330) 각각의 현재 태스크 식별, 외부 오브젝트(340)의 상황 식별 및 복수의 로봇(310, 320, 330)의 태스크 별 코스트 식별에 기초하여 로봇 2(320) 스스로 접시(340)를 대상으로 퇴식 태스크를 수행하는 내용의 태스크 정보를 획득하고, 획득된 태스크 정보에 기초하여 퇴식 태스크를 수행할 수 있다. 로봇 1(310)이 로봇 2(320)보다 접시(340)에 가까이 위치하고 있더라도, 현재 퇴식 태스크를 수행중인 로봇 2(320)가 접시(340)를 대상으로 퇴식 태스크를 계속해서 수행하는 것이 복수의 로봇(310, 320, 330)의 태스크 별 코스트의 합을 최소화시킬 수 있기 때문이다.
도 4a 내지 도 4c는 본 개시의 일 실시 예에 따른 복수의 로봇들 간의 협업에 대해 설명하기 위한 도면이다.
도 4a에 따르면, 호텔(400)에 배치된 복수의 로봇(410, 420, 430)은 협업 시나리오에 기초하여 서비스를 제공할 수 있다. 예를 들어, 로봇 1(410)은 세탁물 운반(411), 로봇 2(420)는 가이드(421), 로봇 3(430)은 세탁물 운반(431)에 대응되는 태스크를 수행할 수 있다.
복수의 로봇(410, 420, 430)은 호텔(400)에 위치한 구조물(440, 450) 및 제1 사용자(10)에 대한 컨텍스트 데이터를 획득할 수 있다. 예를 들어, 복수의 로봇(410, 420, 430)의 로봇은 로봇 2(420)로부터 서비스를 제공받는 제1 사용자에 대한 정보(11) 및 401호와 402호의 객실 문(440, 450)이 현재 폐쇄 상태에 있다는 정보(441, 451)를 획득 내지 공유할 수 있다.
도 4b에 따르면, 로봇 2(420)는 402호의 객실 문(450)이 개방 상태로 변경되었다는 정보(452) 및 제2 사용자(20)에 관한 정보(21)를 포함하는 컨텍스트 데이터를 획득하고 획득한 컨텍스트 데이터를 로봇 1(410) 및 로봇 3(430)으로 전송할 수 있다. 다른 실시 예에 따르면, 로봇 2(420)는 로봇 1(410) 및 로봇 3(430)으로부터 수신한 컨텍스트 데이터 및 스스로 획득한 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 획득하고, 획득된 통합 컨텍스트 데이터를 로봇 1(410) 및 로봇 3(430)으로 전송할 수도 있다.
도 4c에 따르면, 복수의 로봇(410, 420, 430)은 타 로봇으로부터 수신한 컨텍스트 데이터 및 스스로 획득한 컨텍스트 데이터에 기초하여 통합 컨텍스트 데이터를 획득하고, 획득한 통합 컨텍스트 데이터를 태스크 할당 알고리즘에 입력하여 각 로봇에 대응되는 태스크 정보를 획득할 수 있다.
로봇 2(420)가 제2 사용자(20)의 퇴실로 인해 청소 태스크의 대상이 된 402호 객실(450)과 가장 가까이 위치한 로봇이지만, 로봇 2(420)가 현재 제1 사용자(10)에 대한 가이드 태스크를 수행하고 있다는 점에 기초하여, 로봇 1(410)이 402호 객실(450)을 대상으로 하는 청소 태스크에 대응되는 로봇으로 식별될 수 있다.
따라서, 로봇 1(410)은 통합 컨텍스트 데이터를 태스크 할당 알고리즘에 입력한 결과 402호 객실(450)을 대상으로 하는 청소 태스크에 대응되는 태스크 정보(412)를 획득하고, 획득된 태스크 정보에 기초하여 청소 태스크를 수행할 수 있다. 또한, 로봇 2(420)는 기존의 가이드 태스크를 지속할 수 있다.
또한, 로봇 3(430)은 통합 컨텍스트 데이터를 태스크 할당 알고리즘에 입력하여 로봇 1(410)이 운반하던 세탁물을 인수하여 세탁물을 한꺼번에 운반하는 내용의 태스크 정보를 획득하고, 획득된 태스크 정보에 기초하여 기존의 세탁물 운반 태스크를 지속할 수 있다.
도 5a 내지 도 5c는 본 개시의 일 실시 예에 따른 복수의 로봇들 간의 협업에 대해 설명하기 위한 도면이다.
도 5a에 따르면, 복도(500)에 배치된 복수의 로봇(510, 520)은 협업 시나리오에 기초하여 서비스를 제공할 수 있다. 예를 들어, 통상의 업무를 수행(511)하는 로봇 1(510)은 통상의 업무에 대응되는 태스크 정보에 기초하여 획득된 이동 경로(501)를 따라 이동할 수 있다. 한편, 로봇 2(520)는 대기 상태(521)에 있을 수 있다.
도 5b에 따르면, 통상의 업무를 수행하는 로봇 1(510)은 복도(500)의 일 측에서 발생한 긴급 상황(530)에 대응되는 컨텍스트 데이터(531)를 획득할 수 있다. 로봇 1(510)은 획득한 컨텍스트 데이터(531)를 로봇 2(520)로 전송할 수 있다. 로봇 1(510)로부터 수신한 컨텍스트 데이터에는 긴급 상황 정보(531)가 포함되어 있으므로, 로봇 2(520)는 로봇 1(510)로부터 수신한 컨텍스트 데이터에 기초하여 긴급 상황(530)에 대한 정보를 포함하는 통합 컨텍스트 데이터를 획득할 수 있다.
도 5c에 따르면, 로봇 2(520)는 긴급 상황(530)에 대한 정보를 포함하는 통합 컨텍스트 데이터 및 각 로봇(510, 520)의 컨스턴트 데이터를 태스크 할당 알고리즘에 입력하여 로봇 2(520)에 대응되는 태스크 정보를 획득할 수 있다. 예를 들어, 로봇2(520)의 스펙 또는 기능이 로봇 1(510)의 스펙 또는 기능보다 긴급 상황(530)에 대처하기 적합할 경우, 로봇 2(520)는 긴급 상황(530)이 발생한 지점에 가까운 로봇 1(510)에 우선하여 긴급 상황(530)을 처리하는 태스크를 할당 받아 이에 대응되는 긴급 업무(522)를 수행할 수 있다.
보다 구체적으로, 로봇 2(520)에 대응되는 태스크 정보에는 로봇 2(520)가 긴급 상황(530)이 발생한 지점까지 이동하게 될 경로(502)에 관한 정보가 포함될 수 있으며, 로봇 2(520)는 태스크 별 우선 순위 정보를 포함하는 컨스턴트 데이터 및 통합 컨텍스트 데이터를 태스크 할당 알고리즘에 입력하여 로봇 2(520)의 위치로부터 긴급 상황(530)이 발생한 지점까지 이동하는 최단 경로(502)에 관한 정보를 포함하는 태스크 정보를 획득할 수 있다.
또한, 로봇 1(510)는 스스로 획득하거나 로봇 2(520)로부터 수신한 통합 컨텍스트 데이터 및 컨스턴트 데이터를 태스크 할당 알고리즘에 입력하여 획득된 태스크 정보에 기초하여 기존의 통상 업무 태스크(511)를 지속할 수 있다. 다만, 로봇 1(510)이 수행할 통상 업무(511)는 로봇 2(520)가 수행할 긴급 업무(522)보다 우선 순위가 낮은 태스크이므로, 로봇 1(510)의 이동 경로는 기존의 경로(501)에서 변경 경로(503)로 수정될 수 있다.
이를 통해 복도(500)에 배치된 복수의 로봇(510, 520)은 긴급 상황(530)을 처리하기 적합한 로봇(520)이 신속하게 이동할 수 있는 협업 시나리오에 기초하여 사용자에게 최적의 서비스를 제공할 수 있게 된다.
도 6은 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 도면이다.
도 6에 따르면 로봇(100)는 센서(110), 구동부(120), 통신 인터페이스(130), 프로세서(140), 디스플레이(150), 메모리(160) 및 사용자 인터페이스(170)를 포함할 수 있다. 도 6에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
디스플레이(150)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, QLED(Quantum dot light-emitting diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(150) 내에는 TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(150)는 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
일 예에 따른 디스플레이(150)는 로봇(100)이 제공하는 서비스와 관련된 정보 또는 해당 정보를 포함하는 UI(User Interface)를 표시할 수 있다.
메모리(160)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(160)는 데이터 저장 용도에 따라 로봇(100)에 임베디드된 메모리 형태로 구현되거나, 로봇(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100)의 구동을 위한 데이터의 경우 로봇(100)에 임베디드된 메모리에 저장되고, 로봇(100)의 확장 기능을 위한 데이터의 경우 로봇(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 로봇(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따른 메모리(160)는 복수의 로봇 중 적어도 하나의 로봇에 대응되는 컨스턴트 데이터 및 로봇(100)이 획득한 컨텍스트 데이터 또는 타 로봇으로부터 수신한 컨텍스트 데이터 중 적어도 하나를 저장할 수 있다. 또한, 메모리(160)는 기 설정된 태스크 할당 알고리즘 및 컨스턴트 데이터와 컨텍스트 데이터를 태스크 할당 알고리즘에 입력하여 획득되는 태스크 정보를 저장할 수도 있다.
사용자 인터페이스(170)는 로봇(100)이 사용자와 인터렉션(Interaction)을 수행하는 데 관여하는 구성이다. 예를 들어 사용자 인터페이스(170)는 터치 센서, 모션 센서, 버튼, 조그(Jog) 다이얼, 스위치, 마이크 또는 스피커 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.
도 7은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 제어 방법은 센서를 통해 제1 컨텍스트(context) 데이터를 획득한다(S710).
이어서, 적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 수신한다(S720).
이어서, 로봇 및 타 로봇의 협업 시나리오에 기초하여 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 식별한다(S730).
이어서, 협업과 관련된 기 설정된 태스크 할당 알고리즘에 식별된 적어도 하나의 컨텍스트 데이터를 입력하여 로봇에 대응되는 태스크 정보를 획득한다(S740).
마지막으로, 획득된 태스크 정보에 기초하여 로봇을 구동한다(S750).
여기서, 태스크 정보를 획득하는 단계(S740)에서는 식별된 적어도 하나의 컨텍스트 데이터 및 로봇의 컨스턴트(constant) 데이터에 기초하여 로봇에 대응되는 태스크 정보를 획득하고, 컨스턴트 데이터는 로봇의 식별 정보, 로봇의 스펙 정보, 로봇의 기능 정보, 로봇이 위치한 공간에 대응되는 맵 정보 및 태스크 별 우선 순위 정보 중 적어도 하나를 포함할 수 있다.
또한, 컨텍스트 데이터를 식별하는 단계(S730)에서는 로봇 및 타 로봇의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 중 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 식별하고, 태스크 정보를 획득하는 단계(S740)에서는 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 기 설정된 태스크 할당 알고리즘에 입력하여 로봇에 대응되는 태스크 정보를 획득할 수 있다.
여기서, 컨텍스트 데이터를 식별하는 단계(S730)에서는 제1 컨텍스트 데이터 및 제2 컨텍스트 데이터 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 복수의 요소 각각의 타입에 대응되는 컨텍스트 데이터를 식별할 수 있다.
또한, 복수의 요소는 외부 오브젝트의 타입 정보, 외부 오브젝트의 위치 정보, 로봇의 위치 정보 또는 긴급 상황 정보 중 적어도 하나를 포함할 수 있다.
또한, 기 설정된 태스크 할당 알고리즘은 로봇 및 타 로봇의 현재 태스크 식별, 외부 오브젝트의 상황 식별, 로봇 및 타 로봇의 태스크 별 코스트(cost) 식별 중 적어도 하나를 포함하는 알고리즘일 수 있다.
또한, 제어 방법은 제1 컨텍스트 데이터를 적어도 하나의 타 로봇으로 전송하는 단계 및 적어도 하나의 컨텍스트 데이터가 식별되면 식별된 적어도 하나의 컨텍스트 데이터를 적어도 하나의 타 로봇으로 전송하는 단계를 더 포함할 수 있다.
또한, 제어 방법은 적어도 하나의 타 로봇으로부터 협업 시나리오에 기초하여 식별된 컨텍스트 데이터가 수신되면 수신된 컨텍스트 데이터 및 식별된 적어도 하나의 컨텍스트 데이터 중 우선 순위가 높은 컨텍스트 데이터를 기 설정된 태스크 할당 알고리즘에 입력하여 로봇에 대응되는 태스크 정보를 획득하는 단계를 더 포함할 수 있다.
또한, 제어 방법은 제1 컨텍스트 데이터를 적어도 하나의 타 로봇으로 전송하는 단계, 적어도 하나의 타 로봇으로부터 협업 시나리오에 기초하여 식별된 컨텍스트 데이터가 수신되면 제1 컨텍스트 데이터가 수신된 컨텍스트 데이터에 반영되었는지 여부를 식별하는 단계 및 제1 컨텍스트 데이터가 수신된 컨텍스트 데이터에 미 반영된 것으로 식별되면 제1 컨텍스트 데이터를 적어도 하나의 타 로봇으로 재전송하는 단계를 더 포함할 수 있다.
또한, 컨텍스트 데이터를 식별하는 단계(S730)에서는 관리 서버에서 에러 발생을 나타내는 신호가 수신되면 적어도 하나의 컨텍스트 데이터를 식별할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버 또는 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서(140) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇(100)의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해 되어져서는 안될 것이다.

Claims (15)

  1. 로봇에 있어서,
    센서;
    구동부;
    통신 인터페이스; 및
    상기 센서를 통해 제1 컨텍스트(context) 데이터를 획득하고,
    적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 상기 통신 인터페이스를 통해 수신하고,
    상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 식별하고,
    상기 협업과 관련된 기 설정된 태스크 할당 알고리즘에 상기 식별된 적어도 하나의 컨텍스트 데이터를 입력하여 상기 로봇에 대응되는 태스크 정보를 획득하고,
    상기 획득된 태스크 정보에 기초하여 상기 구동부를 제어하는 프로세서;를 포함하는 로봇.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 적어도 하나의 컨텍스트 데이터 및 상기 로봇의 컨스턴트(constant) 데이터에 기초하여 상기 태스크 정보를 획득하고,
    상기 컨스턴트 데이터는,
    상기 로봇의 식별 정보, 상기 로봇의 스펙 정보, 상기 로봇의 기능 정보, 상기 로봇이 위치한 공간에 대응되는 맵 정보 또는 태스크 별 우선 순위 정보 중 적어도 하나를 포함하는, 로봇.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 상기 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 식별하고,
    상기 복수의 요소 각각에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 상기 기 설정된 태스크 할당 알고리즘에 입력하여 상기 태스크 정보를 획득하는, 로봇.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 상기 복수의 요소 각각의 타입에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 식별하는, 로봇.
  5. 제3항에 있어서,
    상기 복수의 요소는,
    외부 오브젝트의 타입 정보, 상기 외부 오브젝트의 위치 정보, 상기 로봇의 위치 정보 또는 긴급 상황 정보 중 적어도 하나를 포함하는, 로봇.
  6. 제1항에 있어서,
    상기 기 설정된 태스크 할당 알고리즘은,
    상기 로봇 및 상기 적어도 하나의 타 로봇의 현재 태스크 식별, 외부 오브젝트의 상황 식별 또는 상기 로봇 및 상기 적어도 하나의 타 로봇의 태스크 별 코스트(cost) 식별 중 적어도 하나를 포함하는 알고리즘인, 로봇.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 적어도 하나의 컨텍스트 데이터가 식별되면, 상기 식별된 적어도 하나의 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 전송하도록 상기 통신 인터페이스를 제어하는, 로봇.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 타 로봇으로부터 상기 협업 시나리오에 기초하여 식별된 타 컨텍스트 데이터가 수신되면, 상기 수신된 타 컨텍스트 데이터 및 상기 식별된 적어도 하나의 컨텍스트 데이터 중 우선 순위가 높은 컨텍스트 데이터를 상기 기 설정된 태스크 할당 알고리즘에 입력하여 상기 태스크 정보를 획득하는, 로봇.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 적어도 하나의 타 로봇으로부터 상기 협업 시나리오에 기초하여 식별된 타 컨텍스트 데이터가 수신되면, 상기 제1 컨텍스트 데이터가 상기 수신된 타 컨텍스트 데이터에 반영되었는지 여부를 식별하고,
    상기 제1 컨텍스트 데이터가 상기 수신된 타 컨텍스트 데이터에 미 반영된 것으로 식별되면, 상기 제1 컨텍스트 데이터를 상기 적어도 하나의 타 로봇으로 재전송하도록 상기 통신 인터페이스를 제어하는, 로봇.
  10. 제1항에 있어서,
    상기 프로세서는,
    관리 서버에서 에러 발생을 나타내는 신호가 수신되면, 상기 협업 시나리오에 기초하여 태스크 할당 기능을 수행하는, 로봇.
  11. 로봇의 제어 방법에 있어서,
    센서를 통해 제1 컨텍스트(context) 데이터를 획득하는 단계;
    적어도 하나의 타 로봇에 의해 획득된 제2 컨텍스트 데이터를 수신하는 단계;
    상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 적어도 하나의 컨텍스트 데이터를 식별하는 단계;
    상기 협업과 관련된 기 설정된 태스크 할당 알고리즘에 상기 식별된 적어도 하나의 컨텍스트 데이터를 입력하여 상기 로봇에 대응되는 태스크 정보를 획득하는 단계; 및
    상기 획득된 태스크 정보에 기초하여 상기 로봇을 구동하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 태스크 정보를 획득하는 단계는,
    상기 식별된 적어도 하나의 컨텍스트 데이터 및 상기 로봇의 컨스턴트(constant) 데이터에 기초하여 상기 태스크 정보를 획득하고,
    상기 컨스턴트 데이터는,
    상기 로봇의 식별 정보, 상기 로봇의 스펙 정보, 상기 로봇의 기능 정보, 상기 로봇이 위치한 공간에 대응되는 맵 정보 또는 태스크 별 우선 순위 정보 중 적어도 하나를 포함하는, 제어 방법.
  13. 제11항에 있어서,
    상기 컨텍스트 데이터를 식별하는 단계는,
    상기 로봇 및 상기 적어도 하나의 타 로봇의 협업 시나리오와 관련된 복수의 요소 별 타입에 기초하여 상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 중 상기 복수의 요소 각각에 대응되는 적어도 하나의 컨텍스트 데이터를 식별하고,
    상기 태스크 정보를 획득하는 단계는,
    상기 복수의 요소 각각에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 상기 기 설정된 태스크 할당 알고리즘에 입력하여 상기 태스크 정보를 획득하는, 제어 방법.
  14. 제13항에 있어서,
    상기 컨텍스트 데이터를 식별하는 단계는,
    상기 제1 컨텍스트 데이터 및 상기 제2 컨텍스트 데이터 각각의 획득 시점, 유사도 여부 또는 긴급 상황 정보 포함 여부 중 적어도 하나에 기초하여 상기 복수의 요소 각각의 타입에 대응되는 상기 적어도 하나의 컨텍스트 데이터를 식별하는, 제어 방법.
  15. 제13항에 있어서,
    상기 복수의 요소는,
    외부 오브젝트의 타입 정보, 상기 외부 오브젝트의 위치 정보, 상기 로봇의 위치 정보 또는 긴급 상황 정보 중 적어도 하나를 포함하는, 제어 방법.
PCT/KR2022/008739 2021-08-26 2022-06-21 로봇 및 그 제어 방법 WO2023027310A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/974,941 US20230066945A1 (en) 2021-08-26 2022-10-27 Robot and controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0113506 2021-08-26
KR1020210113506A KR20230031085A (ko) 2021-08-26 2021-08-26 로봇 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/974,941 Continuation US20230066945A1 (en) 2021-08-26 2022-10-27 Robot and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2023027310A1 true WO2023027310A1 (ko) 2023-03-02

Family

ID=85321835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/008739 WO2023027310A1 (ko) 2021-08-26 2022-06-21 로봇 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230031085A (ko)
WO (1) WO2023027310A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4713846B2 (ja) * 2004-04-30 2011-06-29 独立行政法人科学技術振興機構 ロボット遠隔制御システム
KR20150061398A (ko) * 2013-11-27 2015-06-04 한국전자통신연구원 군집 로봇의 협력 청소 방법 및 제어 장치
KR101668078B1 (ko) * 2015-04-23 2016-10-19 국방과학연구소 자율적 로봇 협업 시스템과 그 방법
US20160354923A1 (en) * 2012-02-07 2016-12-08 Google Inc. Systems and Methods for Allocating Tasks to a Plurality of Robotic Devices
KR20200054351A (ko) * 2018-11-02 2020-05-20 주식회사 케이티 로봇 협업 제어 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4713846B2 (ja) * 2004-04-30 2011-06-29 独立行政法人科学技術振興機構 ロボット遠隔制御システム
US20160354923A1 (en) * 2012-02-07 2016-12-08 Google Inc. Systems and Methods for Allocating Tasks to a Plurality of Robotic Devices
KR20150061398A (ko) * 2013-11-27 2015-06-04 한국전자통신연구원 군집 로봇의 협력 청소 방법 및 제어 장치
KR101668078B1 (ko) * 2015-04-23 2016-10-19 국방과학연구소 자율적 로봇 협업 시스템과 그 방법
KR20200054351A (ko) * 2018-11-02 2020-05-20 주식회사 케이티 로봇 협업 제어 방법 및 시스템

Also Published As

Publication number Publication date
KR20230031085A (ko) 2023-03-07

Similar Documents

Publication Publication Date Title
WO2016060480A1 (en) Electronic device and method for spoken interaction thereof
WO2015111790A1 (en) Smart watch, display device and method of controlling therefor
WO2015012441A1 (en) Digital device and control method thereof
WO2014038898A1 (en) Transparent display apparatus and object selection method using the same
WO2015133847A1 (en) Method and apparatus for detecting user input in an electronic device
WO2015016579A1 (en) Method for deciding location of target device and electronic device thereof
EP3011551A1 (en) Foldable display device and method of controlling therefor
WO2021149883A1 (en) Electronic apparatus and controlling method thereof
WO2015046681A1 (en) Digital device and method for controlling the same
WO2015156623A1 (en) Electronic device and method for providing environment information
WO2023027310A1 (ko) 로봇 및 그 제어 방법
WO2020241973A1 (en) Display apparatus and control method thereof
WO2023096151A1 (ko) 로봇 및 그 제어 방법
WO2012015091A1 (ko) 서비스 존에서 제공되는 서비스 정보를 표시하기 위한 장치 및 방법
WO2019203443A1 (ko) 근거리 통신을 이용하여 디바이스들을 페어링하는 방법 및 이를 사용하는 전자 장치
WO2022225135A1 (ko) 로봇, 로봇 및 사용자 단말을 포함하는 시스템 및 그 제어 방법
WO2022060023A1 (ko) 전자 장치 및 그 제어 방법
WO2013022154A1 (en) Apparatus and method for detecting lane
WO2020159111A1 (ko) 엣지 컴퓨팅 환경에서 데이터를 전처리하는 전자 장치 및 그 제어 방법
WO2017003152A1 (en) Apparatus and method for controlling object movement
WO2023038284A1 (ko) 로봇 및 그 제어 방법
WO2018199445A1 (ko) 전파 맵 생성 장치 및 방법
WO2021230421A1 (ko) 외부 장치로부터 획득된 정보를 바탕으로 통신 그룹의 장치에게 신호를 송신 또는 수신하는 전자 장치 및 이의 제어 방법
WO2023003158A1 (ko) 로봇 및 그 제어 방법
WO2023008720A1 (ko) 로봇 및 그 제어 방법

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: 22861524

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE