Motion control method and device, robot and storage medium

By optimizing state variables and control inputs while the robot is airborne, and combining dynamics and kinematic constraints, the collision and impact problem when the robot lands in the airborne state is solved, thereby improving motion stability and trajectory tracking ability.

CN119910635BActive Publication Date: 2025-11-21BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311436335.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-31
Publication Date
2025-11-21
Estimated Expiration
2043-10-31

AI Technical Summary

Technical Problem

When a robot performs highly dynamic movements in the air, the impact of the collision upon landing affects the stability of the movement, and existing technologies are unable to effectively reduce the impact of the collision.

Method used

While the robot is airborne, the state variables and control input errors are tracked during the remaining airborne time. The state variables and control inputs are optimized, and the robot's motion is controlled by combining center of mass dynamics, full kinematics, and collision dynamics constraints to reduce the impact of collisions upon landing.

Benefits of technology

This improves the robot's motion stability in the air, reduces the impact of collisions upon landing, and ensures that the robot can better track the reference trajectory and achieve the desired state.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119910635B_ABST
    Figure CN119910635B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a motion control method, device, robot and storage medium, the method comprising: in the case that the robot is in a free state, tracking state variable errors and control input errors in a remaining free time under constraint conditions to obtain state variable optimization results and control input optimization results, wherein the remaining free time comprises a current time to a time when a current action is completed, the state variable errors comprise errors between state variables in a preset reference trajectory and the state variable optimization results, the control input errors comprise errors between control inputs in the reference trajectory and the control input optimization results, and the constraint conditions comprise at least one of a center of mass dynamics constraint, a full kinematics constraint and a collision dynamics constraint; and controlling the robot to move according to the state variable optimization results and the input optimization results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of robotics, specifically to a motion control method, device, robot, and storage medium. Background Technology

[0002] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Robots can replace users in performing specific tasks in their production and daily lives, thus bringing convenience. However, in related technologies, when robots perform movements involving airborne states, the impact of collisions upon landing can often affect the robot's motion stability. Summary of the Invention

[0003] To overcome the problems existing in the related technologies, this disclosure provides a motion control method, device, robot, and storage medium to solve the defects in the related technologies.

[0004] According to a first aspect of the present disclosure, a motion control method is provided, the method comprising:

[0005] When the robot is in a state of airborne motion, the state variable error and control input error are tracked under constraints during the remaining airborne time to obtain the state variable optimization result and control input optimization result. The remaining airborne time includes the time from the current moment to the completion of the current action. The state variable error includes the error between the state variable within the preset reference trajectory and the state variable optimization result. The control input error includes the error between the control input within the reference trajectory and the control input optimization result. The constraints include at least one of the following: center of mass dynamics constraint, full kinematics constraint, and collision dynamics constraint.

[0006] The robot is controlled to move based on the optimization results of the state variables and the optimization results of the input.

[0007] In one embodiment of this disclosure, the reference trajectory includes state variables and control inputs at multiple reference times; the method further includes:

[0008] Based on the state variables and control inputs at multiple reference times in the reference trajectory, determine the state variables and control inputs at at least one time other than the multiple reference times in the reference trajectory.

[0009] In one embodiment of this disclosure, the state variables include a momentum vector and a position vector, wherein the momentum vector includes linear momentum and nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or,

[0010] The control input includes a joint velocity vector, which includes the velocity of the joint.

[0011] In one embodiment of this disclosure, the constraint includes at least one of the following:

[0012] The momentum vector, position vector, and velocity vector of the robot in the air state conform to the dynamic model obtained based on the center of mass dynamics and the whole kinematics. The velocity vector includes the floating base velocity vector and the joint velocity vector, and the floating base velocity vector includes the velocity of the floating base.

[0013] The robot's position and velocity vectors before and after completing the current action conform to a discrete dynamics mapping.

[0014] In one embodiment of this disclosure, controlling the robot to move based on the state variable optimization result and the control input optimization result includes:

[0015] An acceleration vector is determined based on the joint velocity vector in the control input optimization result, and a torque vector is determined based on the acceleration vector, wherein the acceleration vector includes the joint acceleration and the torque vector includes the joint torque.

[0016] The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector.

[0017] In one embodiment of this disclosure, controlling the robot's joints to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector includes:

[0018] The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, the torque vector, the feedback position and feedback velocity of the joint, and the control coefficient.

