Robot and control method for robot

By designing communicators, drivers, memory and processors in the robot system, identifying and matching pre-stored driver data, the problem of operation interruption of the robot when communicating errors is solved, and the normal operation of the robot in the wrong situation and user safety is achieved.

CN115989114BActive Publication Date: 2025-03-11SAMSUNG ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180052999.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-08-27
Filing Date
2021-08-20
Publication Date
2025-03-11
Estimated Expiration
2041-08-20

AI Technical Summary

Technical Problem

When the communication connection between the robot and external devices is incorrect, the robot may experience operational problems or stop suddenly, resulting in safety hazards and user inconvenience.

Method used

A robot system is designed, including a communicator, driver, memory and processor, to ensure that the robot can still operate normally after a communication error by receiving driving data from an external device and identifying matching pre-stored data when a communication error occurs.

Benefits of technology

It realizes that the robot can naturally continue to perform previous and subsequent operations when a communication connection error occurs, and improves the safety and reliability of the robot driving in a limited space and assisting users in walking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115989114B_ABST
    Figure CN115989114B_ABST
Patent Text Reader

Abstract

A robot comprises: a communicator; a driver configured to drive the robot; at least one memory configured to store at least one instruction; and at least one processor configured to execute the at least one instruction to perform the following operations: receiving first drive data from an external device communicating with the robot through the communicator and storing the first drive data in the memory, controlling the driver to perform an operation based on the first drive data, identifying second drive data received by the robot from the external device within a threshold period based on a time point at which the communication connection error occurs based on an occurrence of a communication connection error between the robot and the external device, wherein the second drive data matches at least a portion of the first drive data, identifying third drive data that is at least a portion of the first drive data and is continuous with a portion of the first drive data that matches the second drive data, and controlling the driver to perform an operation after the time point at which the communication connection error occurs between the robot and the external device based on the third drive data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority benefit of Korean Patent Application No. 10-2020-0108817 filed on August 27, 2020 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety. Technical Field

[0002] The present disclosure relates to a robot and a control method for the robot, and more particularly, to a robot and a control method for the robot, which can naturally continue the operations of the robot that were performed before and after the error occurs even when a communication connection error occurs between the robot and an external device. Background Art

[0003] Users are being provided with robots that satisfy user convenience when traveling in a limited space, such as companion robots, retail service robots, etc., and various types of robots, such as walking assist robots attached to the user's body.

[0004] Specifically, when controlling the operation of the robot, driving data pre-stored in the robot or driving data generated by the robot itself can be used, but the driving data can be received in real time from an external device (such as a server or an edge computing device), and the operation of the robot can be controlled based on the received driving data.

[0005] However, when the operation of the robot is controlled based on the driving data received from the external device, there may be a problem in the operation of the robot or a sudden stop due to a communication error or interruption between the robot and the external device, thereby interrupting the reception of the driving data. For example, a companion robot or a retail service robot may travel in the wrong direction and collide with an obstacle based on a communication connection error, and a walking assist robot may cause unexpected movement of a user or injury to the user due to a malfunction or a sudden stop. Summary of the invention

[0006] Technical issues

[0007] A robot is provided which controls at least part of its operation based on drive data received from an external device and which can continue normal operation even if a communication connection error between the robot and the external device occurs.

[0008] Technical Solution

[0009] According to one aspect of the present disclosure, a robot comprises: a communicator; a driver configured to drive the robot; at least one memory configured to store at least one instruction; and at least one processor configured to execute the at least one instruction to perform the following operations: receiving first drive data from an external device communicating with the robot through the communicator and storing the first drive data in the memory, controlling the driver to perform an operation based on the first drive data, identifying second drive data received by the robot from the external device within a threshold period based on a time point at which the communication connection error occurs based on a communication connection error between the robot and the external device, wherein the second drive data matches at least part of the first drive data, identifying third drive data that is at least part of the first drive data and is continuous with the part of the first drive data that matches the second drive data, and controlling the driver to perform an operation after the time point at which the communication connection error between the robot and the external device occurs based on the third drive data.

[0010] Each of the first driving data and the second driving data may include information on at least one parameter for controlling the driver.

[0011] The information about at least one parameter for controlling the driver may include information about a force applied to the robot and information about a time when the force is applied to the robot.

[0012] The processor may be further configured to execute the at least one instruction to perform the following operation: identifying the second driving data based on the information about the at least one parameter included in each of the first driving data and the second driving data.

[0013] The threshold period may be a period between a time point at which a communication connection error between the robot and the external device occurs and a time point a preset interval before the time point at which the communication connection error between the robot and the external device occurs.

[0014] The processor may be further configured to execute the at least one instruction to perform the following operations: based on a communication connection error between the robot and the external device continuing while an operation corresponding to the third drive data is being performed, identifying fourth drive data that is at least a portion of the first drive data continuous with the third drive data, and based on the fourth drive data, controlling the driver to perform an operation after the operation corresponding to the third drive data.

[0015] The processor may also be configured to execute the at least one instruction to perform the following operations: based on a communication connection error between the robot and the external device being resolved while performing an operation corresponding to the fourth drive data, receiving fifth drive data from the external device through the communicator, and based on the fifth drive data, controlling the driver to perform an operation after the communication connection error between the robot and the external device is resolved.

[0016] The robot may be configured to be worn on a user's body, and the processor may be further configured to execute the at least one instruction to perform the following operations: when the robot operates in a first mode, control the driver to perform an operation for assisting the user's walking, and when the robot operates in a second mode, control the driver to perform an operation for applying resistance to the user's walking.

[0017] The robot may also include at least one sensor, and the processor may also be configured to execute the at least one instruction to perform the following operations: control the communicator to obtain information about the user's walking through the at least one sensor and send the information about the user's walking to an external device, and the first driving data corresponds to the information about the user's walking.

[0018] The robot may be configured for traveling, and the processor may be further configured to execute the at least one instruction to perform the following operations: obtain map information including a path along which the robot moves, store the map information in the at least one memory, identify a position where the robot will stop based on the map information based on a communication connection error between the robot and an external device, and control the drive to stop after decelerating until the stop position is reached.

[0019] According to one aspect of the present disclosure, a method for controlling a robot includes: receiving first drive data from an external device that communicates with the robot and storing the received first drive data in a memory of the robot; controlling a driver of the robot to perform an operation based on the first drive data; based on an occurrence of a communication connection error between the robot and the external device, identifying second drive data received by the robot from the external device within a threshold period based on a time point at which the communication connection error occurs, wherein the second drive data matches at least part of the first drive data; identifying third drive data that is at least part of the first drive data and is continuous with the part of the first drive data that matches the second drive data, and based on the third drive data, controlling the driver to perform an operation after the time point at which the communication connection error between the robot and the external device occurs.

[0020] Each of the first driving data and the second driving data may include information on at least one parameter for controlling the driver.

[0021] The information about at least one parameter for controlling the driver may include information about a force applied to the robot and information about a time when the force is applied to the robot.

[0022] The identifying the second driving data may include identifying the second driving data based on information about at least one parameter for controlling the driver included in each of the first driving data and the second driving data.

[0023] The threshold period may be a period between a time point at which a communication connection error between the robot and the external device occurs and a time point a preset interval before the time point at which the communication connection error between the robot and the external device occurs.

