Patent ID: 12257715

Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures.

BEST MODE FOR IMPLEMENTING THE DISCLOSURE

The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.

The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the disclosure. Accordingly, it should be apparent to those skilled in art that the following description of various embodiments of the disclosure is provided for illustration purpose only and not for the purpose of limiting the disclosure as defined by the appended claims and their equivalents.

It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.

In the application, the terms “include” and “comprise” designate the presence of features, numbers, operations, components, elements, or a combination thereof that are written in the specification, but do not exclude the presence or possibility of addition of one or more other features, numbers, operations, components, elements, or a combination thereof.

The expression at least one of A and/or B represents any one of either “A” or “B” or “A and B”.

The expression “1”, “2”, “first”, or “second” as used herein may modify a variety of elements, irrespective of order and/or importance thereof, and only to distinguish one element from another. Accordingly, without limiting the corresponding elements.

When an element (e.g., a first element) is “operatively or communicatively coupled with/to” or “connected to” another element (e.g., a second element), an element may be directly coupled with another element or may be coupled through the other element (e.g., a third element).

In the application, the terms “include” and “comprise” designate the presence of features, numbers, operations, components, elements, or a combination thereof that are written in the specification, but do not exclude the presence or possibility of addition of one or more other features, numbers, operations, components, elements, or a combination thereof.

In the disclosure, a ‘module’ or a ‘unit’ performs at least one function or operation and may be implemented by hardware or software or a combination of the hardware and the software. In addition, a plurality of ‘modules’ or a plurality of ‘units’ may be integrated into at least one module and may be at least one processor except for ‘modules’ or ‘units’ that should be realized in a specific hardware.

In the disclosure, the “user” may refer to a person who receives a service from a robot, but is not limited thereto.

FIG.1is a view illustrating a service providing process of a robot according to an embodiment of the disclosure.

A robot100according to an embodiment of the disclosure may be disposed at a specific space, and provide a variety of services to users who have visited the space. Specifically, the robot100may provide a service corresponding to at least one of route guidance, serving, and cleaning to the user, but is not limited thereto.

In addition, at least one other robot200or300including the robot100may be disposed in a specific space, and the robot100and at least one other robot200or300may provide a service to the user through mutual collaboration. Here, a service provision through collaboration may refer to an operation in which the robot100and at least one other robot200or300provide services corresponding to different task information to the user.

At least one other robot200or300may be a robot having the same specification as the robot100, or may be a robot that has a different specification from the robot100. The at least one other robot200or300may be a robot that provides the user with a service corresponding to task information different from the task information acquired by the robot100.

Referring toFIG.1, at least one other robot200or300is illustrated as a first other robot200and a second other robot300, respectively. As shown inFIG.1, a total of three robots100,200, and300may be disposed in a specific space, but the disclosure is not limited thereto, and a larger number of robots may collaborate to provide a service to the user.

According to an embodiment, the plurality of robots100,200,300may be controlled by a management server. Specifically, the management server may receive data acquired by the plurality of robots100,200and300, and task information corresponding to the plurality of robots100,200and300based on the received data. In addition, the management server may control service provision of the robots100,200,300by transmitting the acquired task information to the plurality of robots100,200and300.

However, when an error occurs in the server managing the plurality of robots100,200and300, the plurality of robots100,200and300may acquire task information corresponding to each robot based on data collected by each robot without intervention of the server, and provide a service based on the acquired task information.

FIG.2is a view illustrating a configuration of a robot according to an embodiment of the disclosure.

Referring toFIG.2, the robot100may include a sensor110, a driver120, a communication interface130, and a processor140.

The sensor110may, for example, measure a physical quantity or detect an operational state of the robot100, and convert the measured or detected information into an electrical signal. The sensor110may include a camera, the camera may include a lens that focuses visible light and other optical signals reflected and received by an object to an image sensor, and an image sensor capable of detecting the visible light and other optical signals. Here, the image sensor may include a two-dimensional (2D) pixel array divided into a plurality of pixels.

