Joint motor control method and device, robot and storage medium

By presetting the to-select state and calculating the cost function value in the robot's joint motor to select the pulse control signal, the problem of low control efficiency and accuracy of the joint motor is solved, and more efficient and more accurate robot motion control is achieved.

CN119098948APending Publication Date: 2024-12-10BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202310639968.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-05-31
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

The robot's joint motor control efficiency and control accuracy are low, resulting in the inability to complete complex actions.

Method used

By presetting the vector voltage and pulses of multiple to-select states, the intersection control current is determined based on the expected joint torque and the actual joint torque, and the cost function value is calculated in each to-select state, and the pulse with the lowest cost function value is selected as the pulse Control signals to control joint motor movement.

Benefits of technology

It improves the control efficiency and accuracy of joint motors, reduces electrical energy and calculation costs, simplifies the control process, and enhances the complexity of robot movements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119098948A_ABST
    Figure CN119098948A_ABST
Patent Text Reader

Abstract

The invention relates to a joint motor control method and device, a robot and a storage medium, a plurality of to-be-selected states are preset for a joint motor, and the to-be-selected states comprise vector voltages and pulses corresponding to each other; the method comprises the following steps: determining a quadrature-axis control current according to an expected joint torque and an actual joint torque; under the vector voltage of each to-be-selected state, a cost function value is determined according to the quadrature-axis control current, preset direct-axis control current and quadrature-axis actual current and direct-axis actual current fed back by the joint motor, and the pulse of the to-be-selected state with the lowest cost function value is determined as a pulse control signal, the cost function value is used for representing the cost for realizing the expected joint moment; and controlling the joint motor to move according to the pulse control signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of robot technology, and in particular to a joint motor control method, device, robot and storage medium. Background Art

[0002] In recent years, the technology of robotics has been developing continuously, becoming more and more intelligent and automated, and the richness, stability and flexibility of actions have been improved to varying degrees. Bionic robots have multiple joints, each of which has a joint motor. The joint motor can drive the parts on both sides of the joint to move relative to each other. The robot relies on the movement of these joint motors to enable the robot to complete various actions. However, in the related technology, the control efficiency and control accuracy of the robot's joint motor are low, which makes the robot unable to complete more complex actions. Summary of the invention

[0003] In order to overcome the problems existing in the related art, the embodiments of the present disclosure provide a joint motor control method, device, robot and storage medium to solve the defects in the related art.

[0004] According to a first aspect of an embodiment of the present disclosure, a joint motor control method is provided, wherein the joint motor is preset with a plurality of to-be-selected states, wherein the to-be-selected states include mutually corresponding vector voltages and pulses; the method comprises:

[0005] Determine the quadrature-axis control current according to the expected joint torque and the actual joint torque;

[0006] Under the vector voltage of each to-be-selected state, respectively, a cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal, wherein the cost function value is used to characterize the cost of achieving the desired joint torque;

[0007] The joint motor is controlled to move according to the pulse control signal.

[0008] In a possible embodiment of the present disclosure, the cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor under the vector voltage of each to-be-selected state, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal, including:

[0009] Under the vector voltage of each to-be-selected state, the cost function value is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal of the current cycle.

[0010] In a possible embodiment of the present disclosure, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle include the quadrature-axis actual current and the direct-axis actual current at multiple sampling points in the current cycle;

[0011] The cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle under the vector voltage of each candidate state, including:

[0012] Under each vector voltage in the selected state, the cost function value of each sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of multiple sampling points in the current cycle.

[0013] In a possible embodiment of the present disclosure, under the vector voltage, according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current at the current sampling point in the current cycle, determining the cost function value of the current sampling point in the current cycle includes:

[0014] Determine the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point by using the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point and the quadrature-axis actual current and the direct-axis actual current of the current sampling point, wherein the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point are related to the vector voltage;

[0015] The cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point.

[0016] In a possible embodiment of the present disclosure, it further includes:

[0017] The expected joint torque is determined based on the expected joint state and the actual joint state in the motion control instruction.

[0018] In a possible embodiment of the present disclosure, determining the expected joint torque according to the expected joint state and the actual joint state in the motion control instruction includes:

[0019] The desired joint state and the actual joint state are input into an impedance controller to obtain a desired joint torque output by the impedance controller.

