Robot ankle motion control method and device, readable storage medium and robot

CN117773927BActive Publication Date: 2026-10-30UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311811613.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-25
Publication Date
2026-10-30
Estimated Expiration
2043-12-25

AI Technical Summary

Technical Problem

[0004]有鉴于此,本申请实施例提供了一种机器人脚踝运动控制方法、装置、计算机可读存储介质及机器人,以解决现有技术中存在的对机器人的脚踝的角速度进行控制时,控制效率较低,难以满足实际的任务需求的问题

Benefits of technology

[0058]本申请实施例与现有技术相比存在的有益效果是:本申请实施例获取机器人的脚踝的期望角速度;确定所述脚踝的空间结构;根据所述脚踝的空间结构建立第一速度转换关系;其中,所述第一速度转换关系为所述脚踝的角速度与直线电机的线速度之间的转换关系;基于所述第一速度转换关系,根据所述期望角速度确定所述直线电机的期望线速度;按照所述期望线速度控制所述直线电机进行运动,以驱动所述脚踝进行运动。通过本申请实施例,将机器人的脚踝的角速度转换为脚踝的直线电机的线速度,通过对直线电机的线速度进行控制来实现对于脚踝的角速度的控制,具有较高的控制效率,有助于满足实际的任务需求。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117773927B_ABST
    Figure CN117773927B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of robots, and particularly relates to a robot ankle motion control method and device, a computer readable storage medium and a robot. The method comprises the following steps: obtaining a desired angular velocity of a robot ankle; determining a spatial structure of the ankle; establishing a first speed conversion relationship according to the spatial structure of the ankle; wherein the first speed conversion relationship is a conversion relationship between the angular velocity of the ankle and the linear velocity of a linear motor; determining a desired linear velocity of the linear motor according to the desired angular velocity based on the first speed conversion relationship; and controlling the linear motor to move according to the desired linear velocity to drive the ankle to move. According to the application, the angular velocity of the ankle of the robot is converted into the linear velocity of the linear motor of the ankle, the linear velocity of the linear motor is controlled to realize the control of the angular velocity of the ankle, the control efficiency is high, and the actual task requirements can be met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of robotics technology, and in particular relates to a method, device, computer-readable storage medium, and robot for controlling the ankle movement of a robot. Background Technology

[0002] During the robot's task execution, it is sometimes necessary to control the angular velocity of the robot's ankles to enable it to complete the desired task.

[0003] However, the ankle structure of humanoid robots is often relatively complex, making them difficult to control. Current technologies often rely on complex algorithms for control, resulting in low efficiency and failing to meet practical task requirements. Summary of the Invention

[0004] In view of this, embodiments of this application provide a robot ankle motion control method, device, computer-readable storage medium, and robot to solve the problem that the control efficiency is low and it is difficult to meet the actual task requirements when controlling the angular velocity of the robot's ankle in the prior art.

[0005] A first aspect of this application provides a robot ankle motion control method, which may include:

[0006] Obtain the desired angular velocity of the robot's ankle;

[0007] Determine the spatial structure of the ankle;

[0008] A first velocity conversion relationship is established based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor;

[0009] Based on the first speed conversion relationship, the desired linear velocity of the linear motor is determined according to the desired angular velocity;

[0010] The linear motor is controlled to move according to the desired linear velocity in order to drive the ankle to move.

[0011] In one specific implementation of the first aspect, after controlling the linear motor to move according to the desired linear velocity to drive the ankle to move, it may further include:

[0012] Obtain the measured linear velocity of the linear motor;

[0013] A second velocity conversion relationship is established based on the spatial structure of the ankle; wherein, the second velocity conversion relationship is the conversion relationship between the linear velocity of the linear motor and the angular velocity of the ankle;

[0014] Based on the second velocity conversion relationship, the estimated angular velocity of the ankle is determined according to the measured linear velocity;

[0015] The state of the robot's center of mass is estimated based on the estimated angular velocity, and the state estimation result is obtained.

[0016] In one specific implementation of the first aspect, the first speed conversion relationship can be a first speed conversion analytical expression, which takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output.

[0017] The determination of the desired linear velocity of the ankle linear motor based on the desired angular velocity according to the first velocity conversion relationship may include:

[0018] The desired angular velocity is substituted into the first velocity conversion expression as input for calculation, and the desired linear velocity is determined based on the calculated output.

[0019] In one specific implementation of the first aspect, the first speed conversion relationship can be a first conversion relationship correspondence table, which records the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor.

[0020] The determination of the desired linear velocity of the ankle linear motor based on the desired angular velocity according to the first velocity conversion relationship may include:

[0021] Look up the linear velocity corresponding to the desired angular velocity in the first conversion relationship correspondence table;