[0024] The method may further include: based on the continuation of a communication connection error between the robot and the external device while performing an operation corresponding to the third driving data, identifying fourth driving data that is at least a part of the first driving data continuous with the third driving data, and controlling the driver to perform an operation after the operation corresponding to the third driving data based on the fourth driving data.

[0025] The method may further include: based on a communication connection error between the robot and the external device being resolved while performing an operation corresponding to the fourth driving data, receiving fifth driving data from the external device through the communicator, and based on the fifth driving data, controlling the driver to perform an operation after the communication connection error between the robot and the external device is resolved.

[0026] According to one aspect of the present disclosure, a non-transitory computer-readable medium has instructions stored therein, which can be executed by a processor to perform a method of controlling a robot, the method comprising: receiving first drive data from an external device that communicates with the robot and storing the received first drive data in a memory of the robot; controlling a driver of the robot to perform an operation based on the first drive data; based on an occurrence of a communication connection error between the robot and the external device, identifying second drive data received by the robot from the external device within a threshold period based on a time point when the communication connection error occurs, wherein the second drive data matches at least a portion of the first drive data; identifying third drive data that is at least a portion of the first drive data and is continuous with a portion of the first drive data that matches the second drive data, and based on the third drive data, controlling the driver to perform an operation after the time point when the communication connection error between the robot and the external device occurs.

[0027] The method may further include: based on the continuation of a communication connection error between the robot and the external device while performing an operation corresponding to the third driving data, identifying fourth driving data that is at least a part of the first driving data continuous with the third driving data, and controlling the driver to perform an operation after the operation corresponding to the third driving data based on the fourth driving data.

[0028] The method may further include: based on a communication connection error between the robot and the external device being resolved while performing an operation corresponding to the fourth driving data, receiving fifth driving data from the external device through the communicator, and based on the fifth driving data, controlling the driver to perform an operation after the communication connection error between the robot and the external device is resolved. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings, in which:

[0030] Figure 1 is a conceptual diagram briefly illustrating a robot and an external device according to an embodiment of the present disclosure;

[0031] Figure 2 is a diagram briefly illustrating a control method for a robot according to an embodiment of the present disclosure;

[0032] Figure 3 is a diagram showing in detail a control process of a robot for each period according to an embodiment of the present disclosure;

[0033] Figure 4 is a diagram showing in more detail a control process of a robot for each time period according to an embodiment of the present disclosure;

[0034] Figure 5 is a flowchart showing a control process of a robot according to the present disclosure after a communication connection error between the robot and an external device occurs and thereafter the error is resolved;

[0035] Figure 6 is a block diagram showing a hardware configuration of a robot according to an embodiment of the present disclosure;

[0036] Figure 7 is a block diagram showing a software configuration according to an embodiment of the present disclosure;

[0037] Figure 8 is a diagram illustrating a control process when the robot is a walking assist robot according to an embodiment of the present disclosure;

[0038] Fig. 9 is a diagram illustrating a control process when the robot is a traveling robot according to an embodiment of the present disclosure; and

[0039] Fig.10 is a diagram illustrating a control process when a plurality of external devices exist according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0040] Various modifications may be made to the embodiments of the present disclosure, and various types of embodiments may exist. Therefore, specific embodiments will be shown in the drawings, and the embodiments will be described in detail in the specific embodiments. However, it should be noted that the various embodiments do not limit the scope of the present disclosure to specific embodiments, but they should be interpreted as including all modifications, equivalents or substitutions of the embodiments included in the ideas and technical scopes disclosed herein. With regard to the description of the drawings, the same reference numerals may be used to indicate the same elements.

[0041] In addition, the following embodiments may be modified into various forms, and it should be understood that the scope of the technical spirit of the present disclosure is not limited to the following embodiments. On the contrary, the embodiments are provided to make the present disclosure thorough and complete, and to fully convey the technical spirit of the present disclosure to those skilled in the art.

[0042] The terms used herein are used only to describe a specific embodiment, rather than to limit the scope of another embodiment. Unless otherwise specified, a singular expression includes a plural expression.

[0043] In the present disclosure, expressions such as “having”, “may have”, “including”, “may include”, etc. are used to specify the existence of corresponding characteristics (for example, elements such as values, functions, operations or components) without excluding the existence or possibility of additional characteristics.

[0044] In the present disclosure, expressions such as "A or B", "at least one of A and B", or "at least one of A or B" may include all possible combinations of the items listed together. For example, "A or B", "at least one of A and B", or "at least one of A or B" may refer to all cases, including: (1) only A, (2) only B, or (3) both A and B.

[0045] Expressions such as "first", "second", "1st", "2nd", etc. used herein may be used to refer to various elements, regardless of order and / or importance. In addition, it should be noted that these expressions are only used to distinguish one element from another element, rather than limiting the relevant elements.

[0046] When an element (for example, a first element) is indicated as being "(operably or communicatively) coupled / coupled to" or "connected to" another element (for example, a second element), it may be understood that the element is directly coupled / coupled to the other element or is coupled through other elements (for example, a third element).

[0047] On the other hand, when an element (for example, a first element) is indicated as being "directly coupled / directly coupled to" or "directly connected to" another element (for example, a second element), it may be understood that other elements (for example, a third element) do not exist between the element and the other element.

[0048] The expression "configured to ..." (or set to)" used in the present disclosure may be used interchangeably with, for example, "suitable for ...", "capable of ...", "designed to ...", "suitable for ...", "manufactured to ...", or "capable of ..." depending on the situation. The term "configured to ..." (or set to)" may not necessarily mean "specifically designed to" in terms of hardware.

[0049] Conversely, in some cases, the expression “a device configured to…” may mean something that a device, together with another device or component, “can perform…” For example, the phrase “a processor configured (or set) to perform A, B, or C” may mean a dedicated processor (e.g., an embedded processor) for performing the corresponding operation, or a general-purpose processor (e.g., a central processing unit (CPU) or an application processor) capable of performing the corresponding operation by executing one or more software programs stored in a memory device.

[0050] The term "module" or "part" used in the embodiments of this document performs at least one function or operation, and can be implemented in hardware or software, or in a combination of hardware and software. In addition, in addition to the "module" or "component" that needs to be implemented in specific hardware, multiple "modules" or multiple "components" can be integrated into at least one module and implemented in at least one processor.

[0051] Various elements and regions of the drawings have been schematically shown. Therefore, the technical idea of ​​the present disclosure is not limited by the relative sizes and distances shown in the drawings.

[0052] Embodiments of the present disclosure will be described in detail with reference to the accompanying drawings to help those of ordinary skill in the art to understand.

[0053] Figure 1 is a conceptual diagram briefly illustrating a robot and an external device according to an embodiment of the present disclosure.

[0054] like Figure 1 As shown, the robot 100 according to the present disclosure may receive driving data from an external device 200 connected to the robot 100 and control the operation of the robot 100 based on the received driving data.

[0055] The robot 100 according to the present disclosure may be implemented as a walking assistance robot that can be worn on a user's body, a service robot that provides services to a user by traveling in a limited space, etc. However, the robot 100 according to the present disclosure is not limited to a specific type of robot, and any robot 100 that controls at least part of the operation of the robot 100 based on driving data received from an external device 200 may correspond to the robot 100 according to the present disclosure.

