Robot anthropomorphic motion control method and system based on skeleton mapping

By calculating the scale ratio and posture transformation matrix between the human body and the humanoid robot, the human action data is mapped to the humanoid robot, and the deep reinforcement learning algorithm is used to train the motion control strategy, the problem of unnatural movement of the humanoid robot in the existing technology is solved, and natural, stable and autonomous anthropomorphic motion control is achieved.

CN120134329AActive Publication Date: 2025-06-13SHENZHEN ZHONGQING ROBOT TECH CO LTD

Patent Information

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

AI Technical Summary

Technical Problem

When mapping human action data to humanoid robots, the prior art ignores the physical constraints and dynamic limitations of the robot, resulting in the generated robot's actions being unnatural and stiff, and even exceeds the physical ability of the robot.

Method used

By collecting the initial posture data and motion data of the human body under T-pose, the scale ratio and posture transformation matrix between the human body and the humanoid robot are calculated. These matrices are used to map the original posture information into the expected posture information of the humanoid robot on the key coordinate system, and the motion control strategy is trained using deep reinforcement learning algorithms to achieve anthropomorphic motion control.

Benefits of technology

This method effectively handles the differences between different human bodies and robot structures, ensures the universality and robustness of the mapping, avoids motion distortion, and enables the robot to perform anthropomorphic movements naturally, stably and autonomously, significantly enhancing the robustness and adaptability of the robot in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120134329A_ABST
    Figure CN120134329A_ABST
Patent Text Reader

Abstract

The invention discloses a robot anthropomorphic motion control method and system based on skeleton mapping. The method and system are used for enhancing anthropomorphic motion performance and environment adaptability of a humanoid robot. The method comprises the following steps: calculating a scale proportion and a posture transformation matrix between a human body and the humanoid robot based on initial posture data; according to the motion data, recursively calculating original pose information of each human body joint in a world coordinate system through a forward kinematics algorithm; mapping the original pose information into expected pose information of the humanoid robot on the key coordinate system by applying a scale proportion and a pose transformation matrix; a target joint angle of the humanoid robot is solved according to the expected pose information, and contact state information of legs of the humanoid robot and the ground is calculated according to the target joint angle; and the target joint angle and the contact state information serve as input, a motion control strategy of the humanoid robot is trained through a deep reinforcement learning algorithm, and humanoid motion control over the humanoid robot is achieved.
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, a humanoid robot is inspired by the physiological structure and movement mechanism of the human body. A core goal in developing humanoid robots is to endow them with movement 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 a humanoid robot to imitate human actions, existing technologies typically use a motion capture system to collect the motion data of a human demonstrator. This data usually exists in the form of three-dimensional coordinates of human bone joint points or a sequence of joint angles. Subsequently, the captured human motion data is "mapped" or "redirected" onto the kinematic model of the target humanoid robot to establish a 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 movement of the corresponding part of the human body.

[0003] The problem with existing technologies is that there are inherent differences in physiological structure and movement capabilities between humans and humanoid robots, including but not limited to: different bone size ratios, mismatches in the number and configuration of joint degrees of freedom, different joint movement 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-collision, 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 a humanoid robot.

[0005] In a first aspect of this application, a method for anthropomorphic motion control of a robot based on bone mapping is provided, including: Using a motion capture device to collect the initial pose data of a human body in the T-pose and the motion data during the motion process; 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; 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; Map the original pose information to the desired pose information of the humanoid robot in the key coordinate systems by using the scale ratio and the pose transformation matrix, where the key coordinate systems include at least a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system; 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; 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.

[0006] 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: In the initial pose data, calculate the foot offset from the toe to the center of the foot sole and the base height ratio based on the geometric relationships between the toe, ankle, and hip joint positions of the predefined human bone structure and the center of the foot sole and the base of the predefined humanoid robot structure; Calculate the arm length ratio based on the geometric relationships between the shoulder and wrist joint positions in the human bone structure and the shoulder and elbow end in the humanoid robot structure; Calculate the pose transformation matrix based on the knee, hip, and elbow joint postures in the human bone structure and the corresponding joint postures in the humanoid robot structure.

[0007] Optionally, the base coordinate system is calculated according to the left thigh root, right thigh root, and lower spine joint positions in the human bone 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 bone 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 and right toe joint positions in the human bone 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 bone structure, the arm length ratio, and the waist coordinate system.

[0008] Optionally, 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 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. The intermediate joints include knees, hips, and elbow joints of the hands. Solving the target joint angles of the humanoid robot according to the desired pose information includes: Solving the target joint angles of the humanoid robot according to the desired pose information and the desired pose information of the intermediate joints.

