Robot, motion control method and device thereof, and storage medium

CN118081729BActive Publication Date: 2026-09-29BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211468077.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-22
Publication Date
2026-09-29
Estimated Expiration
2042-11-22

AI Technical Summary

Benefits of technology

[0094]本公开实施方式的机器人运动控制方法,包括根据机器人运动时的实际状态信息和姿态指令信息,确定机器人手臂关节期望角加速度与手臂关节动量的第一对应关系,以及手臂关节期望角加速度与手臂末端加速度的第二对应关系,根据第一对应关系和第二对应关系确定手臂关节期望角加速度,根据手臂关节期望角加速度确定机器人手臂各关节的目标力矩,并根据目标力矩控制手臂各关节进行运动。本公开实施方式中,根据机器人运动过程中的手臂动量控制和手臂关节控制得到手臂关节期望角加速度,而且采用加速度级手臂控制,提高手臂控制的精度和效果,机器人行走过程中摆臂更加稳定自然。而且基于全动力学模型充分考虑每个关节运动对yaw方向的影响,从而缓解或消除机器人行走过程中yaw方向的转动偏移,提高机器人行走稳定性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118081729B_ABST
    Figure CN118081729B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of robots, and specifically provides a robot, a motion control method and device thereof, and a storage medium. A robot motion control method includes determining a first correspondence relationship and a second correspondence relationship according to actual state information and attitude instruction information when the robot is in motion, determining an arm joint expected angular acceleration according to the first correspondence relationship and the second correspondence relationship, determining target torques of each joint of a robot arm according to the arm joint expected angular acceleration, and controlling each joint of the arm to move according to the target torques. In the present disclosure, acceleration level arm control is adopted to improve the precision and effect of arm control, and the robot arm swings more stably and naturally during the robot walking process. Moreover, the influence of the motion of each joint on the yaw direction is fully considered based on a full dynamics model, thereby relieving or eliminating the rotational deviation of the yaw direction during the robot walking process and improving the walking stability of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Nowadays, robots are widely used in various life scenarios. Taking bipedal robots as an example, bipedal robots are closer to human movement than quadrupedal robots, and bipedal robots can free up the upper limbs, thus enabling more operations. Therefore, motion control of bipedal robots is one of the key research directions in the field of robotics. Summary of the Invention

[0003] To improve the motion control effect of robots, this disclosure provides a robot and its motion control method, device, and storage medium.

[0004] In a first aspect, embodiments of this disclosure provide a robot motion control method, including:

[0005] Based on the actual state information and posture command information of the robot during movement, a first correspondence between the expected angular acceleration of the robot arm joint and the momentum of the arm joint is determined;

[0006] Based on the actual state information and posture command information of the robot during movement, a second correspondence between the expected angular acceleration of the robot arm joint and the acceleration of the arm end is determined;

[0007] The desired angular acceleration of the arm joint during robot movement is determined based on the first correspondence and the second correspondence.

[0008] The target torque of each joint of the arm is determined based on the desired angular acceleration of the arm joint, and the movement of each joint of the arm is controlled based on the target torque.

[0009] In some implementations, determining the first correspondence between the desired angular acceleration of the robot arm joint and the momentum of the arm joint based on the robot's actual state information and posture command information during movement includes:

[0010] The arm yaw component of the robot's center of mass momentum matrix is ​​determined based on the actual state information.

[0011] Based on the actual state information and the posture command information, the desired momentum of the robot's arm joints is determined;

[0012] The first correspondence is obtained based on the arm yaw component, the desired angular acceleration of the arm joint, and the desired momentum of the arm joint.

[0013] In some implementations, determining the arm yaw component of the robot's center-of-mass momentum matrix based on the actual state information includes:

[0014] The center-of-mass momentum matrix of the robot during motion is determined based on the actual state information.

[0015] Determine the arm momentum matrix based on the mass center momentum matrix;

[0016] The arm momentum matrix is ​​processed based on the yaw direction matrix to obtain the arm yaw component.

[0017] In some implementations, determining the desired momentum of the robot's arm joints based on the actual state information and the posture command information includes:

[0018] Based on the actual state information and the posture command information, the expected momentum derivative, the actual angular velocity of each joint, the center of mass momentum matrix and its derivative, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint are determined when the robot moves.

[0019] The floating base joint matrix and the leg joint matrix are obtained based on the mass momentum matrix.

[0020] The desired momentum of the arm joint is obtained based on the yaw direction matrix, the desired momentum derivative, the actual angular velocity of each joint, the derivative of the center of mass momentum matrix, the floating base joint matrix, the desired angular acceleration of the floating base joint, the leg joint matrix, and the desired angular acceleration of the leg joint.

[0021] In some implementations, determining the desired momentum derivative of the robot during motion based on the actual state information and the posture command information includes:

[0022] Based on the posture command information and the actual state information, determine the expected linear momentum derivative and the expected angular momentum derivative of the robot during its motion;

[0023] The desired momentum derivative is obtained from the desired linear momentum derivative and the desired angular momentum derivative.

[0024] In some implementations, determining the second correspondence between the desired angular acceleration of the robot arm joints and the acceleration of the end effector, based on the robot's actual state information and posture command information during movement, includes:

[0025] The robot's end-effector velocity matrix is ​​determined based on the actual state information;

[0026] Based on the actual state information and the posture command information, the target acceleration component of the robot's arm end is determined; the target acceleration component is the component of the arm end acceleration at the arm joint.

[0027] The second correspondence is obtained based on the arm end velocity matrix, the desired angular acceleration of the arm joint, and the target acceleration component.

[0028] In some implementations, determining the robot's end-effector velocity matrix based on the actual state information includes:

[0029] The actual angles of each joint during robot movement are determined based on the actual state information, and the mapping matrix from the angular velocity of each joint to the end-effector velocity is determined based on the actual angles of each joint.

[0030] The end-effector velocity matrix is ​​obtained from the mapping matrix.

[0031] In some implementations, determining the target acceleration component at the end of the robot's arm based on the actual state information and the attitude command information includes:

[0032] Based on the actual state information and the posture command information, determine the expected acceleration of the end effector of the arm, the actual angular velocity of each joint, the mapping matrix from the angular velocity of each joint to the end effector velocity of the arm, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint during the robot's movement.

[0033] The floating basis mapping matrix and the leg mapping matrix are obtained based on the mapping matrix.

[0034] The target acceleration components are obtained based on the desired acceleration at the end of the arm, the derivative of the mapping matrix, the actual angular velocities of each joint, the floating base mapping matrix, the desired angular acceleration of the floating base joints, the leg mapping matrix, and the desired angular acceleration of the leg joints.

[0035] In some implementations, determining the desired acceleration of the robot's end effector during movement based on the actual state information and the posture command information includes:

[0036] Based on the posture command information, the reference acceleration, reference velocity, and reference position of the robot's end effector during movement are determined.

[0037] Based on the actual state information, determine the actual speed and actual position of the robot's end effector during movement;

[0038] The desired acceleration of the arm end is obtained based on the arm end reference acceleration, arm end reference velocity, arm end reference position, arm end actual velocity, and arm end actual position.

[0039] In some implementations, determining the desired angular acceleration of the arm joint during robot movement based on the first and second correspondences includes:

[0040] Based on the first correspondence, the desired angular acceleration of the arm joint is solved in null space to obtain the underdetermined equation corresponding to the first correspondence.