[0056] The "external device 200" may be implemented as a server, an edge computing device, etc. Here, the edge computing device may be a device for solving data delay phenomena, security issues, etc. that may be generated when processing data associated with multiple devices through cloud computing, and may refer to a device that can perform calculations at the physical location of the data source or near the location. The present embodiment is not limited to the type of the external device 200 or the specific type according to the present disclosure, and any device that can generate and send drive data to control the operation of the robot 100 connected to the external device 200 may correspond to the external device 200 according to the present disclosure.

[0057] The concept of the robot 100 and the external device 200 being connected may mean a state in which a communication connection is established due to a communication connection request and a response to the transmitted request between the robot 100 and the external device 200. It should be understood that there is no particular limitation on the method of communication connection according to the present disclosure.

[0058] “Drive data” may collectively refer to data for controlling the operation of the robot 100. Specifically, the drive data may refer to data configured to control the operation of the robot 100 by controlling a driver included in the robot 100. Specifically, the drive data may include information about at least one parameter for controlling the driver in a specific period of time. Here, the information about the at least one parameter may include information about a force applied to the robot 100 and information about a time when the force is applied to the robot 100. However, the information about the at least one parameter is not limited thereto. The drive data may be generated by the external device 200 based on information about the operation of the robot received from the robot 100.

[0059] Here, the term driver may refer to a configuration capable of generating power for implementing various operations of the robot 100 based on the driving data. In addition, the power generated by the driver may be transmitted to a support physically coupled to the driver and the support may be moved, and thus, various operations of the robot 100 may be implemented. Figure 6 , Figure 8 and Fig. 9 A more detailed description of the drive and support is described.

[0060] Figure 2is a diagram briefly illustrating a control method for a robot according to an embodiment of the present disclosure. In addition, Figure 3 is a diagram illustrating in detail a control process of a robot for each period according to an embodiment of the present disclosure.

[0061] like Figure 2 As shown, in an embodiment, the robot 100 may receive driving data from an external device 200 connected to the robot 100, store the received driving data (S210), and perform an operation corresponding to the received driving data based on the received driving data (S220).

[0062] Specifically, the process of the robot 100 receiving the driving data from the external device 200 and performing the operation corresponding to the driving data may be performed in real time. Figure 3 As shown, the control process according to the present disclosure may be continuously performed from the continuous first period to the sixth period. In addition, the robot 100 may receive the driving data A1 for performing the operation of the second period from the external device 200 during the first period, and receive the driving data B1 for performing the operation of the third period while performing the operation in the second period based on the received driving data A1 during the second period. In addition, the robot 100 may receive the driving data C1 for performing the operation of the fourth period while performing the operation of the third period based on the received driving data B1 during the third period, and receive the driving data A2 for performing the operation of the fifth period while performing the operation of the fourth period based on the received driving data C1 during the fourth period. In addition, even in the fifth period and the period thereafter, the robot may continuously perform the process as described above.

[0063] However, the premise that the robot 100 receives the driving data from the external device 200 and performs the operation corresponding to the driving data is performed in real time is that there is no communication connection error or interruption between the robot 100 and the external device 200. Figure 3 In the embodiment, in the process of receiving drive data for performing operations for the sixth time period while performing operations for the fifth time period based on the received drive data A2, if a communication connection error occurs between the robot 100 and the external device 200, the operations for the sixth time period continuous with the fifth time period may not be performed smoothly.

[0064] Therefore, if Figure 2As shown in the embodiment of the present invention, the robot 100 may identify whether a communication connection error has occurred between the robot 100 and the external device 200 (S230). Here, the term "identify" may be replaced with terms such as, for example but not limited to, "check", "sens", "detect", "determine", etc. Specifically, while performing an operation corresponding to the driving data based on the driving data received from the external device 200, the robot 100 may continuously sense and monitor whether a communication connection error has occurred between the robot 100 and the external device 200.

[0065] Here, the term "communication connection error" may mean that a delay, modulation, data loss, etc. occurs in the communication connection between the robot 100 and the external device 200, and more specifically, it may mean that due to the occurrence of delay, modulation, data loss, etc., at least a portion of the drive data for performing operations in a specific period is not received before the start time point of the specific period.

[0066] If the communication connection error between the robot 100 and the external device 200 does not occur (S230-No), the robot 100 can normally receive the driving data from the external device 200, and perform the operation corresponding to the driving data based on the received driving data. That is, the robot 100 can receive the driving data from the external device 200 during the period when the communication connection is normally maintained, and perform the processing of the operation corresponding to the driving data in real time. In other words, Figure 3 In the example of , the robot 100 may smoothly perform operations of the second to fifth periods based on the driving data received during the first to fourth periods.

[0067] On the other hand, if a communication connection error occurs between the robot 100 and the external device 200 (S230-Yes), the robot 100 can identify second drive data from the pre-stored drive data that matches the first drive data received from the external device 200 within a threshold period based on the time point when the communication connection error occurred (S240).

[0068] Here, the term "threshold period" may refer to a period from a time point before a preset time to a time point when a communication connection error occurs between the robot 100 and the external device 200. Figure 3 As shown, if a communication connection error occurs in the fifth period, the threshold period may be a period from the time point when the fourth period starts to the time point when the communication connection error occurs. However, the preset time may be set in various ways according to the embodiment.

[0069] The term "pre-stored driving data" may refer to driving data received before the threshold period as defined above, and may be considered to have a different meaning from the term "driving data received within the threshold period". Figure 3 In the example, the threshold period is preset as the period from the time point at which the fourth period starts to the time point at which the communication connection error occurs. Then, the pre-stored driving data can be received from the external device before the time point at which the fourth period starts, and therefore will include driving data A1, driving data B1 and driving data C1 as driving data stored in the memory. The driving data received within the threshold period can be received from the external device from the time point at which the fourth period starts to the time point at which the communication connection error occurs, and therefore will include driving data A2 stored in the memory.

[0070] The process of identifying the second driving data matching the first driving data may be performed based on information about at least one parameter included in each of the first driving data and the second driving data.

[0071] Specifically, the robot 100 may identify the second drive data that matches the first drive data based on the information about at least one parameter included in each of the first drive data and the second drive data. As described above, the information about the at least one parameter may include information about the force applied to the robot 100 and information about the time when the force is applied to the robot 100. Because the specific parameters may vary according to the embodiment of the robot 100, the following will refer to Figure 6 and Figure 7 Examples describing various types of parameters.

[0072] More specifically, the robot 100 may compare the first drive data with the second drive data, and identify that the information about at least one parameter included in the first drive data and the information about at least one parameter included in the second drive data are the same when comparing, or identify the second drive data as drive data that matches the first drive data when the information about at least one parameter included in the first drive data and the information about at least one parameter included in the second drive data are identified as similar. Here, the similarity between the information about at least one parameter included in the first drive data and the information about at least one parameter included in the second drive data may mean that the difference between the information about at least one parameter included in the first drive data and the information about at least one parameter included in the second drive data is less than a preset threshold.