[0022] The linear velocity corresponding to the desired angular velocity, which is found in the first conversion relationship correspondence table, is determined as the desired linear velocity.

[0023] In one specific implementation of the first aspect, before querying the linear velocity corresponding to the desired angular velocity in the first conversion relationship correspondence table, the method may further include:

[0024] A first velocity conversion analytical expression is established based on the spatial structure of the ankle. The first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output.

[0025] The angular velocities of the ankle are used as inputs and substituted into the first velocity conversion formula for calculation. The corresponding linear velocities of the linear motor are determined based on the calculated outputs.

[0026] Based on the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor, a first conversion relationship correspondence table is established.

[0027] In one specific implementation of the first aspect, the first speed conversion relationship can be a first speed conversion model, which is a pre-trained neural network model. The first speed conversion model takes the angular velocity of the ankle as the model input and the linear velocity of the linear motor as the model output.

[0028] The determination of the desired linear velocity of the ankle linear motor based on the desired angular velocity according to the first velocity conversion relationship may include:

[0029] The desired angular velocity is input into the first velocity conversion model for processing, and the desired linear velocity is determined based on the model output after processing by the first velocity conversion model.

[0030] In one specific implementation of the first aspect, before inputting the desired angular velocity into the first velocity conversion model for processing, it may further include:

[0031] A first velocity conversion analytical expression is established based on the spatial structure of the ankle. The first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output.

[0032] Based on the first velocity conversion analytical expression, a preset number of training samples are constructed, and each training sample includes a set of corresponding angular velocity and linear velocity.

[0033] Using the angular velocity from the training samples as input and the corresponding linear velocity as the expected output, the initial neural network model is trained to obtain the first velocity conversion model after training.

[0034] A second aspect of this application provides a robotic ankle motion control device, which may include:

[0035] The desired angular velocity acquisition module is used to acquire the desired angular velocity of the robot's ankle.

[0036] The first velocity conversion relationship establishment module is used to determine the spatial structure of the ankle and establish a first velocity conversion relationship based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor;

[0037] A desired linear velocity determination module is used to determine the desired linear velocity of the linear motor based on the first velocity conversion relationship and the desired angular velocity.

[0038] A motion control module is used to control the linear motor to move according to the desired linear velocity, so as to drive the ankle to move.

[0039] In one specific implementation of the second aspect, the robot ankle motion control device may further include:

[0040] A linear velocity measurement module is used to acquire the linear velocity of the linear motor.

[0041] The second velocity conversion relationship establishment module is used to establish a second velocity conversion relationship based on the spatial structure of the ankle; wherein, the second velocity conversion relationship is the conversion relationship between the linear velocity of the linear motor and the angular velocity of the ankle;

[0042] An estimated angular velocity determination module is used to determine the estimated angular velocity of the ankle based on the measured linear velocity according to the second velocity conversion relationship.

[0043] The state estimation module is used to estimate the state of the robot's center of mass based on the estimated angular velocity, and obtain the state estimation result.

[0044] In one specific implementation of the second aspect, the first speed conversion relationship can be a first speed conversion analytical expression, which takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output.

[0045] The desired linear velocity determination module may include:

[0046] The analysis unit is used to substitute the desired angular velocity as an input into the first velocity conversion analytical expression for calculation, and to determine the desired linear velocity based on the calculated output.

[0047] In one specific implementation of the second aspect, the first speed conversion relationship can be a first conversion relationship correspondence table, which records the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor.

[0048] The desired linear velocity determination module may include:

[0049] The lookup unit is used to look up the linear velocity corresponding to the desired angular velocity in the first conversion relationship correspondence table; and to determine the linear velocity corresponding to the desired angular velocity found in the first conversion relationship correspondence table as the desired linear velocity.

[0050] In one specific implementation of the second aspect, the first velocity conversion relationship establishment module can be specifically used to: establish a first velocity conversion analytical expression based on the spatial structure of the ankle, wherein the first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output; substitute each angular velocity of the ankle as the input into the first velocity conversion analytical expression for calculation, and determine the corresponding linear velocities of the linear motor based on the calculated output; and establish a first conversion relationship correspondence table based on the correspondence between each angular velocity of the ankle and each linear velocity of the linear motor.

[0051] In one specific implementation of the second aspect, the first speed conversion relationship can be a first speed conversion model, which is a pre-trained neural network model. The first speed conversion model takes the angular velocity of the ankle as the model input and the linear velocity of the linear motor as the model output.

[0052] The desired linear velocity determination module may include:

[0053] The model processing unit is used to input the desired angular velocity into the first velocity conversion model for processing, and to determine the desired linear velocity based on the model output after processing by the first velocity conversion model.

