Method for correcting robot control signal and electronic device therefor

A deep learning-based method corrects robot control signals by learning from input and estimated rotation angles, addressing nonlinear errors in multi-joint manipulators to enhance precision in tasks like surgical operations.

WO2025143812A1PCT designated stage expired Publication Date: 2025-07-03DAEGU GYEONGBUK INSTITUTE OF SCIENCE AND TECHNOLOGY +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/021174
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-12-20
Filing Date
2024-12-26
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Existing robot control methods struggle to accurately compensate for nonlinear errors such as hysteresis in multi-joint manipulators, particularly in cable-driven robots, which affect precise position and posture control.

Method used

A deep learning-based method involving a driving model and an inverse driving model to correct robot control signals by learning from input and estimated rotation angle data, using markers and sensors to gather data, and iteratively adjusting input angles to minimize errors.

Benefits of technology

Improves the accuracy of position and posture control of robots by effectively compensating for nonlinear errors like hysteresis, enhancing precision in tasks performed by robots like surgical manipulators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024021174_03072025_PF_FP_ABST
    Figure KR2024021174_03072025_PF_FP_ABST
Patent Text Reader

Abstract

According to the present disclosure, disclosed is a method for correcting a robot control signal, the method comprising the steps of: for each of at least one driving axis of a robot, obtaining, on the basis of an inverse driving model of the robot, an initial input rotation angle with respect to a target rotation angle; obtaining, on the basis of a driving model of the robot, a predicted rotation angle with respect to the initial input rotation angle; and correcting the initial input rotation angle on the basis of an error between the predicted rotation angle and the target rotation angle.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control signal compensation method and electronic device therefor

[0001] The present disclosure relates to a method for compensating a robot control signal and an electronic device therefor.

[0002] Specifically, the present invention relates to a method and apparatus for compensating a robot control signal, comprising: a step of obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot for each of at least one driving axis of the robot; a step of obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and a step of correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle, wherein the driving model and the inverse driving model are deep learning-based learning models learned based on a learning data set including input rotation angle data for the at least one driving axis and estimated rotation angle data of the at least one driving axis estimated in response to the input rotation angle data.

[0003] Recently, robots such as multi-joint robot manipulators are being utilized in various fields, including medicine, manufacturing, and exploration, to perform precise and repetitive tasks in diverse work environments. These robots perform complex movements through joint movements, and their importance is emphasized in tasks such as working in confined spaces or performing high-difficulty precision operations. To achieve this, technology capable of precisely controlling the robot's position and posture is essential.

[0004] For example, multi-joint robot manipulators experience kinematic errors due to various factors, including minute assembly errors during the manufacturing process, friction generated during use, and variations in cable drive. In particular, cable-driven multi-joint robot manipulators can experience nonlinear errors, such as hysteresis, caused by friction, twisting, and elongation of the cable between the actuator and the end effector. These errors are a major factor hindering precise position control of the robot's end effector.

[0005] Representative compensation methods to address these issues include utilizing kinematic equations to compensate for offsets in the drive axes of each robot joint, or measuring the robot's posture based on a specific structure or target to calibrate the control signals to the robot. However, these methods are limited in their applicability to specific structures and inability to effectively handle nonlinear errors such as hysteresis.

[0006] The problem to be solved by the present embodiment is to provide a robot control signal compensation method for solving the above-described problem, comprising the steps of: obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot for each of at least one driving axis of the robot; obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle, wherein the driving model and the inverse driving model are deep learning-based learning models learned based on a learning data set including input rotation angle data for the at least one driving axis and estimated rotation angle data of the at least one driving axis estimated in response to the input rotation angle data, and an electronic device therefor.

[0007] The technical tasks to be achieved by this embodiment are not limited to the technical tasks described above, and other technical tasks can be inferred from the following embodiments.

[0008] A robot control signal compensation method according to one embodiment comprises the steps of: obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot for each of at least one driving axis of the robot; obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle, wherein the driving model and the inverse driving model are deep learning-based learning models that are learned based on a learning data set including input rotation angle data for the at least one driving axis and estimated rotation angle data of the at least one driving axis estimated in response to the input rotation angle data.

[0009] According to the present disclosure, the accuracy of position and posture control of a robot can be improved by effectively compensating nonlinear errors including hysteresis of the robot.

[0010] According to the present disclosure, learning data regarding control input signals and the operating state of a robot can be obtained through precise operating state estimation for a small robot such as a multi-joint manipulator.

[0011] According to the present disclosure, correction can be performed based on accurate data even for parts that are greatly affected by hysteresis, such as grippers of small manipulators such as surgical robots.

[0012] The effects of the invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

[0013] FIG. 1 is a block diagram illustrating an operating environment of an electronic device that performs robot control signal correction according to one embodiment.

[0014] FIG. 2 is a flowchart for explaining a method for correcting a control signal of a robot according to one embodiment of the present disclosure.

[0015] Figure 3 is an algorithm flowchart showing the operation process of an electronic device (100) according to one embodiment of the present invention.

[0016] FIG. 4 is a diagram for explaining the operation of a hysteresis correction algorithm (HCA) according to one embodiment of the present disclosure.

[0017] FIG. 5A is a drawing for explaining an environment (500) in which a test drive is performed according to one embodiment of the present disclosure.