Also, the sensor110may include a microphone. The microphone is a component for collecting input sound by receiving the user's voice and ambient noise signals. Specifically, the microphone is a component that collectively refers to a device that receives sound waves and generates a current of the same waveform. The processor140may 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 processor140may acquire context data including image data or sound data through the sensor110including a camera or a microphone.

In addition, the sensor110may include at least one of a distance sensor, a gesture sensor, a gyro sensor, a pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor (e.g., red, green, blue (RGB) sensor), a biological sensor, a temperature/humidity sensor, a brightness sensor, or an ultra violet (UV) sensor, and the sensor110according to an embodiment may be implemented in the form of a sensor module including at least one or more sensors.

The driver120is a device capable of driving the robot100. The driver120may control a driving direction and a driving speed under a control of the processor140, and the driver according to an embodiment may include a power generating device for generating power for the robot100to drive (e.g., a gasoline engine, a diesel engine, a liquefied petroleum gas (LPG) engine, an electric motor, etc. according to a fuel used (or energy source)), a steering device for controlling a driving direction (e.g., mechanical steering, hydraulic steering, electronic control power steering (EPS), etc.), a driving device for driving the robot100according to power (e.g., wheels, propellers, etc.), or the like. Here, the driver120may be modified according to the embodiment a traveling type (e.g., wheel type, walking type, flight types, etc.) of the robot100.

The communication interface130may input and output various types of data. For example, the communication interface130may transmit and receive external devices (e.g., source devices), external storage media (e.g., universal serial bus (USB) memory), external servers (e.g., web hard drives) and various types of data through communication methods such as access point (AP)-based Wi-Fi (Wi-Fi, wireless local area network (LAN)), Bluetooth, ZigBee, wired/wireless local area network (LAN), wide area network (WAN), Ethernet, IEEE 1394, high-definition multimedia interface (HDMI), universal serial bus (USB), mobile high-definition link (MHL), audio engineering society/European broadcasting union (AES/EBU), Optical, Coaxial, or the like.

The processor140may perform communication with an external server or the other robot by using the communication interface130. Particularly, the processor140may transmit context data to or receive context data from another robot through the communication interface130.

The processor140may generally control the overall operation of the robot100. Specifically, the processor140may be connected to each component of the robot100to control the overall operation of the robot100. For example, the processor140may be connected to the sensor110, the driver120, and the communication interface130to control the operation of the robot100.

According to an embodiment, the processor140may be named various names such as a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a neural processing unit (NPU), a controller, an application processor (AP), but it is described as the processor140in the disclosure.

The processor140may be implemented in a form of a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA). In addition, the processor140may include volatile memory such as static random access memory (SRAM), or the like.

The processor140according to an embodiment of the disclosure may acquire first context data through the sensor110. In addition, the processor140may receive second context data acquired by at least one other robot through the communication interface130, and identify at least one context data as integrated context data among first context data and the second context data based on a collaboration scenario of the robot100and the other robot.

In addition, the processor140may acquire task information corresponding to the robot100based on the identified integrated context data and constant data of the robot100. Here, the constant data may include at least one of identification information of the robot100, specification information of the robot100, function information of the robot100, map information corresponding to a space in which the robot100is located, and priority information for each task.

In addition, the processor140may identify 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 types of a plurality of elements related to the collaboration scenario of the robot100and the other robots. Also, the processor140may acquire task information corresponding to the robot100by inputting integrated context data corresponding to each of the plurality of elements into a predetermined task allocation algorithm.

Here, the processor140may identify context data corresponding to each type of the plurality of elements based on at least one of an acquisition time, similarity, or emergency situation information of each of the first context data and the second context data.

Also, 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 robot100, or emergency situation information.

In addition, the predetermined task allocation algorithm may be an algorithm including at least one of current task identification of the robot100and the other robots, situation identification of external objects, and cost identification of the robot100and the other robots for each task.