[0054] In one specific implementation of the second aspect, the first velocity conversion relationship establishment module can be specifically used to: establish a first velocity conversion analytical expression based on the spatial structure of the ankle, wherein the first velocity conversion analytical expression takes the angular velocity of the ankle as input and the linear velocity of the linear motor as output; construct a preset number of training samples based on the first velocity conversion analytical expression, wherein each training sample includes a set of corresponding angular velocities and linear velocities; train the initial neural network model with the angular velocity in the training samples as input and the corresponding linear velocity as the expected output to obtain the trained first velocity conversion model.

[0055] A third aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above-described robot ankle motion control methods.

[0056] A fourth aspect of this application provides a robot including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of any of the above-described robot ankle movement control methods.

[0057] The fifth aspect of this application provides a computer program product that, when run on a robot, causes the robot to perform the steps of any of the above-described robot ankle motion control methods.

[0058] The beneficial effects of this application embodiment compared with the prior art are as follows: This application embodiment obtains the desired angular velocity of the robot's ankle; determines the spatial structure of the ankle; establishes a first velocity conversion relationship based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor; based on the first velocity conversion relationship, determines the desired linear velocity of the linear motor according to the desired angular velocity; and controls the linear motor to move according to the desired linear velocity to drive the ankle to move. Through this application embodiment, the angular velocity of the robot's ankle is converted into the linear velocity of the linear motor of the ankle, and the control of the linear velocity of the linear motor is used to control the angular velocity of the ankle, which has high control efficiency and helps to meet the actual task requirements. Attached Figure Description

[0059] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0060] Figure 1 This is a flowchart of one embodiment of a robot ankle motion control method in this application.

[0061] Figure 2 This is a schematic diagram of a parallel ankle structure;

[0062] Figure 3 A schematic flowchart for estimating the state of a robot's center of mass;

[0063] Figure 4 This is a structural diagram of one embodiment of a robot ankle motion control device according to the present application.

[0064] Figure 5 This is a schematic block diagram of a robot according to an embodiment of this application. Detailed Implementation

[0065] To make the inventive objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0066] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0067] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0068] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0069] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrases "if determined" or "if [described condition or event] is detected" may be interpreted, depending on the context, as "once determined," "in response to determination," "once [described condition or event] is detected," or "in response to detection of [described condition or event]."

[0070] Furthermore, in the description of this application, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0071] During the robot's task execution, it is sometimes necessary to control the angular velocity of the robot's ankles to enable it to complete the desired task.

[0072] However, the ankle structure of humanoid robots is often relatively complex, making them difficult to control. Current technologies often rely on complex algorithms or models for control, resulting in low efficiency and failing to meet practical task requirements.

[0073] In this embodiment, the angular velocity of the robot's ankle can be converted into the linear velocity of the linear motor of the ankle. By controlling the linear velocity of the linear motor, the angular velocity of the ankle can be controlled, which has high control efficiency and helps to meet the actual task requirements.

[0074] The execution subject of this application embodiment is a robot, including but not limited to any humanoid robot or other robot with an ankle structure.

[0075] Please see Figure 1 One embodiment of a robot ankle motion control method in this application may include:

[0076] Step S101: Obtain the desired angular velocity of the robot's ankle.

[0077] In the embodiments of this application, the angular velocity of the ankle may include, but is not limited to, pitch angular velocity and / or roll angular velocity.

[0078] The desired angular velocity is the angular velocity that the ankle needs to achieve to complete the desired task. It can be obtained in advance by performing motion planning on the ankle using any existing motion planning algorithm. This application does not specifically limit it.

[0079] Step S102: Determine the spatial structure of the ankle and establish the first velocity conversion relationship based on the spatial structure of the ankle.

[0080] The first speed conversion relationship is a pre-established conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor. A linear motor is a transmission device that directly converts electrical energy into linear motion mechanical energy without any intermediate conversion mechanism. In this embodiment, the angular velocity of the ankle can be controlled by the linear motion of the linear motor. The desired linear velocity of the linear motor is the linear velocity of the linear motor that makes the angular velocity of the ankle reach the desired angular velocity.

[0081] In this embodiment of the application, a first velocity conversion relationship can be established in advance. After obtaining the desired angular velocity of the ankle, the desired linear velocity of the linear motor of the ankle can be determined based on the first velocity conversion relationship and the desired angular velocity.

[0082] Specifically, when establishing the first velocity conversion relationship, the spatial structure of the ankle can be determined first, and then the first velocity conversion relationship can be established based on the spatial structure of the ankle.