[0041] Based on the underdetermined equation and the second correspondence, determine the target result of any vector in the underdetermined equation;

[0042] Based on the target result and the first correspondence, the desired angular acceleration of the arm joint is obtained.

[0043] In some embodiments, determining the target torque of each joint of the arm during robot movement based on the desired angular acceleration of the arm joints includes:

[0044] Based on the posture command information, determine the desired angular velocity and desired angle of the robot's arm joints during movement;

[0045] Based on the actual state information, determine the actual angular velocity and actual angle of the robot's arm joints during movement;

[0046] The target torque of each joint of the robot arm is obtained based on the expected angular acceleration, expected angular velocity, expected angle, actual angular velocity, and actual angle of the arm joint.

[0047] Secondly, embodiments of this disclosure provide a robot motion control device, comprising:

[0048] The arm momentum control module is configured to determine a first correspondence between the desired angular acceleration of the robot arm joint and the arm joint momentum based on the actual state information and posture command information of the robot during movement.

[0049] The arm joint control module is configured to determine a second correspondence between the desired angular acceleration of the robot arm joint and the acceleration of the arm end effector based on the actual state information and posture command information of the robot during movement.

[0050] The arm motion solving module is configured to determine the desired angular acceleration of the arm joint during robot motion based on the first correspondence and the second correspondence.

[0051] The arm motor control module is configured to determine the target torque of each joint of the arm when the robot moves based on the desired angular acceleration of the arm joint, and control each joint of the arm to move according to the target torque.

[0052] In some implementations, the arm momentum control module is configured to:

[0053] The arm yaw component of the robot's center of mass momentum matrix is ​​determined based on the actual state information.

[0054] Based on the actual state information and the posture command information, the desired momentum of the robot's arm joints is determined;

[0055] The first correspondence is obtained based on the arm yaw component, the desired angular acceleration of the arm joint, and the desired momentum of the arm joint.

[0056] In some implementations, the arm momentum control module is configured to:

[0057] The center-of-mass momentum matrix of the robot during motion is determined based on the actual state information.

[0058] Determine the arm momentum matrix based on the mass center momentum matrix;

[0059] The arm momentum matrix is ​​processed based on the yaw direction matrix to obtain the arm yaw component.

[0060] In some implementations, the arm momentum control module is configured to:

[0061] Based on the actual state information and the posture command information, the expected momentum derivative, the actual angular velocity of each joint, the center of mass momentum matrix and its derivative, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint are determined when the robot moves.

[0062] The floating base joint matrix and the leg joint matrix are obtained based on the mass momentum matrix.

[0063] The desired momentum of the arm joint is obtained based on the yaw direction matrix, the desired momentum derivative, the actual angular velocity of each joint, the derivative of the center of mass momentum matrix, the floating base joint matrix, the desired angular acceleration of the floating base joint, the leg joint matrix, and the desired angular acceleration of the leg joint.

[0064] In some implementations, the arm momentum control module is configured to:

[0065] Based on the posture command information and the actual state information, determine the expected linear momentum derivative and the expected angular momentum derivative of the robot during its motion;

[0066] The desired momentum derivative is obtained from the desired linear momentum derivative and the desired angular momentum derivative.

[0067] In some embodiments, the arm joint control module is configured to:

[0068] The robot's end-effector velocity matrix is ​​determined based on the actual state information;

[0069] Based on the actual state information and the posture command information, the target acceleration component of the robot's arm end is determined; the target acceleration component is the component of the arm end acceleration at the arm joint.

[0070] The second correspondence is obtained based on the arm end velocity matrix, the desired angular acceleration of the arm joint, and the target acceleration component.

[0071] In some embodiments, the arm joint control module is configured to:

[0072] The actual angles of each joint during robot movement are determined based on the actual state information, and the mapping matrix from the angular velocity of each joint to the end-effector velocity is determined based on the actual angles of each joint.

[0073] The end-effector velocity matrix is ​​obtained from the mapping matrix.

[0074] In some embodiments, the arm joint control module is configured to:

[0075] Based on the actual state information and the posture command information, determine the expected acceleration of the end effector of the arm, the actual angular velocity of each joint, the mapping matrix from the angular velocity of each joint to the end effector velocity of the arm, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint during the robot's movement.

[0076] The floating basis mapping matrix and the leg mapping matrix are obtained based on the mapping matrix.

[0077] The target acceleration components are obtained based on the desired acceleration at the end of the arm, the derivative of the mapping matrix, the actual angular velocities of each joint, the floating base mapping matrix, the desired angular acceleration of the floating base joints, the leg mapping matrix, and the desired angular acceleration of the leg joints.

[0078] In some embodiments, the arm joint control module is configured to:

[0079] Based on the posture command information, the reference acceleration, reference velocity, and reference position of the robot's end effector during movement are determined.

[0080] Based on the actual state information, determine the actual speed and actual position of the robot's end effector during movement;

[0081] The desired acceleration of the arm end is obtained based on the arm end reference acceleration, arm end reference velocity, arm end reference position, arm end actual velocity, and arm end actual position.

[0082] In some implementations, the arm motion solving module is configured as follows:

[0083] Based on the first correspondence, the desired angular acceleration of the arm joint is solved in null space to obtain the underdetermined equation corresponding to the first correspondence.

[0084] Based on the underdetermined equation and the second correspondence, determine the target result of any vector in the underdetermined equation;

[0085] Based on the target result and the first correspondence, the desired angular acceleration of the arm joint is obtained.

[0086] In some implementations, the arm motor control module is configured to:

[0087] Based on the posture command information, determine the desired angular velocity and desired angle of the robot's arm joints during movement;

[0088] Based on the actual state information, determine the actual angular velocity and actual angle of the robot's arm joints during movement;

[0089] The target torque of each joint of the robot arm is obtained based on the expected angular acceleration, expected angular velocity, expected angle, actual angular velocity, and actual angle of the arm joint.

[0090] Thirdly, this disclosure provides a robot, including:

[0091] processor; and

[0092] A memory storing computer instructions for causing a computer to perform the method according to any embodiment of the first aspect.

[0093] Fourthly, embodiments of this disclosure provide a storage medium storing computer instructions for causing a computer to perform the method described according to any embodiment of the first aspect.

[0094] The robot motion control method of this disclosure includes determining a first correspondence between the desired angular acceleration of the robot arm joints and the momentum of the arm joints, and a second correspondence between the desired angular acceleration of the arm joints and the acceleration of the arm's end effector, based on the actual state information and posture command information of the robot during movement. The desired angular acceleration of the arm joints is determined based on the first and second correspondences. A target torque is determined for each joint of the robot arm based on the desired angular acceleration of the arm joints. The movement of each joint of the arm is then controlled based on the target torque. In this disclosure, the desired angular acceleration of the arm joints is obtained based on the arm momentum control and arm joint control during robot movement. Furthermore, acceleration-level arm control is employed to improve the accuracy and effectiveness of arm control, resulting in more stable and natural arm swing during robot walking. Moreover, based on a full dynamics model, the influence of each joint movement on the yaw direction is fully considered, thereby mitigating or eliminating rotational deviation in the yaw direction during robot walking and improving robot walking stability. Attached Figure Description

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

[0096] Figure 1 These are schematic diagrams illustrating robot application scenarios according to some embodiments of this disclosure.