[0019] In one embodiment of this disclosure, the method further includes:

[0020] When the robot is in the air, obtain the vertical velocity of the robot's contact point;

[0021] In response to the robot's contact point having a vertical velocity greater than a preset threshold, the control coefficient and / or the torque vector are reduced.

[0022] In one embodiment of this disclosure, reducing the control coefficient and / or the torque vector includes:

[0023] When the robot is in the final stage of takeoff, the control coefficient and / or the torque vector are reduced by a first proportion, wherein the final stage of takeoff includes the last second proportion of the takeoff duration, and the takeoff duration is determined based on the reference trajectory.

[0024] In one embodiment of this disclosure, the method further includes:

[0025] The contact state of the robot's contact points is obtained, and the robot is determined to be in an airborne state based on the contact state.

[0026] According to a second aspect of the present disclosure, a motion control device is provided, the device comprising:

[0027] The tracking module is used to track the state variable error and control input error during the remaining airborne time under constraints when the robot is in an airborne state, and to obtain the state variable optimization result and control input optimization result. The remaining airborne time includes the time from the current moment to the completion of the current action. The state variable error includes the error between the state variable within the preset reference trajectory and the state variable optimization result. The control input error includes the error between the control input within the reference trajectory and the control input optimization result. The constraints include at least one of the following: center of mass dynamics constraints, full kinematics constraints, and collision dynamics constraints.

[0028] The control module is used to control the robot to move based on the optimization results of the state variables and the optimization results of the input.

[0029] In one embodiment of this disclosure, the reference trajectory includes state variables and control inputs at multiple reference times; the device further includes an interpolation module for:

[0030] Based on the state variables and control inputs at multiple reference times in the reference trajectory, determine the state variables and control inputs at at least one time other than the multiple reference times in the reference trajectory.

[0031] In one embodiment of this disclosure, the state variables include a momentum vector and a position vector, wherein the momentum vector includes linear momentum and nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or,

[0032] The control input includes a joint velocity vector, which includes the velocity of the joint.

[0033] In one embodiment of this disclosure, the constraint includes at least one of the following:

[0034] The momentum vector, position vector, and velocity vector of the robot in the air state conform to the dynamic model obtained based on the center of mass dynamics and the whole kinematics. The velocity vector includes the floating base velocity vector and the joint velocity vector, and the floating base velocity vector includes the velocity of the floating base.

[0035] The robot's position and velocity vectors before and after completing the current action conform to a discrete dynamics mapping.

[0036] In one embodiment of this disclosure, the control module is used to:

[0037] An acceleration vector is determined based on the joint velocity vector in the control input optimization result, and a torque vector is determined based on the acceleration vector, wherein the acceleration vector includes the joint acceleration and the torque vector includes the joint torque.

[0038] The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector.

[0039] In one embodiment of this disclosure, when the control module controls the robot's joints to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector, it is used to:

[0040] The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, the torque vector, the feedback position and feedback velocity of the joint, and the control coefficient.

[0041] In one embodiment of this disclosure, the apparatus further includes an instruction softening module for:

[0042] When the robot is in the air, obtain the vertical velocity of the robot's contact point;

[0043] In response to the robot's contact point having a vertical velocity greater than a preset threshold, the control coefficient and / or the torque vector are reduced.

[0044] In one embodiment of this disclosure, when the instruction softening module is used to reduce the control coefficient and / or the torque vector, it is used to:

[0045] When the robot is in the final stage of takeoff, the control coefficient and / or the torque vector are reduced by a first proportion, wherein the final stage of takeoff includes the last second proportion of the takeoff duration, and the takeoff duration is determined based on the reference trajectory.

[0046] In one embodiment of this disclosure, the apparatus further includes a status module for:

[0047] The contact state of the robot's contact points is obtained, and the robot is determined to be in an airborne state based on the contact state.

[0048] According to a third aspect of the present disclosure, a robot is provided, the robot including a memory and a processor, the memory being used to store computer instructions executable on the processor, and the processor being used to implement the motion control method described in the first aspect when executing the computer instructions.

[0049] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.

[0050] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:

[0051] The motion control method provided in this disclosure, when the robot is in a state of airborne motion, tracks the state variable error and control input error during the remaining airborne time under constraints, obtains the optimized state variable result and the optimized control input result, and controls the robot to move based on the optimized state variable result and the optimized input result. Since the remaining airborne time includes the time from the current moment to the completion of the current action, the state variable error includes the error between the state variable within the preset reference trajectory and the optimized state variable result, the control input error includes the error between the control input within the reference trajectory and the optimized input result, and the constraints include at least one of the center-of-mass dynamics constraints, full kinematics constraints, and collision dynamics constraints, the robot continuously tracks the reference trajectory in the airborne state and reaches the desired state variable after a collision. This prevents the robot's landing speed from being too high, thereby reducing collision impact and improving the robot's motion stability. Attached Figure Description

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

[0053] Figure 1 A schematic diagram of the structure of a bipedal robot shown in an exemplary embodiment of this disclosure;

[0054] Figure 2 A flowchart illustrating a motion control method in an exemplary embodiment of this disclosure;

[0055] Figure 3 This disclosure presents a schematic diagram of the structure of a motion control device according to an exemplary embodiment;

[0056] Figure 4 This disclosure includes a structural block diagram of a robot as illustrated in an exemplary embodiment. Detailed Implementation

[0057] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0058] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

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

[0060] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Robots can replace users in performing specific tasks in their production and daily lives, thus bringing convenience to users. However, in related technologies, when robots perform highly dynamic movements involving airborne states (i.e., movements that include airborne states), the stability of their motion is often affected by the impact of collisions upon landing.

[0061] For example, robots can perform highly dynamic movements by tracking a reference trajectory. Currently, for continuous dynamic systems, the reference trajectory can accurately reflect the robot's actual dynamics. However, for highly dynamic movements, when the robot is fully airborne, it is in an underactuated, passive motion process. The effects of errors accumulated before airborne will manifest during the airborne phase, causing the robot's actual state variables to deviate significantly from those within the reference trajectory before landing. Consequently, after a collision, the robot's controller is prone to divergence, resulting in a larger impact and affecting the robot's motion stability.

[0062] Based on this, at least one embodiment of this disclosure provides a motion control method that can be applied to robots, such as bipedal robots (humanoid robots) and quadrupedal robots (robot dogs). Please refer to the appendix. Figure 1 The paper illustrates the degree-of-freedom structure of a bipedal robot, which includes two upper limbs and two lower limbs. The shoulders of the upper limbs have three degrees of freedom in the pitch, roll, and yaw directions; the elbows have one degree of freedom in the pitch direction; and the wrists may have two or three degrees of freedom. The hips of the lower limbs have three degrees of freedom in the pitch, roll, and yaw directions; the knees have one degree of freedom in the pitch direction; and the ankles have two degrees of freedom in the pitch and roll directions. Roll, pitch, and yaw represent the directions of rotation around the X, Y, and Z axes, respectively. The lower limbs end in two flat feet. By changing the contact state variables between the flat feet and the external environment, various dynamic behaviors can be achieved, such as walking, running, jumping, somersaulting, and stable operation. The flat feet (i.e., the robot) can have multiple contact points with the ground, for example, at least two contact points: the toe and the heel.

[0063] This method can be applied to robots performing highly dynamic motion, which can refer to motion that includes a full airborne phase. For example, this method can optimize the robot's state variables and control inputs during the airborne phase to make the actual trajectory conform to a preset reference trajectory, and achieve the desired state variables within the reference trajectory upon landing and collision, thereby reducing collision impact and improving the robot's motion stability.

[0064] This disclosure first establishes the continuous center-of-mass dynamics equations for the take-off phase, and then constructs a discrete collision dynamics applicable to legged robots based on fully plastic collisions. Finally, based on the aforementioned continuous center-of-mass dynamics equations and discrete collision dynamics, a complete process of this method is constructed. Therefore, before introducing the specific process of this method, the aforementioned continuous center-of-mass dynamics equations and discrete collision dynamics are described in detail.

[0065] Continuous dynamics model

[0066] During the take-off phase, the entire robot system is considered as a multi-rigid-body system with a floating base and no contact with the outside world. Let the generalized coordinates of the robot system be: n a It represents the number of drivable joints of the robot; among which, It is the pose of the floating base B in coordinate system I (i.e., the world coordinate system), r IB The position is represented by x, y, and z coordinates. Let q be the attitude angle, denoted by zyx-Euler angles; where q j This is a joint position vector, which includes the position (i.e., joint angle) of each joint of the robot.