[0083] Figure 2A schematic diagram of a possible parallel ankle structure is shown. As shown, the origin of the ankle (denoted as O) is the first passive ball joint located on the footplate, which is connected to the support frame. The forward direction of the ankle is the positive x-axis, the leftward direction of the ankle (i.e., rotating the forward direction of the ankle counterclockwise by 90 degrees in the horizontal plane) is the positive y-axis, and the vertically upward direction is the positive z-axis. The support frame has two parallel motion axes arranged in the vertical direction, and two linear motors move linearly on these two axes respectively. The left linear motor (located as A1) is connected to the left first joint (located as B1) through the left first link, and the left first joint is connected to the left second joint (located as C1) through the left second link. The left second joint is the second passive ball joint located on the footplate. Similarly, the right linear motor (located at position A2) is connected to the right first joint (located at position B2) via the right first link, and the right first joint is connected to the right second joint (located at position C2) via the right second link. The right second joint is the second passive ball joint located on the foot plate.

[0084] The parallel ankle structure has the following geometric relationship:

[0085]

[0086] Where i∈[1,2], when i is 1, it corresponds to the structure on the left, and when i is 2, it corresponds to the structure on the right. That is, OC i r rodi That is, B i C i .

[0087] The initial position of the linear motor is denoted as... The above formula can then be expressed as:

[0088]

[0089] Among them, L i This represents the change in position of the linear motor relative to its initial position.

[0090] When the robot's ankle is in its initial state, its pitch angle and roll angle When both are 0, the position of the second joint is recorded as follows: but It can be represented as:

[0091]

[0092] Among them, R x Let R be the rotation matrix about the x-axis. y Let be the rotation matrix about the y-axis, which can be represented as:

[0093]

[0094]

[0095] make Let v be the velocity of the foot, where v is the translation of the origin O and ω is the rotational speed of the foot.

[0096] Taking the derivative of the above equation, we can obtain:

[0097]

[0098] Right now:

[0099]

[0100] By integrating the speed derivations of the linear motors on both sides and writing them in matrix form, we can obtain:

[0101]

[0102] in, The linear velocity of the linear motor is... This represents the linear velocity of the linear motor on the left. This represents the linear velocity of the linear motor on the left.

[0103] Transforming the above equation, we get:

[0104]

[0105] in,

[0106] angular velocity of the ankle and The following relationship exists between them:

[0107]

[0108] in, The pitch angular velocity, For roll angular velocity,

[0109] Substituting it into the above equation, we get the following expression:

[0110]

[0111] in, It is a Jacobian matrix.

[0112] The above expression is the analytical formula for the first velocity conversion, which takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output.

[0113] It should be noted that the above-described parallel ankle structure is only an example. For other ankle space structures, the corresponding first velocity conversion analytical expression can also be established by referring to the above analysis process. This application embodiment will not elaborate further on this.

[0114] Step S103: Based on the first speed conversion relationship, determine the desired linear velocity of the linear motor according to the desired angular velocity.

[0115] In one specific implementation of this application, the first velocity conversion analytical expression can be directly used as the first velocity conversion relationship, the desired angular velocity can be substituted into the first velocity conversion analytical expression as the input quantity for calculation, and the calculated output quantity can be determined as the desired linear velocity.

[0116] In one specific implementation of this application, a first conversion relationship correspondence table can be constructed based on the first velocity conversion analytical expression, and the first conversion relationship correspondence table can be used as the first velocity conversion relationship. The first conversion relationship correspondence table records the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor, as shown in the table below:

[0117] angular velocity 1 Linear velocity 1 angular velocity 2 Linear velocity 2 angular velocity 3 Linear velocity 3 …… ……

[0118] Specifically, angular velocity 1 is substituted into the first velocity conversion formula as input for calculation, and the calculated output is determined as linear velocity 1, thus establishing a correspondence between angular velocity 1 and linear velocity 1. Angular velocity 2 is substituted into the first velocity conversion formula as input for calculation, and the calculated output is determined as linear velocity 2, thus establishing a correspondence between angular velocity 2 and linear velocity 2. In this way, a correspondence between each angular velocity and each linear velocity of the linear motor can be established, that is, the construction of the first conversion relationship correspondence table is completed, and the first conversion relationship correspondence table is used as the first velocity conversion relationship.

[0119] When it is necessary to determine the desired linear velocity based on the desired angular velocity, the linear velocity corresponding to the desired angular velocity can be looked up in the first transformation table, and the linear velocity corresponding to the desired angular velocity found in the first transformation table is determined as the desired linear velocity. In this way, the table lookup process can replace the analytical calculation process, resulting in higher processing efficiency.

[0120] In one specific implementation of this application, a first speed conversion model can be constructed based on the first speed conversion analytical expression, and the first speed conversion model can be used as the first speed conversion relationship. The first speed conversion model is a pre-trained neural network model with the angular velocity of the ankle as the model input and the linear velocity of the linear motor as the model output. It can adopt any neural network model in the prior art according to the actual situation. This application does not specifically limit its model type and model structure.

