Patent Description:
Recently, developments in technology for robots disposed at an indoor space and provide services to users have become more active. Robots may travel the indoor space and provide various services such as, for example, and without limitation, cleaning, guiding, serving, patrolling, emergency situation response, or the like.

However, there has been a problem of not being able to provide satisfactory service to a user with only a single robot because a dead zone in which a robot cannot travel within a map corresponding to the indoor space may be formed due to limitations in form factor of the robot itself and obstacles positioned within a space. The <CIT> discloses a mother-child cooperative work system with mother robot and a child robot, where the mother robot effectively positions the child robot to move to an assigned place to cooperatively work according to the map of the child robot. The <CIT> discloses a robot system with a primary robot and a secondary robot, wherein the secondary robot is released from the first robot for some unusual target zones where the primary robot is unable to enter to perform the first cleaning task, the smaller secondary robot is used to perform a second cleaning task inside each of those unusual target zones.

Robots of the related art have been able to reduce the dead zones by the robot and an external robot accommodated in the robot cooperating and providing a service, but there is still a problem of providing smooth service being difficult when an error in communication occurs between the robot and the external robot. Accordingly, there is a continuous need for a method which can actively overcome an error when a communication error between the robot and the external robot occurs.

According to the invention, a robot is provided according to claim <NUM> of the appended set of claims.

The processor may be further configured to: identify, while communicating with the external robot through the communication interface, the pose of the external robot based on the type of the at least one echo signal received from the external robot, and transmit a control signal for changing the pose of the external robot to the external robot through the communication interface based on the pose of the external robot and the stored map data.

The processor may be further configured to transmit, based on an error occurrence in communication through the communication interface being predicted based on the pose of the external robot and the stored map data, a control signal for changing the pose of the external robot to the external robot through the communication interface.

The processor may be further configured to determine a likelihood of an error occurring in communication through the communication interface based on information on obstacles disposed in an area corresponding to a position of the external robot on the map data, the pose of the external robot, and a moving path of the external robot.

The external robot may include a plurality of sensors configured to output echo signals of different types and disposed at different positions, and the processor may be further configured to: identify, based on an error occurring in communication with the external robot through the communication interface, positions of the plurality of sensors, which output a plurality of echo signals from among the plurality of sensors disposed in the external robot, based on types of the plurality of echo signals received from the external robot, and identify the pose of the external robot based on the positions of the plurality of sensors.

The processor may be further configured to identify, based on pose information being received from the external robot through the communication interface, the target position of the robot based on the pose information, the pose of the external robot, and the stored map data.

The sensor may include a light detection and ranging (LiDAR) sensor, and the processor may be further configured to obtain the position information of the external robot based on a sensing signal obtained by the LiDAR sensor and the time at which the at least one echo signal is received from the external robot.

The sensor may include a light detection and ranging (LiDAR) sensor, and the processor may be further configured to: obtain obstacle information based on a sensing signal obtained by the LiDAR sensor, and change a position of the communication interface based on the obstacle information and the position information of the external robot.

The robot may further include a storage space configured to accommodate the external robot, and the processor may be further configured to: control, based on work by the external robot being identified as necessary, an output of the external robot from the storage space, plan, based on the work by the external robot being identified as completed, a moving path of the external robot based on the pose of the external robot, and control the operation state of the external robot to accommodate the external robot in the storage space based on the moving path.

The communication interface may be configured to communicate according to a short range communication method including Bluetooth communication, and the sensor may include at least one of an infrared sensor or an ultra wide band (UWB) sensor.

According to an aspect of the invention, a system is provided according to claim <NUM> of the appended set of claims.

According to another aspect of the invention, a method of controlling a robot is provided according to claim <NUM> of the appended set of claims.

According to an embodiment, in terms of a non-transitory computer-readable storage medium configured to store computer instructions to perform an operation of a robot when executed by a processor of the robot, the operation includes outputting a sensing signal for sensing a distance with an external robot, and obtaining position information of the external robot based on a time at which at least one echo signal is received from the external robot; driving at least one of the robot or the external robot based on the position information; identifying, based on an error in communication with the external robot, a pose of the external robot based on a type of the at least one echo signal received from the external robot; identifying a target position of the robot based on the pose of the external robot and map data; and moving the robot to the target position.

The disclosure will be described in detail below with reference to the accompanying drawings.

Terms used in describing an embodiment of the disclosure are general terms selected that are currently widely used considering their function herein. However, the terms may change depending on intention, legal or technical interpretation, emergence of new technologies, and the like of those skilled in the related art. Further, in certain cases, there may be terms arbitrarily selected, and in this case, the meaning of the term will be disclosed in greater detail in the corresponding description. Accordingly, the terms used herein are not to be understood simply as its designation but based on the meaning of the term and the overall context of the disclosure.

In the disclosure, expressions such as "have," "may have," "include," "may include," or the like are used to designate a presence of a corresponding characteristic (e.g., elements such as numerical value, function, operation, or component), and not to preclude a presence or a possibility of additional characteristics.

Herein, the expression "at least one of A or B" is to be understood as indicating any one of "A" or "B" or "A and B.

Expressions such as "first," "second," "1st," "2nd," and so on used herein may be used to refer to various elements regardless of order and/or importance. Further, it should be noted that the expressions are merely used to distinguish an element from another element and not to limit the relevant elements.

When a certain element (e.g., first element) is indicated as being "(operatively or communicatively) coupled with/to" or "connected to" another element (e.g., second element), it may be understood as the certain element being directly coupled with/to the another element or as being coupled through other element (e.g., third element).

A singular expression includes a plural expression, unless otherwise specified. It is to be understood that the terms such as "form" or "include" are used herein to designate a presence of a characteristic, number, step, operation, element, component, or a combination thereof, and not to preclude a presence or a possibility of adding one or more of other characteristics, numbers, steps, operations, elements, components or a combination thereof.

The term "module" or "part" used herein perform at least one function or operation, and may be implemented with a hardware or software, or implemented with a combination of hardware and software. Further, a plurality of "modules" or a plurality of "parts," except for a "module" or a "part" which needs to be implemented to a specific hardware, may be integrated to at least one module and implemented in at least one processor.

In the disclosure, the term 'user' may refer to a person that received service from a robot, but is not limited thereto.

<FIG> is a diagram schematically illustrating a cooperative service providing operation of a robot and an external robot.

