Joint motor control method and device, robot and storage medium
Patent Information
- Application Number
- CN202310639914.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-31
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2043-05-31
AI Technical Summary
但是相关技术中,机器人的关节电机的控制精度较低,造成机器人无法完成较为复杂的动作
[0043]本公开实施例所提供的关节电机控制方法,首先根据运动控制指令中期望关节状态和实际关节状态,确定期望关节力矩,然后对所述关节电机反馈的实际关节力矩进行滤波处理,得到所述实际关节力矩的滤波结果,最后根据所述期望关节力矩和所述实际关节力矩的滤波结果,确定交轴控制电流,并根据所述交轴控制电流和预设的直轴控制电流,控制所述关节电机进行运动。由于关节电机反馈的实际关节力矩经过滤波处理,因此结合期望关节力矩和实际关节力矩的滤波结果所得到的交轴控制电流的精度得到提高,进而使得关节电机的控制进度提高,最终提高了机器人动作的复杂度。
Smart Images

Figure CN119115919B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of robotics technology, specifically to a joint motor control method, device, robot, and storage medium. Background Technology
[0002] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Bionic robots have multiple joints, each equipped with a joint motor. These joint motors drive relative movement between the parts on either side of the joint, enabling the robot to perform various actions. However, in related technologies, the control precision of the robot's joint motors is relatively low, preventing the robot from performing more complex movements. Summary of the Invention
[0003] To overcome the problems existing in the related technologies, this disclosure provides a joint motor control method, device, robot, and storage medium to solve the defects in the related technologies.
[0004] According to a first aspect of the present disclosure, a joint motor control method is provided, the method comprising:
[0005] The desired joint torque is determined based on the desired joint state and the actual joint state in the motion control command.
[0006] The actual joint torque fed back by the joint motor is filtered to obtain the filtered result of the actual joint torque;
[0007] Based on the filtering results of the desired joint torque and the actual joint torque, the quadrature axis control current is determined, and the joint motor is controlled to move according to the quadrature axis control current and the preset direct axis control current.
[0008] In one possible embodiment of this disclosure, filtering the actual joint torque fed back by the joint motor to obtain the filtered result of the actual joint torque includes:
[0009] The actual joint torque fed back by the joint motor is input to a pre-configured low-pass filter to obtain the filtering result output by the low-pass filter.
[0010] In one possible embodiment of this disclosure, determining the desired joint torque based on the desired joint state and the actual joint state in the motion control command includes:
[0011] The desired joint state and the actual joint state are input to the impedance controller to obtain the desired joint torque output by the impedance controller.
[0012] In one possible embodiment of this disclosure, the desired joint state includes a desired joint position and a desired joint velocity; and / or,
[0013] The actual joint state includes the actual joint position and the actual joint velocity.
[0014] In one possible embodiment of this disclosure, determining the quadrature-axis control current based on the filtered result of the desired joint torque and the actual joint torque includes:
[0015] The filtered results of the desired joint torque and the actual joint torque are input to the torque loop controller to obtain the quadrature axis control current output by the current loop controller.
[0016] In one possible embodiment of this disclosure, controlling the joint motor to move according to the quadrature-axis control current and the preset direct-axis control current includes:
[0017] The quadrature axis control current and the actual quadrature axis current are input to the current loop quadrature axis controller to obtain the quadrature axis control voltage output by the current loop quadrature axis controller;
[0018] The direct-axis control current and the actual direct-axis current are input to the current loop direct-axis controller to obtain the direct-axis control voltage output by the current loop direct-axis controller;
[0019] The joint motor is driven to move according to the quadrature axis control voltage and the direct axis control voltage.
[0020] In one possible embodiment of this disclosure, the method further includes:
[0021] The actual joint state, actual joint torque, actual quadrature axis current, and actual direct axis current fed back by the joint motor are obtained.
[0022] According to a second aspect of the present disclosure, a joint motor control device is provided, the device comprising:
[0023] The torque module is used to determine the desired joint torque based on the desired joint state and the actual joint state in the motion control command.
[0024] The filtering module is used to filter the actual joint torque fed back by the joint motor to obtain the filtered result of the actual joint torque;
[0025] The motion module is used to determine the quadrature axis control current based on the filtering results of the desired joint torque and the actual joint torque, and to control the joint motor to move based on the quadrature axis control current and the preset direct axis control current.
[0026] In one possible embodiment of this disclosure, the filtering module is used for:
[0027] The actual joint torque fed back by the joint motor is input to a pre-configured low-pass filter to obtain the filtering result output by the low-pass filter.
[0028] In one possible embodiment of this disclosure, the torque module is used for:
[0029] The desired joint state and the actual joint state are input to the impedance controller to obtain the desired joint torque output by the impedance controller.
[0030] In one possible embodiment of this disclosure, the desired joint state includes a desired joint position and a desired joint velocity; and / or,
[0031] The actual joint state includes the actual joint position and the actual joint velocity.
[0032] In one possible embodiment of this disclosure, the motion module is used for:
[0033] The filtered results of the desired joint torque and the actual joint torque are input to the torque loop controller to obtain the quadrature axis control current output by the current loop controller.
[0034] In one possible embodiment of this disclosure, the motion module is used for:
[0035] The quadrature axis control current and the actual quadrature axis current are input to the current loop quadrature axis controller to obtain the quadrature axis control voltage output by the current loop quadrature axis controller;
[0036] The direct-axis control current and the actual direct-axis current are input to the current loop direct-axis controller to obtain the direct-axis control voltage output by the current loop direct-axis controller;
[0037] The joint motor is driven to move according to the quadrature axis control voltage and the direct axis control voltage.
[0038] In one possible embodiment of this disclosure, the apparatus further includes an acquisition module, the acquisition module being configured to:
[0039] The actual joint state, actual joint torque, actual quadrature axis current, and actual direct axis current fed back by the joint motor are obtained.
[0040] According to a third aspect of the present disclosure, a robot is provided, the robot including a memory and a processor, the memory being used to store computer instructions executable on the processor, and the processor being used to implement the joint motor control method of the first aspect when executing the computer instructions.
[0041] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.
[0042] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:
[0043] The joint motor control method provided in this disclosure first determines the desired joint torque based on the desired joint state and the actual joint state in the motion control command. Then, it filters the actual joint torque fed back by the joint motor to obtain a filtered result. Finally, it determines the quadrature-axis control current based on the filtered result of the desired and actual joint torques, and controls the joint motor to move based on the quadrature-axis control current and a preset direct-axis control current. Because the actual joint torque fed back by the joint motor is filtered, the accuracy of the quadrature-axis control current obtained by combining the filtered result of the desired and actual joint torques is improved, thereby increasing the control progress of the joint motor and ultimately improving the complexity of the robot's movements. Attached Figure Description
[0044] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0045] Figure 1 This is a flowchart illustrating a joint motor control method according to an exemplary embodiment of this disclosure;
[0046] Figure 2 This is a flowchart illustrating a joint motor control method according to an exemplary embodiment of the present disclosure;
[0047] Figure 3 This is a schematic diagram of the structure of a joint motor control device shown in an exemplary embodiment of the present disclosure;
[0048] Figure 4 This is a structural block diagram of a robot illustrated in an exemplary embodiment of this disclosure. Detailed Implementation
[0049] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0050] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0051] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0052] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Bionic robots have multiple joints, each equipped with a joint motor. These joint motors drive relative movement between the parts on either side of the joint, enabling the robot to perform various actions. However, in related technologies, the control precision of the robot's joint motors is relatively low, preventing the robot from performing more complex movements.
[0053] Based on this, in a first aspect, at least one embodiment of this disclosure provides a joint motor control method, please refer to the appendix. Figure 1 It illustrates the process of the method, including steps S101 to S103.
[0054] This method can be applied to robots, such as bipedal or quadrupedal robots. The robot has multiple joints, each equipped with a joint motor. This method can be applied to each joint motor of the robot, or to at least one joint motor. That is, the method is used to drive the joint motor to move in order to complete the desired joint state obtained by the upper-level motion control based on the desired action.
[0055] In step S101, the desired joint torque is determined based on the desired joint state and the actual joint state in the motion control command.
[0056] The desired joint state can be the joint state controlled by this method, determined by the upper-level motion control based on the robot's desired action. The joint motors can feed back the joint state at a certain frequency during movement; this state is recorded as the actual joint state. Therefore, the actual joint state fed back by the joint motors can be obtained before executing this step. The joint torque is the torque of the joint motors, and the desired joint torque refers to the torque that the joint motors are expected to achieve.
[0057] For example, an impedance controller can be used to determine the desired joint torque. In this step, the desired joint state and the actual joint state are input to the impedance controller to obtain the desired joint torque output by the impedance controller. For instance, the desired joint state includes the desired joint position and the desired joint velocity, and the actual joint state includes the actual joint position and the actual joint velocity. A position error can be determined based on the desired joint position and the actual joint position, and a velocity error can be determined based on the desired joint velocity and the actual joint velocity. Then, the position error and velocity error are input to the impedance controller. The impedance controller can determine the desired joint torque based on the position error and velocity error, combined with its internal parameters and feedforward torque, etc.
[0058] In step S102, the actual joint torque fed back by the joint motor is filtered to obtain the filtered result of the actual joint torque.
[0059] Optionally, a torque sensor is configured on the joint motor. The torque sensor feeds back the actual joint torque at a certain frequency, so the actual joint torque fed back by the joint motor can be obtained before performing this step. The joint torque is the torque of the joint motor, and the actual joint torque refers to the actual torque achieved by the joint motor.
[0060] For example, the actual joint torque fed back by the joint motor is input to a pre-configured low-pass filter to obtain the filtering result output by the low-pass filter.
[0061] The low-pass filter can be an infinite-impulse response (IIR) digital filter. The original transfer function of the IIR filter is given by Equation 1 below:
[0062]
[0063] Where z is the discrete time domain, and a, b, M, and N are adjustable parameters.
[0064] The difference equation of Equation 1 above is Equation 2 below:
[0065]
[0066] In the formula, x is the system state (i.e., the actual joint torque), y is the system output (i.e., the filtering result), and a, b, M, and N are adjustable parameters.
[0067] In this embodiment, the transfer function of Equation 1 above can be expressed in the general form shown in Equation 3 below:
[0068]
[0069] In the formula, z is a variable, and a, b, and M are adjustable parameters.
[0070] The difference equation of equation 3 above is given by equation 4 below:
[0071] y(n)=b0x(n)+b1x(n-1)+b2x(n-2)-a1y(n-1)-a2y(n-2)
[0072] In the formula, x is the system state (i.e., the actual joint torque), y is the system output (i.e., the filtering result), and a1, a2, b0, b1, and b2 are adjustable parameters.
[0073] A low-pass filter can be designed based on Equation 4 above to filter the actual joint torque fed back by the torque sensor.
[0074] In step S103, the quadrature axis control current is determined based on the desired joint torque and the filtering result of the actual joint torque, and the joint motor is controlled to move according to the quadrature axis control current and the preset direct axis control current.
[0075] Wherein, the quadrature axis control current is the desired current value to be achieved on the quadrature axis of the armature winding; the direct axis control current is the desired current value to be achieved on the direct axis of the armature winding.
[0076] For example, determining the cross-axis control current based on the filtered result of the desired joint torque and the actual joint torque may include: inputting the filtered result of the desired joint torque and the actual joint torque to the torque loop controller to obtain the cross-axis control current output by the current loop controller.
[0077] For example, controlling the joint motor to move according to the quadrature axis control current and the preset direct axis control current may include:
[0078] First, the quadrature-axis control current and the actual quadrature-axis current are input to the current loop quadrature-axis controller to obtain the quadrature-axis control voltage output by the current loop quadrature-axis controller. Prior to this step, the actual quadrature-axis current fed back from the articulated motor can be obtained. The actual quadrature-axis current is the actual current value on the quadrature axis of the armature winding. The quadrature-axis control voltage is the desired voltage value to be achieved on the quadrature axis of the armature winding.
[0079] Next, the direct-axis control current and the actual direct-axis current are input to the current loop direct-axis controller to obtain the direct-axis control voltage output by the current loop direct-axis controller. Prior to this step, the actual direct-axis current fed back by the articulated motor can be obtained. The actual direct-axis current is the actual current value on the direct axis of the armature winding. The direct-axis control voltage is the desired voltage value to be achieved on the direct axis of the armature winding.
[0080] Finally, the joint motor is driven to move according to the quadrature axis control voltage and the direct axis control voltage.
[0081] Please refer to the appendix. Figure 2 The flowchart of the joint motor control method obtained by combining the above embodiments is illustrated as an example. In this method, the upper-level motion control sends the desired joint position θ. d Expected joint velocity v d Impedance controller parameter K p K d and feedback torque τ ff By combining the actual joint position θ and actual joint velocity v fed back by the joint motor, the desired joint torque is obtained through an impedance controller. The actual joint torque T fed back by the torque sensor e T obtained after filtering by a low-pass filter ed error e t The quadrature-axis control current is obtained through the torque loop controller. and Combined with the actual quadrature-axis current i fed back from the joint motor q and direct-axis actual current i d The AC and DC axis control voltages U are obtained through the AC and DC axis current loop controller. q and U d U q and U d The three-phase voltage obtained through pulse width modulation is used to drive the motor through the inverter.
[0082] This method takes the desired joint torque as input, combines a torque sensor and a low-pass filtering algorithm, and introduces a torque loop controller in the joint electronic control layer to dynamically adjust the desired joint torque, thus solving the shortcomings of existing joint torque processing that is not timely or accurate and has low torque control bandwidth.
[0083] The joint motor control method provided in this disclosure first determines the desired joint torque based on the desired joint state and the actual joint state in the motion control command. Then, it filters the actual joint torque fed back by the joint motor to obtain a filtered result. Finally, it determines the quadrature-axis control current based on the desired joint torque and the filtered result of the actual joint torque, and controls the joint motor to move based on the quadrature-axis control current and a preset direct-axis control current. Because the actual joint torque fed back by the joint motor is filtered, the accuracy of the quadrature-axis control current obtained by combining the filtered result of the desired joint torque and the actual joint torque is improved, thereby increasing the control progress of the joint motor and ultimately improving the complexity of the robot's movements.
[0084] According to a second aspect of the embodiments of this disclosure, a joint motor control device is provided; please refer to the attached document. Figure 3 The device includes:
[0085] The torque module 301 is used to determine the desired joint torque based on the desired joint state and the actual joint state in the motion control command.
[0086] The filtering module 302 is used to filter the actual joint torque fed back by the joint motor to obtain the filtered result of the actual joint torque;
[0087] The motion module 303 is used to determine the quadrature axis control current based on the desired joint torque and the filtering result of the actual joint torque, and to control the joint motor to move based on the quadrature axis control current and the preset direct axis control current.
[0088] In one possible embodiment of this disclosure, the filtering module is used for:
[0089] The actual joint torque fed back by the joint motor is input to a pre-configured low-pass filter to obtain the filtering result output by the low-pass filter.
[0090] In one possible embodiment of this disclosure, the torque module is used for:
[0091] The desired joint state and the actual joint state are input to the impedance controller to obtain the desired joint torque output by the impedance controller.
[0092] In one possible embodiment of this disclosure, the desired joint state includes a desired joint position and a desired joint velocity; and / or,
[0093] The actual joint state includes the actual joint position and the actual joint velocity.
[0094] In one possible embodiment of this disclosure, the motion module is used for:
[0095] The filtered results of the desired joint torque and the actual joint torque are input to the torque loop controller to obtain the quadrature axis control current output by the current loop controller.
[0096] In one possible embodiment of this disclosure, the motion module is used for:
[0097] The quadrature axis control current and the actual quadrature axis current are input to the current loop quadrature axis controller to obtain the quadrature axis control voltage output by the current loop quadrature axis controller;
[0098] The direct-axis control current and the actual direct-axis current are input to the current loop direct-axis controller to obtain the direct-axis control voltage output by the current loop direct-axis controller;
[0099] The joint motor is driven to move according to the quadrature axis control voltage and the direct axis control voltage.
[0100] In one possible embodiment of this disclosure, the apparatus further includes an acquisition module, the acquisition module being configured to:
[0101] The actual joint state, actual joint torque, actual quadrature axis current, and actual direct axis current fed back by the joint motor are obtained.
[0102] Thirdly, at least one embodiment of this disclosure provides a robot, please refer to the appendix. Figure 4 The diagram illustrates the structure of the robot, which includes a memory and a processor. The memory stores computer instructions that can run on the processor, and the processor controls the joint motors based on the method described in any of the first aspects when executing the computer instructions.
[0103] Fourthly, at least one embodiment of this disclosure provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any of the first aspects.
[0104] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0105] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A joint motor control method, characterized in that, The method includes: The desired joint torque is determined based on the desired joint state and the actual joint state in the motion control command. The actual joint torque fed back by the joint motor is filtered to obtain the filtered result of the actual joint torque; Based on the filtering results of the desired joint torque and the actual joint torque, the quadrature axis control current is determined, and the joint motor is controlled to move according to the quadrature axis control current and the preset direct axis control current. The step of determining the desired joint torque based on the desired joint state and the actual joint state in the motion control command includes: The desired joint state and the actual joint state are input to the impedance controller to obtain the desired joint torque output by the impedance controller; The step of determining the quadrature axis control current based on the filtering results of the desired joint torque and the actual joint torque includes: The filtered results of the desired joint torque and the actual joint torque are input to the torque loop controller to obtain the quadrature axis control current output by the torque loop controller.
2. The joint motor control method according to claim 1, characterized in that, The step of filtering the actual joint torque fed back by the joint motor to obtain the filtered result of the actual joint torque includes: The actual joint torque fed back by the joint motor is input to a pre-configured low-pass filter to obtain the filtering result output by the low-pass filter.
3. The joint motor control method according to claim 1, characterized in that, The desired joint state includes the desired joint position and the desired joint velocity; and / or, The actual joint state includes the actual joint position and the actual joint velocity.
4. The joint motor control method according to claim 1, characterized in that, The step of controlling the joint motor to move according to the quadrature axis control current and the preset direct axis control current includes: The quadrature axis control current and the actual quadrature axis current are input to the current loop quadrature axis controller to obtain the quadrature axis control voltage output by the current loop quadrature axis controller; The direct-axis control current and the actual direct-axis current are input to the current loop direct-axis controller to obtain the direct-axis control voltage output by the current loop direct-axis controller; The joint motor is driven to move according to the quadrature axis control voltage and the direct axis control voltage.
5. The joint motor control method according to claim 4, characterized in that, The method further includes: The actual joint state, actual joint torque, actual quadrature axis current, and actual direct axis current fed back by the joint motor are obtained.
6. A joint motor control device, characterized in that, The device includes: The torque module is used to determine the desired joint torque based on the desired joint state and the actual joint state in the motion control command. The filtering module is used to filter the actual joint torque fed back by the joint motor to obtain the filtered result of the actual joint torque; The motion module is used to determine the quadrature axis control current based on the filtering results of the desired joint torque and the actual joint torque, and to control the joint motor to move based on the quadrature axis control current and the preset direct axis control current. The torque module is used for: The desired joint state and the actual joint state are input to the impedance controller to obtain the desired joint torque output by the impedance controller; The motion module is used for: The filtered results of the desired joint torque and the actual joint torque are input to the torque loop controller to obtain the quadrature axis control current output by the torque loop controller.
7. The joint motor control device according to claim 6, characterized in that, The filtering module is used for: The actual joint torque fed back by the joint motor is input to a pre-configured low-pass filter to obtain the filtering result output by the low-pass filter.
8. The joint motor control device according to claim 6, characterized in that, The desired joint state includes the desired joint position and the desired joint velocity; and / or, The actual joint state includes the actual joint position and the actual joint velocity.
9. The joint motor control device according to claim 6, characterized in that, The motion module is used for: The quadrature axis control current and the actual quadrature axis current are input to the current loop quadrature axis controller to obtain the quadrature axis control voltage output by the current loop quadrature axis controller; The direct-axis control current and the actual direct-axis current are input to the current loop direct-axis controller to obtain the direct-axis control voltage output by the current loop direct-axis controller; The joint motor is driven to move according to the quadrature axis control voltage and the direct axis control voltage.
10. The joint motor control device according to claim 9, characterized in that, The device further includes an acquisition module, the acquisition module being used for: The actual joint state, actual joint torque, actual quadrature axis current, and actual direct axis current fed back by the joint motor are obtained.
11. A robot, characterized in that, The robot includes a memory and a processor. The memory stores computer instructions that can be executed on the processor, and the processor implements the joint motor control method of any one of claims 1 to 5 when executing the computer instructions.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method of any one of claims 1 to 5.
Citation Information
Patent Citations
Load disturbance compensation device and method of permanent magnet synchronous motor
CN103997272A
Parameter recognition method for permanent magnet synchronous motor of electric vehicle
CN110890855A