In addition, the processor140may control the communication interface130to transmit the first context data to at least one other robot, and control the communication interface130to transmit the identified integrated context data to at least one other robot when the integrated context data is identified.

In addition, when the integrated context data identified based on the collaboration scenario is received from at least one other robot, the processor may input integrated context data having a higher priority among the received integrated context data and the integrated context data identified by the robot100to the predetermined task allocation algorithm and acquire task information corresponding to the robot100.

In addition, the processor140may control the communication interface130to transmit the first context data to at least one other robot, and identify whether the first context data is reflected in the received integrated context data when the integrated context data identified based on the collaboration scenario is received from the at least one other robot. When it is identified that the first context data is not reflected in the received integrated context data, the processor140may control the communication interface130to retransmit the first context data to at least one other robot.

In addition, when a signal indicating an occurrence of an error is received from the management server, the processor140may perform a task allocation function based on a predetermined collaboration scenario.

Meanwhile, a first other robot200and a second other robot300may also include a configuration included in the robot100, and each configuration included in the first other robot200and the second other robot300may be the same as or similar to a function or operation of a configuration included in the robot100, but is not limited thereto.

Referring back toFIG.1, the processor140may acquire context data A through the sensor110at operation S10. Here, the context data A may include at least one of location information of the robot100, information related to an external object, and emergency situation information, but is not limited thereto.

Specifically, the context data A may include data related to an event occurring at a specific location within a range that the robot100can sense through the sensor110. For example, when the robot100provides a service corresponding to “serving”, the context data A may include data corresponding to an “order” event occurring in the vicinity of the robot100. In addition, when the robot100provides a service corresponding to “cleaning”, the context data A may include data corresponding to a “pollution source occurrence” event occurring in the vicinity of the robot100.

The processor140may receive a signal indicating the occurrence of an error from the management server through the communication interface130at operation S20. In addition, the processor140may control the communication interface130to transmit the context data A acquired through the sensor110to the first other robot200and the second other robot300based on receiving a signal indicating the occurrence of an error from the management server at operation S30.

In addition, the processor140may receive the context data acquired by at least one other robot200or300through the communication interface130. Referring toFIG.1, the processor140may receive context data B acquired from the first other robot200through the communication interface130. Accordingly, the robot100may acquire data on an event occurred from at least one location within a range that the robot100and the first other robot200can sense through the sensor110.

The processor140may identify one of the context data A acquired by the robot100based on the collaboration scenario of the robot100and at least one other robot and the context data B received from the first other robot200. Specifically, the processor140may identify at least one context data corresponding to each of a plurality of elements among the context data A and the context data B based on the type of the plurality of elements related to the collaboration scenario of the plurality of robots100,200and300at operation S40.

The collaboration scenario may refer to a scenario for minimizing a sum of costs for each task performed by the plurality of robots100,200and300, in the process of providing a service to the user by the plurality of robots100,200and300in relation to at least one event occurring in a specific space, but is not limited thereto.

Here, the plurality of elements related to the collaboration scenario may include, but are not limited to, an element related to at least one of location information of the plurality of robots100,200and300, information related to an external object, or emergency information. For example, the processor140may identify context data corresponding to each type of the plurality of elements related to the collaboration scenario as integrated context data, based on at least one of an acquisition time of each of the context data A and the context data B, whether or not similarity or emergency information is included, but is not limited thereto.

The processor140according to an example may identify at least one context data related to the collaboration scenario as integrated context data based on a similarity of at least one context data with respect to one element among the plurality of elements related to the collaboration scenario. For example, when the at least one context data includes data related to an event corresponding to “external object identification”, the processor140may identify integrated context data including at least one context data having a high similarity with other context data among at least one context data in relation to an element related to a collaboration scenario called “type of external object”.

More specifically, when the processor140identifies integrated context data based on a total of three context data, two context data may include data corresponding to “type of external object: human”, and when the remaining one context data includes data corresponding to “type of external object: obstacle”, the processor140may identify the integrated context data based on the type of external object being “human”.