[0020] In a possible embodiment of the present disclosure, the desired joint state includes a desired joint position and a desired joint velocity; and / or,

[0021] The actual joint state includes an actual joint position and an actual joint velocity.

[0022] In a possible embodiment of the present disclosure, the method further includes:

[0023] The actual joint state, the actual joint torque, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor are obtained.

[0024] According to a second aspect of an embodiment of the present disclosure, a joint motor control device is provided, wherein the joint motor is preset with a plurality of to-be-selected states, wherein the to-be-selected states include mutually corresponding vector voltages and pulses; the device comprises:

[0025] A current module, used for determining a quadrature-axis control current according to a desired joint torque and an actual joint torque;

[0026] A pulse module, for determining a cost function value according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor under the vector voltage of each to-be-selected state, and determining the pulse of the to-be-selected state with the lowest cost function value as the pulse control signal, wherein the cost function value is used to characterize the cost of achieving the desired joint torque;

[0027] A motion module is used to control the joint motor to move according to the pulse control signal.

[0028] In a possible embodiment of the present disclosure, the pulse module is used for:

[0029] Under the vector voltage of each to-be-selected state, the cost function value is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal of the current cycle.

[0030] In a possible embodiment of the present disclosure, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle include the quadrature-axis actual current and the direct-axis actual current at multiple sampling points in the current cycle;

[0031] The pulse module is used for:

[0032] Under each vector voltage in the selected state, the cost function value of each sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of multiple sampling points in the current cycle.

[0033] In a possible embodiment of the present disclosure, the pulse module is used for:

[0034] Determine the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point by using the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point and the quadrature-axis actual current and the direct-axis actual current of the current sampling point, wherein the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point are related to the vector voltage;

[0035] The cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point.

[0036] In a possible embodiment of the present disclosure, the device further includes a torque module, and the torque module is used to:

[0037] The expected joint torque is determined based on the expected joint state and the actual joint state in the motion control instruction.

[0038] In a possible embodiment of the present disclosure, the torque module is used to:

[0039] The desired joint state and the actual joint state are input into an impedance controller to obtain a desired joint torque output by the impedance controller.

[0040] In a possible embodiment of the present disclosure, the desired joint state includes a desired joint position and a desired joint velocity; and / or,

[0041] The actual joint state includes an actual joint position and an actual joint velocity.

[0042] In a possible embodiment of the present disclosure, the device further includes an acquisition module, and the acquisition module is used to:

[0043] The actual joint state, the actual joint torque, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor are obtained.

[0044] According to a third aspect of an embodiment of the present disclosure, a robot is provided, comprising a memory and a processor, wherein the memory is used to store computer instructions executable on the processor, and the processor is used to implement the joint motor control method described in the first aspect when executing the computer instructions.

[0045] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method described in the first aspect is implemented.

[0046] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:

[0047] The joint motor control method provided by the embodiment of the present disclosure first determines the quadrature axis control current according to the expected joint torque and the actual joint torque, then respectively under the vector voltage of each candidate state preset by the joint motor, according to the quadrature axis control current, the preset direct axis control current, and the quadrature axis actual current and the direct axis actual current fed back by the joint motor, determines the cost function value, and determines the pulse of the candidate state with the lowest cost function value as the pulse control signal, and finally controls the joint motor to move according to the pulse control signal. Since the cost function value can characterize the cost of the joint motor to achieve the expected joint torque, and the pulse control signal is to select the pulse with the lowest cost function value from the pulses of the preset multiple candidate states, the way in which the joint motor generates the pulse control signal is relatively direct and simple, which reduces the cost of electric energy and calculation, avoids the complicated conversion process, and improves the control efficiency of the joint motor, and the pulse control signal is pre-configured, which is more accurate than the pulse signal obtained by temporary calculation, thereby improving the control accuracy of the joint motor, thereby improving the complexity of the robot's action. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0049] Figure 1 is a flow chart of a joint motor control method shown in an exemplary embodiment of the present disclosure;

[0050] Figure 2 is a distribution diagram of vector voltages in various candidate states shown in an exemplary embodiment of the present disclosure;

[0051] Figure 3 is a flow chart of a joint motor control method shown in an exemplary embodiment of the present disclosure;

[0052] Figure 4 is a logic diagram of determining a pulse control signal of a current cycle according to an exemplary embodiment of the present disclosure;