[0009] Optionally, 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, calculating the sole height and sole velocity of the humanoid robot in the world coordinate system according to the target joint angles; Comparing 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.

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

[0011] Optionally, before solving the target joint angles of the humanoid robot according to the desired pose information, the method further includes: Applying a filtering algorithm to the desired pose information for smoothing processing; Before using the target joint angles and the contact state information as a reference to train the motion control strategy of the humanoid robot using the deep reinforcement learning algorithm, the method further includes: Applying a filtering algorithm to the target joint angles for smoothing processing.

[0012] The second aspect of the present application provides a system for humanoid motion control of a robot based on bone mapping, including: An acquisition unit for using an action 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 a humanoid robot structure; A second calculation unit, configured to recursively calculate the original pose information of each human joint in the world coordinate system according to the motion data through a forward kinematics algorithm; A first mapping unit, configured to map the original pose information to the desired pose information of the humanoid robot in a key coordinate system by using 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, 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; A training unit, 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 implement anthropomorphic motion control of the humanoid robot.

[0013] A third aspect of the present application provides a device for anthropomorphic motion control of a robot based on bone mapping, where 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 for anthropomorphic motion control of a robot based on bone mapping in the first aspect and any optional one in the first aspect.

[0014] A fourth aspect of the present application provides a computer-readable storage medium, where a program is stored on the computer-readable storage medium, and when the program is executed on a computer, it executes the method for anthropomorphic motion control of a robot based on bone mapping in the first aspect and any optional one in the first aspect.

[0015] It can be seen from the above technical solutions that the present application has the following advantages: 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, and elbow end) 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 for 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 reinforcement learning, guiding the robot to not only imitate the action form but also 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 motions, significantly enhancing the robot's robustness and adaptability in complex environments. Description of the Drawings

[0016] 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 be obtained based on these drawings.

[0017] Figure 1 Schematic diagram of the human bone structure in the method for anthropomorphic motion control of a robot based on bone mapping provided by this application; Figure 2 Schematic diagram of the humanoid robot structure in the method for anthropomorphic motion control of a robot based on bone mapping provided by this application; Figure 3 Schematic diagram of the flow of an embodiment of the method for anthropomorphic motion control of a robot based on bone mapping provided by this application; Figure 4 Schematic diagram of the flow of another embodiment of the method for anthropomorphic motion control of a robot based on bone mapping provided by this application; Figure 5 Schematic diagram of the structure of an embodiment of the system for anthropomorphic motion control of a robot based on bone mapping provided by this application; Figure 6 Schematic diagram of the structure of an embodiment of the device for anthropomorphic motion control of a robot based on bone mapping provided by this application. Detailed Embodiments

[0018] This application provides a method and system for robot anthropomorphic motion control based on bone mapping, which is 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 will be described separately below.

[0019] In fields such as motion capture, animation, and robot simulation, the human skeleton 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: a skeleton model provided by Microsoft Kinect; OpenPose / MediaPipe: skeleton points for image recognition. The above formats are more or less the same. The following uses the BVH format to introduce its definition method and calculation process: (a) Root node: Usually defined at the pelvis or lower spine, it 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.