However, when there is a possibility that an emergency situation has occurred, since the robot100is required to provide a service corresponding to the emergency situation preferentially, the processor140may identify the integrated context data based on the corresponding context data, when emergency situation information is included in the context data corresponding to “type of external object: obstacle”, which has a low similarity to other context data. Accordingly, the processor140may identify the integrated context data based on the emergency caused by the obstacle.

In addition, when the integrated context data cannot be identified based on the similarity of each of the context data, the processor140may identify the integrated context data based on the most recently acquired context data. For example, when the processor140identifies the integrated context data based on a total of two context data, a firstly acquired context data may include data corresponding to “location of external object: aisle”, when the context data acquired later includes data corresponding to “location of external object: door”, the processor140may identify the integrated context data based on the user being located near the door.

The processor140may control the communication interface130to transmit the identified integrated context data to the first other robot200and the second other robot300at operation S50. In addition, the processor140may acquire task information corresponding to the robot100by inputting constant data and integrated context data to the task allocation algorithm at operation S70.

Here, the constant data may include at least one of identification information of the robot100, specification information of the robot100, function information of the robot100, map information corresponding to a space in which the robot100is located, and priority information for each task, but is not limited thereto, and any data that does not change regardless of an event occurring in space may be included in the constant data. The constant data may be stored in a memory included in the plurality of robots100,200and300, and may use, if necessary, the constant data integrated by transmitting and receiving constant data between the plurality of robots100,200and300.

The task allocation algorithm according to an example may be an algorithm including at least one of current task identification of the robot100and at least one other robot200or300, identification of an external object situation, and a cost identification for each task of the plurality of robots100,200and300. The task allocation algorithm may be stored in the memory included in the plurality of robots100,200and300, and the plurality of robots100,200and300may communicate, if necessary, with an external server to update a pre-stored task allocation algorithm with a new task allocation algorithm.

The processor140according to an example may identify a current task of the robot100through the task allocation algorithm and check a situation related to an external object. In addition, the processor140may acquire task information corresponding to a task suitable to be performed by the robot100to minimize the sum of costs for each task performed by the plurality of robots100,200and300in relation to the collaboration scenario of the plurality of robots100,200and300.

Specifically, the processor140may input integrated context data corresponding to a situation in which the robot100performs a “serving” task, the first other robot200performs a “clean up plates” task, and an event “empty plate is discovered” occurs near the robot100, and constant data into the task allocation algorithm. The empty plate is located closer to the robot100than the first other robot200, rather than the robot100performing the serving task collects empty plates, collecting empty plates by the first other robot200performing a cleaning up task may be more suitable for the collaboration scenario of the plurality of robots100,200and300, the processor140may acquire information on the task of collecting empty plates as task information on the first other robot200through the task allocation algorithm.

Also, the processor140may provide a service to the user based on the acquired task information at operation S80. Specifically, the processor140may control the driver120to perform an operation corresponding to the service to be provided to the user by the robot100based on the task information.

The operation of identifying integrated context data and acquiring task information described above of the robot100may be repeated. According to one example, the processor140may provide a service based on new task information by re-identifying the integrated context data after a predetermined time has elapsed after acquiring the task information, and acquiring new task information based thereon. However, this is only an example, and the processor140may perform integrated context data identification and task information acquisition operation based on information related to an important event included in the context data A newly acquired by the robot100.

Meanwhile, the first other robot200according to an embodiment of the disclosure may also acquire the context data B like the robot100at operation S11. When a problem occurs in the management server, the first other robot200may receive a signal indicating the occurrence of an error from the management server at operation S21.

In addition, the first other robot200may receive the context data A from the robot100, and transmit the context data B acquired by itself to the robot100and the second other robot300at operation S31.

The first other robot200may identify at least one context data of the context data B acquired by the first other robot200based on the collaboration scenario of the plurality of robots100,200and300and the context data A received from the robot100as integrated context data.

