Robot control method, device and storage medium

CN118456411BActive Publication Date: 2026-10-09BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310125820.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-31
Publication Date
2026-10-09
Estimated Expiration
2043-01-31

AI Technical Summary

Technical Problem

[0003]相关技术中,对于机器人的跳跃的控制,其控制精度不够高,导致无法对机器人进行有效控制

Benefits of technology

[0047] By acquiring reference data and actual data of the robot at the current control moment, where the reference data consists of reference physical values ​​corresponding to multiple target parts of the robot during target motion, and the actual data consists of actual physical values ​​corresponding to multiple target parts of the robot during target motion, the robot's actual posture is determined based on the actual data. This actual posture is either a support phase or a take-off phase. Then, based on the actual posture, and using the reference and actual data, the robot's first target control parameters are determined. Finally, the robot is controlled according to the first target control parameters. This disclosure improves the robot's control accuracy and achieves precise control during robot jumps by acquiring reference data and actual data corresponding to the robot at the current moment, determining the robot's current actual posture, and then determining the corresponding control parameters based on the actual posture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118456411B_ABST
    Figure CN118456411B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of robots, and particularly relates to a robot control method and device and a storage medium, the method comprising: obtaining reference data and actual data of a robot at a current control time, the reference data being reference physical values corresponding to a plurality of target positions when the robot performs target movement, the actual data being actual physical values corresponding to the plurality of target positions when the robot performs target movement, and determining an actual posture of the robot according to the actual data, the actual posture being one of a support phase and a clearance phase; determining first target control parameters of the robot based on the reference data and the actual data according to the actual posture; and finally controlling the robot according to the first target control parameters. The present disclosure can improve the control accuracy of the robot and realize accurate control of the robot when jumping by determining corresponding control parameters according to different actual postures.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of robotics, and in particular to a robot control method, apparatus, and storage medium. Background Technology

[0002] The movement of legged robots, especially the walking of humanoid robots, often has the characteristics of high nonlinearity, high degree of freedom, and hybrid continuous and discrete systems.

[0003] In related technologies, the control precision for robot jumping is not high enough, resulting in the inability to effectively control the robot. Summary of the Invention

[0004] To overcome the problems existing in related technologies, this disclosure provides a robot control method, device, and storage medium. By acquiring reference data and actual data corresponding to the robot's current moment, and determining the robot's current actual posture, the corresponding control parameters are then determined based on the actual posture. Determining the corresponding control parameters based on different actual postures can improve the robot's control accuracy.

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

[0006] The reference data and actual data of the robot at the current control moment are obtained. The reference data are the reference physical values ​​corresponding to multiple target parts when the robot performs target movement, and the actual data are the actual physical values ​​corresponding to multiple target parts when the robot performs target movement.

[0007] Based on the actual data, the actual posture of the robot is determined, which is either the support phase or the airborne phase.

[0008] Based on the actual posture, and using the reference data and the actual data, the first target control parameters of the robot are determined;

[0009] The robot is controlled according to the first target control parameters.

[0010] Optionally, the actual data includes a first support force of the first foot and a second support force of the second foot;

[0011] Determining the robot's actual posture based on the actual data includes:

[0012] When the smaller of the first support force and the second support force is greater than or equal to a first preset threshold, the actual posture of the robot is determined to be the support phase;

[0013] When the larger of the first support force and the second support force is less than or equal to a second preset threshold, and the duration of the support phase is greater than or equal to a preset time threshold, the actual posture of the robot is determined to be the airborne phase.

[0014] Optionally, the first target control parameters include first lower limb control parameters;

[0015] The step of determining the robot's first target control parameters based on the actual posture, the reference data, and the actual data includes:

[0016] When the actual posture is the support phase, with the goal of tracking the center of mass momentum and upper body posture, the control parameters of the robot's first lower limb are determined based on the reference data and the actual data.

[0017] Optionally, determining the control parameters of the robot's first lower limb, based on the reference data and the actual data, with the goal of tracking the center-of-mass momentum and upper body posture, includes:

[0018] Based on the reference data, determine the reference centroid linear momentum and the reference centroid position;

[0019] Based on the actual data, determine the actual centroid linear momentum and the actual centroid position;

[0020] Based on the reference center of mass momentum, the reference center of mass position, the actual center of mass momentum and the actual center of mass position, the first external force on the first foot and the second external force on the second foot of the robot are determined according to the center of mass momentum tracking control law and the upper body posture tracking control law.

[0021] Based on the first external force and the second external force, the first lower limb control parameters are determined, wherein the first lower limb control parameters are control parameters corresponding to multiple lower limb joints.

[0022] Optionally, the first target control parameter includes the second lower limb control parameter;

[0023] The step of determining the robot's first target control parameters based on the actual posture, the reference data, and the actual data includes:

[0024] When the actual posture is the airborne phase, with the target being the landing point of the foot, the control parameters of the robot's second lower limb are determined based on the reference data and the actual data.

[0025] Optionally, determining the robot's second lower limb control parameters based on the reference data and the actual data, with the goal of tracking the foot's landing point, includes:

[0026] Based on the reference data and the actual data, the center of mass velocity error of the robot in the target direction is determined, and the center of mass velocity error is used to adjust the position of the landing point relative to the center of mass;