[0053] Figure 5 is a flow chart of a joint motor control method shown in an exemplary embodiment of the present disclosure;

[0054] Figure 6is a structural schematic diagram of a joint motor control device shown in an exemplary embodiment of the present disclosure;

[0055] Figure 7 It is a structural block diagram of a robot shown in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0056] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0057] The terms used in this disclosure are for the purpose of describing specific embodiments only and are not intended to limit the disclosure. The singular forms of "a", "said" and "the" used in this disclosure and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0058] It should be understood that although the terms first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present disclosure, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0059] In recent years, the technology of robotics has been developing continuously, becoming more and more intelligent and automated, and the richness, stability and flexibility of actions have been improved to varying degrees. Bionic robots have multiple joints, each of which is equipped with a joint motor. The joint motor can drive the parts on both sides of the joint to move relative to each other. The robot relies on the movement of these joint motors to enable the robot to complete various actions. However, in the related technology, the control efficiency and control accuracy of the robot's joint motor are low, which makes the robot unable to complete more complex actions.

[0060] Based on this, in the first aspect, at least one embodiment of the present disclosure provides a joint motor control method, please refer to the attached Figure 1 , which shows the process of the method, including steps S101 to S103.

[0061] Among them, the method can be applied to robots, for example, to legged robots such as bipedal robots or quadrupedal robots; the robot has multiple joints, each joint is provided with a joint motor, and the method can be applied to at least one joint motor of the robot, that is, the method is used to drive the joint motor to move, so as to complete the desired joint state obtained by the upper-level operation and control according to the desired action.

[0062] Exemplarily, the joint motor is preset with a plurality of candidate states, and the candidate states include mutually corresponding vector voltages and pulses. The plurality of candidate states preset with the joint motor may be as shown in the following Table 1, wherein each row in the table represents a candidate state.

[0063] Table 1: Candidate status table

[0064]

[0065] It can be seen from Table 1 that each candidate state is composed of pulses (Sa, Sb, Sc) and vector voltages (V0 to V7), wherein the distribution of the vector voltages in each candidate state in Table 1 in the two-phase stationary coordinate system is as follows: Figure 2 shown.

[0066] In step S101 , the quadrature-axis control current is determined according to the expected joint torque and the actual joint torque.

[0067] Among them, the expected joint torque can be determined in advance according to the expected joint state and the actual joint state in the motion control instruction in the following manner: the expected joint state and the actual joint state are input into the impedance controller to obtain the expected joint torque output by the impedance controller.

[0068] The expected joint state can be determined by the upper-level operation and control according to the expected action of the robot, and the expected joint state characterizes the state that the upper-level operation and control expects the joint to reach. The joint motor can feedback the joint state at a certain frequency when moving, and this state is recorded as the actual joint state. Therefore, the actual joint state fed back by the joint motor can be obtained before executing this step. Exemplarily, the expected joint state includes the expected joint position and the expected joint speed, and the actual joint state includes the actual joint position and the actual joint speed. The position error can be determined according to the expected joint position and the actual joint position, and the speed error can be determined according to the expected joint speed and the actual joint speed, and then the position error and the speed error are input into the impedance controller; the impedance controller can determine the expected joint torque based on the position error and the speed error, combined with its internal parameters and feedforward torque, etc.

[0069] Optionally, the actual joint torque fed back by the joint motor may be obtained before executing this step. The joint torque is the torque of the joint motor, the expected joint torque refers to the torque expected to be achieved by the joint motor, and the actual joint torque refers to the actual output torque fed back by the joint motor.

[0070] Exemplarily, the error between the desired joint torque and the actual joint torque can be input into the current loop controller to obtain the quadrature axis control current output by the current loop controller; wherein the current loop controller is used to track the error between the desired joint torque and the actual joint torque.

[0071] It can be understood that this step can be executed according to the sampling cycle, that is, the quadrature-axis control current is determined according to this step in each sampling cycle; or, each time the quadrature-axis control current is determined according to this step, the sampling cycle is updated.

[0072] In step S102, under the vector voltage of each selected state, the cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor, and the pulse of the selected state with the lowest cost function value is determined as the pulse control signal, wherein the cost function value is used to characterize the cost of achieving the desired joint torque.