[0018] Figure 5b is a drawing for explaining a method for determining position information of a robot through a gripper at the tip of the robot and a marker attached to the jaw of the gripper.

[0019] FIG. 6A and FIG. 6B are graphs showing learning data according to one embodiment of the present disclosure.

[0020] Figure 7 is a graph for explaining the result of robot control signal correction according to the present disclosure.

[0021] FIG. 8 is a block diagram exemplarily showing the configuration of an electronic device for correcting a robot control signal according to one embodiment of the present disclosure.

[0022] A robot control signal compensation method according to one embodiment comprises the steps of: obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot for each of at least one driving axis of the robot; obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle, wherein the driving model and the inverse driving model are deep learning-based learning models that are learned based on a learning data set including input rotation angle data for the at least one driving axis and estimated rotation angle data of the at least one driving axis estimated in response to the input rotation angle data.

[0023] According to one embodiment, the rotation angle of the at least one drive axis is generated based on position information of at least one marker attached to the robot based on sensor data obtained from a test drive of the robot for the input rotation angle data.

[0024] According to one embodiment, the estimated rotation angle data includes an estimated rotation angle for each of the at least one drive axis calculated for position information of the at least one marker based on a six-degree-of-freedom inverse kinematics model.

[0025] According to one embodiment, the position information of the at least one marker is determined as a relative position with respect to a reference marker located separately from the robot.

[0026] According to one embodiment, the at least one marker is attached to a tip of the robot, and the tip has a three-dimensional position controlled by driving of the at least one drive axis.

[0027] In one embodiment, the tip comprises a gripper comprising a plurality of jaws that rotate about an axis, wherein the at least one marker is attached to each of the plurality of jaws.

[0028] According to one embodiment, the input rotation angle data includes at least one data obtained by performing linear interpolation on a plurality of rotation angles arbitrarily determined at predetermined intervals for each of the at least one driving axis.

[0029] According to one embodiment, the reverse drive model outputs an initial input rotation angle for the target rotation angle based on an input rotation angle history corresponding to the target rotation angle.

[0030] According to one embodiment, the driving model outputs the predicted rotation angle for the initial input rotation angle based on the input rotation angle history corresponding to the target rotation angle.

[0031] According to one embodiment, the step of correcting the initial input rotation angle includes the step of repeating the correction of the initial input rotation angle until an error of the predicted rotation angle for the corrected initial input rotation angle with respect to the target rotation angle satisfies a threshold range.

[0032] An electronic device for correcting a control signal of a robot according to one embodiment comprises a memory; and a processor, wherein the processor controls the memory to perform the steps of: obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot for each of at least one driving axis of the robot; obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle, wherein the driving model and the inverse driving model are deep learning-based learning models that are learned based on a learning data set including input rotation angle data for the at least one driving axis and estimated rotation angle data of the at least one driving axis estimated in response to the input rotation angle data.

[0033] Specific details of other embodiments are included in the detailed description and drawings.

[0034] The terms used in the embodiments have been selected from widely used and common terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, in which case their meanings will be described in detail in the relevant description. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of the present disclosure.

[0035] When a part of the specification is said to "include" a component, this does not exclude other components, but rather implies the inclusion of other components, unless otherwise specifically stated. Furthermore, terms such as "part" and "module" used in the specification mean a unit that processes at least one function or operation, which may be implemented in hardware, software, or a combination of hardware and software.

[0036] The expression “at least one of a, b, and c” described throughout the specification may encompass ‘a alone’, ‘b alone’, ‘c alone’, ‘a and b’, ‘a and c’, ‘b and c’, or ‘all of a, b, and c’.

[0037] The "terminal" mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, laptop, etc. equipped with a web browser, and the portable terminal may include, for example, a wireless communication device that guarantees portability and mobility, and may include all types of handheld-based wireless communication devices such as communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), smartphones, tablet PCs, etc.

[0038] Below, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.

[0039] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

[0040] In describing the embodiments, descriptions of technical details that are well-known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to avoid obscuring the gist of the present invention by omitting unnecessary explanations and to convey it more clearly.

[0041] For the same reason, some components in the attached drawings are exaggerated, omitted, or schematically depicted. Furthermore, the dimensions of each component do not entirely reflect its actual size. Identical or corresponding components in each drawing are assigned the same reference numbers.

[0042] The advantages and features of the present invention, and the methods for achieving them, will become clearer with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided only to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention, and the present invention is defined only by the scope of the claims. Like reference numerals designate like elements throughout the specification.

[0043] At this time, it will be understood that each block of the processing flow diagrams and combinations of the flow diagrams can be performed by computer program instructions. These computer program instructions can be installed in a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment create a means for performing the functions described in the flow diagram block(s). These computer program instructions can also be stored in a computer-available or computer-readable memory that can direct a computer or other programmable data processing equipment to implement the functions in a specific manner, so that the instructions stored in the computer-available or computer-readable memory can also produce a manufactured item that includes an instruction means for performing the functions described in the flow diagram block(s). Since the computer program instructions may be installed on a computer or other programmable data processing device, a series of operational steps may be performed on the computer or other programmable data processing device to create a computer-executable process, and the instructions that cause the computer or other programmable data processing device to perform the steps for performing the functions described in the flowchart block(s) may also provide steps for performing the functions described in the flowchart block(s).