[0067] Furthermore, during the take-off phase, the robot's full-model multi-rigid-body dynamics equations can be:

[0068]

[0069] Where M and b represent the inertia matrix and nonlinear term (the manifestation of Coriolis force, centrifugal force, and gravity in the generalized coordinate space), respectively; τ is the torque vector, containing the torque of each joint of the robot. It is the selection matrix for driveable joints. This is the acceleration vector, which includes the acceleration of the robot's floating base and the acceleration of each joint.

[0070] Furthermore, during the takeoff phase, the robot's center-of-mass dynamic equations (i.e., the Newton-Euler equations applied at the robot's center of mass (CoM)) can be:

[0071]

[0072] Where, h = [h lin ,h ang ] T ∈R 6 It is the mass momentum relative to the center-of-mass coordinate system G, where the origin of G is located at the center of mass and the coordinate axes are in the same direction as the inertial coordinate system I. It is the position of contact point i relative to the centroid, and and Let i represent the contact force and torque acting on the contact point i, respectively. During the airborne phase, there is no contact point with the outside world, meaning the only external force is gravity. Therefore, the equations of motion for the center of mass simplify to:

[0073]

[0074] Using the centroidal momentum matrix (CMM) Connecting the dynamics of the center of mass with the kinematics of the whole body, we obtain the following equation:

[0075]

[0076] According to the above formula, we can obtain:

[0077]

[0078] Suppose the state variables and control inputs of the robot system are as follows:

[0079]

[0080] This represents the joint velocity vector, which includes the velocity of each joint of the robot.

[0081] Based on the above equation regarding the center of mass dynamics, total kinematics, and the system's state variables and control inputs, we can obtain the following equation representing the robot's continuous dynamics during the airborne phase:

[0082]

[0083] Discrete collision dynamics model

[0084] A collision occurs when a point or set of points on a legged robot impacts the ground with a non-zero velocity. This disclosure uses the assumption of a multi-rigid-body fully plastic collision, where, in a rigid impact, the contact force spinor acts over a very small time interval and is modeled as an impulse vector. That is, during the impact, the robot's joint configuration (position) does not change, but the generalized velocity jumps; after the collision, there is no relative motion between the two colliding components.

[0085] Based on the above analysis, a contact impact force δf is introduced into the above full-model multi-rigid-body dynamics equations. i The following model dynamic equations are obtained:

[0086]

[0087] Among them, J i It is the velocity Jacobian matrix at the point of collision contact, δf i It is the external force (impact force over a short period of time) experienced at the point of impact. Integrating over the "duration" of the impact yields:

[0088]

[0089] in, It represents the intensity of the contact impact force under an infinitesimal impact event, i.e., the contact impulse; the superscript "-" indicates the state variable before the impact, and the superscript "+" indicates the state variable after the impact. Based on the assumption, q must exist. + =q - For simplicity, the position quantity q is omitted in the following equations, resulting in the constrained dynamics of the collision process:

[0090]

[0091] The second equation above indicates that after the collision, the velocity at the point of contact is 0, meaning there is no relative motion with the surroundings. Here, based on the continuous center-of-mass dynamics above, we can determine the generalized position and velocity before the collision. It is a known term. and F i It is an unknown, they are with There is a linear relationship between them. Through matrix operations, we can conclude that:

[0092]

[0093] The above equation represents the discrete collision dynamics of a legged robot landing from the air. This occurs instantaneously, and the generalized position and velocity of the robot after the collision can be predicted using this dynamics. Therefore, the discrete collision dynamics model of the robot is:

[0094]

[0095] Please refer to the appendix. Figure 2 The diagram illustrates the process of the method, including steps S201 to S103.

[0096] In step S201, while the robot is in an airborne state, the state variable error and control input error are tracked under constraints during the remaining airborne time to obtain the state variable optimization result and control input optimization result.

[0097] The remaining airtime includes the time from the current moment to the completion of the current action. High-dynamic motion includes multiple action phases and switching events between adjacent action phases (e.g., events where the basic state variables of the contact point change). The aforementioned current action can refer to the current action phase. For example, in a somersault motion, which includes an airtime phase, the remaining airtime is the time from the current moment to the completion of the airtime phase (i.e., the landing moment).