[0073] Return to reference Figure 3In the example of, when a communication connection error occurs between the robot 100 and the external device 200 in the process of receiving the drive data for performing the operation of the sixth period while performing the operation of the fifth period based on the drive data A2 received by the robot 100, the operation during the fifth period can be smoothly performed because the drive data A2 for performing the operation of the fifth period has been received. However, unless the drive data B2 for performing the operation of the sixth period is received before the start of the sixth period due to the resolution of the communication connection error, the operation of the sixth period may not be smoothly performed. At this time, the robot 100 may identify the drive data A1 as the drive data matching the drive data A2 based on the information about at least one parameter included in the drive data A2 received from the external device 200 within the threshold period being the same as or similar to the information about at least one parameter included in the drive data A1 included in the pre-stored drive data.

[0074] When the second driving data matching the first driving data is identified, the robot 100 may perform an operation after the time when the communication connection error occurs based on the third driving data continuous with the second driving data (S250). Here, the third driving data may refer to driving data stored in the memory of the robot by being received in a period continuous with the period of receiving the second driving data. Figure 3 In the example of , when the driving data A1 matching the driving data A2 is identified, the robot 100 may perform the operation of the sixth period based on the driving data B1 received in the second period continuous with the first period in which the driving data A1 is received.

[0075] As used herein, the phrase "after the time point at which the communication connection error occurs" may not necessarily indicate the time directly after the time point at which the communication connection error occurs, and may indicate the time after the period following the period including the time point at which the communication connection error occurs. As described above, this is because, before the communication connection error occurs, it is possible that drive data for performing an operation for the period including the time point at which the communication connection error occurs has been normally received.

[0076] According to the embodiment, even when a communication connection error with the external device 200 occurs while receiving driving data from the external device 200 and performing the operation of the robot 100, driving data corresponding to driving data that is not normally received due to the communication connection error can be identified from pre-stored driving data, and the operation of the robot 100 can be performed based on the identified driving data. Then, according to this, the operation of the robot 100 performed before and after the occurrence of the communication connection error can be naturally continued.

[0077] Figure 4 is a diagram illustrating in more detail a control process of a robot for each period according to an embodiment of the present disclosure.

[0078] Specifically, Figure 4 The change in the magnitude of the parameter value included in the driving data according to the time flow of receiving the driving data is represented in a graph to describe the process of identifying the second driving data matching the first driving data in more detail. Here, the parameter may be a force applied to the robot 100, but may not be limited thereto.

[0079] As mentioned above Figure 2 and Figure 3 As described, the robot 100 according to the present disclosure may receive driving data from the external device 200 connected to the robot 100, store the received driving data, and perform an operation corresponding thereto based on the received driving data. At this time, if a communication connection error occurs between the robot 100 and the external device 200, the robot 100 may identify second driving data that matches the first driving data received from the external device 200 within a threshold period based on the time point at which the communication connection error occurs from the pre-stored driving data. Then, based on the third driving data that is continuous with the second driving data, the robot 100 may perform an operation after the time point at which the communication connection error occurs.

[0080] exist Figure 3 In the above description, the driving data has been described based on the premise that the driving data corresponds to each of the time periods, but the present disclosure is not limited thereto. Figure 4 As shown, the driving data can be divided according to the change form in the parameters including the driving data. Figure 4 In the embodiment of FIG. 4 , the driving data may be divided into driving data 410 with a decreasing parameter value, driving data 420 with an increasing parameter value, driving data 430 with a decreasing parameter value again, and driving data 440 with an increasing parameter value again. Then, as Figure 4 As shown, the robot 100 may perform an operation for a period corresponding to each of the driving data 410 , the driving data 420 , and the driving data 430 based on the driving data 410 , the driving data 420 , and the driving data 430 .

[0081] However, if a communication connection error occurs between the robot 100 and the external device 200 during the fifth period, the robot 100 may identify at least a portion of the drive data 430 from the drive data received from the external device 200 within a threshold period based on the time point at which the communication connection error occurs, from the pre-stored drive data, and identify the pre-stored drive data that matches the identified drive data 430. Specifically, the robot 100 may identify the drive data 410 that matches the drive data 430 based on information about at least one parameter included in each of the drive data 410 and the drive data 430. That is, as Figure 4As shown, when the change in the magnitude of the parameter value according to time of the driving data 410 and the change in the magnitude of the parameter value according to time of the driving data 430 are the same or similar, the robot 100 may identify the driving data 410 as driving data matching the driving data 430.

[0082] Furthermore, based on the driving data 420 continuous with the driving data 410 , the robot 100 may perform an operation after a point in time at which a communication connection error occurs. Figure 4 The driving data 440 indicates that the driving data 420 can be used to perform an operation after a point in time when a communication connection error occurs.

[0083] exist Figure 3 and Figure 4 , the lengths of the first to sixth periods have been shown based on the premise that each period has the same time length, but the time length of each period may be different from each other.

[0084] Figure 5 is a flowchart showing a control process of the robot according to the embodiment after a communication connection error between the robot and an external device occurs and thereafter the error is resolved.

[0085] In the above, the control process of the robot 100 when the communication connection error between the robot 100 and the external device 200 occurs has been described, but the communication connection error can be resolved as long as the communication connection error is not caused by a defect in hardware, etc. In addition, if the communication connection error between the robot 100 and the external device 200 is resolved, the robot 100 can normally receive drive data from the external device 200 again, and perform an operation corresponding thereto based on the received drive data.

[0086] Specifically, as mentioned above Figure 2 As described, if a communication connection error occurs between the robot 100 and the external device 200 (S230-Yes), the robot 100 can identify second drive data (S240) from pre-stored drive data that matches the first drive data received from the external device 200 within a threshold period based on the time point when the error occurs, and perform an operation (S250, S510) after the time point when the communication connection error occurs based on third drive data continuous with the second drive data.

[0087] Then, if the communication connection error is maintained while the operation corresponding to the third drive data is performed based on the third drive data (S520-No), the robot 100 may perform an operation subsequent to the operation corresponding to the third drive data based on fourth drive data continuous with the third drive data (S530). Here, the fourth drive data refers to drive data received in a period continuous with a period in which the third drive data is received and stored in the memory of the robot 100.

[0088] That is to say, referring to the above Figure 3 In the described example, if drive data A1 matching drive data A2 is identified, the robot 100 may perform operations for the sixth period based on drive data B1 received in a second period continuous with the first period in which drive data A1 is received, and if a communication connection error is maintained while performing operations for the sixth period, operations for the seventh period may be further performed based on drive data C1 received in the third period.

[0089] If the communication connection error between the robot 100 and the external device 200 is resolved (S520-Y), the robot 100 may receive fifth driving data from the external device 200 (S530). Then, based on the received fifth driving data, the robot 100 may perform an operation after the communication connection error is resolved (S540).

[0090] That is to say, referring to the above Figure 3 In the described example, if drive data C2 for performing operations for a seventh period continuous with the sixth period is received from the external device 200 while operations for the sixth period are performed based on drive data B1 continuous with drive data A1, the robot 100 may perform operations for the seventh period based on the received drive data C2.

[0091] Figure 6 is a block diagram illustrating a hardware configuration of a robot according to an embodiment of the present disclosure.