[0044] Additionally, each block may represent a module, segment, or portion of code that contains one or more executable instructions for performing a specific logical function(s). It should also be noted that in some alternative implementation examples, the functions described in the blocks may occur out of order. For example, two blocks depicted in succession may actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending on their respective functions.

[0045] FIG. 1 is a block diagram illustrating an operating environment of an electronic device that performs robot control signal correction according to one embodiment.

[0046] As illustrated in Fig. 1, an environment (10) in which robot control signal correction is performed may include a robot control device (100) and a robot (200).

[0047] The electronic device (100) can be electrically connected to other components of the robot (200) to generate signals that control the robot (200).

[0048] Hereinafter, the electronic device (100) is described as being directly connected to the robot (200) for controlling the robot (200), but the electronic device (100) may be an external device that remotely controls the robot (200) from outside the robot (200), and may be implemented in a form that includes a processor and memory included in the robot (200), and may be understood to include all devices for controlling the robot (200) without being limited to a specific implementation method.

[0049] The electronic device (100) may include a robot control signal generation module (110) and a robot control signal correction module (120) to control the robot (200).

[0050] The robot control signal generation module (110) generates an input signal related to the operation of the robot. For example, the robot control signal generation module (110) can generate a rotational drive signal for a target rotation angle for a drive axis included in the robot (200).

[0051] The robot control signal correction module (120) corrects the control signal generated by the robot control signal generation module (110). Specifically, when an offset or hysteresis exists in the driving part of the robot due to a defect in the robot (200) or the electronic device (100), the robot control signal correction module (120) can correct the robot control signal by considering the error caused by linear or nonlinear factors such as the offset and hysteresis. For example, in relation to the driving axis included in the robot (200), there may be a factor that causes the rotation angle actually driven by the driving axis of the robot (200) to be different from the target rotation angle by the control signal for the target rotation angle generated by the robot control signal generation module (110), and by inputting the signal corrected by the robot control signal correction module (120) to the robot (200), the error caused by the factor can be minimized.

[0052] The robot (200) is controlled by an electronic device (100). Specifically, the robot may include a drive module whose drive is controlled by the electronic device (100). The drive method of the robot includes being controlled by the electronic device (100), and is not limited to a specific form.

[0053] For example, the robot (200) may include a form such as a surgical multi-joint robot manipulator and may include a complex multi-joint structure designed to perform high-difficulty precision tasks.

[0054] In one embodiment, the robot (200) may include at least one drive axis for controlling the position and movement of the tip or gripper. The drive axis may be positioned at a joint of the robot and may determine the position and movement of the tip and gripper. Specifically, the electronic device (100) may control the rotation of the drive axis of the robot (200) so that the tip and gripper may move to a desired position or assume a specific posture.

[0055] In this embodiment, the gripper located at the tip of the robot (200) is primarily used to grasp or manipulate objects and may have various operating modes. For example, the gripper may open and close or perform rotational movements through a cable-driven method. In the cable-driven method, nonlinear errors such as hysteresis may occur due to friction, elongation, twisting, etc. of the cable. This hysteresis results in a difference between the gripper's input signal and its actual movement.

[0056] In order to compensate for hysteresis occurring in the control of a robot (200) in various situations such as the aforementioned examples, it is necessary to analyze the relationship between input and output data of the robot (200). Therefore, an advanced data collection and analysis method is required to effectively standardize the input and output data of the robot (200).

[0057] FIG. 2 is a flowchart illustrating a method for correcting a control signal of a robot according to one embodiment of the present disclosure.

[0058] A method for correcting a control signal of a robot according to the present disclosure may include, for each of at least one drive axis of the robot, a step (S210) of obtaining an initial input rotation angle for a target rotation angle based on a reverse drive model of the robot; a step (S220) of obtaining a predicted rotation angle for the initial input rotation angle based on a drive model of the robot; and a step (S230) of correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle.

[0059] In the present disclosure, the “target rotation angle” may be an actual rotation angle intended for the drive axis of the robot, and the “input rotation angle” may be a rotation angle input by a user to the robot’s control device to rotate the drive axis of the robot. When errors due to factors such as offset and hysteresis are excluded, the input rotation angle may be determined to have the same value as the target rotation angle. However, when an error occurs, the rotation angle actually driven on the drive axis of the robot may be different from the input rotation angle, and thus the input rotation angle may be corrected by taking such an error into account.

[0060] In one embodiment, the “driving model” and the “reverse driving model” may be deep learning-based learning models that learn the input / output relationship of the robot to simulate the operation of the robot or may be models that estimate the input according to the output of the robot.

[0061] In this disclosure, an artificial neural network whose parameters are estimated by being trained using learning data can be referred to as a trained model.

[0062] The learning model may be implemented in hardware, software, or a combination of hardware and software. If part or all of the learning model is implemented in software, data including one or more instructions (codes) and parameters constituting the learning model may be stored in memory. The memory may include one or more transitory or non-transitory storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc.

[0063] The learning model can be based on an artificial neural network, and an artificial neural network can mean a model in general that has problem-solving capabilities by changing the strength of the synaptic connection through learning of artificial neurons (nodes) that form a network by combining synapses.