[0027] Based on the reference positions and reference velocities of multiple lower limb joints in the reference data, and the center of mass velocity error, the second lower limb control parameters are determined. The second lower limb control parameters are the control parameters corresponding to the multiple lower limb joints.

[0028] Optionally, the method further includes:

[0029] Based on the reference data and the actual data, with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints, the second target control parameters of the robot are determined.

[0030] The step of controlling the robot according to the first target control parameters includes:

[0031] The robot is controlled according to the first target control parameter and the second target control parameter, wherein the first target control parameter is the control parameter corresponding to multiple lower limb joints of the robot, and the second target control parameter is the control parameter corresponding to multiple upper limb joints of the robot.

[0032] Optionally, determining the second target control parameters of the robot based on the reference data and the actual data, with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints, includes:

[0033] Based on the reference data, the reference center of mass angular momentum, as well as the reference positions and reference velocities of multiple upper limb joints, are determined.

[0034] Based on the actual data, determine the actual angular momentum of the center of mass and the actual positions and velocities of multiple upper limb joints;

[0035] The second target control parameters are determined based on the reference center of mass angular momentum, the reference positions and velocities of multiple upper limb joints, the actual center of mass angular momentum, and the actual positions and velocities of multiple upper limb joints.

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

[0037] The acquisition module is configured to acquire reference data and actual data of the robot at the current control moment. The reference data are reference physical values ​​corresponding to multiple target parts when the robot performs target movement, and the actual data are actual physical values ​​corresponding to multiple target parts when the robot performs target movement.

[0038] The first determining module is configured to determine the actual posture of the robot based on the actual data, wherein the actual posture is one of a support phase and a take-off phase.

[0039] The second determining module is configured to determine the first target control parameters of the robot based on the actual posture, the reference data, and the actual data.

[0040] The control module is configured to control the robot according to the first target control parameters.

[0041] According to a third aspect of the present disclosure, an electronic device is provided, comprising:

[0042] processor;

[0043] Memory used to store processor-executable instructions;

[0044] The processor is configured to perform the steps of the robot control method provided in the first aspect of this disclosure.

[0045] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided that stores computer program instructions thereon, which, when executed by a processor, implement the steps of the robot control method provided in the first aspect of the present disclosure.

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

[0047] By acquiring reference data and actual data of the robot at the current control moment, where the reference data consists of reference physical values ​​corresponding to multiple target parts of the robot during target motion, and the actual data consists of actual physical values ​​corresponding to multiple target parts of the robot during target motion, the robot's actual posture is determined based on the actual data. This actual posture is either a support phase or a take-off phase. Then, based on the actual posture, and using the reference and actual data, the robot's first target control parameters are determined. Finally, the robot is controlled according to the first target control parameters. This disclosure improves the robot's control accuracy and achieves precise control during robot jumps by acquiring reference data and actual data corresponding to the robot at the current moment, determining the robot's current actual posture, and then determining the corresponding control parameters based on the actual posture.

[0048] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

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

[0050] Figure 1 This is a flowchart illustrating a robot control method according to an exemplary embodiment.

[0051] Figure 2 This is a flowchart illustrating a method for determining the actual posture of a robot according to an exemplary embodiment.

[0052] Figure 3 This is a flowchart illustrating a method for determining control parameters of a first lower limb according to an exemplary embodiment.

[0053] Figure 4 This is a schematic diagram illustrating a robot coordinate system and joint distribution according to an exemplary embodiment.

[0054] Figure 5 This is a schematic diagram illustrating a robot jumping process according to an exemplary embodiment.

[0055] Figure 6 This is a schematic diagram illustrating a robot swinging its legs in mid-air according to an exemplary embodiment.

[0056] Figure 7 This is a flowchart illustrating a method for determining a second target control parameter of a robot according to an exemplary embodiment.

[0057] Figure 8 This is a block diagram of a robot control device according to an exemplary embodiment.

[0058] Figure 9 This is a block diagram illustrating a device for robot control according to an exemplary embodiment. Detailed Implementation

[0059] 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.

[0060] Figure 1 This is a flowchart illustrating a robot control method according to an exemplary embodiment, such as... Figure 1 As shown, it includes the following steps.

[0061] In step S101, the reference data and actual data of the robot at the current control moment are obtained. The reference data is the reference physical value corresponding to multiple target parts when the robot performs target movement, and the actual data is the actual physical value corresponding to multiple target parts when the robot performs target movement.

[0062] In this embodiment, during the robot's jumping process, the robot can be controlled according to a target time interval, for example, 100 milliseconds. Multiple control moments can be set based on this target time interval, and robot data can be acquired and control executed at the current control moment. The reference data can be obtained based on a reference trajectory, which is the reference trajectory for the robot's continuous jumping. This reference trajectory can be obtained through methods such as full-model offline trajectory optimization, simplified model planning, or human motion capture and processing. The target motion can be continuous jumping motion, and the reference physical values ​​corresponding to multiple target parts can be the pose (including x, y, z, roll, pitch, yaw) of the generalized state waist coordinate system (also known as the floating base) relative to the world coordinate system, along with its 6-dimensional velocity and 6-dimensional acceleration, as well as the position, velocity, and acceleration of all joints. The actual physical values ​​corresponding to multiple target parts can be the pose (including x, y, z, roll, pitch, yaw) of the robot's generalized state waist coordinate system (also known as the floating base) relative to the world coordinate system in six directions, as well as its six-dimensional velocity and six-dimensional acceleration, and the position, velocity, and acceleration of the joints throughout the body.