The robot <NUM> according to an embodiment of the disclosure may be disposed at a specific space, and provide various services to a user who lives in the space or is temporarily visiting. The robot <NUM> may provide services corresponding to at least one of cleaning, guiding, serving, patrolling, or emergency situation response, but is not limited thereto.

In addition, in the specific space, at least one external robot <NUM> may be disposed in addition to the robot <NUM>, and the robot <NUM> and the at least one external robot <NUM> may provide services to the user through inter-cooperation. Here, providing services through cooperation may refer to the robot <NUM> and the at least one external robot <NUM> providing services associated with one another due to the robot <NUM> and the at least one external robot <NUM> being integrated and controlled integrally based on task information associated with one another.

The at least one external robot <NUM> may be a robot with a different specification from the robot <NUM>. The at least one external robot <NUM> may have a size smaller than the robot <NUM>, and may include a coupling part necessary for being accommodated in the robot <NUM>. The at least one external robot <NUM> may be usually in standby accommodated in a storage space provided in the robot <NUM> and provide a service by being output from the storage space of the robot <NUM> when work by the at least one external robot <NUM> is necessary.

In addition, the at least one external robot <NUM> may provide a service by being controlled by the robot <NUM>. The at least one external robot <NUM> may obtain task information and moving path information based on a control signal received from the robot <NUM>, and provide a service based on the obtained task information and moving path information.

The robot according to an example may travel a space and obtain map data for the corresponding space and task information corresponding to a service to be performed by the robot <NUM>, and determine whether work by the at least one external robot <NUM> is necessary based on the obtained map data and task information. For example, the robot <NUM> may identify that work by the external robot <NUM> having a size smaller than the robot <NUM> is necessary to clean an area in which an obstacle <NUM> is positioned while the robot <NUM> is travelling the space to provide a cleaning service.

In this case, the robot <NUM> may obtain task information associated with a task to be allocated to the external robot <NUM>, and obtain moving path information associated with a path to which the external robot <NUM> is to move to perform the task. In addition, the robot <NUM> may transmit a control signal for controlling the external robot <NUM> to the external robot <NUM> based on the obtained task information and moving path information.

If an error in communication occurs between the robot <NUM> and the external robot <NUM> in a process of the external robot <NUM> providing a service, the robot <NUM> may identify a target position to which the robot <NUM> is to move based on an identified pose of the external robot <NUM> and map data of the area in which the obstacle <NUM> is positioned, and restore communication with the external robot <NUM> by moving to the identified target position.

In addition, if the external robot <NUM> output from the robot <NUM> has completed the work, the external robot <NUM> may return to the storage space of the robot <NUM> from the area in which the obstacle <NUM> is positioned by receiving control of the robot <NUM>.

Various embodiments of overcoming the communication error by moving to a determined target position determined based on the pose of the external robot and the stored map data when the communication error between the robot and the external robot occurs will be described in greater detail below.

<FIG> is a block diagram illustrating a configuration of a robot according to an embodiment of the disclosure.

Referring to <FIG>, the robot <NUM> includes a communication interface <NUM>, a distance sensor <NUM>, a driver <NUM>, a memory <NUM>, and a processor <NUM>.

The communication interface <NUM> may input and output data of various types. For example, the communication interface <NUM> may transmit and receive data of various types with an external device (e.g., source device), an external storage medium (e.g., a USB memory), or an external server (e.g., WEBHARD) through communication methods such as, for example, and without limitation, an AP based Wi-Fi (e.g., Wi-Fi®, wireless LAN network), Bluetooth®, ZigBee®, a wired/wireless local area network (LAN), a wide area network (WAN), Ethernet®, IEEE <NUM>, a high-definition multimedia interface (HDMI), a universal serial bus (USB), a mobile high-definition link (MHL), Audio Engineering Society/European Broadcasting Union (AES/EBU), Optical, Coaxial, or the like.

The distance sensor <NUM> obtains distance data. The distance sensor <NUM> may measure distance between a position of the robot <NUM> and a position of the at least one external robot, and obtain distance data based on the measurement result. The distance sensor <NUM> according to an example may include at least one from among an infrared sensor, an ultra wide band (UWB) sensor, a light detection and ranging (LiDAR) sensor, or a <NUM>-dimensional (3D) camera, but is not limited thereto.

The driver <NUM> may be a device which can control a travel of the robot <NUM>. The driver <NUM> may adjust a traveling direction and traveling speed according to control by the processor <NUM>, and the driver <NUM> according to an example may include a device that can control a travel of the robot <NUM>. The driver <NUM> may adjust a travel direction and a travel speed according to control of the processor <NUM>, and the driver <NUM> according to an example may include a power generating device (e.g., a gasoline engine, a diesel engine, a liquefied petroleum gas (LPG) engine, an electric motor, and the like according to a fuel (or an energy source) used) that generates power for the robot <NUM> to travel, a steering device (e.g., manual steering, hydraulics steering, electronic control power steering (EPS), etc.) for adjusting the travel direction, a travel device (e.g., a wheel, a propeller, etc.) that travels the robot <NUM> according to power, and the like. Here, the driver <NUM> may be modified and implemented according to a travelling type (e.g., a wheel type, a walking type, a flying type, etc.) of the robot <NUM>.

The memory <NUM> may store data necessary for the one or more embodiments of the disclosure. The memory <NUM> may be implemented in the form of a memory embedded in the robot <NUM> according to a data storage use, or in the form of a memory attachable to or detachable from the robot <NUM>. For example, the data for the driving of the robot <NUM> may be stored in a memory embedded to the robot <NUM>, and data for an expansion function of the robot <NUM> may be stored in a memory attachable to or detachable from the robot <NUM>. The memory embedded in the robot <NUM> may be implemented as at least one from among a volatile memory (e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), or a synchronous dynamic RAM (SDRAM)), or a 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, a flash memory (e.g., NAND flash or NOR flash), a hard disk drive (HDD) or a solid state drive (SSD)). In addition, a memory attachable to or detachable from the robot <NUM> may be implemented in a form such as, for example, and without limitation, a memory card (e.g., a compact flash (CF), a secure digital (SD), a micro secure digital (micro-SD), a mini secure digital (mini-SD), an extreme digital (xD), a multi-media card (MMC), etc.), an external memory (e.g., USB memory) connectable to a USB port, or the like.

The memory <NUM> stores map data corresponding to the space in which the robot <NUM> travels. The processor <NUM> may receive map data from an external server and store in the memory <NUM>, or generate map data based on distance data obtained from the distance sensor <NUM> and store the same in the memory <NUM>.