[0064] The drive model can be a deep learning-based model that learns the robot's drive characteristics. Specifically, it can predict the robot's actual operation results based on commands input to the robot. For example, the drive model can output a predicted rotation angle for each drive axis of the robot based on the input rotation angle. In this case, the predicted rotation angle for each drive axis that the robot actually drives can be a rotation angle that takes into account any offset or hysteresis occurring in each drive axis.

[0065] The inverse drive model can be a deep learning-based learning model that operates in the opposite direction to the robot's drive model. The inverse drive model can inversely calculate the actual input data to the robot based on the robot's output data. For example, this inverse drive model can inversely calculate the input rotation angle required for each drive axis of the robot to rotate at the target rotation angle. The inverse drive model can output input values ​​that account for errors caused by offsets or hysteresis in the robot's drive axes, etc.

[0066] The learning data of the driving model and the inverse driving model may include input rotation angle data for at least one driving axis and estimated rotation angle data of at least one driving axis estimated in response to the input rotation angle data. The “estimated rotation angle data” may include, for each input rotation angle included in the input rotation angle data, information about the position, drive, and posture of the robot is obtained, and a rotation angle for each driving axis of the robot that is estimated to have rotated based on the obtained information about the position, drive, and posture of the robot.

[0067] In one embodiment, the training data may utilize the actual input / output data of the robot as a training data set, and in the present disclosure, the operation of the robot to generate the training data set may be referred to as a “test drive.”

[0068] In one embodiment, the driving model and the inverse driving model can learn to drive the robot based on the same training data set.

[0069] In one embodiment, the estimated rotation angle data may be a data set generated based on a rotation angle of at least one drive axis estimated based on position information of at least one marker attached to the robot based on sensor data obtained from a test drive of the robot for input rotation angle data.

[0070] At this time, the test drive can be performed with a marker attached to the robot to confirm the operation of the robot moving according to the input rotation angle, and in the test drive, position information for a component of the robot can be obtained according to at least one marker attached to the robot, and accordingly, an estimated rotation angle for each of at least one driving axis calculated for the position information of at least one marker can be obtained based on a six-degree-of-freedom inverse kinematics model of the robot.

[0071] In a test drive, markers can be configured in various ways to accurately measure the robot's positional information, and markers attached to the robot can be implemented to be distinguished from each other with respect to the robot's position. For example, markers can be distinguished through at least one of the following unique characteristics: color, shape, surface texture, magnetic field signal, and size, and these can be designed to be easily detected by an optical sensor such as an infrared, laser, or RGB camera. Additionally, each marker can be optimally positioned considering the movement path of the robot's tip and gripper.

[0072] In one embodiment, to obtain positional information about a robot using a marker, an optical sensor, such as a camera, can first detect the 3D position of the marker. For example, an RGBD camera can be used to identify the coordinates of the marker on a 2D image, and then depth data corresponding to each pixel can be combined to derive 3D coordinates. Then, a spherical shape can be fitted to the point coordinates of the identified marker to calculate the center coordinates of the marker.

[0073] In one embodiment, the position information of a marker in a test drive can be determined relative to a reference marker positioned separately from the robot.

[0074] "Reference markers" can be implemented to define the reference coordinate system of the robot during a test drive. These reference markers can be attached to the robot's base or a fixed structure. This provides an absolute reference point that does not change with the robot's movements during the test drive. In one embodiment, the reference markers are arranged to include three or more locations, which can be used to define the reference coordinate system.

[0075] In one embodiment, the robot may include a tip designed to interact with a workpiece at the distal end, and in a test run, a marker may be attached to the tip of the robot to obtain positional information that may be used to estimate a rotational angle of a drive axis associated with the drive of the tip. In this case, the tip may have a three-dimensional position controlled by the drive of at least one drive axis.

[0076] In one embodiment, the robot's front end may be implemented with a gripper comprising a plurality of jaws that rotate around an axis. In this case, a marker may be attached to each of the plurality of jaws during a test run.

[0077] In one embodiment, the input rotation angle data in the test drive may include at least one data obtained by linear interpolation of a plurality of rotation angles arbitrarily determined at predetermined intervals for each drive axis of the robot.

[0078] Returning to FIG. 2 again, in step S220, the electronic device (100) can obtain a predicted rotation angle for an initial input rotation angle based on the robot's driving model. In the present disclosure, the "predicted rotation angle" refers to a rotation angle that is predicted to actually occur at the robot's driving axis when the input rotation angle is transmitted to the robot's driving axis through the control device, and can be calculated through the robot's driving model, including physical characteristics and dynamic characteristics such as the robot's offset linear and nonlinear errors.

[0079] In one embodiment, the reverse drive model can output an initial input rotation angle for a target rotation angle based on an input rotation angle history corresponding to the target rotation angle, and the drive model can output the predicted rotation angle for the initial input rotation angle based on the input rotation angle history corresponding to the target rotation angle.

[0080] Here, the input rotation angle history can be structured to include not only the input rotation angle at a reference point but also input rotation angle data from previous points in time. For example, the input rotation angle history can be expressed as the most recent N input rotation angle data. This history data reflects changes in the input signal over time and provides information about dynamic characteristics and past states that cannot be obtained from data at a single point in time alone.