[0020] (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.

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

[0022] 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: Axial skeleton: Hips (pelvis / hip center, fixed to the Root), Spine1 (lower spine), Spine2 (upper spine), Chest (chest), Neck (neck), Head (head); Upper limbs: Left / Right Shoulder (left / right shoulder), Left / Right Arm (left / right arm), Left / Right Fore Arm (left / right elbow), Left / Right Hand (left / right wrist) (since finger movements are not mapped in this invention, the palm part is omitted); Lower limbs: Left / Right UpLeg (left / right hip); Left / Right Leg (left / right knee), Left / Right Foot (left / right ankle), Left / Right Toe (left / right toe tip).

[0023] A humanoid robot usually consists of three parts: the waist, the upper limbs, and the 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 action mapping. It should be noted that the anthropomorphic motion control of the robot proposed in the present invention is applicable to humanoid robots with any degree of freedom configuration. For the convenience of subsequent description, please refer to Figure 2 , Figure 2 which is an example of the definition 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: 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 waist is the end coordinate system after including several degrees of freedom.

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

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

[0026] Please refer to Figure 3 , Figure 3 which is an embodiment of the method for anthropomorphic motion control of a robot based on skeleton mapping provided in this application. The method includes: 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; In order to achieve anthropomorphic motion control of robots, the most feasible and convenient method is to map human movements onto humanoid robots. 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 motion capture device can be based on optical principles (such as Vicon, OptiTrack, using high-speed cameras to capture reflective markers attached to the human body), based on inertial measurement units (IMUs) (such as Xsens, sensor units containing gyroscopes, accelerometers, etc. are bundled in various parts of the body) or based on computer vision (such as some markerless depth camera solutions Kinect, Azure Kinect) or OpenPose / MediaPipe, an algorithm for posture estimation through ordinary cameras, which is not limited here.

[0027] In this embodiment, in order to achieve accurate and robust mapping, it is necessary to first collect the initial posture data of the human body in T-pose. The T-pose specifically refers to the action of a person standing upright, with the whole body stretched out, arms and knees straight, and both feet standing on the horizontal ground. For specific actions, please refer to Figure 1 As shown. The main purpose of collecting this initial posture data is to provide a standardized reference benchmark for subsequent steps. In this benchmark posture, static information such as the length of human limbs and the relative position of joints can be easily measured. After the initial posture data is collected, the demonstrator can start moving and perform target actions, such as walking, waving, jumping, etc. The purpose of collecting motion data during the movement is to obtain the actual action sequence itself that needs to be imitated by the robot. This part of the dynamic data contains the position information of each joint of the human body over time, which is the main driving source for subsequent mapping, solving the robot joint angle and reinforcement learning training.

[0028] 302. Based on the initial posture data, combined with the predefined human skeleton structure and humanoid robot structure, the scale ratio and posture transformation matrix between the human body and the humanoid robot are calculated; 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.

[0029] Specifically, the scale ratio is a scaling factor used to describe the dimensional differences between corresponding body parts of a human and a robot; the pose transformation matrix describes the rotational differences between the local coordinate systems of a certain joint on a human body and the corresponding joint on a robot in the T-pose. The pose transformation matrix is specifically a rotation matrix used to correct the pose in subsequent mapping steps to ensure alignment of directions.

[0030] 303. 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; To map human motion to a robot, it is necessary to know the exact positions and orientations of various key parts (joints) of the human body in space at any given moment. However, the motion data collected in step 301 is usually stored in a specific format, for example, only the pose of the root joint (such as the pelvis) in the world and the relative rotations of other joints with respect to their parent joints are recorded, such as how many degrees the elbow joint bends relative to the shoulder joint. This relative data cannot be directly mapped, so it is necessary to convert the input relative motion data into the absolute coordinate data required for subsequent mapping steps.

[0031] Specifically, through forward kinematics (FK) calculation, the FK algorithm calculates from the root node to the leaf nodes along the hierarchical structure of the skeleton. For each frame of the motion data, based on the known relative joint motions and bone connection relationships, the position and pose / orientation of each human joint in a unified world coordinate system can be accurately calculated, and the resulting value is the original pose information. That is, the input motion data and the human bone 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 poses of all joints in the human bone structure. Its general calculation formula is as follows: 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: (1) Position calculation in the world coordinate system:

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

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

[0034] Among them, : The poses of the parent and child joints in the world coordinate system, : The pose of the child joint relative to the parent joint.

[0035] (3) Recursive calculation process: Starting from the root node, recursively calculate the world pose of each joint according to the parent-child topology of the skeleton: If the joint is the root node: pos_world = pos_local; rot_world = rot_local; Otherwise: pos_world = parent.pos_world + parent.rot_world × pos_local; rot_world = parent.rot_world × rot_local.

[0036] 304. Apply the scale ratio and pose transformation matrix to map the original pose information to the desired 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; Since the structures of humans and robots are different, especially the degrees of freedom are different. If the original pose information of humans is directly used as the target of the robot, the actions will be severely deformed, unable to be executed, or unnatural due to differences in size, ratio, 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 more reasonable and achievable desired pose information for the robot in terms of physics and structure. Specifically, the method of this application does not directly limit how many degrees each joint of the robot should rotate, but defines several functionally most important parts on the robot, that is, the target states that the key coordinate systems should reach in the world. This target state is the desired 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 are described separately below: Base coordinate system: Located at the starting position of the pelvis or waist of the robot, it represents the foundation of the overall positioning and orientation of the robot. The desired 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 overall movement of the robot, and its stability and accuracy are crucial for the balance and coordination of the overall movement.

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

[0038] Foot Coordinate System: Located at key positions (such as the center or the center of the support polygon) on the robot's foot sole. The desired 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 it should land or be placed. The foot coordinate system is crucial for realizing movements involving foot-environment interaction such as walking, balance maintenance, and going up and down stairs, and is the main end goal of the leg motion chain.

[0039] Elbow End Coordinate System: Represents the end of the robot's forearm, near the wrist, and serves as the target for the arm end effector (hand). The desired pose information mapped to this coordinate system defines the spatial position that the robot's hand should reach and the posture it should maintain. This is crucial for mimicking human arm movements, gestures, and potential grasping operations, etc., and is the main end goal of the arm motion chain.

[0040] Specifically, in step 304, a scale ratio is applied to adjust the mapping related to dimensions, such as stride length 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 relationship, corresponding mathematical operations (such as vector scaling, coordinate transformation, rotation matrix application, etc., the specific calculation process is omitted here) are performed to obtain the desired world poses of the key coordinate systems of the robot. Through these conversions, the original pose information of the corresponding parts of the human body can be transformed into the desired pose information of the corresponding key coordinate systems of the robot.

[0041] 305. 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; After obtaining the desired pose information of the key parts of the robot, since the actuators of the robot are its joints, the control system needs to know at what angles each joint should rotate to achieve these pose targets. That is, by calculation, the high-level motion intention (desired pose information) is converted into instructions executable by the underlying hardware (target joint angles). The obtained 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 kinematic chain defined by the desired pose information, a set of joint angle values that can make these points reach the target poses are deduced in reverse, namely the target joint angles.

[0042] 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 motion. 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.

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

[0044] 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 changing with time and the corresponding contact state information. This set of targets is an ideal trajectory at the kinematic level. However, if only let the robot use a simple controller to track these target angles, 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).

[0045] 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, guide the robot 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.

[0046] 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 in 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, foot, and elbow end) 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 for 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 reinforcement learning, guiding the robot not only to imitate the action form but also to learn stable movements that conform to physical laws. So that the finally trained control strategy can drive the robot to achieve natural, stable, and autonomous anthropomorphic movements, significantly enhancing the robot's robustness and adaptability in complex environments.

[0047] The following will elaborate on the method for robot anthropomorphic motion control based on bone mapping provided by this application. Please refer to Figure 4 , Figure 4 This is another embodiment of the method for robot anthropomorphic motion control based on bone mapping provided by this application. The method includes: 401. 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; In this embodiment, step 401 is similar to step 301 in the foregoing embodiment, and will not be elaborated here.

[0048] 402. In the initial pose data, based on the geometric relationships between the toe, 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, calculate the foot offset from the toe to the center of the foot sole and the base height ratio; There are differences between humans and robots in 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 miss the 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.

[0049] Human motion capture may use the toe or ankle as the tracking point, but robot control usually requires the center of the sole of the foot as the target. The foot offset is used to compensate for the spatial gap between the "human tracking point" and the "robot control point" in the standard T-pose, ensuring that the human's intention to land 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 toe of the human skeleton to the center of the mapped sole of the foot :

[0050] Where: : The offset along the x-direction from the ankle of the humanoid robot to the center of the sole of the foot; : The vector connecting the Foot-Toe joints of the human skeleton; : The angle between the vector connecting the Foot-Toe joints of the human skeleton and the horizontal ground Cosine; Represents the projection of the vector connecting the Foot-Toe joints on the xoy ground.

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

[0052] Where: : The offset along the y-direction from the center of the sole of the humanoid robot to the hip; : The distance along the y-direction between the LeftUpLeg and RightUpLeg of the human skeleton.

[0053] The base 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, ensuring that the robot maintains a relatively appropriate body height relative to the ground when mimicking actions, making the actions look more coordinated. The base height ratio Is calculated as follows:

[0054] Where: : The distance along the z-direction between the base and foot coordinate systems of the humanoid robot; : The distance along the z - direction between the UpLeg and Toe joints of the human skeleton.

[0055] 403. Calculate the arm length ratio based on the geometric relationship between the shoulder and wrist joint positions in the human skeleton and the shoulder and elbow end in the humanoid robot structure; Similar to the base height ratio, the arm lengths of humans and robots are usually different. If no ratio adjustment is made and the movement of the human hand relative to the shoulder is directly mapped, it will cause the arm extension range of the robot to not match that of humans, and the movements will appear uncoordinated and unnatural. Therefore, it is necessary to calculate the arm length ratio to quantify the difference in arm lengths between humans and robots. The arm length ratio will specifically be used in the subsequent mapping step to scale the displacement vectors related to arm extension, ensuring that when the robot's arm imitates 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 imitation 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 elbow end coordinate system representing the end of the arm. The calculation of the arm length ratio is specifically as follows:

[0056] Where: : The distance along the y - direction between the shoulder and elbow_end coordinate systems of the humanoid robot; : The distance along the y - direction between the Arm and Hand joints of the human skeleton.

[0057] 404. Calculate the pose transformation matrix based on the knee, hip, and elbow postures in the human skeleton structure and the corresponding joint postures in the humanoid robot structure; 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. If no correction is made and the joint rotations of the human body are directly applied to the robot, it may cause the robot 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 convert the rotation represented in the local coordinate system of the human joint to the local coordinate system of the corresponding robot joint, ensuring the kinematic accuracy and naturalness of the movement.

[0058] Let the pose of the specified joint be when the human skeleton is in the T - Pose , the poses of the corresponding joints of the humanoid robot in the T-Pose are , so its transformation matrix is:

[0059] Where: The bone joints specified by the human skeleton are: knee of the leg, hip of the upper leg, and forearm of the elbow; The corresponding link joints of the humanoid robot are: knee, hip, and elbow.

[0060] 405. According to the motion data, the original pose information of each human joint in the world coordinate system is recursively calculated through the forward kinematics algorithm; In this embodiment, step 405 is similar to step 303 of the foregoing embodiment, and will not be elaborated here.

[0061] 406. Apply the scale ratio and the pose transformation matrix to map the original pose information to the desired pose information of the humanoid robot in the key coordinate system, and the key coordinate system includes at least a base coordinate system, a waist coordinate system, a foot coordinate system, and an elbow end coordinate system; 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 separately below: 1. Construct the mapped base coordinate system of the humanoid robot 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 skeleton structure and the base height ratio. Use the positions of the RightUpLeg, LeftUpLeg, and Spine1 joints of the human 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, so that the pose of the mapped base system can be obtained , and then use the center of the line connecting the RightUpLeg and LeftUpLeg points as the position of the base system , and then perform a scale transformation in the z direction . Finally, the mapped base system is determined as .

[0062] 2. Construct the mapped waist coordinate system of the humanoid robot The waist coordinate system can be specifically calculated based on the positions of the left shoulder, right shoulder, and upper spine joints in the human skeletal structure, as well as the relative offset from the base to the waist in the humanoid robot structure. A plane is constructed using the positions of the RightShoulder, LeftShoulder, and Spine2 joints of the human skeleton 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 waist of the humanoid robot , the position of the mapped waist system is calculated , and finally the mapped base system is determined as .

[0063] 3. Construct the mapped foot coordinate system of the humanoid robot 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 skeletal structure. The LeftToe and RightToe joints of the human skeleton are used to map the centers of the left and right foot soles of the humanoid robot to the foot coordinate system. The attitude of the mapped foot system is , and the position of the mapped foot system is , and finally the mapped foot system is determined as .

[0064] 4. Construct the mapped elbow_end coordinate system of the humanoid robot 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 skeletal structure, the arm length ratio, and the waist coordinate system. The LeftHand and RightHand joints of the human skeleton are used to map the left and right elbow ends of the humanoid robot to the elbow_end coordinate system. The attitude of the mapped elbow_end system is .

[0065] Calculating the position of the mapped elbow_end system essentially involves mapping the position offset of the human skeletal 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 skeleton to calculate the position offset of the human skeletal wrist to the shoulder , 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 coordinate system can be calculated . Finally, determine that the mapped elbow_end coordinate system is .

[0066] 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 mapped to the desired pose information of the intermediate joints of the humanoid robot by using the pose transformation matrix. The intermediate joints include the knee, hip, and elbow joints; Since the human skeleton usually has more degrees of freedom than a typical humanoid robot, if we try to make all the corresponding joints of the robot strictly match the complete pose of the human joints in the mapping step, it is very likely to cause overconstraint, that is, applying too many or even conflicting motion targets to the robot, making it difficult for the subsequent inverse kinematics (IK) solution to find the joint angle solution that satisfies all conditions, or the solved actions are very unnatural and violate physical limitations. To solve this problem and ensure the feasibility and robustness of the IK solution, 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 in their motion is transmitted, while relaxing the direct constraint on their spatial positions, thereby avoiding overconstraint, ensuring that the IK can be solved smoothly, 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 by the pose transformation matrix is .

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

[0068] 408. Apply a filtering algorithm to the desired pose information for smoothing processing; Due to the natural micro-vibrations in human movements and the noise that may be introduced by motion capture devices, these fluctuations may be amplified during the coordinate transformation process, which may cause the mapped robot joint poses to be discontinuous, affecting the stability and smoothness during the robot's movement. 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 to step 409 for inverse kinematics optimization and solution has good stability and continuity. There can be various filtering algorithms, and specific ones are not limited here. In this embodiment, a first-order low-pass filter is taken as an example:

[0069] Where: : The position in the joint coordinate system mapped at time and the attitude described by quaternion; : The pose of the joint coordinate system after filtering; : The filtering coefficient.

[0070] 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; The previous mapping steps have set a comprehensive set of motion targets for the robot in the task space: one part is the complete pose of the key parts (base, feet, hands) after filtering and optimization, that is, the desired pose information output by step 408, and the other part is the desired attitude 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.

[0071] 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 , and the objective function in the form of weight optimization is constructed as:

[0072] Where: : 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; Then, by integrating the joint angle increments, the joint angles of the human skeleton mapped to the humanoid robot can be obtained. .

[0073] The pose tracking tasks used in this embodiment are as follows: 1. Position and attitude tracking of the base system, waist system, foot system, and elbow_end system; 2. Attitude tracking of the knee system, hip system, and elbow system.

[0074] 410. Apply a filtering algorithm to the target joint angles for smoothing. 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 exhibit jumps and discontinuities. Therefore, it is necessary to further filter the target joint angles obtained by the inverse kinematics solution to improve the naturalness of the overall motion execution and the stability of the actuator response. 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:

[0075] Where: : The angle of the th joint of the humanoid robot solved at time : At time th joint angle after filtering; : Filtering coefficient.

[0076] 411. Calculate the contact state information between the legs of the humanoid robot and the ground according to the target joint angles. In addition to calculating the target joint angles, it is also necessary to clearly know whether the robot's feet should physically contact the ground in the target pose formed by these target joint angles, and extract the information at the physical interaction level from the kinematic targets. Specifically, for the calculation of the contact state information with the ground, 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 a 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.

[0077] 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 calculate the contact state between the legs and the ground 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 use the following contact discrimination conditions: . 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. Among them, 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.

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

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

[0080] 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-effector pose accuracy, maintaining physical contact rationality, reducing energy consumption, and enhancing motion continuity. The following is a detailed description of the entire process: (1) State space design Design the state input vector of reinforcement learning, including: the angles and angular velocities of the actual joints of the robot at the current moment as well as the attitude and angular velocity of the torso base, the angles and angular velocities of the desired joints in the anthropomorphic trajectory, and the contact state 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 actions and the environmental interaction state.

[0081] (2) Action space definition For a torque-controlled humanoid robot, the action output of the neural network of reinforcement learning is the increment of the joint angles and angular velocities , and then calculate the joint torque in the following way:

[0082] where is the joint default value.

[0083] (3) Reward function construction In order to achieve the tracking of the anthropomorphic trajectory and the physical rationality of contact, the following reward function can be constructed: Trajectory tracking item: Calculate the L2 norm error between the current robot's joint angles and the target trajectory. The smaller the error, the higher the reward; Posture and position error term: Penalize the spatial posture error of the end effector (such as the sole of the foot) to ensure that the foot lands accurately; Contact judgment item: If the robot has non-physical contact (such as the foot is suspended in the air but should be supported, the foot slides, etc.), a negative reward is given; Energy consumption term: By penalizing the absolute value of joint acceleration or torque, the strategy is guided to output softer control; Motion continuity item: encourages smooth output of actions between previous and next moments, reducing jitter or sudden switching.

[0084] (4) Reward function construction After constructing the state, action, and reward functions, a deep reinforcement learning algorithm is used for strategy 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 strategy output action in time steps, calculate the next state and immediate reward, and iteratively update the strategy network and value network; after multiple rounds of training, the strategy gradually learns to reproduce the target trajectory without violating physical constraints.

[0085] Through such deep reinforcement learning, the robot's motion control system can learn a closed-loop motion control strategy. This strategy is guided by the kinematic reference target. Through continuous trial and error and optimization in physical simulation, it learns how to generate underlying control instructions, so that the robot can follow the imitation target while satisfying dynamic constraints, maintaining balance, and achieving physically reasonable contact behavior, ultimately achieving stable, natural and robust anthropomorphic motion control, and greatly enhancing the robot's adaptability and robustness to complex environmental changes.

[0086] The following is a detailed description of the robot anthropomorphic motion control system based on skeleton mapping provided by this application. Figure 5 , Figure 5 Another embodiment of the system for robot anthropomorphic motion control based on skeleton mapping provided by the present application comprises: The acquisition unit 501 is used to acquire the initial posture data of the human body in T-pose and the motion data during the motion process by using a motion capture device; A first calculation unit 502 is used to calculate the scale ratio and posture transformation matrix between the human body and the humanoid robot based on the initial posture data in combination with a predefined human skeleton structure and a humanoid robot structure; The second computing unit 503 is 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; The first mapping unit 504 is configured to map 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, and 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; The solving unit 505 is 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; The training unit 506 is 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 the deep reinforcement learning algorithm to achieve the anthropomorphic motion control of the humanoid robot.

[0087] Optionally, the first computing unit 502 is specifically configured to: In the initial pose data, based on the geometric relationships between the toe, ankle, and hip joint positions of the predefined human bone structure and the center of the foot sole and the base in the predefined humanoid robot structure, calculate the foot offset from the toe 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 bone structure and the shoulder and elbow ends in the humanoid robot structure, calculate the arm length ratio; Based on the knee, hip, and elbow joint postures in the human bone structure and the corresponding joint postures in the humanoid robot structure, calculate the pose transformation matrix.

[0088] Optionally, the base coordinate system is calculated according to the left thigh root, right thigh root, and lower spine joint positions in the human bone 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 bone 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 and right toe joint positions and the foot offset in the human bone structure; The elbow end coordinate system is calculated according to the relative offset from the wrist joint to the shoulder joint, the arm length ratio, and the waist coordinate system in the human bone structure.

[0089] Optionally, the system further includes a second mapping unit 507, configured to: For the intermediate joints in the humanoid robot structure, only map the original pose information of the corresponding intermediate joints in the human bone structure to the desired pose information of the intermediate joints of the humanoid robot by applying the pose transformation matrix, and the intermediate joints include knee, hip, and hand elbow joints; The solution unit 505 is specifically configured to solve the target joint angles of the humanoid robot according to the desired pose information and the desired attitude information of the intermediate joints.

[0090] Optionally, the solution unit 505 is further specifically configured to: 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 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.

[0091] 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 end pose accuracy, maintaining physical contact rationality, reducing energy consumption, and enhancing motion continuity.

[0092] Optionally, the system further includes a filtering processing unit 508, which is used for: Apply a filtering algorithm to the desired pose information for smoothing processing; Apply a filtering algorithm to the target joint angles for smoothing processing.

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

[0094] This application also provides a device for humanoid motion control of a robot based on bone mapping. Please refer to Figure 6 , Figure 6 This is an embodiment of the device for humanoid motion control of a robot based on bone mapping provided by this application. The device includes: A processor 601, a memory 602, an input / output unit 603, and a bus 604; The processor 601 is connected to the memory 602, the input / output unit 603, and the bus 604; The memory 602 stores a program, and the processor 601 calls the program to execute any one of the methods for humanoid motion control of a robot based on bone mapping as described above.

[0095] 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 caused to execute any one of the methods for humanoid motion control of a robot based on bone mapping as described above.

[0096] Those skilled in the art can clearly understand that for the convenience and brevity 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 herein.

[0097] 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, and there may be other division methods in actual implementation. 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.

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

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

[0100] 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 this 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 for causing 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 each embodiment of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes.

Claims

1. A method for anthropomorphic motion control of a robot based on skeleton mapping, characterized in that: The method comprises: Use motion capture equipment to collect the initial posture data of the human body in T-pose and the motion data during the movement; Based on the initial posture data, combined with a predefined human skeleton structure and a humanoid robot structure, a scale ratio and a posture transformation matrix between the human body and the humanoid robot are calculated; 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; Applying the scale ratio and the posture transformation matrix to map the original posture information into the desired posture information of the humanoid robot in a key coordinate system, the key coordinate system at least including a base coordinate system, a waist coordinate system, a foot coordinate system and an elbow end coordinate system; Solving the target joint angle of the humanoid robot according to the desired posture information, and calculating the contact state information between the legs of the humanoid robot and the ground according to the target joint angle; The target joint angle and the contact state information are used as input, and a deep reinforcement learning algorithm is used to train the motion control strategy of the humanoid robot to achieve anthropomorphic motion control of the humanoid robot.

2. The method according to claim 1, characterized in that The method of calculating the scale ratio and posture transformation matrix between the human body and the humanoid robot based on the initial posture data and combining the predefined human skeleton structure and humanoid robot structure includes: In the initial posture data, based on the geometric relationship between the toe, ankle and hip joint positions of the predefined human skeleton structure and the center of the sole and the base in the predefined humanoid robot structure, the foot offset from the toe to the center of the sole and the base height ratio are calculated; Calculating arm length ratio based on the geometric relationship between the shoulder and wrist joint positions in the human skeleton structure and the shoulder and elbow ends in the humanoid robot structure; A posture transformation matrix is ​​calculated based on the postures of the knee, hip and elbow joints in the human skeleton structure and the corresponding joint postures in the humanoid robot structure.

3. The method according to claim 2, characterized in that The base coordinate system is calculated based on the positions of the left thigh root, the right thigh root and the lower spine joint in the human skeleton structure and the base height ratio; The waist coordinate system is calculated based on the positions of the left shoulder, right shoulder and upper spine joints in the human skeleton structure and the relative offset from the base to the waist in the humanoid robot structure; The foot coordinate system is calculated based on the left toe and right toe joint positions in the human skeleton structure and the foot offset; The elbow end coordinate system is calculated based on the relative offset from the wrist joint to the shoulder joint in the human skeleton 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 angle of the humanoid robot according to the expected posture information, the method further includes: For the intermediate joints in the humanoid robot structure, only the original posture information of the corresponding intermediate joints in the human skeleton structure is mapped into the expected posture information of the intermediate joints of the humanoid robot by applying the posture transformation matrix, and the intermediate joints include knee, hip and elbow joints; The step of solving the target joint angle of the humanoid robot according to the expected posture information comprises: The target joint angle of the humanoid robot is solved according to the expected posture information and the expected posture information of the intermediate joint.

5. The method according to claim 1, characterized in that The step of calculating contact state information between the legs of the humanoid robot and the ground according to the target joint angle includes: Calculating the plantar height and plantar velocity of the humanoid robot in the world coordinate system according to the target joint angle using a forward kinematics algorithm; Comparing the foot 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 foot speed 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, characterized in that The deep reinforcement learning algorithm is a PPO algorithm, and the training of the deep reinforcement learning algorithm adopts a reward function, which includes reward items or penalty items for improving trajectory tracking accuracy, ensuring end position accuracy, maintaining rationality of physical contact, 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 angle of the humanoid robot according to the expected posture information, the method further includes: Applying a filtering algorithm to smooth the desired posture information; Before using the target joint angle and the contact state information as references to train the motion control strategy of the humanoid robot using a deep reinforcement learning algorithm, the method further includes: A filtering algorithm is applied to the target joint angle for smoothing.

8. A system for robot anthropomorphic motion control based on skeleton mapping, characterized in that: The system comprises: A collection unit, used to collect the initial posture data of the human body in T-pose and the motion data during the motion process by using a motion capture device; A first calculation unit is used to calculate the scale ratio and posture transformation matrix between the human body and the humanoid robot based on the initial posture data in combination with a predefined human skeleton structure and a humanoid robot structure; A second calculation unit is used to recursively calculate the original position information of each human joint in the world coordinate system through a forward kinematics algorithm according to the motion data; a first mapping unit, for mapping the original posture information into desired posture information of the humanoid robot in a key coordinate system by applying the scale ratio and the posture transformation matrix, wherein 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, used to solve the target joint angle of the humanoid robot according to the expected posture information, and calculate the contact state information between the legs of the humanoid robot and the ground according to the target joint angle; A training unit is used to take the target joint angle and the contact state information as input, and use a deep reinforcement learning algorithm to train the motion control strategy of the humanoid robot to achieve anthropomorphic motion control of the humanoid robot.

9. A device for controlling robot anthropomorphic motion based on skeleton mapping, characterized in that: The device comprises: Processor, memory, input-output unit, and bus; The processor is connected to the memory, the input and 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: The computer-readable storage medium stores a program, and when the program is executed on a computer, the method according to any one of claims 1 to 7 is performed.

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

  • Transition method of motion gait of robot

    CN118092485A

  • Robot arm-hand operation control method and robot arm-hand operation control system

    JP2005046931A

  • Humannoid system based on motion capture

    KR1020130060516A

Cited By

  • Robot joint control method and system based on motion capture equipment

    CN120552083A

  • Robot control method, robot, storage medium and program product

    CN120791758A

  • Demonstration method and system of humanoid robot based on vision

    CN120862643A

  • Robot double-source joint information impedance control method and system, medium and robot

    CN121132661A

  • Robot dual-source joint information impedance control method, system, medium and robot

    CN121132661B