[0063] In step S102, the actual posture of the robot is determined based on the actual data. The actual posture is either the support phase or the airborne phase.

[0064] In this embodiment, the robot's actual posture can be determined based on its state during the jump. This actual posture is either the support phase or the take-off phase. The support phase can be the state during the landing period, and the take-off phase can be the state during the jump period.

[0065] In step S103, the first target control parameters of the robot are determined based on the actual posture, reference data, and actual data.

[0066] In this embodiment, different actual postures correspond to different control strategies. The first target control parameters of the robot can be obtained based on the control strategy corresponding to the actual posture and in combination with reference data and actual data.

[0067] In step S104, the robot is controlled according to the first target control parameters.

[0068] In this embodiment, the first target control parameter may include control parameters for multiple parts. Based on these control parameters, the movement of multiple parts can be controlled to achieve overall jumping control of the robot.

[0069] By repeatedly performing the above steps, the robot can be controlled at multiple control moments during its continuous jumps, thus achieving precise control of its continuous jumps.

[0070] This embodiment acquires reference data and actual data of the robot at the current control moment. The reference data consists of reference physical values ​​corresponding to multiple target parts when the robot performs target movement, and the actual data consists of the actual physical values ​​corresponding to multiple target parts when the robot performs target movement. Based on the actual data, the robot's actual posture is determined, which is either a support phase or a take-off phase. Then, based on the actual posture, the first target control parameters of the robot are determined using the reference data and actual data. Finally, the robot is controlled according to the first target control parameters. This disclosure improves the robot's control accuracy and achieves precise control during robot jumps by acquiring the reference data and actual data corresponding to the robot at the current moment, determining the robot's current actual posture, and then determining the corresponding control parameters based on the actual posture.

[0071] Figure 2 This is a flowchart illustrating a method for determining the actual posture of a robot according to an exemplary embodiment, such as... Figure 2 As shown, the actual data includes the first support force of the first foot and the second support force of the second foot.

[0072] Determining the robot's actual posture based on actual data can include the following steps:

[0073] In step S201, when the smaller of the first support force and the second support force is greater than or equal to the first preset threshold, the robot's actual posture is determined to be the support phase.

[0074] In this embodiment, the robot includes a first foot and a second foot. A first supporting force from the first foot and a second supporting force from the second foot can be obtained. Both the first and second supporting forces are vertical supporting forces acting on the foot. For example, when the robot's foot experiences the minimum vertical force from the ground... When the value is greater than or equal to the first preset value αmg, the robot enters the support phase; otherwise, it remains in the airborne phase. The minimum vertical supporting force is taken from the left and right feet. m is the robot's mass, and g is the acceleration due to gravity. α is a constant coefficient greater than 0 and less than 1, for example, 0.3, which can be adjusted according to the actual situation.

[0075] In step S202, when the larger of the first support force and the second support force is less than or equal to the second preset threshold, and the duration of the support phase is greater than or equal to the preset time threshold, the robot's actual posture is determined to be the airborne phase.

[0076] In this embodiment, when the robot is in the support phase, the maximum vertical force from the ground on the robot's feet occurs. Less than or equal to the second preset threshold βmg, and the duration t of entering the current support phase. s Greater than the preset time threshold T s When the robot enters the airborne phase, it will take off; otherwise, it will remain in the support phase. The maximum vertical force exerted on the left and right feet from the ground is taken as the metric. m is the robot's mass, and g is the acceleration due to gravity. β is a constant coefficient greater than 0 and less than 1, such as 0.2, which can be adjusted according to actual conditions. A preset time threshold T is used. s It can be determined based on the reference trajectory.

[0077] The first supporting force of the first foot and the second supporting force of the second foot can be determined by the following methods: First, a force sensor is installed on the foot to directly measure the magnitude of the foot force in the vertical direction. Second, a torque sensor is installed on the leg joints to first measure the torque of each leg joint, and then the magnitude of the foot force in the vertical direction is obtained through the static Jacobian mapping relationship.

[0078] Using the method described above, the robot's position (levitation or support phase) can be determined based on the first supporting force of the first foot and the second supporting force of the second foot. This allows for the determination of different control parameters based on different actual postures, achieving precise control.

[0079] In one possible implementation, the first target control parameter includes a first lower limb control parameter;

[0080] Based on the actual posture, and using reference data and actual data, the method for determining the robot's first target control parameters can be as follows: when the actual posture is the support phase, with the tracking of the center of mass momentum and upper body posture as the target, determine the robot's first lower limb control parameters based on reference data and actual data.

[0081] In this embodiment, when the actual posture is the support phase, a control strategy corresponding to the support can be determined. That is, with the goal of tracking the center of mass momentum and upper body posture, the first lower limb control parameters of the robot are determined based on the reference data and the actual data, so as to control multiple joints of the robot's lower limb according to the obtained first lower limb control parameters.

[0082] Figure 3 This is a flowchart illustrating a method for determining control parameters of a first lower limb according to an exemplary embodiment. Figure 4 This is a schematic diagram illustrating a robot coordinate system and joint distribution according to an exemplary embodiment. Figure 5 This is a schematic diagram illustrating a robot jumping process according to an exemplary embodiment, such as... Figures 3 to 5 As shown, in one possible implementation, with the goal of tracking the center-of-mass momentum and upper body posture, the control parameters of the robot's first lower limb are determined based on reference data and actual data, which may include the following steps:

[0083] In step S301, the reference centroid linear momentum and the reference centroid position are determined based on the reference data.

[0084] In this embodiment, with Figure 4 The proposed method is illustrated using a humanoid robot as an example. Figure 4 The humanoid robot shown has six joints in each leg: three hip joints in the yaw, roll, and pitch directions; one knee joint in the pitch direction; and two ankle joints in the pitch and roll directions. Each arm has at least four degrees of freedom: three shoulder joints in the pitch, roll, and yaw directions; one elbow joint in the pitch direction; and two to three wrist joints. Since the hand's mass and inertia are relatively small compared to the whole body, their impact on the robot's dynamics can be ignored, and the wrist joints can be disregarded. Roll, pitch, and yaw represent rotations about the local x, y, and z coordinates, respectively.

[0085] When a humanoid robot jumps, it divides the jump into a support phase and a flight phase, depending on whether its feet are in contact with the ground. By alternating between these two phases of lifting and landing, it completes a continuous jumping motion. Figure 5 As shown.

[0086] The reference trajectory includes at least a reference curve X representing the generalized state as it changes over time. ref (t), where the generalized state X includes the pose (x, y, z, roll, pitch, yaw) of the waist coordinate system (also known as the floating base) relative to the world coordinate system in six directions, as well as its six-dimensional velocity and six-dimensional acceleration, and the position, velocity, and acceleration of all joints in the body, as shown in the following equation:

[0087]

[0088] Where, q float =[q x ,q y ,q z ,q roll ,q pitc ,q yaw ]T ∈R 6×1 It is the position of the floating base in the world coordinate system, q leg ∈R 12×1 q represents the 12 joints of the left and right lower limbs. arm ∈R 8×1 Represents the eight joints of the left and right upper limbs. The velocity of the generalized q. and acceleration All of them are consistent with the dimension of q.

[0089] At each control moment, based on the current time t, the robot's center-of-mass momentum and its derivative can be calculated from the current generalized joint velocity in the reference data, as follows:

[0090]

[0091] For the sake of brevity, 't' is omitted in the following formulas. In the above formula, the superscript 'ref' represents the reference trajectory X. ref (t) is derived, where h is the robot's momentum, l is its linear momentum, and k is its angular momentum. A G Let be the robot's center-of-mass momentum matrix, a function of the generalized coordinate position q, which can be obtained from the robot's inertia matrix through coordinate transformation. ref ) is A G The independent variable. The product of the robot's center-of-mass momentum matrix and the generalized velocity can be obtained by coordinate transformation based on the robot's Coriolis force vector and centrifugal force vector. for The independent variable is determined by the above formula. Based on the reference data, the reference center-of-mass momentum and its reciprocal can be obtained, where the reference center-of-mass momentum includes the reference center-of-mass linear momentum and the reference center-of-mass angular momentum.

[0092] Furthermore, through forward kinematics, based on the generalized position q ref The reference trajectory can be calculated to determine the position of the robot's center of mass in the world coordinate system. That is, the reference centroid position of the robot.

[0093] Using the above method, the reference centroid momentum and the reference centroid position can be determined based on the reference data.

[0094] In step S302, the actual centroid linear momentum and the actual centroid position are determined based on the actual data.

[0095] In this embodiment, to achieve closed-loop control, in each control cycle, in addition to obtaining the reference center-of-mass momentum and its derivative according to equation (2) for the current control frame (i.e., the current control moment), the actual center-of-mass momentum and actual center-of-mass position can also be calculated. The actual center-of-mass momentum includes the actual linear momentum and angular momentum. Through the inertial measurement unit (IMU) installed on the upper body and the encoders at each joint, the robot's actual generalized state X at the current control moment can be obtained using an appropriate state estimation algorithm. act (t), where the superscript act is omitted in this disclosure, it is abbreviated as X(t). The actual center-of-mass momentum of the robot at the current control moment and its derivative can then be obtained by the following formula:

[0096]

[0097] The meaning of the symbol is the same as in formula (2), and will not be repeated here. A is omitted here. G and The independent variable. Furthermore, using forward kinematics, the actual center of mass position [x] of the robot in the world coordinate system can be calculated based on the generalized position q. com ,y com ,z com ] T .

[0098] In step S303, based on the reference center of mass momentum, reference center of mass position, actual center of mass momentum and actual center of mass position, the first external force on the first foot and the second external force on the second foot of the robot are determined according to the center of mass momentum tracking control law and the upper body posture tracking control law.

[0099] In this embodiment, during the robot's support phase, the controller's control objective is to track the robot's center-of-mass momentum l. ref and upper body posture (i.e., floating base q) float The three attitude angles (roll, pitch, yaw) are used. First, the desired external forces at the left and right feet are calculated. Since the centroidal momentum and upper body posture can be changed by external forces, let the desired external forces acting on the left and right foot coordinate systems be respectively... and Among them, F L That is, the first external force on the sole of the foot, F R This refers to the second external force on the second sole of the foot, which can be seen in the coordinate system of the left and right soles. Figure 1 .

[0100] Therefore, the momentum tracking control law along the center of mass is:

[0101]

[0102] The tracking control law for upper body posture is:

[0103]