The processor <NUM> may control the overall operation of the robot <NUM>. The processor <NUM> may control the overall operation of the robot <NUM> by being coupled with each configuration of the robot <NUM>. For example, the processor <NUM> may control an operation of the robot <NUM> by being coupled with the communication interface <NUM>, the distance sensor <NUM>, the driver <NUM>, and the memory <NUM>.

The processor <NUM> according to an embodiment may be designated to various names such as, for example, and without limitation, 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) and the like, but will be described as the processor <NUM> in the disclosure.

The processor <NUM> may be implemented as a system on chip (SoC) or a large scale integration (LSI), or may be implemented in a form of a field programmable gate array (FPGA). In addition, the processor <NUM> may include a volatile memory such as a SRAM.

According to an embodiment of the disclosure, the processor <NUM> may control the distance sensor <NUM> to output a sensing signal for sensing the distance with the external robot. In addition, the processor <NUM> may obtain position information of the external robot based on time at which at least one echo signal is received from the external robot.

In addition, the processor <NUM> may more accurately identify the position of the external robot based on a time at which a sensing signal obtained by the LiDAR sensor and at least one echo signal is received from the external robot.

The echo signal may refer to a signal transmitted to the robot <NUM> based on the external robot receiving the sensing signal, and the robot <NUM> may receive the echo signal through the distance sensor <NUM>. The processor <NUM> may identify the distance between the robot <NUM> and the external robot according to at least one from among a time of flight (TOF) method or a time of arrival (TOA) method based on a time-point at which the sensing signal is output and a time-point at which the echo signal is received, and obtain position information of the external robot based on the identified distance.

The processor <NUM> may change the position of the robot <NUM> by controlling the driver <NUM> based on the obtained position information. For example, the processor <NUM> may control the driver <NUM> for the robot <NUM> to move to a position close with an identified position of the external robot based on the obtained position information and map data of the space.

In addition, the processor <NUM> may control an operation state of the external robot based on the obtained position information. For example, the processor <NUM> may control the communication interface <NUM> to obtain task information corresponding to the service to be performed by the external robot, and to transmit a control signal for controlling an operation state of the external robot to the external robot based on the task information and the map data of the space.

In addition, the processor <NUM> identifies a pose of the external robot based on a type of at least one echo signal received from the external robot if an error in communication with the external robot through the communication interface <NUM> is identified as having occurred. The pose may include position information of the external robot and information on a direction to which the external robot is facing, but is not limited thereto.

For example, the external robot may include a plurality of sensors disposed at different positions and output echo signals of different types, and a plurality of echo signals received from the external robot may be signals output from the respective sensors that output echo signals of different types. The processor <NUM> identifies the positions of the respective sensors that output the plurality of echo signals from among the plurality of sensors disposed in the external robot based on the types of the plurality of echo signals received from the external robot if an error in communication with the external robot through the communication interface <NUM> is identified as having occurred.

The processor <NUM> may identify the position of the external robot by separately calculating the distance between the respective sensors of the external robot corresponding to the received plurality of echo signals and the distance sensor <NUM> that received the corresponding signal, and identify the pose of the external robot based on the identified positions of the respective sensors.

If there is no problem in receiving the echo signal through the distance sensor <NUM> even if an error in communication through the communication interface <NUM> has occurred, the processor <NUM> may continuously update the pose of the external robot based on the echo signal received after the occurrence of the communication error. If an error has occurred in not only communication through the communication interface <NUM> but also in receiving the echo signal through the distance sensor <NUM>, the processor <NUM> may identify the pose of the external robot based on the last received echo data, and determine that the external robot is maintaining the last identified pose.

The processor <NUM> identifies the target position for the robot <NUM> to move to remove the communication error based on the identified pose of the external robot and the stored map data. The target position is a position to which a visibility to the position of the external robot is secured, and communication may be resumed as there is no obstacle present which interferes with the transmission and reception of radio waves between the robot <NUM> and the external robot when the robot <NUM> moves to the target position.

The processor <NUM> considers pose information received from the external robot in identifying the target position of the robot <NUM>. The pose information may include information on the position of the external robot obtained through a sensor provided in the external robot and direction to which the external robot is facing, and the processor <NUM> may receive pose information from the external robot through the communication interface <NUM>, and the robot <NUM> may correct the identified pose of the external robot based on the received pose information.

For example, the processor <NUM> may identify the direction to which the external robot is facing based on the received pose information, and determine a corrected position obtained by applying weight values to the identified positions of the external robots, respectively, as the position of the external robot based on the position of the external robot identified by the robot <NUM> and the pose information, but is not limited thereto.

The processor <NUM> may identify the target position for the robot <NUM> to move based on the corrected pose of the external robot and information on obstacles on the stored map data. In addition, the processor <NUM> may control the driver <NUM> for the robot <NUM> to move to the identified target position. If communication is resumed due to the communication error between the robot <NUM> which moved to the target position and the external robot being removed, the robot <NUM> may carry on providing service by continuing to control the external robot.

According to another example, the processor <NUM> may obtain obstacle information based on a sensing signal obtained by the LiDAR sensor, and change the position of the communication interface <NUM> based on the obtained obstacle information and position information of the external robot. For example, the processor <NUM> may obtain information on a Z-axis in which the obstacle is positioned, and remove the communication error between the robot <NUM> and the external robot by adjusting a height of the communication interface <NUM> such that the communication interface <NUM> is positioned within a Z-axis range in which the obstacle is not positioned.

The processor <NUM> may identify the pose of the external robot based on a type of at least one echo signal received from the external robot while communicating with the external robot through the communication interface <NUM>, and transmit a control signal for changing the pose of the external robot based on the identified pose of the external robot and the stored map data to the external robot through the communication interface <NUM>.

The processor <NUM> may control the communication interface <NUM> to transmit the control signal for changing the pose of the external robot to the external robot if an error occurrence in communication through the communication interface <NUM> is predicted based on the identified pose of the external robot and the stored map data. The processor <NUM> may identify a likelihood of error occurrence in communication through the communication interface <NUM> based on information of an obstacle disposed in an area corresponding to the position of the external robot on the stored map data, the identified pose of the external robot, and the moving path of the external robot.

