Robot and control method, device and readable storage medium thereof
By receiving and adjusting robot trajectory curves and motion data, the problem of joint damage in robot speed planning was solved, resulting in safer and more reliable operation and improved robot lifespan.
Patent Information
- Application Number
- CN202210073806.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-21
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2042-01-21
AI Technical Summary
Existing robot speed planning schemes fail to effectively adapt to physical constraints and user-defined constraints, leading to joint damage and affecting robot lifespan.
By receiving the first constraint data, the trajectory curve and motion data are determined, and the required torque and torque constraint are compared at a preset selected point. The motion data is then adjusted to ensure that the preset constraint is not exceeded, thereby reducing the risk of damage.
This improves the lifespan of robot joints, enabling faster and safer operation while meeting the lifespan requirements of key components.
Smart Images

Figure CN116512236B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of control, in particular to a robot, a control method and device thereof and a readable storage medium. BACKGROUND
[0002] The existing industrial robots are widely applied to automobile manufacturing, mechanical processing, loading and unloading transportation and other processing links, wherein the motion requirements of the robot cannot exceed the physical constraints and the constraints set by the user.
[0003] At present, the speed planning of the robot is given when the physical constraints and the constraints set by the user are assumed to be unchanged. Although the above scheme can simplify the control logic of the robot, the above speed planning scheme does not conform to the actual physical constraints, is easy to cause damage to the key parts, and finally affects the service life of the robot. SUMMARY
[0004] The present application aims at at least solving one of the problems in the prior art or related art.
[0005] To this end, the first aspect of the present application provides a control method of a robot.
[0006] The second aspect of the present application provides a control device of a robot.
[0007] The third aspect of the present application provides a control device of a robot.
[0008] The fourth aspect of the present application provides a readable storage medium.
[0009] The fifth aspect of the present application provides a robot.
[0010] Therefore, according to the first aspect of the present application, a control method of a robot is provided, the robot comprising a joint, the control method comprising: receiving first constraint data; determining a trajectory curve and motion data of the robot according to preset constraint data and the first constraint data; determining a required torque of the joint and a torque constraint provided by the joint at a preset selected point on the trajectory curve according to the motion data; and adjusting the motion data according to a comparison result of the required torque and the torque constraint.
[0011] The technical scheme of the present application provides a control method for a robot, in which, after determining a trajectory curve and motion data adapted to the trajectory curve, preset selected points are selected on the trajectory curve, so as to compare the required torque of the joint and the torque constraint provided by the joint at the selected preset selected points, and adjust the motion data according to the comparison result. In the above process, the planning of the trajectory curve and the simultaneous measurement of the torque constraint are realized, and by comparing the required torque and the torque constraint, it is determined whether the motion data adapted to the trajectory curve will cause damage to the joint, and if there is a possibility of damage, the motion data is adjusted so as to always not exceed the preset constraint data, so as to reduce the damage and improve the service life of the robot.
[0012] In one of the technical schemes, the first constraint data is the constraint data input by the user, and the preset constraint data is the constraint of the robot system, i.e. the physical constraint of the robot system.
[0013] In one of the technical schemes, the constraint data input by the user includes maximum speed, acceleration and jerk constraint, wherein the acceleration can be divided into acceleration and deceleration according to the sign, and in order to facilitate understanding, the deceleration can be understood as acceleration with a negative sign in the present application.
[0014] In one of the technical schemes, the trajectory curve can be a double S-shaped speed planning.
[0015] In one of the technical schemes, the preset selected point is a point where the jerk value changes.
[0016] In the above process, the motion data is adjusted, so that the adjusted robot works at the torque that can be provided by the joint during operation, which can meet the user's constraint and the nonlinear torque constraint provided by the robot system, thereby reducing the probability of damage to the joint, and at the same time, meeting the requirements of faster, safer and predictable service life of key components.
[0017] In one of the technical schemes, the formula of the double S-shaped speed planning is as follows:
[0018]
[0019] Wherein, Minf is the time, and the smaller the value of Minf is, the better it is when performing double S-shaped speed planning, wherein ∑t represents that the formula is superimposed in the order of time, wherein A max is the maximum acceleration value in the preset motion data, A0 is the acceleration value at the starting point of the path, J max is the jerk value, V max is the maximum speed value, K0 is the first function, D maxis a maximum deceleration value in the first constraint data, A1 is an acceleration value on the path, K1 is the second function, L is the path length, L acc is a length of an acceleration section dec is a length of a deceleration section. Wherein, L-L acc -L dec ≥0;
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] Wherein, is a maximum deceleration value in the first constraint data, is a maximum acceleration value in the first constraint data, is a maximum speed value in the first constraint data, J max is a maximum jerk value in the first constraint data.
[0026] By solving and optimizing equations of the double S-shaped speed planning, the maximum speed, the maximum acceleration and the maximum jerk on the trajectory can be obtained.
[0027] In addition, the robot control method provided in the application also has the following additional technical features.
[0028] In the above technical solution, the motion data includes a maximum acceleration value, and the motion data is adjusted according to a comparison result of the required torque and the torque constraint, including: adjusting the maximum acceleration value in a case where the required torque is greater than the torque constraint.
[0029] In the technical solution, the content contained in the motion data is specifically limited, and the parameter to be adjusted when the motion data is adjusted.
[0030] In the technical solution, when the required torque exceeds the torque constraint, the torque constraint provided by the joint cannot meet the torque required by the joint, at this time, the maximum acceleration value is adjusted, so as to adjust the required torque and / or the torque constraint, so as to make the adjusted required torque less than the torque constraint.
[0031] In the above process, since the adjusted required torque is less than the torque constraint, the probability of joint damage during the operation of the robot is reduced compared with before the adjustment, and therefore the service life of the robot is improved.
[0032] In one possible technical solution, the maximum acceleration value affects the speed of the joint, and the maximum speed value affects the speed of the joint, so by adjusting the maximum acceleration value, the required torque can be reduced, thereby prolonging the service life of the robot.
[0033] In any of the above technical solutions, further comprising: in the case that the required torque is less than or equal to the torque constraint, outputting the trajectory curve and the motion data.
[0034] In this technical solution, if it is detected that the required torque does not exceed the torque constraint, it is considered that the joint can be in a safe and reliable state during operation, at this time, the trajectory curve and the motion data matched with the trajectory curve are outputted to guide the operator of the robot to control according to the solution.
[0035] In one possible technical solution, the trajectory curve can be outputted in the form of text, in the form of picture data, or in a combination of the two, so that the user can accurately know the output result, and similarly, the motion data can be outputted in the form of text, in the form of picture data, or in a combination of the two, so that the user can accurately know the output result.
[0036] In one possible technical solution, in the case that the number of preset selection points is multiple, the above solution is sequentially executed until the required torque of the joint and the torque constraint at all preset selection points satisfy the above condition.
[0037] In any of the above technical solutions, the required torque is determined according to the inertia matrix of the preset selection point, the acceleration value of the joint at the preset selection point, the speed term torque of the preset selection point, the gravity term torque of the preset selection point, and the friction term torque of the preset selection point.
[0038] In this design, the calculation scheme of the required torque is specifically defined, and specifically, the calculation of the required torque follows the following formula:
[0039]
[0040] wherein T cmd represents the required torque, M(q) represents the inertia matrix of the preset selection point, represents the speed term torque of the preset selection point, G(q) represents the gravity term torque of the preset selection point, represents the friction term torque, wherein q represents the position data on the trajectory curve, represents the speed value, represents the acceleration value of the joint.
[0041] As can be seen from the above, the demand torque is obtained by summing the product of the inertia matrix and the acceleration value of the joint, the velocity term torque of the preset selected point, the gravity term torque of the preset selected point, and the friction term torque of the preset selected point.
[0042] In this process, the calculation of the demand torque combines the position data, the speed value, and the acceleration value on the trajectory curve, thereby ensuring the accuracy of the calculated demand torque.
[0043] In one of the technical solutions, in the case where the calculation accuracy of the demand torque is not very high, the above formula can be reduced according to the calculation accuracy, so as to reduce the calculation amount.
[0044] In any of the above technical solutions, the corresponding relationship between the speed and the torque constraint of the joint is obtained; and the torque constraint corresponding to the speed of the joint at the preset selected point is determined according to the corresponding relationship.
[0045] In this technical solution, the calculation method of the torque constraint is specifically limited, wherein, in general cases, the higher the speed of the joint, the smaller the corresponding torque constraint, and vice versa, that is, the speed of the joint and the torque constraint are negatively correlated.
[0046] The technical solution of the present application expresses the negative correlation between the speed of the joint and the torque constraint in the form of a corresponding relationship, so that the torque constraint can be directly determined through the corresponding relationship when the speed of the joint is obtained, and in this process, the complexity of calculating the torque constraint can be reduced.
[0047] In the technical solution of the present application, the corresponding relationship can be in the form of a function or in the form of an image.
[0048] In any of the above technical solutions, the maximum acceleration value is adjusted, including: determining a change coefficient according to the demand torque, the torque constraint, the velocity term torque of the preset selected point, the gravity term torque, and the friction term torque; and determining an adjusted maximum acceleration value according to the change coefficient and the maximum acceleration value.
[0049] In this technical solution, the specific way of adjusting the maximum acceleration value is limited.
[0050] Specifically, the change coefficient is first determined, and then the maximum acceleration value is adjusted according to the change coefficient in the case of the change coefficient. The change coefficient is a parameter determined according to the demand torque and the torque constraint, and in this process, the determined change coefficient is related to the demand torque and the torque constraint, so that the adjusted maximum acceleration value can be adapted to the actual control of the robot, and the situation that the selected value of the change coefficient is too large or too small can be avoided.
[0051] In one of the technical solutions, the variation coefficient is the ratio of the required torque to the torque constraint.
[0052] In one of the technical solutions, the variation coefficient is the ratio of the sum of the required torque, the speed term torque, the friction term torque and the gravity term torque of the preset selected point to the torque constraint.
[0053] In the above technical solutions, the determination scheme of the variation coefficient is specifically limited. In the case of selecting the variation coefficient as the ratio of the required torque to the torque constraint, the calculation scheme of the variation coefficient is relatively simple. In the case of selecting the variation coefficient as the ratio of the sum of the required torque, the speed term torque, the friction term torque and the gravity term torque of the preset selected point to the torque constraint, the calculation scheme of the variation coefficient is relatively complex, but the accuracy of the calculation is higher, and in this case, the control accuracy of the robot can be improved.
[0054] In any of the above technical solutions, the trajectory curve and the motion data are further updated according to the adjusted maximum acceleration value.
[0055] In this technical solution, the trajectory curve and the motion data are updated by using the adjusted maximum acceleration value, so as to realize the automatic adjustment and update of the trajectory curve and the motion data.
[0056] In any of the above technical solutions, the ratio of the maximum acceleration value to the variation coefficient is taken as the adjusted maximum acceleration value.
[0057] The scheme of adjusting the maximum acceleration value according to the variation coefficient can be understood as taking the ratio of the maximum acceleration value to the variation coefficient as the adjusted maximum acceleration value. In this process, the maximum acceleration value is reduced by the variation coefficient times, so as to realize the reduction of the maximum acceleration value, so as to realize the adaptation of the required torque to the torque constraint.
[0058] In any of the above technical solutions, the speed value of the preset selected point is determined according to the adjusted maximum acceleration value, the adjusted torque constraint is determined according to the speed value of the preset selected point, and the adjusted maximum acceleration value and the trajectory curve are outputted in the case that the difference between the adjusted torque constraint and the required torque is less than a preset value.
[0059] In the technical solution, after adjusting the motion data, whether the adjusted motion data is reasonable is verified, and specifically, the verification process is as follows: after determining the adjusted torque constraint, the difference between the adjusted torque constraint and the required torque is calculated, and if the difference is greater than zero, it is considered that the adjusted torque constraint can drive the stable operation of the joint; and in the case that the difference is less than zero, it is considered that the adjusted torque constraint still cannot drive the stable operation of the joint. For the case that the adjusted torque constraint can drive the stable operation of the joint, the adjusted maximum acceleration value and the trajectory curve can be outputted so that the user can control the robot according to the parameters.
[0060] For the case that the adjusted torque constraint still cannot drive the stable operation of the joint, the reminding information can be outputted so that the user can adjust the input constraint data to meet the stable operation of the robot.
[0061] In one of the technical solutions, the preset value can be zero or a value greater than zero. By limiting the preset value to be a value greater than zero, the adjusted torque constraint is greater than the required torque, so as to provide stable control and reduce the impact of insufficient torque on the joint life.
[0062] In one of the technical solutions, considering that the adjusted torque constraint is greater than the required torque needs to be adjusted multiple times in actual use conditions, and the above adjustment process takes a long time, which is reflected in that the control beat of the robot becomes longer and the control accuracy of the robot is reduced.
[0063] In order to overcome the above situation, in the technical solution of the present application, the adjusted maximum acceleration value and the trajectory curve are outputted when the absolute difference between the adjusted torque constraint and the required torque is greater than the preset value, so that the user can control the robot according to the parameters.
[0064] In this process, compared with the above solution, the verification requirement is relaxed, which can shorten the control beat of the robot in the case of tolerating joint driving, thereby improving the control accuracy of the robot.
[0065] In addition, using the above technical solution for control can simplify the control logic and improve the robustness of the robot control.
[0066] In one of the technical solutions, the value of the preset value can be selected according to the actual use scene of the robot, and the specific value is not described here.
[0067] In any of the above technical solutions, when the absolute difference between the adjusted torque constraint and the required torque is greater than the preset value, the motion data is adjusted until the difference between the adjusted torque constraint and the required torque is less than the preset value.
[0068] In the technical solution, the control scheme under the condition that the adjusted torque constraint does not meet the demand torque requirement is specifically defined, and in the process, the stop condition of the adjustment motion data is limited to ensure that the final adjustment result meets the verification requirement, so as to output the trajectory curve and the maximum acceleration value meeting the requirement.
[0069] In the above technical solution, through the above control, the reliability of the robot operation is ensured, and the operation life of the robot is improved.
[0070] In any of the above technical solutions, operation is performed according to the adjusted maximum acceleration value and the trajectory curve.
[0071] In the technical solution, the process of applying the adjusted motion data after the adjustment of the motion data is specifically defined, in which the trajectory curve planning and the application of the torque constraint result are realized, and the joint damage is reduced to improve the service life of the robot.
[0072] In any of the above technical solutions, it further includes: operation according to the trajectory curve and the motion data.
[0073] In the technical solution, the motion data and the trajectory curve are used to enable the joint to operate in a safe and reliable state, and the service life of the robot is ensured.
[0074] According to a second aspect of the present application, the present application provides a control device of a robot, the robot comprising a joint, the control device comprising: a receiving unit configured to receive first constraint data; a determining unit configured to determine a trajectory curve and motion data of the robot according to preset constraint data and the constraint data; a calculating unit configured to determine a demand torque of the joint and a torque constraint provided by the joint at a preset selected point on the trajectory curve according to the motion data; and an adjusting unit configured to adjust the motion data according to a comparison result of the demand torque and the torque constraint.
[0075] The technical solution of the present application provides a control device for a robot, in which, after the trajectory curve and the motion data adapted to the trajectory curve are determined, a preset selected point on the trajectory curve is selected, and the demand torque of the joint at the selected preset selected point and the torque constraint provided by the joint are compared, and the motion data is adjusted according to the comparison result. In the above process, the trajectory curve planning and the torque constraint measurement are realized at the same time, the demand torque and the torque constraint are compared to determine whether the motion data adapted to the trajectory curve will cause damage to the joint, and if there is a possibility of damage, the motion data is adjusted so as to always not exceed the preset constraint data, so as to reduce the damage and improve the service life of the robot.
[0076] In one of the technical solutions, the first constraint data is user input constraint data, and the preset constraint data is a robot system constraint, i.e., a physical constraint of the robot system.
[0077] In one of the technical solutions, the user input constraint data includes maximum speed, acceleration, and jerk constraints, wherein the acceleration can be divided into acceleration and deceleration according to the positive and negative signs, and in order to facilitate understanding, the deceleration can be understood as acceleration with a negative sign in the present application.
[0078] In one of the technical solutions, the trajectory curve can be a double S-shaped speed planning.
[0079] In one of the technical solutions, the preset selected point is a point at which the jerk value changes.
[0080] In the above process, the motion data is adjusted so that the adjusted robot works under the torque that can be provided during the running process, can meet the user constraints and the nonlinear torque constraints provided by the robot system, reduces the probability of joint damage, and at the same time, meets the requirements of faster, safer, and predictable key component life.
[0081] In one of the technical solutions, the formula of the double S-shaped speed planning is as follows:
[0082]
[0083] Wherein, Minf is time, and the smaller the value of Minf is, the better when the double S-shaped speed planning is performed, wherein ∑t represents that the formula is superimposed in the order of time, wherein A max is a maximum acceleration value in preset motion data, A0 is an acceleration value at a starting point of the path, J max is a jerk value, V max is a maximum speed value, K0 is a first function, which is a function of J max , A0, and V0, D max is a maximum deceleration value, A1 is an acceleration value on the path, K1 is a second function, which is a function of J max , A1, and V1, L is a path length, L acc is an acceleration segment length, L dec is a deceleration segment length.
[0084] Wherein, L-L acc -L dec ≥ 0.
[0085]
[0086]
[0087]
[0088]
[0089]
[0090] wherein, is a maximum deceleration value in the first constraint data, is a maximum acceleration value in the first constraint data, is a maximum velocity value in the first constraint data, J max is a maximum jerk value in the first constraint data.
[0091] By solving and optimizing equations of the double S-shaped velocity planning, the maximum velocity, the maximum acceleration and the maximum jerk on the trajectory can be obtained.
[0092] In addition, the robot control device provided in the application also has the following additional technical features.
[0093] In the above technical solution, the motion data includes a maximum acceleration value, and the adjusting unit is specifically configured to adjust the maximum acceleration value when the demand torque is greater than the torque constraint.
[0094] In this technical solution, the content contained in the motion data is specifically limited, and the parameter to be adjusted when the motion data is adjusted.
[0095] In this technical solution, when the demand torque exceeds the torque constraint, the torque constraint provided by the joint cannot meet the torque required by the joint, at this time, the maximum acceleration value is adjusted, so as to adjust the demand torque and / or the torque constraint, so that the adjusted demand torque is less than the torque constraint.
[0096] In the above process, since the adjusted demand torque is less than the torque constraint, the probability of joint damage during the operation of the robot is reduced compared with before the adjustment, and therefore the service life of the robot is improved.
[0097] In one of the possible technical solutions, the maximum acceleration value affects the speed of the joint, and the maximum velocity value affects the speed of the joint, so by adjusting the maximum acceleration value, the demand torque can be reduced, thereby improving the service life of the robot.
[0098] In any of the above technical solutions, the adjusting unit is further configured to output the trajectory curve and the motion data when the demand torque is less than or equal to the torque constraint.
[0099] In the technical solution, if the detected demand torque does not exceed the torque constraint, it is considered that the joint can be in a safe and reliable state during operation, at this time, the trajectory curve and the motion data matched with the trajectory curve are output to guide the operator of the robot to control according to the scheme.
[0100] In one of the technical solutions, the trajectory curve can be output in the form of text, in the form of picture data, or a combination of the two, so that the user can accurately know the output result. Similarly, the motion data can be output in the form of text, in the form of picture data, or a combination of the two, so that the user can accurately know the output result.
[0101] In one of the technical solutions, when the number of preset selection points is multiple, the above scheme is sequentially executed until the demand torque of the joint and the torque constraint at all preset selection points satisfy the above condition.
[0102] In any of the above technical solutions, the calculation unit is specifically configured to determine the demand torque according to the inertia matrix of the preset selection point, the acceleration value of the joint at the preset selection point, the velocity term torque of the preset selection point, the gravity term torque of the preset selection point, and the friction term torque of the preset selection point.
[0103] In the design, the calculation scheme of the demand torque is specifically defined. Specifically, the calculation of the demand torque follows the following formula:
[0104]
[0105] where T cmd represents the demand torque, M(q) represents the inertia matrix of the preset selection point, represents the velocity term torque of the preset selection point, G(q) represents the gravity term torque of the preset selection point, represents the friction term torque, where q represents the position data on the trajectory curve, represents the velocity value, represents the acceleration value of the joint.
[0106] As can be seen from the above, the demand torque is obtained by summing the product of the inertia matrix and the acceleration value of the joint, the velocity term torque of the preset selection point, the gravity term torque of the preset selection point, and the friction term torque of the preset selection point.
[0107] In this process, the calculation of the demand torque combines the position data, the velocity value, and the acceleration value on the trajectory curve, so as to ensure the accuracy of the calculated demand torque.
[0108] In one of the technical solutions, in the case that the calculation accuracy of the demand torque is not high, the above formula can be reduced according to the calculation accuracy, so as to reduce the calculation amount.
[0109] In any of the above technical solutions, the calculation unit is specifically configured to: obtain a corresponding relationship between the joint speed and the torque constraint; and determine the torque constraint corresponding to the joint speed at the preset selected point according to the corresponding relationship.
[0110] In this technical solution, the calculation method of the torque constraint is specifically limited, wherein generally, the higher the joint speed, the smaller the corresponding torque constraint, and vice versa, that is, the lower the joint speed, the larger the corresponding torque constraint. It can be understood that the joint speed and the torque constraint are negatively correlated.
[0111] The technical solution of the present application expresses the negative correlation between the joint speed and the torque constraint in the form of a corresponding relationship, so that in the case that the joint speed is obtained, the torque constraint can be directly determined through the corresponding relationship. In this process, the complexity of calculating the torque constraint can be reduced.
[0112] In the technical solution of the present application, the corresponding relationship can be in the form of a function or in the form of an image.
[0113] In any of the above technical solutions, the adjustment unit is specifically configured to: determine a change coefficient according to the demand torque, the torque constraint, the speed term torque of the preset selected point, the gravity term torque and the friction term torque; and determine an adjusted maximum acceleration value according to the change coefficient and the maximum acceleration value.
[0114] In this technical solution, the specific way of adjusting the maximum acceleration value is limited.
[0115] Specifically, first, the change coefficient is determined, and then the maximum acceleration value is adjusted according to the change coefficient in the case of the change coefficient. The change coefficient is a parameter determined according to the demand torque and the torque constraint. In this process, the determined change coefficient is related to the demand torque and the torque constraint, so it can be ensured that the adjusted maximum acceleration value is adapted to the actual control of the robot, and the situation that the selected value of the change coefficient is too large or too small is avoided.
[0116] In one of the technical solutions, the change coefficient is the ratio of the demand torque to the torque constraint.
[0117] In one of the technical solutions, the change coefficient is the ratio of the sum of the demand torque, the speed term torque of the preset selected point, the friction term torque, the gravity term torque to the torque constraint.
[0118] In the technical solution, the determination scheme of the variation coefficient is specifically defined, in the case of selecting the variation coefficient as the ratio of the demand torque and the torque constraint, the calculation scheme of the variation coefficient is relatively simple, and in the case of the variation coefficient being the ratio of the sum of the demand torque, the speed term torque, the friction term torque and the gravity term torque of the preset selected point and the torque constraint, the calculation scheme of the variation coefficient is relatively complex, but the calculation accuracy is higher, and in this case, the control accuracy of the robot can be improved.
[0119] In any of the above technical solutions, the trajectory curve and the motion data are updated according to the adjusted maximum acceleration value.
[0120] In the technical solution, the trajectory curve and the motion data are updated by using the adjusted maximum acceleration value, so as to realize the automatic adjustment and update of the trajectory curve and the motion data.
[0121] In any of the above technical solutions, the adjustment unit is further configured to take the ratio of the maximum acceleration value and the variation coefficient as the adjusted maximum acceleration value.
[0122] The scheme of adjusting the maximum acceleration value according to the variation coefficient can be understood as taking the ratio of the maximum acceleration value and the variation coefficient as the adjusted maximum acceleration value, in this process, the maximum acceleration value is reduced by the variation coefficient times, so as to realize the adaptation of the demand torque and the torque constraint.
[0123] In any of the above technical solutions, the adjustment unit is further configured to determine the speed value of the preset selected point according to the adjusted maximum acceleration value, determine the adjusted torque constraint according to the speed value of the preset selected point, and output the adjusted maximum acceleration value and the trajectory curve in the case that the difference between the adjusted torque constraint and the demand torque is less than a preset value.
[0124] In the technical solution, after adjusting the motion data, whether the adjusted motion data is reasonable is verified, specifically, the verification process is as follows: after determining the adjusted torque constraint, the difference between the adjusted torque constraint and the demand torque is calculated, if the difference is greater than zero, it is considered that the adjusted torque constraint can drive the stable operation of the joint, and in the case that the difference is less than zero, it is considered that the adjusted torque constraint still cannot drive the stable operation of the joint, for the case that the adjusted torque constraint can drive the stable operation of the joint, the adjusted maximum acceleration value and the trajectory curve can be outputted, so that the user can control the robot according to the parameters.
[0125] For the case that the adjusted torque constraint still cannot drive the stable operation of the joint, a prompt information can be outputted, so that the user can adjust the input constraint data to meet the stable operation of the robot.
[0126] In one of the technical solutions, the preset value can be zero or a value greater than zero. By limiting the preset value to be greater than zero, the adjusted torque constraint is greater than the required torque, so as to provide stable control and reduce the impact of insufficient torque on the joint life.
[0127] In one of the technical solutions, considering that the adjusted torque constraint is greater than the required torque needs to be adjusted multiple times in actual use, and the above adjustment process takes a long time, which is reflected in that the control cycle of the robot is lengthened and the control accuracy of the robot is reduced.
[0128] In order to overcome the above situation, in the technical solution of the present application, the absolute difference between the adjusted torque constraint and the required torque is greater than the preset value. The adjusted maximum acceleration value and the trajectory curve are outputted, so that the user can control the robot according to the parameters.
[0129] In this process, compared with the above solution, the verification requirement is relaxed, which can shorten the control cycle of the robot in the case of tolerating joint driving, thereby improving the control accuracy of the robot.
[0130] In addition, using the above technical solution for control can simplify the control logic and improve the robustness of the robot control.
[0131] In one of the technical solutions, the value of the preset value can be selected according to the actual use scene of the robot, and the specific value is not described here.
[0132] In any of the above technical solutions, the adjustment unit is further configured to: in the case that the difference between the adjusted torque constraint and the required torque is greater than the preset value, adjust the motion data until the difference between the adjusted torque constraint and the required torque is less than the preset value.
[0133] In any of the above technical solutions, the adjustment unit is further configured to: run according to the adjusted maximum acceleration value and the trajectory curve.
[0134] In this technical solution, the control scheme in the case that the adjusted torque constraint does not meet the requirement of the required torque is specifically limited. In this process, the stop condition of adjusting the motion data is limited to ensure that the final adjustment result meets the verification requirement, so as to output the trajectory curve and the maximum acceleration value that meet the requirement.
[0135] In the above technical solution, through the above control, the reliability of the robot operation is ensured, and the operation life of the robot is improved.
[0136] In any of the above technical solutions, the adjusting unit is further configured to run according to the adjusted maximum acceleration value and the trajectory curve.
[0137] In this technical solution, the process of applying the adjusted motion data is specifically defined after the adjustment of the motion data, in which process, the trajectory curve planning and the application of the torque constraint result are realized, the joint damage is reduced, and the service life of the robot is improved.
[0138] In any of the above technical solutions, the adjusting unit is further configured to run according to the trajectory curve and the motion data.
[0139] In this technical solution, the joint can run in a safe and reliable state by using the motion data and the trajectory curve, and the service life of the robot is ensured.
[0140] According to a third aspect of the present application, the present application provides a control device of a robot, comprising: a controller and a memory, wherein the memory stores programs or instructions, and the controller implements the steps of the method according to any of the above technical solutions when executing the programs or instructions in the memory.
[0141] According to a fourth aspect of the present application, the present application provides a readable storage medium, which stores programs or instructions, and the programs or instructions are executed by a processor to implement the steps of the method according to any of the above technical solutions.
[0142] According to a fifth aspect of the present application, the present application provides a robot, comprising: a control device of a robot according to any of the above technical solutions; or a readable storage medium according to the above.
[0143] Additional aspects and advantages of the present application will be in part apparent and in part pointed out hereinafter. BRIEF DESCRIPTION OF DRAWINGS
[0144] The above and / or additional aspects and advantages of the present application will become apparent and be readily appreciated from the following description, including the appended drawings.
[0145] Figure 1 One of the flowcharts of the control method of the robot in the embodiment of the present application is shown;
[0146] Figure 2 A schematic diagram of the corresponding relationship between the speed of the joint and the torque constraint in the embodiment of the present application is shown;
[0147] Figure 3 Another flowchart of the control method of the robot in the embodiment of the present application is shown;
[0148] Figure 4Fig. 1 shows a schematic diagram of a control method of a robot in an embodiment of the present application;
[0149] Figure 5 Fig. 2 shows a schematic block diagram of a control device of a robot in an embodiment of the present application. DETAILED DESCRIPTION
[0150] In order to enable a more complete understanding of the above-mentioned aspects, features and advantages of the present application, the present application will be described in further detail below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict, if possible.
[0151] In the following description, a large number of specific details are set forth in order to facilitate a thorough understanding of the present application, however, the present application can also be implemented in other ways different from those described herein, and therefore, the scope of protection of the present application is not limited by the specific embodiments disclosed below.
[0152] The following description refers to the accompanying drawings and specific embodiments. Figures 1 to 5 The following describes a robot and a control method, device and readable storage medium thereof according to some embodiments of the present application.
[0153] Embodiment One
[0154] As shown in Figure 1 According to a first aspect of the present application, the present application provides a control method of a robot, the robot comprising a joint, the control method comprising:
[0155] Step 102, receiving first constraint data;
[0156] Step 104, determining a trajectory curve and motion data of the robot according to the preset constraint data and the first constraint data;
[0157] Step 106, determining a required torque of the joint and a torque constraint provided by the joint at a preset selected point on the trajectory curve according to the motion data;
[0158] Step 108, adjusting the motion data according to a comparison result of the required torque and the torque constraint.
[0159] The technical scheme of the present application provides a control method for a robot, in which, after a trajectory curve and motion data adapted to the trajectory curve are determined, preset selected points are selected on the trajectory curve, so as to compare the required torque of the joint and the torque constraint provided by the joint at the selected preset selected points, and adjust the motion data according to the comparison result. In the above process, the planning of the trajectory curve and the simultaneous measurement of the torque constraint are realized, the required torque and the torque constraint are compared so as to determine whether the motion data adapted to the trajectory curve will cause damage to the joint, and if there is a possibility of damage, the motion data is adjusted so as to always not exceed the preset constraint data, so as to reduce the damage and improve the service life of the robot.
[0160] In one of the technical schemes, the first constraint data is the constraint data input by the user, and the preset constraint data is the constraint of the robot system, i.e. the physical constraint of the robot system.
[0161] In one of the technical schemes, the constraint data input by the user includes maximum speed, acceleration and jerk constraint, wherein the acceleration can be divided into acceleration and deceleration according to the sign, and in order to facilitate understanding, the deceleration can be understood as the acceleration with a negative sign in the present application.
[0162] In one of the technical schemes, the trajectory curve can be a double S-shaped speed planning.
[0163] In one of the technical schemes, the preset selected point is a point where the jerk value changes.
[0164] In the above process, the motion data is adjusted so that the joint of the adjusted robot works at the torque it can provide during operation, which can meet the user's constraint and the nonlinear torque constraint provided by the robot system, thereby reducing the probability of damage to the joint, and at the same time, meeting the requirements of faster, safer and predictable service life of key components.
[0165] In one of the technical schemes, the formula of the double S-shaped speed planning is as follows:
[0166]
[0167] Wherein, Minf is the time, and the smaller the value of Minf is, the better it is when the double S-shaped speed planning is performed, wherein ∑t represents that the formula is superimposed in the order of time, wherein A max is the maximum acceleration value in the preset motion data, A0 is the acceleration value at the starting point of the path, J max is the jerk value, V max is the maximum speed value, K0 is the first function, D maxA1 is the acceleration value on the path, K1 is the second function, L is the path length, L acc is the acceleration segment length, L dec is the deceleration segment length.
[0168] wherein, L-L acc -L dec ≥ 0.
[0169]
[0170]
[0171]
[0172]
[0173]
[0174] wherein, is the maximum deceleration value in the first constraint data, is the maximum acceleration value in the first constraint data, is the maximum speed value in the first constraint data, J max is the maximum jerk value in the first constraint data.
[0175] By solving and optimizing the equation of the double S-shaped speed planning, the maximum speed, the maximum acceleration and the maximum jerk on the trajectory can be obtained.
[0176] Embodiment Two
[0177] In one design, the motion data includes: the maximum acceleration value, the motion data is adjusted according to the comparison result of the demand torque and the torque constraint, including: in the case that the demand torque is greater than the torque constraint, the maximum acceleration value is adjusted.
[0178] In this design, the content contained in the motion data is specifically limited, and the parameter to be adjusted when the motion data is adjusted.
[0179] In this design, when the demand torque exceeds the torque constraint, the torque constraint provided by the joint cannot meet the torque required by the joint, at this time, the maximum acceleration value is adjusted, so as to adjust the demand torque and / or the torque constraint, so as to make the adjusted demand torque less than the torque constraint.
[0180] In the above process, since the adjusted demand torque is less than the torque constraint, the probability of joint damage during the operation of the robot is reduced compared with before the adjustment, and therefore the service life of the robot is improved.
[0181] In one possible implementation, the maximum acceleration value affects the speed of the joint, and the maximum speed value affects the speed of the joint, so adjusting the maximum acceleration value can reduce the required torque, thereby prolonging the service life of the robot.
[0182] In one possible design, the trajectory curve and the motion data are output when the required torque is less than or equal to the torque constraint.
[0183] In this design, if it is detected that the required torque does not exceed the torque constraint, it is considered that the joint can be in a safe and reliable state during operation, and at this time, the trajectory curve and the motion data matching the trajectory curve are output to guide the operator of the robot to control according to the scheme.
[0184] In one possible implementation, the trajectory curve can be output in the form of text, in the form of picture data, or in a combination of the two, so that the user can accurately know the output result. Similarly, the motion data can be output in the form of text, in the form of picture data, or in a combination of the two, so that the user can accurately know the output result.
[0185] In one possible implementation, when the number of preset selection points is multiple, the above scheme is sequentially executed until the required torque of the joint and the torque constraint at all preset selection points satisfy the above condition.
[0186] Embodiment Three
[0187] In one possible design, the required torque is determined according to the inertia matrix of the preset selection point, the acceleration value of the joint at the preset selection point, the speed term torque of the preset selection point, the gravity term torque of the preset selection point, and the friction term torque of the preset selection point.
[0188] In this design, the calculation scheme of the required torque is specifically limited, and specifically, the calculation of the required torque follows the formula:
[0189]
[0190] wherein T cmd represents the required torque, M(q) represents the inertia matrix of the preset selection point, represents the speed term torque of the preset selection point, G(q) represents the gravity term torque of the preset selection point, represents the friction term torque, wherein q represents the position data on the trajectory curve, represents the speed value, represents the acceleration value of the joint.
[0191] As can be seen from the above, the demand torque is obtained by summing the product of the inertia matrix and the acceleration value of the joint, the velocity term torque of the preset selected point, the gravity term torque of the preset selected point, and the friction term torque of the preset selected point.
[0192] In this process, the calculation of the demand torque combines the position data, the velocity value, and the acceleration value on the trajectory curve, thereby ensuring the accuracy of the calculated demand torque.
[0193] In one of the technical solutions, when the calculation accuracy of the demand torque is not very high, the above formula can be reduced according to the calculation accuracy, so as to reduce the calculation amount.
[0194] In one possible design, as shown in Figure 2 , the corresponding relationship between the velocity of the joint and the torque constraint is obtained; and according to the corresponding relationship, the torque constraint corresponding to the velocity of the joint at the preset selected point is determined.
[0195] In this design, the calculation method of the torque constraint is specifically limited, wherein, generally, the higher the velocity of the joint, the smaller the corresponding torque constraint, and vice versa, that is, the lower the velocity of the joint, the larger the corresponding torque constraint. It can be understood that the velocity of the joint and the torque constraint are negatively correlated.
[0196] The technical solution of the present application expresses the negative correlation between the velocity of the joint and the torque constraint in the form of a corresponding relationship, so that the torque constraint can be directly determined through the corresponding relationship when the velocity of the joint is obtained. In this process, the complexity of calculating the torque constraint can be reduced.
[0197] In the technical solution of the present application, the corresponding relationship can be in the form of a function or in the form of an image.
[0198] Embodiment Four
[0199] In one possible design, adjusting the maximum acceleration value comprises: determining a change coefficient according to the demand torque, the torque constraint, the velocity term torque of the preset selected point, the gravity term torque, and the friction term torque; and determining an adjusted maximum acceleration value according to the change coefficient and the maximum acceleration value.
[0200] In this design, the specific way of adjusting the maximum acceleration value is limited.
[0201] Specifically, first, the change coefficient is determined, and in the case of the change coefficient, the maximum acceleration value is adjusted according to the change coefficient. Wherein, the change coefficient is a parameter determined according to the demand torque and the torque constraint, in this process, the determined change coefficient is related to the demand torque and the torque constraint, therefore, it can be ensured that the adjusted maximum acceleration value is adapted to the actual control of the robot, and the situation that the selected value of the change coefficient is too large or too small is avoided.
[0202] In one of the technical solutions, the change coefficient is the ratio of the demand torque to the torque constraint.
[0203] In one of the technical solutions, the change coefficient is the ratio of the sum of the demand torque, the speed term torque of the preset selected point, the friction term torque and the gravity term torque to the torque constraint.
[0204] Specifically, the calculation formula of the change coefficient K is as follows:
[0205]
[0206] In the above technical solutions, the determination scheme of the change coefficient is specifically limited, in the case of selecting the change coefficient as the ratio of the demand torque to the torque constraint, the calculation scheme of the change coefficient is relatively simple; and in the case of selecting the change coefficient as the ratio of the sum of the demand torque, the speed term torque of the preset selected point, the friction term torque and the gravity term torque to the torque constraint, the calculation scheme of the change coefficient is relatively complex, but the calculation accuracy is higher, in this case, the control accuracy of the robot can be improved.
[0207] Wherein, T cmd is the demand torque, T con is the torque constraint.
[0208] In any possible design described above, it further includes: updating the trajectory curve and the motion data according to the adjusted maximum acceleration value.
[0209] In this design, the trajectory curve and the motion data are updated by using the adjusted maximum acceleration value, so as to realize the automatic adjustment and update of the trajectory curve and the motion data.
[0210] In one possible design, the ratio of the maximum acceleration value to the change coefficient is taken as the adjusted maximum acceleration value.
[0211] The scheme of adjusting the maximum acceleration value according to the change coefficient can be understood as taking the ratio of the maximum acceleration value to the change coefficient as the adjusted maximum acceleration value, in this process, the maximum acceleration value is reduced by the change coefficient multiple, so as to realize the reduction of the maximum acceleration value, so as to realize the adaptation of the demand torque to the torque constraint.
[0212] One possible design also includes: determining the velocity value of a preset selection point based on the adjusted maximum acceleration value; determining the adjusted torque constraint based on the velocity value of the preset selection point; and outputting the adjusted maximum acceleration value and trajectory curve when the difference between the adjusted torque constraint and the required torque is less than a preset value.
[0213] In one possible design, the velocity value of the preset selection point is calculated according to the following formula:
[0214] v i =f(K,J max ,L)
[0215] Among them, v i The speed value is the preset selected point.
[0216] In this design, after adjusting the motion data, the rationality of the adjusted motion data is verified. Specifically, the verification process is as follows: Figure 4 As shown, after determining the adjusted torque constraint, the difference between the adjusted torque constraint and the required torque is calculated. If the difference is greater than zero, it is considered that the adjusted torque constraint can drive the stable operation of the joint; if the difference is less than zero, it is considered that the adjusted torque constraint still cannot drive the stable operation of the joint. If the adjusted torque constraint can drive the stable operation of the joint, the adjusted maximum acceleration value and trajectory curve can be output so that the user can control the robot according to the parameters.
[0217] If the adjusted torque constraints are still insufficient to drive the joint to operate stably, a reminder message can be output so that the user can adjust the input constraint data to ensure the robot's stable operation.
[0218] In one possible design, the adjusted torque constraint is determined based on the correspondence.
[0219] In one of the technical solutions, the preset value can be zero or a value greater than zero. By limiting the preset value to a value greater than zero, the adjusted torque constraint is made greater than the required torque, so as to provide stable control and reduce the impact of insufficient torque on joint life.
[0220] In one of the technical solutions, considering that under actual operating conditions, the adjusted torque constraint is greater than the required torque and needs to be adjusted multiple times, the above adjustment process will take a long time. As a result, the robot's control cycle will become longer and the robot's control accuracy will be reduced.
[0221] In order to overcome the above situation, in the technical scheme of the application, the absolute difference between the adjusted torque constraint and the demand torque is greater than the preset value, and the adjusted maximum acceleration value and the trajectory curve are outputted, so that the user can control the robot according to the parameters.
[0222] In this process, compared with the above scheme, the verification requirement is relaxed, which can shorten the control cycle of the robot in the case of tolerating joint driving, thereby improving the control accuracy of the robot.
[0223] In addition, the control using the above technical scheme can simplify the control logic and improve the robustness of the robot control.
[0224] In one of the technical schemes, the value of the preset value can be selected according to the actual use scene of the robot, and the specific value is not described here.
[0225] In one possible design, the preset value is the width of the torque constraint error band set by the user.
[0226] In one possible design, when the absolute difference between the adjusted torque constraint and the demand torque is greater than the preset value, the motion data is adjusted until the difference between the adjusted torque constraint and the demand torque is less than the preset value.
[0227] In this design, the control scheme when the adjusted torque constraint does not meet the demand torque requirement is specifically limited, and in this process, the stop condition of adjusting the motion data is limited to ensure that the final adjustment result meets the verification requirement, thereby outputting the trajectory curve and the maximum acceleration value that meet the requirements.
[0228] In the above technical scheme, through the above control, the reliability of the robot operation is ensured, and the service life of the robot is improved.
[0229] In one possible design, the maximum acceleration value and the trajectory curve are adjusted according to the adjusted maximum acceleration value and the trajectory curve.
[0230] In this design, the process of applying the adjusted motion data after adjusting the motion data is specifically limited, in which the trajectory curve planning and torque constraint result application are realized, and the joint damage is reduced to improve the service life of the robot.
[0231] In one possible design, it also includes: running according to the trajectory curve and the motion data.
[0232] In this design, the motion data and the trajectory curve are used to run the joint in a safe and reliable state, thereby ensuring the service life of the robot.
[0233] Embodiment five
[0234] As shown in the figure, the control method of the robot comprises: Figure 3
[0235] Step 302, according to the user constraints V max , A max , D max and J max , a double S-shaped trajectory is planned;
[0236] Step 304, according to the planning result, sampling is performed and marked as a preset selected point;
[0237] Step 306, the required torque T cmd of the key point under the planned speed and acceleration is calculated;
[0238] Step 308, the torque limit T con that the joint can provide at the key point is calculated;
[0239] Step 310, it is judged whether T cmd ≤ T con , if the judgment result is yes, the process is ended, and if the judgment result is no, step 312 is executed;
[0240] Step 312,
[0241] Step 314, the speed V new of the key point is calculated according to , and V new is calculated according to
[0242] Step 316, it is judged whether , if the judgment result is yes, the process is ended, and if the judgment result is no, step 312 is executed.
[0243] Wherein, is the maximum acceleration value before adjustment, is the maximum acceleration value after adjustment.
[0244] Wherein, is the new torque limit, and ε is a preset numerical value.
[0245] In the embodiment, after the trajectory curve and the motion data adapted to the trajectory curve are determined, preset selected points on the trajectory curve are selected, so that the required torque of the joint and the torque constraint provided by the joint at the selected preset selected points are compared, and the motion data is adjusted according to the comparison result. In the above process, the planning of the trajectory curve and the simultaneous measurement of the torque constraint are realized, the required torque and the torque constraint are compared, so as to determine whether the motion data adapted to the trajectory curve will cause damage to the joint, and if there is a possibility of damage, the motion data is adjusted to reduce the damage, so as to improve the service life of the robot.
[0246] Embodiment six
[0247] According to one design of the present application, as shown in Figure 5 The present application provides a control device 500 of a robot, the robot comprising a joint, the control device comprising: a receiving unit 502 configured to receive first constraint data; a determining unit 504 configured to determine a trajectory curve of the robot and motion data adapted to the trajectory curve according to preset constraint data and the constraint data; a calculating unit 506 configured to determine a required torque of the joint and a torque constraint provided by the joint at preset selected points on the trajectory curve according to the motion data; and an adjusting unit 508 configured to adjust the motion data according to a comparison result of the required torque and the torque constraint.
[0248] The technical solution of the present application provides a control device 500 of a robot, in which, after the trajectory curve and the motion data adapted to the trajectory curve are determined, preset selected points on the trajectory curve are selected, so that the required torque of the joint and the torque constraint provided by the joint at the selected preset selected points are compared, and the motion data is adjusted according to the comparison result. In the above process, the planning of the trajectory curve and the simultaneous measurement of the torque constraint are realized, the required torque and the torque constraint are compared, so as to determine whether the motion data adapted to the trajectory curve will cause damage to the joint, and if there is a possibility of damage, the motion data is adjusted to reduce the damage, so as to improve the service life of the robot.
[0249] In one of the technical solutions, the first constraint data is constraint data input by a user, and the preset constraint data is a robot system constraint, i.e., a physical constraint of the robot system.
[0250] In one of the technical solutions, the constraint data input by the user comprises maximum speed, acceleration and jerk constraints, wherein the acceleration can be divided into acceleration and deceleration according to the sign, and in order to facilitate understanding, the deceleration can be understood as acceleration with a negative sign in the present application.
[0251] In one of the technical solutions, the trajectory curve can be a double S-shaped speed planning.
[0252] In one of the technical solutions, the preset selected point is a point of jerk value change.
[0253] In the above process, the motion data is adjusted so that the joints of the adjusted robot work under the torque that can be provided during operation, which can meet the user constraints and the nonlinear torque constraints provided by the robot system, thereby reducing the probability of joint damage, and at the same time, providing faster, safer and predictable requirements for the life of key components.
[0254] In one of the technical solutions, the formula of the double S-shaped speed planning is as follows:
[0255]
[0256] Wherein, Minf is a time, and Minf is smaller when the double S-shaped speed planning is performed, wherein, ∑t represents that the formula is superimposed in time sequence, wherein, A max is a maximum acceleration value in preset motion data, A0 is an acceleration value at a starting point of the path, J max is a jerk value, V max is a maximum speed value, K0 is a first function, D max is a maximum deceleration value, A1 is an acceleration value on the path, K1 is a second function, L is a path length, L acc is an acceleration segment length, L dec is a deceleration segment length.
[0257] Wherein, L-L acc -L dec ≥ 0;
[0258]
[0259]
[0260]
[0261]
[0262]
[0263] Wherein, is a maximum deceleration value in the first constraint data, is a maximum acceleration value in the first constraint data, is a maximum speed value in the first constraint data, J max is a maximum jerk value in the first constraint data.
[0264] By solving the optimization equation of the double S-shaped velocity planning, the maximum speed, the maximum acceleration and the maximum jerk on the trajectory can be obtained.
[0265] In the technical solution, the motion data includes a maximum acceleration value, and the adjustment unit 508 is specifically configured to: in a case where the required torque is greater than the torque constraint, adjust the maximum acceleration value.
[0266] In the design, the content contained in the motion data is specifically limited, and the parameter to be adjusted when the motion data is adjusted is also limited.
[0267] In the design, when the required torque exceeds the torque constraint, the torque constraint provided by the joint cannot meet the required torque of the joint, and at this time, the maximum acceleration value is adjusted to adjust the required torque and / or the torque constraint, so that the adjusted required torque is less than the torque constraint.
[0268] In the above process, since the adjusted required torque is less than the torque constraint, the probability of joint damage during robot operation is reduced compared to before adjustment, thereby improving the service life of the robot.
[0269] In one possible technical solution, the maximum acceleration value affects the speed of the joint, and the maximum speed value affects the speed of the joint, so by adjusting the maximum acceleration value, the required torque can be reduced, thereby improving the service life of the robot.
[0270] In one possible design, the adjustment unit 508 is further configured to: in a case where the required torque is less than or equal to the torque constraint, output the trajectory curve and the motion data.
[0271] In the design, if it is detected that the required torque does not exceed the torque constraint, it is considered that the joint can be in a safe and reliable state during operation, and at this time, the trajectory curve and the motion data matched with the trajectory curve are output to guide the operator of the robot to control according to the scheme.
[0272] In one technical solution, the trajectory curve can be output in the form of text, in the form of picture data, or in a combination of the two, so that the user can accurately know the output result. Similarly, the motion data can be output in the form of text, in the form of picture data, or in a combination of the two, so that the user can accurately know the output result.
[0273] In one technical solution, in a case where the number of preset selection points is multiple, the above scheme is sequentially executed until the required torque of the joint and the torque constraint at all preset selection points satisfy the above condition.
[0274] In one possible design, the calculation unit 506 is specifically configured to determine the required torque according to the inertia matrix of the preset selected point, the acceleration value of the joint at the preset selected point, the velocity term torque of the preset selected point, the gravity term torque of the preset selected point, and the friction term torque of the preset selected point.
[0275] In this design, the calculation scheme of the required torque is specifically defined. Specifically, the calculation of the required torque follows the formula:
[0276]
[0277] wherein T cmd represents the required torque, M(q) represents the inertia matrix of the preset selected point, represents the velocity term torque of the preset selected point, G(q) represents the gravity term torque of the preset selected point, represents the friction term torque, wherein q represents the position data on the trajectory curve, represents the velocity value, represents the acceleration value of the joint.
[0278] As known from the above, the required torque is obtained by summing the product of the inertia matrix and the acceleration value of the joint, the velocity term torque of the preset selected point, the gravity term torque of the preset selected point, and the friction term torque of the preset selected point.
[0279] In this process, the calculation of the required torque combines the position data on the trajectory curve, the velocity value, and the acceleration value, thus ensuring the accuracy of the calculated required torque.
[0280] In one technical solution, in the case where the calculation accuracy of the required torque is not very high, the above formula can be reduced according to the calculation accuracy, so as to reduce the calculation amount.
[0281] In one possible design, the calculation unit 506 is specifically configured to obtain the corresponding relationship between the velocity of the joint and the torque constraint, and determine the torque constraint corresponding to the velocity of the joint at the preset selected point according to the corresponding relationship.
[0282] In this design, the calculation manner of the torque constraint is specifically defined. Generally, the higher the velocity of the joint, the smaller the corresponding torque constraint, and vice versa. It can be understood that the velocity of the joint and the torque constraint are negatively correlated.
[0283] The technical solution of the present application expresses the negative correlation between the velocity of the joint and the torque constraint in the form of a corresponding relationship, so that the torque constraint can be directly determined through the corresponding relationship when the velocity of the joint is obtained. In this process, the complexity of calculating the torque constraint can be reduced.
[0284] In the technical solutions of the present application, the corresponding relationship can be displayed in the form of a function or in the form of an image.
[0285] In one possible design, the adjustment unit 508 is specifically configured to: determine a change coefficient according to the demand torque, the torque constraint, the speed term torque of the preset selected point, the gravity term torque and the friction term torque; and determine the adjusted maximum acceleration value according to the change coefficient and the maximum acceleration value.
[0286] In this design, the specific manner of adjusting the maximum acceleration value is limited.
[0287] Specifically, the change coefficient is first determined, and the maximum acceleration value is adjusted according to the change coefficient in the case of the change coefficient. The change coefficient is a parameter determined according to the demand torque and the torque constraint. In this process, the determined change coefficient is related to the demand torque and the torque constraint, so it can be ensured that the adjusted maximum acceleration value is adapted to the actual control of the robot, and the situation that the selected value of the change coefficient is too large or too small is avoided.
[0288] In one technical solution, the change coefficient is the ratio of the demand torque to the torque constraint.
[0289] In one technical solution, the change coefficient is the ratio of the sum of the demand torque, the speed term torque of the preset selected point, the friction term torque and the gravity term torque to the torque constraint.
[0290] Specifically, the calculation formula of the change coefficient K is as follows:
[0291]
[0292] In the above technical solutions, the determination scheme of the change coefficient is specifically limited. In the case of selecting the change coefficient as the ratio of the demand torque to the torque constraint, the calculation scheme of the change coefficient is relatively simple. In the case of selecting the change coefficient as the ratio of the sum of the demand torque, the speed term torque of the preset selected point, the friction term torque and the gravity term torque to the torque constraint, the calculation scheme of the change coefficient is relatively complex, but the calculation accuracy is higher. In this case, the control accuracy of the robot can be improved.
[0293] In any of the above possible designs, the trajectory curve and the motion data are further updated according to the adjusted maximum acceleration value.
[0294] In this design, the trajectory curve and the motion data are updated by using the adjusted maximum acceleration value, so as to realize the automatic adjustment and update of the trajectory curve and the motion data. In one possible design, the adjusting unit 508 is further configured to: take the ratio of the maximum acceleration value and the change coefficient as the adjusted maximum acceleration value.
[0295] The scheme of adjusting the maximum acceleration value according to the change coefficient can be understood as taking the ratio of the maximum acceleration value and the change coefficient as the adjusted maximum acceleration value, and in this process, the maximum acceleration value is reduced by the change coefficient times, so as to realize the adaptation of the demand torque and the torque constraint.
[0296] In one possible design, the adjusting unit 508 is further configured to: determine the speed value of the preset selected point according to the adjusted maximum acceleration value; determine the adjusted torque constraint according to the speed value of the preset selected point; determine the difference between the adjusted torque constraint and the demand torque, and output the adjusted maximum acceleration value and the trajectory curve in the case that the difference is less than a preset value.
[0297] In one possible design, the calculation of the speed value of the preset selected point follows the formula:
[0298] v i = f(K, J max , L)
[0299] wherein v i is the speed value of the preset selected point.
[0300] In this design, after adjusting the motion data, it is further verified whether the adjusted motion data is reasonable. Specifically, the verification process is as follows: after determining the adjusted torque constraint, the difference between the adjusted torque constraint and the demand torque is calculated, and if the difference is greater than zero, it is considered that the adjusted torque constraint can drive the stable operation of the joint; and in the case that the difference is less than zero, it is considered that the adjusted torque constraint still cannot drive the stable operation of the joint. For the case that the adjusted torque constraint can drive the stable operation of the joint, the adjusted maximum acceleration value and the trajectory curve can be outputted, so that the user can control the robot according to the parameters.
[0301] For the case that the adjusted torque constraint still cannot drive the stable operation of the joint, a prompt information can be outputted, so that the user can adjust the input constraint data to meet the stable operation of the robot.
[0302] In one of the technical solutions, the preset value can be zero or a value greater than zero. By limiting the preset value to be greater than zero, the adjusted torque constraint is greater than the required torque, so as to provide stable control and reduce the impact of insufficient torque on the joint life.
[0303] In one of the technical solutions, considering that the adjusted torque constraint is greater than the required torque needs to be adjusted multiple times in actual use, and the above adjustment process takes a long time, which is reflected in that the control cycle of the robot is lengthened and the control accuracy of the robot is reduced.
[0304] To overcome the above situation, in the technical solution of the present application, the absolute difference between the adjusted torque constraint and the required torque is greater than the preset value. The adjusted maximum acceleration value and the trajectory curve are outputted, so that the user can control the robot according to the parameters.
[0305] In this process, compared with the above solution, the verification requirement is relaxed, which can shorten the control cycle of the robot in the case of tolerating joint driving, thereby improving the control accuracy of the robot.
[0306] In addition, using the above technical solution for control can simplify the control logic and improve the robustness of the robot control.
[0307] In one of the technical solutions, the value of the preset value can be selected according to the actual use scene of the robot, and the specific value is not described here.
[0308] In one possible design, the adjustment unit 508 is further configured to: in the case that the difference between the adjusted torque constraint and the required torque is greater than the preset value, adjust the motion data until the difference between the adjusted torque constraint and the required torque is less than the preset value.
[0309] In one possible design, the adjustment unit 508 is further configured to: run according to the adjusted maximum acceleration value and the trajectory curve.
[0310] In this design, the control scheme in the case that the adjusted torque constraint does not meet the requirement of the required torque is specifically limited. In this process, the stop condition of adjusting the motion data is limited to ensure that the final adjustment result meets the verification requirement, so as to output the trajectory curve and the maximum acceleration value that meet the requirement.
[0311] In the above technical solution, through the above control, the reliability of the robot operation is ensured, and the operation life of the robot is improved.
[0312] In one possible design, the adjusting unit 508 is further configured to operate according to the adjusted maximum acceleration value and the trajectory curve.
[0313] In this design, after the adjustment of the motion data, the adjusted motion data is applied, in the process of which, the trajectory curve is planned and the torque constraint result is applied, the damage to the joint is reduced, and the service life of the robot is improved.
[0314] In one possible design, the adjusting unit 508 is further configured to operate according to the trajectory curve and the motion data.
[0315] In this design, by using the motion data and the trajectory curve, the joint can operate in a safe and reliable state, and the service life of the robot is ensured.
[0316] Embodiment Seven
[0317] According to one embodiment of the present application, the present application provides a control device of a robot, comprising a controller and a memory, wherein the memory stores programs or instructions, and the controller implements the steps of the method according to any one of the above embodiments when executing the programs or instructions in the memory.
[0318] The embodiments of the present application provide a control device of a robot, which comprises a controller and a memory, wherein the steps of the above-mentioned method are implemented when the programs or instructions in the memory are executed by the controller, so that after the trajectory curve and the motion data adapted to the trajectory curve are determined, a preset selected point is selected on the trajectory curve, the required torque of the joint and the torque constraint provided by the joint at the selected preset selected point are compared, and the motion data is adjusted according to the comparison result. In the above process, the trajectory curve is planned and the torque constraint is measured at the same time, the required torque and the torque constraint are compared to determine whether the motion data adapted to the trajectory curve will cause damage to the joint, and if there is a possibility of damage, the motion data is adjusted to reduce the damage, so as to improve the service life of the robot.
[0319] In one of the possible designs, the memory can include both volatile and nonvolatile memory. In this regard, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically EPROM (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The memory in the embodiments of the application includes, but is not limited to, these and any other suitable types of memory.
[0320] Embodiment Eight
[0321] According to one of the embodiments of the application, the application provides a readable storage medium, and the readable storage medium stores programs or instructions, and the programs or instructions are executed by a processor to implement the steps of the method in any one of the above methods.
[0322] The embodiments of the application provide a readable storage medium, and the readable storage medium can implement the steps of the control method, and therefore has all the beneficial technical effects of the control method, and details are not described herein.
[0323] Embodiment Nine
[0324] According to one of the embodiments of the application, the application provides a robot, which includes: the control device of any one of the above robots; or the readable storage medium.
[0325] In this design, the robot proposed can be an industrial robot, and in the technical solution of the application, the robot includes but is not limited to an industrial robot. In this regard, the industrial robot is a multi-joint manipulator or a multi-degree-of-freedom machine device for the industrial field.
[0326] In the description of the application, the term "a plurality" means two or more, unless otherwise expressly specified, and the terms "upper", "lower", and the like, indicate the orientation or position relationship based on the orientation or position relationship shown in the drawings, and are only for the purpose of facilitating the description of the application and simplifying the description, and do not indicate or imply that the device or element referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as a limitation on the application; the terms "connection", "installation", "fixation" and the like should be understood broadly, for example, "connection" can be fixed connection, can also be detachable connection, or integral connection; can be directly connected, or indirectly connected through an intermediate medium. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.
[0327] In the description of the application, the terms "one embodiment", "some embodiments", "a specific embodiment" and the like are intended to mean that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the application. In the present application, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0328] The above is only the preferred embodiment of the present application, and is not intended to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A control method of a robot characterized by, The robot comprises a joint, and the control method comprises: receiving first constraint data; determining trajectory curve and motion data of the robot according to preset constraint data and the first constraint data; determining required torque of the joint and torque constraint provided by the joint at a preset selected point on the trajectory curve according to the motion data; adjusting the motion data according to a comparison result of the required torque and the torque constraint; the motion data comprises a maximum acceleration value, adjusting the motion data according to a comparison result of the required torque and the torque constraint, comprising: adjusting the maximum acceleration value in the case that the required torque is greater than the torque constraint; the adjustment of the maximum acceleration value comprises: determining a change coefficient according to the required torque, the torque constraint, a velocity term torque, a gravity term torque and a friction term torque of the preset selected point; determining the adjusted maximum acceleration value according to the change coefficient and the maximum acceleration value.
2. The control method of the robot according to claim 1, characterized by, further comprising: in the case that the required torque is less than or equal to the torque constraint, outputting the trajectory curve and the motion data.
3. The control method of the robot according to claim 1 or 2, characterized by, determining the required torque according to an inertia matrix of the preset selected point, an acceleration value of the joint at the preset selected point, the velocity term torque, the gravity term torque and the friction term torque of the preset selected point.
4. The control method of the robot according to claim 1 or 2, further comprising: obtaining a corresponding relationship between the velocity and the torque constraint of the joint; determining the torque constraint corresponding to the velocity of the joint at the preset selected point according to the corresponding relationship.
5. The control method of the robot according to claim 1 or 2, characterized by, further comprising: updating the trajectory curve and the motion data according to the adjusted maximum acceleration value.
6. The control method of the robot according to claim 1 or 2, further comprising: taking a ratio of the maximum acceleration value and the change coefficient as the adjusted maximum acceleration value.
7. The control method of the robot according to claim 1 or 2, characterized by, further comprising: determining a velocity value of the preset selected point according to the adjusted maximum acceleration value; determining the adjusted torque constraint according to the velocity value of the preset selected point; in the case that a difference between the adjusted torque constraint and the required torque is less than a preset value, outputting the adjusted maximum acceleration value and the trajectory curve.
8. The control method of the robot according to claim 7, further comprising: in the case that a difference between the adjusted torque constraint and the required torque is greater than a preset value, adjusting the motion data until the difference between the adjusted torque constraint and the required torque is less than the preset value.
9. The control method of the robot according to claim 7, characterized by, further comprising: running according to the adjusted maximum acceleration value and the trajectory curve.
10. The control method of the robot according to claim 2, characterized by, further comprising: running according to the trajectory curve and the motion data.
11. A control device of a robot characterized by comprising: The robot comprises a joint, and the control device comprises: a receiving unit configured to receive first constraint data; a determining unit configured to determine trajectory curve and motion data of the robot according to preset constraint data and the constraint data; a calculating unit configured to determine required torque of the joint and torque constraint provided by the joint at a preset selected point on the trajectory curve according to the motion data. an adjusting unit configured to adjust the motion data according to a comparison result of the demand torque and the torque constraint; the motion data comprises a maximum acceleration value, the adjusting unit is specifically configured to: in a case where the demand torque is greater than the torque constraint, adjust the maximum acceleration value; determine a change coefficient according to the demand torque, the torque constraint, a speed item torque of the preset selected point, a gravity item torque, and a friction item torque; and determine an adjusted maximum acceleration value according to the change coefficient and the maximum acceleration value.
12. A control device of a robot characterized by comprising: comprising: a controller and a memory, wherein the memory stores programs or instructions, and the controller implements the steps of the method according to any one of claims 1 to 10 when executing the programs or instructions in the memory.
13. A readable storage medium, characterized by, programs or instructions are stored on the readable storage medium, and the programs or instructions are executed by a processor to implement the steps of the method according to any one of claims 1 to 10.
14. A robot, characterized in that comprising: a control device of a robot according to claim 11 or 12; or a readable storage medium according to claim 13.
Citation Information
Patent Citations
Robot control method, robot control system and robot
CN109732594A
Method of setting accelerating / decelerating motion of robot
US5811952A