[0073] If the candidate state with the lowest cost function value is not unique, the pulse control signal can be randomly determined from multiple candidate states with the lowest cost function values.

[0074] Among them, the cost function value is the result calculated using the cost function. Taking the model predictive control of permanent magnet synchronous motor as an example, for the design of the cost function, the traditional algorithm focuses on the tracking of the quadrature and direct axis control currents, and the actual current amplitude must be limited within the current constraint circle. This embodiment designs the cost function shown in the following formula 1, where the first two terms are used to measure the performance of different vector voltages for reference current tracking, and the last term is the current constraint term. The expression of the constraint term is shown in the following formula 2. When the predicted current value is greater than the current limit value, its value is infinite, indicating that this type of vector voltage is unavailable. On the contrary, this value is 0, and the cost function only contains the first two terms.

[0075]

[0076]

[0077] Where C is the cost function value, is the quadrature axis control current, is the direct axis control current, i q (k+1) is the actual quadrature axis current at the k+1th sampling point, i d(k+1) is the actual direct axis current at the k+1th sampling point, i q is the actual quadrature axis current, i d is the actual direct axis current, i lim is the amplitude of the current constraint circle.

[0078] Optionally, the quadrature axis actual current and direct axis actual current fed back by the joint motor can be obtained during the motor control process. The quadrature axis control current is the current value expected to be achieved on the quadrature axis of the armature winding; the direct axis control current is the current value expected to be achieved on the direct axis of the armature winding; the quadrature axis actual current is the actual current value on the quadrature axis of the armature winding; and the direct axis actual current is the actual current value on the direct axis of the armature winding.

[0079] Exemplarily, this step is performed in each sampling cycle to determine a pulse control signal in each sampling cycle; wherein, the parameter sampling of the joint motor is performed according to the sampling cycle, such as sampling the actual current of the quadrature axis, sampling the actual current of the direct axis, etc. In other words, this step determines the cost function value according to the quadrature axis control current in the current cycle, the preset direct axis control current, and the actual quadrature axis current and the actual direct axis current fed back by the joint motor in the current cycle under the vector voltage of each to-be-selected state, and determines the pulse of the to-be-selected state with the lowest cost function value as the pulse control signal of the current cycle.

[0080] For example, the cost function values ​​of the current cycle calculated under the vector voltages of the 8 candidate states in Table 1 are shown in the following Table 2. Then, the pulse of the candidate state to which the vector voltage V3 having the lowest cost function value belongs (Sa=0, Sb=1, Sc=0 in Table 1) can be determined as the pulse control signal of the current cycle.

[0081] Table 2: Cost function values ​​corresponding to different vector voltages

[0082]

[0083] Among them, the quadrature-axis actual current and direct-axis actual current fed back by the joint motor in the current cycle include the quadrature-axis actual current and direct-axis actual current of multiple sampling points in the current cycle; therefore, this step determines the cost function value according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and direct-axis actual current fed back by the joint motor in the current cycle under the vector voltage of each to-be-selected state, and can include: determining the cost function value of each sampling point in the current cycle according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and direct-axis actual current of multiple sampling points in the current cycle under the vector voltage of each to-be-selected state.

[0084] Next, combine with Figure 3Taking a certain sampling point as an example, a method for determining the cost function value of the current sampling point in the current cycle under vector voltage according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of the current sampling point in the current cycle is described, including steps S301 to S302.

[0085] In step S301, the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point, the quadrature-axis actual current and the direct-axis actual current of the current sampling point are used to determine the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point, wherein the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point are related to the vector voltage.

[0086] The current differential is as shown in the following equation 3:

[0087]

[0088] The discrete mathematical model of the permanent magnet synchronous motor is shown in the following equations 4 and 5:

[0089]

[0090]

[0091] In the formula, i d (k+1) is the direct axis current at the k+1th sampling point, i d (k) is the direct axis current at the kth sampling point, i q (k+1) is the quadrature axis current at the k+1th sampling point, i q (k) is the quadrature axis current at the kth sampling point, u d (k) is the direct axis predicted voltage of the kth sampling point (related to the vector voltage of the state to be selected), u q (k) is the quadrature axis predicted voltage at the kth sampling point (related to the vector voltage of the state to be selected), R s is the stator resistance, ω r is the rotor speed, L d is the direct-axis inductance, L q is the quadrature-axis inductance, i d is the direct axis current, i q is the quadrature axis current, ψ f is the permanent magnet flux, T s is the sampling period.

