Robot following precision optimization method and device, electronic equipment and storage medium
By obtaining the speed control parameters of the robot trajectory planning path and the real-time position of the servo control unit, determining the position speed control following performance parameters, and adjusting the scaling factor of the interpolation time based on the current follow-up accuracy, the robot trajectory planning algorithm in the existing technology is solved. The shortcomings in high-precision follow-up and online adjustment achieve more efficient robot dynamic and steady-state follow-up performance.
Patent Information
- Application Number
- CN202411395547.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2025-01-10
AI Technical Summary
Existing robot trajectory planning algorithms are difficult to achieve high-precision follow-up, especially in terms of dynamic and steady-state follow-up characteristics. Common algorithms are inconvenient to handle in real-time control systems, and cannot effectively adjust speed and acceleration online, resulting in performance in high-beat application scenarios. insufficient.
By obtaining the speed control parameters of the robot's trajectory planning path and the real-time position of the servo control unit, determine the position speed control follow performance parameters, and adjust the scaling factor of the interpolation time based on the current follow accuracy and preset threshold, adjust the speed control parameters in real time to Optimize robot following accuracy.
It improves the optimization convenience and dynamic steady-state performance of robot following accuracy, and improves the control accuracy and user experience in high-beat application scenarios.
Smart Images

Figure CN119292189A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot technology, and in particular to a robot following precision optimization method, device, electronic equipment and storage medium. Background Art
[0002] With the increasing number of robot products including industrial robots, collaborative robots, service robots, medical robots, humanoid robots, etc., they are used in various scenarios including industrial sites, people's livelihood, education, and medical care. In this process, different application scenarios require robots to be able to follow the command trajectory with high precision to meet the requirements of different application scenarios. Common robot drive devices are usually composed of motors, reducers, high-precision encoders and servo control links, collectively referred to as servo control units. The servo unit works in position and speed control mode to control the robot end to reach different positions in space to complete the task.
[0003] Normally, the position and speed control instructions received by the servo unit are calculated based on the set path shape, maximum speed, maximum acceleration and other indicators. However, due to factors such as the terminal output inertia and transmission stiffness, the servo control unit cannot achieve extremely high acceleration speed position and speed instruction following. Therefore, in the current trajectory planning algorithm, the following performance evaluation of all servo control units of the robot is usually introduced, including torque, power, etc., to determine whether the servo control unit can work in a reasonable working space without any abnormal error risk. However, it is necessary to analyze the following accuracy performance of the servo control unit, including dynamic following characteristics and steady-state following characteristics, so as to improve the dynamic following accuracy and steady-state following characteristics of all servo control units of the robot for the position and speed instructions as much as possible. In order to ensure that the entire robot finally exhibits high-precision dynamic following accuracy, it is necessary to establish a set of methods for evaluating the following performance of the robot servo control unit, and apply the evaluation results to the trajectory planning algorithm that generates the position and speed control instructions, so as to optimize the dynamic following accuracy performance of the final robot.
[0004] However, since the robot is usually composed of multiple servo control units connected by connecting rods, the load connected to a single servo control unit is constantly changing during the movement of the robot, so the position and speed following control bandwidth of the entire servo control unit is also constantly changing. Therefore, when designing the speed, acceleration, and jerk parameters of the trajectory planning algorithm, the reference is often made to the time when the position and speed control bandwidth of the servo control unit is the lowest, so as to ensure global stability. However, this approach will directly cause the final path trajectory of the same distance to take longer, which is particularly fatal in industrial application scenarios with high beat requirements; at the same time, the evaluation indicators of the position and speed following characteristics of the servo control unit often need to be completed in the frequency domain. Therefore, it is necessary to first determine the speed, acceleration, and jerk parameters used by the trajectory planning algorithm and complete the planning of the position and speed instructions before performing frequency domain analysis and continuously adjusting during the performance optimization process. This process is very cumbersome, and common frequency domain conversion algorithms, such as Fourier transform and fast Fourier transform algorithms, are not feasible for real-time analysis and processing in real-time control systems; and, currently common online trajectory planning algorithms are based on geometric path calculations plus general motion planning algorithms (such as S-planning, double S-planning, polynomial planning, etc.), but the above algorithms only consider the speed, acceleration, and jerk control instructions in the tangent direction of the collective path, and cannot effectively limit or implement online planning for dynamic speed, acceleration, and jerk limits. Therefore, how to achieve portable optimization of robot following accuracy while satisfying online speed adjustment has become a problem that needs to be solved urgently. Summary of the invention
[0005] The present invention provides a robot following accuracy optimization method, device, electronic device and storage medium to achieve portable optimization of the robot following accuracy while satisfying online adjustment of the speed.
[0006] According to one aspect of the present invention, a method for optimizing robot following accuracy is provided, wherein the method comprises:
[0007] Obtain the speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit;
[0008] Determine a position speed control following performance parameter according to the speed control parameter and the real-time position;
[0009] Determine the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter;
[0010] A scaling factor of the interpolation time is determined based on the current robot following accuracy and a preset robot following accuracy threshold, and the interpolation time is adjusted based on the scaling factor to optimize the robot following accuracy.
[0011] According to another aspect of the present invention, a robot following accuracy optimization device is provided, wherein the device comprises:
[0012] A parameter acquisition module is used to obtain the speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit;
[0013] A parameter determination module, used to determine a position speed control following performance parameter according to the speed control parameter and the real-time position;
[0014] An accuracy determination module, used to determine the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter;
[0015] The precision optimization module is used to determine a scaling factor of the interpolation time based on the current robot following precision and a preset robot following precision threshold, and adjust the interpolation time based on the scaling factor to optimize the robot following precision.
[0016] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0017] at least one processor; and
[0018] a memory communicatively connected to the at least one processor; wherein,
[0019] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a robot following accuracy optimization method described in any embodiment of the present invention.
[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a robot following accuracy optimization method described in any embodiment of the present invention when executed.
[0021] The technical solution of the embodiment of the present invention obtains the speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit, and determines the position speed control following performance parameters according to the speed control parameters and the real-time position; determines the current robot following accuracy according to the position speed control following performance parameters and the speed control parameters, determines the scaling factor of the interpolation time based on the current robot following accuracy and a preset robot following accuracy threshold, and adjusts the interpolation time based on the scaling factor to optimize the robot following accuracy. By adjusting the interpolation time in real time according to the scaling factor, real-time adjustment of the speed control parameters in the trajectory planning path is achieved, thereby improving the convenience of optimizing the robot following accuracy and enhancing the user experience.
[0022] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0024] Figure 1 is a flow chart of a robot following accuracy optimization method provided according to Embodiment 1 of the present invention;
[0025] Figure 2 is a flow chart of a robot following accuracy optimization method provided according to Embodiment 2 of the present invention;
[0026] Figure 3 is an example diagram of overshoot provided according to the third embodiment of the present invention;
[0027] Figure 4 This is an example diagram of a preset mapping relationship provided according to Embodiment 3 of the present invention;
[0028] Figure 5 is a schematic structural diagram of a robot following accuracy optimization device provided according to a fourth embodiment of the present invention;
[0029] Figure 6 It is a structural schematic diagram of an electronic device for implementing the robot following accuracy optimization method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0030] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0031] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0032] Embodiment 1
[0033] Figure 1 1 is a flowchart of a robot following accuracy optimization method provided according to the first embodiment of the present invention. This embodiment is applicable to the case of optimizing the robot following accuracy. The method can be executed by a robot following accuracy optimization device. The robot following accuracy optimization device can be implemented in the form of hardware and / or software. The robot following accuracy optimization device can be configured in an electronic device. Figure 1 As shown, the method includes:
[0034] S110, obtaining speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit.
[0035] Among them, the trajectory planning path refers to the process path of the robot moving from the starting position to the target position, which may include the spatial position that the robot end effector (such as the hand of the robot arm, the chassis of the mobile robot, etc.) is to pass through, as well as the corresponding speed control parameters, and also include the interpolation time and the path shape, etc. In one embodiment, the path shape may include a straight line or a curve. The speed control parameter can be understood as a parameter for controlling the speed of the robot operation process that is pre-set. For example, the speed control parameter may include at least speed, acceleration and jerk. The interpolation time refers to the time interval for interpolating the data points (position, speed, etc.) between the starting position and the target position during the trajectory planning process, which can be set according to the actual needs of the user. The servo control unit refers to a device for accurately controlling the motor, which is the core part of the servo system. The servo control unit can receive command signals such as position and speed commands issued by the host computer (such as a robot controller, a numerical control system, etc.), and then convert these commands into precise control of the motor so that the motor can move as required. The real-time position refers to the real-time position of the robot for the interpolation time; or it can be the real-time position of each servo control unit of the robot. In actual operation, the real-time position and speed control parameters are both vectors.
[0036] In an embodiment, the speed, acceleration and jerk of the trajectory planning path of the robot can be extracted as speed control parameters, and the pre-set interpolation time can be extracted. The real-time position of the servo control unit is determined according to the interpolation time, speed, acceleration and jerk. In an embodiment, the speed of the trajectory planning path can also be determined, and the first-order derivative of the speed is used as the acceleration, and the second-order derivative of the speed is used as the jerk. At the same time, the real-time position of the servo control unit can also be preset.
[0037] S120, determining a position speed control following performance parameter according to the speed control parameter and the real-time position.
[0038] Among them, the position-speed control following performance parameter refers to a linear coefficient associated with the real-time position and speed control parameters, and is a parameter used to indicate the following performance of the robot. Exemplarily, the position-speed control following performance parameter may include but is not limited to an overshoot coefficient, a following error average, and a following error maximum.
[0039] In an embodiment, the position speed control following performance parameter corresponding to the preset mapping relationship of the speed control parameter and the real-time position can be used. In the actual operation process, for each real-time position, the load inertia corresponding to the real-time position can be determined. In an embodiment, the load inertia can be determined by Newton-Euler, Euler-Lagrange, minimum parameter set, etc. There can be a corresponding preset mapping relationship table or preset mapping relationship line graph for each load inertia. The corresponding preset mapping relationship table or preset mapping relationship line graph can be first determined as a candidate preset mapping relationship according to the load inertia, and then the corresponding position speed control following performance parameter can be queried in the candidate mapping relationship according to the speed control parameter. In an example, according to actual application, it can be known that the position speed control following performance parameter is linearly related to the vector product of acceleration and jerk in the speed control parameter. The vector product of acceleration and jerk in the speed control parameter can be determined, and the corresponding position speed control following performance parameter can be queried in the candidate mapping relationship according to the vector product of acceleration and jerk.
[0040] S130, determining the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter.
[0041] Among them, the current robot following accuracy can be understood as the following accuracy of the actual motion trajectory (including position, speed, posture, etc.) relative to the trajectory planning path during operation.
[0042] In an embodiment, the vector product of the position-speed control following performance parameter and the speed control parameter may be determined, and the vector product of the position-speed control following performance parameter and the speed control parameter may be used as the current robot following accuracy.
[0043] S140, determining a scaling factor of the interpolation time based on the current robot following accuracy and a preset robot following accuracy threshold, and adjusting the interpolation time based on the scaling factor to optimize the robot following accuracy.
[0044] Among them, the scaling factor refers to a proportional coefficient used to adjust the interpolation time. The preset robot following accuracy threshold can be understood as a preset critical value for determining the robot following accuracy. If the current robot following accuracy is less than or equal to the preset robot following accuracy threshold, the scaling factor is determined to be 1. If the current robot following accuracy is greater than the preset robot following accuracy threshold, the scaling factor is determined according to the current robot following accuracy and the preset robot following accuracy threshold.
[0045] In an embodiment, the magnitude relationship between the current robot following accuracy and the preset robot following accuracy threshold can be determined. When the current robot following accuracy is less than or equal to the preset robot following accuracy threshold, it can be considered that the current robot following accuracy meets the preset condition, and the scaling factor is determined to be 1; when the current robot following accuracy is greater than the preset robot following accuracy threshold, the ratio of the preset robot following accuracy threshold to the current robot following accuracy can be determined, and the fifth root of the ratio is used as the scaling factor. Then the interpolation time is adjusted according to the scaling factor. Accordingly, the speed, acceleration and jerk can be adjusted while adjusting the interpolation time to optimize the robot following accuracy.
[0046] According to an embodiment of the present invention, by acquiring the speed control parameters and interpolation time of the trajectory planning path of the robot and the real-time position of the servo control unit, the position speed control following performance parameters are determined according to the speed control parameters and the real-time position; the current robot following accuracy is determined according to the position speed control following performance parameters and the speed control parameters, a scaling factor of the interpolation time is determined based on the current robot following accuracy and a preset robot following accuracy threshold, and the interpolation time is adjusted based on the scaling factor to optimize the robot following accuracy. By adjusting the interpolation time in real time according to the scaling factor, real-time adjustment of the speed control parameters in the trajectory planning path is achieved, thereby improving the convenience of optimizing the robot following accuracy and enhancing the user experience.
[0047] In one embodiment, when the current position includes at least two dimensions, a minimum value among the scaling factors corresponding to each dimension is determined as the scaling factor of the interpolation time.
[0048] In an example, the current position may be a six-dimensional vector of the joint position, in which case a scaling factor may correspond to each dimension. The minimum value of the scaling factors corresponding to each dimension may be determined as the scaling factor of the interpolation time.
[0049] Embodiment 2
[0050] Figure 2 1 is a flow chart of a robot following accuracy optimization method provided according to the second embodiment of the present invention. This embodiment is a further description of a robot following accuracy optimization method based on the above embodiment. Figure 2 As shown, the method includes:
[0051] S201, determining a preset speed and interpolation time in a robot trajectory planning path, and determining a real-time position of a servo control unit.
[0052] In an embodiment, the preset speed and interpolation time in the robot trajectory planning path, and the real-time position of the servo control unit can be preset, and the preset speed, interpolation time and real-time position of the servo control unit can be extracted.
[0053] S202: Determine a first-order derivative of a preset speed as a preset acceleration, and determine a second-order derivative of the preset speed as a preset jerk.
[0054] In an embodiment, the first-order derivative of the preset speed may be used as the preset acceleration, and the second-order derivative of the preset speed may be used as the preset jerk.
[0055] S203: Using the preset speed, preset acceleration and preset jerk as speed control parameters.
[0056] In an embodiment, after the preset speed, the preset acceleration, and the preset jerk are determined, the preset speed, the preset acceleration, and the preset jerk may be used as speed control parameters.
[0057] S204: Determine a vector product of a preset acceleration and a preset jerk in the speed control parameter as a speed vector product.
[0058] S205 . Determine the load inertia of the servo control unit according to the real-time position.
[0059] The load inertia refers to the measure of the inertial characteristics of the load (robot end) resisting the change of its motion state during the motion process. From the perspective of the drive motor output shaft, the inertia of all moving parts in the system can be equivalent to the inertia value on the motor output shaft. In one embodiment, the load inertia can be determined by Newton-Euler, Euler-Lagrange, minimum parameter set, etc.
[0060] In an embodiment, the load inertia of the servo control unit can be determined according to the real-time position by Newton-Euler, Euler-Lagrange, minimum parameter set, etc. In the actual operation process, since the current position can be a six-dimensional vector of the joint position, the load inertia of the servo control unit can be a six-dimensional vector accordingly.
[0061] S206. Extract corresponding position-speed control following performance parameters in a preset mapping relationship according to the velocity vector product and the load inertia; wherein the preset mapping relationship includes at least one of the following: a table form, a polynomial form, or a chart form.
[0062] Among them, when the preset mapping relationship is in a tabular form, a table can be stored in association with the position-speed control following performance parameter corresponding to each load inertia, and each velocity vector product in the table has a one-to-one correspondence with the position-speed control following performance parameter; when the preset mapping relationship is a polynomial, a polynomial can be corresponding to each load inertia, each velocity vector product is used as an input quantity, each overshoot / following error average value / following error maximum value is used as an output quantity, and the polynomial coefficient value is used as the position-speed control following performance parameter; when the preset mapping relationship is in a graphical form, a graphical form can be corresponding to each load inertia, and the velocity vector product and the overshoot / following error average value / following error maximum value are fitted into a linear graph according to the polynomial, and the slope is used as the position-speed control following performance parameter.
[0063] In an embodiment, a table, polynomial or chart satisfying the load inertia may be determined according to a preset mapping relationship of the load inertia, and then the corresponding position speed control following performance parameter may be searched in the table, polynomial or chart satisfying the load inertia according to the velocity vector product.
[0064] In one embodiment, the construction of the preset mapping relationship includes:
[0065] Extract the load inertia of the servo control unit corresponding to each real-time position and the velocity vector product;
[0066] Determine the position speed control following performance parameters corresponding to the velocity vector product under the same load inertia;
[0067] Construct a preset mapping relationship between load inertia, velocity vector product and position-speed control following performance; wherein the position-speed control following performance includes at least one of the following: overshoot coefficient, following error average value and following error maximum value.
[0068] In an embodiment, the load inertia and velocity vector product of the servo control unit corresponding to each real-time position corresponding to the real-time position can be determined, and the load inertia is fixed to determine the position speed control following performance parameter corresponding to the velocity vector product under each load inertia. The position speed control following performance may include but is not limited to an overshoot coefficient, a following error average value, and a following error maximum value. Then, a preset mapping relationship between the velocity vector product and the position speed control following performance is constructed, and the load inertia is used as identification information corresponding to the preset mapping relationship.
[0069] S207, extract the velocity vector product.
[0070] S208. Determine the vector product of the position speed control following performance parameter and the speed vector product as the current robot following accuracy.
[0071] In an embodiment, the vector product of the position speed control following performance parameter and the speed vector product may be determined, and the vector product may be used as the current robot following accuracy.
[0072] S209: Determine the relationship between the current robot following accuracy and a preset robot following accuracy threshold.
[0073] In an embodiment, after the current robot following accuracy is determined, a preset robot following accuracy threshold may be extracted, and the magnitude relationship between the current robot following accuracy and the preset robot following accuracy threshold may be compared.
[0074] S210: When the current robot following accuracy is less than or equal to a preset robot following accuracy threshold, determine that the scaling factor is 1.
[0075] In an embodiment, when it is determined that the current robot following accuracy is less than or equal to a preset robot following accuracy threshold, the scaling factor may be determined to be 1.
[0076] S211. When the current robot following accuracy is greater than a preset robot following accuracy threshold, determine a ratio of the preset robot following accuracy threshold to the current robot following accuracy, and use the fifth root of the ratio as a scaling factor.
[0077] In an embodiment, when it is determined that the current robot following accuracy is greater than a preset robot following accuracy threshold, the ratio of the preset robot following accuracy threshold to the current robot following accuracy can be determined, the fifth root of the ratio can be determined, and the fifth root of the ratio can be used as a scaling factor.
[0078] S212: Determine the product of the scaling factor and the interpolation time as the adjusted interpolation time.
[0079] S213. Adjust the interpolation time based on the scaling factor to optimize the robot following accuracy.
[0080] The embodiment of the present invention determines the preset speed and interpolation time in the robot trajectory planning path, determines the real-time position of the servo control unit, determines the first-order derivative of the preset speed as the preset acceleration, and determines the second-order derivative of the preset speed as the preset jerk, and uses the preset speed, preset acceleration and preset jerk as speed control parameters to achieve the determination of the parameters in the robot trajectory planning path; determines the vector product of the preset acceleration and the preset jerk in the speed control parameters as the speed vector product, determines the load inertia of the servo control unit according to the real-time position, extracts the corresponding position-speed control following performance parameters in the preset mapping relationship according to the speed vector product and the load inertia, extracts the speed vector product, determines the position-speed control following performance parameters and the speed vector product The vector product of the degree vector product is used as the current robot following accuracy, and the size relationship between the current robot following accuracy and the preset robot following accuracy threshold is determined to realize the judgment of the current robot following accuracy; when the current robot following accuracy is less than or equal to the preset robot following accuracy threshold, the scaling factor is determined to be 1; when the current robot following accuracy is greater than the preset robot following accuracy threshold, the ratio of the preset robot following accuracy threshold to the current robot following accuracy is determined, and the fifth root of the ratio is used as the scaling factor, and the product of the scaling factor and the interpolation time is determined as the adjusted interpolation time. The interpolation time is adjusted based on the scaling factor to optimize the robot following accuracy, realize real-time optimization of the robot following accuracy, and improve the user experience.
[0081] Embodiment 3
[0082] In one embodiment, this embodiment takes the default speed as the preset speed, the default acceleration as the preset acceleration, the default jerk as the preset jerk, and the overshoot coefficient as the position speed control following performance parameter as an example to further illustrate the optimization of a robot following accuracy. This embodiment is to achieve online estimation of the position speed control following characteristics of each servo control unit in the robot real-time control system, and designs an evaluation method based on the time domain characteristics of the position speed control instruction:
[0083]
[0084] Among them, q is the real-time position control instruction of the servo control unit, ω is the real-time speed control instruction of the servo control unit, and are the first-order derivative and second-order derivative of the speed control command, corresponding to the real-time acceleration and jerk, respectively. f(·) represents the general evaluation function of the position and speed control following performance parameters of the servo control unit based on the original trajectory planning algorithm to generate the position and speed control command, such as the frequency domain analysis method, etc. M(·) is the equivalent output inertia calculation function acting on a single servo control unit during the robot motion process, which can usually be calculated by Newton-Euler, Euler-Lagrange, minimum parameter set and other algorithms. is the vector product of the acceleration and jerk instructions received by the servo control unit, and g(·) is the vector product designed by this scheme based on M(q) and The servo control unit position speed following performance time domain evaluation function. It can be understood that, This is a method for evaluating the following accuracy of a servo control unit in the prior art. This is the method for evaluating the following accuracy of the servo control unit in this application.
[0085] In one embodiment, Figure 3 is an example diagram of overshoot provided according to the third embodiment of the present invention. Figure 3 As shown in the figure, by using different acceleration and Jerk The position and speed control instructions calculated by the trajectory planning algorithm with parameters can obtain different position and speed following characteristics (overshoot). Figure 3 During the test, the target speed used by the trajectory planning algorithm is the same instruction, using different preset accelerations and preset jerks. Due to the preset acceleration and preset jerk parameters, the overshoot generated by the servo control unit in speed following changes accordingly. Speed following overshoot means that the servo control unit has a large dynamic following error in the process of position speed following. Based on the above phenomenon, the relationship between speed following overshoot and acceleration and jerk instructions can be rewarded.
[0086] The speed following overshoot and the acceleration and jerk vector product are calculated for the servo control unit when the robot moves to different positions and the same servo unit is under different load inertia (i.e. different position speed control following performance parameters). It can be seen that no matter what position and speed control performance parameter conditions the servo control unit is in, its performance is related to the acceleration and jerk vector product. It is a linear relationship. Therefore, we can get the following relationship:
[0087]
[0088] Wherein, k(·) is the overshoot coefficient function of the servo control unit with respect to the load inertia. Since the real-time position will not change suddenly during the robot movement, and q is continuous, the load inertia M(q) is continuous. Therefore, k(M(q)) can also be modeled (a preset mapping relationship is constructed). The modeling method includes but is not limited to conventional modeling methods such as calibration table building and polynomial fitting.
[0089] In one embodiment, Figure 4 This is an example diagram of a preset mapping relationship provided according to Embodiment 3 of the present invention; Figure 4 The preset mapping relationship in the form of a chart on the left uses the vector product of acceleration and jerk as the horizontal coordinate and the overshoot as the vertical coordinate. The points are the overshoot determined for the load inertia, and the straight line is the straight line generated by the polynomial fitted according to the points, and its slope is the position speed control following performance parameter. The preset mapping relationship on the right is in the form of a table. The first column is the vector product of acceleration and jerk; the second column is the corresponding position speed control following performance parameter; and the third column is the overshoot.
[0090] Exemplarily, when the preset mapping relationship is in a tabular form, a table can be stored in association with the position-speed control following performance parameter corresponding to each load inertia, and each velocity vector product in the table has a one-to-one correspondence with the position-speed control following performance parameter; when the preset mapping relationship is a polynomial, a polynomial can be corresponding to each load inertia, each velocity vector product is used as an input, each overshoot / following error average value / following error maximum value is used as an output, and the polynomial coefficient value is used as the position-speed control following performance parameter; when the preset mapping relationship is in a graphical form, a graphical form can be corresponding to each load inertia, and the velocity vector product and the overshoot / following error average value / following error maximum value are fitted into a linear graph according to the polynomial, and the slope is used as the position-speed control following performance parameter.
[0091] After the position and speed control following performance parameter evaluation model of all servo control units of the robot is established, the requirements of each servo control unit for the position and speed control following performance parameters can be analyzed and evaluated according to the operation accuracy requirements of the actual robot application process, so as to establish the position and speed control following performance parameter reference index (preset robot following accuracy threshold) S ref ,Right now
[0092] In the application process, after completing the conventional path planning algorithm for robot operation requirements, motion planning is usually completed based on the default speed (preset speed), acceleration (preset acceleration) and jerk (preset jerk), such as using S planning, double S planning, etc. After the planning is completed, the expression generated by the planning algorithm is used to calculate the position and speed control instructions at each moment in real time, refer to the following formula:
[0093]
[0094] in, They are the default speed (preset speed), default acceleration (preset acceleration), and default jerk (preset jerk) used for motion planning. k = k△t, k = 0, 1, 2, is the real-time interpolation time based on the interpolation cycle t. When t is generated k The corresponding time When the servo control unit position speed control following performance parameter evaluation index and the servo control unit position speed control following performance parameter reference standard S are determined. ref , when the original instructions generated by the trajectory planning algorithm correspond to will make If the condition is not met, you need to Make online adjustments to meet The adjustment algorithm is as follows:
[0095]
[0096] in, The satisfaction obtained by the online optimization algorithm based on the offline trajectory planning algorithm The optimized position speed control command, t opt (Δt) is the optimization shaping algorithm for the original interpolation period Δt. Assume that the scaling factor between the interpolation period optimization algorithm and the original interpolation period is The shaped position speed control command and the original position speed control command satisfy the following relationship:
[0097]
[0098] It can be understood that by scaling the interpolation time, the optimized position and speed control instructions obtained after shaping can be scaled based on the scaling factor λ. The position and speed control follow-up performance parameter evaluation model and reference standard can be obtained:
[0099]
[0100] It can be seen that by shaping the original interpolation force, the position speed control following performance parameter evaluation corresponding to the position speed control instruction finally optimized will be based on λ 5 The scaling factor is optimized, thereby greatly improving the following accuracy of the servo control unit to the optimized position and speed control instructions.
[0101] In one embodiment, during the actual use of the robot, it is often necessary to perform trajectory planning for the robot end. At this time, the trajectory planning algorithm does not directly generate control instructions for each servo control unit of the robot. However, the algorithm of this solution can still convert the position and speed instructions of the robot end to each servo control unit through the robot inverse kinematics and Jacobian matrix, and then calculate the optimization scaling factor λ of each servo control unit separately. i =[λ1,λ2,…,λ n ], where n is the degree of freedom of the robot and the number of robot servo control units. Take the final scaling factor parameter λ = minλ i , an online optimization algorithm for trajectory planning can be realized that is oriented to the robot end and takes into account the optimization of the position and speed control following performance parameters of all servo control units at the same time.
[0102] Embodiment 4
[0103] Figure 5 is a schematic diagram of the structure of a robot following accuracy optimization device provided according to Embodiment 4 of the present invention. Figure 5 As shown, the device includes: a parameter acquisition module 51, a parameter determination module 52, an accuracy determination module 53 and an accuracy optimization module 54.
[0104] The parameter acquisition module 51 is used to obtain the speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit;
[0105] A parameter determination module 52, used to determine a position speed control following performance parameter according to the speed control parameter and the real-time position;
[0106] The accuracy determination module 53 is used to determine the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter;
[0107] The accuracy optimization module 54 is used to determine a scaling factor of the interpolation time based on the current robot following accuracy and a preset robot following accuracy threshold, and adjust the interpolation time based on the scaling factor to optimize the robot following accuracy.
[0108] In an embodiment of the present invention, a speed control parameter and an interpolation time of a robot's trajectory planning path and a real-time position of a servo control unit are acquired through a parameter acquisition module; a parameter determination module determines a position speed control following performance parameter according to the speed control parameter and the real-time position; an accuracy determination module determines the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter; an accuracy optimization module determines a scaling factor of the interpolation time based on the current robot following accuracy and a preset robot following accuracy threshold, and adjusts the interpolation time based on the scaling factor to optimize the robot following accuracy; by adjusting the interpolation time in real time according to the scaling factor, real-time adjustment of the speed control parameter in the trajectory planning path is achieved, thereby improving the convenience of optimizing the robot following accuracy and enhancing the user experience.
[0109] In one embodiment, the parameter acquisition module 51 includes:
[0110] A real-time position determination unit, used to determine the preset speed and interpolation time in the robot trajectory planning path, and determine the real-time position of the servo control unit;
[0111] a speed determination unit, configured to determine a first-order derivative of a preset speed as a preset acceleration, and determine a second-order derivative of the preset speed as a preset jerk;
[0112] The parameter determination unit is used to use the preset speed, the preset acceleration and the preset jerk as speed control parameters.
[0113] In one embodiment, the parameter determination module 52 includes:
[0114] A vector product determination unit, used to determine a vector product of a preset acceleration and a preset jerk in the speed control parameter as a speed vector product;
[0115] A load inertia determination unit, used for determining the load inertia of the servo control unit according to the real-time position;
[0116] The performance parameter determination unit is used to extract the corresponding position speed control following performance parameter in a preset mapping relationship according to the velocity vector product and the load inertia; wherein the preset mapping relationship includes at least one of the following: a table form, a polynomial form or a chart form.
[0117] In one embodiment, the accuracy determination module 53 includes:
[0118] A vector product extraction unit, used for extracting a velocity vector product;
[0119] The accuracy determination unit is used to determine the vector product of the position speed control following performance parameter and the speed vector product as the current robot following accuracy.
[0120] In one embodiment, the accuracy determination module 53 includes:
[0121] A size comparison unit, used to determine the size relationship between the current robot following accuracy and a preset robot following accuracy threshold;
[0122] A first value determination unit, configured to determine the scaling factor to be 1 when the current robot following accuracy is less than or equal to a preset robot following accuracy threshold;
[0123] A second value determination unit is used to determine a ratio of a preset robot following accuracy threshold to a current robot following accuracy when the current robot following accuracy is greater than a preset robot following accuracy threshold, and use the fifth root of the ratio as a scaling factor;
[0124] The interpolation time adjustment unit is used to determine the product of the scaling factor and the interpolation time as the adjusted interpolation time.
[0125] In one embodiment, when the current position includes at least two dimensions, a minimum value among the scaling factors corresponding to each dimension is determined as the scaling factor of the interpolation time.
[0126] In one embodiment, the robot following accuracy optimization device further includes:
[0127] A data extraction module is used to extract the load inertia of the servo control unit corresponding to each real-time position and the velocity vector product;
[0128] A performance parameter determination module is used to determine the position speed control following performance parameters corresponding to the velocity vector product under the same load inertia;
[0129] A relationship building module is used to build a preset mapping relationship between load inertia, velocity vector product and position-speed control following performance; wherein the position-speed control following performance includes at least one of the following: overshoot coefficient, following error average value and following error maximum value.
[0130] The robot following accuracy optimization device provided in the embodiment of the present invention can execute the robot following accuracy optimization method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0131] Embodiment 5
[0132] Figure 61 is a schematic diagram of the structure of an electronic device for implementing the robot following precision optimization method of an embodiment of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0133] like Figure 6 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0134] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0135] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The processor 11 executes the various methods and processes described above, such as a robot following accuracy optimization method.
[0136] In some embodiments, the robot following accuracy optimization method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot following accuracy optimization method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the robot following accuracy optimization method in any other appropriate manner (e.g., by means of firmware).
[0137] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0138] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0139] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0140] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0141] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0142] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0143] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0144] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A robot following accuracy optimization method, characterized in that: include: Obtain the speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit; Determine a position speed control following performance parameter according to the speed control parameter and the real-time position; Determine the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter; A scaling factor of the interpolation time is determined based on the current robot following accuracy and a preset robot following accuracy threshold, and the interpolation time is adjusted based on the scaling factor to optimize the robot following accuracy.
2. The method according to claim 1, characterized in that The method of obtaining the speed control parameters and interpolation time of the trajectory planning path of the robot includes: Determine the preset speed and interpolation time in the robot trajectory planning path, and determine the real-time position of the servo control unit; Determining a first-order derivative of the preset speed as a preset acceleration, and determining a second-order derivative of the preset speed as a preset jerk; The preset speed, the preset acceleration and the preset jerk are used as speed control parameters.
3. The method according to claim 1, characterized in that The determining of the position speed control following performance parameter according to the speed control parameter and the real-time position includes: Determine a vector product of a preset acceleration and a preset jerk in the speed control parameter as a speed vector product; Determine the load inertia of the servo control unit according to the real-time position; The corresponding position-speed control following performance parameter is extracted from a preset mapping relationship according to the speed vector product and the load inertia; wherein the preset mapping relationship includes at least one of the following: a table form, a polynomial form or a chart form.
4. The method according to claim 3, characterized in that The determining the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter comprises: extracting the velocity vector product; The vector product of the position speed control following performance parameter and the speed vector product is determined as the current robot following accuracy.
5. The method according to claim 1, characterized in that The step of determining a scaling factor of the interpolation time based on the current robot following accuracy and a preset robot following accuracy threshold, and adjusting the interpolation time based on the scaling factor, comprises: Determine the magnitude relationship between the current robot following accuracy and the preset robot following accuracy threshold; When the current robot following accuracy is less than or equal to the preset robot following accuracy threshold, determining the scaling factor to be 1; In the case where the current robot following accuracy is greater than the preset robot following accuracy threshold, determining a ratio of the preset robot following accuracy threshold to the current robot following accuracy, and taking the fifth root of the ratio as the scaling factor; A product of the scaling factor and the interpolation time is determined as an adjusted interpolation time.
6. The method according to claim 1, characterized in that In a case where the current position includes at least two dimensions, a minimum value among the scaling factors corresponding to each of the dimensions is determined as the scaling factor of the interpolation time.
7. According to the method of claim 3, the construction of the preset mapping relationship comprises: Extracting the load inertia of the servo control unit corresponding to each of the real-time positions and the velocity vector product; Determine the position speed control following performance parameter corresponding to the velocity vector product under the same load inertia; A preset mapping relationship among the load inertia, the velocity vector product and the position-speed control following performance is constructed; wherein the position-speed control following performance includes at least one of the following: an overshoot coefficient, a following error average value and a following error maximum value.
8. A robot following accuracy optimization device, characterized in that: include: A parameter acquisition module is used to obtain the speed control parameters and interpolation time of the robot's trajectory planning path and the real-time position of the servo control unit; A parameter determination module, used to determine a position speed control following performance parameter according to the speed control parameter and the real-time position; An accuracy determination module, used to determine the current robot following accuracy according to the position speed control following performance parameter and the speed control parameter; The precision optimization module is used to determine a scaling factor of the interpolation time based on the current robot following precision and a preset robot following precision threshold, and adjust the interpolation time based on the scaling factor to optimize the robot following precision.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot following accuracy optimization method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot following accuracy optimization method according to any one of claims 1 to 7 when executed.