[0098] The state variable error includes the error between the state variable within the preset reference trajectory and the state variable optimization result, and the control input error includes the error between the control input within the reference trajectory and the control input optimization result. The reference trajectory may include state variables and control inputs at multiple times. As described above, the state variable x includes a momentum vector h and a position vector q, and the momentum vector h includes linear momentum h0. lin and nonlinear momentum h ang The position vector q includes the floating base position q b and the position of the joint q j The control input u includes the joint velocity vector. The joint velocity vector This includes the speed of the joints.

[0099] The reference trajectory can be a reference trajectory for highly dynamic motion. The robot has already obtained the reference trajectory before executing the method. The reference trajectory can be obtained through methods such as full-model offline trajectory optimization, simplified model planning, and human motion capture and processing. The reference trajectory at least includes a reference curve X representing the generalized state X as it changes over time. ref (t), where the generalized state X is shown in the following equation:

[0100]

[0101] In the above formula, q represents the position vector, q b =[q x q y q z q yaw q pitch q roll ] T It is the position of the floating base in the world coordinate system, q leg q represents the joint positions of the left and right lower limbs. arm Represents the joint positions of the left and right upper limbs; Represents the velocity vector. It is the velocity of the floating base in the world coordinate system. Represents the joint velocity of the left and right lower limbs. Represents the joint velocity of the left and right upper limbs; Represents the acceleration vector. It is the acceleration of the floating base in the world coordinate system. Represents the joint acceleration of the left and right lower limbs. This represents the joint acceleration of the left and right upper limbs.

[0102] It's understandable, q j =[q leg ,q arm ] TThese represent controllable joints in the legs and upper limbs; a quadruped robot has four legs. It is evident that the generalized state includes both state variables and control inputs.

[0103] The constraints include at least one of the following: center-of-mass dynamics constraints, full kinematics constraints, and collision dynamics constraints. For example, the constraints include at least one of the following:

[0104] Optional constraint 1: The momentum vector, position vector, and velocity vector of the robot in the air state conform to the dynamic model obtained based on the center-of-mass dynamics and the overall kinematics, wherein the velocity vector includes the floating base velocity vector and the joint velocity vector, and the floating base velocity vector includes the velocity of the floating base. That is:

[0105]

[0106] In the above formula, f kino-dynamics (x,u,t) represents the kino-dynamics model of the robot during the take-off phase mentioned earlier:

[0107]

[0108] Optional constraint 2: The robot's position and velocity vectors before and after completing the current action conform to the discrete dynamics mapping, that is:

[0109]

[0110] For example, the current action mentioned above can refer to the current action phase of a high-dynamic motion. For instance, a somersault includes an airborne phase, so the period before and after completing the current action refers to the period before and after the robot lands.

[0111] It is understandable that the robot can be controlled at a certain frequency, meaning the method can be executed at a certain frequency. The moment when the method executes control each time can be called a control frame. The state variable optimization results generated in this step for each control frame include the state variable optimization results for the remaining airtime, i.e., the state variable optimization results for multiple control frames within the remaining airtime. The generated control input optimization results include the control input optimization results for the remaining airtime, i.e., the control input optimization results for multiple control frames within the remaining airtime. The frequency of the control frame and the frequency of the reference time are not necessarily the same or synchronized. Therefore, based on the state variables and control inputs at multiple reference times in the reference trajectory, at least one time in the reference trajectory other than the multiple reference times (these times can include all control frames within the remaining airtime) can be determined.

[0112] For example, the state variables and control inputs at least one time in the reference trajectory, excluding the plurality of reference times, can be obtained through interpolation. Specifically, for a certain time t, reference times t1 and t2 on both sides of time t can be found in the reference trajectory, and the generalized state at time t can be obtained by the following subtraction method:

[0113]

[0114] Therefore, the state variable x at time t can be obtained based on the generalized state at time t. * (t) and control input u * (t):

[0115]

[0116] For example, this step can track the state variable errors and control input errors of multiple control frames within the remaining vacancy time using the MPC (Model Predictive Control) optimization method to obtain the state variable optimization results and control input optimization results for multiple control frames within the remaining vacancy time. For instance, the following formula can be used to establish the MPC optimization model:

[0117]

[0118] In the above formula, x represents the optimization result of the state variables over multiple control frames. * The state variables on multiple control frames in the reference trajectory, u represents the optimized control inputs on multiple control frames, u * The control inputs on multiple control frames in the reference trajectory are W1 and W2, which are the weight matrices of the state variables and control inputs, respectively.