[0081] Since hysteresis is a characteristic in which the output value varies not only depending on the current value of the input signal but also on the path of the past input signal, the driving model and the inverse driving model can better reflect nonlinear errors such as hysteresis through the input rotation angle history. For example, even if the input rotation angle is the same, the robot's output rotation angle may show different values ​​if the input change path at the previous time was different. Therefore, utilizing the input rotation angle history can reflect this path-dependent characteristic, allowing for more accurate modeling of nonlinear errors including hysteresis.

[0082] The inverse drive model can analyze this input rotation angle history to calculate the optimal initial input rotation angle to achieve the target rotation angle. This allows calculation results to be calculated while taking into account that the target rotation angle may vary depending on past input paths. Furthermore, the drive model utilizes the input rotation angle history to calculate a predicted rotation angle for the initial input rotation angle, which is used to precisely predict the actual output value based on the robot's driving characteristics.

[0083] In step S230, the electronic device (100) corrects the initial input value based on the error of the predicted rotation angle with respect to the target rotation angle. The correction performed by the electronic device (100) may reflect the error in the input rotation angle.

[0084] In one embodiment, the method may include a step of repeatedly correcting the initial input rotation angle until the error of the predicted rotation angle with respect to the corrected initial input rotation angle with respect to the target rotation angle satisfies a threshold range. Through this, the electronic device (100) can repeatedly reflect the correction value to the initial input rotation angle to reduce the error. The threshold range may be set, for example, according to the characteristics of the task and the required precision.

[0085] The threshold range can be set in various ways. For example, in one embodiment, the electronic device (100) may use a dynamic adaptive method to initially set a large threshold range to increase the correction speed and then gradually narrow the threshold range to ultimately achieve high precision.

[0086] Figure 3 is an algorithm flowchart showing the operation process of an electronic device (100) according to one embodiment of the present invention.

[0087] The method illustrated in FIG. 3 can be performed by the electronic device (100) of FIG. 1 or any other suitable computing device, and represents an example of a robot control signal compensation method according to the present disclosure. The robot control signal compensation method according to the present disclosure is not limited to the specific implementation illustrated in FIG. 3 and is capable of various modifications and variations. This can be adjusted according to the robot's structure, driving method, or control requirements.

[0088] In step S310, the electronic device (100) is provided with a target rotation angle ( ) is entered. The target rotation angle ( ) may be the actual rotation angle that each drive axis of the robot must reach to perform the intended task.

[0089] In step S320, the electronic device (100) performs a hysteresis compensation algorithm (HCA). In step S230, the electronic device (100) performs a reverse driving model ( ) to the target rotation angle ( ) and the input rotation angle history before that point ( ) based on the initial input rotation angle ( ) is calculated. After the initial input values ​​are set, the driving model ( ) to obtain the initial input rotation angle ( ) for the predicted rotation angle ( ) is calculated. The driving model ( ) outputs the rotation angle that is expected to actually occur when the input signal is transmitted to the robot's drive axis. Afterwards, the predicted rotation angle ( ) and target rotation angle ( ) is calculated through a loss function (loss). The loss function (loss) quantifies the difference between two values ​​and evaluates how close the robot is to the target value. If the calculated error exceeds a predefined threshold (Thr), the input rotation angle ( ) is iteratively updated through a correction process. This iterative correction process is the predicted rotation angle ( ) is the target rotation angle ( ) is repeated until the difference is reduced below the threshold value (Thr).

[0090] According to one embodiment, the driving model (100) used in the electronic device (100) in step S330 ) and reverse drive model ( ) can be implemented based on the mathematical formula 1 below.

[0091]

[0092]

[0093]

[0094] At this time, can be the input rotation angle, and if the input rotation angle is calculated, It corresponds to .

[0095] In step S330, the final input rotation angle for which the correction is completed ( ) is output. This value provides an optimized input signal with hysteresis and nonlinearity errors compensated, with the error reduced below the acceptable threshold (Thr). The final input rotation angle ( ) can be used to control the drive axes of the robot.

[0096] In step S340, the final input rotation angle ( ) is the cable drive equation, ) is input. Step S340 describes an embodiment of controlling a robot through a corrected signal by reflecting the structural characteristics and driving mechanism of a cable-driven robot.

[0097] In step S350, the converted motor control signal (Motor Control, ) is output and transmitted to the robot's drive axis. This applies an optimized correction signal based on the input target rotation angle to each drive axis of the robot, so that target parts such as the robot's tip and gripper can be controlled to the desired position and posture.

[0098] FIG. 4 is a diagram for explaining the operation of a hysteresis correction algorithm (HCA) according to one embodiment of the present disclosure.

[0099] The hysteresis correction algorithm (HCA) of FIG. 4 corresponds to the hysteresis correction algorithm of step S320 of FIG. 3, and the implementation of the hysteresis correction algorithm (HCA) will be specifically described below with reference to FIG. 4.

[0100] The hysteresis correction algorithm (HCA) is based on the driving model and the inverse driving model of the present disclosure. ) can be implemented by the reverse driving model (as described above with reference to FIG. 3). ) is the initial input rotation angle outputted through ) for the driving model ( ) through the predicted rotation angle ( ) and can be implemented in a way that iteratively corrects the error.

[0101] Referring to Figure 4, the target rotation angle ( for a specific time point t) for the hysteresis correction algorithm (HCA) ) is input, the hysteresis correction algorithm (HCA) calculates the input rotation angle history corresponding to a specific point in time t ( ) can be concatenated to the target rotation angle. The input rotation angle history ( ) can be utilized to consider the time-dependent characteristics of nonlinear errors such as hysteresis.