[0121] Specifically, N training samples can be constructed based on the first velocity conversion analytical formula. Each training sample includes a corresponding set of angular velocity and linear velocity. The value of N can be set according to the actual situation, for example, it can be set to 1000, 5000, 10000 or other values. This application embodiment does not specifically limit this. Using the angular velocity in the training samples as input and the corresponding linear velocity as the expected output, the initial neural network model is trained to obtain the trained first velocity conversion model.

[0122] During training, for each training sample, a neural network model can process the angular velocity in that sample to obtain its actual output. Then, a preset loss function can be used to calculate the training loss value based on the expected and actual outputs of the training sample. In this embodiment, any existing loss function can be selected to calculate the training loss value based on the actual situation; this embodiment does not impose any specific limitations on this.

[0123] After calculating the training loss value, the model parameters of the neural network model can be adjusted based on the training loss value. In this embodiment, assuming the initial model parameters of the neural network model are W1, the training loss value is backpropagated to modify the model parameters W1, resulting in modified model parameters W2. After modifying the parameters, the next training process is executed. In this training process, the training loss value is recalculated, and this training loss value is backpropagated to modify the model parameters W2, resulting in modified model parameters W3, and so on. This process is repeated continuously, and the model parameters can be modified in each training process until a preset training condition is met. The training condition can be that the number of training iterations reaches a preset threshold, which can be set according to the actual situation, for example, it can be set to thousands, tens of thousands, hundreds of thousands, or even larger values; the training condition can also be that the neural network model converges. Since it is possible that the number of training iterations has not reached the threshold, but the neural network model has converged, it may lead to unnecessary duplication of work; or the neural network model may never converge, which may lead to an infinite loop and prevent the training process from ending. Based on the above two situations, the training condition can also be that the number of training iterations reaches the threshold or the neural network model converges. Once the training conditions are met, the trained first velocity conversion model can be obtained.

[0124] Through the above training process, the angular velocity and corresponding linear velocity in the training samples are used as the learning objects of the neural network model. After the training process, the neural network model can establish a mapping relationship between angular velocity and linear velocity, so that when faced with a new angular velocity, the corresponding linear velocity can also be obtained according to this mapping relationship.

[0125] When it is necessary to determine the desired linear velocity based on the desired angular velocity, the desired angular velocity can be input into the first velocity conversion model for processing, and the output of the first velocity conversion model after processing can be determined as the desired linear velocity.

[0126] Step S104: Control the linear motor to move according to the desired linear velocity to drive the ankle to move.

[0127] Once the desired linear velocity is determined, the linear motor can be controlled to move at the desired linear velocity, thereby driving the connecting rod to make the ankle's angular velocity reach the desired angular velocity.

[0128] In one specific implementation of this application embodiment, after step S104, it can also be done through, as follows: Figure 3 The process shown is used to estimate the state of the robot's center of mass:

[0129] Step S301: Obtain the measured linear velocity of the linear motor.

[0130] The measured linear velocity is the linear velocity obtained by measuring it through a preset sensor.

[0131] Step S302: Establish the second velocity conversion relationship based on the spatial structure of the ankle.

[0132] In this embodiment, a second speed conversion relationship can be pre-established. After obtaining the measured linear velocity of the linear motor, the estimated angular velocity of the ankle can be determined based on the desired linear velocity according to the second speed conversion relationship. The second speed conversion relationship is the pre-established conversion relationship between the linear velocity of the linear motor and the angular velocity of the ankle. The process of establishing the second speed conversion relationship is similar to that of establishing the first speed conversion relationship, and can be found in the detailed description in step S102, which will not be repeated here.

[0133] It is important to note that the first speed conversion relationship is the conversion from the angular velocity of the ankle to the linear velocity of the linear motor, while the second speed conversion relationship is the conversion from the linear velocity of the linear motor to the angular velocity of the ankle. The two are inverse processes.

[0134] Step S303: Based on the second velocity conversion relationship, determine the estimated angular velocity of the ankle according to the measured linear velocity.

[0135] In one specific implementation of this application, the second speed conversion relationship can be a second speed conversion analytical expression, wherein the second speed conversion analytical expression is the inverse operation of the first speed conversion analytical expression, that is, the linear velocity of the linear motor is the input quantity and the angular velocity of the ankle is the output quantity.

[0136] When it is necessary to determine the estimated angular velocity based on the measured linear velocity, the measured linear velocity can be substituted into the second velocity conversion analytical expression for calculation, and the calculated output can be determined as the estimated angular velocity.

