Motion control method and device, robot and storage medium
By optimizing the state variables and control input based on constraints when the robot is in the vacant state, the problem that the robot's motion stability is affected by the impact of the landing collision impact is solved, and more stable motion control is achieved.
Patent Information
- Application Number
- CN202311436335.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2043-10-31
AI Technical Summary
When the robot performs a motion containing the vacant state, the motion stability of the robot is affected due to the collision impact at the time of landing.
When the robot is in a vacant state, the state variable and control input errors in the remaining vacant time are tracked under the constraints, and the state variable and control input are optimized to control the robot to perform motion. Specifically, it includes the establishment of continuous centroid dynamic equations and collision discrete dynamic models, based on these models for optimization and control.
By optimizing state variables and controlling inputs, the robot can continuously track the reference trajectory in the vacant state, and reach the expected state variable after collision, reducing collision impact and improving motion stability.
Smart Images

Figure CN119910635A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of robot technology, and in particular to a motion control method, device, robot and storage medium. Background Art
[0002] In recent years, the technology of robotics has been developing continuously, becoming more and more intelligent and automated, and the richness, stability and flexibility of actions have been improved to varying degrees. Robots can replace users in production and life to perform specific tasks, thus bringing convenience to users. In related technologies, when robots perform some movements that include the air state, the robot's movement stability is often affected by the collision impact at the moment of landing. Summary of the invention
[0003] In order to overcome the problems existing in the related art, the embodiments of the present disclosure provide a motion control method, device, robot and storage medium to solve the defects in the related art.
[0004] According to a first aspect of an embodiment of the present disclosure, a motion control method is provided, the method comprising:
[0005] When the robot is in the air, the state variable error and the control input error in the remaining air time are tracked under the constraint condition to obtain the state variable optimization result and the control input optimization result, wherein the remaining air 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 in the preset reference trajectory and the state variable optimization result, the control input error includes the error between the control input in the reference trajectory and the control input optimization result, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint;
[0006] The robot is controlled to move according to the state variable optimization result and the input optimization result.
[0007] In one embodiment of the present disclosure, the reference trajectory includes state variables and control inputs at multiple reference times; the method further includes:
[0008] According to the state variables and control inputs at multiple reference moments in the reference trajectory, the state variables and control inputs at at least one moment in the reference trajectory other than the multiple reference moments are determined.
[0009] In one embodiment of the present disclosure, the state variable includes a momentum vector and a position vector, wherein the momentum vector includes a linear momentum and a nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or,
[0010] The control input comprises a joint velocity vector comprising a velocity of a joint.
[0011] In one embodiment of the present disclosure, the constraint condition 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 according to the center of mass dynamics and the whole 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;
[0013] The position vector and velocity vector of the robot before and after completing the current action conform to the discrete dynamics mapping.
[0014] In one embodiment of the present disclosure, controlling the robot to move according to the state variable optimization result and the control input optimization result includes:
[0015] Determine an acceleration vector according to the joint velocity vector in the control input optimization result, and determine a torque vector according to the acceleration vector, wherein the acceleration vector includes the acceleration of the joint, and the torque vector includes the joint torque of the joint;
[0016] The joints of the robot are controlled to move according to 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 the present disclosure, controlling the joints of the robot to move according to 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 joints of the robot are controlled to move according to 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 the present disclosure, the method further includes:
[0020] When the robot is in the air, obtain the vertical velocity of the contact point of the robot;
[0021] In response to the speed of the contact point of the robot in the vertical direction being greater than a preset threshold, the control coefficient and / or the torque vector is reduced.
[0022] In one embodiment of the present disclosure, reducing the control coefficient and / or the torque vector includes:
[0023] When the robot is in the final stage of flight, the control coefficient and / or the torque vector are reduced according to a first ratio, wherein the final stage of flight includes a second ratio of the last flight duration, and the flight duration is determined according to a reference trajectory.
[0024] In one embodiment of the present disclosure, the method further includes:
[0025] A contact state of a contact point of the robot is obtained, and whether the robot is in a vacant state is determined according to the contact state.
[0026] According to a second aspect of an embodiment of the present disclosure, a motion control device is provided, the device comprising:
[0027] A tracking module, used for tracking the state variable error and control input error in the remaining air time under the constraint condition when the robot is in the air state, to obtain the state variable optimization result and the control input optimization result, wherein the remaining air 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 in the preset reference trajectory and the state variable optimization result, the control input error includes the error between the control input in the reference trajectory and the control input optimization result, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint;
[0028] The control module is used to control the robot to move according to the state variable optimization result and the input optimization result.
[0029] In one embodiment of the present disclosure, the reference trajectory includes state variables and control inputs at multiple reference moments; the device also includes an interpolation module for:
[0030] According to the state variables and control inputs at multiple reference moments in the reference trajectory, the state variables and control inputs at at least one moment in the reference trajectory other than the multiple reference moments are determined.
[0031] In one embodiment of the present disclosure, the state variable includes a momentum vector and a position vector, wherein the momentum vector includes a linear momentum and a nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or,
[0032] The control input comprises a joint velocity vector comprising a velocity of a joint.
[0033] In one embodiment of the present disclosure, the constraint condition 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 according to the center of mass dynamics and the whole 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;
[0035] The position vector and velocity vector of the robot before and after completing the current action conform to the discrete dynamics mapping.
[0036] In one embodiment of the present disclosure, the control module is used to:
[0037] Determine an acceleration vector according to the joint velocity vector in the control input optimization result, and determine a torque vector according to the acceleration vector, wherein the acceleration vector includes the acceleration of the joint, and the torque vector includes the joint torque of the joint;
[0038] The joints of the robot are controlled to move according to 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 the present disclosure, the control module is used to control the joints of the robot to move according to the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector, and is used to:
[0040] The joints of the robot are controlled to move according to 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 the present disclosure, the device further includes an instruction softening module, which is used to:
[0042] When the robot is in the air, obtain the vertical velocity of the contact point of the robot;
[0043] In response to the speed of the contact point of the robot in the vertical direction being greater than a preset threshold, the control coefficient and / or the torque vector is reduced.
[0044] In one embodiment of the present 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 flight, the control coefficient and / or the torque vector are reduced according to a first ratio, wherein the final stage of flight includes a second ratio of the last flight duration, and the flight duration is determined according to a reference trajectory.
[0046] In one embodiment of the present disclosure, the device further includes a state module, configured to:
[0047] A contact state of a contact point of the robot is obtained, and whether the robot is in a vacant state is determined according to the contact state.
[0048] According to a third aspect of an embodiment of the present disclosure, a robot is provided, comprising a memory and a processor, wherein the memory is used to store computer instructions executable on the processor, and the processor is used to implement the motion control method described in the first aspect when executing the computer instructions.
[0049] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method described in the first aspect is implemented.
[0050] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0051] The motion control method provided by the embodiment of the present disclosure tracks the state variable error and control input error in the remaining air time under the constraint condition when the robot is in the air, obtains the state variable optimization result and the control input optimization result, and controls the robot to move according to the state variable optimization result and the input optimization result. Since the remaining air 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 and the state variable optimization result in the preset reference trajectory, the control input error includes the error between the control input and the input optimization result in the reference trajectory, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint, the robot continues to track the reference trajectory in the air state and reaches the expected state variable after the collision, which makes the robot not too fast when landing, thereby reducing the collision impact and improving the robot's motion stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0053] Figure 1 A schematic diagram of the structure of a bipedal robot shown in an exemplary embodiment of the present disclosure;
[0054] Figure 2 A flowchart of a motion control method shown in an exemplary embodiment of the present disclosure;
[0055] Figure 3 A schematic structural diagram of a motion control device shown in an exemplary embodiment of the present disclosure;
[0056] Figure 4 A structural block diagram of a robot shown in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0057] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0058] The terms used in this disclosure are for the purpose of describing specific embodiments only and are not intended to limit the disclosure. The singular forms of "a", "said" and "the" used in this disclosure and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0059] It should be understood that although the terms first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present disclosure, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0060] In recent years, the technology of robotics has been developing continuously, becoming more and more intelligent and automated, and the richness, stability and flexibility of actions have been improved to varying degrees. Robots can replace users in production and life to perform specific tasks, thereby bringing convenience to users. In related technologies, when robots perform some high-dynamic movements that include a vacant state (i.e., high-dynamic movements are movements that include a vacant state), the robot's motion stability is often affected by the collision impact at the moment of landing.
[0061] For example, when a robot performs high-dynamic motion, it can do so by tracking its reference trajectory. Currently, for continuous dynamic systems, the reference trajectory can well reflect the actual dynamics of the robot. However, for high-dynamic motion, when the robot is completely airborne, the robot is in an under-driven passive motion process. The impact of the accumulated errors before taking off will erupt during the airborne phase, causing the actual state variables of the robot before landing to seriously deviate from the state variables within the reference trajectory, which makes the robot's controller easily diverge after landing and collides, resulting in a large collision impact that affects the robot's motion stability.
[0062] Based on this, at least one embodiment of the present disclosure provides a motion control method, which can be applied to robots, for example, to bipedal robots (humanoid robots) and quadrupedal robots (robot dogs). Figure 1 , which takes a biped robot as an example to illustrate the freedom structure of the robot. The biped robot includes two upper limbs and two lower limbs. The shoulder of the upper limb has three degrees of freedom in the directions of pitch, roll, and yaw, the elbow has one degree of freedom in the direction of pitch, and the wrist can also have two or three degrees of freedom. The hip of the lower limb has three degrees of freedom in the directions of pitch, roll, and yaw, the knee has one degree of freedom in the direction of pitch, and the ankle has two degrees of freedom in the directions of pitch and roll, wherein roll, pitch, and yaw are the directions of rotation around the X-axis, Y-axis, and Z-axis, respectively. There are two flat feet at the end of the lower limbs. By changing the contact state variables between the flat feet and the outside world, a variety of dynamic behaviors can be realized, such as walking, running, jumping, somersaults, stable operation, etc., wherein the flat feet (i.e., the robot) can have multiple contact points with the ground, such as at least two contact points of toe and heel.
[0063] The method can be applied when the robot performs high-dynamic motion, which can refer to motion that includes a completely airborne phase. For example, the method can optimize the robot's state variables and control inputs when the robot is in the airborne phase, so that the actual trajectory fits the preset reference trajectory and reaches the desired state variables within the reference trajectory when the robot hits the ground, thereby reducing the impact of the collision and improving the robot's motion stability.
[0064] The present disclosure first establishes the continuous center-of-mass dynamics equation in the air phase, and then establishes the collision discrete dynamics suitable for the legged robot based on the complete plastic collision construction, and then constructs the complete process of the method based on the above continuous center-of-mass dynamics equation and collision discrete dynamics. Therefore, before introducing the specific process of the method, the above continuous center-of-mass dynamics equation and collision discrete dynamics are first introduced in detail.
[0065] Continuous kinetic model
[0066] In the air phase, the entire robot system is regarded as a multi-rigid body system with a floating basis and no contact with the outside world. The generalized coordinates of the robot system are: n a is the number of drivable joints of the robot; where, is the position of the floating base B in the coordinate system I (i.e., the world coordinate system), r IB is the position, expressed as x, y, z coordinates, is the attitude angle, expressed as zyx-Euler angle; where q j is the joint position vector, including the position of each joint of the robot (i.e., the joint angle).
[0067] Furthermore, in the air phase, the multi-rigid body dynamics equation of the robot's full model can be:
[0068]
[0069] Where M and b represent the inertia matrix and nonlinear term (Coriolis force, centrifugal force and gravity in generalized coordinate space) respectively; τ is the torque vector, which contains the torque of each joint of the robot. is the selection matrix of the drivable joints, is the acceleration vector, which contains the acceleration of the robot's floating base and the acceleration of each joint.
[0070] Furthermore, in the air phase, the center of mass dynamics equation of the robot (i.e., the Newton-Euler equation applied to the center of mass (CoM) of the robot) can be:
[0071]
[0072] Where h = [h lin ,h ang ] T ∈R 6 It is the mass center momentum relative to the mass center coordinate system G, where the origin of G is located at the mass center and the direction of the coordinate axis is the same as that of the inertial coordinate system I. is the position of contact point i relative to the center of mass, and and They are the contact force and torque on the contact point i. In the air phase, there is no contact point in contact with the outside world, that is, the only external force is gravity, so the center of mass dynamics equation is simplified to:
[0073]
[0074] Through the centroidal momentum matrix (CMM) Relating the center of mass dynamics to whole-body kinematics yields the following equation:
[0075]
[0076] According to the above formula, we can get:
[0077]
[0078] Assume that the state variables and control inputs of the robot system are as follows:
[0079]
[0080] Represents the joint velocity vector, including the velocity of each joint of the robot.
[0081] Based on the center-of-mass dynamics, full kinematics, and the system's state variables and control inputs, we can get the following continuous kino-dynamics model of the robot in the air:
[0082]
[0083] Discrete Collision Dynamics Model
[0084] When a point or set of points on a legged robot hits the ground at a non-zero velocity, a collision occurs. The present disclosure uses the multi-rigid body fully plastic collision assumption, that is, in a rigid impact, the contact force spinor acts within a very small time interval and is modeled as an impulse vector. That is, during the collision, the robot's joint configuration (position quantity) will not change, but the generalized velocity will jump; after the collision, there is no relative motion between the two colliding bodies.
[0085] Based on the above analysis, the contact impact force δf is introduced on the basis of the multi-rigid body dynamics equation of the full model i The following model dynamic equation is obtained:
[0086]
[0087] Among them, J i is the velocity Jacobian matrix of the collision contact point, δf i It is the external force (impact in a short time) on the collision contact point. By "integrating" the "duration" of the impact, we can get:
[0088]
[0089] in, is the strength of the contact impact force under infinitesimal impact events, i.e., the contact impulse; the superscript “-” represents the pre-impact state variable, and the superscript “+” represents the post-impact state variable. According to the assumption, there must be q + =q - , for simplicity, the position quantity q is omitted in the following formula, and the constraint dynamics of the collision process is obtained:
[0090]
[0091] The second equation above indicates that after the collision, the velocity of the contact point is 0, that is, there is no relative motion with the outside world. Here, we can determine the generalized position and velocity before the collision based on the continuous center of mass dynamics above, so is a known item, and F i is an unknown term, they are related to There is a linear relationship between them. Through matrix operations, we can get:
[0092]
[0093] The above equation is the discrete collision dynamics of a legged robot landing from the air, which occurs at an instant. Through this dynamics, the generalized position and velocity of the robot after the collision can be predicted, that is, the discrete collision dynamics model of the robot is:
[0094]
[0095] Please refer to the attached Figure 2 , which shows the process of the method, including steps S201 to S103.
[0096] In step S201, when the robot is in the air, the state variable error and the control input error in the remaining air time are tracked under the constraint condition to obtain the state variable optimization result and the control input optimization result.
[0097] The remaining air time 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 (such as events in which the basic state variables of the contact point change). The above-mentioned current action can refer to the current action phase. For example, a flip motion includes a flight phase, and the remaining air time is the time from the current moment to the completion of the flight phase (i.e., the landing moment).
[0098] The state variable error includes the error between the state variable in the preset reference trajectory and the state variable optimization result, and the control input error includes the error between the control input in the reference trajectory and the control input optimization result. The reference trajectory may include state variables and control inputs at multiple moments. As described above, the state variable x includes a momentum vector h and a position vector q. The momentum vector h includes a linear momentum h. lin and nonlinear momentum h ang , the position vector q includes the floating base position q b and the joint position q j ; The control input u includes the joint velocity vector The joint velocity vector Including the velocities of the joints.
[0099] The reference trajectory can be a reference trajectory of high dynamic motion. The robot has obtained the reference trajectory before executing the method. The reference trajectory can be obtained by full model offline trajectory optimization, simplified model planning, human motion capture and collection processing, etc. The reference trajectory at least includes a reference curve X of the generalized state X changing with time. ref (t), where the generalized state X is as follows:
[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 is the position of the floating basis in the world coordinate system, q leg Represents the joint positions of the left and right lower limbs, q arm Represents the joint positions of the left and right upper limbs; represents the velocity vector, is the velocity of the floating basis in the world coordinate system, Represents the joint speed of the left and right lower limbs, represents the joint velocities of the left and right upper limbs; represents the acceleration vector, is the acceleration of the floating basis in the world coordinate system, represents the joint acceleration of the left and right lower limbs, Represents the joint acceleration of the left and right upper limbs.
[0102] Understandable, q j =[q leg ,q arm ] TRepresents the controllable joints of the legs and upper limbs. For a quadruped robot, there are four legs. It can be seen that the generalized state contains state variables and control inputs.
[0103] The constraint condition includes at least one of a center of mass dynamics constraint, a full kinematics constraint, and a collision dynamics constraint. Exemplarily, the constraint condition includes 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 whole 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) is the kino-dynamics model of the robot in the air phase mentioned above:
[0107]
[0108] Optional constraint 2: The position vector and velocity vector of the robot before and after completing the current action conform to the discrete dynamics mapping, that is:
[0109]
[0110] For example, the current action may refer to the current action phase of a high-dynamic motion. For example, a somersault motion includes a flying phase, and the period before and after the completion of 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, that is, 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 result generated in each control frame in this step includes the state variable optimization result in the remaining empty time, that is, the state variable optimization result of multiple control frames in the remaining empty time, and the control input optimization result generated includes the control input optimization result in the remaining empty time, that is, the control input optimization result of multiple control frames in the remaining empty time. The frequency of the control frame and the frequency of the reference moment are not necessarily the same and synchronized, so the state variables and control inputs of at least one moment in the reference trajectory other than the multiple reference moments (these moments may include all control frames in the remaining empty time) can also be determined based on the state variables and control inputs of the multiple reference moments in the reference trajectory.
[0112] For example, the state variables and control inputs of at least one time in the reference trajectory other than the multiple reference times can be obtained by interpolation. Specifically, for a certain time t, the reference times t1 and t2 on both sides of the time t can be found in the reference trajectory, and the generalized state at the time t can be obtained by the following difference method:
[0113]
[0114] Then, based on the generalized state at time t, the state variable x at time t can be obtained: * (t) and control input u * (t):
[0115]
[0116] Exemplarily, this step can track the state variable errors and control input errors of multiple control frames within the remaining air time by using an MPC (model predictive control) optimization method to obtain state variable optimization results and control input optimization results of multiple control frames within the remaining air time. For example, the following formula is used to establish an MPC optimization model:
[0117]
[0118] In the above formula, x is the state variable optimization result on multiple control frames, x * The state variables on multiple control frames in the reference trajectory, u is the control input optimization result on multiple control frames, u * The control inputs on multiple control frames in the reference trajectory, W1 and W2 are the weight matrices of 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 performed 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, this step uses the state variable optimization results and input optimization results of the current control frame obtained by executing step S201 on the current control frame 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, this step uses the state variable optimization results and input optimization results of the current control frame obtained by executing step S201 on 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 so that the trajectory satisfies the constraints (i.e., various physical constraints of high-dynamic motion and desired behaviors). Exemplarily, this step can be performed in the following manner:
[0122] First, an acceleration vector is determined according to a joint velocity vector in the control input optimization result, and a torque vector is determined according to the acceleration vector, wherein the acceleration vector includes the acceleration of the joint, and the torque vector includes the joint torque of the joint.
[0123] For example, the acceleration of each joint can be obtained by differentiating the velocity of each joint in the joint velocity vector, thereby obtaining the acceleration vector.
[0124] For example, the joint torque of each joint is obtained through the following inverse dynamics calculation:
[0125]
[0126] In the above formula, M and b are known parameters in the multi-rigid body dynamics equation of the full model of the robot mentioned above, and is the acceleration vector obtained in this step.
[0127] Next, the joints of the robot are controlled to move according to 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, according to 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, the joint of the robot is controlled to move. The joint velocity of the current frame in the joint velocity vector is used as the feedforward velocity The joint torque of the current frame in the torque vector is used as the feedforward torque Composition Instructions Sent to the joint control module to enable it to perform the following tracking control:
[0129]
[0130] In the above formula, τ j is the control torque, k p is the proportional coefficient in the control coefficient, k d is the differential coefficient in the control coefficient.
[0131] The motion control method provided by the embodiment of the present disclosure tracks the state variable error and control input error in the remaining air time under the constraint condition when the robot is in the air, obtains the state variable optimization result and the control input optimization result, and controls the robot to move according to the state variable optimization result and the input optimization result. Since the remaining air 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 and the state variable optimization result in the preset reference trajectory, the control input error includes the error between the control input and the input optimization result in the reference trajectory, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint, the robot continues to track the reference trajectory in the air state and reaches the expected state variable after the collision, which makes the robot not too fast when landing, thereby reducing the collision impact and improving the robot's motion stability.
[0132] In some embodiments of the present disclosure, the speed of the robot's contact point in the vertical direction can be obtained when the robot is in a vacant state; and in response to the speed of the robot's contact point in the vertical direction being greater than a preset threshold, the control coefficient and / or the torque vector can be reduced.
[0133] Among them, the collision impact received by the robot when landing is proportional to the vertical speed of its contact point relative to the outside world, that is, the greater the vertical speed of the contact point relative to the outside world, the greater the collision impact received by the robot when landing, and the smaller the vertical speed of the contact point relative to the outside world, the smaller the collision impact received by the robot when landing. Therefore, this embodiment can estimate the collision impact of the robot when landing by judging the speed of the robot's contact point in the vertical direction. If the speed of the robot's contact point in the vertical direction is greater than the preset threshold, it can be indicated that the collision impact of the robot when landing exceeds the acceptable range, and joint softening needs to be performed in the manner provided by this embodiment.
[0134] The joint softening in this embodiment can be: when the robot is in the final stage of the flight, the control coefficient and / or the torque vector are reduced according to a first ratio, wherein the final stage of the flight includes the duration of the last second ratio of the flight duration, and the flight duration is determined according to the 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 the feedforward torque vector can be reduced in the last 20% of the flight duration (i.e., the duration of the entire flight stage). Smoothly transition from the nominal value (i.e., the value obtained in step S201) to p times the nominal value:
[0135]
[0136] This embodiment can make the joint control stiffness relatively soft when the robot falls to the ground, so that it can buffer and absorb part of the impact energy, so as to effectively prevent the robot from bouncing relative to the ground and destroying the movement stability of the robot.
[0137] In some embodiments of the present disclosure, the contact state of the robot's contact point can be obtained, and whether the robot is in the air state can be determined according to the contact state variable. For example, in each control frame, whether the robot is in the air state can be determined according to the method of this embodiment. If the robot is in the air state, the following method can be used to determine whether the robot is in the air state. Figure 1 The method shown is used to control the robot to move.
[0138] The contact state may include the external force on the contact point, and the external force on the foot end can be calculated based on the external force received by each contact point on the foot end. If the absolute value of the linear component of the resultant force on the foot end in the previous frame is less than the threshold: ||f(t - )||<f thre , and the absolute value of the linear component of the resultant external force on the foot end in the current frame is not less than or equal to the threshold value ||f(t)||≥f thre , it can be determined that the robot is not in the air (i.e. has landed); if the absolute value of the linear component of the resultant force of the external force on the foot end in the previous frame is less than the threshold: ||f(t - )||<f thre , and the absolute value of the linear component of the resultant external force on the foot end in the current frame is less than or equal to the threshold value ||f(t - )||<f thre , it can be determined that the robot is in the air.
[0139] According to a second aspect of the present disclosure, a motion control device is provided. Figure 3 The device comprises:
[0140] A tracking module 301 is used to track the state variable error and the control input error in the remaining air time under the constraint condition when the robot is in the air state, and obtain the state variable optimization result and the control input optimization result, wherein the remaining air 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 in the preset reference trajectory and the state variable optimization result, the control input error includes the error between the control input in the reference trajectory and the control input optimization result, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint;
[0141] The control module 302 is used to control the robot to move according to the state variable optimization result and the input optimization result.
[0142] In one embodiment of the present disclosure, the reference trajectory includes state variables and control inputs at multiple reference moments; the device also includes an interpolation module for:
[0143] According to the state variables and control inputs at multiple reference moments in the reference trajectory, the state variables and control inputs at at least one moment in the reference trajectory other than the multiple reference moments are determined.
[0144] In one embodiment of the present disclosure, the state variable includes a momentum vector and a position vector, wherein the momentum vector includes a linear momentum and a nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or,
[0145] The control input comprises a joint velocity vector comprising a velocity of a joint.
[0146] In one embodiment of the present disclosure, the constraint condition 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 according to the center of mass dynamics and the whole 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;
[0148] The position vector and velocity vector of the robot before and after completing the current action conform to the discrete dynamics mapping.
[0149] In one embodiment of the present disclosure, the control module is used to:
[0150] Determine an acceleration vector according to the joint velocity vector in the control input optimization result, and determine a torque vector according to the acceleration vector, wherein the acceleration vector includes the acceleration of the joint, and the torque vector includes the joint torque of the joint;
[0151] The joints of the robot are controlled to move according to 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 the present disclosure, the control module is used to control the joints of the robot to move according to the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector, and is used to:
[0153] The joints of the robot are controlled to move according to 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 the present disclosure, the device further includes an instruction softening module, which is used to:
[0155] When the robot is in the air, obtain the vertical velocity of the contact point of the robot;
[0156] In response to the speed of the contact point of the robot in the vertical direction being greater than a preset threshold, the control coefficient and / or the torque vector is reduced.
[0157] In one embodiment of the present 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 flight, the control coefficient and / or the torque vector are reduced according to a first ratio, wherein the final stage of flight includes a second ratio of the last flight duration, and the flight duration is determined according to a reference trajectory.
[0159] In one embodiment of the present disclosure, the device further includes a state module, configured to:
[0160] A contact state of a contact point of the robot is obtained, and whether the robot is in a vacant state is determined according to the contact state.
[0161] In a third aspect, at least one embodiment of the present disclosure provides an electronic device. Figure 4 It shows 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 the movement based on any method described in the first aspect when executing the computer instructions.
[0162] In a fourth aspect, at least one embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements any of the methods described in the first aspect.
[0163] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the disclosure disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0164] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A motion control method, characterized in that: The method comprises: When the robot is in the air, the state variable error and the control input error in the remaining air time are tracked under the constraint condition to obtain the state variable optimization result and the control input optimization result, wherein the remaining air 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 in the preset reference trajectory and the state variable optimization result, the control input error includes the error between the control input in the reference trajectory and the control input optimization result, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint; The robot is controlled to move according to the state variable optimization result and the input optimization result.
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: According to the state variables and control inputs at multiple reference moments in the reference trajectory, the state variables and control inputs at at least one moment in the reference trajectory other than the multiple reference moments are determined.
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 a linear momentum and a nonlinear momentum, and the position vector includes a floating base position and a joint position; and / or, The control input comprises a joint velocity vector comprising a velocity of a joint.
4. The motion control method according to claim 3, characterized in that: The constraint condition includes 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 according to the center of mass dynamics and the whole 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; The position vector and velocity vector of the robot before and after completing the current action conform to the discrete dynamics mapping.
5. The motion control method according to claim 3, characterized in that: The step of controlling the robot to move according to the state variable optimization result and the control input optimization result comprises: Determine an acceleration vector according to the joint velocity vector in the control input optimization result, and determine a torque vector according to the acceleration vector, wherein the acceleration vector includes the acceleration of the joint, and the torque vector includes the joint torque of the joint; The joints of the robot are controlled to move according to 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 joints of the robot to move according to the position vector in the state variable optimization result, the joint velocity vector in the control input optimization result, and the torque vector comprises: The joints of the robot are controlled to move according to 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 comprises: When the robot is in the air, obtain the vertical velocity of the contact point of the robot; In response to the speed of the contact point of the robot in the vertical direction being greater than a preset threshold, the control coefficient and / or the torque vector is reduced.
8. The motion control method according to claim 7, characterized in that: The reducing the control coefficient and / or the torque vector comprises: When the robot is in the final stage of flight, the control coefficient and / or the torque vector are reduced according to a first ratio, wherein the final stage of flight includes a second ratio of the last flight duration, and the flight duration is determined according to a reference trajectory.
9. The motion control method according to claim 1, characterized in that: The method further comprises: A contact state of a contact point of the robot is obtained, and whether the robot is in a vacant state is determined according to the contact state.
10. A motion control device, characterized in that: The device comprises: A tracking module, used for tracking the state variable error and control input error in the remaining air time under the constraint condition when the robot is in the air state, to obtain the state variable optimization result and the control input optimization result, wherein the remaining air 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 in the preset reference trajectory and the state variable optimization result, the control input error includes the error between the control input in the reference trajectory and the control input optimization result, and the constraint condition includes at least one of the center of mass dynamics constraint, the full kinematics constraint and the collision dynamics constraint; The control module is used to control the robot to move according to the state variable optimization result and the input optimization result.
11. A robot, characterized in that: The robot comprises a memory and a processor, wherein the memory is used to store computer instructions executable on the processor, and the processor is used to implement the method according to 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 a processor, the method according to any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Establishment method of finite-state machine of robot, finite-state machine and robot
CN113156926A
Robot motion control method and device, robot and storage medium
CN114986526A
Quadruped robot multi-gait switching and control method and computer readable medium
CN116627023A
Robot mobility test system with collapse simulation
KR101810151B1
Cited By
A legged robot
CN122560079A
A foot-type robot
CN122560079B