[0119] In step S202, the robot is controlled to move according to the state variable optimization result and the input optimization result.

[0120] This step can be executed in each control frame. For example, each control frame can obtain the state variable optimization results and input optimization results of multiple control frames, including the current control frame, by executing step S201. If the result of step S201 includes or does not include the state variable optimization results and input optimization results of the current control frame, then this step uses the state variable optimization results and input optimization results of the current control frame obtained by step S201 to control the robot to move. If the result of step S201 does not include the state variable optimization results and input optimization results of the current control frame, then this step uses the state variable optimization results and input optimization results of the current control frame obtained by step S201 in the previous control frame to control the robot to move.

[0121] The state variable optimization result obtained in step S201 and control input optimization results This is equivalent to online replanning of the reference trajectory to ensure it meets constraints (i.e., various physical constraints and desired behavior of the high-dynamic motion). For example, this step can be performed as follows:

[0122] First, an acceleration vector is determined based on the joint velocity vector in the control input optimization result, and a torque vector is determined based on the acceleration vector, wherein the acceleration vector includes the joint acceleration and the torque vector includes the joint torque.

[0123] For example, the acceleration of each joint can be obtained by differentiating the velocity of each joint in the joint velocity vector, and thus the acceleration vector can be obtained.

[0124] For example, the joint torque of each joint can be obtained through the following inverse dynamics calculation:

[0125]

[0126] In the above formula, M and b are both known parameters in the multi-rigid-body dynamics equations of the robot's full model mentioned above, while This is the acceleration vector obtained in this step.

[0127] Next, the robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector.

[0128] For example, based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, the torque vector, the feedback position and feedback velocity of the joint, and the control coefficients, the robot's joints are controlled to move. That is, the above is used as the feedforward position. The joint velocity in the current frame is used as the feedforward velocity in the joint velocity vector. The joint torque of the current frame in the torque vector is used as the feedforward torque. Composition instructions Send to the joint control module so that it performs the following tracking control:

[0129]

[0130] In the above formula, τ j To control the torque, k p k is the proportional coefficient in the control coefficients. d This refers to the differential coefficient in the control coefficients.

[0131] The motion control method provided in this disclosure, when the robot is in a state of airborne motion, tracks the state variable error and control input error during the remaining airborne time under constraints, obtains the optimized state variable result and the optimized control input result, and controls the robot to move based on the optimized state variable result and the optimized input result. Since the remaining airborne time includes the time from the current moment to the completion of the current action, the state variable error includes the error between the state variable within the preset reference trajectory and the optimized state variable result, the control input error includes the error between the control input within the reference trajectory and the optimized input result, and the constraints include at least one of the center-of-mass dynamics constraints, full kinematics constraints, and collision dynamics constraints, the robot continuously tracks the reference trajectory in the airborne state and reaches the desired state variable after a collision. This prevents the robot's landing speed from being too high, thereby reducing collision impact and improving the robot's motion stability.

[0132] In some embodiments of this disclosure, the vertical velocity of the robot's contact point can be obtained when the robot is in an airborne state; and in response to the vertical velocity of the robot's contact point being greater than a preset threshold, the control coefficient and / or the torque vector can be reduced.

[0133] The impact force experienced by the robot upon landing is directly proportional to the vertical velocity of its contact point relative to the surrounding environment. A greater vertical velocity results in a greater impact, and a smaller velocity results in a smaller impact. Therefore, this embodiment can predict the impact force upon landing by determining the vertical velocity of the robot's contact point. If the vertical velocity of the robot's contact point exceeds a preset threshold, it indicates that the impact force exceeds an acceptable range, requiring joint softening as described in this embodiment.

[0134] In this embodiment, joint softening can be achieved by reducing the control coefficient and / or the torque vector by a first ratio when the robot is in the final stage of takeoff. The final stage of takeoff includes the last 20% of the takeoff duration, which is determined based on a reference trajectory. For example, if the first ratio is ρ (0 ≤ ρ ≤ 1) and the second ratio is 20%, then in this embodiment, the control coefficient and feedforward torque can be reduced in the last 20% of the takeoff duration (i.e., the total takeoff phase). The nominal value (i.e., the value obtained in step S201) smoothly transitions to ρ times the nominal value:

[0135]