[0102] In one embodiment, when applying a hysteresis correction algorithm (HCA), if the history data does not reach L-1 steps, zero-padding may be applied to the left of the history to maintain data consistency. This ensures that all input data have the same length, thereby ensuring the stability of the algorithm.

[0103] Connected input rotation angle history ( ) and the current target rotation angle at time t ( ) is input to the hysteresis correction algorithm (HCA), and the corrected input rotation angle ( ) is output. The corrected input rotation angle is input to the drive shaft to obtain the target rotation angle ( ) can be driven close to the target.

[0104] As illustrated in Fig. 4, this process can be performed over multiple time points (t, t+1,…, t+T). At each time point, the input rotation angle ( ) is corrected by the hysteresis correction algorithm (HCA). ) can be calculated.

[0105] FIG. 5A is a diagram illustrating an environment (500) in which a test drive is performed according to one embodiment of the present disclosure. Referring to FIG. 5 , data related to the robot's movements during the test drive can be collected to obtain training data for training a driving model and a reverse driving model.

[0106] As illustrated in FIG. 5A, an environment (500) in which a test drive is performed may include a driving device (510), a multi-joint manipulator robot (520), driving axes (521, 522, 523, 524), a gripper (530), a marker (540), a reference marker (550), and an optical sensor (560). The robot illustrated in FIG. 5 is illustrated as a cable-driven multi-joint manipulator robot (520) for convenience of explanation, but the robot according to the present disclosure is not limited thereto and may include various types of robots including a gear-driven robot, a hydraulic-driven robot, or an electric motor-based robot. Hereinafter, a test drive of a cable-driven multi-joint manipulator robot (520) will be described.

[0107] The driving device (510) may be implemented as, for example, a motor assembly for independently driving each joint of the robot (520). The driving device (510) drives the joints according to an input rotation angle signal, and causes each driving axis of the robot to perform an intended motion.

[0108] As illustrated in Fig. 5a, the robot (520) can be controlled through rotational drive of multiple drive axes (521, 522, 523, 525). The drive device (510) can receive rotation angle signals for multiple drive axes and drive them.

[0109] The optical sensor (560) measures the position data of the marker (540) in real time during a test drive to obtain the position data of the marker (550). The optical sensor (560) may utilize a sensor such as an RGBD camera to distinguish between markers (540) having different colors, for example. In one embodiment, the three-dimensional position of the marker can be precisely calculated by combining the two-dimensional coordinates and depth data obtained for the markers (540). In one embodiment, the coordinates of the marker (540) on the two-dimensional image can be identified, and then the depth data corresponding to each pixel can be combined to obtain the three-dimensional coordinates. Thereafter, the center coordinates of the marker can be calculated by fitting a spherical shape to the point coordinates of the identified marker (540). In addition, the absolute position of the marker (540) can be determined based on the position of the reference marker (550).

[0110] The posture information acquired through test drives is built into a learning data set containing the robot's input / output data. This process collects data such as the rotation angle of each drive axis, tip position, and posture change in response to input rotation angle commands, enabling quantitative expression of the robot's motion characteristics, including hysteresis and nonlinear errors.

[0111] The learning data obtained according to the embodiment illustrated in Fig. 5a reflects the operating characteristics of the robot according to various working conditions, and therefore, a correction algorithm including a driving model and an inverse driving model learned through such learning data can improve performance.

[0112] In one embodiment, the learning data may include at least one data obtained by performing linear interpolation on a plurality of rotation angles arbitrarily determined for each drive axis of the robot at predetermined intervals. Here, the linear interpolation on the input rotation angle data may be performed based on, for example, the following mathematical expression 2.

[0113]

[0114] The interpolated input rotation angle data is a reference value ( , ) interpolation is performed to keep the interval (3√5) constant. At this time, is the index of the additional input rotation angle data to be generated. In mathematical expression 2, the case where the interval between reference values ​​is set to 3√5 is shown, but it is not limited thereto and various intervals can be set depending on the data distribution, characteristics, and required data density.

[0115] This linear interpolation can improve prediction accuracy by making the distribution of values ​​input to the robot's drive model and inverse drive model constant.

[0116] According to one embodiment, the learning data ultimately generated through the test drive may have a form such as, for example, mathematical expression 3 below.

[0117]

[0118] Training data ( ) can be obtained in various numbers other than the number of samples shown in mathematical expression 3. The input rotation angle data ( ) and the estimated rotation angle data ( ) and includes input rotation angle data ( ) and estimated rotation angle data ( ) contains the rotation angle for each drive axis of the robot, for example, if there are 6 drive axes It can be implemented in the form of etc.

[0119] FIG. 5b is a drawing illustrating a method for determining positional information of a robot using a gripper at the tip of the robot and a marker attached to the jaw of the gripper. Below, a method for measuring the pose of a gripper (530) at the tip of the robot using markers (540a, 540b, 540c, 540d) is described.

[0120] In a test drive, the three-dimensional position of each marker can be acquired via an optical sensor or an RGBD camera. The markers are attached to the gripper, and each marker can be detected through its own color or texture. The plane formed by the four markers (540a, 540b, 540c, 540d) can be calculated from the position data, and the reference direction vector of the gripper can be defined based on this. Specifically, the remaining vector can be obtained by an outer product operation using the vectors formed by two markers attached to individual jaws included in the gripper, thereby completely defining the direction of the jaws of the gripper (530). The vectors thus calculated can provide rotation and tilt information of the gripper.

