A method and system for anthropomorphic motion control of a robot based on bone mapping

By calculating the scale ratio and posture transformation matrix between the human body and the robot, combined with forward kinematics and deep reinforcement learning, the problem of unnatural movement of humanoid robots in the existing technology is solved, natural and stable anthropomorphic motion control is achieved, and the robot's adaptability in complex environments is enhanced.

CN120134329BActive Publication Date: 2025-07-25SHENZHEN ZHONGQING ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510625127.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-15
Publication Date
2025-07-25
Estimated Expiration
2045-05-15

AI Technical Summary

Technical Problem

When the prior art maps human body motion data directly onto humanoid robots, it ignores the physical constraints and dynamic limitations of the robot, resulting in unnatural and stiff movements, and may even exceed the robot's ability to bear it, resulting in the movements being unable to be performed or the robot is instable or damaged.

Method used

By calculating the scale ratio and posture transformation matrix between the human body and the humanoid robot, combining forward kinematic algorithms and deep reinforcement learning, the robot target joint angle and contact state information is generated to realize anthropomorphic motion control.

Benefits of technology

It enhances the naturalness and stability of the robot's anthropomorphic motion, improves its robustness and adaptability in complex environments, and avoids motion distortion and physical damage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120134329B_ABST
    Figure CN120134329B_ABST
Patent Text Reader

Abstract

The present application discloses a method and system for anthropomorphic motion control of a robot based on skeletal mapping, which is used to enhance the anthropomorphic motion performance and environmental adaptability of a humanoid robot. The method of the present application includes: calculating the scale ratio and pose transformation matrix between a human body and a humanoid robot based on initial pose data; recursively calculating the original pose information of each human joint in the world coordinate system through a forward kinematics algorithm according to motion data; applying the scale ratio and pose transformation matrix to map the original pose information into the desired pose information of the humanoid robot in a key coordinate system; solving the target joint angles of the humanoid robot according to the desired pose information, and calculating the contact state information between the legs of the humanoid robot and the ground according to the target joint angles; using the target joint angles and contact state information as inputs, and training the motion control strategy of the humanoid robot by using a deep reinforcement learning algorithm to achieve anthropomorphic motion control of the humanoid robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of robot motion control, and in particular, to a method and system for anthropomorphic motion control of a robot based on bone mapping. Background Art

[0002] As an advanced mechatronic system, the humanoid robot draws its design inspiration from the physiological structure and motion mechanism of the human body. A core goal in developing humanoid robots is to endow them with motion capabilities similar to those of humans, enabling them to flexibly adapt to human living and working environments and precisely imitate and execute human actions. To enable humanoid robots to imitate human actions, existing technologies typically use motion capture systems to collect the motion data of human demonstrators. This data usually exists in the form of three-dimensional coordinates of human bone joint points or sequences of joint angles. Subsequently, the captured human motion data is "mapped" or "redirected" onto the kinematic model of the target humanoid robot to establish the correspondence between the human joint space and the robot joint space, or directly plan the trajectory of the robot's end effector to follow the motion of the corresponding part of the human body.

[0003] The problem with existing technologies is that there are inherent differences in physiological structure and motion capabilities between humans and humanoid robots, including but not limited to: different bone size proportions, mismatches in the number and configuration of joint degrees of freedom, different joint motion range limitations, and fundamental differences in drive methods and dynamic characteristics. Directly or simply mapping human motion data often ignores the physical constraints of the robot (such as joint limitations, self-collisions, stability constraints, etc.) and dynamic limitations. This results in the generated robot actions often appearing unnatural and rigid, and may even exceed the physical tolerance of the robot, leading to actions that cannot be executed, robot instability, or damage. Summary of the Invention

[0004] This application provides a method and system for anthropomorphic motion control of a robot based on bone mapping, which is used to enhance the anthropomorphic motion performance and environmental adaptability of humanoid robots.

[0005] In a first aspect of this application, a method for anthropomorphic motion control of a robot based on bone mapping is provided, including:

[0006] Using a motion capture device to collect the initial pose data of the human body in the T-pose and the motion data during the motion process;

[0007] Based on the initial pose data, combining the predefined human bone structure and the humanoid robot structure, calculating the scale ratio and pose transformation matrix between the human body and the humanoid robot;

[0008] Based on the motion data, the original pose information of each human joint in the world coordinate system is recursively calculated through the forward kinematics algorithm;

[0009] The original pose information is mapped to the desired pose information of the humanoid robot in the key coordinate systems by applying the scale ratio and the pose transformation matrix, and the key coordinate systems at least include a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system;

[0010] The target joint angles of the humanoid robot are solved according to the desired pose information, and the contact state information between the legs of the humanoid robot and the ground is calculated according to the target joint angles;

[0011] Taking the target joint angles and the contact state information as inputs, the motion control strategy of the humanoid robot is trained by using a deep reinforcement learning algorithm to achieve the anthropomorphic motion control of the humanoid robot.

[0012] Optionally, calculating the scale ratio and the pose transformation matrix between the human body and the humanoid robot based on the initial pose data, in combination with a predefined human bone structure and a humanoid robot structure, includes:

[0013] In the initial pose data, based on the geometric relationships between the positions of the toes, ankles, and hip joints of the predefined human bone structure and the center of the foot sole and the base in the predefined humanoid robot structure, the foot offset from the toes to the center of the foot sole and the base height ratio are calculated;

[0014] Based on the geometric relationships between the positions of the shoulders and wrist joints in the human bone structure and the shoulders and elbow ends in the humanoid robot structure, the arm length ratio is calculated;

[0015] Based on the postures of the knees, hips, and elbow joints in the human bone structure and the corresponding joint postures in the humanoid robot structure, the pose transformation matrix is calculated.

[0016] Optionally, the base coordinate system is calculated according to the positions of the left thigh root, right thigh root, and lower spine joints in the human bone structure and the base height ratio;

[0017] The waist coordinate system is calculated according to the positions of the left shoulder, right shoulder, and upper spine joints in the human bone structure and the relative offset from the base to the waist in the humanoid robot structure;

[0018] The foot coordinate system is calculated according to the positions of the left and right toe joints in the human bone structure and the foot offset;

[0019] The elbow end coordinate system is calculated based on the relative offset from the wrist joint to the shoulder joint in the human bone structure, the arm length ratio, and the waist coordinate system.

[0020] Optionally, before solving the target joint angles of the humanoid robot according to the desired pose information, the method further includes:

[0021] For the intermediate joints in the humanoid robot structure, only the original pose information of the corresponding intermediate joints in the human bone structure is mapped to the desired pose information of the intermediate joints of the humanoid robot by applying the pose transformation matrix, and the intermediate joints include knees, hips, and elbow joints;

[0022] The solving of the target joint angles of the humanoid robot according to the desired pose information includes:

[0023] Solving the target joint angles of the humanoid robot according to the desired pose information and the desired pose information of the intermediate joints.

[0024] Optionally, the calculating of the contact state information between the legs of the humanoid robot and the ground according to the target joint angles includes:

[0025] Using the forward kinematics algorithm, calculating the sole height and sole velocity of the humanoid robot in the world coordinate system according to the target joint angles;

[0026] Comparing the sole height with a preset or dynamically estimated ground reference height to obtain a height difference;

[0027] When the absolute value of the height difference is less than a first preset threshold and the sole velocity is less than a second preset threshold, it is determined that the legs of the humanoid robot are in contact with the ground, otherwise it is determined to be in a non-contact state.

[0028] Optionally, the deep reinforcement learning algorithm is the PPO algorithm, and the training of the deep reinforcement learning algorithm uses a reward function, and the reward function includes reward terms or penalty terms for improving trajectory tracking accuracy, ensuring end pose accuracy, maintaining physical contact rationality, reducing energy consumption, and enhancing motion continuity.

[0029] Optionally, before solving the target joint angles of the humanoid robot according to the desired pose information, the method further includes:

[0030] Applying a filtering algorithm to smooth the desired pose information;

[0031] Before training the motion control strategy of the humanoid robot using the deep reinforcement learning algorithm with the target joint angle and the contact state information as references, the method further includes:

[0032] Apply a filtering algorithm to the target joint angle for smoothing processing.

[0033] The second aspect of the present application provides a system for humanoid motion control of a robot based on bone mapping, including:

[0034] An acquisition unit for using a motion capture device to acquire the initial pose data of the human body in the T-pose and the motion data during the motion process;

[0035] A first calculation unit for calculating the scale ratio and the pose transformation matrix between the human body and the humanoid robot based on the initial pose data in combination with a predefined human bone structure and a humanoid robot structure;

[0036] A second calculation unit for recursively calculating the original pose information of each human joint in the world coordinate system according to the motion data through the forward kinematics algorithm;

[0037] A first mapping unit for mapping the original pose information to the desired pose information of the humanoid robot in the key coordinate system by applying the scale ratio and the pose transformation matrix, where the key coordinate system at least includes a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system;

[0038] A solution unit for solving the target joint angle of the humanoid robot according to the desired pose information and calculating the contact state information between the legs of the humanoid robot and the ground according to the target joint angle;

[0039] A training unit for using the target joint angle and the contact state information as inputs and training the motion control strategy of the humanoid robot using the deep reinforcement learning algorithm to achieve the humanoid motion control of the humanoid robot.

[0040] The third aspect of the present application provides a device for humanoid motion control of a robot based on bone mapping, and the device includes:

[0041] A processor, a memory, an input / output unit, and a bus;

[0042] The processor is connected to the memory, the input / output unit, and the bus;

[0043] The memory stores a program, and the processor calls the program to execute the method for humanoid motion control of a robot based on bone mapping in the first aspect and any optional one in the first aspect.

[0044] The fourth aspect of this application provides a computer-readable storage medium, on which a program is stored. When the program is executed on a computer, it executes the method of the first aspect and any optional method of anthropomorphic motion control of the robot based on skeleton mapping in the first aspect.

[0045] As can be seen from the above technical solutions, this application has the following advantages:

[0046] By using the initial pose data in the standard T-pose to calculate the scale ratio and coordinate transformation matrix between the human body and the robot, unified coordinate system modeling and scale normalization are realized. That is, the action mapping process of this application fully considers the limitations of the robot's own structure and execution ability, can effectively handle the differences between different human body sizes and robot structures, ensures the generality and robustness of the mapping, and avoids action distortion. And during the mapping process, by analyzing the original pose information of the human body's skeletal joints, the expected poses of the corresponding key coordinate systems (such as the base, waist, feet, and elbow tips) on the humanoid robot are constructed and mapped. This mapping method makes full use of human motion data and ensures the migration and scalability of the algorithm to different robot structures. Finally, the target joint angles generated by the mapping and the leg contact state information calculated in real time are used as the training inputs of reinforcement learning, guiding the robot not only to imitate the action form but also to learn stable motions that conform to physical laws. So that the finally trained control strategy can drive the robot to achieve natural, stable, and autonomous anthropomorphic motion, significantly enhancing the robustness and adaptability of the robot's motion in complex environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in this application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of this application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0048] Figure 1 Schematic diagram of the human skeletal structure in the method of anthropomorphic motion control of the robot based on skeleton mapping provided by this application;

[0049] Figure 2 Schematic diagram of the humanoid robot structure in the method of anthropomorphic motion control of the robot based on skeleton mapping provided by this application;

[0050] Figure 3 Schematic diagram of the flow of an embodiment of the method of anthropomorphic motion control of the robot based on skeleton mapping provided by this application;

[0051] Figure 4Another schematic flowchart of an embodiment of the method for robot anthropomorphic motion control based on bone mapping provided by this application;

[0052] Figure 5 A schematic structural diagram of an embodiment of the system for robot anthropomorphic motion control based on bone mapping provided by this application;

[0053] Figure 6 A schematic structural diagram of an embodiment of the device for robot anthropomorphic motion control based on bone mapping provided by this application. Detailed implementation manners

[0054] This application provides a method and system for robot anthropomorphic motion control based on bone mapping, which are used to enhance the anthropomorphic motion performance and environmental adaptability of humanoid robots. The human bone structure and the humanoid robot structure used in this application are described separately below.

[0055] In fields such as motion capture, animation, and robot simulation, the human bone is usually abstracted into a hierarchical (tree-like) structure, which consists of multiple joints and the bones / links connecting them. There are the following multiple data formats: BVH (Biovision Hierarchy): a commonly used format for animation and motion capture; FBX, COLLADA, GLTF: used for 3D animation model exchange; Kinect Skeleton Model: the skeleton model provided by Microsoft Kinect; OpenPose / MediaPipe: the bone points recognized by images. The above formats are more or less the same. The following introduces its definition method and calculation process in the BVH format:

[0056] (a) Root node: Usually defined at the pelvis or the lower spine, which is the starting point of the entire skeleton and is described by the position and orientation (Euler angles or quaternions) in the world coordinate system in BVH.

[0057] (b) Joint: Represents the connection point between bones and is described by the position and orientation (Euler angles or quaternions) relative to the root node or the parent joint in BVH.

[0058] (c) Bone or link: Connects two joints, represents the rigid part between the links, and is used to distinguish the parent-child relationship of the joints.

[0059] Please refer to Figure 1 , Figure 1 which is the definition of the human bone structure used in this application. The green balls represent the joint coordinate systems, and the red arrows represent the links, pointing from the parent joint to the child joint. The specific joint names are as follows:

[0060] Central axis skeleton: Hips (pelvis / center of the hip, fixed to the Root), Spine1 (lower spine), Spine2 (upper spine), Chest, Neck, Head;

[0061] Upper limbs: Left / Right Shoulder, Left / Right Arm, Left / Right Fore Arm, Left / Right Hand (since finger movements are not mapped in this invention, the palm part is omitted);

[0062] Lower limbs: Left / Right Up Leg; Left / Right Leg, Left / Right Foot, Left / Right Toe.

[0063] A humanoid robot is usually composed of three parts: the waist, upper limbs, and lower limbs. Generally, the waist has 0 - 3 degrees of freedom, the upper limbs have 3 - 7 degrees of freedom, and the lower limbs have 5 - 6 degrees of freedom. The number of degrees of freedom and their configuration methods will affect the anthropomorphic degree after motion mapping. It should be noted that the proposed anthropomorphic motion control of the robot in this invention is applicable to humanoid robots with any degree of freedom configuration. For ease of subsequent description, please refer to Figure 2 , Figure 2 which is a definition example of the structure of the humanoid robot used in this application. Each joint is described using the position and orientation of the joint coordinate system in the world coordinate system:

[0064] 1. Waist: Base: The coordinate system located in the middle of the two hips of the robot, defining the horizontal forward direction as the x-axis, the horizontal left direction as the y-axis, and the vertical upward direction as the z-axis, conforming to the right-hand coordinate system. The initial states of the remaining joint coordinate systems are all aligned with the orientation of the base system; Waist: Above the base, the end coordinate system of the waist after including several degrees of freedom.

[0065] 2. Upper limbs: Shoulder: The joint coordinate system where the arm is connected to the torso; Elbow: The elbow joint coordinate system; Elbow_end: The joint where the elbow is connected to the palm.

[0066] 3. Lower limbs: Hip: The end coordinate system after three degrees of freedom of the hip; Knee: The knee joint coordinate system; Ankle: The ankle joint coordinate system; Foot: The coordinate system at the center of the sole of the foot.

[0067] Please refer to Figure 3 , Figure 3An embodiment of the method for robot anthropomorphic motion control based on skeleton mapping provided by this application, the method includes:

[0068] 301. Use a motion capture device to collect the initial pose data of the human body in the T-pose and the motion data during the motion process;

[0069] To achieve anthropomorphic motion control of the robot, the most feasible and convenient method is to map human actions to a humanoid robot. When obtaining the specific action content to be imitated, a human demonstrator is usually asked to wear a specific motion capture device. The type of this motion capture device can be optical principle-based (such as Vicon, OptiTrack, which captures reflective marker points pasted on the human body through high-speed cameras), inertial measurement unit (IMU)-based (such as Xsens, which bundles sensor units including gyroscopes, accelerometers, etc. on each body segment), computer vision-based (such as some markerless depth camera solutions like Kinect, Azure Kinect), or an algorithm for pose estimation through an ordinary camera like OpenPose / MediaPipe. The specific type is not limited here.

[0070] In this embodiment, to achieve accurate and robust mapping, it is necessary to first collect the initial pose data of the human body in the T-pose. The T-pose specifically refers to the action where a person stands upright, stretches the whole body, straightens the arms and knees, and stands on both feet on the horizontal ground. The specific action can be referred to Figure 1 as shown. The main purpose of collecting this initial pose data is to provide a standardized reference benchmark for subsequent steps. In this benchmark pose, static information such as the limb lengths and relative joint positions of the human body can be conveniently measured. After the initial pose data is collected, the demonstrator can start moving and perform target actions such as walking, waving, jumping, etc. Collecting the motion data during the motion process is to obtain the actual action sequence that needs to be imitated by the robot. This part of the dynamic data contains the pose information of each joint of the human body changing over time, which is the main driving source for subsequent mapping, solving the joint angles of the robot, and reinforcement learning training.

[0071] 302. Based on the initial pose data, combined with the predefined human bone structure and the humanoid robot structure, calculate the scale ratio and pose transformation matrix between the human body and the humanoid robot;

[0072] The motion of a specific human demonstrator is mapped onto a specific humanoid robot. However, there are significant differences in stature, limb proportions, and joint coordinate system definitions between humans and robots, and even between different humans. Direct mapping without considering these differences will result in serious motion distortion, such as the robot taking steps that are too large or too small, the arm extension range being uncoordinated, and the joints facing the wrong direction. The purpose of step 302 is to use the initial posture data collected in step 101, combined with the known structural information of both parties (such as Figure 1 and Figure 2 The predefined human skeleton structure and humanoid robot structure shown in the figure are used to quantitatively calculate these differences and generate transformation parameters for compensating these differences. The transformation parameters specifically include scale ratio and posture transformation matrix.

[0073] Specifically, the scale ratio is a proportional factor used to describe the size difference between the corresponding body parts of the human body and the robot; the pose transformation matrix describes the rotation difference between the local coordinate system of a joint on the human body and the local coordinate system of the corresponding joint on the robot under T-pose. The pose transformation matrix is specifically a rotation matrix, which is used to correct the pose in the subsequent mapping step to ensure the direction alignment.

[0074] 303. According to the motion data, the original position information of each human joint in the world coordinate system is recursively calculated by a forward kinematics algorithm;

[0075] In order to map human motion to the robot, it is necessary to know the exact position and orientation of each key part (joint) of the human body in space at any time. However, the motion data collected in step 301 is usually stored in a certain format, for example, only the position of the root joint (such as the pelvis) in the world and the relative rotation of other joints relative to their parent joints are recorded, such as how many degrees the elbow joint is bent relative to the shoulder joint. This relative data cannot be mapped directly, so it is necessary to convert the input relative motion data into the absolute coordinate data required for the subsequent mapping step.

[0076] Specifically, through forward kinematics (FK) calculation, the FK algorithm will calculate from the root node to the leaf node along the hierarchical structure of the skeleton. For each frame in the motion data, based on the known relative motion of the joints and the bone connection relationship, the position and posture / orientation of each human joint in the unified world coordinate system can be accurately calculated, and the result obtained is the original pose information. That is, the input motion data and the human skeleton structure define all the parameters required for the calculation, and the output result is a data structure for each frame, which contains the calculated global position vectors and global postures of all joints in the human skeleton structure. The general calculation formula is as follows:

[0077] Let a certain sub-joint be , and its parent joint be . Then the position calculation of this sub-joint in the world coordinate system is as follows:

[0078] (1) Position calculation in the world coordinate system:

[0079]

[0080] Among them, : The positions of the parent and sub-joints in the world coordinate system, : The displacement vector of the sub-joint relative to the parent joint, : The rotation matrix of the parent joint in the world coordinate system.

[0081] (2) Attitude calculation of the sub-joint in the world coordinate system:

[0082]

[0083] Among them, : The attitudes of the parent and sub-joints in the world coordinate system, : The attitude of the sub-joint relative to the parent joint.

[0084] (3) Recursive calculation process:

[0085] Starting from the root node, recursively calculate the world pose of each joint according to the parent-child topological structure of the skeleton:

[0086] If the joint is the root node:

[0087] pos_world = pos_local;

[0088] rot_world = rot_local;

[0089] Otherwise:

[0090] pos_world = parent.pos_world + parent.rot_world × pos_local;

[0091] rot_world = parent.rot_world × rot_local.

[0092] 304. Apply the scale ratio and attitude transformation matrix to map the original pose information to the expected pose information of the humanoid robot in the key coordinate systems. The key coordinate systems at least include the base coordinate system, the waist coordinate system, the foot coordinate system, and the elbow end coordinate system;

[0093] Due to the different structures of humans and robots, especially the different degrees of freedom, if the original pose information of humans is directly used as the target for robots, it will cause serious deformation, inability to execute, or unnaturalness of movements due to differences in size, proportion, joint definition, etc. Therefore, in this embodiment, it is necessary to use the scale ratio and pose transformation matrix calculated in step 302 to generate expected pose information that is more reasonable and achievable for the robot physically and structurally. Specifically, the approach of this application does not directly limit how many degrees each joint of the robot should rotate, but defines the target states that several of the most functionally important parts on the robot, namely the key coordinate systems, should reach in the world, and this target state is the expected pose information. In this embodiment, the key coordinate systems at least include the base coordinate system, the waist coordinate system, the foot coordinate system, and the elbow end coordinate system, which will be described separately below:

[0094] Base coordinate system: Located at the starting position of the robot's pelvis or waist, it represents the foundation of the robot's overall positioning and orientation. The expected pose information mapped to the base coordinate system defines the main position where the robot should be in the world coordinate system and the overall orientation of the body, such as the forward direction. The base coordinate system is the reference origin for the movement of the entire robot, and its stability and accuracy are crucial for the balance and coordination of the overall movement.

[0095] Waist coordinate system: Located at the upper part of the robot's torso, it defines the pose and orientation of the robot's upper body. The expected pose information mapped to this coordinate system mainly reflects the rotation and inclination of the shoulders and the upper spine in human movement. Since the arms are usually connected to the torso, the waist coordinate system not only controls the pose of the torso but also serves as a reference benchmark for the movement of the two arms.

[0096] Foot coordinate system: Located at the key position (such as the center or the center of the support polygon) of the robot's foot sole. The expected pose information mapped to this coordinate system specifies where the robot's foot should be on the ground (or in the air) and at what angle to land or be placed. The foot coordinate system is crucial for realizing movements involving the interaction between the foot and the environment, such as walking, balance maintenance, going up and down stairs, etc., and is the main end target of the leg motion chain.

[0097] Elbow end coordinate system: Represents the end of the robot's forearm, near the wrist, and serves as the target for the end effector (hand) of the arm. The expected pose information mapped to this coordinate system defines the spatial position where the robot's hand should reach and the pose to be maintained. This is crucial for imitating human arm movements, gestures, and potential grasping operations, etc., and is the main end target of the arm motion chain.

[0098] Specifically, in step 304, a scale ratio is applied to adjust mappings related to dimensions, such as stride and arm extension distance, and a pose transformation matrix is applied to correct and align the orientation difference between the human body and the robot coordinate system. For each frame of motion data, according to the preset structural correspondence, corresponding mathematical operations are performed (such as vector scaling, coordinate transformation, rotation matrix application, etc., and the specific calculation process is omitted here), and the expected world poses of each key coordinate system of the robot are obtained. Through these conversions, the original pose information of the corresponding parts of the human body can be transformed into the expected pose information of the corresponding key coordinate systems of the robot.

[0099] 305. Solve for the target joint angles of the humanoid robot according to the expected pose information, and calculate the contact state information between the legs of the humanoid robot and the ground according to the target joint angles;

[0100] After obtaining the expected pose information of the key parts of the robot, since the actuators of the robot are each joint, the control system needs to know at what angle each joint should rotate to achieve these pose targets, that is, by calculation, the high-level motion intention (expected pose information) is converted into low-level hardware executable instructions (target joint angles), and the solved target joint angles will be used as the input or target of the robot controller. Specifically, the inverse kinematics (IK) algorithm can be used to solve for the target joint angles, that is, given the target poses of the end or key points of the robot motion chain defined by the expected pose information, a set of joint angle values that can make these points reach the target poses are calculated inversely, that is, the target joint angles.

[0101] In this embodiment, after calculating the target joint angles, in order to make the subsequent control physically reasonable, it is also necessary to further calculate the contact state information between the feet of the humanoid robot and the ground according to this target action. Calculating the contact state information can provide a basis at the physical contact level for subsequent steps, knowing when to support and when to swing, which is crucial for the humanoid robot to learn a stable and natural anthropomorphic gait.

[0102] 306. Use the target joint angles and the contact state information as inputs, and train the motion control strategy of the humanoid robot using a deep reinforcement learning algorithm to achieve anthropomorphic motion control of the humanoid robot.

[0103] Through the foregoing steps, the original motion data of the human demonstrator has been converted into a set of motion targets that the robot can understand, namely the target joint angles varying with time and the corresponding contact state information. This set of targets is the ideal trajectory at the kinematic level. However, if the robot is only allowed to track these target angles with a simple controller, it is very likely that it cannot execute stably and naturally in the real physical environment, because this process does not take into account the dynamic characteristics of the robot (mass, inertia, actuator limitations) and the complex physical interactions with the environment (such as impacts, friction, uneven ground).

[0104] Therefore, in this embodiment, in order to enable the robot to not only imitate in form, but also execute these anthropomorphic actions stably and robustly in the physical world, it is necessary to train a low-level control strategy that can comprehensively consider dynamics, physical interactions, and imitation targets under the guidance of the target joint angles and contact state information. By reasonably designing the state space and reward function, the robot is guided to balance the trajectory reduction accuracy and dynamic stability during the action imitation process, and finally achieve autonomous and natural humanoid motion control, thereby greatly enhancing the robot's adaptability and robustness to complex environmental changes.

[0105] In this embodiment, by using the initial pose data in the standard T-pose to calculate the scale ratio and coordinate transformation matrix between the human body and the robot, unified coordinate system modeling and scale normalization are achieved. That is, the action mapping process of this application fully considers the limitations of the robot's own structure and execution ability, can effectively handle the differences between different human body sizes and robot structures, ensures the generality and robustness of the mapping, and avoids action distortion. And during the mapping process, by analyzing the original pose information of the human body's bone joints, the expected poses of the corresponding key coordinate systems (such as the base, waist, foot, elbow end) on the humanoid robot are constructed and mapped. This mapping method makes full use of the human motion data and ensures the migration and scalability of the algorithm to different robot structures. Finally, the target joint angles generated by the mapping and the leg contact state information calculated in real time are used as the training input of the reinforcement learning together, guiding the robot to not only imitate the action form, but also learn to move stably in line with physical laws. So that the finally trained control strategy can drive the robot to achieve natural, stable and autonomous anthropomorphic motion, significantly enhancing the robot's robustness and adaptability in complex environments.

[0106] The method for robot anthropomorphic motion control based on bone mapping provided by this application will be described in detail below. Please refer to Figure 4 , Figure 4 which is another embodiment of the method for robot anthropomorphic motion control based on bone mapping provided by this application. The method includes:

[0107] 401. Collect the initial pose data of the human body in the T-pose and the motion data during the motion process using a motion capture device;

[0108] In this embodiment, step 401 is similar to step 301 of the foregoing embodiment, and will not be elaborated here.

[0109] 402. In the initial pose data, based on the geometric relationships between the positions of the toes, ankles, and hip joints of the predefined human skeletal structure and the center of the foot sole and the base of the predefined humanoid robot structure, calculate the foot offset from the toes to the center of the foot sole and the base height ratio;

[0110] There are differences between humans and robots in terms of how the feet touch the ground (using the toes, heels, or the entire foot sole as the reference point) and the overall height (especially the relative ratio of the lower limbs to the torso). Direct mapping will cause the robot to either step on the wrong position or appear too tall or too short. Therefore, it is necessary to calculate the foot offset and the base height ratio. The calculation of the foot offset is to unify the reference standard of the landing point, and the calculation of the base height ratio is to compensate for the height and ratio differences.

[0111] Human motion capture may use the toes or ankles as the tracking points, but robot control usually requires the center of the foot sole as the target. The foot offset is used to make up for the spatial gap between the "human tracking point" and the "robot control point" in the standard T-pose, ensuring that the human's landing intention can be accurately converted into the robot's target landing point during subsequent mapping. The calculation of this foot offset specifically includes the offsets in two directions, the x direction and the y direction. First, calculate the offset along the x direction from the toes of the human skeleton to the center of the mapped foot sole :

[0112]

[0113] Where:

[0114] : The offset along the x direction from the ankle of the humanoid robot to the center of the foot sole;

[0115] : The vector connecting the Foot-Toe joints of the human skeleton;

[0116] : The cosine of the angle between the vector connecting the Foot-Toe joints of the human skeleton and the horizontal ground Cosine;

[0117] Represents the projection of the vector connecting the Foot-Toe joints on the xoy ground.

[0118] Next, calculate the offset along the y direction from the toes of the human skeleton to the center of the mapped foot sole :

[0119]

[0120] Wherein:

[0121] : The offset of the center of the sole of the humanoid robot's foot to the hip along the y direction;

[0122] : The distance along the y direction between the human body bones LeftUpLeg and RightUpLeg.

[0123] The pedestal height ratio is specifically a scalar ratio factor used to quantify the relative relationship between a person and a robot in a certain characteristic dimension related to the standing height, such as the vertical span from the hip to the sole of the foot. This ratio can be used in subsequent mapping steps to adjust the mapping related to the vertical position to ensure that the robot maintains a relatively appropriate body height relative to the ground when mimicking actions, making the actions look more coordinated. The pedestal height ratio is calculated as follows:

[0124]

[0125] Wherein:

[0126] : The distance along the z direction between the base and the foot coordinate systems of the humanoid robot;

[0127] : The distance along the z direction between the UpLeg and the Toe joints of the human body bones.

[0128] 403. Calculate the arm length ratio based on the geometric relationship between the shoulder and wrist joint positions in the human body bone structure and the shoulder and elbow ends in the humanoid robot structure;

[0129] Similar to the height ratio of the base, the arm lengths of humans and robots are usually different. Without adjusting the ratio and directly mapping the movement of the human hand relative to the shoulder, the reach of the robot's arm will not match that of a human, and the movements will appear uncoordinated and unnatural. Therefore, it is necessary to calculate the arm length ratio to quantify the difference in arm length between humans and robots. The arm length ratio will specifically be used in subsequent mapping steps to scale the displacement vectors related to arm extension, ensuring that when the robot's arm mimics human movements, its end can reach a proportionally scaled equivalent position commensurate with its own arm length, which helps maintain the visual coordination of the mimicked movements. When calculating, select the shoulder joint (Arm) representing the starting point of the arm and the wrist joint (Hand) representing the end of the arm on the human skeleton. On the humanoid robot, select the corresponding shoulder joint (Shoulder) and the end coordinate system of the elbow representing the end of the arm. The arm length ratio is calculated as follows:

[0130]

[0131] where:

[0132] : the distance along the y direction between the shoulder and the elbow_end coordinate system of the humanoid robot;

[0133] : the distance along the y direction between the Arm and Hand joints of the human skeleton.

[0134] 404. Calculate the pose transformation matrix based on the poses of the knee, hip, and elbow joints in the human skeleton and the corresponding joint poses in the humanoid robot structure;

[0135] Even when both humans and robots are in the standard T-pose, the orientations of the local coordinate systems of their respective knee, hip, elbow, etc. joints may not be the same. Without correction, directly applying the joint rotations of the human body to the robot may cause the robot's joints to bend in the wrong direction. Therefore, it is necessary to calculate the pose transformation matrix to solve the problem of inconsistent definition of the partial coordinate systems of the human and robot joints. Calculating the pose transformation matrix can determine a fixed rotation relationship for each pair of corresponding joints that require precise pose mapping. This matrix can correctly transform the rotation represented in the local coordinate system of the human joint to the local coordinate system of the corresponding joint of the robot, ensuring the kinematic accuracy and naturalness of the movement.

[0136] Assume that when the human skeleton is in the T-Pose, the pose of the specified joint is , and the pose of the corresponding joint of the humanoid robot in the same T-Pose is , so its transformation matrix is:

[0137]

[0138] Among them:

[0139] The specified bone joints of the human body skeleton are: knee of the leg, hip of the up leg, and elbow of the forearm;

[0140] The corresponding link joints of the humanoid robot are: knee, hip, and elbow.

[0141] 405. According to the motion data, recursively calculate the original pose information of each human joint in the world coordinate system through the forward kinematics algorithm;

[0142] In this embodiment, step 405 is similar to step 303 of the foregoing embodiment, and will not be elaborated here.

[0143] 406. Apply the scale ratio and the pose transformation matrix to map the original pose information into the desired pose information of the humanoid robot in the key coordinate systems, where the key coordinate systems at least include the base coordinate system, the waist coordinate system, the foot coordinate system, and the elbow end coordinate system;

[0144] In this embodiment, step 406 is similar to step 304 of the foregoing embodiment, and the purpose of step 406 will not be elaborated here. The specific construction methods of the base coordinate system, the waist coordinate system, the foot coordinate system, and the elbow end coordinate system will be described respectively below:

[0145] 1. Construct the mapped base coordinate system of the humanoid robot

[0146] The base coordinate system can be specifically calculated according to the positions of the left thigh root, the right thigh root, and the lower spine joint in the human body skeleton structure and the base height ratio. Use the positions of the three joints of RightUpLeg, LeftUpLeg, and Spine1 of the human body skeleton to construct a plane, which serves as the yoz plane of the base system of the humanoid robot. The y-axis points from RightUpLeg to LeftUpLeg, the z-axis is vertically upward, and the x-axis is perpendicular to this plane and satisfies the right-hand rule. Thus, the pose of the mapped base system can be obtained , and then use the center of the line connecting the two points of RightUpLeg and LeftUpLeg as the position of the base system , and then perform a scale transformation in the z direction . Finally, determine the mapped base system as .

[0147] 2. Construct the mapped waist coordinate system of the humanoid robot

[0148] The waist coordinate system can be specifically calculated based on the positions of the left shoulder, right shoulder, and upper spine joint in the human bone structure, as well as the relative offset from the base to the waist in the humanoid robot structure. Use the positions of the RightShoulder, LeftShoulder, and Spine2 joints of the human bone to construct a plane, which serves as the yoz plane of the waist system of the humanoid robot. The y-axis points from the RightShoulder to the LeftShoulder, the z-axis is vertically upward, and the x-axis is perpendicular to this plane and satisfies the right-hand rule. Thus, the attitude of the mapped waist system can be obtained. Then, based on the position of the mapped base system and the relative offset between the base and the waist of the humanoid robot , calculate the position of the mapped waist system , and finally determine that the mapped base system is .

[0149] 3. Construct the mapped foot coordinate system of the humanoid robot

[0150] The foot coordinate system can be specifically calculated based on the positions of the left and right toe joints and the foot offset in the human bone structure. Use the LeftToe and RightToe joints of the human bone to map to the centers of the left and right foot soles of the humanoid robot for the foot coordinate system. The attitude of the mapped foot system is , and the position of the mapped foot system is , and finally determine that the mapped foot system is .

[0151] 4. Construct the mapped elbow_end coordinate system of the humanoid robot

[0152] The elbow_end coordinate system can be specifically calculated based on the relative offset from the wrist joint to the shoulder joint in the human bone structure, the arm length ratio, and the waist coordinate system. Use the LeftHand and RightHand joints of the human bone to map to the left and right elbow ends of the humanoid robot for the elbow_end coordinate system. The attitude of the mapped elbow_end system is .

[0153] Calculating the position of the mapped elbow_end system essentially maps the position offset of the human bone wrist Hand relative to the shoulder Arm after scaling to the elbow end elbow_end of the humanoid robot relative to the shoulder. First, use the Hand and Arm positions of the human bone to calculate the position offset from the wrist to the shoulder of the human bone , and then convert this offset to the waist coordinate system and perform scale scaling , then use the position offset of the shoulder of the humanoid robot relative to the waist , calculate the position offset of the wrist of the mapped human skeleton relative to the waist , finally, using the position of the waist joint of the mapped humanoid robot, the position of the end of the elbow of the mapped humanoid robot in the world system can be calculated . Finally, determine that the mapped elbow_end system is .

[0154] 407. For the intermediate joints in the structure of the humanoid robot, only the original pose information of the corresponding intermediate joints in the human skeleton structure is applied with a pose transformation matrix to map to the desired pose information of the intermediate joints of the humanoid robot. The intermediate joints include knees, hips, and elbow joints;

[0155] Since the human skeleton usually has more degrees of freedom than a typical humanoid robot, if all corresponding joints of the robot are attempted to strictly match the complete pose of the human joints during the mapping step, it is very likely to cause over-constraint, that is, applying too many or even conflicting motion targets to the robot, making it difficult for subsequent inverse kinematics (IK) solutions to find joint angle solutions that meet all conditions, or the solved actions are very unnatural and violate physical limitations. To solve this problem and ensure the feasibility and robustness of IK solving, in this embodiment, for specific intermediate joints, that is, joints located in the middle of the motion chain, neither the end effector nor the root joint, specifically referring to the knees, hips, and elbows, a strategy of only pose mapping is adopted. For these intermediate joints, only the most important rotation information during their movement is transmitted, while relaxing the direct constraint on their spatial positions, thereby avoiding over-constraint, ensuring that IK can be successfully solved, and at the same time guiding the generation of limb actions with roughly similar shapes. The intermediate joints of the humanoid robot that only use pose mapping are the knee, hip, and elbow, and their corresponding intermediate joints of the human skeleton are the leg, upleg, and forearm. The joint coordinate system of the humanoid robot after mapping through the pose transformation matrix is .

[0156] It should be noted that step 407 is actually part of the mapping process of step 406, and is parallel or complementary to the link of mapping the complete pose of the key coordinate system. The two together constitute the complete target set provided for step 409 to solve.

[0157] 408. Apply a filtering algorithm to the desired pose information for smoothing processing;

[0158] Due to the natural micro-vibrations in human movements and the possible noise introduced by motion capture devices, these fluctuations may be amplified during the coordinate transformation process, resulting in discontinuous mapped robot joint poses and affecting the stability and smoothness during the robot's motion. To eliminate these interferences, it is necessary to filter the desired pose information in the key coordinate system mapped in step 406, so as to ensure that the pose data input for the inverse kinematics optimization solution in step 409 has good stability and continuity. There can be various filtering algorithms, which are not specifically limited here. In this embodiment, a first-order low-pass filter is taken as an example:

[0159]

[0160] Where:

[0161] : The position in the joint coordinate system mapped at time and the attitude described by quaternion;

[0162] : The pose of the joint coordinate system after filtering;

[0163] : The filtering coefficient.

[0164] 409. Solve the target joint angles of the humanoid robot according to the desired pose information and the desired attitude information of the intermediate joints;

[0165] The previous mapping steps have set a comprehensive set of motion targets for the robot in the task space: one part is the complete poses of the key parts (base, feet, hands) after filtering optimization, that is, the desired pose information output by step 408, and the other part is the desired attitudes of the intermediate joints (knees, hips, elbows), that is, the desired attitude information obtained in step 407. For a humanoid robot with a complex structure and a large number of degrees of freedom, especially when there are multiple targets (whole body pose, end pose, intermediate joint attitude), an optimization-based IK method can be specifically adopted.

[0166] Specifically, in this embodiment, a weight-based optimization method is used to calculate the angles of each joint of the robot. Let the current joint angles of the robot be , the desired position and attitude be , and the current end position and attitude be . The objective function in the form of weight optimization is constructed as:

[0167]

[0168] Where:

[0169] : The weight matrix of the pose tracking task error, : The weight matrix in the joint space, : The regularization factor, : The joint angle increment to be solved;

[0170] Then, integrate the joint angle increment to obtain the joint angles of the human skeleton mapped to the humanoid robot .

[0171] The pose tracking tasks used in this embodiment are as follows:

[0172] 1. Position and attitude tracking of the base system, waist system, foot system, and elbow_end system;

[0173] 2. Attitude tracking of the knee system, hip system, and elbow system.

[0174] 410. Apply a filtering algorithm to smooth the target joint angles;

[0175] Use the inverse kinematics algorithm to solve the target joint angles of each driving joint of the robot. Since the inverse kinematics calculation itself has non-linear characteristics, even if there are small fluctuations in the input data, the output joint angles may jump and be discontinuous. Therefore, it is necessary to further filter the target joint angles obtained by inverse kinematics to improve the naturalness of the overall action execution and the stability of the actuator response. There can be various filtering algorithms, which are not specifically limited here. In this embodiment, the first-order low-pass filter is taken as an example:

[0176] Among them:

[0177] : The angle of the th joint of the humanoid robot solved at time

[0178] : The angle of the th joint after filtering at time

[0179] : The filtering coefficient.

[0180] 411. Calculate the contact state information between the legs of the humanoid robot and the ground according to the target joint angles;

[0181] In addition to calculating the target joint angles, it is also necessary to clearly know whether the feet of the robot should physically contact the ground in the target pose formed by this target joint angle, and extract information at the physical interaction level from the kinematic target. Specifically, for the calculation of the ground contact state information, the forward kinematics algorithm can be used to calculate the sole height and sole velocity of the humanoid robot in the world coordinate system according to the target joint angles; compare the sole height with the preset or dynamically estimated ground reference height to obtain the height difference; when the absolute value of the height difference is less than the first preset threshold and the sole velocity is less than the second preset threshold, it is determined that the legs of the humanoid robot are in contact with the ground, otherwise it is determined to be in a non-contact state.

[0182] Specifically, according to the filtered target joint angles, the positions of the soles of the feet and the ends of the arms of the humanoid robot are calculated using forward kinematics. , and then the contact state between the legs and the ground is calculated in the following way: Assume that the robot is initially in the T-Pose state, and take the average value of the sole heights of the left and right legs in the first N frames as the height of the ground: . Then the following contact discrimination conditions are used: . That is, if the height difference between the sole and the ground and the sole velocity are within the thresholds, it is considered that the sole is in contact with the ground, otherwise it is in a non-contact state. The judgment condition for the height difference is used to judge whether the sole is close enough to the ground, and the judgment condition for the sole velocity is used to judge whether the sole is stationary enough. This process is independently executed for each foot of the robot.

[0183] 412. Take the target joint angles and contact state information as inputs, and use the deep reinforcement learning algorithm to train the motion control strategy of the humanoid robot to achieve anthropomorphic motion control of the humanoid robot.

[0184] In this embodiment, step 412 is similar to step 306 of the foregoing embodiment, and will not be elaborated here.

[0185] In this embodiment, the deep reinforcement learning algorithm is the PPO algorithm. The training of the deep reinforcement learning algorithm uses a reward function, and the reward function includes reward terms or penalty terms for improving trajectory tracking accuracy, ensuring end pose accuracy, maintaining physical contact rationality, reducing energy consumption, and enhancing motion continuity. The following is a detailed description of the entire process:

[0186] (1) State space design

[0187] Design the state input vector of the reinforcement learning, including: the angles and angular velocities of the actual joints of the robot at the current moment And the posture and angular velocity of the torso base, the angles and angular velocities of the joints expected in the anthropomorphic trajectory, and the contact states of the two feet. By encoding the above information into a high-dimensional state vector and inputting it into the neural network, the policy is enabled to perceive the whole-body movements and the environmental interaction states.

[0188] (2) Definition of the action space

[0189] For a torque-controlled humanoid robot, the neural network action output of reinforcement learning is the increment of the joint angles and angular velocities , and then the joint torques are calculated in the following way:

[0190]

[0191] where is the joint default value.

[0192] (3) Construction of the reward function

[0193] In order to achieve the tracking of the anthropomorphic trajectory and the physical rationality of contact, the following reward function can be constructed:

[0194] Trajectory tracking term: Calculate the L2 norm error between the current joint angles of the robot and the target trajectory. The smaller the error, the higher the reward;

[0195] Pose and position error term: Penalize the spatial pose error of the end effector (such as the sole of the foot) to ensure accurate foot landing;

[0196] Contact discrimination term: If the robot has non-physical contact (such as the foot hanging but supposed to support, foot sliding, etc.), give a negative reward;

[0197] Energy consumption term: By penalizing the absolute value of the joint acceleration or torque, guide the policy to output a softer control;

[0198] Motion continuity term: Encourage smooth action output between consecutive time instants and reduce jitter or sudden switches.

[0199] (4) Construction of the reward function

[0200] After constructing the state, action, and reward functions, a deep reinforcement learning algorithm is used for policy training. The specific process is as follows: Build a robot motion simulation platform in the physical simulation environment IsaacGym; Use the Proximal Policy Optimization (PPO) algorithm for training; Execute the policy to output actions in time steps, calculate the next state and the immediate reward, and iteratively update the policy network and the value network; After multiple rounds of training, the policy gradually learns to reproduce the target trajectory without violating the physical constraints.

[0201] Through such deep reinforcement learning, the motion control system of the robot can learn a closed-loop motion control strategy. Guided by the kinematic reference target, through continuous trial and error and optimization in physical simulation, it learns how to generate underlying control instructions, enabling the robot to not only follow the imitation target but also satisfy dynamic constraints, maintain balance, and achieve physically reasonable contact behaviors, ultimately achieving stable, natural, and robust anthropomorphic motion control and significantly enhancing the robot's adaptability and robustness to complex environmental changes.

[0202] The following provides a detailed description of the system for anthropomorphic motion control of a robot based on bone mapping. Please refer to Figure 5 , Figure 5 This is another embodiment of the system for anthropomorphic motion control of a robot based on bone mapping provided by this application. The system includes:

[0203] An acquisition unit 501, configured to use a motion capture device to acquire the initial pose data of the human body in the T-pose and the motion data during the motion process;

[0204] A first calculation unit 502, configured to calculate the scale ratio and pose transformation matrix between the human body and the humanoid robot based on the initial pose data in combination with the predefined human bone structure and the humanoid robot structure;

[0205] A second calculation unit 503, configured to recursively calculate the original pose information of each human joint in the world coordinate system according to the motion data through the forward kinematics algorithm;

[0206] A first mapping unit 504, configured to map the original pose information to the desired pose information of the humanoid robot in the key coordinate systems by applying the scale ratio and the pose transformation matrix. The key coordinate systems at least include a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system;

[0207] A solving unit 505, configured to solve the target joint angles of the humanoid robot according to the desired pose information and calculate the contact state information between the legs of the humanoid robot and the ground according to the target joint angles;

[0208] A training unit 506, configured to use the target joint angles and the contact state information as inputs and train the motion control strategy of the humanoid robot by using a deep reinforcement learning algorithm to achieve anthropomorphic motion control of the humanoid robot.

[0209] Optionally, the first calculation unit 502 is specifically configured to:

[0210] In the initial pose data, based on the geometric relationships between the positions of the toes, ankles, and hip joints of the predefined human skeletal structure and the center of the foot sole and the base in the predefined humanoid robot structure, calculate the foot offset from the toes to the center of the foot sole and the base height ratio;

[0211] Based on the geometric relationships between the positions of the shoulders and wrist joints in the human skeletal structure and the ends of the shoulders and elbows in the humanoid robot structure, calculate the arm length ratio;

[0212] Based on the poses of the knee, hip, and elbow joints in the human skeletal structure and the corresponding joint poses in the humanoid robot structure, calculate the pose transformation matrix.

[0213] Optionally, the base coordinate system is calculated based on the positions of the left thigh root, right thigh root, and lower spine joints in the human skeletal structure and the base height ratio;

[0214] The waist coordinate system is calculated based on the positions of the left shoulder, right shoulder, and upper spine joints in the human skeletal structure and the relative offset from the base to the waist in the humanoid robot structure;

[0215] The foot coordinate system is calculated based on the positions of the left and right toe joints and the foot offset in the human skeletal structure;

[0216] The elbow end coordinate system is calculated based on the relative offset from the wrist joint to the shoulder joint, the arm length ratio, and the waist coordinate system in the human skeletal structure.

[0217] Optionally, the system further includes a second mapping unit 507 for:

[0218] For the intermediate joints in the humanoid robot structure, only map the original pose information of the corresponding intermediate joints in the human skeletal structure to the desired pose information of the intermediate joints in the humanoid robot by applying the pose transformation matrix, where the intermediate joints include the knee, hip, and hand elbow joints;

[0219] The solving unit 505 is specifically configured to solve the target joint angles of the humanoid robot according to the desired pose information and the desired pose information of the intermediate joints.

[0220] Optionally, the solving unit 505 is further specifically configured to:

[0221] Using the forward kinematics algorithm, calculate the sole height and sole velocity of the humanoid robot in the world coordinate system according to the target joint angles;

[0222] Compare the sole height with the preset or dynamically estimated ground reference height to obtain the height difference;

[0223] When the absolute value of the height difference is less than the first preset threshold and the sole velocity is less than the second preset threshold, it is determined that the leg of the humanoid robot is in contact with the ground; otherwise, it is determined to be in a non-contact state.

[0224] Optionally, the deep reinforcement learning algorithm is the PPO algorithm, and the training of the deep reinforcement learning algorithm uses a reward function, which includes reward terms or penalty terms for improving trajectory tracking accuracy, ensuring the accuracy of the end pose, maintaining the rationality of physical contact, reducing energy consumption, and enhancing motion continuity.

[0225] Optionally, the system further includes a filtering processing unit 508, which is used for:

[0226] Applying a filtering algorithm to the desired pose information for smoothing processing;

[0227] Applying a filtering algorithm to the target joint angles for smoothing processing.

[0228] In the system of this embodiment, the functions of each unit correspond to the steps in the foregoing method embodiment shown above, and will not be elaborated here. Figure 3 、 Figure 4 shown above, and will not be elaborated here.

[0229] This application also provides a device for robot anthropomorphic motion control based on bone mapping. Please refer to Figure 6 , Figure 6 which is an embodiment of the device for robot anthropomorphic motion control based on bone mapping provided by this application. The device includes:

[0230] A processor 601, a memory 602, an input / output unit 603, and a bus 604;

[0231] The processor 601 is connected to the memory 602, the input / output unit 603, and the bus 604;

[0232] The memory 602 stores a program, and the processor 601 calls the program to execute any one of the methods for robot anthropomorphic motion control based on bone mapping as described above.

[0233] This application also relates to a computer-readable storage medium, on which a program is stored. When the program runs on a computer, the computer is enabled to execute any one of the methods for robot anthropomorphic motion control based on bone mapping as described above.

[0234] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated here.

[0235] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of devices or units can be in electrical, mechanical, or other forms.

[0236] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0237] In addition, each functional unit in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

[0238] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in various embodiments of the present application. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs and other various media that can store program codes.

Claims

1. A method for robot anthropomorphic motion control based on bone mapping, characterized in that, The method includes: Collecting initial pose data of a human body in the T-pose and motion data during the motion process using a motion capture device; Based on the initial pose data, combining with a predefined human skeletal structure and a humanoid robot structure, calculating the scale ratio and pose transformation matrix between the human body and the humanoid robot; According to the motion data, recursively calculating the original pose information of each human joint in the world coordinate system through a forward kinematics algorithm; Applying the scale ratio and the pose transformation matrix to map the original pose information to the desired pose information of the humanoid robot in key coordinate systems, where the key coordinate systems at least include a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system; Solving the target joint angles of the humanoid robot according to the desired pose information, and calculating the contact state information between the legs of the humanoid robot and the ground according to the target joint angles; Using the target joint angles and the contact state information as inputs, training the motion control strategy of the humanoid robot using a deep reinforcement learning algorithm to achieve anthropomorphic motion control of the humanoid robot.

2. The method according to claim 1, wherein The calculating the scale ratio and pose transformation matrix between the human body and the humanoid robot based on the initial pose data, combining with a predefined human skeletal structure and a humanoid robot structure, includes: In the initial pose data, based on the geometric relationships between the toe tip, ankle, and hip joint positions of the predefined human skeletal structure and the center of the foot sole and the base of the predefined humanoid robot structure, calculating the foot offset from the toe tip to the center of the foot sole and the base height ratio; Based on the geometric relationships between the shoulder and wrist joint positions in the human skeletal structure and the shoulder and elbow end in the humanoid robot structure, calculating the arm length ratio; Based on the knee, hip, and elbow joint postures in the human skeletal structure and the corresponding joint postures in the humanoid robot structure, calculating the pose transformation matrix.

3. The method according to claim 2, wherein The base coordinate system is calculated according to the left thigh root, right thigh root, and lower spine joint positions in the human skeletal structure and the base height ratio; The waist coordinate system is calculated according to the left shoulder, right shoulder, and upper spine joint positions in the human skeletal structure and the relative offset from the base to the waist in the humanoid robot structure; The foot coordinate system is calculated according to the left toe tip and right toe tip joint positions in the human skeletal structure and the foot offset; The elbow end coordinate system is calculated according to the relative offset from the wrist joint to the shoulder joint in the human skeletal structure, the arm length ratio, and the waist coordinate system.

4. The method according to claim 1, characterized in that, Before solving the target joint angles of the humanoid robot according to the desired pose information, the method further includes: For the intermediate joints in the humanoid robot structure, only mapping the original pose information of the corresponding intermediate joints in the human skeletal structure to the desired pose information of the intermediate joints of the humanoid robot using the pose transformation matrix, where the intermediate joints include knee, hip, and hand elbow joints; The solving the target joint angles of the humanoid robot according to the desired pose information includes: Solve the target joint angles of the humanoid robot according to the expected pose information and the expected attitude information of the intermediate joints.

5. The method according to claim 1, wherein Calculating the contact state information between the legs of the humanoid robot and the ground according to the target joint angles includes: Using the forward kinematics algorithm, calculate the sole height and sole velocity of the humanoid robot in the world coordinate system according to the target joint angles; Compare the sole height with a preset or dynamically estimated ground reference height to obtain a height difference; When the absolute value of the height difference is less than a first preset threshold and the sole velocity is less than a second preset threshold, it is determined that the legs of the humanoid robot are in contact with the ground, otherwise it is determined to be in a non-contact state.

6. The method according to claim 1, wherein The deep reinforcement learning algorithm is the PPO algorithm, and the training of the deep reinforcement learning algorithm uses a reward function, which includes reward terms or penalty terms for improving trajectory tracking accuracy, ensuring end pose accuracy, maintaining physical contact rationality, reducing energy consumption, and enhancing motion continuity.

7. The method according to any one of claims 1 to 6, characterized in that, Before solving the target joint angles of the humanoid robot according to the expected pose information, the method further includes: Apply a filtering algorithm to the expected pose information for smoothing processing; Before using the target joint angles and the contact state information as inputs to train the motion control strategy of the humanoid robot using a deep reinforcement learning algorithm, the method further includes: Apply a filtering algorithm to the target joint angles for smoothing processing.

8. A system for robot anthropomorphic motion control based on bone mapping, characterized in that, The system includes: An acquisition unit for using a motion capture device to acquire the initial pose data of the human body in the T-pose and the motion data during the motion process; A first calculation unit for calculating the scale ratio and pose transformation matrix between the human body and the humanoid robot based on the initial pose data in combination with a predefined human bone structure and humanoid robot structure; A second calculation unit for recursively calculating the original pose information of each human joint in the world coordinate system according to the motion data through the forward kinematics algorithm; A first mapping unit for mapping the original pose information to the expected pose information of the humanoid robot in the key coordinate system by applying the scale ratio and the pose transformation matrix, where the key coordinate system at least includes a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system; A solving unit for solving the target joint angles of the humanoid robot according to the expected pose information and calculating the contact state information between the legs of the humanoid robot and the ground according to the target joint angles; A training unit for using the target joint angles and the contact state information as inputs to train the motion control strategy of the humanoid robot using a deep reinforcement learning algorithm to achieve anthropomorphic motion control of the humanoid robot.

9. An apparatus for anthropomorphic motion control of a robot based on bone mapping, characterized in that, The device includes: A processor, a memory, an input / output unit, and a bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program, and the processor calls the program to execute the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, A program is stored on the computer-readable storage medium, and when the program is executed on a computer, it executes the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Novel humanoid movement system of robot

    CN108098780A

  • Humanoid robot action system based on human body posture control and control method

    CN113305830A