[0097] Figure 2 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0098] Figure 3 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0099] Figure 4 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0100] Figure 5 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0101] Figure 6 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0102] Figure 7 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0103] Figure 8 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0104] Figure 9 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0105] Figure 10 This is a flowchart of a robot motion control method according to some embodiments of the present disclosure.

[0106] Figure 11 This is a structural block diagram of a robot motion control device according to some embodiments of the present disclosure.

[0107] Figure 12 This is a structural block diagram of a robot according to some embodiments of the present disclosure. Detailed Implementation

[0108] The technical solutions of this disclosure will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure. Furthermore, the technical features involved in the different embodiments of this disclosure described below can be combined with each other as long as they do not conflict with each other.

[0109] Nowadays, robots are widely used in various life scenarios. Taking bipedal robots as an example, bipedal robots are closer to human movement than quadrupedal robots, and bipedal robots can free up the upper limbs, thus enabling more operations. Therefore, the movement control of bipedal robots is one of the key research directions in the field of robotics.

[0110] Early research on bipedal robot walking control generally did not consider the movement of the robot's arms, focusing only on the control of the lower body's legs. Moreover, the robot's walking in a certain direction was often simplified to a two-dimensional planar motion, which led to the neglect of the rotational offset along the yaw direction during the robot's walking process. Especially when the robot's leg mass / inertia and walking speed are large, the rotational offset along the yaw direction will cause the robot's feet to rotate and slide relative to the ground, seriously affecting the robot's walking stability.

[0111] Recent research shows that arm swinging can effectively reduce or even eliminate rotational offset along the yaw direction during robot walking. In other words, it allows bipedal robots to walk in a manner similar to humans, extending one arm forward while stepping forward with one leg. The arm swinging can precisely cancel out the yaw offset caused by the leg swinging, thus producing a natural and stable walking gait.

[0112] However, for robot control, the swinging of the arm is closely related to the swinging of the leg. Therefore, how to control the swinging of the arm based on the swinging parameters of the robot's leg is an important challenge in robot motion control.

[0113] In related technologies, to achieve arm control during robot movement, a bipedal robot is simplified into a 9-link model, and each arm is simplified into a two-degree-of-freedom mechanism. Based on the leg and arm movements, corresponding dynamic balance equations are established, and a quadratic optimization problem is constructed with energy minimization as the optimization objective to obtain the torques at each joint of the arm.

[0114] However, this approach uses a simplified model, reducing each arm to a two-degree-of-freedom mechanism. This fails to fully utilize the robot arm's degrees of freedom, resulting in an unnatural swing motion. Furthermore, it does not consider the robot's moment of inertia, leading to inaccurate estimation of the yaw torque and poor walking stability.

[0115] Based on the deficiencies in the aforementioned related technologies, this disclosure provides a robot and its motion control method, device, and storage medium, aiming to improve the arm control effect during robot walking and enhance the robot's motion stability.

[0116] Figure 1 The following diagram illustrates the motion scenarios of a bipedal robot in some embodiments of this disclosure. Figure 1 The principle of robot motion according to the embodiments of this disclosure will be explained.

[0117] like Figure 1 As shown, a bipedal robot is a humanoid robot consisting of an upper body and a lower body. The upper body includes two arms, a fuselage, and a head, while the lower body includes a waist, two legs, and two feet. The robot's movement is driven by joint motors located at each joint. During walking, the two legs constantly alternate between swinging and supporting positions. Simultaneously, the arms coordinate with the leg movements to reduce or eliminate yaw deviation during walking, making the robot's walking more stable and natural.

[0118] For example Figure 1 In the example, when the robot steps forward with its right leg, it needs to simultaneously swing its left arm forward. Moreover, as the robot's stride length increases, the amplitude of its arm swing should also increase; that is, the robot's arm swing should be adjusted in real time according to the leg movement to ensure the stability of the robot's walking.

[0119] The robot motion control method disclosed herein controls the joints of the robot arm based on motion parameters during robot movement, thereby mitigating or eliminating yaw direction deviation caused by robot leg movement, ensuring the stability of robot walking, and making the robot walking process similar to that of humans, making the entire movement process more coordinated and natural.

[0120] like Figure 2 As shown, in some embodiments, the robot motion control method of this disclosure includes:

[0121] S210. Based on the actual state information and posture command information of the robot during movement, determine the first correspondence between the expected angular acceleration of the robot arm joint and the momentum of the arm joint.

[0122] S220. Based on the actual state information and posture command information of the robot during movement, determine the second correspondence between the expected angular acceleration of the robot arm joint and the acceleration of the end effector.

[0123] In this embodiment, the robot's actual state information can be understood as the robot's current actual posture information, which may include, for example, the actual angles and angular velocities of each joint. In some embodiments, the actual state information can be calculated based on information collected by joint sensors and inertial sensors installed on the robot, which will not be elaborated further in this disclosure.

[0124] The posture command information may include the desired motion information obtained by the robot based on user instructions, reflecting the desired posture information of each joint of the robot. For example, in some embodiments, when controlling a bipedal robot, the user inputs corresponding user instructions through a remote control. User instructions may include, for example, "forward," "backward," "sideways," etc. Based on the user instructions or further combined with robot motion feedback information, state estimation is performed to obtain the posture command information. Those skilled in the art will undoubtedly understand and fully implement this in conjunction with relevant technologies, and this disclosure will not elaborate further.

[0125] It can be understood that the motion control process of a robot is the process of controlling the motors of each active joint of the robot. An active joint is a joint that can be driven to produce movement. Joint motors are installed at active joints, thereby controlling the joint motors to realize the joint movement of the robot. In this embodiment of the disclosure, the control target for the robot arm is to determine the target torque of each joint motor on the arm.

[0126] In this embodiment of the disclosure, the robot arm control task mainly includes two sub-tasks: arm momentum control and arm joint control.

[0127] Arm momentum control can include controlling the angular momentum of the robot arm during swing, that is, ensuring that the actual angular momentum of the robot arm during swing is the desired angular momentum. Arm joint control can include controlling the trajectory of the arm swing, that is, ensuring that the actual trajectory of the robot arm during swing is the desired motion trajectory. Arm control achieved by simultaneously satisfying these two sub-tasks constitutes the control objective for the robot arm.

[0128] Therefore, in this embodiment, it is first necessary to establish control equations for the arm momentum control task and the arm joint control task, namely the first correspondence and the second correspondence described in this disclosure. Then, based on the first correspondence and the second correspondence, the arm joint control parameters that simultaneously satisfy both are obtained, and the swing control of the robot arm is realized based on these control parameters.

[0129] It is worth noting that, in order to make the control parameters of the arm joint closer to torque control and obtain a more accurate target torque, the embodiments of this disclosure use the angular acceleration of the arm joint as the control parameters. That is, the first correspondence is the relationship between the desired angular acceleration of the robot arm joint and the momentum of the arm joint, and the second correspondence is the relationship between the desired angular acceleration of the robot arm joint and the acceleration of the arm's end effector. Controlling the arm joint based on its angular acceleration can yield a more accurate target torque and improve control precision.

[0130] In this embodiment of the disclosure, based on the actual state information and the posture command information, a first correspondence relationship for the arm momentum control subtask and a second correspondence relationship for the arm joint control subtask can be obtained respectively. The specific process will be described in the following embodiments of the disclosure and will not be detailed here.