However, when the first other robot200receives integrated context data from the other robot100other than the first other robot200before identifying the integrated context data, the first other robot200may identify whether the context data acquired by the first other robot200is reflected in the received integrated context data at operation S51.

Specifically, when data corresponding to a plurality of elements included in the context data B acquired by the first other robot200is not included in the integrated context data in relation to a plurality of elements related to the collaboration scenario of the plurality of robots100,200and300at all, the first other robot200may identify that the context data acquired by the first other robot200is not reflected in the integrated context data at operation S51: N. Meanwhile, when the integrated context data includes at least some data corresponding to the plurality of elements included in the context data B acquired by the first other robot200, the first other robot200may identify that the context data acquired by the first other robot200is reflected in the integrated context data at operation S51: Y.

When it is identified that the context data acquired by the first other robot200is not reflected in the integrated context data, the first other robot200may retransmit the context data (B) acquired by itself to the robot100that has transmitted the integrated context data to the first other robot at operation S61. Accordingly, the context data (B) retransmitted from the first other robot200may be considered in the process of the robot100re-identifying the integrated context data thereafter.

When the first other robot200retransmit the context data (B) acquired by itself to the robot100at operation S61or the context data acquired by the first other robot200is reflected in the integrated context data at operation S51: Y, task information may be acquired by inputting the integrated context data and constant data received from the robot100to the task allocation algorithm at operation S71.

Also, the first other robot200may provide a service to the user based on the acquired task information at operation S81.

Meanwhile, the second other robot300according to an embodiment of the disclosure may be a robot that does not acquire context data, unlike the robot100and the first other robot200. Specifically, the second other robot300is a robot in a standby state rather than in a state that provides a service to the user, and may not acquire context data through the sensor110.

The second other robot300may receive a signal indicating an occurrence of an error from the management server at operation S22. And, the second other robot300may receive a plurality of context data A and B from the robot100and the first other robot200.

Also, the second other robot300may identify integrated context data related to the collaboration scenario based on the received plurality of context data at operation S41. Specifically, the second other robot300may identify at least one context data corresponding to each of the plurality of elements related to the collaboration scenario of the plurality of robots100,200and300among the context data A received from the robot100and the context data B received from the first other robot200, as the integrated context data.

In addition, the second other robot300may identify context data having a higher priority among the integrated context data received from the robot100and the integrated context data identified by the second other robot300at operation S52. Since the identification method of the context data A and B used by the robot100and the second other robot300to identify the integrated context data, and the integrated context data is the same, the integrated context data received from the robot100and the integrated context data identified by the second other robot300may include exactly the same data.

However, the second other robot300may identify one integrated context data based on a priority between the integrated context data received from the robot100and the integrated context data identified by the second other robot300to identify one integrated context data to be input to the task allocation algorithm.

When a time point at which the integrated context data is received from the robot100is earlier than a time point at which the second other robot300identifies the integrated context data by itself, the second other robot300may identify the integrated context received from the robot100has a higher priority. Meanwhile, when a time point at which the second other robot300identifies the integrated context data by itself is earlier than a time point of receiving the integrated context data from the robot100, the second other robot300may identify the integrated context data identified by the second other robot300has a higher priority.

In addition, the second other robot300may acquire task information by inputting constant data and context data identified as having a higher priority to the task allocation algorithm at operation S72.

Also, the second other robot300may provide a service to the user based on the acquired task information at operation S82.

As described above, the plurality of robots100,200and300utilize the same integrated context data and the same task allocation algorithm to acquire task information corresponding to each robot and provide a service, such that in the collaboration scenario of the plurality of robots100,200and300, a task suitable for each robot may be assigned to each robot without overlapping tasks, thereby improving user convenience.

FIGS.3A,3B, and3Care views illustrating a collaboration between a plurality of robots according to various embodiments of the disclosure.

Referring toFIG.3A, the plurality of robots310,320, and330disposed in a restaurant301may provide a service based on a collaboration scenario. For example, a robot 1310may perform serving311, a robot 2320may perform cleaning up321, and a robot 3330may perform a task corresponding to patrol331.