[0092] The above equations 4 and 5 can be integrated into the state space equation shown in the following equation 6:

[0093] I(k+1)=M·I(k)+N·V(k)+H

[0094] Where:

[0095] I(k)=[i d (k) i q (k)] T ,

[0096]

[0097]

[0098] In this step, the quadrature-axis predicted voltage and the direct-axis predicted voltage at the current sampling point under the action of the vector voltage can be obtained by Parker transformation based on the vector voltage and the rotor position of the motor collected by the position sensor at the current sampling point, for example, u q (k) and u d (k); then the quadrature-axis predicted voltage and direct-axis predicted voltage at the current sampling point, as well as the quadrature-axis actual current and direct-axis actual current i at the current sampling point q (k), i d (k) is input into the state space equation shown in the above equation 6 to obtain the quadrature axis predicted current and direct axis predicted current i at the next sampling point. q (k+1), i d (k+1).

[0099] In step S302, the cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point in the current cycle.

[0100] Exemplarily, the cross-axis control current in the current cycle, the preset direct-axis control current, and the cross-axis predicted current and direct-axis predicted current of the next sampling point are input into a cost function, such as the cost function shown in Formula 1 above, so as to calculate the cost function value of the current sampling point in the current cycle.

[0101] It can be understood that a candidate state with the lowest cost function value will be obtained at each sampling point in the sampling period. The number of sampling point calculations can be preset, for example, 8 times, and then a candidate state with the lowest cost function value is obtained at the first 8 sampling points in the sampling period, and the pulse corresponding to the candidate state with the lowest cost function value among the 8 candidate states is determined as the pulse control signal of the sampling period. Please refer to the attached Figure 4 , which shows the process of determining the optimal vector voltage in the current sampling period. The pulse of the to-be-selected state to which the optimal vector voltage determined in the process belongs can be determined as the pulse control signal in the current period.

[0102] It should be noted that a pulse prediction model can be pre-configured in the joint motor and enabled to have the function of executing this step. Therefore, in this step, the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current, direct-axis actual current and rotor speed fed back by the joint motor can be input into the model to obtain the pulse control signal output by the model.

[0103] In step S103, the joint motor is controlled to move according to the pulse control signal.

[0104] Exemplarily, a pulse control signal is input to an inverter of a joint motor to drive the joint motor to move.

[0105] It can be understood that what is determined in step S101 and step S102 is a pulse control signal of a sampling period, so this step controls the joint motor according to the pulse control signal within the sampling period; in other words, the method is executed once in each sampling period.

[0106] Please refer to the attached Figure 5 , which exemplarily shows a flow chart of a joint motor control method obtained by combining the above multiple embodiments. d , expected joint velocity v d , impedance controller parameter K p , K d and feedback torque τ ff , combined with the actual joint position θ and actual joint velocity v fed back by the joint motor, the desired joint torque is obtained through the impedance controller and the actual joint torque T fed back by the torque sensor e The error e t The quadrature axis control current is obtained through the torque loop controller and The actual quadrature axis current i of the joint motor feedback q And the actual direct axis current i d , and the rotor speed ω fed back by the motor rotor r The pulse prediction model is input to obtain a pulse control signal S output by the pulse prediction model, and the pulse control signal S drives the motor to run through the inverter.

[0107] The joint motor control method provided by the embodiment of the present disclosure first determines the quadrature axis control current according to the expected joint torque and the actual joint torque, then respectively under the vector voltage of each candidate state preset by the joint motor, according to the quadrature axis control current, the preset direct axis control current, and the quadrature axis actual current and the direct axis actual current fed back by the joint motor, determines the cost function value, and determines the pulse of the candidate state with the lowest cost function value as the pulse control signal, and finally controls the joint motor to move according to the pulse control signal. Since the cost function value can characterize the cost of the joint motor to achieve the expected joint torque, and the pulse control signal is to select the pulse with the lowest cost function value from the pulses of the preset multiple candidate states, the way in which the joint motor generates the pulse control signal is relatively direct and simple, which reduces the cost of electric energy and calculation, avoids the complicated conversion process, and improves the control efficiency of the joint motor, and the pulse control signal is pre-configured, which is more accurate than the pulse signal obtained by temporary calculation, thereby improving the control accuracy of the joint motor, thereby improving the complexity of the robot's action.