[0137] In one specific implementation of this application, a second conversion relationship correspondence table can be constructed based on the second speed conversion analytical expression, and the second conversion relationship correspondence table can be used as the second speed conversion relationship. The second conversion relationship correspondence table records the correspondence between each linear velocity of the linear motor and each angular velocity of the ankle, as shown in the table below:

[0138] Linear velocity 1 angular velocity 1 Linear velocity 2 angular velocity 2 Linear velocity 3 angular velocity 3 …… ……

[0139] Specifically, linear velocity 1 is substituted into the second velocity conversion equation as input for calculation, and the calculated output is determined as angular velocity 1, thus establishing a correspondence between linear velocity 1 and angular velocity 1. Similarly, linear velocity 2 is substituted into the second velocity conversion equation as input for calculation, and the calculated output is determined as angular velocity 2, thus establishing a correspondence between linear velocity 2 and angular velocity 2. This process can be repeated to establish a correspondence between each linear velocity and each angular velocity, thus completing the construction of the second conversion relationship correspondence table, which is then used as the second velocity conversion relationship.

[0140] When it is necessary to determine the estimated angular velocity based on the measured linear velocity, the angular velocity corresponding to the measured linear velocity can be looked up in the second conversion table, and the angular velocity corresponding to the measured linear velocity found in the second conversion table is determined as the estimated angular velocity. In this way, the table lookup process can replace the analytical calculation process, resulting in higher processing efficiency.

[0141] In one specific implementation of this application, a second speed conversion model can be constructed based on the second speed conversion analytical expression, and the second speed conversion model can be used as the second speed conversion relationship. The second speed conversion model is a pre-trained neural network model with the linear velocity of the linear motor as the model input and the angular velocity of the ankle as the model output. It can adopt any neural network model in the prior art according to the actual situation. This application does not specifically limit its model type and model structure.

[0142] Specifically, M training samples can be constructed based on the second velocity conversion analytical formula. Each training sample includes a corresponding set of linear velocity and angular velocity. The value of M can be set according to the actual situation, for example, it can be set to 1000, 5000, 10000 or other values. This application embodiment does not specifically limit this. Using the linear velocity in the training samples as input and the corresponding angular velocity as the expected output, the initial neural network model is trained to obtain the trained second velocity conversion model.

[0143] The training process of the second velocity conversion model is similar to that of the first velocity conversion model, and can be found in the detailed description of the first velocity conversion model above, which will not be repeated here. Through the training process, the linear velocity and corresponding angular velocity in the training samples are used as the learning objects of the neural network model. After training, the neural network model can establish a mapping relationship between linear velocity and angular velocity, so that when faced with a new linear velocity, the corresponding angular velocity can also be obtained according to this mapping relationship.

[0144] When it is necessary to determine the estimated angular velocity based on the measured linear velocity, the measured linear velocity can be input into the second velocity conversion model for processing, and the output of the model after processing by the second velocity conversion model can be determined as the estimated angular velocity.

[0145] Step S304: Perform state estimation of the robot's center of mass based on the estimated angular velocity to obtain the state estimation result.

[0146] In the embodiments of this application, any state estimation algorithm in the prior art can be used to estimate the state of the robot's center of mass, depending on the actual situation. No specific limitation is made here.

[0147] In summary, this application embodiment obtains the desired angular velocity of the robot's ankle; determines the spatial structure of the ankle; establishes a first velocity conversion relationship based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor; based on the first velocity conversion relationship, the desired linear velocity of the linear motor is determined according to the desired angular velocity; and the linear motor is controlled to move according to the desired linear velocity to drive the ankle to move. Through this application embodiment, the angular velocity of the robot's ankle is converted into the linear velocity of the linear motor of the ankle, and the control of the linear velocity of the linear motor is used to control the angular velocity of the ankle, which has high control efficiency and helps to meet the actual task requirements.

[0148] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0149] Corresponding to the robot ankle motion control method described in the above embodiments, Figure 4 This illustration shows a structural diagram of one embodiment of a robot ankle motion control device provided in this application.

[0150] In this embodiment, a robot ankle motion control device may include:

[0151] The expected angular velocity acquisition module 401 is used to acquire the expected angular velocity of the robot's ankle;

[0152] The first velocity conversion relationship establishment module 402 is used to determine the spatial structure of the ankle and establish a first velocity conversion relationship based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor;

[0153] The desired linear velocity determination module 403 is used to determine the desired linear velocity of the linear motor based on the first velocity conversion relationship and the desired angular velocity.

[0154] The motion control module 404 is used to control the linear motor to move according to the desired linear velocity, so as to drive the ankle to move.

[0155] In one specific implementation of this application embodiment, the robot ankle motion control device may further include:

[0156] A linear velocity measurement module is used to acquire the linear velocity of the linear motor.

[0157] The second velocity conversion relationship establishment module is used to establish a second velocity conversion relationship based on the spatial structure of the ankle; wherein, the second velocity conversion relationship is the conversion relationship between the linear velocity of the linear motor and the angular velocity of the ankle;

[0158] An estimated angular velocity determination module is used to determine the estimated angular velocity of the ankle based on the measured linear velocity according to the second velocity conversion relationship.

[0159] The state estimation module is used to estimate the state of the robot's center of mass based on the estimated angular velocity, and obtain the state estimation result.

[0160] In one specific implementation of this application embodiment, the first speed conversion relationship can be a first speed conversion analytical expression, which takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output.

[0161] The desired linear velocity determination module may include:

[0162] The analysis unit is used to substitute the desired angular velocity as an input into the first velocity conversion analytical expression for calculation, and to determine the desired linear velocity based on the calculated output.

[0163] In one specific implementation of this application, the first speed conversion relationship can be a first conversion relationship correspondence table, which records the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor.

[0164] The desired linear velocity determination module may include:

[0165] The lookup unit is used to look up the linear velocity corresponding to the desired angular velocity in the first conversion relationship correspondence table; and to determine the linear velocity corresponding to the desired angular velocity found in the first conversion relationship correspondence table as the desired linear velocity.

[0166] In one specific implementation of this application embodiment, the first velocity conversion relationship establishment module can be specifically used to: establish a first velocity conversion analytical expression based on the spatial structure of the ankle, wherein the first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output; substitute each angular velocity of the ankle as the input into the first velocity conversion analytical expression for calculation, and determine the corresponding linear velocities of the linear motor based on the calculated output; and establish a first conversion relationship correspondence table based on the correspondence between each angular velocity of the ankle and each linear velocity of the linear motor.

[0167] In one specific implementation of this application embodiment, the first speed conversion relationship can be a first speed conversion model, which is a pre-trained neural network model. The first speed conversion model takes the angular velocity of the ankle as the model input and the linear velocity of the linear motor as the model output.

[0168] The desired linear velocity determination module may include:

[0169] The model processing unit is used to input the desired angular velocity into the first velocity conversion model for processing, and to determine the desired linear velocity based on the model output after processing by the first velocity conversion model.

[0170] In one specific implementation of this application, the first velocity conversion relationship establishment module can be specifically used to: establish a first velocity conversion analytical expression based on the spatial structure of the ankle, wherein the first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor as the output; construct a preset number of training samples based on the first velocity conversion analytical expression, wherein each training sample includes a set of corresponding angular velocities and linear velocities; train the initial neural network model with the angular velocity in the training samples as the input and the corresponding linear velocity as the expected output to obtain the trained first velocity conversion model.

[0171] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0172] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0173] Figure 5 A schematic block diagram of a robot provided in an embodiment of this application is shown. For ease of explanation, only the parts related to the embodiment of this application are shown.

[0174] like Figure 5 As shown, the robot 5 in this embodiment includes: a processor 50, a memory 51, and a computer program 52 stored in the memory 51 and executable on the processor 50. When the processor 50 executes the computer program 52, it implements the steps described in the various robot ankle motion control method embodiments above, for example... Figure 1 Steps S101 to S104 are shown. Alternatively, when the processor 50 executes the computer program 52, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 4 The functions of modules 401 to 404 are shown.

[0175] For example, the computer program 52 may be divided into one or more modules / units, which are stored in the memory 51 and executed by the processor 50 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program 52 in the robot 5.

[0176] Those skilled in the art will understand that Figure 5 This is merely an example of robot 5 and does not constitute a limitation on robot 5. It may include more or fewer parts than shown, or combine certain parts, or different parts. For example, robot 5 may also include input / output devices, network access devices, buses, etc.

[0177] The processor 50 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0178] The memory 51 can be an internal storage unit of the robot 5, such as a hard drive or memory. The memory 51 can also be an external storage device of the robot 5, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 51 can include both internal and external storage units of the robot 5. The memory 51 is used to store the computer program and other programs and data required by the robot 5. The memory 51 can also be used to temporarily store data that has been output or will be output.

[0179] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0180] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0181] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

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

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

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

[0185] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.

[0186] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for controlling the movement of a robot's ankle, characterized in that, include: Obtain the desired angular velocity of the robot's ankle; Determine the spatial structure of the ankle; A first velocity conversion relationship is established based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor of the ankle; Based on the first velocity conversion relationship, the desired linear velocity of the linear motor of the ankle is determined according to the desired angular velocity; The linear motor of the ankle is controlled to move according to the desired linear velocity, so as to drive the ankle to move. Obtain the measured linear velocity of the linear motor of the ankle; A second velocity conversion relationship is established based on the spatial structure of the ankle; wherein, the second velocity conversion relationship is the conversion relationship between the linear velocity of the linear motor of the ankle and the angular velocity of the ankle; Based on the second velocity conversion relationship, the estimated angular velocity of the ankle is determined according to the measured linear velocity; The state of the robot's center of mass is estimated based on the estimated angular velocity, and the state estimation result is obtained.