[0121] Figures 6a and 6b are graphs showing learning data according to one embodiment of the present disclosure. Figure 6a is , , , , Sampled input rotation angle data for ( ) and estimated rotation angle data ( ) and Fig. 6b shows one of the plurality of driving axes, and Input rotation angle data for ( ) for estimated rotation angle data ( ) represents the relationship. Referring to Figures 6a and 6b, the input rotation angle data ( ) for estimated rotation angle data ( ) there is a nonlinear relationship between them, through which the driving model and the inverse driving model can learn the relationship between the input rotation angle and the driven rotation angle, including the influence of the nonlinear error of the robot.

[0122] Fig. 7 illustrates the results of robot control signal correction according to the present disclosure. Specifically, Fig. 7 compares the motion of the robot before and after correction in the control of the robot according to an arbitrary trajectory. Fig. 7 (a), (c), and (e) represent the robot's motion trajectories for a random trajectory, a circle trajectory, and a zigzag trajectory, respectively, and the graphs represent the desired trajectory, the uncalibrated trajectory, and the calibrated trajectory for the three trajectory types. Fig. 7 (b), (d), and (f) are graphs comparing the position errors and orientation errors for the three trajectory types, respectively. It can be confirmed that the errors are significantly reduced in each trajectory when corrected.

[0123] FIG. 8 is a block diagram exemplarily illustrating the configuration of an electronic device for correcting a robot control signal according to one embodiment. Referring to FIG. 8, the electronic device (800) may include a processor (810) and a memory (820). The electronic device (800) illustrated in FIG. 8 may be, for example, a device corresponding to the electronic device (100) illustrated in FIG. 1.

[0124] An electronic device (800) according to one embodiment may include a number of computer systems or computer software implemented as network servers. For example, the electronic device (800) may refer to a computer system and computer software that are connected to a lower-level device that can communicate with other network servers through a computer network such as an intranet or the Internet, receive a task execution request, perform the task accordingly, and provide the execution result. In addition, the electronic device (800) may be understood as a broad concept that includes a series of application programs that can operate on a network server and various databases built on other internal or connected nodes. For example, the electronic device (800) may be implemented using a network server program that is provided in various ways depending on the operating system such as DOS, Windows, Linux, UNIX, or MacOS.

[0125] An electronic device (800) according to one embodiment may include a computer device, a mobile communication terminal, a server, etc. The electronic device (800) may include an input device such as a touchpad, a mouse, a keyboard, etc. for receiving input, or may be connected to an input device. In addition, the electronic device (800) may include an output device such as a screen, a speaker, an interface device, etc. for providing information, or may be connected to an output device. Furthermore, the input device and the output device of the electronic device (800) may be configured as an integral unit or may be interconnected, for example, an interface for receiving input may be displayed on the screen of the electronic device (800).

[0126] The processor (810) may include at least one of the devices described above with reference to FIGS. 1 to 7, or may perform at least one method described above with reference to FIGS. 1 to 7. The memory (820) may store information for performing at least one method described above with reference to FIGS. 1 to 7. The memory (820) may be a volatile memory or a non-volatile memory, and the memory (820) may be electrically or internally connected to one or more processors via a communication interface, and may store at least one code that, when executed by the processor (810), causes the processor (810) to perform the robot control signal correction method according to the present disclosure.

[0127] The processor (810) is a type of central processing unit and can execute one or more instructions stored in the memory (820) to execute a circuit design method according to another embodiment.

[0128] The processor (810) may include any type of device capable of processing data. The processor (810) may refer to a data processing device built into hardware, for example, having a physically structured circuit to perform a function expressed by code or instructions included in a program.

[0129] Examples of data processing devices built into hardware include, but are not limited to, microprocessors, central processing units (CPUs), processor cores, multiprocessors, application-specific integrated circuits (ASICs), and field programmable gate arrays (FPGAs).

[0130] The processor (810) may include at least one processor. The processor (810) may include at least one processor arranged in a plurality of computing devices.

[0131] The processor (810) may include a learning processor to apply the learning model according to the present disclosure. The learning processor may repeatedly train an artificial neural network using various learning techniques described above.

[0132] A running processor may include one or more memory units configured to store data received, detected, sensed, generated, predefined or output by another component, device, terminal or device communicating with the terminal.

[0133] The learning processor may include memory integrated or implemented in the terminal. In some embodiments, the learning processor may be implemented using memory. Alternatively or additionally, the learning processor may be implemented using memory associated with the terminal, such as external memory directly connected to the terminal or memory maintained in a server communicating with the terminal.

[0134] Here, the memory (820) may be a non-transitory storage medium such as a magnetic storage medium or a flash storage medium, or may include a temporary storage medium such as a RAM, but the scope of the present invention is not limited thereto. The memory (820) may include a built-in memory and / or an external memory, and may include a volatile memory such as a DRAM, an SRAM, or an SDRAM, a non-volatile memory such as an OTPROM (one time programmable ROM), a PROM, an EPROM, an EEPROM, a mask ROM, a flash ROM, a NAND flash memory, or a NOR flash memory, a flash drive such as an SSD, a CF (compact flash) card, an SD card, a Micro-SD card, a Mini-SD card, an Xd card, or a memory stick, or a storage device such as an HDD.

