Patent ID: 11872701
Assignee: UBTECH ROBOTICS CORP LTD
Field: Handling (Mechanical engineering)
Classification: CPC B | IPC B

Claim 7:
8. A humanoid robot, comprising:
a processor;
an IMU;
a memory coupled to the processor; and
one or more computer programs stored in the memory and executable on the processor;
wherein, a total centroid state of the humanoid robot comprises a total centroid velocity, and the one or more computer programs comprise:
instructions for obtaining a motion state of each real joint of the humanoid robot and a motion state of a virtual floating base of the humanoid robot, wherein the virtual floating base is represented by a plurality of sequentially-connected virtual joints, the sequentially-connected virtual joints refer to equivalent joints between a trunk of the humanoid robot and the origin of a world coordinate system, and the equivalent joints are measured by the MU disposed on the trunk of the humanoid robot; and calculating a motion state of each of the virtual joints based on the motion state of the virtual floating base, wherein the motion state of each real joint and the motion state of each virtual joint comprises a position and a velocity of the corresponding joint;
instructions for calculating a joint position, a centroid position, and a rotation matrix of a k-th link among k links of the humanoid robot in a world coordinate system in an order of the k-th link in the k links using the chain rule of homogeneous multiplication according to the position of the joint corresponding to the k-th link, and solving a Jacobian matrix of the centroid of the k-th link according to joint positions, centroid positions, and rotation matrices of k links relative to the origin of the world coordinate system, wherein the value of k of the k-th link in the k links is from 1 to nd, respectively, and nd is a sum of degrees of freedom of the sequentially-connected virtual joints and each real joint of the humanoid robot;
instructions for solving a total centroid Jacobian matrix of the humanoid robot based on the Jacobian matrix of the centroid of each of the k links and a total mass of the humanoid robot;
instructions for calculating the total centroid velocity of the humanoid robot based on the total centroid Jacobian matrix and the velocity of each of the real joints and the sequentially-connected virtual joints; and
instructions for controlling the humanoid robot to move according to the total centroid velocity of the humanoid robot.