The plurality of robots310,320, and330may store constant data including identification data, and context data including location information of each robot and data related to an external object, respectively. Here, the context data stored by each robot may include continuously updated data.

The plurality of robots310,320, and330may share the stored constant data and context data with each other. Accordingly, all of the plurality of robots310,320, and330may share location information of each robot and information related to an external object.

The robot 2320may acquire task information corresponding to the robot 2320by inputting the integrated context data into the task allocation algorithm. Specifically, the robot 2320may acquire task information of performing cleaning up the plate340by the robot 2320itself, and may perform cleaning up task based on the acquired task information, based on a current task identification of each of the plurality of robots310,320and330, a situation identification of an external object (e.g., plate340), and an identification of a cost of each task of the plurality of robots310,320and330. Even if the robot 1310is located closer to the plate340than the robot 2320, the robot 2320currently performing the cleaning up, continues to perform the cleaning up the plate340may minimize a sum of costs for each task of the robots310,320and330

Referring toFIG.3B, the robot 1310for providing a service in the restaurant301may identify a plate340. In this case, the robot 1310may identify the plate340disposed on a table where the user is not located as an empty plate, and acquire context data341of content identifying the plate340as an object of a plate to be cleaned up.

Here, the robot 2320may acquire integrated context data based on context data341received from robot 1310and context data acquired by itself.

Referring toFIG.3C, the robot 2320may acquire task information corresponding to the robot 2320by inputting the integrated context data into the task allocation algorithm. Specifically, the robot 2320may acquire task information of performing placing the plate340by the robot 2320itself, and may perform the placing task322based on the acquired task information, based on a current task identification of each of the plurality of robots310,320and330, a situation identification of an external object (e.g., plate340), and an identification of a cost of each task of the plurality of robots310,320and330. Even if the robot 1310is located closer to the plate340than the robot 2320, the robot 2320currently performing the cleaning up, continues to perform the cleaning up the plate340may minimize a sum of costs for each task of the robots310,320and330.

FIGS.4A,4B, and4Care views illustrating a collaboration between a plurality of robots according to various embodiments of the disclosure.

Referring toFIG.4A, a plurality of robots410,420, and430disposed in a hotel400may provide a service based on a collaboration scenario. For example, a robot 1410may perform a task corresponding to laundry transport411, a robot 2420may perform a guide421, and a robot 3430may perform a task corresponding to laundry transport431.

The plurality of robots410,420, and430may acquire context data with respect to structures440and450located in the hotel400, and a first user10. For example, robots of the plurality of robots410,420, and430may acquire and share information11about the first user receiving service from the robot 2420, and information441and451that doors440and450of rooms401and402are currently closed.

Referring toFIG.4B, the robot 2420may acquire context data including information452that the door450of room402has been changed to an open state and information21about the second user20, and transmit the acquired context data to the robot 1410and the robot 3430. According to another embodiment, the robot 2420may acquire integrated context data based on context data received from the robot 1410and the robot 3430and context data acquired by itself, and transmit the acquired integrated context data to the robot 1410and the robot 3430.

Referring toFIG.4C, the plurality of robots410,420, and430may acquire integrated context data based on the context data received from the other robots and the context data acquired by themselves, and input the acquired integrated context data to the task allocation algorithm to acquire task information corresponding to each robot.

Although the robot 2420is a robot located closest to the room402, which is a target of a cleaning task due to an exit of the second user20, since the robot 2420is currently performing a guide task for the first user10, the robot 1410may be identified as a robot corresponding to the cleaning task for the room402450.

Therefore, as a result of inputting the integrated context data into the task allocation algorithm, the robot 1410may acquire task information412corresponding to the cleaning task for the room402450, and perform cleaning task based on the acquired task information. Also, the robot 2420may continue the existing guide task.