[0108] This method omits the complex calculation process of SVPWM (Space Vector Pulse Width Modulation) in the related technology, saving the computing resources of the electronic control chip; and compared with the current direct-axis PI controller and the current quadrature-axis PI controller in the related technology which require four adjustment parameters (i.e., the proportional coefficient and the integral coefficient of the two IP controllers), this method does not need to adjust these parameters, thus simplifying the control design and reducing the debugging burden.

[0109] According to a second aspect of the embodiment of the present disclosure, a joint motor control device is provided, wherein the joint motor is preset with a plurality of to-be-selected states, wherein the to-be-selected states include mutually corresponding vector voltages and pulses; Figure 6 , the device comprises:

[0110] A current module 601 is used to determine a quadrature axis control current according to a desired joint torque and an actual joint torque;

[0111] A pulse module 602 is used to determine a cost function value according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor under the vector voltage of each to-be-selected state, and determine the pulse of the to-be-selected state with the lowest cost function value as the pulse control signal, wherein the cost function value is used to characterize the cost of achieving the desired joint torque;

[0112] The motion module 603 is used to control the joint motor to move according to the pulse control signal.

[0113] In a possible embodiment of the present disclosure, the pulse module is used for:

[0114] Under the vector voltage of each to-be-selected state, the cost function value is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal of the current cycle.

[0115] In a possible embodiment of the present disclosure, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle include the quadrature-axis actual current and the direct-axis actual current at multiple sampling points in the current cycle;

[0116] The pulse module is used for:

[0117] Under each vector voltage in the selected state, the cost function value of each sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of multiple sampling points in the current cycle.

[0118] In a possible embodiment of the present disclosure, the pulse module is used for:

[0119] Determine the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point by using the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point and the quadrature-axis actual current and the direct-axis actual current of the current sampling point, wherein the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point are related to the vector voltage;

[0120] The cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point.

[0121] In a possible embodiment of the present disclosure, the device further includes a torque module, and the torque module is used to:

[0122] The expected joint torque is determined based on the expected joint state and the actual joint state in the motion control instruction.

[0123] In a possible embodiment of the present disclosure, the torque module is used to:

[0124] The desired joint state and the actual joint state are input into an impedance controller to obtain a desired joint torque output by the impedance controller.

[0125] In a possible embodiment of the present disclosure, the desired joint state includes a desired joint position and a desired joint velocity; and / or,

[0126] The actual joint state includes an actual joint position and an actual joint velocity.

[0127] In a possible embodiment of the present disclosure, the device further includes an acquisition module, and the acquisition module is used to:

[0128] Obtain the actual joint state, the actual joint torque, the quadrature axis actual current and the direct axis actual current fed back by the joint motor

[0129] In a third aspect, at least one embodiment of the present disclosure provides a robot, please refer to the attached Figure 7 , which shows the structure of the robot, the robot includes a memory and a processor, the memory is used to store computer instructions that can be executed on the processor, and the processor is used to control the joint motor based on the method described in any one of the first aspects when executing the computer instructions.

[0130] In a fourth aspect, at least one embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements any of the methods described in the first aspect.

[0131] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0132] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A joint motor control method, characterized in that: The joint motor is preset with a plurality of to-be-selected states, and the to-be-selected states include mutually corresponding vector voltages and pulses; the method includes: Determine the quadrature-axis control current according to the expected joint torque and the actual joint torque; Under the vector voltage of each to-be-selected state, respectively, a cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal, wherein the cost function value is used to characterize the cost of achieving the desired joint torque; The joint motor is controlled to move according to the pulse control signal.

2. The joint motor control method according to claim 1, characterized in that: The cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor under the vector voltage of each to-be-selected state, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal, including: Under the vector voltage of each to-be-selected state, the cost function value is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal of the current cycle.

3. The joint motor control method according to claim 2, characterized in that: The quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle include the quadrature-axis actual current and the direct-axis actual current at multiple sampling points in the current cycle; The cost function value is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle under the vector voltage of each candidate state, including: Under each vector voltage in the selected state, the cost function value of each sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of multiple sampling points in the current cycle.