For example, the processor <NUM> may identify, based on an error in communication being identified as likely to occur due to an obstacle which interferes in the transmission and reception of radio waves between the robot <NUM> and the external robot within a threshold time when the external robot continues to travel like previously based on position information of the external robot and information on the direction to which the external robot is facing, an area on the map data with a likelihood of an error in communication occurring due to the obstacle, and control the communication interface <NUM> to transmit a control signal for the external robot to travel on a remaining area other than the corresponding area to the external robot.

That is, the processor <NUM> may prevent the communication error from occurring by changing or adjusting the moving path of the external robot by predicting in advance that an error in communication with the external robot through the communication interface <NUM> is to occur.

The robot <NUM> may further include a storage space in which the external robot is accommodated. The processor <NUM> may control for the external robot to be output from the storage space if the work by the external robot is identified as necessary, plan a moving path of the external robot based on the pose of the external robot if the work by the external robot is identified as completed, and control an operation state of the external robot for the external robot to be accommodated in the storage space based on the planned moving path.

<FIG> is a block diagram illustrating a functional configuration of a robot according to an embodiment of the disclosure.

Referring to <FIG>, the processor may include a SLAM module <NUM>, a global localizer module <NUM>, a range & direction estimator module <NUM>, a local pose estimator module <NUM>, a global pose estimator module <NUM>, and a motion planner module <NUM>.

The SLAM module <NUM> may obtain information on an object included in a space through a simultaneous localization and mapping method, that is, simultaneous localization and mapping (SLAM), and generate map data based on the obtained information. The object may include not only a wall, a pillar, and a fixed obstacle that form a space, but also a dynamic object that continuously changes in its position.

The SLAM module <NUM> according to an example may obtain a distance between the robot <NUM> and an object included in a space through the distance sensor <NUM>, and generate map data of the space based on the obtained distance data. In addition, the SLAM module <NUM> may update map data of the space by newly obtaining distance data through the distance sensor <NUM> if a pre-set period arrives or if a pre-set event occurs.

The global localizer module <NUM> may map the position of the robot <NUM> on the generated map data. For example, the global localizer module <NUM> may obtain map data mapped with the position of the robot <NUM> based on map data generated by the SLAM module <NUM> and position information of the robot <NUM>. In addition, the global localizer module <NUM> may continuously update the position of the robot <NUM> mapped on the map data based on the position of the robot <NUM> which changes according to the robot <NUM> moving.

The range & direction estimator module <NUM> may obtain information on a distance and direction reaching the external robot <NUM> based on the robot <NUM>. If a distance sensor <NUM> of the external robot <NUM> includes a plurality of sensors that output echo signals of different types by being disposed at different positions of the external robot <NUM>, the range & direction estimator module <NUM> according to an example may separately calculate the distance and direction between the respective sensors of the external robot <NUM> corresponding to the plurality of echo signals received through the distance sensor <NUM> and the distance sensor <NUM> which received the corresponding signal.

The local pose estimator module <NUM> may identify the pose of the external robot <NUM> based on distance and direction information obtained through the range & direction estimator module <NUM>. If the external robot <NUM> includes a plurality of sensors, the local pose estimator module <NUM> according to an example may identify the pose of the external robot <NUM> based on the position and direction of the respective sensors obtained through the range & direction estimator module <NUM> if an error in communication with the external robot <NUM> through the communication interface <NUM> is identified as having occurred.

The global pose estimator module <NUM> may map the position and the facing direction of the external robot <NUM> on the whole map data based on map data mapped with the identified pose of the external robot <NUM> through the local pose estimator module <NUM> and the position of the robot <NUM> stored in the memory <NUM>. In other words, if the local pose estimator module <NUM> obtains information on a positional relationship between the robot <NUM> and the external robot <NUM> positioned within a threshold range from the robot <NUM>, the global pose estimator module <NUM> may obtain final map data mapped with information on the positions of the robot <NUM> and the external robot <NUM> and directions to which the robot <NUM> and the external robot <NUM> are facing with respect to map data obtained through the global localizer module <NUM> based on information obtained through the local pose estimator module <NUM>, obstacle information included in the space, and the like.

The motion planner module <NUM> may obtain task information to allocate to the external robot <NUM> if work by the external robot <NUM> is identified as necessary. In addition, a path for the external robot <NUM> to move and associated moving path information may be obtained based on the final map data obtained through the global pose estimator module <NUM> and the task information to allocate to the external robot <NUM>. The motion planner module <NUM> may control the communication interface <NUM> to transmit a control signal for driving the external robot <NUM> to the external robot <NUM> based on the obtained moving path information.

For example, the motion planner module <NUM> may output the external robot <NUM> from the storage space in which the external robot <NUM> is accommodated, and guide a provision of service through the external robot <NUM> while continuously monitoring the pose of the output external robot <NUM>. In addition, the motion planner module <NUM> may plan a return path of the external robot <NUM> based on the pose of the external robot <NUM> when the work by the external robot <NUM> is identified as having been completed, and transmit a control signal for the external robot <NUM> to be accommodated in the storage space to the external robot <NUM> through the communication interface <NUM> based on the planned return path.

If an error in communication with the external robot <NUM> through the communication interface <NUM> is identified as having occurred, the motion planner module <NUM> may identify a target position for the robot to move to resume communication based on the final map data, and control the driver <NUM> for the robot <NUM> to move to the identified target position. The motion planner module <NUM> according to an example may correct the final map data taking into consideration pose information received from the external robot <NUM> through the communication interface <NUM>, and identify the target position based on the corrected final map data.

In addition, the motion planner module <NUM> may calculate a likelihood of error occurrence in communication through the communication interface <NUM> based on information on obstacles disposed in an area corresponding to the position of the external robot <NUM> based on the final map data, the pose of the external robot <NUM>, and the moving path of the external robot <NUM>, and control the communication interface <NUM> to transmit a control signal for changing the pose of the external robot <NUM> to the external robot <NUM> if the likelihood of error occurrence is identified as greater than or equal to a threshold value.

According to another example, the motion planner module <NUM> may remove the communication error between the robot <NUM> and the external robot <NUM> by adjusting the height of the interface <NUM> based on obstacle information obtained through the distance sensor <NUM> and position information of the external robot <NUM> if the likelihood of error occurrence in communication through the communication interface <NUM> is identified as greater than or equal to the threshold value.

The external robot <NUM> according to an embodiment of the disclosure may include a distance sensor <NUM>, a communication interface <NUM>, a processor <NUM>, and a driver <NUM>. The distance sensor <NUM> may include a plurality of sensors which output echo signals of different types by being disposed at different positions on the external robot <NUM>. The communication interface <NUM> may transmit and receive data of various types from the relationship with the communication interface <NUM> of the robot <NUM> according to a short range communication method which includes Bluetooth® communication.