[0104] in, and These represent vectors pointing from the centroid to the origin of the coordinate system for the left and right feet, respectively. × represents the cross product between the three-dimensional vectors. K1, K2, K3, and K4 are gain coefficient matrices, typically used as adjustable parameters.

[0105] Solving the simultaneous equations (4) and (5), the unknowns are: and It has 12 dimensions and 6 equations. (4)(5) The system of equations can be rearranged into C. 6×12 x 12×1 =d 6×1 The least squares solution to this system of equations is (C T C) -1 C T d, this solution is the expected external force [F] exerted on both feet from the ground. R ,F L [ ], that is, the first external force on the first foot and the second external force on the second foot.

[0106] In step S304, the first lower limb control parameters are determined based on the first external force and the second external force. The first lower limb control parameters are the control parameters corresponding to multiple lower limb joints.

[0107] In this embodiment, let the velocity Jacobian matrix of the robot from the waist coordinate system to the origin of the left and right foot coordinate systems be J. leg,L and J leg,R By using static Jacobian mapping, the desired plantar external force is mapped to the desired joint torque in the joint space:

[0108]

[0109] in, This refers to the first lower limb control parameter.

[0110] After obtaining the first lower limb control parameters, it is possible to... As a joint command, the torque is sent to multiple lower limb joints, and the joints can execute the torque command to complete the control of the lower limb during the support phase.

[0111] In one possible implementation, the first target control parameter includes the second lower limb control parameter;

[0112] Based on the actual posture, and using both reference and actual data, the robot's first target control parameters are determined, including:

[0113] When the actual posture is in the air phase, the control parameters of the robot's second lower limb are determined based on the reference data and actual data, with the target being the landing point of the foot.

[0114] In one possible implementation, the method for determining the robot's second lower limb control parameters based on reference data and the actual data, with the goal of tracking the landing point of the foot, can be as follows:

[0115] Based on reference data and actual data, the centroid velocity error of the robot in the target direction is determined. The centroid velocity error is used to adjust the position of the landing point relative to the centroid.

[0116] Based on the reference positions and velocities of multiple lower limb joints in the reference data, as well as the center of mass velocity error, the control parameters for the second lower limb are determined. The control parameters for the second lower limb are the control parameters corresponding to the multiple lower limb joints.

[0117] In this embodiment, since the robot's forward and backward center-of-gravity velocities tend to deviate from the desired reference center-of-gravity velocity during a jump, the landing point is adjusted during the airborne phase to stabilize or track the desired center-of-gravity velocity. The strategy here is:

[0118] Excluding the two hip joints (pitch) of the left and right legs, the desired positions of the other 10 joints of the legs are the reference joint positions in the reference trajectory.

[0119] Figure 6 This is a schematic diagram illustrating a robot's leg swing in mid-air according to an exemplary embodiment, such as... Figure 6 As shown, the hip pitch joint angle is adjusted based on the forward and backward center of mass velocity error, assuming the joint direction is as follows: Figure 6 As shown, the adjustment amount is Where ρ is a constant coefficient, which is an adjustable parameter based on the actual performance of the robot; by adjusting the angle of the hip pitch, the position of the foot landing point relative to the center of mass is adjusted.

[0120] The expected velocities of all 12 joints in the leg are the joint velocities in the reference trajectory.

[0121] In conclusion,

[0122]

[0123] Among them, i1 is the hip-pitch joint, and i2 is the other lower limb joints besides the hip-pitch joint.

[0124] The desired joint torque (i.e., the control parameter of the second lower limb) in the lower limb joint space is:

[0125]

[0126] Among them, K5 and K6 are gain coefficient matrices, which are generally used as adjustable parameters.

[0127] After obtaining the control parameters of the second lower limb using the above formula, the following can be used: As a joint command, the torque is sent to multiple lower limb joints, and the joints can execute the torque command to complete the control of the lower limb during the support phase.

[0128] Furthermore, in one feasible implementation, after the robot reaches its highest point in the air, during the descent, the parameters K5 and K6 are smoothly reduced. At the desired landing moment, the parameters K5 and K6 are reduced to γ ​​times their original values. 0 < γ < 1 are adjustable parameters. The purpose is to prevent the joint stiffness from being too large upon landing, thus providing a certain landing cushioning effect.

[0129] In one possible implementation, the robot's upper limb joints can also be controlled. Based on reference data and actual data, a second target control parameter for the robot can be determined with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints.

[0130] Controlling the robot according to the first target control parameters may include:

[0131] The robot is controlled according to a first target control parameter and a second target control parameter. The first target control parameter is the control parameter corresponding to multiple lower limb joints, and the second target control parameter is the control parameter corresponding to multiple upper limb joints.

[0132] In this embodiment, by controlling multiple lower limb joints and multiple upper limb joints, a more accurate control effect can be achieved.

[0133] Figure 7 This is a flowchart illustrating a method for determining a second target control parameter of a robot according to an exemplary embodiment, such as... Figure 7 As shown, in one possible implementation, based on reference data and actual data, determining the robot's second target control parameters, with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints, may include the following steps:

[0134] In step S701, the reference center of mass angular momentum and the reference positions and velocities of multiple upper limb joints are determined based on the reference data.

[0135] In this embodiment, the reference center-of-mass momentum can be obtained by referring to the method for determining the reference center-of-mass momentum described above, and the reference center-of-mass angular momentum can be obtained from the reference center-of-mass momentum. Furthermore, the reference positions and velocities of multiple upper limb joints are determined based on the reference trajectory.