2. The robot ankle motion control method according to claim 1, characterized in that, The first speed conversion relationship is a first speed conversion analytical expression, which takes the angular velocity of the ankle as the input and the linear velocity of the linear motor of the ankle as the output. The step of determining the desired linear velocity of the ankle's linear motor based on the desired angular velocity according to the first velocity conversion relationship includes: The desired angular velocity is substituted into the first velocity conversion expression as input for calculation, and the desired linear velocity is determined based on the calculated output.

3. The robot ankle motion control method according to claim 1, characterized in that, The first speed conversion relationship is a first conversion relationship correspondence table, which records the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor of the ankle. The step of determining the desired linear velocity of the ankle's linear motor based on the desired angular velocity according to the first velocity conversion relationship includes: Look up the linear velocity corresponding to the desired angular velocity in the first conversion relationship correspondence table; The linear velocity corresponding to the desired angular velocity, which is found in the first conversion relationship correspondence table, is determined as the desired linear velocity.

4. The robot ankle movement control method according to claim 3, characterized in that, Before querying the linear velocity corresponding to the desired angular velocity in the first conversion relationship table, the method further includes: A first velocity conversion analytical expression is established based on the spatial structure of the ankle. The first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor of the ankle as the output. The angular velocities of the ankle are used as inputs and substituted into the first velocity conversion formula for calculation. The linear velocities of the corresponding linear motors of the ankle are determined based on the calculated outputs. Based on the correspondence between the various angular velocities of the ankle and the various linear velocities of the linear motor of the ankle, a first conversion relationship correspondence table is established.

5. The robot ankle motion control method according to claim 1, characterized in that, The first speed conversion relationship is a first speed conversion model, which is a pre-trained neural network model. The first speed conversion model takes the angular velocity of the ankle as the model input and the linear velocity of the linear motor of the ankle as the model output. The step of determining the desired linear velocity of the ankle's linear motor based on the desired angular velocity according to the first velocity conversion relationship includes: The desired angular velocity is input into the first velocity conversion model for processing, and the desired linear velocity is determined based on the model output after processing by the first velocity conversion model.

6. The robot ankle motion control method according to claim 5, characterized in that, Before inputting the desired angular velocity into the first velocity conversion model for processing, the method further includes: A first velocity conversion analytical expression is established based on the spatial structure of the ankle. The first velocity conversion analytical expression takes the angular velocity of the ankle as the input and the linear velocity of the linear motor of the ankle as the output. Based on the first velocity conversion analytical expression, a preset number of training samples are constructed, and each training sample includes a set of corresponding angular velocity and linear velocity. Using the angular velocity from the training samples as input and the corresponding linear velocity as the expected output, the initial neural network model is trained to obtain the first velocity conversion model after training.

7. A robot ankle motion control device, characterized in that, include: The expected angular velocity acquisition module is used to acquire the expected angular velocity of the robot's ankle. Ankle space structure determination module, which determines the space structure of the ankle; The first velocity conversion relationship establishment module is used to establish a first velocity conversion relationship based on the spatial structure of the ankle; wherein, the first velocity conversion relationship is the conversion relationship between the angular velocity of the ankle and the linear velocity of the linear motor of the ankle; A desired linear velocity determination module is used to determine the desired linear velocity of the linear motor of the ankle based on the first velocity conversion relationship and the desired angular velocity. A motion control module is used to control the linear motor of the ankle to move according to the desired linear velocity, so as to drive the ankle to move. A linear velocity measurement module is used to acquire the linear velocity of the linear motor of the ankle. The second velocity conversion relationship establishment module is used to establish a second velocity conversion relationship based on the spatial structure of the ankle; wherein, the second velocity conversion relationship is the conversion relationship between the linear velocity of the linear motor of the ankle and the angular velocity of the ankle; An estimated angular velocity determination module is used to determine the estimated angular velocity of the ankle based on the measured linear velocity according to the second velocity conversion relationship. The state estimation module is used to estimate the state of the robot's center of mass based on the estimated angular velocity, and obtain the state estimation result.

8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the robot ankle motion control method as described in any one of claims 1 to 6.

9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the robot ankle motion control method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Six-degree-of-freedom four-leg robot

    CN108001560A

  • Ship medical operation platform and self-balancing control method thereof

    CN116392249A