The processor <NUM> may control the overall operation of the external robot <NUM> by being coupled with each configuration of the external robot <NUM>. For example, the processor <NUM> may output, based on a sensing signal for sensing the distance between the robot <NUM> and the external robot <NUM> being received from the robot <NUM>, a plurality of echo signals having different types through the plurality of sensors included in the distance sensor <NUM>.

In addition, the processor <NUM> may control, based on the control signal for driving the external robot <NUM> being received through the communication interface <NUM>, the driver <NUM> for the external robot <NUM> to operate based on the received control signal. For example, the processor <NUM> may change the pose of the external robot <NUM> based on the received control signal, but is not limited thereto.

In addition, the processor <NUM> may obtain pose information including information on the position of the external robot <NUM> and the direction to which the external robot <NUM> is facing and control the communication interface <NUM> to transmit the obtained pose information to the robot <NUM>.

<FIG> and <FIG> are diagrams illustrating an operation by a robot identifying a pose of an external robot according to an embodiment of the disclosure.

Referring to <FIG>, the distance sensor <NUM> provided in the robot <NUM> may include an infrared sensor <NUM>, and the external robot <NUM> may include a plurality of sensors <NUM>-<NUM> to <NUM>-<NUM> which output echo signals of different types by being disposed at different positions. Here, information on a disposition relationship of the plurality of sensors <NUM>-<NUM> to <NUM>-<NUM> positioned in the external robot <NUM> may be pre-stored in the memory <NUM>.

The processor <NUM> may control the infrared sensor <NUM> to output a sensing signal for sensing the distance with the external robot <NUM>. The external robot <NUM> which received the sensing signal output from the infrared sensor <NUM> through the plurality of sensors <NUM>-<NUM> to <NUM>-<NUM> may output a plurality of echo signals having different types through the respective sensors <NUM>-<NUM> to <NUM>-<NUM>. Referring to <FIG>, because only first to third sensors <NUM>-<NUM> to <NUM>-<NUM> from among the plurality of sensors <NUM>-<NUM> to <NUM>-<NUM> receive the sensing signal, the external robot <NUM> may output echo signals of three types corresponding to the first to third types, respectively.

The robot <NUM> may receive echo signals of three types corresponding to the first to third types through the infrared sensor <NUM>, and identify the positions of the first to third sensors <NUM>-<NUM> to <NUM>-<NUM> corresponding to the respective echo signals received based on time at which the plurality of echo signals are received.

The robot <NUM> may respectively identify that a distance between the infrared sensor <NUM> and a first sensor <NUM>-<NUM> is <NUM> and an angle formed thereto is <NUM> degrees (<NUM>), a distance between the infrared sensor <NUM> and a second sensor <NUM>-<NUM> is <NUM> and an angle formed thereto is -<NUM> degrees.

(<NUM>), and a distance between the infrared sensor <NUM> and a third sensor <NUM>-<NUM> is <NUM> and an angle formed thereto is +<NUM> degrees (<NUM>), and identify the pose of the external robot <NUM> based therefrom.

In <FIG> the robot <NUM> is shown as including a single infrared sensor <NUM> positioned at a front surface part, but is not limited thereto, and the robot <NUM> may further include infrared sensors at a side surface part and a back surface part. In this case, the robot <NUM> may more accurately identify the pose of the external robot <NUM> based on a plurality of data sets obtained through a plurality of infrared sensors <NUM> and the like.

Referring to <FIG>, the distance sensor <NUM> provided in the robot <NUM> may include a pair of ultra wide band (UWB) sensors <NUM>-<NUM> and <NUM>-<NUM>, and the distance sensor <NUM> provided in the external robot <NUM> may include a UWB sensor <NUM>. In this case, the pair of UWB sensors <NUM>-<NUM> and <NUM>-<NUM> provided in the robot <NUM> may operate as a UWB anchor, and the UWB sensor <NUM> provided in the external robot <NUM> may operate as a UWB tag, but are not limited thereto.

According to an example, the sensor <NUM> provided in the external robot <NUM> operating as a UWB tag may continuously output radio waves. The processor <NUM> may control the pair of UWB sensors <NUM>-<NUM> and <NUM>-<NUM> to output a sensing signal for sensing the distance with the external robot <NUM> based on receiving the radio waves continuously being output from the sensor <NUM> provided in the external robot <NUM>. The external robot <NUM> that received the sensing signal output from the pair of UWB sensors <NUM>-<NUM> and <NUM>-<NUM> through the UWB sensor <NUM> may output an echo signal through the UWB sensor <NUM>.

The robot <NUM> may receive the echo signal through the pair of UWB sensors <NUM>-<NUM> and <NUM>-<NUM>, and obtain a pair of distance data sets corresponding to each of the pair of UWB sensors <NUM>-<NUM> and <NUM>-<NUM> based on time at which the echo signal is received. In addition, the robot <NUM> may identify that the UWB sensor <NUM> included in the external robot <NUM> is positioned at a point at which a virtual circle corresponding to distance data <NUM> obtained through a first UWB sensor <NUM>-<NUM> and a virtual circle corresponding to distance data <NUM> obtained through a second UWB sensor <NUM>-<NUM> intersects, and identify the pose of the external robot <NUM> based on the identified position of the UWB sensor <NUM>.

In <FIG>, the robot <NUM> is shown as including the pair of UWB sensors <NUM>-<NUM> and <NUM>-<NUM>, and the external robot <NUM> is shown as including the single UWB sensor <NUM>, but the robot <NUM> and the external robot <NUM> may include additional UWB sensors, and through the above, the robot <NUM> may more accurately identify the pose of the external robot <NUM>.

In addition, the external robot <NUM> according to an example may further include an inertia measurement device <NUM>. The inertia measurement device <NUM> may include a sensor such as an accelerometer, a tachometer, and a magnetometer, and the external robot <NUM> may obtain information on a position change value of the external robot <NUM> corresponding to a traveling history of the external robot <NUM> and a rotation angle of the external robot <NUM> based on sensing data obtained through the inertia measurement device <NUM>.

In addition, the processor <NUM> may obtain pose information of the external robot <NUM> based on the obtained information, and transmit the obtained pose information to the robot <NUM> through the communication interface <NUM>. The robot <NUM> may correct the pose of the external robot <NUM> identified by the robot <NUM> based on the pose information received from the external robot <NUM>.