[0092] like Figure 6 As shown, the robot 100 according to the present disclosure may include a communicator 110, a driver 120, a memory 130, and a processor 140. However, the above configurations are examples, and in implementing the present disclosure, in addition to the above configurations, new configurations may be added or some configurations may be omitted.

[0093] The communicator 110 may include a circuit, and perform communication with the external device 200. Specifically, the processor 140 may receive various data or information from the external device 200 connected through the communicator 110, and also transmit various data or information to the external device 200.

[0094] The communicator 110 may include at least one of a WiFi module, a Bluetooth module, a wireless communication module, and a near field communication (NFC) module. Specifically, each of the WiFi module and the Bluetooth module may perform communication in a WiFi method and a Bluetooth method. When the WiFi module or the Bluetooth module is used, various connection information (such as a service set identifier (SSID)) may be first sent and received, and various information may be sent and received after performing a communication connection using the various connection information.

[0095] In addition, the wireless communication module may perform communication according to various communication standards, such as, for example, but not limited to, IEEE, ZigBee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), 5th Generation (5G), etc. In addition, the NFC module may perform communication using a 13.56 MHz band among various radio frequency identification (RFID) bands, such as, for example, but not limited to, 135 kHz, 13.56 MHz, 433 MHz, 860-960 MHz, 2.45 GHz, etc., using an NFC method.

[0096] Specifically, according to various embodiments of the present disclosure, the communicator 110 may perform communication with the external device 200 and receive driving data from the external device 200 , and also transmit information about the user's walking to the external device 200 .

[0097] The driver 120 may refer to a configuration of components capable of generating power for implementing various operations of the robot 100 based on driving data. In addition, the power generated by the driver 120 may be transmitted to a support physically coupled to the driver 120 and the support may be moved, and thus, various operations of the robot 100 may be implemented.

[0098] Specifically, the driver 120 may include a motor that generates a rotational force of a predetermined torque based on the electric energy supplied to the robot 100, and may also include a piston or cylinder device that generates a rotational force based on the hydraulic pressure or air pressure supplied to the robot 100. In addition, the support may include a plurality of joints and a plurality of connections coupling the plurality of joints, and in addition, may also be implemented in various shapes to perform various operations of the robot 100. The robot 100 according to the present disclosure may include a plurality of drivers 120 or a plurality of supports. In addition, the configuration in the driver 120 and the support is not limited to a specific number.

[0099] Specifically, according to various embodiments of the present disclosure, the driver 120 may be provided at various positions in various types and in various numbers according to the type of the robot 100. Figure 8 and Fig. 9 The configuration of the driver 120 according to the type of the robot 100 is described.

[0100] In the memory 130, at least one instruction associated with the electronic device may be stored. In addition, an operating system (O / S) for driving the robot 100 may be stored in the memory 130. In addition, according to various embodiments of the present disclosure, various software programs or applications for operating the robot 100 may be stored in the memory 130. In addition, the memory 130 may include a semiconductor memory (such as a flash memory), a magnetic storage medium (such as a hard disk), and the like.

[0101] Specifically, the memory 130 may store various software modules for the robot 100 to operate according to various embodiments of the present disclosure, and the processor 140 may execute the various software modules stored in the memory 130 and control the operation of the robot 100. That is, the memory 130 may be accessed by the processor 140, and reading / writing / modification / deletion / update of data may be performed by the processor 140.

[0102] In the present disclosure, the term “memory” may include the memory 130 , a read only memory (ROM), a random access memory (RAM) in the processor 140 , or a memory card (e.g., a micro SD card, a memory stick) installed to the robot 100 .

[0103] Specifically, according to various embodiments of the present disclosure, driving data received from the external device 200 may be stored in the memory 130 , and information on the user's walking obtained through at least one sensor may be stored.

[0104] Besides this, various information necessary for achieving the purpose of the present disclosure may be stored in the memory 130 , and the information stored in the memory may be received from the server or the external device 200 or updated via a user input.

[0105] The processor 140 may control the overall operation of the robot 100. Specifically, the processor 140 may be connected to the configuration of the robot 100 including the communicator 110, the driver 120, and the memory 130 as described above, and control the overall operation of the electronic device by executing at least one instruction stored in the memory 130 as described above.

[0106] The processor 140 may be implemented in various ways. For example, the processor 140 may be implemented as at least one of an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), and a digital signal processor (DSP). In the present disclosure, the term "processor" may include a central processing unit (CPU), a graphics processing unit (GPU), a main processing unit (MPU), etc.

[0107] Specifically, according to various embodiments of the present disclosure, the processor 140 can receive driving data from an external device 200 connected to the robot 100 through the communicator 110, store the received driving data 135 in the memory 130, control the driver 120 based on the driving data so that the robot 100 performs an operation corresponding to the driving data, and if a communication connection error occurs between the robot 100 and the external device 200, identify from the driving data 135 pre-stored in the memory 130 second driving data that matches the first driving data received from the external device 200 within a threshold time based on the time point when the communication connection error occurs, and based on third driving data continuous with the second driving data, control the driver 120 so that the robot 100 performs an operation after the time point when the communication connection error occurs.

[0108] As mentioned above Figures 1 to 5 Since various embodiments of the present disclosure are based on the control of the robot 100 by the processor 140, redundant description will be omitted.

[0109] Embodiments of the robot 100 may further include at least one sensor, an input device, and an output device. Specifically, at least one sensor may sense movement information of the robot 100 or environmental information outside the robot 100, the input device may include at least one of a microphone, a camera, and a remote controller signal receiving unit, and the processor 140 may receive a user command for controlling the operation of the robot 100 through the input device. In addition, the output device may include at least one of a display, a speaker, and an indicator, and the processor 140 may output various functions that can be performed by the robot 100 through the output device.

[0110] Figure 7 is a block diagram showing a software configuration according to an embodiment of the present disclosure.

[0111] like Figure 7 As shown, the robot 100 according to the present disclosure may include a drive data storage module 1010, a communication error detection module 1020, a drive data identification module 1030, and a driver control module 1040. In addition, the processor 140 may perform various control processes according to the present disclosure through the drive data storage module 1010, the communication error detection module 1020, the drive data identification module 1030, and the driver control module 1040 based on the drive data 135 stored in the memory 130.

[0112] The driving data storage module 1010 may refer to a module that stores driving data 135 received from the external device 200 in the memory 130. Specifically, when driving data is received from the external device 200 through the communicator 110, the driving data storage module 1010 may store the received driving data 135 in one area of ​​the memory 130. Then, the processor 140 may control the driver 120 to perform an operation of the robot 100 corresponding to the driving data based on the driving data 135 stored in the memory 130.

[0113] The communication error detection module 1020 may refer to a module that senses whether a communication connection error occurs between the robot 100 and the external device 200. Specifically, while performing an operation corresponding to the driving data 135 based on the driving data received from the external device 200, the robot 100 may continuously sense whether a communication connection error occurs between the robot 100 and the external device 200, and transmit information to the driving data recognition module 1030 according to the sensing result.