[0136] This embodiment allows for relatively soft joint control stiffness when the robot lands, which can buffer and absorb some of the impact energy, effectively preventing the robot from bouncing relative to the ground and compromising its motion stability.

[0137] In some embodiments of this disclosure, the contact state of the robot's contact points can be obtained, and whether the robot is in an airborne state can be determined based on the contact state variable. For example, in each control frame, it is determined whether the robot is in an airborne state in the manner described in this embodiment; if it is in an airborne state, then according to the appendix... Figure 1 The method shown is used to control the robot's movement.

[0138] The contact state can include the external force received at the contact point, which can be calculated based on the external force received at each contact point on the foot. If the absolute value of the linear component of the resultant force of the external force received by the foot in the previous frame is less than a threshold: ||f(t) - )||<f thre Furthermore, the absolute value of the linear component of the resultant external force acting on the foot of the current frame is not less than or equal to the threshold ||f(t)||≥f thre It can be determined that the robot is not in a state of airborne motion (i.e., it has landed); if the absolute value of the linear component of the resultant force of the external force on the foot in the previous frame is less than the threshold: ||f(t - )||<f thre And the absolute value of the linear component of the resultant force of the external force acting on the foot of the current frame is less than or equal to the threshold ||f(t) - )||<f thre This confirms that the robot is in the air.

[0139] According to a second aspect of the embodiments of this disclosure, a motion control device is provided; please refer to the appendix. Figure 3 The device includes:

[0140] The tracking module 301 is used to track the state variable error and control input error during the remaining airborne time under constraints when the robot is in an airborne state, and to obtain the state variable optimization result and control input optimization result. The remaining airborne time includes the time from the current moment to the completion of the current action. The state variable error includes the error between the state variable within the preset reference trajectory and the state variable optimization result. The control input error includes the error between the control input within the reference trajectory and the control input optimization result. The constraints include at least one of the following: center of mass dynamics constraints, full kinematics constraints, and collision dynamics constraints.

[0141] The control module 302 is used to control the robot to move based on the state variable optimization result and the input optimization result.

[0142] In one embodiment of this disclosure, the reference trajectory includes state variables and control inputs at multiple reference times; the device further includes an interpolation module for:

[0143] Based on the state variables and control inputs at multiple reference times in the reference trajectory, determine the state variables and control inputs at at least one time other than the multiple reference times in the reference trajectory.

[0144] In one embodiment of this disclosure, the state variables include a momentum vector and a position vector, wherein the momentum vector includes linear momentum and nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or,

[0145] The control input includes a joint velocity vector, which includes the velocity of the joint.

[0146] In one embodiment of this disclosure, the constraint includes at least one of the following:

[0147] The momentum vector, position vector, and velocity vector of the robot in the air state conform to the dynamic model obtained based on the center of mass dynamics and the whole kinematics. The velocity vector includes the floating base velocity vector and the joint velocity vector, and the floating base velocity vector includes the velocity of the floating base.

[0148] The robot's position and velocity vectors before and after completing the current action conform to a discrete dynamics mapping.

[0149] In one embodiment of this disclosure, the control module is used to:

[0150] An acceleration vector is determined based on the joint velocity vector in the control input optimization result, and a torque vector is determined based on the acceleration vector, wherein the acceleration vector includes the joint acceleration and the torque vector includes the joint torque.

[0151] The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector.

[0152] In one embodiment of this disclosure, when the control module controls the robot's joints to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector, it is used to:

[0153] The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, the torque vector, the feedback position and feedback velocity of the joint, and the control coefficient.

[0154] In one embodiment of this disclosure, the apparatus further includes an instruction softening module for:

[0155] When the robot is in the air, obtain the vertical velocity of the robot's contact point;

[0156] In response to the robot's contact point having a vertical velocity greater than a preset threshold, the control coefficient and / or the torque vector are reduced.

[0157] In one embodiment of this disclosure, when the instruction softening module is used to reduce the control coefficient and / or the torque vector, it is used to:

[0158] When the robot is in the final stage of takeoff, the control coefficient and / or the torque vector are reduced by a first proportion, wherein the final stage of takeoff includes the last second proportion of the takeoff duration, and the takeoff duration is determined based on the reference trajectory.

[0159] In one embodiment of this disclosure, the apparatus further includes a status module for:

[0160] The contact state of the robot's contact points is obtained, and the robot is determined to be in an airborne state based on the contact state.