That is, if the external robot <NUM> includes the inertia measurement device <NUM>, the robot <NUM> may be able to more accurately identify the pose of the external robot <NUM>, and if an error in communication with the external robot <NUM> occurs thereafter, more accurately identify the target position for the robot <NUM> to move to remove the communication error.

<FIG> is a diagram illustrating an operation by a robot controlling an external robot based on map data according to an embodiment of the disclosure.

Referring to <FIG>, the robot <NUM> may provide a cleaning service while traveling a space corresponding to map data <NUM>. Here, in the map data <NUM>, information on an area <NUM> through which the robot <NUM> is not able to travel and information on an obstacle area <NUM> through which both the robot <NUM> and the external robot <NUM> are not able to travel may be included.

The robot <NUM> according to an example may accommodate at least one external robot <NUM> in the storage space, output the external robot <NUM> if cleaning work by the external robot <NUM> is identified as necessary, and guide for the external robot <NUM> to provide a service while traveling within an area <NUM> through which the robot <NUM> is not able to travel.

For example, the robot <NUM> may control an operation state of the external robot <NUM> based on information on obstacles disposed in the area corresponding to the position of the external robot <NUM> on the map data <NUM>, the identified pose information of the external robot <NUM>, and the moving path of the external robot <NUM>. The robot <NUM> may obtain a moving path <NUM> for cleaning a floor surface underneath a furniture or a moving path <NUM> for cleaning a narrow space between a furniture and a wall surface through the external robot <NUM>, and control the operation state of the external robot <NUM> based on task information corresponding to the obtained moving path <NUM> or <NUM> and the moving path information.

If the robot <NUM> controls the external robot <NUM> based on the moving path <NUM> for cleaning the floor surface underneath the furniture, the robot <NUM> may control the external robot <NUM> based on information on obstacles <NUM>, <NUM>, and <NUM> adjacent with the identified moving path <NUM> and the identified pose and moving path <NUM> of the external robot <NUM>. In this case, the robot <NUM> may continuously monitor the pose of the external robot <NUM> and continuously update the designated moving path <NUM> for the external robot <NUM> to not collide with the obstacles <NUM>, <NUM>, and <NUM>. In addition, the robot <NUM> may change the pose of the external robot <NUM> for the external robot <NUM> to travel along the updated moving path <NUM>.

If the robot <NUM> controls the external robot <NUM> based on the moving path <NUM> for cleaning the narrow space between the furniture and the wall surface, the robot <NUM> may control the external robot <NUM> based on information on an obstacle <NUM> adjacent with the identified moving path <NUM> and the identified pose and moving path <NUM> of the external robot <NUM>. In this case, the robot <NUM> may continuously update the designated moving path <NUM> for the external robot <NUM> to perform a cleaning task in a state spaced apart by a threshold distance from a surface of the obstacle <NUM>.

In addition, the robot <NUM> may calculate a likelihood of error occurrence in communication between the robot <NUM> and the external robot <NUM> based on the information on obstacles disposed in the area corresponding to the position of the external robot <NUM> on the map data <NUM>, the identified pose information of the external robot <NUM>, and the moving path of the external robot <NUM>. The robot <NUM> may transmit a control signal for changing the pose of the external robot <NUM> to the external robot <NUM> based on the calculated likelihood of error occurrence being identified as greater than or equal to the threshold value.

In this case, the robot <NUM> may identify the pose of the external robot <NUM> at a reference view point, and based on the external robot traveling along a pre-stored moving path <NUM> or <NUM> based on the identified pose, control to change the pose of the external robot <NUM> for the external robot <NUM> to travel long a corrected moving path and not the pre-stored moving path <NUM> or <NUM> if the external robot <NUM> is predicted as having collided with an obstacle <NUM>, <NUM>, <NUM>, or <NUM> disposed at an area in which the external robot <NUM> is positioned.

<FIG> is a diagram illustrating an operation by a robot accommodating an external robot according to an embodiment of the disclosure.

Referring to <FIG>, the robot <NUM> may further include a storage space <NUM>, and the distance sensor <NUM> provided in the robot <NUM> may include an infrared sensor <NUM>, a UWB sensor <NUM>, a LIDAR sensor <NUM>, and a 3D camera <NUM>. The robot <NUM> may plan, if work by the external robot <NUM> is identified as completed, a return path <NUM> through which the external robot <NUM> moves to be accommodated in the storage space <NUM> based on the pose of the external robot <NUM>. For example, the processor <NUM> may identify the pose of the external robot <NUM> based on a sensing signal obtained through the LIDAR sensor <NUM> and at least one echo signal received from the external robot <NUM> through the infrared sensor <NUM> or the UWB sensor <NUM>, and plan the return path <NUM> based on the identified pose of the external robot <NUM>.

If the external robot <NUM> moves through the return path <NUM>, the robot <NUM> may continuously update the pose of the external robot <NUM> based on data obtained through the distance sensor <NUM>. In addition, the robot <NUM> may continuously update the return path <NUM> of the external robot <NUM> based on a depth image obtained through the 3D camera <NUM> and the updated pose of the external robot <NUM>.

Accordingly, the robot <NUM> or the external robot <NUM> may be prevented from being damaged in an accommodating process of the external robot <NUM> by the robot <NUM> continuously updating an optimal path <NUM> for the external robot <NUM> to be accurately accommodated in the storage space <NUM> in a return scenario of the external robot <NUM>.

<FIG> is a diagram illustrating an error removal operation of a robot according to an embodiment of the disclosure.

Referring to <FIG>, an error in communication between the robot <NUM> and the external robot <NUM> may occur <NUM> while the external robot <NUM> is providing a cleaning service traveling the floor surface underneath a furniture <NUM>. In this case, the external robot <NUM> may stop at a present position without traveling any further when an error in communication is identified as having occurred <NUM>.

The processor <NUM> may identify, based on an error in communication with the external robot <NUM> through the communication interface <NUM> being identified as having occurred <NUM>, a target position <NUM> from which visibility to the position of the external robot <NUM> is secured to resume communication based on the pose of the external robot <NUM> and map data corresponding to the area including the floor surface underneath the furniture <NUM>. In addition, the processor <NUM> may control the driver <NUM> for the robot <NUM> to travel <NUM> to the identified target position.

