Method for controlling movement of robot arm, electronic device and robot arm

By acquiring the working status parameters of the robotic arm's joint motors in real time and adjusting the motion parameters to meet the actual working conditions, the problem of insufficient dynamic constraints in the trajectory planning of the robotic arm is solved, and the efficient and stable operation of the robotic arm is achieved.

CN118952203BActive Publication Date: 2026-01-06GREE ELECTRIC APPLIANCE INC OF ZHUHAI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411177543.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2026-01-06
Estimated Expiration
2044-08-26

AI Technical Summary

Technical Problem

Existing technologies fail to effectively consider dynamic constraints in the trajectory planning of robotic arms, resulting in excessive torque and load rate of joint motors, which cannot meet the needs of complex actual working conditions.

Method used

By acquiring the working status parameters of the joint motor in real time, such as instantaneous load rate and bus voltage, the motion parameters of the robotic arm are adjusted to meet the actual working conditions. An acceleration and deceleration planning method based on pre-interpolation and dynamic constraints is adopted.

Benefits of technology

It enables flexible and real-time adjustment of the robotic arm's acceleration and deceleration planning, avoiding motor alarms and shutdowns, and improving the robotic arm's operating efficiency and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118952203B_ABST
    Figure CN118952203B_ABST
Patent Text Reader

Abstract

This application discloses a motion control method, electronic device, and robotic arm for a robotic arm, belonging to the field of robotic arms. The method includes: during the motion of the robotic arm based on an acceleration / deceleration plan, acquiring in real-time values ​​of the working state parameters of the joint motors of the robotic arm, the working state parameters reflecting the real-time working state of the joint motors; comparing the values ​​of the working state parameters with a working state threshold; if the relationship between the two satisfies a motion parameter adjustment condition, adjusting the motion parameters of the robotic arm according to a motion adjustment strategy, wherein the motion state adjustment strategy constrains the adjustment method of the motion parameters; and updating the acceleration / deceleration plan based on the adjusted motion parameters. Using this application embodiment, the acceleration / deceleration plan can be adjusted in real-time to meet actual working condition requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotic arms, and more specifically, to a motion control method for a robotic arm, an electronic device, and a robotic arm. Background Technology

[0002] With the development of automation technology, robotic arms are being used more and more widely, and how to complete tasks efficiently and smoothly has become an important issue. In a motion operation, if the acceleration and deceleration curves that best meet the actual needs can be selected, the efficiency and stability of the robotic arm / robot operation will be greatly improved.

[0003] Typically, trajectory planning algorithms for robotic arms only consider kinematic constraints such as the arm's speed and acceleration. This can lead to excessive torque on the joint motors when the robotic arm is running a predetermined trajectory, excessive load on the joint motors, or even motor alarms and shutdowns.

[0004] One invention proposed a dynamics-based method for optimizing the trajectory of a robotic arm. This method incorporates the dynamic constraints of the robotic arm into the trajectory optimization algorithm to optimize kinematic and dynamic parameters such as joint velocity, acceleration, and torque, thereby avoiding the problem of joint motor torque exceeding limits. However, this approach relies on the premise of accurate dynamic models and parameters, and it only solves the problem of instantaneous joint motor torque exceeding limits, still failing to meet the requirements of actual working conditions. Summary of the Invention

[0005] This application provides a motion control method, electronic device, and robotic arm for a robotic arm, in order to at least solve the technical problem that robotic arms are difficult to meet the needs of actual working conditions.

[0006] According to a first aspect of the embodiments of this application, a motion control method for a robotic arm is provided, comprising:

[0007] During the motion of the robotic arm based on acceleration and deceleration planning, the values ​​of the working status parameters of the joint motors of the robotic arm are acquired in real time. The working status parameters are used to reflect the real-time working status of the joint motors.

[0008] The working state parameters are compared with the working state threshold. If the relationship between the two satisfies the motion parameter adjustment condition, the motion parameters of the robotic arm are adjusted according to the motion adjustment strategy. The motion state adjustment strategy constrains the adjustment method of the motion parameters.

[0009] The acceleration / deceleration plan is updated based on the adjusted motion parameters.

[0010] By employing this embodiment, the motion parameters of the robotic arm can be adjusted in real time based on the real-time operating status of the joint motors during the robotic arm's movement, thereby ensuring that the acceleration and deceleration planning of the robotic arm meets the requirements of actual working conditions. In other words, this embodiment allows for flexible and real-time adjustment of acceleration and deceleration planning based on real-time working conditions to meet the requirements of actual working conditions.

[0011] In conjunction with the first aspect, in an optional implementation of this application embodiment, the operating state parameters of the joint motor include:

[0012] Instantaneous load rate reflecting the load condition of the joint motor; and / or,

[0013] Real-time bus voltage reflecting the driving capability of the joint motor.

[0014] In conjunction with the first aspect, in an optional implementation of this application embodiment, when the working state parameter is the instantaneous load rate, the real-time acquisition of the working state parameter value of the joint motor of the robotic arm includes:

[0015] The instantaneous quadrature-axis current and instantaneous direct-axis current of the joint motor are acquired in real time during the movement of the robotic arm.

[0016] The instantaneous load rate of the joint motor is calculated and determined based on the instantaneous quadrature-axis current, the instantaneous direct-axis current, and the rated current of the joint motor.

[0017] In conjunction with the first aspect, in an optional implementation of the embodiments of this application, when the working state parameter is the instantaneous load rate, the working state threshold is the instantaneous load rate threshold, and the motion parameter includes the acceleration of the joint motor;

[0018] If the relationship between the two satisfies the motion parameter adjustment condition, then the motion parameters of the robotic arm are adjusted according to the motion adjustment strategy, including:

[0019] If the instantaneous load rate exceeds the instantaneous load rate threshold, the relationship between the two satisfies the motion parameter adjustment condition, and the acceleration of the robotic arm is adjusted in the direction of decreasing.

[0020] In conjunction with the first aspect, in an optional implementation of this application embodiment, the step of adjusting the acceleration of the robotic arm in a decreasing direction if the instantaneous load rate exceeds the instantaneous load rate threshold includes:

[0021] If N a >k1*N limit If the relationship between the two satisfies the motion parameter adjustment condition, then adjust a. a =k2*aa , wherein, the N a The instantaneous load rate is represented by N. limit Indicates the maximum instantaneous load rate, k1*N limit a represents the instantaneous load rate threshold. a k2*a represents the current acceleration. a The acceleration after adjustment is represented by k1, which is a coefficient indicating at what extent the instantaneous maximum load rate is reached before the acceleration is adjusted, and k2 is a coefficient that can represent the adjustment range of the acceleration. The larger k1 is, the smaller k2 is.

[0022] Where k1∈[0.85, 0.95], k2∈[0.8, 0.99]; or, k1=0.9, k2=0.9.

[0023] In conjunction with the first aspect, in an optional implementation of the embodiments of this application, when the operating state parameter is the real-time bus voltage, the operating state threshold is the real-time theoretical bus voltage corresponding to the real-time bus voltage;

[0024] The method further includes:

[0025] The instantaneous quadrature-axis voltage and instantaneous direct-axis voltage of the joint motor are acquired in real time during the movement of the robotic arm.

[0026] The real-time theoretical bus voltage is calculated based on the instantaneous quadrature-axis voltage and the instantaneous direct-axis voltage.

[0027] In conjunction with the first aspect, in an optional implementation of the embodiments of this application, when the operating state parameter is the real-time bus voltage, the operating state threshold is the real-time theoretical bus voltage corresponding to the real-time bus voltage;

[0028] If the relationship between the two satisfies the motion parameter adjustment condition, then the motion parameters of the robotic arm are adjusted according to the motion adjustment strategy, including:

[0029] If the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition, then the acceleration in the motion parameter is adjusted in the decreasing direction.

[0030] If the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition, then the velocity and acceleration in the motion parameters are adjusted simultaneously in the decreasing direction.

[0031] In conjunction with the first aspect, in an optional implementation of this application embodiment, the step of adjusting the acceleration in the motion parameter in the decreasing direction if the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition includes:

[0032] If U a ≥U b >k3*U a If the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition, then adjust a. b =k4*a b ;

[0033] Among them, U a U represents the real-time bus voltage. b a represents the theoretical bus voltage. b Represents the current acceleration, k4*a b The acceleration after adjustment is indicated by k3, which is a coefficient indicating at what level the theoretical bus voltage is reached that the acceleration is adjusted, and k4 is a coefficient that can indicate the adjustment range of the acceleration. The larger k3 is, the smaller k4 is.

[0034] Where k3∈[0.92, 0.97], k4∈[0.9, 0.95]; or, k1=0.95, k2=1.95-U b / U a .

[0035] In conjunction with the first aspect, in an optional implementation of this application embodiment, if the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition, then the velocity and acceleration in the motion parameters are simultaneously adjusted in the decreasing direction, including:

[0036] If U b >U a If the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition, then adjust a. c =k5*a c v c =k6*v c ;

[0037] Among them, U a U represents the real-time bus voltage. b a represents the theoretical bus voltage. c Represents the current acceleration, k5*a c v represents the adjusted acceleration. c Represents the current velocity, k6*v cThe speed is adjusted, k5 is a coefficient that represents the adjustment range of the acceleration, and k6 is a coefficient that represents the adjustment range of the current speed.

[0038] Where k5∈[0.9, 0.95], k6∈[0.9, 0.95]; or, k5=1.95-U b / U a k6 = 0.95.

[0039] In conjunction with the first aspect, in one optional implementation of the embodiments of this application, the acceleration / deceleration planning is an acceleration / deceleration planning obtained by using a pre-interpolation method; or, the acceleration / deceleration planning is an acceleration / deceleration planning obtained by first using a pre-interpolation method and then applying dynamic constraints.

[0040] According to a second aspect of the embodiments of this application, an electronic device is provided, the electronic device comprising:

[0041] Memory, used to store one or more computer instructions;

[0042] A processor is used to invoke and execute the computer instructions to implement the motion control method described in the first aspect of the embodiments of this application.

[0043] According to a third aspect of the embodiments of this application, a robotic arm is provided, wherein the robotic arm employs the motion control method of the first aspect of the embodiments of this application, or the robotic arm has an electronic device of the second aspect of the embodiments of this application.

[0044] The technical effects achieved by the second and third aspects mentioned above are similar to those achieved by the technical solutions corresponding to the first aspect, and will not be repeated here. Attached Figure Description

[0045] Figure 1 This is a flowchart illustrating a motion control method for a robotic arm according to an embodiment of this application;

[0046] Figure 2 This is a flowchart illustrating a motion control method for a robotic arm according to an embodiment of this application;

[0047] Figure 3 This is a schematic diagram of a trapezoidal acceleration / deceleration planning method provided according to an embodiment of this application;

[0048] Figure 4 This is a schematic diagram of an electronic device applied to a robotic arm according to an embodiment of this application. Detailed Implementation

[0049] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0050] It should be understood that "multiple" as mentioned herein refers to two or more. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first," "second," etc., are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or execution order, and the terms "first," "second," etc., do not necessarily imply differentness.

[0051] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, such that a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or apparatus.

[0052] First, the terminology used in the embodiments of this application will be introduced.

[0053] Joint motors: Joint motors in robots / robotic arms are key actuators in robot drive systems. They are responsible for converting electrical energy into mechanical energy to drive the movement of the robot's joints. These motors play a vital role in robots, enabling them to perform various complex actions and tasks. Common joint motors include AC servo motors, DC servo motors, stepper motors, and micro motors.

[0054] Torque Control: Torque control of joint motors is a crucial aspect of robot control systems, directly impacting the motion performance and precision of robot joints. In torque control mode, the motor controller adjusts the motor's output torque based on preset torque commands or real-time torque feedback, enabling the robot joints to move in the desired manner. Torque control is widely used in various scenarios requiring precise control of robot joint movement, such as precision assembly: In precision assembly tasks, accurate control of robot joint torque is necessary to ensure assembly accuracy and quality. Force Feedback Control: In human-robot interaction or robot-environment interaction scenarios, torque control enables force feedback control, improving robot safety and stability. Dynamic Adjustment: When robots perform complex dynamic tasks, such as walking and jumping, real-time adjustment of joint torque is required to maintain robot balance and stability.

[0055] Robotic arm acceleration and deceleration planning: Acceleration and deceleration planning refers to the process of pre-planning and controlling the acceleration and deceleration of a robotic arm during its movement based on its motion requirements. Its main purpose is to optimize the robotic arm's motion performance, reduce impact and vibration during movement, improve motion accuracy and stability, and ensure that the robotic arm can safely and reliably complete its tasks. There are various methods for robotic arm acceleration and deceleration planning, commonly including S-curve velocity planning, polynomial planning, and sinusoidal acceleration and deceleration planning.

[0056] Pre-interpolation: In the motion control system of a robotic arm, pre-calculation of the planned path or trajectory involves fine-grained interpolation to generate a sequence of intermediate points for actual control. These intermediate points contain information such as the position, velocity, and acceleration that the robotic arm should achieve during its movement, ensuring that the robotic arm can move smoothly and accurately along the predetermined trajectory. There are various ways to implement pre-interpolation, commonly including linear interpolation, circular interpolation, and spline interpolation. Each of these interpolation methods has its advantages and disadvantages and is suitable for different application scenarios. For example, linear interpolation is suitable for simple linear motion; circular interpolation is suitable for curved motion requiring smooth transitions; while spline interpolation can generate smoother and more complex motion trajectories.

[0057] Dynamic constraints: Dynamic constraints mainly involve limiting the dynamic parameters such as forces, torques, accelerations, and velocities generated by the robotic arm during its movement. These constraints are typically determined by the physical characteristics of the robotic arm (such as mass, inertia, and stiffness), the performance of the drive system (such as motor torque and speed range), and the requirements of the working environment. By rationally setting dynamic constraints, the motion performance of the robotic arm can be optimized, improving production efficiency and product quality.

[0058] The terminology used in the embodiments of this application has been introduced above. Next, the application scenarios of robotic arm acceleration and deceleration planning in some typical fields will be described by way of example.

[0059] Taking automated production lines as an example, robotic arms frequently handle materials such as parts and finished products. To ensure the stability and safety of materials during handling, precise planning of the robotic arm's acceleration and deceleration is necessary to prevent materials from slipping or being damaged during acceleration or deceleration. During assembly, the robotic arm needs to assemble parts according to a predetermined trajectory and speed. Acceleration and deceleration planning ensures that the robotic arm can smoothly decelerate as it approaches the assembly point to accurately align and install parts, while avoiding impact on the parts or the robotic arm itself.

[0060] Taking precision machining as an example, in the grinding and polishing of workpieces, the robotic arm needs to control the contact force between the end effector and the workpiece based on the shape and material properties of the workpiece surface. Through acceleration and deceleration planning, it can be ensured that the robotic arm can smoothly adjust its speed and force when contacting the workpiece, thereby guaranteeing consistent processing quality. During cutting or engraving, the robotic arm needs to operate precisely according to a predetermined trajectory and speed. Acceleration and deceleration planning can ensure that the robotic arm can smoothly change its speed and direction during cutting or engraving, thereby avoiding unnecessary damage to the workpiece.

[0061] Taking medical devices as an example, during surgery, the robotic arm uses a planned trajectory to precisely transport and operate surgical instruments. Acceleration and deceleration planning ensures that the robotic arm can move and position surgical instruments smoothly during surgery, reducing surgical risks and improving the success rate.

[0062] Taking autonomous driving as an example, although autonomous vehicles themselves do not directly involve the acceleration and deceleration planning of robotic arms, the application of robotic arms in the field of autonomous driving (such as cargo handling and vehicle maintenance) still requires precise acceleration and deceleration planning. This ensures that the robotic arm can complete the task smoothly and accurately during operation.

[0063] The above examples illustrate the application scenarios of the embodiments of this application. In this application scenario or similar scenarios, there is a related technology that proposes a dynamics-based robotic arm trajectory optimization method when planning acceleration and deceleration for robots. This method incorporates the dynamic constraints of the robotic arm into the trajectory optimization algorithm to optimize kinematic and dynamic parameters such as joint velocity, acceleration, and torque, thereby avoiding the problem of joint motor torque exceeding limits. However, this approach relies on the premise of accurate dynamic models and parameters, and it only solves the problem of instantaneous joint motor torque exceeding limits, failing to meet the needs of complex actual working conditions. The inventors of this application have discovered through research that one reason why existing technologies cannot meet the needs of actual working conditions is that they cannot update the acceleration and deceleration planning based on the real-time working state of the joint motors, thus failing to flexibly make real-time, adaptive adjustments that meet the actual working conditions.

[0064] Based on this, embodiments of this application provide a torque control method applied to robot joint motors, such as... Figure 1 As shown, the method includes the following processing steps.

[0065] 100: During the motion of the robotic arm based on acceleration and deceleration planning, the values ​​of the working status parameters of the joint motors of the robotic arm are acquired in real time. The working status parameters are used to reflect the real-time working status of the joint motors.

[0066] For example, the operating status parameters include parameters reflecting the load condition of the joint motor, such as instantaneous load rate; or, the operating status parameters include parameters reflecting the driving capability of the joint motor, such as real-time bus voltage. Alternatively, both instantaneous load rate and real-time bus voltage may be included.

[0067] 102: The values ​​of the working state parameters are compared with the working state threshold. If the relationship between the two satisfies the motion parameter adjustment conditions, the motion parameters of the robotic arm are adjusted according to the motion adjustment strategy. The motion state adjustment strategy constrains the method of adjusting the motion parameters.

[0068] It should be noted that the working state threshold mentioned in this embodiment is not necessarily a fixed value, but can also be a value that changes adaptively according to the actual situation.

[0069] 104: Update the acceleration / deceleration plan based on the adjusted motion parameters.

[0070] By employing this embodiment, the motion parameters of the robotic arm can be adjusted in real time based on the real-time operating status of the joint motors during the robotic arm's movement, such as the load and / or driving capability of the joint motors, thereby ensuring that the acceleration and deceleration planning of the robotic arm meets the requirements of the actual working conditions. In other words, this embodiment allows for flexible and real-time adjustment of the acceleration and deceleration planning based on real-time working conditions to meet the requirements of the actual working conditions.

[0071] Optionally, in one implementation of this embodiment, the acceleration / deceleration planning mentioned in process 100 is an acceleration / deceleration planning obtained by using a pre-interpolation method, or the acceleration / deceleration planning mentioned in process 100 is an acceleration / deceleration planning obtained by first using a pre-interpolation method and then applying dynamic constraints.

[0072] Optionally, in one implementation of the embodiments of this application, the motion control method of the robotic arm is described using the instantaneous load rate as an example of the working state parameter.

[0073] In this implementation, in process 100, the values ​​of the working state parameters of the joint motor of the robotic arm are acquired in real time, including: acquiring the instantaneous quadrature-axis current and instantaneous direct-axis current of the joint motor during the movement of the robotic arm in real time; and calculating and determining the instantaneous load rate of the joint motor based on the instantaneous quadrature-axis current, instantaneous direct-axis current and the rated current of the joint motor.

[0074] In this way, the instantaneous load rate, which reflects the real-time load condition of the joint motor, can be obtained.

[0075] In this implementation, in process 100, the working state parameter is the instantaneous load rate, the working state threshold is the instantaneous load rate threshold, and the motion parameters include the acceleration of the robotic arm. Then, in process 102, if the relationship between the two satisfies the motion parameter adjustment condition, the motion parameters of the robotic arm are adjusted according to the motion adjustment strategy, including: if the instantaneous load rate exceeds the instantaneous load rate threshold, the relationship between the two satisfies the motion parameter adjustment condition, and the acceleration of the robotic arm is adjusted in a decreasing direction.

[0076] For example, if N a >k1*N limit Then the relationship between the two satisfies the motion parameter adjustment condition, and a is adjusted. a =k2*a a , where N a N represents the instantaneous load rate. limit k1*N represents the maximum instantaneous load rate limit (i.e., the value that the instantaneous load rate cannot exceed). limit Indicates the instantaneous load rate threshold, a a k2*a represents the current acceleration. a The acceleration after adjustment is represented by k1, a coefficient indicating at what point the acceleration adjustment begins when the maximum instantaneous load rate is reached, and k2, a coefficient representing the magnitude of the acceleration adjustment (e.g., 1-k2 can represent the magnitude of the acceleration reduction). The larger k1 is, the smaller k2 is. According to the inventors' research, k1∈[0.85, 0.95] and k2∈[0.8, 0.99] can better meet the requirements of actual working conditions. In a specific application, k1=0.9 and k2=0.9.

[0077] By adopting this implementation method, the instantaneous load rate, which reflects the real-time load status of the joint motor, is obtained. Based on the relationship between the instantaneous load rate and the instantaneous load rate threshold, the acceleration of the robotic arm is adaptively adjusted. This can meet the needs of actual working conditions and avoid alarms and shutdowns caused by excessive motor load rate during operation, thus affecting the working efficiency of the robotic arm.

[0078] Optionally, in one implementation of the embodiments of this application, the motion control method of the robotic arm is described using the real-time bus voltage as an example of the working state parameter.

[0079] In this implementation, the operating state threshold is the real-time theoretical bus voltage (or the real-time theoretical required bus voltage) corresponding to the real-time bus voltage. In this case, the motion control method for the robotic arm further includes: acquiring the instantaneous quadrature-axis voltage and instantaneous direct-axis voltage of the joint motors during the robotic arm's movement in real time, and calculating the real-time theoretical bus voltage based on the instantaneous quadrature-axis voltage and instantaneous direct-axis voltage. This allows for the calculation of the real-time theoretical bus voltage for subsequent comparison and judgment.

[0080] In this implementation, the operating state parameter is the real-time bus voltage, and the operating state threshold is the real-time theoretical bus voltage corresponding to the real-time bus voltage. In process 102, if the relationship between the two satisfies the motion parameter adjustment condition, the motion parameters of the robotic arm are adjusted according to the motion adjustment strategy. This includes: if the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition, the acceleration in the motion parameters is adjusted in a decreasing direction; if the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition, the velocity and acceleration in the motion parameters are adjusted simultaneously in a decreasing direction.

[0081] In other words, this implementation selectively applies different adjustment methods based on the relationship between the real-time bus voltage and the real-time theoretical bus voltage. This fully considers the different adjustment requirements of the joint motor for motion parameters when the relationship between the real-time bus voltage and the real-time theoretical bus voltage differs. Therefore, this implementation can flexibly and in real-time meet the requirements of actual operating conditions.

[0082] As an example, if the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition, then the acceleration in the motion parameter is adjusted in the decreasing direction, including:

[0083] If U a ≥U b >k3*U a Then the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition. At this time, adjust a.b =k4*a b Among them, U a U represents the real-time bus voltage. b Represents the theoretical bus voltage, a b Represents the current acceleration, k4*a b The acceleration after adjustment is indicated by k3, which is a coefficient indicating at what level the theoretical bus voltage is reached that the acceleration is adjusted, and k4 is a coefficient that can indicate the adjustment range of the acceleration. The larger k3 is, the smaller k4 is.

[0084] For example, k3∈[0.92, 0.97] and k4∈[0.9, 0.95] are more conducive to meeting the requirements of actual working conditions. In a more specific example, k1=0.95 and k2=1.95-U b / U a .

[0085] As another example, if the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition, then the velocity and acceleration in the motion parameters are adjusted simultaneously in the decreasing direction, including:

[0086] If U b >U a Then the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition. At this time, adjust a. c =k5*a c v c =k6*v c Among them, U a U represents the real-time bus voltage. b Represents the theoretical bus voltage, a c Represents the current acceleration, k5*a c v represents the adjusted acceleration. c Represents the current velocity, k6*v c The speed is adjusted, k5 is a coefficient that represents the adjustment range of the acceleration, and k6 is a coefficient that represents the adjustment range of the current speed.

[0087] For example, k5∈[0.9, 0.95] and k6∈[0.9, 0.95] are more conducive to meeting the requirements of actual working conditions. In a more specific example, k5=1.95-U b / U a k6 = 0.95.

[0088] By adopting this implementation method, the real-time bus voltage reflecting the joint driving capability is obtained, and at least one of the acceleration and speed of the robotic arm is adaptively adjusted according to the relationship between the real-time bus voltage and the real-time theoretical bus voltage. This can meet the needs of actual working conditions and avoid the robotic arm being unable to run according to the predetermined trajectory or even alarming and stopping when the bus voltage is insufficient.

[0089] Figure 2 This is a flowchart illustrating a robotic arm acceleration / deceleration planning method according to an embodiment of this application. (Refer to...) Figure 2 The robotic arm acceleration and deceleration planning method includes the following processing methods.

[0090] Since there are many acceleration / deceleration planning algorithms, robotic arm types, and motion forms, this embodiment only selects trapezoidal acceleration / deceleration planning, two-bar robotic arm, and point-to-point motion as examples for introduction.

[0091] In this embodiment, as Figure 2 As shown, pre-interpolation is performed first.

[0092] pre-interpolation

[0093] Pre-interpolation involves planning acceleration and deceleration based on preset speed, acceleration, and displacement before sending position commands to the robotic arm. Figure 3 The diagram shown is a trapezoidal acceleration / deceleration planning schematic according to an embodiment of this application. The acceleration / deceleration planning can be expressed using the following formula: Figure 3 The horizontal axis represents time, and the vertical axes represent displacement S, velocity V, and acceleration a, respectively.

[0094]

[0095]

[0096] Then, as Figure 2 As shown, dynamic constraints are applied to obtain acceleration / deceleration planning with dynamic constraints.

[0097] Dynamic constraints

[0098] The acceleration / deceleration planning algorithm for the robotic arm in pre-interpolation only considers kinematic constraints such as the arm's velocity and acceleration, neglecting its dynamic constraints. This can lead to situations where the joint motor torque exceeds limits when the robotic arm is running a predetermined trajectory, preventing it from accurately executing the planned trajectory. Therefore, after performing pre-interpolation, further constraints are applied to the acceleration / deceleration planning based on dynamics.

[0099] For a two-joint robotic arm system, considering the effect of joint friction, its dynamic equation can be expressed as:

[0100]

[0101]

[0102]

[0103]

[0104] C1C 12 =-m2l1l b2 sinθ2

[0105] C1C 21 =m2l1l b2 sinθ2

[0106] C2C 11 =C2C 12 =-m2l1l b2 sinθ2

[0107] D 11 D 22 The effective moment of inertia of the joint is the inertial force generated by the axial acceleration of joint i.

[0108] D 12 D 21 The coupling inertia between joints, and the acceleration of joint 1. It will be generated on joint 2 The inertial force, the acceleration of joint 2 Will be generated on joint 1 Inertial force;

[0109] C1C 12 C1C 21 The centrifugal acceleration coefficient, The velocity of joint 1 The centrifugal force generated at joint 2, The velocity of joint 2 The centrifugal force generated at joint 1;

[0110] C2C 11 C2C 12 The Coriolis acceleration coefficient, For the velocities of joints 1 and 2 and The Coriolis force generated at joint 1;

[0111] In the formula: m1 is the mass of the first joint;

[0112] l b1 This is the distance from the center of mass of the first joint to the center of rotation of the first joint;

[0113] Jc1 The moment of inertia of the first joint is the weight of its own center.

[0114] m2 is the mass of the second joint;

[0115] l b2 This is the distance from the center of mass of the second joint to the center of rotation of the second joint;

[0116] J c2 The moment of inertia of the second joint is the weight of its own center.

[0117] l1 is the length of the first joint;

[0118] Based on the acceleration / deceleration planning curve obtained from pre-interpolation and the above dynamic formulas, the maximum output torque of the first and second joints when running along the prescribed trajectory is T1; the maximum output torque of the joint motor itself is T. limit If T1>T limit Then the acceleration and velocity need to be adjusted.

[0119] Based on the adjusted acceleration and velocity, repeat the pre-interpolation operation to re-perform acceleration and deceleration planning, thus obtaining a new acceleration and deceleration plan.

[0120] It should be noted that in other embodiments of this application, dynamic constraints may not be applied. That is, acceleration and deceleration planning can be obtained solely through pre-interpolation.

[0121] After that, as Figure 2 As shown, the instantaneous load rate is calculated and determined.

[0122] Motor load rate

[0123] After the aforementioned pre-interpolation and dynamic constraint processes, motion commands are sent to the articulated motors, and the instantaneous load rate of the motors is calculated in real time during the movement of the articulated motors.

[0124] Specifically, when the motor is running, the instantaneous quadrature-axis current and instantaneous direct-axis current of the motor can be obtained according to the preset sampling frequency; the instantaneous quadrature-axis current and instantaneous direct-axis current are summed by squares and the instantaneous root-mean-square current is calculated; the instantaneous load rate is determined according to the ratio of the instantaneous root-mean-square current to the rated current of the motor.

[0125] Furthermore, the motor load rate can be obtained by multiplying the instantaneous load rate by different coefficients and then summing them. This coefficient is the ratio of the reciprocal of the preset sampling frequency to the motor's run-in time under each load according to the motor's overload curve.

[0126] When the instantaneous load rate N a Greater than the set load rate N limit This will trigger the motor overload protection. Therefore, when the load rate N is detected... a>k1*N limit When the acceleration decreases to a a =k2*a a The acceleration and deceleration planning is then re-executed based on the new acceleration. For example, taking a scenario without dynamic constraints, re-executing the acceleration and deceleration planning based on the new acceleration can be understood as updating the acceleration schedule according to the new acceleration. Figure 3 The formula associated with the acceleration / deceleration planning diagram shown.

[0127] To fully utilize the capabilities of the joint motor, k1 is set between 0.85 and 0.95. k2 is negatively correlated with k1, meaning that the larger k1 is, the smaller k2 is. k2 is generally set between 0.8 and 0.99, and the specific value can be selected according to the actual situation.

[0128] After that, as Figure 2 As shown, the real-time bus voltage is acquired and determined.

[0129] Real-time bus voltage

[0130] During the operation of the joint motor, the real-time bus voltage U is detected. a The theoretically required bus voltage (i.e., the real-time theoretical bus voltage) is calculated based on the instantaneous direct-axis (d-axis) voltage and the instantaneous quadrature-axis (q-axis) voltage.

[0131] When the detected real-time bus voltage meets the theoretically required voltage: U a ≥U b >k3*U a Where, to ensure sufficient controller capability, k3 is taken between 0.92 and 0.97.

[0132] At this point, the acceleration is adjusted to: a a =k4*a a k4 and k3 are negatively correlated; that is, the larger k3 is, the smaller k4 is. k4 is generally taken between 0.9 and 0.95, and the specific value can be selected based on the actual situation. For example, taking...

[0133]

[0134] When the detected bus voltage satisfies the required theoretical voltage: U b >U a

[0135] Adjust the acceleration and velocity to: a a =k5*a a v a =k6*v a

[0136] The values ​​of k5 and k6 are generally between 0.9 and 0.95, and the specific values ​​can be selected according to the actual situation.

[0137] After adjusting the acceleration and speed, a new acceleration / deceleration plan is obtained by re-planning the acceleration and deceleration.

[0138] Before the current trajectory is planned, the relevant operations for motor load rate and real-time bus voltage are repeated at a preset frequency (selected according to actual needs). After the planning is completed, the robot arm exits and waits for the next trajectory planning instruction. The completion of the current trajectory planning means that the robot arm has moved to the designated position of the current trajectory.

[0139] By adopting this implementation method, during the movement of the robotic arm, the instantaneous motor load rate and real-time bus voltage are detected simultaneously, and at least one of the acceleration and speed is adjusted in real time according to the instantaneous motor load rate and real-time bus voltage, thereby enabling the updating of acceleration and deceleration planning according to the actual working conditions.

[0140] The motion control method for a robotic arm according to embodiments of this application has been described in detail above. It should be noted that one embodiment of this application also provides an electronic device, including a memory and a processor. The memory stores one or more computer instructions, and the processor is used to call and execute one or more computer instructions to implement the aforementioned motion control method for the robotic arm or its implementation thereof.

[0141] Specifically, such as Figure 4 As shown, the electronic device includes a processor 510, at least one communication bus 520, a user interface 530, at least one external communication interface 540, and a memory 550. The communication bus 520 is configured to enable communication between these components. The user interface 530 may include a display screen, and the external communication interface 540 may include standard wired and wireless interfaces. The memory 550 stores computer instructions to implement the torque control method described above. The processor 510 is used to implement the torque control method described above when executing the computer instructions stored in the memory 500.

[0142] This application also provides a computer program product that includes one or more computer instructions, which, when executed, implement the aforementioned motion control method for the robotic arm.

[0143] This application also provides a computer-readable storage medium storing the aforementioned computer program product, which can be read, called, and executed by a processor.

[0144] This application also provides a robotic arm that uses the motion control method for the joint motor of the robotic arm provided in this application, or the robotic arm uses the electronic device provided in this application.

[0145] The descriptions of the above computer program products, computer-readable storage media, and electronic devices are similar to those of the above method embodiments, and have similar beneficial effects. For any technical details not disclosed in the computer program products, computer-readable storage media, and electronic devices of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0146] In the above embodiments of this application, the descriptions of each embodiment have their own emphasis. Parts not described in detail in a certain embodiment can be referred to in the relevant descriptions of other embodiments. The steps illustrated in the related flowcharts can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be performed in a different order than that shown here. In other words, the order of steps described in the foregoing embodiments is merely an example. Reasonable adjustments to the order of steps based on the content of the embodiments of this application are also within the protection scope of the embodiments of this application.

[0147] The sequence numbers or the order of description of the various embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0148] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0149] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0150] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0151] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital versatile disc (DVD)), or a semiconductor medium (e.g., solid state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiments of this application can be a non-volatile storage medium; in other words, it can be a non-transient storage medium.

[0152] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in the embodiments of this application are all authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the scene data of the current frame in the 3D virtual scene involved in the embodiments of this application, the client's device information, and the scene interaction information are all obtained with full authorization.

[0153] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method of motion control of a robot arm, characterized by, The method comprises: During the movement of the mechanical arm based on the acceleration-deceleration planning, the value of the working state parameter of the joint motor of the mechanical arm is acquired in real time, and the working state parameter is used to reflect the real-time working state of the joint motor; According to the comparison between the value of the working state parameter and the working state threshold, if the relationship between the two satisfies the motion parameter adjustment condition, the motion parameter of the mechanical arm is adjusted according to the motion adjustment strategy, wherein the motion state adjustment strategy restricts the adjustment mode of the motion parameter; According to the adjusted motion parameter, the acceleration-deceleration planning is updated; Wherein: The working state parameter of the joint motor includes the real-time bus voltage reflecting the driving capacity of the joint motor; and the working state threshold is the real-time theoretical bus voltage corresponding to the real-time bus voltage. If the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the first motion parameter adjustment condition, the acceleration in the motion parameter is adjusted in the decreasing direction; If the relationship between the real-time bus voltage and the theoretical bus voltage satisfies the second motion parameter adjustment condition, the speed and acceleration in the motion parameter are simultaneously adjusted in the decreasing direction. The working state parameter further includes the instantaneous load rate, and the value of the working state parameter of the joint motor of the mechanical arm is further acquired in real time, which further comprises:

2. The motion control method according to claim 1, characterized by, The instantaneous cross-axis current and the instantaneous direct-axis current of the joint motor during the movement of the mechanical arm are acquired in real time; The instantaneous load rate of the joint motor is calculated and determined according to the instantaneous cross-axis current, the instantaneous direct-axis current and the rated current of the joint motor.

3. The motion control method according to claim 1, wherein: The working state parameter further includes the instantaneous load rate, the working state threshold is the instantaneous load rate threshold, and the motion parameter includes the acceleration of the joint motor. If the instantaneous load rate exceeds the instantaneous load rate threshold, the relationship between the two satisfies the motion parameter adjustment condition, and the acceleration of the mechanical arm is adjusted in the decreasing direction. If the instantaneous load rate exceeds the instantaneous load rate threshold, the relationship between the two satisfies the motion parameter adjustment condition, and the acceleration of the mechanical arm is adjusted in the decreasing direction.

5. The motion control method according to claim 4, wherein:

4. The motion control method according to claim 3, wherein, k1∈[0.85, 0.95], k2∈[0.8, 0.99]. If N a >k1*N limit , then the relationship of the two satisfies a motion parameter adjustment condition, and a a =k2*a a is adjusted, where N a represents the instantaneous load rate, N limit represents an instantaneous load rate maximum limit, k1*N limit represents an instantaneous load rate threshold, a a represents a current acceleration, k2*a a represents an acceleration after adjustment, k1 is a coefficient for indicating to what extent reaching the instantaneous load rate maximum limit starts to adjust the acceleration, k2 is a coefficient capable of indicating an adjustment amplitude of the acceleration, and the greater k1 is, the smaller k2 is.

6. The motion control method according to claim 1, wherein: The method further comprises: The instantaneous cross-axis voltage and the instantaneous direct-axis voltage of the joint motor during the movement of the mechanical arm are acquired in real time, The real-time theoretical bus voltage is calculated according to the instantaneous cross-axis voltage and the instantaneous direct-axis voltage. ​ ​ 7. A motion control method according to any one of claims 1-6, characterized by, If the relationship between the real bus voltage and the theoretical bus voltage meets a first motion parameter adjustment condition, the acceleration in the motion parameters is adjusted in a decreasing direction, comprising: If U a ≥ U b >k3*U a , the relationship between the real-time bus voltage and the theoretical bus voltage satisfies a first motion parameter adjustment condition, at which time, adjust a b =k4*a b ; wherein U a represents the real-time bus voltage, U b represents the theoretical bus voltage, a b represents the current acceleration, k4*a b represents the adjusted acceleration, k3 is a coefficient for indicating at what degree of reaching the theoretical bus voltage the adjustment of the acceleration is started, k4 is a coefficient capable of indicating the adjustment range of the acceleration, and the greater k3 is, the smaller k4 is.

8. The motion control method of claim 7, wherein, k3∈[0.92, 0.97], k4∈[0.9, 0.95].

9. A motion control method according to any one of claims 1-6, characterized by, If the relationship between the real bus voltage and the theoretical bus voltage meets a second motion parameter adjustment condition, the speed and acceleration in the motion parameters are simultaneously adjusted in a decreasing direction, comprising: If U b > U a , the relationship between the real-time bus voltage and the theoretical bus voltage satisfies a second motion parameter adjustment condition, at this time, adjust a c = k5 * a c , v c = k6 * v c ; wherein U a represents the real-time bus voltage, U b represents the theoretical bus voltage, a c represents the current acceleration, k5*a c represents the adjusted acceleration, v c represents the current speed, k6*v c represents the adjusted speed, k5 is a coefficient capable of representing the adjustment amplitude of the acceleration, and k6 is a coefficient capable of representing the adjustment amplitude of the current speed.

10. The motion control method of claim 9, wherein, k5∈[0.9, 0.95], k6∈[0.9, 0.95].

11. The motion control method of claim 1, wherein, The acceleration and deceleration planning is obtained by using a pre-interpolation method; or, The acceleration and deceleration planning is obtained by using a pre-interpolation method and then performing dynamics constraint.

12. An electronic device, comprising: The electronic device comprises: a memory for storing one or more computer instructions; a processor for calling and executing the computer instructions to implement the motion control method of any one of claims 1-11.

13. A robot arm, characterized in that The mechanical arm is controlled by using the motion control method of any one of claims 1-11 during motion, or the mechanical arm has the electronic device of claim 12.

Citation Information

Patent Citations

  • Acceleration adjustment device and acceleration adjustment program

    CN112262026A

  • Acceleration correction method and device and computer readable storage medium

    CN112769369A