[0136] In step S702, the actual center of mass angular momentum and the actual positions and velocities of multiple upper limb joints are determined based on the actual data.

[0137] In this embodiment, the actual center of mass momentum can be obtained by referring to the above-described method for determining the actual center of mass momentum, and the actual center of mass angular momentum can be obtained from the actual center of mass momentum. Furthermore, the actual positions and velocities of multiple upper limb joints can be determined based on actual data.

[0138] In step S703, the second target control parameters are determined based on the reference center of mass angular momentum, the reference positions and velocities of multiple upper limb joints, the actual center of mass angular momentum, and the actual positions and velocities of multiple upper limb joints.

[0139] In this embodiment, regardless of whether the robot is in the support phase or the airborne phase, the control objective of the upper limb joints is to control the robot's center of mass angular momentum in order to track the reference trajectory. We decompose the robot's center of mass momentum into three parts, as shown in the following equation:

[0140]

[0141] Take the last three rows of h, that is, the angular momentum k part:

[0142]

[0143] Here, a priority-stratified momentum control method is introduced to control the movement of the upper limbs.

[0144] First, the top priority task is to track the angular momentum of the reference center of mass:

[0145]

[0146] K7 is the gain matrix, an adjustable parameter.

[0147] Substituting (11) into (10), we get: in For unknown quantities, written as The forms include:

[0148]

[0149] Secondly, the second priority task is to track the position and velocity of the reference upper limb joints:

[0150]

[0151] Where K8 is the gain matrix, an adjustable parameter. It is also written as... The forms include:

[0152]

[0153] Where I represents the dimension and q arm An identity matrix of the same dimension.

[0154] Null space projection techniques can be used to ensure that the solution to the second priority task lies within the null space of the solution to the first priority task. Ultimately, the desired upper limb joint velocity is:

[0155]

[0156] At the current joint position q arm Based on this, the desired joint position is obtained by integrating the desired joint velocity:

[0157]

[0158] Where Δt is the controller cycle duration. The final expected joint torque in the upper limb joint space is:

[0159]

[0160] Among them, K9,K 10 This is the gain coefficient matrix, which is generally used as an adjustable parameter.

[0161] The second target control parameter τ can be obtained using the above method. arm . τ arm The torque command is sent to the upper limb joint, and the joint can complete the control of the upper limb by executing the torque command.

[0162] Since the model used to obtain the reference trajectory often has model errors compared to the actual humanoid robot, and the reference trajectory is a time-dependent open-loop trajectory, directly executing this trajectory by the joints often results in divergence. Therefore, to enable continuous jumping in the humanoid robot, this disclosure proposes a real-time closed-loop control method based on center-of-mass momentum control. This method achieves closed-loop tracking of the reference center-of-mass momentum through hierarchical control of the linear and angular momentum of the center-of-mass. The robot control method of this disclosure has the following advantages:

[0163] This method is a robot control approach based on center-of-mass momentum. It considers the coordinated action of the upper and lower limbs and determines different actual states based on the state machine, thereby assigning different control objectives and implementation methods. The controller for the upper limbs is a hierarchical controller, with the first priority being to ensure the stability and tracking of the robot's center-of-mass angular momentum. Therefore, the robustness of the system during jumping is greatly improved, enabling it to resist external disturbances and model matching errors.

[0164] The key feature of whole-body dynamics—center-of-mass momentum—is extracted. The control objective is to ensure tracking of the reference center-of-mass momentum and angular momentum, rather than tracking the reference trajectory of the generalized joints. Therefore, it can adapt to various humanoid robot structures and actuation methods, and the dependence on the accuracy of model information is greatly reduced.

[0165] The state machine based on the force on the sole of the foot can better reflect the key physical nature of continuous jumping.

[0166] Figure 8 This is a block diagram illustrating a robot control device according to an exemplary embodiment. (Refer to...) Figure 8 The device includes an acquisition module 801, a first determination module 802, a second determination module 803, and a control module 804.

[0167] The acquisition module 801 is configured to acquire reference data and actual data of the robot at the current control moment. The reference data are reference physical values ​​corresponding to multiple target parts when the robot performs target movement, and the actual data are actual physical values ​​corresponding to multiple target parts when the robot performs target movement.

[0168] The first determining module 802 is configured to determine the actual posture of the robot based on the actual data, wherein the actual posture is one of a support phase and a flight phase.

[0169] The second determining module 803 is configured to determine the first target control parameters of the robot based on the actual posture, the reference data, and the actual data.

[0170] The control module 804 is configured to control the robot according to the first target control parameters.

[0171] Optionally, the actual data includes a first support force of the first foot and a second support force of the second foot;

[0172] The first determining module 802 includes:

[0173] The first determining submodule is configured to determine the robot's actual posture as the support phase when the smaller of the first support force and the second support force is greater than or equal to a first preset threshold.

[0174] The second determining submodule is configured to determine the robot's actual posture as the airborne phase when the larger of the first support force and the second support force is less than or equal to a second preset threshold, and the duration of being in the support phase is greater than or equal to a preset time threshold.

[0175] Optionally, the first target control parameters include first lower limb control parameters;

[0176] The second determining module 803 includes:

[0177] The third determining submodule is configured to, with the actual posture being the support phase, determine the first lower limb control parameters of the robot based on the reference data and the actual data, with the goal of tracking the center-of-gravity momentum and upper body posture.

[0178] Optionally, the third determining submodule includes:

[0179] The first determining subunit is configured to determine the reference centroid linear momentum and the reference centroid position based on the reference data.

[0180] The second determining subunit is configured to determine the actual centroid linear momentum and the actual centroid position based on the actual data.

[0181] The third determining subunit is configured to determine the first external force on the first foot and the second external force on the second foot of the robot based on the reference center of mass momentum, the reference center of mass position, the actual center of mass momentum and the actual center of mass position, according to the center of mass momentum tracking control law and the upper body posture tracking control law.

[0182] The fourth determining subunit is configured to determine the first lower limb control parameters based on the first external force and the second external force, wherein the first lower limb control parameters are control parameters corresponding to multiple lower limb joints.

[0183] Optionally, the first target control parameter includes the second lower limb control parameter;

[0184] The second determining module 803 includes:

[0185] The fourth determining submodule is configured to, when the actual posture is the airborne phase, target the landing point of the foot and determine the second lower limb control parameters of the robot based on the reference data and the actual data.

[0186] Optionally, the fourth determining submodule includes:

[0187] The fifth determining subunit is configured to determine the center-of-gravity velocity error of the robot in the target direction based on the reference data and the actual data, wherein the center-of-gravity velocity error is used to adjust the position of the landing point relative to the center of gravity;

[0188] The sixth determining subunit is configured to determine the second lower limb control parameters based on the reference positions and reference velocities of multiple lower limb joints in the reference data, as well as the center of mass velocity error. The second lower limb control parameters are the control parameters corresponding to the multiple lower limb joints.

[0189] Optionally, the device 800 further includes:

[0190] The third determining module is configured to determine the second target control parameters of the robot based on the reference data and the actual data, with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints;

[0191] The control module 804 includes:

[0192] The control submodule is configured to control the robot according to the first target control parameter and the second target control parameter, wherein the first target control parameter is the control parameter corresponding to a plurality of lower limb joints and the second target control parameter is the control parameter corresponding to a plurality of upper limb joints.

[0193] Optionally, the third determining module includes:

[0194] The fifth determining submodule is configured to determine the reference center of mass angular momentum and the reference positions and reference velocities of multiple upper limb joints based on the reference data.

[0195] The sixth determining submodule is configured to determine the actual center of mass angular momentum and the actual position and actual velocity of multiple upper limb joints based on the actual data.

[0196] The seventh determining submodule is configured to determine the second target control parameters based on the reference center of mass angular momentum, the reference positions and velocities of multiple upper limb joints, the actual center of mass angular momentum, and the actual positions and velocities of multiple upper limb joints.

[0197] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0198] This disclosure also provides a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, implement the steps of the robot control method provided in this disclosure.

[0199] Figure 9 This is a block diagram illustrating an electronic device according to an exemplary embodiment. For example, device 900 may be a mobile phone, computer, messaging device, console, tablet device, etc.

[0200] Reference Figure 9 The device 900 may include one or more of the following components: a processing component 902, a memory 904, a power supply component 906, a multimedia component 908, an audio component 910, an input / output interface 912, a sensor component 914, and a communication component 916.

[0201] Processing component 902 typically controls the overall operation of device 900, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 902 may include one or more processors 920 to execute instructions to complete all or part of the steps of the robot control method described above. Furthermore, processing component 902 may include one or more modules to facilitate interaction between processing component 902 and other components. For example, processing component 902 may include a multimedia module to facilitate interaction between multimedia component 908 and processing component 902.

[0202] Memory 904 is configured to store various types of data to support the operation of device 900. Examples of this data include instructions for any application or method operating on device 900, contact data, phonebook data, messages, pictures, videos, etc. Memory 904 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0203] Power supply component 906 provides power to various components of device 900. Power supply component 906 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to device 900.

[0204] Multimedia component 908 includes a screen that provides an output interface between the device 900 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 908 includes a front-facing camera and / or a rear-facing camera. When the device 900 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0205] Audio component 910 is configured to output and / or input audio signals. For example, audio component 910 includes a microphone (MIC) configured to receive external audio signals when device 900 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 904 or transmitted via communication component 916. In some embodiments, audio component 910 also includes a speaker for outputting audio signals.

[0206] Input / output interface 912 provides an interface between processing component 902 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, start buttons, and lock buttons.

[0207] Sensor assembly 914 includes one or more sensors for providing status assessments of various aspects of device 900. For example, sensor assembly 914 may detect the on / off state of device 900, the relative positioning of components such as the display and keypad of device 900, changes in position of device 900 or a component of device 900, the presence or absence of user contact with device 900, orientation or acceleration / deceleration of device 900, and temperature changes of device 900. Sensor assembly 914 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 914 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 914 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.

[0208] Communication component 916 is configured to facilitate wired or wireless communication between device 900 and other devices. Device 900 can access wireless networks based on communication standards, such as WiFi, 2G, or 3G, or combinations thereof. In one exemplary embodiment, communication component 916 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 916 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0209] In an exemplary embodiment, the device 900 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the robot control method described above.

[0210] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 904 including instructions, which can be executed by a processor 920 of the device 900 to complete the robot control method described above. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0211] In another exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program executable by a programmable device, the computer program having a code portion for performing the robot control method described above when executed by the programmable device.

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

[0213] 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 robot control method, characterized in that, include: The reference data and actual data of the robot at the current control moment are obtained. The reference data are the reference physical values ​​corresponding to multiple target parts when the robot performs target movement, and the actual data are the actual physical values ​​corresponding to multiple target parts when the robot performs target movement. Based on the actual data, the actual posture of the robot is determined, which is either the support phase or the airborne phase. Based on the actual posture, and using the reference data and the actual data, the first target control parameters of the robot are determined; The robot is controlled according to the first target control parameters; Wherein, the first target control parameter includes a first lower limb control parameter; the step of determining the robot's first target control parameter based on the actual posture, the reference data, and the actual data includes: When the actual posture is the support phase, with the goal of tracking the center of mass momentum and upper body posture, the control parameters of the robot's first lower limb are determined based on the reference data and the actual data.

2. The robot control method according to claim 1, characterized in that, The actual data includes the first support force of the first foot sole and the second support force of the second foot sole; Determining the robot's actual posture based on the actual data includes: When the smaller of the first support force and the second support force is greater than or equal to a first preset threshold, the actual posture of the robot is determined to be the support phase; When the larger of the first support force and the second support force is less than or equal to a second preset threshold, and the duration of the support phase is greater than or equal to a preset time threshold, the actual posture of the robot is determined to be the airborne phase.

3. The robot control method according to claim 1, characterized in that, The method of determining the control parameters of the robot's first lower limb, based on the reference data and the actual data, with the goal of tracking the center-of-mass momentum and upper body posture, includes: Based on the reference data, determine the reference centroid linear momentum and the reference centroid position; Based on the actual data, determine the actual centroid linear momentum and the actual centroid position; Based on the reference center of mass momentum, the reference center of mass position, the actual center of mass momentum and the actual center of mass position, the first external force on the first foot and the second external force on the second foot of the robot are determined according to the center of mass momentum tracking control law and the upper body posture tracking control law. Based on the first external force and the second external force, the first lower limb control parameters are determined, wherein the first lower limb control parameters are control parameters corresponding to multiple lower limb joints.

4. The robot control method according to claim 1, characterized in that, The first target control parameters include the second lower limb control parameters; The step of determining the robot's first target control parameters based on the actual posture, the reference data, and the actual data includes: When the actual posture is the airborne phase, with the target being the landing point of the foot, the control parameters of the robot's second lower limb are determined based on the reference data and the actual data.

5. The robot control method according to claim 4, characterized in that, The method of determining the robot's second lower limb control parameters based on the reference data and the actual data, with the goal of tracking the foot's landing point, includes: Based on the reference data and the actual data, the center of mass velocity error of the robot in the target direction is determined, and the center of mass velocity error is used to adjust the position of the landing point relative to the center of mass; Based on the reference positions and reference velocities of multiple lower limb joints in the reference data, and the center of mass velocity error, the second lower limb control parameters are determined. The second lower limb control parameters are the control parameters corresponding to the multiple lower limb joints.

6. The robot control method according to claim 1, characterized in that, The method further includes: Based on the reference data and the actual data, with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints, the second target control parameters of the robot are determined. The step of controlling the robot according to the first target control parameters includes: The robot is controlled according to the first target control parameter and the second target control parameter, wherein the first target control parameter is the control parameter corresponding to the multiple lower limb joints of the robot, and the second target control parameter is the control parameter corresponding to the multiple upper limb joints of the robot.

7. The robot control method according to claim 6, characterized in that, The step of determining the second target control parameters of the robot based on the reference data and the actual data, with the goal of tracking the center of mass angular momentum and the position and velocity of multiple upper limb joints, includes: Based on the reference data, the reference center of mass angular momentum, as well as the reference positions and velocities of multiple upper limb joints, are determined. Based on the actual data, determine the actual angular momentum of the center of mass and the actual positions and velocities of multiple upper limb joints; The second target control parameters are determined based on the reference center of mass angular momentum, the reference positions and velocities of multiple upper limb joints, the actual center of mass angular momentum, and the actual positions and velocities of multiple upper limb joints.

8. A robot control device, characterized in that, include: The acquisition module is configured to acquire reference data and actual data of the robot at the current control moment. The reference data are reference physical values ​​corresponding to multiple target parts when the robot performs target movement, and the actual data are actual physical values ​​corresponding to multiple target parts when the robot performs target movement. The first determining module is configured to determine the actual posture of the robot based on the actual data, wherein the actual posture is one of a support phase and a take-off phase. The second determining module is configured to determine the first target control parameters of the robot based on the actual posture, the reference data, and the actual data. The control module is configured to control the robot according to the first target control parameters; Wherein, the first target control parameters include first lower limb control parameters, and the second determining module is configured as follows: When the actual posture is the support phase, with the goal of tracking the center of mass momentum and upper body posture, the control parameters of the robot's first lower limb are determined based on the reference data and the actual data.

9. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to perform the steps of the robot control method according to any one of claims 1 to 7.

10. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, they implement the steps of the robot control method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Robot, bounce control method and devices thereof and computer readable storage medium

    CN109693237A

  • Control method and device for bionic jumping action of quadruped robot, electronic equipment and computer readable medium

    CN112207825A

  • Motion control method and system of position control leg-foot robot

    CN114625129A