<FIG> is a diagram illustrating an error removal operation of a robot according to another embodiment of the disclosure.

Referring to <FIG>, an error in communication between the robot <NUM> and the external robot <NUM> may occur <NUM> while the external robot <NUM> is providing a cleaning service traveling the floor surface of the furniture <NUM> of which a portion area from among a side surface is opened. In this case, the external robot <NUM> may stop at a present position without traveling any further when an error in communication is identified as having occurred <NUM>.

The processor <NUM> may identify, based on an error in communication with the external robot <NUM> through the communication interface <NUM> being identified as having occurred <NUM>, a target height range <NUM> from which visibility to the position of the external robot <NUM> is secured to resume communication based on the pose of the external robot <NUM> and information on obstacles included on the map data corresponding to the area which includes the floor surface underneath the furniture <NUM>.

For example, the processor <NUM> may remove the communication error between the robot <NUM> and the external robot <NUM> by obtaining information on the Z-axis in which the obstacle <NUM> is positioned, and adjusting <NUM> the height of the communication interface <NUM> by controlling the driver <NUM> for the communication interface <NUM> to be positioned within a Z-axis range <NUM> in which the obstacle <NUM> is not positioned.

<FIG> is a sequence diagram illustrating a service providing process through a robot system according to an embodiment of the disclosure.

The robot system which includes a first robot <NUM> and a second robot <NUM> which is accommodated in a storage space of the first robot <NUM> according to an embodiment of the disclosure may provide a service through cooperation by the first robot <NUM> and the second robot <NUM>. In addition, the robot system may remove the communication error through an active operation of the first robot <NUM> and the second robot <NUM> if an error in communication between the first robot <NUM> and the second robot <NUM> occurs.

First, the first robot <NUM> may identify that work by the second robot <NUM> is necessary to perform a task (S911). In this case, the first robot <NUM> may transmit a control signal for outputting the second robot <NUM> from the storage space to the second robot <NUM> (S931), and the second robot <NUM> which received the control signal may be output from the storage space based on the control signal (S921).

Then, the first robot <NUM> may obtain task information necessary in performing a task of the second robot <NUM> (S912), and transmit the obtained task information to the second robot <NUM> (S932). In this case, the first robot <NUM> may transmit moving path information necessary in performing the task to the second robot <NUM> together with the task information.

The second robot <NUM> which received the task information (and moving path information) from the first robot <NUM> may perform a task based on the received task information (S922). The first robot <NUM> may continuously monitor the pose of the second robot <NUM> in the process of the second robot <NUM> performing a task.

The first robot <NUM> may output a sensing signal for sensing a distance with the second robot <NUM> (S933), and the second robot <NUM> which received the sensing signal may output echo signals of different types corresponding to the sensing signal (S934). The first robot <NUM> may identify the pose of the second robot based on the received echo signals (S913).

The second robot <NUM> may identify that an error in communication with the first robot <NUM> has occurred while performing a task (S923). In this case, the second robot <NUM> may stop at a present position without traveling any further (S924).

The first robot <NUM> may identify, in the process of the second robot <NUM> performing a task, that an error in communication with the second robot <NUM> has occurred (S914). In this case, the first robot <NUM> may identify the target position of the first robot <NUM> based on the pose of the second robot <NUM> and the map data, and move to the identified target position (S915).

If communication between the first robot <NUM> and the second robot <NUM> is resumed as the first robot <NUM> moves to the target position (S935), the second robot <NUM> may transmit a signal instructing that performing of the allocated task has been completed to the first robot <NUM> (S936). The first robot <NUM> which received report of task performance completion from the second robot <NUM> may transmit a control signal instructing the return of the second robot <NUM> to the second robot <NUM> for the second robot <NUM> to be accommodated in the storage space (S937).

When the second robot <NUM> returns to the first robot based on the received control signal (S925), the first robot <NUM> may accommodate the returned second robot <NUM> in the storage space (S916) and end the provision of service.

<FIG> is a block diagram illustrating in detail a configuration of a robot according to an embodiment of the disclosure.

Referring to <FIG>, the robot <NUM> may include the communication interface <NUM>, the infrared sensor <NUM>, the UWB sensor <NUM>, the LiDAR sensor <NUM>, the 3D camera <NUM>, the driver <NUM>, the memory <NUM>, the processor <NUM>, and the storage space <NUM>. Detailed descriptions of configurations that overlap with the configurations shown in <FIG> from among the configurations shown in <FIG> will be omitted.

The infrared sensor <NUM> may include a transmitter which emits infrared rays and a receiver which senses infrared rays. The processor <NUM> may obtain distance data between the infrared sensor <NUM> and a sensor provided in the external robot based on time between a time-point at which the infrared rays are emitted through the transmitter and a time-point at which an echo of signal infrared signal is received through the receiver and time delay required until the output of the echo signal of the external robot and velocity of light.

The UWB sensor <NUM> may be a type of a radar sensor which uses electromagnetic waves having an ultra-wide band frequency. According to an example, the processor <NUM> may output a sensing signal for sensing the distance with the external robot through the UWB sensor <NUM> acting as the UWB anchor based on receiving radio waves which are continuously output from the external robot, and obtain, by receiving an echo signal corresponding to the sensing signal from the external robot through the UWB sensor <NUM>, distance data between the UWB sensor <NUM> and the sensor (UWB tag) provided in the external robot based on time between an output time-point of the sensing signal and a receiving time-point of the echo signal and delay time required until the output of the echo signal of the external robot and velocity of light.

The LiDAR sensor <NUM> may be a type of sensor which uses a laser. The LiDAR sensor <NUM> may include a mechanical stricture capable of rotating <NUM> degrees, and the processor <NUM> may control for the LiDAR sensor <NUM> to output a laser while continuously rotating. The processor <NUM> may obtain distance data between the LiDAR sensor <NUM> and the object by sensing a laser signal output through the LiDAR sensor <NUM> which is reflected by a surrounding object and returned.

The 3D camera <NUM> may be a configuration for obtaining a depth image. The 3D camera <NUM> may be implemented in a form of a camera module which includes a plurality of lenses and a plurality of image sensors. According to an example, the 3D camera <NUM> may be a stereo camera which includes two lenses and two image sensors, but is not limited thereto. The processor <NUM> may identify a more accurate pose of the external robot by taking into consideration even the depth image which is obtained through the 3D camera <NUM> in the process of identifying the pose of the external robot.