[0131] S230. Determine the desired angular acceleration of the robot's arm joints during movement based on the first and second correspondences.

[0132] S240. Determine the target torque of each joint of the arm when the robot moves based on the expected angular acceleration of the arm joint, and control the movement of each joint of the arm based on the target torque.

[0133] As mentioned above, the first correspondence represents the control equation obtained for the arm momentum control subtask, which expresses the relationship between the desired angular acceleration of the arm joint and the momentum of the arm joint. The second correspondence represents the control equation obtained for the arm joint control subtask, which expresses the relationship between the desired angular acceleration of the arm joint and the acceleration at the end of the arm.

[0134] The desired angular acceleration of the arm joint can be understood as the desired angular acceleration of each joint on the robot arm. Therefore, in this embodiment of the present disclosure, the desired angular acceleration of the arm joint that simultaneously satisfies two control equations can be obtained by combining the first and second correspondences. This desired angular acceleration of the arm joint is the target value that simultaneously ensures that the arm momentum satisfies the desired momentum and the arm end swing speed satisfies the desired speed.

[0135] It is worth noting that, as mentioned above, during robot walking, the movement of the swinging leg causes a change in the robot's angular momentum, resulting in a rotational deviation in the yaw direction. Therefore, in this embodiment, the priority of the arm momentum control subtask should be higher than that of the arm joint control subtask. This ensures that the deviation in the yaw direction is mitigated or eliminated first, thereby improving walking stability. Therefore, in some embodiments of this disclosure, the control equations for the second correspondence can be solved while prioritizing the first correspondence. This will be described in detail in the following embodiments and will not be elaborated upon here.

[0136] In this embodiment of the disclosure, after obtaining the desired angular acceleration of the arm joint, the robot arm joint can be controlled according to the desired angular acceleration of the arm joint to obtain the target torque of each joint motor on the arm, and the joint motor is controlled to output the target torque to realize the arm swing control during the robot's walking process.

[0137] As described above, in this embodiment, the desired angular acceleration of the arm joints is obtained based on the arm momentum control and arm joint control during the robot's movement. Furthermore, acceleration-level arm control is employed to improve the accuracy and effectiveness of arm control, resulting in more stable and natural arm swinging during robot walking. Moreover, the full dynamics model fully considers the influence of each joint's movement on the yaw direction, thereby mitigating or eliminating rotational deviation in the yaw direction during robot walking and improving robot walking stability.

[0138] It is important to understand that, for robot motion control, each control task can be represented in the form of the following control equations:

[0139] Ax=b(1)

[0140] In equation (1), x is the control variable to be solved. In this embodiment, x is the desired angular acceleration of the arm joint. A represents the task matrix, which can be understood as the mapping matrix from the generalized joint space to the workspace. b represents the task objective, which in this embodiment is the pose control of the robot's workspace.

[0141] The first and second correspondences in this embodiment are the control equations that conform to the form of the above equation (1), which will be explained below.

[0142] 1. Arm momentum control

[0143] The robot's momentum can be calculated from the robot's current generalized joint angular velocity, expressed as:

[0144]

[0145] In equation (2), h G Let l represent the robot's momentum, with a dimension of 6*1, where l represents linear momentum with a dimension of 3*1, and k represents angular momentum with a dimension of 3*1. This represents the generalized joint angular velocity of the robot, that is, the angular velocity of each joint of the robot at present. Its dimension is (n+6)*1, where n represents the number of active joints and 6 represents the number of floating base degrees of freedom. A G This represents the robot's center of mass momentum matrix.

[0146] By differentiating equation (2), we can obtain the expression for the derivative of robot momentum, which is:

[0147]

[0148] In formula (3), This represents the derivative of the robot's momentum. The derivative of the robot's center-of-mass momentum matrix is ​​given by... This represents the generalized joint angular velocity of a robot. This represents the generalized joint angular acceleration of a robot.

[0149] In formula (3) The term is decomposed according to the floating base degrees of freedom, leg degrees of freedom, and arm degrees of freedom, resulting in:

[0150]

[0151] In formula (4), Indicates the angular acceleration of the floating base joint; This represents the angular acceleration of the leg joint; This represents the angular acceleration of the arm joint. Since the leg degrees of freedom and floating base degrees of freedom are used for leg swing control, the arm joint acceleration control quantity in formula (4) can be expressed as:

[0152]

[0153] Furthermore, in this embodiment, since the control mainly targets the offset in the yaw direction during robot walking, if the power in the yaw direction can be controlled by selecting the matrix S, it can be expressed as:

[0154]

[0155] S = [0 0 0 0 0 1] (7)

[0156] Then, formula (6) can be expressed as the control equation of formula (1), that is, the control equation for arm momentum is:

[0157]

[0158] in,

[0159]

[0160] It is understood that the above process yields the control equation of formula (8), which is the expression of the first correspondence relationship for the arm momentum control subtask described in this disclosure. In this embodiment, it is necessary to determine A1 and b1 in formula (8) to obtain the first correspondence relationship, which will be explained below.

[0161] like Figure 3 As shown, in some embodiments, the control method of this disclosure, in determining the first correspondence, includes:

[0162] S310. Determine the arm yaw component of the robot's center of mass momentum matrix based on the actual state information.

[0163] S320. Based on the actual state information and posture command information, determine the expected momentum of the robot's arm joints.

[0164] S330. The first correspondence is obtained based on the arm yaw component, the desired angular acceleration of the arm joint, and the desired momentum of the arm joint.

[0165] In this embodiment of the disclosure, the center-of-mass momentum matrix A in S310 G The arm yaw component is A1 in formula (8), which is then discussed below. Figure 4 The process of determining the arm yaw component A1 is explained.

[0166] like Figure 4 As shown, in some embodiments, the control method of this disclosure, in the process of determining the arm yaw component of the robot's center-of-mass momentum matrix, includes:

[0167] S311. Determine the center-of-mass momentum matrix of the robot during motion based on the actual state information.

[0168] S312. Determine the arm momentum matrix based on the center of mass momentum matrix.

[0169] S313. Process the arm momentum matrix based on the yaw direction matrix to obtain the arm yaw component.

[0170] In this embodiment, the center-of-mass momentum matrix is ​​A in formula (2). G It can be obtained from the actual state information of the robot's current motion state, which will not be elaborated further in this disclosure.

[0171] As can be seen from the aforementioned formula (4), by considering the mass momentum matrix A G By decomposing the system according to the floating base degrees of freedom, leg degrees of freedom, and arm degrees of freedom, the arm momentum matrix A can be obtained. G,arm It's understandable that the arm momentum matrix A... G,arm That is, the center-of-mass momentum matrix A G The weight of the arm joint in the picture.

[0172] Further combining formulas (6) and (7), it can be seen that since this embodiment mainly controls the offset in the yaw direction during robot walking, it is necessary to control the arm momentum matrix A. G,arm The influence of the arm joint on the yaw direction offset is selected. That is, in this embodiment, the yaw direction matrix is ​​the selection matrix S in the aforementioned formula (7), and SA can be calculated according to formula (6). G,arm That is, we obtain the arm yaw component A1.

[0173] In this embodiment of the disclosure, the desired momentum of the arm joint in S320 is b1 in formula (8), which represents the component of the center of mass momentum at the arm joint. The following is a detailed explanation... Figure 5 The implementation method describes the process of determining the desired momentum of the arm joint.

[0174] like Figure 5 As shown, in some embodiments, the control method of this disclosure, which determines the desired momentum of the robot's arm joints based on actual state information and posture command information, includes:

[0175] S321. Based on the actual state information and attitude command information, determine the expected momentum derivative, the actual angular velocity of each joint, the center of mass momentum matrix and its derivative, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint during robot motion.

[0176] S322. Obtain the floating base joint matrix and leg joint matrix based on the center of mass momentum matrix.

[0177] S323. Based on the yaw direction matrix, the expected momentum derivative, the actual angular velocity of each joint, the derivative of the center of mass momentum matrix, the floating base joint matrix, the expected angular acceleration of the floating base joint, the leg joint matrix, and the expected angular acceleration of the leg joint, the expected momentum of the arm joint is obtained.

[0178] As can be seen from the above formula (9), the expected momentum of the arm joint is... Where S is the selection matrix shown in formula (7).

[0179] This represents the derivative of the robot's expected momentum, which includes the derivative of the expected linear momentum. and the expected angular momentum derivative Among them, the expected linear momentum derivative Represented as:

[0180]

[0181] In equation (10), m represents the robot mass. This represents the center-of-mass reference acceleration, which can be calculated based on attitude command information. and These represent the desired position and desired velocity of the center of mass, respectively, and can be calculated based on attitude command information. CoM and Let kp and kd represent the actual position and velocity of the center of mass, respectively, which can be calculated based on the actual state information. kp and kd are the position gain and velocity gain of the closed-loop control. Thus, the desired linear momentum derivative can be calculated using equation (10).

[0182] Desired angular momentum derivative Represented as:

[0183]

[0184] In equation (11), k ref and Let $\mathbf$ and $\mathbf$ represent the reference angular momentum of the center of mass and its derivative, respectively, which can be calculated based on the attitude command information. $k$ represents the actual angular momentum of the center of mass, which can be calculated based on the actual state information. $kp$ is the angular momentum gain of the closed-loop control. Thus, the desired angular momentum derivative can be calculated using equation (11).

[0185] After obtaining the desired linear momentum derivative and the expected angular momentum derivative Then, the desired momentum derivative can be obtained from both.

[0186] In this embodiment of the disclosure, the mass-momentum matrix A of the robot's current motion can be calculated based on the actual state information. G and the acceleration of each joint

[0187] In equation (9), This represents the derivative of the center-of-mass momentum matrix, which can be derived from the center-of-mass momentum matrix A. G Obtained by transformation. This represents the actual angular velocity of each joint, which can be calculated based on actual state information. A G,f The floating base joint matrix is ​​represented by the mass-momentum matrix A. G Obtained by decomposition. This represents the desired angular acceleration of the floating base joint, which can be obtained by considering the acceleration of each joint. Obtained by decomposition. A G,leg The leg joint matrix is ​​represented by the mass-momentum matrix A. G Obtained by decomposition. This represents the desired angular acceleration of the leg joints, which can be obtained by considering the accelerations of each joint. The decomposition yields the desired momentum b1 of the arm joint. Therefore, by substituting the calculated parameters into formula (9), the desired momentum b1 of the arm joint can be calculated.

[0188] Through the above process, the arm yaw component A1 and the arm joint expected momentum b1 are calculated. Substituting the two into formula (8) yields the first correspondence for the arm momentum control subtask.

[0189] 2. Arm joint control

[0190] Under the premise of satisfying the arm momentum control subtask, the robot's arm needs to move along a set trajectory during walking. At this time, the relationship between the end-effector velocity and the angular velocities of each joint is expressed as:

[0191]

[0192] In equation (12), This indicates the angular velocity of each joint. This represents the velocity at the end of the arm. J represents the Jacobian matrix from the angular velocity of each joint to the velocity at the end of the arm.

[0193] Differentiating equation (12) above, we get:

[0194]

[0195] In equation (13), Indicates the angular acceleration of each joint. This indicates the acceleration at the end of the arm.

[0196] Decomposing the J term in equation (13) into floating base degrees of freedom, leg degrees of freedom, and arm degrees of freedom, we get:

[0197]

[0198] In formula (14), Indicates the angular acceleration of the floating base joint; This represents the angular acceleration of the leg joint; This represents the angular acceleration of the arm joint. Since the leg degrees of freedom and floating base degrees of freedom are used for leg swing control, the arm joint acceleration control quantity in formula (4) can be expressed as:

[0199]

[0200] Then, formula (15) can be expressed as the control equation form of formula (1), that is, the control equation of the arm joint is:

[0201]

[0202] in,

[0203]

[0204] It is understood that the above process yields the control equation of formula (16), which is the expression of the second correspondence relationship for the arm joint control subtask described in this disclosure. In this embodiment, it is necessary to determine A2 and b2 in formula (16) to obtain the second correspondence relationship, which will be explained below.

[0205] like Figure 6 As shown, in some embodiments, the control method of this disclosure, in determining the second correspondence, includes:

[0206] S610. Determine the robot's end-effector velocity matrix based on the actual state information.

[0207] S620. Based on the actual state information and attitude command information, determine the target acceleration component at the end of the robot arm.

[0208] S630. The second correspondence is obtained based on the arm end velocity matrix, the desired angular acceleration of the arm joint, and the target acceleration component.

[0209] In this embodiment of the disclosure, the arm end velocity matrix in S610 is A2 in formula (16), which will be discussed below. Figure 7 The implementation method describes the process of determining the velocity matrix A2 at the end of the arm.

[0210] like Figure 7 As shown, in some embodiments, the control method of this disclosure, in the process of determining the end-effector velocity matrix of a robot arm, includes:

[0211] S611. Determine the actual angles of each joint during robot movement based on the actual state information, and determine the mapping matrix from the angular velocity of each joint to the end-effector velocity based on the actual angles of each joint.

[0212] S612. Obtain the end-effector velocity matrix based on the mapping matrix.

[0213] As can be seen from formula (17), the velocity matrix at the end of the arm is A2 = J arm , and J arm The component of the arm's degrees of freedom in the Jacobian matrix J, representing the angular velocity of each joint to the velocity at the end of the arm.

[0214] Therefore, in this embodiment, the actual angles of each joint can be determined based on the actual state information of the robot during movement. Then, the mapping matrix from the angular velocity of each joint to the end-effector velocity, i.e., the Jacobian matrix J, can be determined based on the actual angles of each joint. After obtaining the Jacobian matrix J, the degrees of freedom of the arm are decomposed to obtain the end-effector velocity matrix J. arm This yields the velocity matrix A2 at the end of the arm.

[0215] In this embodiment of the disclosure, the target acceleration component of the arm end in S620 is b2 in formula (16), which represents the component of the arm end acceleration at the arm joint. The following is a detailed explanation... Figure 8 The implementation method describes the process of determining the target acceleration component at the end of the arm.

[0216] like Figure 8 As shown, in some embodiments, the control method of this disclosure, which determines the target acceleration component at the end of the robot arm based on actual state information and attitude command information, includes:

[0217] S621. Based on the actual state information and posture command information, determine the expected acceleration of the end effector of the arm, the actual angular velocity of each joint, the mapping matrix from the angular velocity of each joint to the end effector velocity of the arm, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint during the robot's movement.

[0218] S622. Obtain the floating basis mapping matrix and the leg mapping matrix based on the mapping matrix.

[0219] S623. Based on the desired acceleration at the end of the arm, the derivative of the mapping matrix, the actual angular velocity of each joint, the floating base mapping matrix, the desired angular acceleration of the floating base joint, the leg mapping matrix, and the desired angular acceleration of the leg joint, the target acceleration components are obtained.

[0220] As can be seen from the above formula (17), the target acceleration components in, This represents the desired acceleration at the end of the arm, which can be obtained by controlling the position of the end of the arm, and is expressed as:

[0221]

[0222] In formula (18), This represents the reference acceleration at the end of the arm. and These represent the reference position at the end of the arm and the reference speed at the end of the watch, respectively, and can be calculated based on posture command information. arm and The actual position and velocity of the arm's end effector are represented by kp and kd, respectively, and can be calculated based on the actual state information. kp and kd are the position and velocity gains of the closed-loop control. Therefore, the desired acceleration of the arm's end effector can be calculated using equation (18).

[0223] In equation (17), The derivative of the mapping matrix from the angular velocity of each joint to the velocity at the end of the arm can be obtained by transforming the mapping matrix J. This represents the actual angular velocity of each joint, which can be calculated based on actual state information. J f Let J represent the floating basis mapping matrix, which can be obtained by decomposing the mapping matrix J. This represents the desired angular acceleration of the floating base joint, which can be obtained by considering the acceleration of each joint. Decomposed to obtain J. leg Let J represent the leg mapping matrix, which can be obtained by decomposing the mapping matrix J. This represents the desired angular acceleration of the leg joints, which can be obtained by considering the accelerations of each joint. The decomposition yields the result. Therefore, by substituting the parameters calculated above into formula (17), the target acceleration component b2 at the end of the arm can be calculated.

[0224] Through the above process, the arm end velocity matrix A2 and the target acceleration component b2 are calculated. Substituting the two into formula (16) yields the second correspondence for the arm joint control subtask.

[0225] After obtaining the first and second correspondences as described above, the desired angular acceleration of the arm joint can be obtained based on the first and second correspondences. The following is combined with Figure 9 Please provide an explanation.

[0226] like Figure 9 As shown, in some embodiments, the control method of this disclosure, which determines the desired angular acceleration of the robot's arm joints during movement based on a first correspondence and a second correspondence, includes:

[0227] S910. Solve the desired angular acceleration of the arm joint in null space according to the first correspondence to obtain the underdetermined equation corresponding to the first correspondence.

[0228] S920. Based on the underdetermined equation and the second correspondence, determine the target result of any vector in the underdetermined equation.

[0229] S930. Based on the target result and the first correspondence, the expected angular acceleration of the arm joint is obtained.

[0230] As can be understood from the foregoing, during robot walking, the movement of the swinging leg causes a change in the robot's angular momentum, resulting in a rotational deviation in the yaw direction. Therefore, in this embodiment, the priority of the arm momentum control subtask should be higher than that of the arm joint control subtask. This ensures that the deviation in the yaw direction is mitigated or eliminated first, thereby improving walking stability. Therefore, in some embodiments of this disclosure, the control equations for the second correspondence can be solved while prioritizing the first correspondence.

[0231] For the first correspondence, the expected angular acceleration of the arm joint The dimension of the first correspondence is greater than the dimension of the desired momentum b1 of the arm joint. Therefore, the first correspondence is an underdetermined equation, meaning the solution to the equation is not unique. Thus, we first need to solve the null space problem to obtain its corresponding underdetermined equation, expressed as:

[0232] x = A1 # b1+N1ξ1 (19)

[0233] In equation (19), x is the desired angular acceleration of the arm joint. A1 # Let A1 be the generalized inverse matrix. Since A1 is a full-rank row matrix, it satisfies...

[0234] A1A1 # =I (20)

[0235] In equation (20), I is the identity matrix. A1 # The mathematical representation of is:

[0236] A1 # =W -1 A T (AW -1 A T ) -1 (twenty one)

[0237] In equation (21), W is the weight matrix. Here, W can be chosen as the simplest identity matrix, in which case A1 # Also known as the MP pseudo-inverse matrix, it is represented as:

[0238] A1 # =A T (AA T ) -1 (twenty two)

[0239] In equation (19), N1 is the null space matrix of A1, expressed as:

[0240] N1 = I - A1 # A1 (23)

[0241] ξ1 is an arbitrary vector, meaning that any value of ξ1 can achieve the task of arm momentum control. Substituting formula (19) into the second correspondence represented by formula (8), we can obtain the expression for ξ1:

[0242]

[0243] In formula (24), (A2N1) # The generalized inverse matrix A2N1 is represented. Then, by substituting equation (24) into equation (19), the final desired angular acceleration of the arm joint can be obtained. Represented as:

[0244]

[0245] As described above, in this embodiment, the desired angular acceleration of the arm joint is obtained based on the arm momentum control and arm joint control during the robot's movement. Furthermore, acceleration-level arm control is employed to improve the accuracy and effectiveness of arm control, resulting in more stable and natural arm swinging during robot movement. Moreover, priority is given to controlling the arm momentum, effectively mitigating or eliminating rotational deviation in the yaw direction during robot movement and improving robot walking stability.

[0246] Obtain the desired angular acceleration of the arm joint Then, the desired angular acceleration of the arm joint can be determined. To achieve control of the robot's swing arm, the following steps are combined with... Figure 10 Please provide an explanation.

[0247] like Figure 10 As shown, in some embodiments, the control method of this disclosure, which determines the target torque of each joint of the arm based on the desired angular acceleration of the arm joint, includes:

[0248] S1010. Based on the posture command information, determine the desired angular velocity and desired angle of the arm joints during robot movement.

[0249] S1020. Based on the actual state information, determine the actual angular velocity and actual angle of the arm joints during robot movement.

[0250] S1030. Based on the desired angular acceleration, desired angular velocity, desired angle, actual angular velocity, and actual angle of the arm joint, the target torque of each joint of the robot arm is obtained.

[0251] In this embodiment of the disclosure, the desired angular acceleration of the arm joint is obtained. Then, the desired angular acceleration of the arm joint can be determined. Closed-loop control is performed on each joint of the arm to obtain the target torque for each joint. Represented as:

[0252]

[0253] In equation (26), M represents the inertia matrix of the arm, which can be calculated based on the actual state information. The expected angular acceleration of the arm joint obtained above. and These represent the desired angle and desired angular velocity of the arm joint, respectively, which can be calculated based on attitude command information. arm and represents the actual angle and actual angular velocity of the arm joint, respectively, which can be calculated based on the actual state information. kp and kd are the position gain and velocity gain of the closed-loop control. Thus, the target torque of each joint of the arm can be calculated through equation (26), and the joint motors at each arm joint can be controlled based on the target torque to realize the arm swing control during the robot's walking process.

[0254] It is worth noting that in this embodiment, there is no need to simplify the robot's dynamics model; instead, it is based on a full dynamics model, taking into account the influence of each joint movement on the robot's yaw torque, thus making the arm control more precise and natural. Furthermore, the arm amplitude can be adjusted in real time according to the robot's stride, without the need for task setting, resulting in better arm control. Arm control mitigates or eliminates yaw deviation during robot walking, improving the robot's motion stability.

[0255] like Figure 11 As shown, in some embodiments, this disclosure provides a robot motion control device, the device comprising:

[0256] The arm momentum control module 10 is configured to determine a first correspondence between the desired angular acceleration of the robot arm joint and the arm joint momentum based on the actual state information and posture command information of the robot during movement.

[0257] The arm joint control module 20 is configured to determine a second correspondence between the desired angular acceleration of the robot arm joint and the acceleration of the arm end based on the actual state information and posture command information of the robot during movement;

[0258] The arm motion solving module 30 is configured to determine the desired angular acceleration of the arm joint during robot motion based on the first correspondence and the second correspondence.

[0259] The arm motor control module 40 is configured to determine the target torque of each joint of the arm when the robot moves based on the desired angular acceleration of the arm joint, and control each joint of the arm to move according to the target torque.

[0260] As described above, in this embodiment, the desired angular acceleration of the arm joints is obtained based on the arm momentum control and arm joint control during the robot's movement. Furthermore, acceleration-level arm control is employed to improve the accuracy and effectiveness of arm control, resulting in more stable and natural arm swinging during robot walking. Moreover, the full dynamics model fully considers the influence of each joint's movement on the yaw direction, thereby mitigating or eliminating rotational deviation in the yaw direction during robot walking and improving robot walking stability.

[0261] In some embodiments, the arm momentum control module 10 is configured to:

[0262] The arm yaw component of the robot's center of mass momentum matrix is ​​determined based on the actual state information.

[0263] Based on the actual state information and the posture command information, the desired momentum of the robot's arm joints is determined;

[0264] The first correspondence is obtained based on the arm yaw component, the desired angular acceleration of the arm joint, and the desired momentum of the arm joint.

[0265] In some embodiments, the arm momentum control module 10 is configured to:

[0266] The center-of-mass momentum matrix of the robot during motion is determined based on the actual state information.

[0267] Determine the arm momentum matrix based on the mass center momentum matrix;

[0268] The arm momentum matrix is ​​processed based on the yaw direction matrix to obtain the arm yaw component.

[0269] In some embodiments, the arm momentum control module 10 is configured to:

[0270] Based on the actual state information and the posture command information, the expected momentum derivative, the actual angular velocity of each joint, the center of mass momentum matrix and its derivative, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint are determined when the robot moves.

[0271] The floating base joint matrix and the leg joint matrix are obtained based on the mass momentum matrix.

[0272] The desired momentum of the arm joint is obtained based on the yaw direction matrix, the desired momentum derivative, the actual angular velocity of each joint, the derivative of the center of mass momentum matrix, the floating base joint matrix, the desired angular acceleration of the floating base joint, the leg joint matrix, and the desired angular acceleration of the leg joint.

[0273] In some embodiments, the arm momentum control module 10 is configured to:

[0274] Based on the posture command information and the actual state information, determine the expected linear momentum derivative and the expected angular momentum derivative of the robot during its motion;

[0275] The desired momentum derivative is obtained from the desired linear momentum derivative and the desired angular momentum derivative.

[0276] In some embodiments, the arm joint control module 20 is configured to:

[0277] The robot's end-effector velocity matrix is ​​determined based on the actual state information;

[0278] Based on the actual state information and the posture command information, the target acceleration component of the robot's arm end is determined; the target acceleration component is the component of the arm end acceleration at the arm joint.

[0279] The second correspondence is obtained based on the arm end velocity matrix, the desired angular acceleration of the arm joint, and the target acceleration component.

[0280] In some embodiments, the arm joint control module 20 is configured to:

[0281] The actual angles of each joint during robot movement are determined based on the actual state information, and the mapping matrix from the angular velocity of each joint to the end-effector velocity is determined based on the actual angles of each joint.

[0282] The end-effector velocity matrix is ​​obtained from the mapping matrix.

[0283] In some embodiments, the arm joint control module 20 is configured to:

[0284] Based on the actual state information and the posture command information, determine the expected acceleration of the end effector of the arm, the actual angular velocity of each joint, the mapping matrix from the angular velocity of each joint to the end effector velocity of the arm, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint during the robot's movement.

[0285] The floating basis mapping matrix and the leg mapping matrix are obtained based on the mapping matrix.

[0286] The target acceleration components are obtained based on the desired acceleration at the end of the arm, the derivative of the mapping matrix, the actual angular velocities of each joint, the floating base mapping matrix, the desired angular acceleration of the floating base joints, the leg mapping matrix, and the desired angular acceleration of the leg joints.

[0287] In some embodiments, the arm joint control module 20 is configured to:

[0288] Based on the posture command information, the reference acceleration, reference velocity, and reference position of the robot's end effector during movement are determined.

[0289] Based on the actual state information, determine the actual speed and actual position of the robot's end effector during movement;

[0290] The desired acceleration of the arm end is obtained based on the arm end reference acceleration, arm end reference velocity, arm end reference position, arm end actual velocity, and arm end actual position.

[0291] In some embodiments, the arm motion solving module 30 is configured as follows:

[0292] Based on the first correspondence, the desired angular acceleration of the arm joint is solved in null space to obtain the underdetermined equation corresponding to the first correspondence.

[0293] Based on the underdetermined equation and the second correspondence, determine the target result of any vector in the underdetermined equation;

[0294] Based on the target result and the first correspondence, the desired angular acceleration of the arm joint is obtained.

[0295] In some embodiments, the arm motor control module 40 is configured to:

[0296] Based on the posture command information, determine the desired angular velocity and desired angle of the robot's arm joints during movement;

[0297] Based on the actual state information, determine the actual angular velocity and actual angle of the robot's arm joints during movement;

[0298] The target torque of each joint of the robot arm is obtained based on the expected angular acceleration, expected angular velocity, expected angle, actual angular velocity, and actual angle of the arm joint.

[0299] As described above, this embodiment does not require simplification of the robot's dynamics model. Instead, it is based on a full dynamics model, taking into account the influence of each joint's movement on the robot's yaw torque, resulting in more precise and natural arm control. Furthermore, the arm swing amplitude can be adjusted in real-time according to the robot's stride, eliminating the need for task setting and improving arm control performance. Arm control mitigates or eliminates yaw deviation during robot walking, improving the robot's motion stability.

[0300] In some embodiments, this disclosure provides a robot, including:

[0301] processor; and

[0302] A memory storing computer instructions for causing a computer to perform the method according to any embodiment of the first aspect.

[0303] In some embodiments, this disclosure provides a storage medium storing computer instructions for causing a computer to perform the method according to any embodiment of the first aspect.

[0304] Specifically, Figure 12 A schematic diagram of the structure of a robot 600 suitable for implementing the method of this disclosure is shown. Figure 12 The robot shown can perform the corresponding functions of the aforementioned processor and storage medium.

[0305] like Figure 12 As shown, the robot 600 includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a memory 602 or a program loaded into the memory 602 from a storage section 608. The memory 602 also stores various programs and data required for the operation of the robot 600. The processor 601 and the memory 602 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0306] The following components are connected to I / O interface 605: an input section 606 including a keyboard, mouse, etc.; an output section 607 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to I / O interface 605 as needed. A removable medium 611, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 610 as needed so that computer programs read from it can be installed into storage section 608 as needed.

[0307] In particular, according to embodiments of this disclosure, the above-described method process can be implemented as a computer software program. For example, embodiments of this disclosure include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program containing program code for performing the above-described methods. In such embodiments, the computer program can be downloaded and installed from a network via communication section 609, and / or installed from removable medium 611.

[0308] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0309] Obviously, the above embodiments are merely examples for clear illustration and are not intended to limit the embodiments. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all embodiments here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this disclosure.

Claims

1. A robot motion control method, characterized in that, include: Based on the actual state information and posture command information of the robot during movement, a first correspondence between the expected angular acceleration of the robot arm joint and the momentum of the arm joint is determined; Based on the actual state information and posture command information of the robot during movement, a second correspondence between the expected angular acceleration of the robot arm joint and the acceleration of the arm end is determined; The desired angular acceleration of the arm joint during robot movement is determined based on the first correspondence and the second correspondence. The target torque of each joint of the arm is determined based on the desired angular acceleration of the arm joint, and the movement of each joint of the arm is controlled based on the target torque; The step of determining the first correspondence between the desired angular acceleration of the robot arm joints and the momentum of the arm joints based on the actual state information and posture command information of the robot during movement includes: The arm yaw component of the robot's center of mass momentum matrix is ​​determined based on the actual state information. Based on the actual state information and the posture command information, the desired momentum of the robot's arm joints is determined; The first correspondence is obtained based on the arm yaw component, the desired angular acceleration of the arm joint, and the desired momentum of the arm joint.

2. The method according to claim 1, characterized in that, The step of determining the arm yaw component of the robot's center-of-mass momentum matrix based on the actual state information includes: The center-of-mass momentum matrix of the robot during motion is determined based on the actual state information. Determine the arm momentum matrix based on the mass center momentum matrix; The arm momentum matrix is ​​processed based on the yaw direction matrix to obtain the arm yaw component.

3. The method according to claim 1, characterized in that, The step of determining the desired momentum of the robot's arm joints based on the actual state information and the posture command information includes: Based on the actual state information and the posture command information, the expected momentum derivative, the actual angular velocity of each joint, the center of mass momentum matrix and its derivative, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint are determined when the robot moves. The floating base joint matrix and the leg joint matrix are obtained based on the mass momentum matrix. The desired momentum of the arm joint is obtained based on the yaw direction matrix, the desired momentum derivative, the actual angular velocity of each joint, the derivative of the center of mass momentum matrix, the floating base joint matrix, the desired angular acceleration of the floating base joint, the leg joint matrix, and the desired angular acceleration of the leg joint.

4. The method according to claim 3, characterized in that, Determining the desired momentum derivative of the robot during motion based on the actual state information and the posture command information includes: Based on the posture command information and the actual state information, determine the expected linear momentum derivative and the expected angular momentum derivative of the robot during its motion; The desired momentum derivative is obtained from the desired linear momentum derivative and the desired angular momentum derivative.

5. The method according to claim 1, characterized in that, The step of determining the second correspondence between the desired angular acceleration of the robot arm joints and the acceleration of the end effector, based on the actual state information and posture command information of the robot during movement, includes: The robot's end-effector velocity matrix is ​​determined based on the actual state information; Based on the actual state information and the posture command information, the target acceleration component of the robot's arm end is determined; the target acceleration component is the component of the arm end acceleration at the arm joint. The second correspondence is obtained based on the arm end velocity matrix, the desired angular acceleration of the arm joint, and the target acceleration component.

6. The method according to claim 5, characterized in that, Determining the robot's end-effector velocity matrix based on the actual state information includes: The actual angles of each joint during robot movement are determined based on the actual state information, and the mapping matrix from the angular velocity of each joint to the end-effector velocity is determined based on the actual angles of each joint. The end-effector velocity matrix is ​​obtained from the mapping matrix.

7. The method according to claim 5, characterized in that, Determining the target acceleration component at the end of the robot's arm based on the actual state information and the posture command information includes: Based on the actual state information and the posture command information, determine the expected acceleration of the end effector of the arm, the actual angular velocity of each joint, the mapping matrix from the angular velocity of each joint to the end effector velocity of the arm, the expected angular acceleration of the floating base joint, and the expected angular acceleration of the leg joint during the robot's movement. The floating basis mapping matrix and the leg mapping matrix are obtained based on the mapping matrix. The target acceleration components are obtained based on the desired acceleration at the end of the arm, the derivative of the mapping matrix, the actual angular velocities of each joint, the floating base mapping matrix, the desired angular acceleration of the floating base joints, the leg mapping matrix, and the desired angular acceleration of the leg joints.

8. The method according to claim 7, characterized in that, Determining the desired acceleration of the robot's end effector during movement based on the actual state information and the posture command information includes: Based on the posture command information, the reference acceleration, reference velocity, and reference position of the robot's end effector during movement are determined. Based on the actual state information, determine the actual speed and actual position of the robot's end effector during movement; The desired acceleration of the arm end is obtained based on the arm end reference acceleration, arm end reference velocity, arm end reference position, arm end actual velocity, and arm end actual position.

9. The method according to claim 1, characterized in that, Determining the desired angular acceleration of the arm joint during robot movement based on the first and second correspondences includes: Based on the first correspondence, the desired angular acceleration of the arm joint is solved in null space to obtain the underdetermined equation corresponding to the first correspondence. Based on the underdetermined equation and the second correspondence, determine the target result of any vector in the underdetermined equation; Based on the target result and the first correspondence, the desired angular acceleration of the arm joint is obtained.

10. The method according to claim 1, characterized in that, The step of determining the target torque of each joint of the arm during robot movement based on the desired angular acceleration of the arm joints includes: Based on the posture command information, determine the desired angular velocity and desired angle of the robot's arm joints during movement; Based on the actual state information, determine the actual angular velocity and actual angle of the robot's arm joints during movement; The target torque of each joint of the robot arm is obtained based on the expected angular acceleration, expected angular velocity, expected angle, actual angular velocity, and actual angle of the arm joint.

11. A robot motion control device, characterized in that, include: The arm momentum control module is configured to determine a first correspondence between the desired angular acceleration of the robot arm joint and the arm joint momentum based on the actual state information and posture command information of the robot during movement. The arm joint control module is configured to determine a second correspondence between the desired angular acceleration of the robot arm joint and the acceleration of the arm end based on the actual state information and posture command information of the robot during movement; The arm motion solving module is configured to determine the desired angular acceleration of the arm joint during robot motion based on the first correspondence and the second correspondence. The arm motor control module is configured to determine the target torque of each joint of the arm when the robot moves based on the desired angular acceleration of the arm joint, and control each joint of the arm to move according to the target torque; The arm momentum control module is configured to determine the arm yaw component of the robot's center-of-mass momentum matrix based on the actual state information. Based on the actual state information and the posture command information, the desired momentum of the robot's arm joints is determined; The first correspondence is obtained based on the arm yaw component, the desired angular acceleration of the arm joint, and the desired momentum of the arm joint.

12. A robot, characterized in that, include: processor; and A memory storing computer instructions for causing a computer to perform the method according to any one of claims 1 to 10.

13. A storage medium, characterized in that, The computer contains computer instructions for causing the computer to perform the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Humanoid robot stable waling control method

    CN104407611A

  • Balance control method and device, humanoid robot and readable storage medium

    CN111872941A