[0114] The driving data identification module 1030 may refer to a module that identifies driving data that matches the driving data 135 received from the external device 200 within a threshold period from the driving data pre-stored in the memory 130. Specifically, the driving data identification module 1030 may identify driving data for performing an operation for a specific period from the driving data 135 pre-stored in the memory 130, and transmit information according to the identification result to the driver control module 1040. For example, if information that a communication connection error occurs between the robot 100 and the external device 200 is received from the communication error detection module 1020, the driving data identification module 1030 may identify second driving data that matches the first driving data received from the external device 200 within a threshold period based on a time point at which the communication connection error occurs from the pre-stored driving data, and transmit the information according to the identification result to the driver control module 1040.

[0115] The driver control module 1040 may refer to a module that controls the driver 120 based on the driving data. Specifically, when information about driving data for performing an operation for a specific period is transmitted from the driving data identification module 1030, the driver control module 1040 may control the driver 120 based on the driving data for performing the operation for the specific period. For example, when information about second driving data matching the first driving data is received from the driving data identification module 1030, the driver control module 1040 may control the driver 120 to perform an operation after a time point at which a communication connection error occurs based on third driving data that is continuous with the second driving data.

[0116] In the above, reference has been made to Figure 7The configuration of the software module according to the present disclosure is described, but this is only one embodiment and can be used in the same manner as Figure 7 The methods shown in the figure are implemented in different ways.

[0117] Figure 8 is a diagram illustrating a control process when the robot is a walking assist robot according to an embodiment of the present disclosure.

[0118] As described above, although there is no specific limitation on the type of the robot 100 according to the present disclosure, the robot 100 according to the present disclosure may be specifically implemented as a walking assistance robot 100-1. The walking assistance robot 100-1 may refer to a robot 100 that is worn on a user's body to assist the user's walking. Specifically, Figure 8 As shown, the walking assistance robot 100-1 may include a driver 810, a support 820, a thigh belt 830, at least one sensor 840, a communicator 850, a memory 860, and a processor 870. Figure 8 , although the driver 810, the support 820, and the thigh belt 830 are shown as being disposed on the right side of the user's leg, the driver 810, the support 820, and the thigh belt 830 may be disposed on the left side of the user's leg. Figure 6 Descriptions that overlap with the descriptions described below have been omitted, and it will be mainly described that the robot 100 according to the present disclosure is implemented as a walking assist robot 100 - 1 .

[0119] The driver 810 may refer to a configuration capable of generating power for performing various operations of the walking assistance robot 100-1 based on driving data. Specifically, the driver 810 may include a motor that generates a rotational force of a predetermined torque based on the electrical energy supplied to the robot 100. The power generated by the driver 810 may then be transmitted to a support 820 physically coupled to the driver 810, and further transmitted to the lower body of the user through a thigh belt 830 connected to the support 820.

[0120] Here, the force transmitted to the user's lower body may be applied to a direction corresponding to the direction in which the user's legs are moving, or applied to a direction opposite to the direction in which the user's legs are moving. That is, the walking assistance robot 100-1 according to the present disclosure may operate in a first mode (assistance mode) for performing an operation for assisting the user's walking and a second mode (exercise mode) for performing an operation for applying resistance to the user's walking.

[0121] Specifically, the direction of the force transmitted to the user's right leg when the user is walking may be the opposite direction to the direction of the force transmitted to the user's left leg to correspond to the user's walking operation. That is, when the user is walking, the directions of the forces applied to the user's right leg and left leg may be applied in directions opposite to each other to correspond to the user's walking operation. In this way, the movement of each of the user's right leg and left leg may have a specific walking pattern according to the user's movement when the user is walking, and therefore, the magnitude and direction of the force applied by the robot 100 to each of the user's right leg and left leg may also have a specific pattern corresponding to the user's walking pattern. For example, the magnitude of the force applied by the robot 100 to each of the user's right leg and left leg when the user is walking may have a specific pattern as follows: Figure 4 The specific mode shown.

[0122] When the user is walking, at least one sensor 840 may sense information about the user's walking. Here, "information about the user's walking" may include information about at least one of the angles of the two hip joints of the user when the user is walking, the difference between the two hip joint angles, and the movement directions of the two hip joints. In addition, the information about the user's walking may include information about the acceleration of the user when the user is walking, information about the landing point of the user's feet when the user is walking, etc. That is, in the present disclosure, information about the user's walking may be used as a term to collectively refer to all information associated with the movement of the user's legs when the user is walking.

[0123] As mentioned above Figure 6 As described above, the communicator 850 may perform communication with the external device 200 and receive the driving data from the external device 200, and also transmit information about the user's walking to the external device 200. Then, the memory 860 may store the driving data (e.g., such as the driving data 135) received from the external device 200 and the information about the user's walking obtained through the at least one sensor 840.

[0124] The processor 870 may be connected to the driver 810, the communicator 850, and the memory 860, and control the operation of the walking assistance robot 100-1. Specifically, the processor 870 may obtain information about the user's walking through at least one sensor 840. Then, when the information about the user's walking is obtained, the processor 870 may control the communicator 850 to send the information about the user's walking to the external device 200. When driving data corresponding to the information about the user's walking is received from the external device 200 through the communicator 850, the processor 870 may control the operation of the walking assistance robot 100-1 based on the received driving data.

[0125] Specifically, when the walking assistance robot 100-1 operates in the first mode, the processor 870 may control the driver 810 based on the driving data corresponding to the walking of the user so that a predetermined force is applied in a direction corresponding to the direction in which the legs of the user move. When the walking assistance robot 100-1 operates in the second mode, the processor 870 may control the driver 810 based on the driving data corresponding to the walking of the user so that a predetermined force is applied in a direction opposite to the direction in which the legs of the user move.

[0126] Processor 870 can be implemented as above Figures 1 to 7 Various embodiments consistent with the description. Specifically, the processor 870 can receive drive data from the external device 200 connected to the walking assistance robot 100-1 through the communicator 850 and store it in the memory 860, and control the driver 810 of the walking assistance robot 100-1 based on the drive data to perform an operation corresponding to the drive data. Then, if a communication connection error occurs between the walking assistance robot 100-1 and the external device 200, the processor 870 can identify the second drive data that matches the first drive data received from the external device 200 within a threshold period based on the time point when the error occurs from the drive data pre-stored in the memory 860, and based on the third drive data continuous with the second drive data, control the driver 810 to make the robot 100 perform the operation after the time point when the communication error occurs.

[0127] For example, when the walking assistance robot 100-1 is operated in the first mode, the processor 870 may control the driver 810 so that a predetermined force is applied in a direction corresponding to the direction in which the user's legs move. At this time, if a communication connection error occurs between the walking assistance robot 100-1 and the external device 200, the processor 870 may identify the drive data corresponding to the drive data that was not normally received due to the communication connection error from the drive data pre-stored in the memory 860, and control the driver 810 based on the identified drive data so that a predetermined force is applied in a direction corresponding to the direction in which the user's legs move. Therefore, despite the occurrence of a communication connection error, the operation in the first mode performed before and after the occurrence of the communication connection error can be naturally continued.

[0128] In addition, when the walking assistance robot 100-1 is operated in the second mode, the processor 870 may control the driver 810 so that a predetermined force is applied in a direction opposite to the direction in which the user's legs move. At this time, if a communication connection error occurs between the walking assistance robot 100-1 and the external device 200, the processor 870 may identify the drive data corresponding to the drive data that was not normally received due to the communication connection error from the drive data pre-stored in the memory 860, and control the driver 810 based on the identified drive data so that a predetermined force is applied in a direction opposite to the direction in which the user's legs move. Therefore, despite the occurrence of a communication connection error, the operation in the second mode performed before and after the occurrence of the communication connection error can be naturally continued.