The storage space <NUM> may be a configuration for accommodating the external robot. The storage space <NUM> may be implemented in a cavity form having a greater volume than a size of the external robot, but is not limited thereto, and the storage space <NUM> may be disposed at a surface of the robot <NUM>, and implemented in a form including a fastening member by which the external robot is accommodated in the robot <NUM> bond with the coupling part provided in the external robot.

The processor <NUM> may control, based on the external robot being output due to work by the external robot being identified as necessary while the external robot is in an accommodated state, the driver <NUM> such that a fastening part included in the storage space <NUM> is to be detached from the coupling part provided in the external robot for the external robot to be separated from the robot <NUM>. Alternatively, in a process of the external robot returning to be accommodated in the robot <NUM>, the processor <NUM> may control the driver <NUM> such that the fastening part included in the storage space <NUM> is to be coupled with the coupling part provided in the external robot for the external robot to be accommodated in the robot <NUM>.

<FIG> is a flowchart illustrating a controlling method according to an embodiment of the disclosure.

The controlling method according to an embodiment of the disclosure includes outputting a sensing signal for sensing the distance with the external robot, and obtaining position information of the external robot based on time at which at least one echo signal is received from the external robot (S1110).

Then, at least one from among the robot or the external robot is driven based on the obtained position information (S1120).

Then, the pose of the external robot is identified based on the type of at least one echo signal received from the external robot when an error in communication with the external robot is identified as having occurred (S1130).

Then, the target position of the robot is identified based on the identified pose of the external robot and the map data (S1140).

Lastly, the robot is moved to the identified target position (S1150).

Here, the identifying the pose of the external robot (S1130) includes identifying the pose of the external robot based on the type of at least one echo signal received from the external robot while communicating with the external robot. In addition, the controlling method may further include changing the pose of the external robot based on the identified pose of the external robot and the map data.

In addition, changing the pose of the external robot if an error occurrence in communication is predicted based on the identified pose of the external robot and the map data may be further included.

In the changing the pose of the external robot, a likelihood of error occurrence in communication may be determined based on information on obstacles disposed in the area corresponding to the position of the external robot on the map data, the identified pose of the external robot, and the moving path of the external robot.

The identifying the pose of the external robot (S1130) may include identifying the positions of the respective sensors which output the plurality of echo signals from among the plurality of sensors disposed in the external robot based on the types of the plurality of echo signals received from the external robot when an error in communication with the external robot is identified as having occurred and identifying the pose of the external robot based on the identified positions of the respective sensors.

The methods according to the one or more embodiments of the disclosure described above may be implemented in application form installable in robots of the related art.

In addition, the identifying the target position of the robot (S1140) may include identifying, based on the pose information being received from the external robot, the target position of the robot based on the received pose information, the identified pose of the external robot, and the map data.

In addition, in the obtaining the position information of the external robot (S1110), the position information of the external robot may be obtained based on the sensing signal obtained by the LiDAR sensor and the time at which at least one echo signal is received from the external robot.

In addition, obtaining obstacle information based on the sensing signal obtained by the LiDAR sensor and changing the position of the communication interface provided in the robot based on the obtained obstacle information and the position information of the external robot may be further included.

In addition, outputting the external robot from the storage space in which the external robot is accommodated when work by the external robot is identified as necessary, planning a moving path of the external robot based on the pose of the external robot when work by the external robot is identified as completed, and accommodating the external robot in the storage space based on the planned moving path may be further included.

As described above, the communication error may be overcome by moving to the determined target position based on the pose of the external robot and the map data if an error in communication between the robot and the external robot occurs. Accordingly, because the error which occurred in the communication between the robot and the external robot may be actively removed and provision of service may be resumed, user convenience may be improved.

The methods according to the one or more embodiments of the disclosure described above may be implemented with only a software upgrade or a hardware upgrade of robots of the related art.

In addition, the one or more embodiments of the disclosure described above may be performed through an embedded server provided in the robot or at least one external server.

The one or more embodiments described above may be implemented in a recordable medium which is readable by computer or a device similar to computer using software, hardware, or the combination of software and hardware. In some cases, the embodiments described herein may be implemented by the processor <NUM> on its own. According to a software implementation, embodiments such as the procedures and functions described herein may be implemented with separate software modules. Each of the software modules may perform one or more of the functions and operations described herein.

Computer instructions for performing processing operations in the robot <NUM> according to the one or more embodiments of the disclosure described above may be stored in a non-transitory computer-readable medium. The computer instructions stored in this non-transitory computer-readable medium may cause a specific device to perform a processing operation of the robot <NUM> according to the one or more embodiments when executed by a processor of the specific device.

The non-transitory computer-readable medium may refer to a medium that stores data semi-permanently rather than storing data for a very short time, such as a register, a cache, a memory, or the like, and is readable by a device. Specific examples of the non-transitory computer-readable medium may include, for example, and without limitation, a compact disc (CD), a digital versatile disc (DVD), a hard disc, a Blu-ray disc, a USB, a memory card, a ROM, and the like.

While the disclosure has been illustrated and described with reference to example embodiments thereof, it will be understood that the specific embodiments described above are intended to be illustrative, not limiting.

Claim 1:
A robot (<NUM>) comprising:
a communication interface (<NUM>);
a sensor (<NUM>) configured to obtain distance data;
a driver (<NUM>) configured to control a movement of the robot (<NUM>);
a memory (<NUM>) storing with map data corresponding to a space in which the robot (<NUM>) travels; and
a processor (<NUM>) configured to:
control the sensor (<NUM>) to output a sensing signal for sensing a distance with an external robot (<NUM>),
obtain position information of the external robot (<NUM>) based on a time at which at least one echo signal is received from the external robot (<NUM>),
control at least one of the driver (<NUM>) or an operation state of the external robot (<NUM>) based on the position information,
transmit a control signal for controlling the operation state of the external robot (<NUM>) through the communication interface (<NUM>),
characterized in that,
in case of identifying, based on whether the at least on echo signal corresponding to the outputted sensing signal is received through the sensor, that an error in communication (<NUM>) with the external robot (<NUM>) through the communication interface (<NUM>) has occurred:
identify a pose of the external robot based on a type of the at least one echo signal received from the external robot,
identify a target position (<NUM>) of the robot (<NUM>) based on the pose of the external robot (<NUM>) and the stored map data (<NUM>),
control the driver (<NUM>) to move to the target position (<NUM>) to remove the error in communication, and
wherein the target position is a position to which a visibility to the external robot is secured.