4. The joint motor control method according to claim 3, characterized in that: The cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of the current sampling point in the current cycle under the vector voltage, including: Determine the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point by using the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point and the quadrature-axis actual current and the direct-axis actual current of the current sampling point, wherein the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point are related to the vector voltage; The cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point.

5. The joint motor control method according to claim 1, characterized in that: Also includes: The expected joint torque is determined based on the expected joint state and the actual joint state in the motion control instruction.

6. The joint motor control method according to claim 5, characterized in that: Determining the expected joint torque according to the expected joint state and the actual joint state in the motion control instruction includes: The desired joint state and the actual joint state are input into an impedance controller to obtain a desired joint torque output by the impedance controller.

7. The joint motor control method according to claim 5, characterized in that: The desired joint state includes a desired joint position and a desired joint velocity; and / or, The actual joint state includes an actual joint position and an actual joint velocity.

8. The joint motor control method according to claim 5, characterized in that: The method further comprises: The actual joint state, the actual joint torque, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor are obtained.

9. A joint motor control device, characterized in that: The joint motor is preset with a plurality of to-be-selected states, and the to-be-selected states include mutually corresponding vector voltages and pulses; the device includes: A current module, used for determining a quadrature-axis control current according to a desired joint torque and an actual joint torque; A pulse module, for determining a cost function value according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor under the vector voltage of each to-be-selected state, and determining the pulse of the to-be-selected state with the lowest cost function value as the pulse control signal, wherein the cost function value is used to characterize the cost of achieving the desired joint torque; A motion module is used to control the joint motor to move according to the pulse control signal.

10. The joint motor control device according to claim 9, characterized in that: The pulse module is used for: Under the vector voltage of each to-be-selected state, the cost function value is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle, and the pulse of the to-be-selected state with the lowest cost function value is determined as the pulse control signal of the current cycle.

11. The joint motor control device according to claim 10, characterized in that: The quadrature-axis actual current and the direct-axis actual current fed back by the joint motor in the current cycle include the quadrature-axis actual current and the direct-axis actual current at multiple sampling points in the current cycle; The pulse module is used for: Under each vector voltage in the selected state, the cost function value of each sampling point in the current cycle is determined according to the quadrature-axis control current, the preset direct-axis control current, and the quadrature-axis actual current and the direct-axis actual current of multiple sampling points in the current cycle.

12. The joint motor control device according to claim 11, characterized in that: The pulse module is used for: Determine the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point by using the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point and the quadrature-axis actual current and the direct-axis actual current of the current sampling point, wherein the quadrature-axis predicted voltage and the direct-axis predicted voltage of the current sampling point are related to the vector voltage; The cost function value of the current sampling point in the current cycle is determined according to the quadrature-axis control current in the current cycle, the preset direct-axis control current, and the quadrature-axis predicted current and the direct-axis predicted current of the next sampling point.

13. The joint motor control device according to claim 9, characterized in that: The device further comprises a torque module, wherein the torque module is used for: The expected joint torque is determined based on the expected joint state and the actual joint state in the motion control instruction.

14. The joint motor control device according to claim 13, characterized in that: The torque module is used to: The desired joint state and the actual joint state are input into an impedance controller to obtain a desired joint torque output by the impedance controller.

15. The joint motor control device according to claim 13, characterized in that: The desired joint state includes a desired joint position and a desired joint velocity; and / or, The actual joint state includes an actual joint position and an actual joint velocity.

16. The joint motor control device according to claim 13, characterized in that: The device also includes an acquisition module, which is used to The actual joint state, the actual joint torque, the quadrature-axis actual current and the direct-axis actual current fed back by the joint motor are obtained.

17. A robot, characterized in that: The robot comprises a memory and a processor, wherein the memory is used to store computer instructions executable on the processor, and the processor is used to implement the joint motor control method according to any one of claims 1 to 8 when executing the computer instructions.

18. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Double salient permanent magnet (DSPM) current control method based on model prediction

    CN103746624A

  • Model prediction-based current control method for flux-switching permanent magnet synchronous machine

    CN103746629A

  • Model prediction-based torque control method for flux-switching permanent magnet synchronous machine

    CN103762926A

  • Weight-coefficient-free double-motor driving system predictive torque control method

    CN111585476A

  • Permanent magnet synchronous motor three-vector model predictive torque control method based on voltage vector screening and optimization

    CN111800050A