System for active motion displacement control of robots
Through the device control layer and motor driver board system, combined with sensors and hardware dynamic models, the accuracy and nonlinearity problems in robot motion displacement control are solved, and efficient and precise control of robot motion displacement is achieved, reducing hardware costs.
Patent Information
- Application Number
- CN201980026746.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-08-14
- Filing Date
- 2019-08-13
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2039-08-13
AI Technical Summary
Controlling the position or displacement of the manipulator in a controlled robot presents challenges in three-dimensional space, especially as the encoder may not report true absolute values, nonlinearity, coupling between axes, and external influences, resulting in difficulty in precise control.
Using the device control layer (DCL) and motor driver board (MDB) system, precise control of the robot motion displacement is achieved by setting the desired position of the motion chain, generating the motion profile, measuring the actual position, determining the estimated offset and providing feedback paths. . The system includes a sensor device to measure the actual position, and compensate for the offset through hardware dynamic models and lookup tables, and smooth the control loop.
Realize the immediate elimination of static and dynamic axis displacement, reduce hardware costs, and perform small amounts of cheap rework through existing software and hardware, improving the accuracy and efficiency of motion displacement control.
Smart Images

Figure CN112004646B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to motion displacement control of a robot. In addition, the present invention relates to a system and method for active motion displacement control of a robot. Background Art
[0002] Controlling the position or displacement of a manipulator in a controlled robot is a challenge because the position or displacement in three-dimensional space cannot be achieved with estimated quality. For example, the encoder may not report the true absolute value, the encoder may have nonlinearity, one axis may be affected by another axis on the same robot, one axis may be affected by other robots, or one axis may be affected by the surrounding environment.
[0003] In general, robotic systems form extremely nonlinear and coupled closed-loop mechanisms, which has implications for controller design. Small errors in the trajectory will lead to larger displacement errors, so the position or displacement of the manipulator needs to be accurately measured and controlled.
[0004] Therefore, it may be advantageous to precisely control the position or displacement of the manipulator. Summary of the invention
[0005] Therefore, it may be desirable to provide an improved system for active motion displacement control of a robot. In particular, embodiments of the present invention may achieve elimination of static axis displacements. In addition, embodiments of the present invention provide that dynamic axis displacements may be eliminated on the fly, and high-level software will not have to worry about complex control systems, such as the measurement control layer MCL.
[0006] In addition, embodiments of the present invention can achieve real-time elimination of displacements on lower layers for objects using the device control layer DCL. This is advantageous in that it can provide hardware cost reduction through equal position quality, little and cheap reworking of existing software and hardware.
[0007] These and other advantages are achieved by the subject matter of the independent claims, wherein further embodiments are incorporated in the dependent claims and the following description.
[0008] A first aspect of the invention relates to a system for active kinematic displacement control of a robot. The system comprises: a device control layer DCL device configured to set a desired position of a part of a kinematic chain.
[0009] The system further comprises: a motor driver board MDB device configured to generate a motion profile for at least one actuator device coupled to the portion of the kinematic chain based on the desired position of the portion of the kinematic chain that is set. In addition, the system comprises: an actuator device configured to move the portion of the kinematic chain to an actual position based on the generated motion profile.
[0010] The system also includes: a sensor device, which is configured to measure the actual position of the part of the kinematic chain and provide position data of the part of the kinematic chain based on the actual position of the part of the kinematic chain, wherein the MDB device is also configured to determine an estimated offset and provide a feedback path to a control loop used by the MDB device based on the provided position data of the part, the desired position of the part and the estimated offset.
[0011] According to an embodiment of the present invention, the MDB device is further configured to provide a feedback path based on the following equation, in which the difference between the actual position of the part and the expected position of the part is compensated by the determined estimated offset.
[0012] According to an embodiment of the invention, the MDB device is further configured to determine the estimated offset based on a hardware dynamic model of the portion of the kinematic chain.
[0013] According to an embodiment of the invention, the MDB device is further configured to determine a hardware dynamic model of the portion of the kinematic chain based on the static axis nonlinearities of the kinematic chain.
[0014] According to an embodiment of the present invention, the MDB device is further configured to determine a hardware dynamic model of the portion of the kinematic chain based on:
[0015] i) based on the weight of the object picked up by the kinematic chain; and / or
[0016] ii) based on the object / position of the object picked up by the kinematic chain; and / or
[0017] iii) Based on the position of that part of the kinematic chain.
[0018] According to an embodiment of the present invention, the MDB device is further configured to determine a hardware dynamic model of the portion of the kinematic chain based on:
[0019] i) static constraints based on kinematic chains; and / or
[0020] ii) Bending moments based on the kinematic chain.
[0021] According to an embodiment of the present invention, the MDB device is further configured to smooth a control loop used by the MDB device based on the provided feedback path.
[0022] According to an embodiment of the present invention, the MDB apparatus is further configured to determine an estimated offset within a predefined offset range.
[0023] According to an embodiment of the present invention, the MDB apparatus is further configured to determine the estimated offset based on a lookup table.
[0024] According to an embodiment of the present invention, the MDB device is further configured to generate the lookup table by simulation of the kinematic chain and / or by measurement of the kinematic chain, optionally by using a three-dimensional laser scanner.
[0025] According to an embodiment of the present invention, the MDB apparatus is further configured to generate a lookup table represented by a multi-dimensional lookup table.
[0026] According to an embodiment of the present invention, the MDB apparatus is further configured to determine the estimated offset by interpolation of a lookup table.
[0027] According to an embodiment of the present invention, the MDB apparatus is further configured to provide linear interpolation or non-linear interpolation of the lookup table to determine the estimated offset.
[0028] According to an embodiment of the present invention, the MDB apparatus is further configured to provide curve fitting based on the lookup table to determine the estimated offset.
[0029] According to an embodiment of the present invention, the MDB apparatus is further configured to determine the estimated offset by applying fuzzy logic, artificial intelligence or a neural network to the lookup table.
[0030] A second aspect of the present invention relates to a method for active motion displacement control of a robot, the method comprising the following steps:
[0031] As a first step, the method comprises the step of setting a desired position of a portion of the kinematic chain by means of a DCL device. Furthermore, as a second step, the method comprises the step of generating a motion profile for at least one actuator device coupled to the portion of the kinematic chain based on the set desired position of the portion of the kinematic chain by means of an MDB device.
[0032] Still further, a third step is performed: by means of the actuator device, the part of the kinematic chain is moved to the actual position based on the generated motion profile. Subsequently, a fourth step is performed: by means of the sensor device, the actual position is measured and based on the actual position, position data of the part of the kinematic chain is provided.
[0033] Finally, a fifth step of the method is performed: determining an estimated offset by means of the MDB device and providing a feedback path to a control loop used by the MDB device based on the provided position data of the part, the desired position of the part and the estimated offset.
[0034] A third aspect of the present invention relates to a computer program product, which comprises instructions, which when executed by a computer, causes the computer to perform the steps of the method according to the second aspect or any implementation or embodiment of the second aspect.
[0035] A fourth aspect of the present invention relates to a computer-readable storage medium, which includes instructions, which when executed by a computer, cause the computer to perform the steps of the method according to the second aspect or any implementation or embodiment of the second aspect.
[0036] It is emphasized that any features, elements and / or functions described above and below with reference to one aspect of the invention are equally applicable to any other aspect of the invention, as described above and below.
[0037] In particular, the features, elements and / or functions described above and below with reference to the system for active motion displacement control of a robot according to the first aspect are equally applicable to the method for active motion displacement control of a robot according to the second aspect and / or the computer program product according to the third aspect, and vice versa.
[0038] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The subject matter of the invention will be explained in more detail below with reference to exemplary embodiments shown in the accompanying drawings, in which:
[0040] Figure 1 Schematically shows an overview of a chain link of a robot system according to an exemplary embodiment of the present invention;
[0041] Figure 2 A building block flow chart for illustrating the present invention is schematically shown;
[0042] Figure 3 shows a schematic building block flow diagram according to an exemplary embodiment of the present invention;
[0043] Figure 4 shows a schematic building block flow chart for controlling offset estimation according to an exemplary embodiment of the present invention;
[0044] Figure 5 shows a schematic building block flow chart for controlling a single motion sample according to an exemplary embodiment of the present invention;
[0045] Figure 6 A schematic diagram for calculating an offset according to an exemplary embodiment of the present invention is shown;
[0046] Figure 7 A diagram showing measurements according to an exemplary embodiment of the present invention;
[0047] Figure 8A schematic diagram showing an actuator according to an exemplary embodiment of the present invention is shown;
[0048] Fig. 9 A schematic diagram showing a system for active motion displacement control of a robot according to an exemplary embodiment of the present invention; and
[0049] Fig.10 A schematic flow chart of a method for active motion displacement control of a robot according to an exemplary embodiment of the present invention is shown.
[0050] In principle, identical or similar parts are provided with identical or similar reference symbols in the figures. DETAILED DESCRIPTION
[0051] As used in this specification, the term “device control layer”—abbreviated as DCL—may be understood to refer to a software layer that performs lower-level control of hardware devices on a programmable logic controller PLC or on a circuit board.
[0052] Figure 1 A schematic overview of a chain link of a robotic system according to an exemplary embodiment of the present invention is shown.
[0053] Figure 1 Possible quality criteria used by a method for active kinematic displacement control of a robot according to an exemplary embodiment of the present invention are shown.
[0054] In one embodiment of the invention, the hardware HW installation parameters of the kinematic chain or robot chain are provided or measured by a sensor device.
[0055] In one embodiment of the present invention, the position or vector of one component or element of the robotic chain is used as input data, and other data or parameters are used to process the geometric constraints of the robotic chain.
[0056] For example, the desired position of a part of a kinematic chain may be defined by the actor position, either in terms of absolute position, or in terms of linear or origin for modeling and estimating parameters of the robotic system.
[0057] In one embodiment of the invention, the desired position of the part of the kinematic chain can be defined by HW reality, by software SW (desired), by HW sensors or by SW feedback. In other words, the desired position of the part of the kinematic chain can be determined by physical measurements, by models and simulations or by hardware-based or software-based identification.
[0058] In one embodiment of the invention, statistics may be calculated and provided by means of accuracy or by repeatability or by correlation.
[0059] In one embodiment of the present invention, the MDB device 120 may, for example, also be configured to determine an estimated offset and provide a feedback path to a control loop used by the MDB device 120 based on the accuracy, or based on the provided position data of the part or the expected position of the part or the repeatability or relevance of the estimated offset.
[0060] In one embodiment of the invention, statistics may be calculated and provided by means of precision or by repeatability or by correlation. The MDB device 120 may, for example, also be configured to determine an estimated offset and provide a feedback path to a control loop used by the MDB device 120 based on the position data relative to the frame or the position relative to the origin of the frame.
[0061] In one embodiment of the invention, the MDB device 120 may, for example, also be configured to determine an estimated offset and provide a feedback path to a control loop used by the MDB device 120 based on the position of the motor on the shaft, which may be defined as the position of the origin, or
[0062] In one embodiment of the invention, the MDB device 120 may, for example, also be configured to determine an estimated offset and provide a feedback path to a control loop used by the MDB device 120 based on the position of a home sensor.
[0063] Figure 2 A flow chart of building blocks for illustrating the present invention is schematically shown.
[0064] like Figure 2 The building block flow diagram shown visualizes the test software and depicts the higher level software and control steps performed by the test software.
[0065] The DCL device may be configured to set any desired destination location or to define a range of suitable destination locations.
[0066] The MDB device may also be configured to generate a motion profile.
[0067] The actor device may also be configured to move at least one element or component of the robotic chain.
[0068] The sensor device may also be configured to transmit input data for the actual MDB device for controlling the kinematic chain, wherein for example the difference between the actual position and the desired position of an element or component of the robot chain is set to zero.
[0069] Figure 3 A schematic building block flow diagram of an exemplary embodiment according to the present invention is shown.
[0070] The building block flow chart visualizes the test software and depicts the higher level software and the control steps performed by the test software.
[0071] In one embodiment of the present invention, the DCL device 110 may be configured to set any desired destination location or to define a range of suitable destination locations.
[0072] In one embodiment of the present invention, the MDB device 120 may also be configured to generate a motion profile.
[0073] In one embodiment of the present invention, the actor device 130 may also be configured to move at least one element or component of the robotic chain.
[0074] In one embodiment of the invention, the sensor device 120 may also be configured to transmit input data for the actual MDB device 120 for controlling a kinematic chain, wherein the difference between the actual position and the desired position of, for example, an element or component of the robot chain is set to an offset value, which may, for example, be different from zero. In other words, the offset may be a positive or negative value.
[0075] Adding the estimated offset to the control loop is not limited to the location shown in the block diagram.
[0076] Figure 4 A schematic building block flow diagram for controlling offset estimation according to an exemplary embodiment of the present invention is shown.
[0077] Figure 4 It is visualized how the MDB device 120 is also configured to provide an offset estimate in determining an estimated offset and provide a feedback path to a control loop used by the MDB device 120 based on the provided position data of the part, the desired position of the part, and the estimated offset.
[0078] In one embodiment of the invention, the MDB device 120 is further configured to calculate for each axis any static axis nonlinearity, for example in terms of position, force or motion vectors provided as input data for modeling the kinematic chain.
[0079] Furthermore, in one embodiment of the invention, the positions of any elements or components in the kinematic chain are provided for each axis as input data for the MDB device to model the kinematic chain. This may include other hardware dynamic or geometric constraints of the robot chain.
[0080] Figure 5 A schematic building block flow diagram for controlling a single motion sample according to an exemplary embodiment of the present invention is shown.
[0081] In one embodiment of the invention, for example, the calculated estimated offsets may be injected into a control loop used by the MDB device 120. In one embodiment of the invention, the calculated estimated offsets may be provided based on actual positions of elements or components of a robotic chain, also referred to as a kinematic chain.
[0082] In one embodiment of the invention, smoothing may be done automatically by the MDB control loop and by using, for example, HW inertia.
[0083] In one embodiment of the present invention, the MDB device 120 may also be configured to set a maximum offset value or a minimum offset value, for example, the maximum offset may be defined as + / -1.5 mm, for example, and the typical offset may be defined by a value of + / -0.5 mm.
[0084] In one embodiment of the present invention, the MDB device 120 is also configured to send instructions that will still work in the default coordinate system but with greater precision.
[0085] Figure 6 A schematic diagram for calculation of an offset according to an exemplary embodiment of the present invention is shown.
[0086] In one embodiment of the present invention, the MDB device 120 is further configured to calculate the correction offset based on a robot chain including a first axis having a first lifting capacity and a second axis having a second lifting capacity, wherein the second lifting capacity is higher than the first lifting capacity.
[0087] For example, the second axis is configured to pick up and place objects using higher forces than the first axis. In other words, the second axis is specifically configured to provide higher force values for lifting heavy objects, such as objects having a mass greater than several kilograms, such as greater than 10 kg, or greater than 100 kg, or greater than 200 kg. For example, the mass can be weighed.
[0088] In one embodiment of the invention, the MDB device 120 is further configured to calculate data or receive measured data about the weight of the object currently picked up by the axis and to take into account the weight of the picked up object to estimate the displacement offset of the elements of the kinematic chain.
[0089] In one embodiment of the present invention, the MDB device 120 is further configured to calculate an estimated offset based on the actual position of the elements or components of the robotic chain or kinematic chain and the weight of the picked-up object.
[0090] In one embodiment of the present invention, the MDB device 120 is further configured to calculate an estimated offset based on the actual Z position or height of the elements or components of the robot chain or kinematic chain and the weight of the picked object. The MDB device 120 is further configured to provide sequence testing or loop testing and trajectory or displacement optimization.
[0091] Figure 7 A diagram showing measurements according to an exemplary embodiment of the present invention is shown.
[0092] In one embodiment of the present invention, Figure 7 The upper diagram shows a typical displacement on the Z axis relative to the position of another robot.
[0093] In one embodiment of the present invention, Figure 7 The lower diagram of shows the typical displacements in the Z axis predicted with respect to the torsion of the X axis. In one embodiment of the invention, the torsion is affected by the Y position of the same robot and / or by the Y position of other robots.
[0094] In one embodiment of the invention, the torsion of the X-axis may result in a displacement of the robot's pick-up position.
[0095] Figure 8 A schematic diagram of an actuator according to an exemplary embodiment of the present invention is shown.
[0096] Fig. 9 A schematic diagram of a system for active motion displacement control of a robot according to an exemplary embodiment of the present invention is shown.
[0097] The system 100 may include a DCL device 110 , an MDB device 120 , an actuator device 130 , and a sensor device 140 .
[0098] The DCL device 110 is configured to set a desired position of a portion of a kinematic chain.
[0099] The MDB device 120 is configured to generate a motion profile for one actor device 130 or at least one actor device 130 coupled to the portion of the kinematic chain based on the desired position of the portion of the kinematic chain being arranged.
[0100] The actuator device 130 is configured to move the portion of the kinematic chain to an actual position based on the generated motion profile.
[0101] The sensor device 140 is configured to measure an actual position of the part of the kinematic chain and to provide position data of the part of the kinematic chain based on the actual position of the part of the kinematic chain.
[0102] The MDB device 120 is also configured to determine an estimated offset and provide a feedback path to a control loop used by the MDB device 120 based on the provided position data of the portion, the desired position of the portion, and the estimated offset.
[0103] Fig.10 A schematic flow chart of a method for active motion displacement control of a robot according to an exemplary embodiment of the present invention is shown.
[0104] As a first step, the method comprises the step of setting a desired position of a part of the S1 kinematic chain by means of a DCL device.
[0105] Furthermore, as a second step, the method comprises the step of generating S2 a motion profile for at least one actuator device coupled to the portion of the kinematic chain based on the desired position of the provided portion of the kinematic chain by means of the MDB device.
[0106] Still further, a third step is performed: by means of the actuator device, the part of the kinematic chain is moved S3 to the actual position based on the generated kinematic profile.
[0107] Furthermore, a fourth step is performed: the actual position is measured S4 by means of the sensor device and position data of the part of the kinematic chain are provided based on the measured actual position.
[0108] Finally, a fifth step is performed of determining S5 an estimated offset by means of the MDB device and providing a feedback path to a control loop used by the MDB device based on the provided position data of the part, the desired position of the part and said estimated offset.
[0109] It has to be noted that embodiments of the present invention are described with reference to different subject matters. In particular, some embodiments are described with reference to method type claims whereas other embodiments are described with reference to apparatus type claims.
[0110] However, according to the above and following description, it will be understood by those skilled in the art that, unless otherwise indicated, in addition to any combination of features belonging to one type of subject matter, any combination of features related to different subjects is also considered to be disclosed by the present application. However, all features can be combined to provide a synergistic effect that exceeds the simple superposition of features.
[0111] Although the present invention has been shown and described in detail in the drawings and the foregoing description, such showing and description should be considered illustrative or exemplary rather than restrictive; the present invention is not limited to the disclosed embodiments. Based on the study of the drawings, the disclosure and the appended claims, those skilled in the art can understand and implement other variations of the disclosed embodiments and practice the claimed invention.
[0112] In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope.
Claims
1. A system (100) for active motion displacement control of a robot, the system comprising: - a device control layer device (110) configured to set a desired position of a part of the kinematic chain; - a motor driver board device (120) configured to generate a motion profile for at least one actuator device (130) coupled to said portion of the kinematic chain based on the desired position of said portion of the kinematic chain being arranged; - the actuator device (130) being configured to move the portion of the kinematic chain to an actual position based on the generated motion profile; - a sensor device (140) configured to measure the actual position of the part of the kinematic chain and to provide position data of the part of the kinematic chain based on the actual position of the part of the kinematic chain; and The motor driver board assembly (120) is further configured to determine an estimated offset and provide a feedback path to a control loop used by the motor driver board assembly (120) based on the provided position data of the part, the desired position of the part and the estimated offset.
2. The system (100) according to claim 1, in, The motor driver board arrangement (120) is further configured to provide the feedback path based on an equation in which a difference between an actual position of the part and a desired position of the part is compensated by the determined estimated offset.
3. The system (100) according to claim 1 or 2, in, The motor driver board arrangement (120) is further configured to determine the estimated offset based on a hardware dynamic model of the portion of the kinematic chain.
4. The system (100) according to claim 3, in, The motor driver board arrangement (120) is further configured to determine a hardware dynamic model of the portion of the kinematic chain based on static axis nonlinearities of the kinematic chain.
5. The system (100) according to claim 3, in, The motor driver board arrangement (120) is further configured to determine a hardware dynamic model of the portion of the kinematic chain based on: i) based on the weight of an object picked up by the kinematic chain; and / or ii) based on an object picked up by said kinematic chain / the position of said object; and / or iii) Based on the position of said part of said kinematic chain.
6. The system (100) according to claim 3, in, The motor driver board arrangement (120) is further configured to determine a hardware dynamic model of the portion of the kinematic chain based on: i) based on static constraints of the kinematic chain; and / or ii) Based on the bending moments of the kinematic chain.
7. The system (100) according to claim 1 or 2, in, The motor driver board arrangement (120) is also configured to smooth the control loop used by the motor driver board arrangement (120) based on the provided feedback path.
8. The system (100) according to claim 1 or 2, in, The motor driver board arrangement (120) is further configured to determine the estimated offset within a predefined offset range.
9. The system (100) according to claim 1 or 2, in, The motor driver board arrangement (120) is further configured to determine the estimated offset based on a lookup table.
10. The system (100) according to claim 9, in, The motor driver board arrangement (120) is further configured to generate the lookup table by simulation of the kinematic chain and / or by measurement of the kinematic chain.
11. The system (100) according to claim 10, in, The kinematic chain was measured using a 3D laser scanner.
12. The system (100) according to claim 9, in, The motor driver board device (120) is also configured to generate a lookup table represented by a multi-dimensional lookup table.
13. The system (100) of claim 9, wherein: The motor driver board arrangement (120) is further configured to determine the estimated offset by interpolation of the lookup table.
14. The system (100) according to claim 13, in, The motor driver board assembly (120) is further configured to provide a linear interpolation or a non-linear interpolation of the lookup table to determine the estimated offset; and / or Wherein the motor driver board device (120) is further configured to provide a curve fit based on the lookup table to determine the estimated offset.
15. The system (100) according to claim 9, in, The motor driver board arrangement (120) is further configured to determine the estimated offset by applying fuzzy logic, artificial intelligence, or a neural network to the lookup table.
16. A method for active motion displacement control of a robot, the method comprising the following steps: - setting a desired position of a part of the kinematic chain by means of a device control layer device (110); - generating, by means of a motor driver plate device (120), a motion profile for at least one actuator device (130) coupled to the portion of the kinematic chain based on the desired position of the portion of the kinematic chain provided; - moving the part of the kinematic chain to an actual position based on the generated kinematic profile by means of the actuator device (130); - measuring the actual position by means of a sensor device (140) and providing position data of the part of the kinematic chain based on the actual position; as well as - determining an estimated offset by means of the motor driver board arrangement (120) and providing a feedback path to a control loop used by the motor driver board arrangement (120) based on the provided position data of the part, the desired position of the part and the estimated offset.