In addition, the robot 3430may input the integrated context data into the task allocation algorithm to acquire task information of transporting laundry at once by taking over the laundry carried by the robot 1410, and continue the existing laundry transport task based on the acquired task information.

FIGS.5A,5B, and5Care views illustrating a collaboration between a plurality of robots according to various embodiments of the disclosure.

Referring toFIG.5A, a plurality of robots510and520disposed in a corridor500may provide a service based on a collaboration scenario. For example, a robot 1510performing a normal task511may move along a route501acquired based on task information corresponding to the normal task. Meanwhile, a robot 2520may be in a standby state521.

Referring toFIG.5B, the robot 1510performing a normal task may acquire context data531corresponding to an emergency situation530occurring on one side of the corridor500. The robot 1510may transmit the acquired context data531to the robot 2520. Since the context data531received from the robot 1510includes emergency situation information, the robot 2520may acquire integrated context data including information on the emergency situation530based on the context data received from the robot 1510.

Referring toFIG.5C, the robot 2520may input integrated context data including information on emergency situation530and constant data of each robot510and520into a task allocation algorithm to acquire task information corresponding to the robot 2520. For example, if the specification or function of the robot 2520is more suitable to cope with the emergency situation530than the specification or function of the robot 1510, the robot 2520may perform an emergency task522corresponding thereto by being assigned a task for handling the emergency situation530in preference to the robot 1510close to a point where the emergency situation530occurs.

More specifically, the task information corresponding to the robot 2520may include information about the route502on which the robot 2520will move to a point where the emergency situation530occurs, and the robot 2520may input constant data including priority information for each task and integrated context data to the task allocation algorithm, and acquire task information including information about a shortest route502moving from a location of the robot 2520to the point where the emergency situation530occurs.

In addition, the robot 1510may continue the existing normal task511based on task information acquired by inputting the integrated context data and constant data acquired by itself or received from robot 2520into the task allocation algorithm. However, since the normal task511to be performed by the robot 1510is a task with a lower priority than the emergency task522to be performed by the robot 2520, the movement route of the robot 1510may be changed from the existing route501to a route503.

As such, the plurality of robots510and520disposed in the corridor500may provide optimal services to the user based on a collaboration scenario in which a robot520suitable for handling the emergency situation530can move quickly.

FIG.6is a view illustrating a detailed description of a functional configuration of a robot according to an embodiment of the disclosure.

Referring toFIG.6, the robot100may include a sensor110, a driver120, a communication interface130, a processor140, a display150, a memory160, and a user interface170. Among the configurations shown inFIG.6, detailed descriptions of configurations overlapping those shown inFIG.2will be omitted.

The display150may be implemented in various forms of display such as a liquid crystal display (LCD), organic light emitting diode (OLED) display, active matrix-OLED (AM-OLED), plasma display panel (PDP), and so on. The display150may include a driving circuit, a backlight unit, and the like which may be implemented in forms such as an a-si thin-film transistor (TFT), a low temperature poly silicon (LTPS) TFT, an organic TFT (OTFT), and the like. The display150may be realized as a plasma display panel (PDP), a liquid crystal display (LCD), an organic light emitting diode (OLED), a flexible display, a 3-dimensional (3D) display, or the like.

The display150according to an example may display information related to a service provided by the robot100or a user interface (UI) including the information.

The memory160may store data necessary for various embodiments of the disclosure. The memory160may be implemented with a memory embedded in a memory, or may be implemented with a memory in the form of detachable to the robot100. For example, the robot100for the data for driving the robot100may be stored in the embedded memory and the memory detachable to the robot100when the data for extension of the robot100. Meanwhile, the memory embedded in the robot100may be implemented with at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), a synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (e.g., one time programmable read only memory (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash, etc.), hard drive, or solid-state drive (SSD). In addition, the memory detachable to the robot100may be implemented with a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multi-media card (MMC), etc.), external memory that can be connected to a USB port (e.g., USB memory).