[0161] Thirdly, at least one embodiment of this disclosure provides an electronic device, please refer to the appendix. Figure 4 It illustrates the structure of the robot, which 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 motion based on the method described in any of the first aspects when executing the computer instructions.

[0162] Fourthly, at least one embodiment of this disclosure provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any of the first aspects.

[0163] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0164] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A motion control method, characterized in that, The method includes: When the robot is in a state of airborne motion, the state variable error and control input error are tracked under constraints during the remaining airborne time to obtain the state variable optimization result and control input optimization result. The remaining airborne time includes the time from the current moment to the completion of the current action. The state variable error includes the error between the state variable within the preset reference trajectory and the state variable optimization result. The control input error includes the error between the control input within the reference trajectory and the control input optimization result. The constraints include at least one of the following: center of mass dynamics constraint, full kinematics constraint, and collision dynamics constraint. The robot is controlled to move based on the optimization results of the state variables and the optimization results of the input.

2. The motion control method according to claim 1, characterized in that, The reference trajectory includes state variables and control inputs at multiple reference times; the method further includes: Based on the state variables and control inputs at multiple reference times in the reference trajectory, determine the state variables and control inputs at at least one time other than the multiple reference times in the reference trajectory.

3. The motion control method according to claim 1, characterized in that, The state variables include a momentum vector and a position vector, wherein the momentum vector includes linear momentum and nonlinear momentum, and the position vector includes the floating base position and the joint position; and / or, The control input includes a joint velocity vector, which includes the velocity of the joint.

4. The motion control method according to claim 3, characterized in that, The constraints include at least one of the following: The momentum vector, position vector, and velocity vector of the robot in the air state conform to the dynamic model obtained based on the center of mass dynamics and the whole kinematics. The velocity vector includes the floating base velocity vector and the joint velocity vector, and the floating base velocity vector includes the velocity of the floating base. The robot's position and velocity vectors before and after completing the current action conform to a discrete dynamics mapping.

5. The motion control method according to claim 3, characterized in that, The step of controlling the robot to move based on the optimization results of the state variables and the optimization results of the control input includes: An acceleration vector is determined based on the joint velocity vector in the control input optimization result, and a torque vector is determined based on the acceleration vector, wherein the acceleration vector includes the joint acceleration and the torque vector includes the joint torque. The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector.

6. The motion control method according to claim 5, characterized in that, The step of controlling the robot's joints to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector includes: The robot's joints are controlled to move based on the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, the torque vector, the feedback position and feedback velocity of the joint, and the control coefficient.

7. The motion control method according to claim 6, characterized in that, The method further includes: When the robot is in the air, obtain the vertical velocity of the robot's contact point; In response to the robot's contact point having a vertical velocity greater than a preset threshold, the control coefficient and / or the torque vector are reduced.

8. The motion control method according to claim 7, characterized in that, The reduction of the control coefficient and / or the torque vector includes: When the robot is in the final stage of takeoff, the control coefficient and / or the torque vector are reduced by a first proportion, wherein the final stage of takeoff includes the last second proportion of the takeoff duration, and the takeoff duration is determined based on the reference trajectory.

9. The motion control method according to claim 1, characterized in that, The method further includes: The contact state of the robot's contact points is obtained, and the robot is determined to be in an airborne state based on the contact state.

10. A motion control device, characterized in that, The device includes: The tracking module is used to track the state variable error and control input error during the remaining airborne time under constraints when the robot is in an airborne state, and to obtain the state variable optimization result and control input optimization result. The remaining airborne time includes the time from the current moment to the completion of the current action. The state variable error includes the error between the state variable within the preset reference trajectory and the state variable optimization result. The control input error includes the error between the control input within the reference trajectory and the control input optimization result. The constraints include at least one of the following: center of mass dynamics constraints, full kinematics constraints, and collision dynamics constraints. The control module is used to control the robot to move based on the optimization results of the state variables and the optimization results of the input.

11. A robot, characterized in that, The robot includes a memory and a processor, the memory being used to store computer instructions that can be executed on the processor, and the processor being used to implement the method of any one of claims 1 to 9 when executing the computer instructions.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method of any one of claims 1 to 9.

Citation Information

Patent Citations

  • Quadruped robot multi-gait switching and control method and computer readable medium

    CN116627023A

  • KR1018101510000B1