[0129] Fig. 9 is a diagram illustrating a control process when the robot is a traveling robot according to an embodiment of the present disclosure.

[0130] The robot 100 according to the present disclosure may be implemented as follows Figure 8 The walking assistance robot 100-1 shown in FIG. Fig. 9 The traveling robot 100-2 shown. The traveling robot 100-2 according to the present disclosure may refer to a robot that travels on a path from a current location to a destination. For example, the traveling robot 100-2 according to the present disclosure may include not only a companion robot or a retail service robot that travels in a limited indoor space, but also a road traveling robot 100-2 that travels in an outdoor space, etc. In an embodiment, the traveling robot 100-2 may include a drive, wheels, a communicator, a memory, and a processor. Figure 6 Descriptions that overlap with the descriptions described will be omitted below, and a robot implemented as a traveling robot (100-2) according to the present disclosure will be mainly described.

[0131] The driver may generate a rotational force based on the electric energy supplied to the robot, and the rotational force may be transmitted to the wheels. Then, the traveling robot 100-2 moves from its current position to the destination through the rotation of the wheels.

[0132] Then, the processor may receive driving data from the external device 200 connected to the traveling robot 100-2 through the communicator and store the driving data in the memory, and based on the driving data, control the driver to make the traveling robot 100-2 perform an operation corresponding to the driving data. Then, when a communication connection error occurs between the traveling robot 100-2 and the external device 200, the processor may identify, from the driving data pre-stored in the memory, second driving data that matches the first driving data received from the external device 200 within a threshold period based on the time point at which the error occurred, and control the driver to make the robot perform an operation after the time point at which the communication connection error occurred based on the third driving data that is continuous with the second driving data.

[0133] For example, if a communication connection error occurs between the traveling robot 100-2 and the external device 200 while the traveling robot 100-2 is traveling on a path from its current position to a destination based on driving data received from the external device 200, the processor can identify driving data corresponding to the driving data that was not normally received due to the communication connection error from driving data pre-stored in the memory, and based on the identified driving data, control the drive so that the traveling robot 100-2 reaches the destination even after the time point when the communication connection error occurs.

[0134] In addition, if a communication connection error occurs between the traveling robot 100-2 and the external device 200 while the traveling robot 100-2 is traveling on a path from its current position to a destination based on driving data received from the external device 200, the processor can identify driving data corresponding to the driving data that was not normally received due to the communication connection error from driving data pre-stored in the memory, and based on the identified driving data, control the drive so that the traveling robot 100-2 safely decelerates and stops after the time point when the communication connection error occurs.

[0135] The processor may also obtain information about the path while the traveling robot 100-2 moves along the path, generate map information based on the information and store it in the memory. In addition, if a communication connection error occurs between the traveling robot 100-2 and the external device 200 while the traveling robot 100-2 is traveling on the path from its current position to the destination based on the driving data received from the external device 200, the processor may identify the position where the robot will stop based on the pre-stored map information, and control the drive to stop the traveling robot 100-2 after deceleration until it reaches the stop position.

[0136] Fig.10 is a diagram illustrating a control process when a plurality of external devices exist according to an embodiment of the present disclosure.

[0137] In the above, the present disclosure has been described assuming that the external device 200 is single, but the external device 200 according to the present disclosure may be multiple. Specifically, the multiple external devices 200 according to the present disclosure may include a first external device 200-1 as an edge computing device for processing data requiring speed and a second external device 200-2 as a cloud computing device for processing data requiring advanced processing. In addition, the robot 100 may perform various operations using at least part of the drive data received from the first external device 200-1 and the drive data received from the second external device 200-2.

[0138] Specifically, Fig.10 As shown, the robot 100 may receive driving data from the first external device 200-1 (S1010) and store the received driving data (S1020). Then, the robot 100 may perform an operation corresponding to the driving data based on the driving data received from the first external device 200-1 (S1030).

[0139] At this time, if the first communication connection error between the robot 100 and the first external device 200-1 does not occur, the robot 100 may receive the driving data from the first external device 200-1 and perform a process of performing an operation corresponding to the driving data in real time. On the other hand, if the first communication connection error between the robot 100 and the first external device 200-1 occurs (S1040), the robot 100 may request the driving data from the second external device 200-2 (S1050). Then, when the driving data is received from the second external device 200-2 (S1060), the robot 100 may perform an operation corresponding to the driving data based on the driving data received from the second external device 200-2 (S1070).

[0140] In this case, if the second communication connection error between the robot 100 and the second external device 200-2 does not occur, the robot 100 can receive the driving data from the second external device 200-2 and perform the process of performing the operation corresponding to the driving data in real time. In addition, even if the second communication connection error between the robot 100 and the second external device 200-2 occurs, if the first communication connection error between the robot 100 and the first external device 200-1 is resolved, the robot 100 can receive the driving data from the first external device 200-1 and perform the process of performing the operation corresponding to the driving data in real time.

[0141] However, if a second communication connection error occurs between the robot 100 and the second external device 200-2 when the first communication connection error between the robot 100 and the first external device 200-1 is not resolved (S1080), the robot 100 can identify second drive data that matches the first drive data received from the external device within a threshold period based on the time point when the second communication connection error occurred from the pre-stored drive data (S1090), and perform an operation after the time point when the communication connection error occurred based on third drive data continuous with the second drive data (S1095).

[0142] In the above, reference has been made to Fig.10 The embodiment when the external device according to the present disclosure is multiple is described, but the present disclosure is not limited thereto. That is, when the external device according to the present disclosure is multiple, the above reference can be similarly applied. Figures 1 to 9 Various embodiments of the present disclosure are described.

[0143] The control method for the robot 100 according to the above-described embodiment may also be implemented with a program and provided to the robot 100. Specifically, the program including the control method for the robot 100 may be stored in a non-transitory computer-readable medium and provided.

[0144] Specifically, in terms of a computer-readable recording medium including a program for executing a control method for the robot 100, the control method for the robot 100 includes: receiving drive data from an external device connected to the robot 100 and storing the received drive data, controlling a driver of the robot 100 based on the drive data so that the robot 100 performs an operation corresponding to the drive data, based on a communication connection error between the robot 100 and the external device, identifying, from pre-stored drive data, second drive data that matches first drive data received from the external device within a threshold period based on a time point at which the communication connection error occurs, and based on third drive data continuous with the second drive data, controlling the driver so that the robot 100 performs an operation after the time point at which the communication connection error occurs.

[0145] A non-transitory computer-readable medium may refer to a medium (such as a register, a cache, a memory, etc.) that stores data semi-permanently rather than storing data for a very short period of time, and can be read by a device. Specifically, the above-mentioned various applications or programs may be stored in a non-transitory computer-readable medium (such as, for example but not limited to, a compact disc (CD), a digital versatile disc (DVD), a hard disk, a Blu-ray disc, a USB, a memory card, a ROM, etc.), and provided.