The memory160according to an example 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 robot100or context data received from the other robot. In addition, the memory160may store a predetermined task allocation algorithm and task information acquired by inputting constant data and context data to the task allocation algorithm.

The user interface170is a configuration in which the robot100is involved in performing an interaction with the user. For example, the user interface170may include at least one of a touch sensor, a motion sensor, a button, a jog dial, a switch, a microphone, and a speaker, but is not limited thereto.

FIG.7is a flowchart illustrating a control method according to an embodiment of the disclosure.

Referring toFIG.7, the control method may acquire first context data through a sensor at operation S710.

Second context data acquired by at least one other robot may be received at operation S720.

At least one of the first context data and the second context data may be identified based on a collaboration scenario of the robot and the other robot at operation S730.

Task information corresponding to the robot may be acquired by inputting at least one identified context data to a predetermined task allocation algorithm related to collaboration at operation S740.

Finally, the robot may be driven based on the acquired task information at operation S750.

Here, the acquiring task information at operation S740may include acquiring task information corresponding to the robot based on the at least one identified context data and constant data of the robot, and the constant data may include at least one of identification information of the robot, specification information of the robot, function information of the robot, map information corresponding to a space in which the robot is located, and priority information for each task.

In addition, the identifying the context data at operation S730may include identifying at least one context corresponding to each of the plurality of elements among the first context data and the second context data based on types of a plurality of elements related to the collaboration scenario of the robot and the other robot, and the acquiring the task information at operation S740includes inputting at least one context data corresponding to each of the plurality of elements to a predetermined task allocation algorithm to acquire task information corresponding to the robot.

Here, the identifying the context data at operation S730may include context data corresponding to each type of the plurality of elements based on at least one of an acquisition time of each of the first context data and the second context data, whether there is a similarity, or whether emergency information is included

Also, the plurality of elements may include at least one of type information of an external object, location information of an external object, location information of a robot, or emergency situation information.

In addition, a predetermined task allocation algorithm may be an algorithm including at least one of current task identification of the robot and the other robot, state identification of the external object, and cost identification of the robot and the other robot for each task.

In addition, a method for controlling may further include transmitting the first context data to at least one other robot and transmitting, based on at least one context data being identified, the at least one identified context data to at least one other robot.

In addition, the control method may further include, when the context data identified based on the collaboration scenario is received from at least one other robot, inputting the context data having a higher priority among the received context data and the at least one identified context data to a predetermined task allocation algorithm.

In addition, the control method may further include transmitting first context data to at least one other robot, identifying whether the first context data is reflected in the received context data when the identified context data is received based on the collaboration scenario from at least one other robot, and retransmitting the first context data to at least one other robot when the first context data is not reflected in the received context data.

In addition, the identifying the context data at operation S730may include identifying at least one context data when a signal indicating an occurrence of an error is received from the management server.

The methods according to the above-described example embodiments may be realized as software or applications that may be installed in the existing electronic apparatus.

Further, the methods according to the above-described example embodiments may be realized by upgrading the software or hardware of the existing electronic apparatus.

The above-described example embodiments may be executed through an embedded server in the electronic apparatus or through an external server outside the electronic apparatus.

Various embodiments described above may be embodied in a recording medium that may be read by a computer or a similar apparatus to the computer by using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented by the processor140itself. In a software configuration, various embodiments described in the specification such as a procedure and a function may be embodied as separate software modules. The software modules may respectively perform one or more functions and operations described in the specification.

According to various embodiments described above, computer instructions for performing processing operations of a device according to the various embodiments described above may be stored in a non-transitory computer-readable medium. The computer instructions stored in the non-transitory computer-readable medium may cause a particular device to perform processing operations on the device according to the various embodiments described above when executed by the processor of the particular device.

The non-transitory computer readable recording medium refers to a medium that stores data and that can be read by devices. For example, the non-transitory computer-readable medium may be compact disc (CD), digital video disc (DVD), a hard disk, Blu-ray disc, USB, a memory card, ROM, or the like.

While the disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents.