Control method, control device, robot device, storage medium, and program product
Patent Information
- Application Number
- CN202610815364.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-08
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2046-06-08
AI Technical Summary
[0004]本公开解决的一个技术问题是:相关技术的控制方法不容易兼顾系统的响应速度和稳定精度
[0023]上述控制方法融合了电流环与力矩指令接口的抗扰动力矩控制策略,这样兼顾了系统的响应速度和稳定精度,从而使得系统的响应速度较快且精度较高,而且结合前馈补偿电流值,将前馈补偿电流值融合到控制策略中,因此,该控制方法可以实现机器人的关节模块在复杂工作任务中的高性能动态力矩控制。
Smart Images

Figure CN122353627B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of robotics, and in particular to a control method, control device, robotic equipment, storage medium, and program product. Background Technology
[0002] In advanced equipment such as androids and high-precision collaborative robotic arms, the torque control performance of joint actuators directly affects the robot's dynamic response speed, operational accuracy, and safety in interacting with the external environment. To achieve precise torque control, the industry currently has two main technical solutions: indirect force control based on current loops and direct closed-loop force control based on force sensors.
[0003] Furthermore, joint torque control techniques in related technologies exhibit significant independence: indirect control methods based on motor current offer fast dynamic response but suffer from poor steady-state accuracy due to nonlinear friction in the transmission system and model mismatch, making it difficult to achieve precise torque closed-loop control and exhibiting weak disturbance rejection capability; while direct closed-loop control based on output force sensors, although highly accurate, suffers from slow system response due to sensor noise and bandwidth limitations. Neither of these methods can easily balance system response speed and stable accuracy. Summary of the Invention
[0004] One technical problem addressed by this disclosure is that the control methods of related technologies do not easily balance the system's response speed and stability accuracy.
[0005] According to one aspect of this disclosure, a control method is provided, comprising: obtaining an actual current value of a motor of a joint module of a robot device; obtaining an actual torque value output by a transmission device connected to the motor in the joint module; obtaining a feedforward compensation current value based on the actual current value and the actual torque value; obtaining a first current command value based on a desired torque value and the actual torque value; obtaining a second current command value based on the first current command value and the feedforward compensation current value; and controlling the operation of the motor based on the second current command value and the actual current value.
[0006] In some embodiments, obtaining a feedforward compensation current value based on the actual current value and the actual torque value includes: inputting the actual current value into a nominal model so that the nominal model outputs a theoretical torque value; calculating a disturbance torque value based on the theoretical torque value and the actual torque value, wherein the disturbance torque value is the difference between the theoretical torque value and the actual torque value; and performing reverse calculation on the disturbance torque value based on the nominal model to obtain the feedforward compensation current value.
[0007] In some embodiments, the transfer function P(s) of the nominal model is , Among them, I actual T represents the actual current value of the motor. norm K is the theoretical torque value. total Let τ be the total system gain coefficient of the nominal model, τ be the time constant, and s be the complex frequency operator.
[0008] In some embodiments, the nominal model's total system gain coefficient K total for , Among them, K t K is the torque coefficient of the motor. c η is the amplification factor for the torque output by the motor, which is converted into the output torque, tension, or pressure of the joint module after passing through the transmission device, and η is the mechanical transmission efficiency of the joint module.
[0009] In some embodiments, obtaining a first current command value based on a desired torque value and the actual torque value includes: calculating the difference between the desired torque value and the actual torque value; and inputting the difference between the desired torque value and the actual torque value into a torque PI controller, so that the torque PI controller outputs the first current command value.
[0010] In some embodiments, the second current command value is the sum of the first current command value and the feedforward compensation current value.
[0011] In some embodiments, controlling the operation of the motor based on the second current command value and the actual current value includes: calculating the difference between the second current command value and the actual current value; and inputting the difference between the second current command value and the actual current value into a current loop PI controller, so that the current loop PI controller outputs a third current command value to the motor, wherein the third current command value is a current command value used to control the operation of the motor.
[0012] In some embodiments, the control method further includes: updating the system total gain coefficient of the nominal model in real time using an online identification algorithm based on recursive least squares.
[0013] In some embodiments, the standard linear regression equation of the online identification algorithm based on recursive least squares is: , Where y is the actual torque value T output by the transmission device connected to the motor. actual ; For the regression vector, , where sign(ω) is the speed sign function, where sign(ω) is 1 when the motor rotates forward, -1 when the motor rotates in reverse, and 0 when the motor speed is zero; θ is the parameter vector to be identified. , among which, T coulomb Let be the Coulomb friction torque of the joint module.
[0014] In some embodiments, the system total gain coefficient of the nominal model is updated in real time using an online identification algorithm based on recursive least squares. The method includes: setting the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix, wherein the covariance matrix corresponds to the parameter vector; determining whether the joint module is in a quasi-steady state in each control cycle; and, if the joint module is in a quasi-steady state, executing a recursive algorithm based on the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix to obtain the updated total system gain coefficient.
[0015] In some embodiments, based on the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix, a recursive algorithm is executed to obtain the updated total system gain coefficient, including: Calculate the gain vector K[k], where, Where k is a positive integer, K[k] is the gain vector at the current time step, and P[k-1] is the covariance matrix at the previous time step. This represents the regression vector at the current moment; Calculate the estimation error e[k], where, , where e[k] is the estimation error at the current moment, y[k] is the actual torque value output by the transmission device at the current moment, and θ[k-1] is the parameter vector at the previous moment; Update the parameter vector θ[k], where, , where θ[k] is the parameter vector at the current time; Update the covariance matrix P[k], where, Where P[k] is the covariance matrix at the current time, and I is the identity matrix; and If e[k] and P[k] satisfy the predetermined convergence conditions, output the updated parameter vector. The first element in the equation is the updated total system gain coefficient K. total .
[0016] In some embodiments, determining whether the joint module is in a quasi-steady state includes: determining whether the absolute value of the acceleration of the joint module is less than an acceleration threshold; if the absolute value of the acceleration of the joint module is less than the acceleration threshold, then the joint module is determined to be in a quasi-steady state; otherwise, the joint module is determined not to be in a quasi-steady state.
[0017] In some embodiments, the actual current value, the first current command value, and the second current command value are all Q-axis current values.
[0018] According to another aspect of this disclosure, a control device is provided, comprising: an actual current acquisition unit for acquiring an actual current value of a motor of a joint module of a robot device; an actual torque acquisition unit for acquiring an actual torque value output by a transmission device connected to the motor in the joint module; a compensation current acquisition unit for acquiring a feedforward compensation current value based on the actual current value and the actual torque value; a first current acquisition unit for acquiring a first current command value based on a desired torque value and the actual torque value; a second current acquisition unit for acquiring a second current command value based on the first current command value and the feedforward compensation current value; and an operation control unit for controlling the operation of the motor based on the second current command value and the actual current value.
[0019] According to another aspect of this disclosure, a control device is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the control method as described above based on instructions stored in the memory.
[0020] According to another aspect of this disclosure, a robotic device is provided, comprising: a joint module; and a control device as described above, the control device being electrically connected to the joint module.
[0021] According to another aspect of this disclosure, a computer-readable storage medium is provided having computer instructions stored thereon that, when executed by a processor, implement the control method as described above.
[0022] According to another aspect of this disclosure, a computer program product is provided, comprising a computer program or instructions that, when executed by a processor, implement the control method as described above.
[0023] The above control method integrates a disturbance rejection torque control strategy with a current loop and a torque command interface, thus balancing the system's response speed and stability accuracy. This results in a faster and more accurate system response. Furthermore, by incorporating the feedforward compensation current value into the control strategy, this control method can achieve high-performance dynamic torque control of the robot's joint modules in complex tasks.
[0024] Other features and advantages of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0025] The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the specification, serve to explain the principles of this disclosure.
[0026] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein: Figure 1 This is a flowchart illustrating a control method according to some embodiments of the present disclosure; Figure 2 This is a flowchart illustrating the control loop of a control method according to some embodiments of the present disclosure; Figure 3 This is a flowchart illustrating a method for real-time updating of the system total gain coefficient of a nominal model according to some embodiments of the present disclosure; Figure 4 This is a schematic block diagram illustrating the structure of a control device according to some embodiments of the present disclosure; Figure 5 This is a schematic block diagram illustrating the structure of a control device according to other embodiments of the present disclosure; Figure 6 This is a schematic block diagram illustrating the structure of a control device according to other embodiments of the present disclosure. Detailed Implementation
[0027] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0028] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
[0029] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.
[0030] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0031] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0032] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0033] The current-loop force control scheme, as a relatively low-cost approach, utilizes the linear relationship between motor torque and current to indirectly regulate output torque by controlling the current. This scheme uses the current loop as the innermost closed loop in the servo control system. However, the inventors of this disclosure have discovered that due to the "layer-by-layer transmission" problem in the sensing and execution paths of this method, this mechanism results in poor force control accuracy, typically between 5% and 15%, and the accuracy further decreases with mechanical wear, making it difficult to meet the requirements of high-performance force control tasks.
[0034] Force sensor closed-loop control schemes directly measure the external force acting on the joint actuator by deploying torque or tension / compression sensors at the joint output end. This scheme can achieve high-precision force sensing and control. However, the inventors of this disclosure have found that force sensor signals are usually accompanied by significant noise and have limited dynamic response bandwidth. If the torque closed loop is directly constructed using sensor feedback, although steady-state accuracy can be guaranteed, it will limit the overall response speed of the system and cannot cope with scenarios requiring rapid dynamic force control.
[0035] Therefore, the control methods of related technologies do not easily balance the system's response speed and stability accuracy.
[0036] In view of this, embodiments of the present disclosure provide a control method that balances the system's response speed and stability accuracy, thereby achieving high-performance dynamic torque control of the robot's joint modules in complex tasks.
[0037] Figure 1 This is a flowchart illustrating a control method according to some embodiments of the present disclosure. Figure 2 This is a control loop flowchart illustrating a control method according to some embodiments of the present disclosure. The following is in conjunction with… Figure 1 and Figure 2 A control method according to some embodiments of the present disclosure is described in detail. This control method can be executed in a control device. For example... Figure 1 As shown, the control method includes steps S102 to S112.
[0038] In step S102, the actual current value of the motor of the joint module of the robot device is obtained.
[0039] Here, the robotic device may include a body-worn robot or a high-precision collaborative robotic arm. The joint module is the joint actuator of the robotic device. This joint module may include a motor (which may be called a joint motor) and a transmission device (which may also be called a transmission system) connected to the motor.
[0040] In this step, for example, a current sensor can be used to measure the actual current value of the motor and transmit the actual current value to the control device.
[0041] Current sensors are used in servo motor control. They monitor the motor phase current in real time through hardware circuits on the driver PCB (Printed Circuit Board), assisting in completing the motor's current closed-loop and FOC (Field Oriented Control) control.
[0042] In step S104, the actual torque value output by the transmission device connected to the motor in the joint module is obtained.
[0043] For example, transmission devices include speed reducers or lead screw modules.
[0044] For example, a force sensor (such as...) can be used. Figure 2 (As shown) Measure the actual torque value output by the transmission device connected to the motor and transmit the actual torque value to the control device.
[0045] The force sensor is an independent sensor device installed on the output side of the joint module. It consists of mechanical strain material and hardware sampling circuitry. The force sensor obtains the actual torque value output by the transmission device by sampling and detecting the stress changes of the mechanical structure at the output end of the joint module, and then transmits the actual torque value to the control device via the bus.
[0046] It should be noted that this disclosure does not limit the execution order of steps S102 and S104. For example, step S102 can be executed first, followed by step S104; or step S104 can be executed first, followed by step S102; or steps S102 and S104 can be executed in parallel (for example, steps S102 and S104 can be executed simultaneously).
[0047] In step S106, the feedforward compensation current value is obtained based on the actual current value and the actual torque value.
[0048] In some embodiments, such as Figure 2As shown, step S106 above may include: inputting the actual current value into the nominal model so that the nominal model outputs a theoretical torque value; calculating the disturbance torque value based on the theoretical torque value and the actual torque value, wherein the disturbance torque value is the difference between the theoretical torque value and the actual torque value; and performing reverse calculation on the disturbance torque value based on the nominal model to obtain the feedforward compensation current value. This feedforward compensation current value can, to a certain extent, offset major disturbances such as nonlinear friction.
[0049] In the above steps, the disturbance torque value = theoretical torque value - actual torque value.
[0050] In some embodiments, the transfer function P(s) of the nominal model is , (1) Among them, I actual T represents the actual current value of the motor. norm K represents the theoretical torque value (i.e., the torque value generated based on the actual current value of the motor in an ideal, undisturbed system). total The system total gain coefficient (K) of the nominal model total (where τ is a known quantity), τ is a time constant, and s is a complex frequency operator (also known as the Laplace operator).
[0051] Here, τ is the time constant of the first-order inertial element, which simulates the delay in the model. It is typically a very small value, on the order of microseconds. This time constant can approximate signal transmission delay and noise suppression. The first-order inertial element 1 / (τs+1) is used to represent the system delay, but its time constant is generally very small, so its effect can be ignored in the approximation.
[0052] Using the transfer function of the nominal model, the theoretical torque value can be calculated based on the actual current value. In the reverse calculation, the disturbance torque value can be used as the torque parameter in the transfer function to calculate the current parameter, which is the feedforward compensation current value.
[0053] In other words, the generalized current parameter I is used to replace the I in the above transfer function. actual The generalized torque parameter T is used to replace T in the above transfer function. norm Then we have the formula: , (2) Therefore, the disturbance torque value can be substituted into the above formula (2) as the torque parameter T, and the current parameter I can be obtained through reverse calculation, which is the feedforward compensation current value. In this way, the purpose of obtaining the feedforward compensation current value by reverse calculation of the disturbance torque value based on the nominal model is achieved.
[0054] In some embodiments, after the disturbance torque value is calculated in reverse based on the nominal model, the result of the inverse calculation can be filtered by a low-pass filter to output the feedforward compensation current value. Filtering reduces high-frequency noise, resulting in smoother disturbance observations and more stable control.
[0055] In some embodiments, the nominal model's total system gain coefficient K total for , (3) Among them, K t K is the torque coefficient of the motor. c η is the amplification factor that converts the torque output from the motor into the output torque, tension, or pressure of the joint module after passing through a transmission device (e.g., a reducer or a lead screw module). Here, K... t K c Both η and η are known quantities.
[0056] Here, the motor's torque coefficient K t This refers to the electromagnetic torque that a motor can produce per ampere of current. This parameter is strongly correlated with the motor itself, and an approximate value can be obtained from motor parameters (such as the ratio of rated torque to rated current). The scope of this disclosure is not limited to K. t The specific value.
[0057] Amplification factor K c This refers to the amplification factor of the torque, tension, or compression from the motor output torque to the output terminal of the joint module. Taking a rotary joint as an example, if the motor's rated torque is 0.5 N·m and the joint module uses an 80:1 reducer, then its torque amplification factor is K. c = 80, under rated torque conditions, the torque at the output of the joint module is 0.5 N·m × K. c = 40 N·m. The scope of this disclosure is not limited to K. c The specific value.
[0058] The mechanical transmission efficiency η is the transmission efficiency of the reduction gear (such as a planetary reducer, harmonic reducer, planetary roller screw module, etc.) between the output end of the joint module and the output end of the motor inside the joint module. For example, the transmission efficiency of a harmonic reducer is generally between 65% and 96%, and the transmission efficiency of a planetary roller screw module is generally between 70% and 90%. The scope of this disclosure is not limited to the specific value of η.
[0059] From the above formula (3), it can be seen that K total For K t K c The total product of the three coefficients η.
[0060] In step S108, a first current command value is obtained based on the desired torque value and the actual torque value.
[0061] In some embodiments, such as Figure 2 As shown, step S108 includes: calculating the difference between the desired torque value and the actual torque value (i.e., the difference between the desired torque value and the actual torque value); and inputting the difference between the desired torque value and the actual torque value into the torque PI (Proportional-Integral) controller so that the torque PI controller outputs a first current command value.
[0062] It should be noted that this disclosure does not limit the execution order of steps S106 and S108. For example, step S106 can be executed first, followed by step S108; or step S108 can be executed first, followed by step S106; or steps S106 and S108 can be executed in parallel (for example, steps S106 and S108 can be executed simultaneously).
[0063] In step S110, a second current command value is obtained based on the first current command value and the feedforward compensation current value.
[0064] In some embodiments, such as Figure 2 As shown, the second current command value is the sum of the first current command value and the feedforward compensation current value.
[0065] In step S112, the operation of the motor is controlled based on the second current command value and the actual current value.
[0066] In some embodiments, such as Figure 2 As shown, step S112 may include: calculating the difference between the second current command value and the actual current value (i.e., the difference obtained by subtracting the actual current value from the second current command value); and inputting the difference between the second current command value and the actual current value into the current loop PI controller, so that the current loop PI controller outputs a third current command value to the motor, wherein the third current command value is a current command value used to control the operation of the motor. This step implements the current loop control part of the system.
[0067] Therefore, a control method according to some embodiments of the present disclosure is provided. The control method includes: obtaining the actual current value of the motor of a joint module of a robot device; obtaining the actual torque value output by the transmission device connected to the motor in the joint module; obtaining a feedforward compensation current value based on the actual current value and the actual torque value; obtaining a first current command value based on the desired torque value and the actual torque value; obtaining a second current command value based on the first current command value and the feedforward compensation current value; and controlling the operation of the motor based on the second current command value and the actual current value. This control method integrates a disturbance rejection torque control strategy with a current loop and a torque command interface, thus balancing the system's response speed and stability accuracy. This results in a faster system response and higher accuracy. Furthermore, by incorporating the feedforward compensation current value into the control strategy, this control method can achieve high-performance dynamic torque control of the robot's joint module in complex tasks.
[0068] In some embodiments, the actual current value, the first current command value, and the second current command value mentioned above are all Q-axis (Quadrature Axis) current values. Additionally, the third current command value is also a Q-axis current value. That is, the current command and the actual current described here both refer to the Q-axis current. For example, in some embodiments of this disclosure, the D-axis (Direct Axis) current can be considered to be 0. Here, the Q-axis current is the torque component, directly determining the magnitude of the motor's output torque; the D-axis current is the excitation component, mainly regulating the magnetic field and almost entirely not outputting torque.
[0069] As described above, to resolve the contradiction between "fast response but poor accuracy" and "high accuracy but slow response" in related technologies, the control method of the above embodiments of this disclosure integrates the disturbance rejection torque control strategy of the current loop and the force sensor. That is, the current loop and the force sensor closed loop are no longer considered as two mutually exclusive independent control modes, but rather as complementary observation and execution channels, through a disturbance observer (DOB) based... Figure 2 The integrated architecture (shown) enables the division of labor and coordination between the current loop for dynamic response, the force sensor for steady-state calibration, and the DOB for disturbance compensation.
[0070] like Figure 2 As shown, the system framework may include a dual-loop control layer. This dual-loop control layer includes an inner loop and an outer loop.
[0071] The inner loop is a high-bandwidth current loop, which is the system's fast actuator. The flow structure of this inner loop can be found in [reference needed]. Figure 2The inner loop contains a first current command value, a second current command value, a current loop PI controller, a third current command value, a motor and drive system, and an actual current value (which is fed back to calculate the difference between the second current command value and the actual current value). The inner loop receives the second current command value I' from the outer loop. cmd And through a high refresh rate PID (Proportional-Integral-Derivative) regulator (as a current loop PI controller) and FOC+PWM (Pulse Width Modulation) drive, the actual current value I of the motor is made so that actual It can quickly and accurately track commands. This inner loop is the basis for high dynamic response. The current commands and actual currents described here refer to the Q-axis current (e.g., the D-axis current is 0 at this time).
[0072] The outer loop is the torque command interface, i.e., the torque command control loop, which acts outside the current loop. The flow structure of this outer loop can be found in [reference needed]. Figure 2 The expected torque value (i.e., desired torque), torque PI controller, first current command value, second current command value, current loop PI controller, third current command value, motor and transmission device, force sensor, and actual torque value (this actual torque value is fed back to calculate the difference between the expected torque value and the actual torque value). Figure 2 As shown, this loop receives the desired torque value T sent by the upper-layer plan. cmd This is used as the control target of the system, and after passing through the torque PI controller, it is used as part of the current command to provide current to the inner loop.
[0073] like Figure 2 As shown, the system framework can also include a disturbance observation and compensation layer. This disturbance observation and compensation layer is a disturbance observer that uses an output force sensor as feedback.
[0074] Nominal model: Its input is the actual current value I of the motor. actual The output is the theoretical torque value T that an ideal, undisturbed system should produce and output under the current actual current. norm The model can be a simple linear model, for example, it can be determined by a gain coefficient (i.e., the total system gain coefficient K). total The nominal model can be approximated by adding a first-order inertial element (with a transfer function of 1 / (τs+1)) in series. The transfer function P(s) of the nominal model is... (4) Perturbation estimation: The theoretical torque value T norm The actual torque value T measured by the force sensor at the output end actualThe difference between the actual torque and the actual torque is the disturbance torque value T. dist This refers to the total observed disturbance. This total disturbance includes nonlinear friction of the transmission system, model mismatch (such as changes in system efficiency η), and external load disturbances. Here, the disturbance torque value is... (5) Feedforward compensation: The observed disturbance torque value T at the output terminal is... dist After reverse calculation and passing through a low-pass filter, it is converted into a feedforward compensation current value I. ff It is directly injected into the command terminal of the current loop.
[0075] Signal fusion: Second current command value I' cmd It consists of two parts: one is the outer loop torque PI controller, which controls the torque based on the desired torque value T. cmd Compared with the actual torque value T actual The first current command value I is calculated based on the error (i.e., the difference between the two). cmd (i.e., the base current); and secondly, the feedforward compensation current value I output by the disturbance observer. ff .Right now: (6) This fusion mechanism enables the system to both access I cmd To achieve closed-loop torque control, and also through I ff Actively and proactively counteract major disturbances, thereby minimizing the lag in PID controllers in related technologies where errors occur first and are then corrected.
[0076] The control method described in this embodiment takes into account both the system's response speed and stability accuracy, resulting in a faster system response and higher accuracy. Furthermore, by incorporating the feedforward compensation current value into the control strategy, this control method can achieve high-performance dynamic torque control of the robot's joint modules in complex tasks.
[0077] For example, when a robot is assembling precision parts, it is required to assemble them under constant pressure (e.g., 5 N (Newtons)).
[0078] If the pure current loop force control scheme in the relevant technology is used, due to the existence of nonlinear friction, the robot cannot accurately output 5N of pressure. The actual output may fluctuate between 4N and 6N, resulting in unstable pressing quality. Furthermore, when encountering jamming, the response is slow and may cause sudden jerking, resulting in unexpected damage to the components.
[0079] If a closed-loop control using a pure force sensor is used, although a stable accuracy of 5N can be guaranteed, the low control bandwidth and slow response at the moment of contact from no load and when encountering jamming will result in a sluggish crawling phenomenon and poor dynamic performance. Furthermore, due to the large noise of the force sensor, the system is prone to oscillation, which will affect the dynamic performance.
[0080] The disturbance-resistant dynamic torque control that integrates a current loop and a force sensor, as described in this embodiment, helps the robot maintain a constant and precise downward pressure during the pressing of parts, with minimal dynamic delay, smooth and natural movements, and excellent assembly results.
[0081] In some embodiments of this disclosure, the control method described above may further include: updating the total system gain coefficient of the nominal model in real time using an online identification algorithm based on recursive least squares.
[0082] For example, the system framework may also include an identification layer for performing online parameter identification based on RLS (Recursive Least Squares). That is, this identification layer is used to enable the system to adaptively identify the nominal model parameters.
[0083] The above control method, within the framework of disturbance-resistant dynamic torque control, introduces an online parameter identification module based on recursive least squares method to track and update K in the nominal model in real time and automatically. total This parameter can reduce the nominal model's total system gain coefficient K. total The dynamic slow changes that may occur due to the influence of changes in the motor's operating environment temperature, mechanical wear, load, and operating point can be improved by increasing the observation accuracy of the disturbance observer, thereby obtaining high bandwidth, high precision, and high adaptability torque control performance.
[0084] The control method of this disclosure aims to resolve the contradiction between "fast response but poor accuracy" and "high accuracy but slow response" in related technologies. By deeply integrating the speed of the current loop with the high accuracy of the force sensor, and introducing an anti-disturbance observer, it effectively estimates and compensates for internal and external disturbances such as nonlinear friction. This ensures steady-state accuracy while improving dynamic response speed and consistency, thereby achieving high-performance dynamic torque control of the joint actuator in complex tasks.
[0085] In some embodiments, the standard linear regression equation of the online identification algorithm based on recursive least squares is: , (7) Where y is the actual torque value T output by the transmission device connected to the motor. actual ; For the regression vector, , among which, I actualLet ω be the actual current value of the motor, and sign(ω) be the speed sign function, where sign(ω) is 1 when the motor rotates forward, -1 when the motor rotates in reverse, and 0 when the motor speed is zero; θ is the parameter vector to be identified. , among which, T coulomb This represents the Coulomb friction torque of the joint module.
[0086] The origin of the above standard linear regression equation (7) is explained below.
[0087] The dynamic equation of the motor is: , (8) , (9) In equations (8) and (9) above: T e I is the electromagnetic torque of the motor. q K represents the actual Q-axis current of the motor. t T is the torque coefficient of the motor. L Where ω is the load torque, J is the moment of inertia referred to the motor output, B is the coefficient of viscous friction, and ω is the motor speed.
[0088] Considering the amplification factor K of the transmission device (e.g., reducer or lead screw module) of the joint module c Regarding the transmission efficiency η, when the joint module is in a quasi-steady state (where quasi-steady state refers to a state where acceleration is approximately zero, i.e., the differential term of velocity is 0), the following formula holds: , (10) Right now: , (11) Among them, T actual K represents the actual torque value measured by the force sensor at the output of the joint module. total I represents the total system gain coefficient of the nominal model (in this case, the total system gain coefficient to be identified). actual T represents the actual current value of the motor (Q-axis current value). coulomb Let ω be the Coulomb friction torque of the joint module. Coulomb friction torque is a constant related to the velocity direction, and sign(ω) is the velocity sign function as described above.
[0089] Coulomb friction torque T coulomb Depending on the materials and lubrication conditions of the friction pair, in engineering practice, the Coulomb friction torque typically ranges from 0.1 to 0.5 for common steel components (such as motor shafts and bearings). This disclosure is not limited to the Coulomb friction torque T. coulomb The specific value.
[0090] The above equation (11) can be converted into a standard linear regression equation. Where y is the system output, i.e., y is T actual , For the regression vector, θ is the parameter vector to be identified. .
[0091] Figure 3 This is a flowchart illustrating a method for real-time updating of the system total gain coefficient of a nominal model according to some embodiments of the present disclosure. The method describes the process of updating the system total gain coefficient of the nominal model in real time using an online identification algorithm based on recursive least squares. Figure 3 As shown, the method includes steps S302 to S306.
[0092] In step S302, the initial values θ[0] of the parameter vector and P[0] of the covariance matrix are set, wherein the covariance matrix corresponds to the parameter vector.
[0093] Here, the dimension of the covariance matrix is the same as the dimension of the parameter vector. For example, if the parameter vector is a 2×1 vector, the covariance matrix is a 2×2 matrix.
[0094] The above steps achieve parameter initialization. That is, setting the initial value θ[0] of the parameter vector θ[k] and the initial value P[0] of the covariance matrix P[k]. For example, θ[0] can be... , where K nominal For K total The theoretical value of the covariance matrix is P[0]. The initial value of the covariance matrix is P[0], which can be the matrix obtained by multiplying the identity matrix by a numerical value. This numerical value is usually an empirical value, such as 100 to 1000.
[0095] In step S304, during each control cycle, it is determined whether the joint module is in a quasi-steady state.
[0096] That is, in each control cycle, it is determined whether the system is in a quasi-steady state. For example, determining whether a joint module is in a quasi-steady state includes: determining whether the absolute value of the joint module's acceleration 'a', |a|, is less than the acceleration threshold 'a'. threshold If the absolute value of the acceleration 'a' of the joint module, |a|, is less than the acceleration threshold 'a', threshold If the condition is met, the joint module is determined to be in a quasi-steady state; otherwise, the joint module is determined to be in a non-steady state.
[0097] Here, the acceleration threshold a threshold A sufficiently small acceleration is used to determine whether the current joint module is in a quasi-steady state. For example, an acceleration threshold 'a'. threshold It is 0.1 rad / s 2Of course, the value of the acceleration threshold here is merely exemplary, and the scope of this disclosure is not limited to the specific value of the acceleration threshold.
[0098] In the above embodiments, the data acquired by the driver is used for identification only after the joint module enters a quasi-steady state, so as to eliminate the influence of inertial forces.
[0099] The above steps enable the determination of data validity.
[0100] In step S306, when the joint module is in a quasi-steady state, a recursive algorithm is executed based on the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix to obtain the updated total system gain coefficient.
[0101] In some embodiments, step S306 includes: calculating the gain vector K[k], where, , (12) Where k is a positive integer, K[k] is the gain vector at the current time (i.e., time k), and P[k-1] is the covariance matrix at the previous time (i.e., time k-1). This is the regression vector at the current time (i.e., time k).
[0102] The meaning of the above formula (12) is as follows: K[k] = (current uncertainty × new data) / (1 + expected information content of new data).
[0103] Wherein, the gain vector K[k] is the Kalman gain vector (a 2×1 vector), and P[k-1] is the parameter covariance matrix of the previous time step (a 2×2 matrix). This is the regression vector at the current moment (a 2×1 vector).
[0104] K[k] is used to determine the proportion by which the prediction error e[k] (described below) is used to correct the parameter estimates. The output K[k] is the scale-adaptive, direction-sensitive correction gain.
[0105] In the right-hand side of the above formula (12), the numerator Meaning: To set the current data Perform a "weighted mapping".
[0106] In the right-hand side of the above formula (12), the denominator Meaning: The result of multiplication is a scalar that measures the new data. The amount of information carried, if If the element value is large (e.g., a large current value), then this scalar will be large; similarly, if P[k-1] is large, this scalar will also be large. In summary, this scalar measures the amount of new information that new data can bring under the current knowledge state P[k-1]. The "+1" in the denominator is to prevent the denominator from being zero and to prevent excessive parameter jumps caused by a single abnormal data. It ensures that K[k] is always within a reasonable range of 0 to 1. The entire denominator represents the importance of the new data itself, reflecting the amount of information it carries. The greater the amount of information, the larger the denominator, and the correction step size is correspondingly compressed to prevent over-adjustment.
[0107] Furthermore, step S306 above also includes: calculating the estimation error e[k], where, , (13) Where e[k] is the estimation error at the current time (i.e., time k), y[k] is the system output at the current time (i.e., time k), that is, the actual torque value output by the transmission device at the current time, and θ[k-1] is the parameter vector at the previous time (i.e., time k-1).
[0108] Furthermore, step S306 above also includes: updating the parameter vector θ[k], where, , (14) Where θ[k] is the parameter vector at the current time (i.e., the k-th time).
[0109] Furthermore, step S306 above also includes: updating the covariance matrix P[k], where, , (15) Where P[k] is the covariance matrix at the current time (i.e., the k-th time), and I is the identity matrix.
[0110] Furthermore, step S306 above also includes: if e[k] and P[k] satisfy a predetermined convergence condition, outputting the updated parameter vector. The first element in the equation is the updated total system gain coefficient K. total .
[0111] For example, the convergence condition satisfied by the estimation error e[k] includes: the absolute value of the estimation error e[k] is less than the error threshold ε. That is, |e[k]|<ε, where ε is a very small positive number. For example, the value range of ε can be from 0.001 to 0.01. Of course, the value range of ε here is only exemplary, and the scope of this disclosure is not limited to the specific value of ε.
[0112] For example, the convergence condition satisfied by the covariance matrix P[k] includes: the trace of the covariance matrix P[k] is less than the trace threshold. That is, tr(P[k]) < .For example, The value can range from 0.001 to 0.1. Of course, here... The range of values is merely illustrative, and the scope of this disclosure is not limited to this. The specific value of P[k]. In the embodiments of this disclosure, the covariance matrix P[k] decreases monotonically with iteration and tends to zero. Therefore, the criterion for judging the convergence of P[k] can be set as the trace of P[k] being less than the trace threshold. .
[0113] Here's an explanation of the meaning of trace: For an n×n square matrix (n is a positive integer), the trace of the matrix is equal to the sum of all elements on the main diagonal (from the top left to the bottom right of the matrix).
[0114] In the above embodiment, when the joint module is in a quasi-steady state (i.e., the data is valid), the gain vector K[k] is calculated, the estimation error e[k] is calculated, the parameter vector θ[k] is updated, and the covariance matrix P[k] is updated, thereby outputting the updated parameters. After updating the parameters, the first element θ[k](0) in the parameter vector θ[k] is the latest online identified total system gain coefficient. The value of the total system gain coefficient is transmitted in real time to the nominal model P(s) of the compensation layer to update its parameters, realizing K total Online parameter identification.
[0115] In other embodiments, the control method described above may further include: not executing the recursive algorithm when the joint module is not in a quasi-steady state.
[0116] Thus, a method for real-time updating of the system total gain coefficient of the nominal model according to some embodiments of this disclosure is provided. This method allows for real-time and automatic tracking and updating of K in the nominal model. total This parameter can reduce the nominal model's total system gain coefficient K. total The dynamic slow changes that may occur due to the influence of changes in the motor's operating environment temperature, mechanical wear, load, and operating point can be improved by increasing the observation accuracy of the disturbance observer, thereby obtaining high bandwidth, high precision, and high adaptability torque control performance.
[0117] In summary, the embodiments of this disclosure provide a control method for resolving the core contradiction in joint torque control through an innovative combination of technologies. This control method has the following advantages: (1) The above control method achieves a balance between high dynamic response and high steady-state accuracy. This is achieved through a specific combination of fast execution of the current loop and feedforward compensation of the disturbance observer. Although the current loop operates very fast, its output execution accuracy is affected by disturbances. Although known force sensors have high accuracy, their bandwidth is limited and their noise is relatively large. The control method disclosed in this paper does not use the force sensor as direct feedback, but instead inputs it together with the actual current signal into the disturbance observer DOB. The DOB uses a nominal model to calculate in real time the feedforward current I required to offset the main disturbances such as nonlinear friction. ff The error is then superimposed and injected into the current loop command input. This allows the system to cancel out disturbances without waiting for the outer loop PID to accumulate error. Through this control method, the outer loop PID only needs to use a lower gain to handle the residual error after DOB compensation, thus achieving both fast dynamic response at the current loop level and steady-state accuracy at the force sensor level without sacrificing stability, achieving a "fast and accurate" effect.
[0118] (2) The above control method achieves high robustness and adaptability. This is achieved through the closed-loop collaboration of the "disturbance observer" and the "online parameter identifier". It is known that the performance of DOB depends on the model accuracy, while the RLS algorithm can identify parameters online. The two form a positive feedback loop in performance: DOB provides RLS with a more linear operating environment where disturbances are significantly suppressed through feedforward compensation. This greatly improves the total identification gain K of RLS in quasi-steady state. total The accuracy and reliability; conversely, high-precision K total The parameters ensure that the nominal model of DOB remains consistent with the real system, guaranteeing the long-term accuracy of its disturbance observation and compensation. This combination enables the system to automatically adapt to parameter drift caused by temperature changes, mechanical wear, etc., achieving the goal of moving from "disturbance resistance" to "adaptive control".
[0119] In other embodiments of this disclosure, an extended state observer (ESO) can be employed to estimate the total disturbance as an augmented state, achieving better dynamic estimation performance. For example, when identifying the total system gain coefficient, in addition to considering the Coulomb friction torque, other state parameters can be considered, thereby enabling extended state observation.
[0120] Furthermore, online parameter identification is not limited to recursive least squares (RLS). For example, RLS with a forgetting factor can also be used for online parameter identification to adapt to time-varying systems and achieve adaptive updating of model parameters.
[0121] The control method of this disclosure can better integrate the advantages of the current loop and the force sensor, effectively suppress internal and external disturbances, and improve the overall performance of the joint actuator in complex dynamic interactive tasks.
[0122] Figure 4 This is a schematic block diagram illustrating the structure of a control device according to some embodiments of the present disclosure. Figure 4 As shown, the control device includes an actual current acquisition unit 402, an actual torque acquisition unit 404, a compensation current acquisition unit 406, a first current acquisition unit 408, a second current acquisition unit 410, and an operation control unit 412.
[0123] The actual current acquisition unit 402 is used to acquire the actual current value of the motor of the joint module of the robot device.
[0124] The actual torque acquisition unit 404 is used to obtain the actual torque value output by the transmission device connected to the motor in the joint module.
[0125] The compensation current acquisition unit 406 is used to obtain the feedforward compensation current value based on the actual current value and the actual torque value.
[0126] The first current acquisition unit 408 is used to obtain a first current command value based on the desired torque value and the actual torque value.
[0127] The second current acquisition unit 410 is used to acquire a second current command value based on the first current command value and the feedforward compensation current value.
[0128] The operation control unit 412 is used to control the operation of the motor based on the second current command value and the actual current value.
[0129] Thus, a control device according to some embodiments of the present disclosure is provided. The control device includes an actual current acquisition unit, an actual torque acquisition unit, a compensation current acquisition unit, a first current acquisition unit, a second current acquisition unit, and a running control unit. This control device integrates an anti-disturbance torque control strategy combining a current loop and a torque command interface, thus balancing system response speed and stability accuracy. This results in a faster system response and higher accuracy. Furthermore, by incorporating the feedforward compensation current value into the control strategy, this control device can achieve high-performance dynamic torque control of robot joint modules in complex tasks.
[0130] In some embodiments, the compensation current acquisition unit 406 is used to input the actual current value into the nominal model so that the nominal model outputs the theoretical torque value, calculates the disturbance torque value based on the theoretical torque value and the actual torque value, wherein the disturbance torque value is the difference between the theoretical torque value and the actual torque value, and performs reverse calculation on the disturbance torque value based on the nominal model to obtain the feedforward compensation current value.
[0131] In some embodiments, the transfer function P(s) of the nominal model is , Among them, I actual T represents the actual current value of the motor. norm K is the theoretical torque value. total τ is the system total gain coefficient of the nominal model, τ is the time constant, and s is the complex frequency operator.
[0132] In some embodiments, the nominal model's total system gain coefficient K total for , Among them, K t K is the torque coefficient of the motor. c η is the amplification factor for the torque output by the motor, which is converted into the output torque, tension, or pressure of the joint module after passing through the transmission device, and η is the mechanical transmission efficiency of the joint module.
[0133] In some embodiments, the first current acquisition unit 408 is used to calculate the difference between the expected torque value and the actual torque value, and input the difference between the expected torque value and the actual torque value to the torque PI controller so that the torque PI controller outputs a first current command value.
[0134] In some embodiments, the second current command value is the sum of the first current command value and the feedforward compensation current value.
[0135] In some embodiments, the operation control unit 412 is used to calculate the difference between the second current command value and the actual current value, and input the difference between the second current command value and the actual current value to the current loop PI controller, so that the current loop PI controller outputs a third current command value to the motor, wherein the third current command value is a current command value used to control the operation of the motor.
[0136] In some embodiments, the control device may further include an update unit, which is used to update the total system gain coefficient of the nominal model in real time using an online identification algorithm based on recursive least squares.
[0137] In some embodiments, the standard linear regression equation of the online identification algorithm based on recursive least squares is: Where y is the actual torque value T output by the transmission device connected to the motor. actual ; For the regression vector, , among which, I actual Let ω be the actual current value of the motor, and sign(ω) be the speed sign function, where sign(ω) is 1 when the motor rotates forward, -1 when the motor rotates in reverse, and 0 when the motor speed is zero; θ is the parameter vector to be identified. , among which, T coulomb This represents the Coulomb friction torque of the joint module.
[0138] In some embodiments, the update unit is used to set the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix, wherein the covariance matrix corresponds to the parameter vector. In each control cycle, it is determined whether the joint module is in a quasi-steady state. If the joint module is in a quasi-steady state, a recursive algorithm is executed based on the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix to obtain the updated total system gain coefficient.
[0139] In some embodiments, the update unit is used to: calculate the gain vector K[k], where... Where k is a positive integer, K[k] is the gain vector at the current time step, and P[k-1] is the covariance matrix at the previous time step. Let k be the regression vector at the current time; calculate the estimation error e[k], where, Where e[k] is the estimation error at the current moment, y[k] is the actual torque value output by the transmission device at the current moment, and θ[k-1] is the parameter vector at the previous moment; update the parameter vector θ[k], where, , where θ[k] is the parameter vector at the current time; update the covariance matrix P[k], where, Where P[k] is the covariance matrix at the current time, and I is the identity matrix; and given that e[k] and P[k] satisfy the predetermined convergence conditions, the updated parameter vector is output. The first element in the equation is the updated total system gain coefficient K. total .
[0140] In some embodiments, the updating unit is used to determine whether the absolute value of the acceleration of the joint module is less than the acceleration threshold. If the absolute value of the acceleration of the joint module is less than the acceleration threshold, the joint module is determined to be in a quasi-steady state; otherwise, the joint module is determined not to be in a quasi-steady state.
[0141] In some embodiments, the actual current value, the first current command value, and the second current command value are all Q-axis current values.
[0142] Figure 5 This is a schematic block diagram illustrating the structure of a control device according to other embodiments of the present disclosure. The control device includes a memory 510 and a processor 520. Wherein: The memory 510 can be a disk, flash memory, or any other non-volatile storage medium. The memory is used for storage. Figures 1 to 3 At least one of the instructions in the corresponding embodiment.
[0143] Processor 520 is coupled to memory 510 and can be implemented as one or more integrated circuits, such as a microprocessor or microcontroller. Processor 520 executes instructions stored in memory to enable fast and accurate system response, thereby achieving high-performance dynamic torque control of the robot's joint modules in complex tasks.
[0144] In some embodiments, it may also be as follows Figure 6 As shown, the control device 500 includes a memory 510 and a processor 520. The processor 520 is coupled to the memory 510 via a BUS bus 530. The control device 500 can also be connected to an external storage device 550 via a storage interface 540 to access external data, and can also be connected to a network or another computer system (not shown) via a network interface 560, which will not be described in detail here.
[0145] In this embodiment, data instructions are stored in a memory and then processed by a processor to enable the system to respond quickly and accurately, thereby achieving high-performance dynamic torque control of the robot's joint modules in complex tasks.
[0146] In some embodiments of this disclosure, a robotic device is also provided, including a joint module and a control device as described above. The control device is electrically connected to the joint module. This robotic device can be an embodied robot or a high-precision collaborative robotic arm, etc.
[0147] In some embodiments, this disclosure also provides a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) having stored thereon computer program instructions that are implemented when executed by a processor. Figures 1 to 3 The method steps in at least one of the corresponding embodiments are described. Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, apparatus, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0148] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0149] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0150] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0151] In some embodiments of this disclosure, a computer program product is also provided, which includes a computer program or instructions that, when executed by a processor, implement the control method as described above.
[0152] In some embodiments of this disclosure, a computer program is also provided, comprising: instructions that, when executed by a processor, cause the processor to perform the control method as described above.
[0153] This concludes the detailed description of the present disclosure. To avoid obscuring the concept of the disclosure, some details known in the art have not been described. Those skilled in the art will fully understand how to implement the technical solutions disclosed herein based on the above description.
[0154] While specific embodiments of this disclosure have been described in detail by way of example, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.
Claims
1. A control method, comprising: Obtain the actual current value of the motor in the joint module of the robot device; Obtain the actual torque value output by the transmission device connected to the motor in the joint module; Based on the actual current value and the actual torque value, the feedforward compensation current value is obtained; Based on the desired torque value and the actual torque value, a first current command value is obtained; Based on the first current command value and the feedforward compensation current value, a second current command value is obtained; and The operation of the motor is controlled based on the second current command value and the actual current value; Obtaining a feedforward compensation current value based on the actual current value and the actual torque value includes: inputting the actual current value into a nominal model so that the nominal model outputs a theoretical torque value; calculating a disturbance torque value based on the theoretical torque value and the actual torque value, wherein the disturbance torque value is the difference between the theoretical torque value and the actual torque value; and performing reverse calculation on the disturbance torque value based on the nominal model to obtain the feedforward compensation current value. Wherein, the transfer function P(s) of the nominal model is , in, I actual This is the actual current value of the motor. T norm The theoretical torque value is... K total Let τ be the system total gain coefficient of the nominal model, τ be the time constant, and s be the complex frequency operator; The nominal model's total system gain coefficient K total for , Among them, K t K is the torque coefficient of the motor. c η is the amplification factor for the torque output by the motor, which is converted into the output torque, tension, or pressure of the joint module after passing through the transmission device; η is the mechanical transmission efficiency of the joint module. The control method further includes: updating the system total gain coefficient of the nominal model in real time using an online identification algorithm based on recursive least squares; The standard linear regression equation of the online identification algorithm based on recursive least squares is: , Where y is the actual torque value T output by the transmission device connected to the motor. actual ; For the regression vector, , where sign(ω) is the speed sign function, where sign(ω) is 1 when the motor rotates forward, -1 when the motor rotates in reverse, and 0 when the motor speed is zero; θ is the parameter vector to be identified. , among which, T coulomb Let be the Coulomb friction torque of the joint module.
2. The control method according to claim 1, wherein, Based on the desired torque value and the actual torque value, a first current command value is obtained, including: Calculate the difference between the expected torque value and the actual torque value; and The difference between the desired torque value and the actual torque value is input to the torque PI controller, so that the torque PI controller outputs the first current command value.
3. The control method according to claim 1, wherein, The second current command value is the sum of the first current command value and the feedforward compensation current value.
4. The control method according to claim 1, wherein, Controlling the operation of the motor based on the second current command value and the actual current value includes: Calculate the difference between the second current command value and the actual current value; and The difference between the second current command value and the actual current value is input to the current loop PI controller, so that the current loop PI controller outputs a third current command value to the motor, wherein the third current command value is a current command value used to control the operation of the motor.
5. The control method according to claim 1, wherein, The system total gain coefficient of the nominal model is updated in real time using an online identification algorithm based on recursive least squares. ,include: Set the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix, wherein the covariance matrix corresponds to the parameter vector; In each control cycle, determine whether the joint module is in a quasi-steady state; and When the joint module is in a quasi-steady state, a recursive algorithm is executed based on the initial value θ[0] of the parameter vector and the initial value P[0] of the covariance matrix to obtain the updated total system gain coefficient.
6. The control method according to claim 5, wherein, Based on the initial values θ[0] of the parameter vector and P[0] of the covariance matrix, a recursive algorithm is executed to obtain the updated total system gain coefficient, including: Calculate the gain vector K[k], where, Where k is a positive integer, K[k] is the gain vector at the current time step, and P[k-1] is the covariance matrix at the previous time step. This represents the regression vector at the current moment; Calculate the estimation error e[k], where, , where e[k] is the estimation error at the current moment, y[k] is the actual torque value output by the transmission device at the current moment, and θ[k-1] is the parameter vector at the previous moment; Update the parameter vector θ[k], where, , where θ[k] is the parameter vector at the current time; Update the covariance matrix P[k], where, Where P[k] is the covariance matrix at the current time, and I is the identity matrix; and If e[k] and P[k] satisfy the predetermined convergence conditions, output the updated parameter vector. The first element in the equation is the updated total system gain coefficient K. total .
7. The control method according to claim 5, wherein, Determining whether the joint module is in a quasi-steady state includes: Determine whether the absolute value of the acceleration of the joint module is less than an acceleration threshold. If the absolute value of the acceleration of the joint module is less than the acceleration threshold, then the joint module is determined to be in a quasi-steady state; otherwise, the joint module is determined not to be in a quasi-steady state.
8. The control method according to claim 1, wherein, The actual current value, the first current command value, and the second current command value are all Q-axis current values.
9. A control device, comprising: The actual current acquisition unit is used to obtain the actual current value of the motor of the joint module of the robot device; The actual torque acquisition unit is used to obtain the actual torque value output by the transmission device connected to the motor in the joint module; The compensation current obtaining unit is used to obtain the feedforward compensation current value based on the actual current value and the actual torque value; The first current acquisition unit is used to obtain a first current command value based on the desired torque value and the actual torque value; The second current acquisition unit is used to obtain a second current command value based on the first current command value and the feedforward compensation current value. and The operation control unit is used to control the operation of the motor based on the second current command value and the actual current value; The compensation current acquisition unit is used to input the actual current value into the nominal model so that the nominal model outputs a theoretical torque value, calculates the disturbance torque value based on the theoretical torque value and the actual torque value, wherein the disturbance torque value is the difference between the theoretical torque value and the actual torque value, and performs reverse calculation on the disturbance torque value based on the nominal model to obtain the feedforward compensation current value. Wherein, the transfer function P(s) of the nominal model is , Among them, I actual T represents the actual current value of the motor. norm K is the theoretical torque value. total Let τ be the system total gain coefficient of the nominal model, τ be the time constant, and s be the complex frequency operator; The nominal model's total system gain coefficient K total for , Among them, K t K is the torque coefficient of the motor. c η is the amplification factor for the torque output by the motor, which is converted into the output torque, tension, or pressure of the joint module after passing through the transmission device; η is the mechanical transmission efficiency of the joint module. The control device further includes an update unit, which is used to update the system total gain coefficient of the nominal model in real time using an online identification algorithm based on recursive least squares. The standard linear regression equation of the online identification algorithm based on recursive least squares is: , Where y is the actual torque value T output by the transmission device connected to the motor. actual ; For the regression vector, , where sign(ω) is the speed sign function, where sign(ω) is 1 when the motor rotates forward, -1 when the motor rotates in reverse, and 0 when the motor speed is zero; θ is the parameter vector to be identified. , among which, T coulomb Let be the Coulomb friction torque of the joint module.
10. A control device, comprising: Memory; as well as A processor coupled to the memory, the processor being configured to execute the control method as described in any one of claims 1 to 8 based on instructions stored in the memory.
11. A robotic device, comprising: Joint module; and The control device as described in claim 9 or 10 is electrically connected to the joint module.
12. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the control method as described in any one of claims 1 to 8.
13. A computer program product comprising a computer program or instructions that, when executed by a processor, implement the control method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Force control joint control method and device, robot and readable storage medium
CN113954078A