[0146] In the above, although the control method for the robot 100 and the computer-readable recording medium including a program for executing the control method for the robot 100 have been briefly described, this is only for the purpose of omitting redundant description, and various embodiments of the robot 100 may also be applied to the control method for the robot 100 and the computer-readable recording medium including a program for executing the control method for the robot 100.

[0147] The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Herein, "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), and the term does not distinguish whether data is semi-permanently stored or temporarily stored in the storage medium. For example, a "non-transitory storage medium" may include a buffer that temporarily stores data.

[0148] According to an embodiment, a method according to various embodiments included in a computer program product may be provided. The computer program product may be exchanged between a seller and a buyer as a commodity. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or distributed online (e.g., downloaded or uploaded) through an application store (e.g., PLAYSTORETM), or distributed directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be at least temporarily stored in a manufacturer's server, an application store's server, or a storage medium (such as a memory of a relay server), or temporarily generated.

[0149] According to various embodiments of the present disclosure as described above, even when a communication connection error with the external device 200 occurs while the operation of the robot 100 is performed by receiving drive data from the external device 200, drive data corresponding to the drive data that is not normally received due to the communication connection error can be identified from pre-stored drive data, and the operation of the robot 100 can be performed based on the identified drive data. Then, according to this, the operation of the robot 100 performed before and after the communication connection error occurs can be naturally continued.

[0150] Each element (e.g., module or program) according to various embodiments may be formed as a single entity or multiple entities, and some of the above sub-elements may be omitted, or different sub-elements may be further included in various embodiments. Alternatively or additionally, some elements (e.g., modules or programs) may be integrated into one entity to perform the same or similar functions performed by the corresponding elements before integration.

[0151] According to various embodiments, operations performed by a module, a program or another element may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or at least some operations may be performed in a different order, omitted or different operations may be added.

[0152] The term "unit" or "module" used in the present disclosure may include a unit configured as hardware, software, or firmware, and may be used interchangeably with terms such as, for example, but not limited to, logic, logic block, component, circuit, etc. A "unit" or "module" may be a minimum unit or part of an integrally formed component or component that performs one or more functions. For example, a module may be configured as an application specific integrated circuit (ASIC).

[0153] Various embodiments may be implemented using software including instructions stored in a machine-readable storage medium (e.g., a computer). The machine may call the instructions stored in the storage medium, and as a device operable according to the called instructions, the robot 100 according to the above-described embodiments may be included.

[0154] Based on the instructions being executed by the processor, the processor may perform functions corresponding to the instructions directly or using other elements under the control of the processor. The instructions may include codes generated by a compiler or executed by an interpreter.

[0155] Although the present disclosure has been shown and described with reference to various exemplary embodiments of the present disclosure, it should be understood that the various exemplary embodiments are intended to be illustrative rather than restrictive. Those skilled in the art will appreciate that various changes in form and details may be made thereto without departing from the true spirit and full scope of the present disclosure (including the appended claims and their equivalents).

Claims

1. A robot comprising: communicator; a driver configured to drive the robot; at least one memory configured to store at least one instruction; as well as At least one processor is configured to execute the at least one instruction to perform the following operations: receiving first driving data from an external device communicating with the robot through the communicator and storing the first driving data in the memory, controlling the driver to perform an operation based on first driving data, identifying second drive data received by the robot from the external device within a threshold period based on a communication connection error between the robot and the external device, the threshold period being a period between a time point at which the communication connection error occurs and a time point at a preset interval before the time point at which the communication connection error occurs, wherein the second drive data matches at least a portion of the first drive data, identifying third drive data that is at least a portion of the first drive data and is continuous with the portion of the first drive data that matches the second drive data, and Based on third driving data, the driver is controlled to perform an operation after a time point at which a communication connection error between the robot and an external device occurs.

2. The robot according to claim 1, wherein: Each of the first driving data and the second driving data includes information on at least one parameter for controlling the driver.

3. The robot according to claim 2, wherein: The information about at least one parameter for controlling the driver includes information about a force applied to the robot and information about a time when the force is applied to the robot.

4. The robot according to claim 2, wherein: The processor is further configured to execute the at least one instruction to perform the following operations: based on the information about the at least one parameter included in each of the first drive data and the second drive data, identify the second drive data.

5. The robot according to claim 1, wherein: The processor is further configured to execute the at least one instruction to perform the following operations: identifying fourth drive data that is at least part of the first drive data continuous with the third drive data based on a communication connection error between the robot and the external device continuing while an operation corresponding to the third drive data is performed, and Based on the fourth driving data, the driver is controlled to perform an operation subsequent to the operation corresponding to the third driving data.

6. The robot according to claim 5, wherein: The processor is further configured to execute the at least one instruction to perform the following operations: receiving fifth driving data from the external device through the communicator based on a communication connection error between the robot and the external device being resolved while the operation corresponding to the fourth driving data is performed, and Based on fifth driving data, the driver is controlled to perform an operation after a communication connection error between the robot and an external device is resolved.

7. The robot according to claim 1, wherein: The robot is configured to be worn on a user's body, and The processor is further configured to execute the at least one instruction to perform the following operations: When the robot operates in the first mode, the driver is controlled to perform an operation for assisting a user's walking, and when the robot operates in the second mode, the driver is controlled to perform an operation for applying resistance to the user's walking.

8. The robot according to claim 7, further comprising: at least one sensor, The processor is further configured to execute the at least one instruction to perform the following operations: controlling the communicator to obtain information about the user's walking through the at least one sensor and to transmit the information about the user's walking to an external device, and The first driving data corresponds to information about the user's walking.

9. The robot according to claim 1, wherein: The robot is configured to travel, and the processor is further configured to execute the at least one instruction to perform the following operations: obtaining map information including a path along which the robot moves, storing map information in the at least one memory, identifying a position where the robot will stop based on map information based on occurrence of a communication connection error between the robot and an external device, The driver is controlled to stop after deceleration until reaching the stop position.

10. A method for controlling a robot, the method comprising: receiving first driving data from an external device in communication with the robot and storing the received first driving data in a memory of the robot; controlling a driver of the robot to perform an operation based on first driving data; identifying, based on occurrence of a communication connection error between the robot and the external device, second drive data received by the robot from the external device within a threshold period, the threshold period being a period between a time point at which the communication connection error occurs and a time point at a preset interval before the time point at which the communication connection error occurs, wherein the second drive data matches at least a portion of the first drive data; identifying third drive data that is at least a portion of the first drive data and is continuous with the portion of the first drive data that matches the second drive data, and Based on the third driving data, the driver is controlled to perform an operation after a time point at which a communication connection error between the robot and the external device occurs.

11. The method according to claim 10, wherein: Each of the first drive data and the second drive data includes information on at least one parameter for controlling the driver.

12. The method according to claim 11, wherein: The information about at least one parameter for controlling the driver includes information about a force applied to the robot and information about a time when the force is applied to the robot.

13. The method according to claim 11, wherein: Identifying second drive data, including: The second driving data is identified based on information on at least one parameter for controlling the driver included in each of the first driving data and the second driving data.

Citation Information

Patent Citations

  • Robot control apparatus, holding unit control device, robot, holding unit, robot control method and program

    JP2015186834A

  • Walking assistance device and method for operating the same

    US20180085281A1