[0135] The processor (810) can control an electronic device (800) that executes a program and corrects a robot control signal. The code of the program executed by the processor (810) can be stored in the memory (820).

[0136] Meanwhile, this specification and drawings disclose preferred embodiments of the present invention. Although specific terms have been used, they are used in a general sense only to easily explain the technical content of the present invention and to aid in understanding the invention, and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical concept of the present invention are possible in addition to the embodiments disclosed herein.

[0137] The server or terminal according to the above-described embodiments may include a processor, a memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface device such as a touch panel, a key, a button, etc. The methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program commands that can be executed on the processor. Here, the computer-readable recording medium includes a magnetic storage medium (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (e.g., CD-ROM, DVD: Digital Versatile Disc)). The computer-readable recording medium may be distributed to computer systems connected to a network, so that the computer-readable code can be stored and executed in a distributed manner. The medium is readable by a computer, stored in a memory, and executed by a processor.

[0138] The present embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various hardware and / or software configurations that perform specific functions. For example, the embodiment may employ integrated circuit configurations such as memory, processing, logic, look-up tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. Similarly, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, Python, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms that execute on one or more processors. Furthermore, the present embodiment may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms like "mechanism," "element," "means," and "composition" can be used broadly and are not limited to mechanical or physical components. These terms can also encompass a series of software routines, such as those associated with a processor.

[0139] The above-described embodiments are merely examples, and other embodiments may be implemented within the scope of the claims set forth below.

[0140] The present disclosure relates to a method for correcting a robot control signal and an electronic device therefor, and can be used in an electronic device for correcting a robot control signal using a driving model and an inverse driving model, which are deep learning-based learning models.

Claims

1. A method for correcting a control signal of a robot performed by an electronic device, For each of at least one driving axis of the robot, a step of obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot; A step of obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and Comprising a step of correcting the initial input rotation angle based on an error of the predicted rotation angle with respect to the target rotation angle, The above driving model and the above reverse driving model, A deep learning-based learning model that is learned based on a learning data set including input rotation angle data for at least one driving axis and estimated rotation angle data of at least one driving axis estimated in response to the input rotation angle data. A method for compensating robot control signals.

2. In paragraph 1, The above estimated rotation angle data is, Based on the sensor data obtained from the test drive of the robot for the input rotation angle data, the rotation angle of the at least one driving axis is generated based on the estimated position information of at least one marker attached to the robot. A method for compensating robot control signals.

3. In paragraph 2, The above estimated rotation angle data is, Including an estimated rotation angle for each of said at least one driving axis calculated based on the position information of said at least one marker based on a six-degree-of-freedom inverse kinematics model, A method for compensating robot control signals.

4. In paragraph 2, The position information of at least one marker is determined as a relative position to a reference marker located separately from the robot. A method for compensating robot control signals.

5. In paragraph 2, At least one marker is attached to the tip of the robot, The above-mentioned tip portion has a three-dimensional position controlled by driving of at least one driving shaft. A method for compensating robot control signals.

6. In paragraph 5, The above-mentioned tip comprises a gripper comprising a plurality of jaws that rotate around one axis, wherein said at least one marker is attached to each of said plurality of jaws; A method for compensating robot control signals.

7. In paragraph 1, The above input rotation angle data is, At least one data including linear interpolation performed at predetermined intervals for a plurality of rotation angles arbitrarily determined for each of the at least one driving axis, A method for compensating robot control signals.

8. In paragraph 1, The above reverse driving model outputs an initial input rotation angle for the target rotation angle based on the input rotation angle history corresponding to the target rotation angle. A method for compensating robot control signals.

9. In paragraph 1, The above driving model outputs the predicted rotation angle for the initial input rotation angle based on the input rotation angle history corresponding to the target rotation angle. A method for compensating robot control signals.

10. In paragraph 1, The step of correcting the initial input rotation angle is: A step of repeating correction of the initial input rotation angle until the error of the predicted rotation angle with respect to the corrected initial input rotation angle satisfies a critical range, A method for compensating robot control signals.

11. A non-transitory computer-readable storage medium having recorded thereon a program for executing the method of clause 1 on a computer.

12. An electronic device for correcting the control signal of a robot, memory; and comprising a processor, wherein the processor controls the memory; For each of at least one driving axis of the robot, a step of obtaining an initial input rotation angle for a target rotation angle based on an inverse driving model of the robot; A step of obtaining a predicted rotation angle for the initial input rotation angle based on the driving model of the robot; and A step of correcting the initial input rotation angle based on the error of the predicted rotation angle with respect to the target rotation angle is performed, The above driving model and the above reverse driving model, A deep learning-based learning model that is learned based on a learning data set including input rotation angle data for at least one driving axis and estimated rotation angle data of at least one driving axis estimated in response to the input rotation angle data. Electronic devices.

Citation Information

Patent Citations

  • Robot control device and robot control method

    JP2021109259A

  • Device and method for controlling robot

    JP2022177476A

  • Control device, inspection system, control method, and program

    JP2023112849A

  • Medical manipulator control device

    JP6532531B2

  • Robot system with learning control using motor encoders and sensors

    JP6698733B2