Model expert data generation method and device, equipment and medium
By generating motion animations and mapping data for quadruped robots, the problem of high cost of motion capture of live animals was solved, and expert data adapted to quadruped robot models was generated efficiently, improving the efficiency and quality of data acquisition.
Patent Information
- Application Number
- CN202610024782.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-09
- Publication Date
- 2026-02-17
AI Technical Summary
In existing technologies, obtaining expert data through motion capture of live animals is costly and cannot be directly applied to model training, resulting in low efficiency in generating model expert data.
By generating motion animations from the behavioral state characteristics of a quadruped robot, an animation sequence file is produced. The joint system of the animated character is matched with the joint model of the quadruped robot to extract joint angle and rotation information. The robot is then controlled to simulate actions in a virtual environment, generating fast and slow data variants to expand the data and obtain expert data.
It significantly reduces the difficulty of acquiring specific action data and the subsequent adjustment time, improves the quantity and quality of data, and enables the efficient generation of expert data adapted to quadruped robot models.
Smart Images

Figure CN121543766A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of this disclosure relate to the field of artificial intelligence technology, and more specifically, to a method, apparatus, device, and medium suitable for generating model expert data. Background Technology
[0002] In the traditional adversarial imitation learning and reinforcement learning training framework, expert data can provide high-quality behavioral demonstrations for the agent, helping the agent to quickly learn decision-making strategies that are close to the level of experts.
[0003] In related technologies, expert data is primarily obtained by using motion capture equipment to capture the motion of live animals (such as dogs, cats, or other quadrupeds) to acquire realistic movement data. Motion capture equipment is commonly used to record the natural behavior of animals, and this recorded data is then imported into a simulated environment for training.
[0004] However, using existing technologies, the cost of capturing motion from live animals is high, and the captured data cannot be directly used for model training, requiring a lot of manual fine-tuning and post-processing, resulting in low efficiency in generating model expert data. Summary of the Invention
[0005] The embodiments described herein provide a method, apparatus, device, and medium for generating model expert data that overcomes the aforementioned problems.
[0006] Firstly, based on the content of this disclosure, a method for generating model expert data is provided, including: Animation is generated based on the behavioral state characteristics of the quadruped robot to obtain an animation sequence corresponding to each preset specific action; and an animation sequence file is generated based on the animation sequence corresponding to each preset specific action. Obtain a specific format file containing the skeletal hierarchy of the animated character and joint motion data for each frame from the animation sequence file; Based on the skeletal structure of the animated character and the joint motion data of each frame, the joint system of the animated character is matched with the joint model of the quadruped robot to perform joint mapping on the specific format file. The joint angles, base coordinate positions, and rotation information of each frame of the image are extracted from the specific format file; and the quadruped robot is controlled to simulate the preset specific action in the virtual environment using the joint angles, base coordinate positions, and rotation information of each frame of the image, so as to obtain a sequence of motion parameters corresponding to the body base coordinate system for multiple frames of images. The original sequence velocity of the motion parameter sequence is fast-tuned to generate a fast data variant; and the original sequence velocity of the motion parameter sequence is slow-tuned to generate a slow data variant. The motion parameter sequence is augmented using the fast data variant and the slow data variant to obtain expert data for training the reinforcement learning model.
[0007] Secondly, according to the present disclosure, an apparatus for generating model expert data is provided, comprising: The first generation module is used to generate motion animations from the behavioral state features of the quadruped robot, obtain an animation sequence corresponding to each preset specific action, and generate an animation sequence file based on the animation sequence corresponding to each preset specific action. The acquisition module is used to acquire a specific format file containing the skeletal hierarchy of the animated character and joint motion data of each frame from the animation sequence file; The matching module is used to match the joint system of the animated character with the joint model of the quadruped robot based on the skeletal hierarchy of the animated character and the joint motion data of each frame of the image, so as to perform joint mapping on the specific format file. The control module is used to extract the joint angles, base coordinate positions, and rotation information of each frame of the image from the specific format file; and to control the quadruped robot to simulate the preset specific action in the virtual environment using the joint angles, base coordinate positions, and rotation information of each frame of the image, so as to obtain a sequence of motion parameters corresponding to the body base coordinate system for multiple frames of images. The second generation module is used to fast-adjust the original sequence velocity of the motion parameter sequence to generate a fast data variant; and to slow-adjust the original sequence velocity of the motion parameter sequence to generate a slow data variant. An augmentation module is used to augment the motion parameter sequence based on the fast data variant and the slow data variant to obtain expert data for training a reinforcement learning model.
[0008] Thirdly, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method for generating model expert data as described in any of the above embodiments.
[0009] Fourthly, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the method for generating model expert data as described in any of the above embodiments.
[0010] The method for generating model expert data provided in this application involves generating motion animations from the behavioral state characteristics of a quadruped robot to obtain an animation sequence corresponding to each preset specific action; generating an animation sequence file based on the animation sequence corresponding to each preset specific action; obtaining a specific format file containing the skeletal hierarchy of the animated character and joint motion data of each frame from the animation sequence file; matching the joint system of the animated character with the joint model of the quadruped robot based on the skeletal hierarchy of the animated character and the joint motion data of each frame to perform joint mapping on the specific format file; extracting the joint angles, base coordinate positions, and rotation information of each frame from the specific format file; and controlling the quadruped robot to simulate preset specific actions in a virtual environment using the joint angles, base coordinate positions, and rotation information of each frame to obtain a motion parameter sequence corresponding to the body base coordinate system for multiple frames; fast-tuning the original sequence speed of the motion parameter sequence to generate a fast data variant; slow-tuning the original sequence speed of the motion parameter sequence to generate a slow data variant; and augmenting the motion parameter sequence based on the fast and slow data variants to obtain expert data for training a reinforcement learning model. In this way, obtaining motion data by generating animation sequences can significantly reduce the difficulty of acquiring specific action data and reduce the time consumption for subsequent data adjustment; at the same time, the data expansion mechanism ensures the quantity and quality of training data, thereby efficiently generating expert data that is highly adapted to the quadruped robot model.
[0011] The above description is merely an overview of the technical solutions of the embodiments of this application. In order to better understand the technical means of the embodiments of this application and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of this application more obvious and understandable, specific implementation methods of this application are described below. Attached Figure Description
[0012] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings of the embodiments will be briefly described below. It should be understood that the drawings described below only relate to some embodiments of this disclosure and are not intended to limit this disclosure, wherein: Figure 1 This is a flowchart illustrating a method for generating model expert data provided in this disclosure.
[0013] Figure 2 This is a schematic diagram of the structure of a model expert data generation device provided in this disclosure.
[0014] Figure 3 This is a schematic diagram of the structure of a computer device provided in this disclosure.
[0015] It should be noted that the elements in the attached diagram are schematic and not drawn to scale. Detailed Implementation
[0016] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the described embodiments of this disclosure without creative effort are also within the scope of protection of this disclosure.
[0017] Unless otherwise defined, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this subject matter pertains. It will be further understood that terms such as those defined in commonly used dictionaries shall be interpreted as having the meaning consistent with their meaning in the context of the specification and in the relevant art, and shall not be interpreted in an idealized or overly formal form unless otherwise explicitly defined herein. As used herein, the statement of “connecting” or “coupling” two or more parts together shall mean that these parts are directly joined together or joined through one or more intermediate components.
[0018] The term "embodiment" as used herein means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of the phrase "embodiment" in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0019] In this document, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists, A and B exist simultaneously, or B exists. Additionally, the character " / " generally indicates that the preceding and following related objects have an "or" relationship. Terms such as "first" and "second" are only used to distinguish one component (or part of a component) from another component (or another part of a component).
[0020] In the description of this application, unless otherwise stated, "multiple" means two or more (including two), and similarly, "multiple groups" means two or more (including two groups).
[0021] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
[0022] Figure 1 This is a flowchart illustrating a method for generating model expert data according to an embodiment of this disclosure, as shown below. Figure 1 As shown, the specific process of generating model expert data includes: S110. Generate motion animations from the behavioral state features of the quadruped robot to obtain the animation sequence corresponding to each preset specific action; and generate an animation sequence file based on the animation sequence corresponding to each preset specific action.
[0023] Among them, the behavioral state characteristics of quadruped robots can be used to describe the dynamic behavior patterns and motion stability of quadruped robots during the execution of various preset specific actions to meet behavioral application requirements (such as walking, jumping, turning, or adapting to complex terrain). Specifically, this can include the posture parameters, motion trajectory, joint angle changes, and physical quantity data collected by sensors exhibited by the quadruped robot in different motion scenarios. The animation sequences corresponding to the preset specific actions can be customized on demand by animation companies or using animation software, which can effectively avoid the complexity and high cost of capturing live animals.
[0024] In some embodiments, motion animation generation is performed on the behavioral state characteristics of the quadruped robot to obtain an animation sequence corresponding to each preset specific action. This includes: importing the behavioral state characteristics of the quadruped robot into the skeletal binding system of a preset animation software, establishing a mapping relationship between the behavioral state characteristics and the virtual skeletal joints of the robot to ensure that the behavioral state characteristics can accurately drive the skeletal movement of the virtual model; setting keyframes in the preset animation software based on the kinematic constraints of each preset specific action; and performing interpolation calculations on the skeletal motion trajectories between keyframes to generate an animation sequence corresponding to each preset specific action; adding a physics engine simulation in the preset animation software, and performing dynamic optimization on each animation sequence according to the physical parameters of the quadruped robot to obtain an animation sequence corresponding to each preset specific action.
[0025] The physical parameters of the quadruped robot may include, but are not limited to, its mass distribution, joint damping coefficients, and limb length ratios. These physical parameters can be simulated using a physics engine to reproduce the robot's inertia, collision response, and force balance during motion in the animation sequence, further improving the consistency between the animation sequence and actual physical motion. Simultaneously, during dynamics optimization, the motion amplitude and velocity of each joint in the virtual model can be monitored in real time to ensure they meet the preset kinematic constraints for specific actions. If joint motion exceeds limits or trajectory deviation occurs, interpolation parameters or keyframe positions can be automatically adjusted until the generated animation sequence satisfies both motion continuity requirements and the mechanical structural characteristics of the quadruped robot. After dynamics optimization, the animation sequence can be exported to a common animation file format to record the motion data of the virtual skeletal joints, timeline information, and key parameter records from the physics engine simulation process.
[0026] S120. Obtain a specific format file from the animation sequence file containing the skeletal hierarchy of the animated character and joint motion data for each frame.
[0027] The specific file format can be such as BVH (Biovision Hierarchy) format or other formats that can contain the skeletal hierarchy of the animated character and joint motion data for each frame. BVH format files can be exported from animation sequence files. These files record the skeletal system and motion trajectory of a virtual character or object in a hierarchical structure. Specifically, a BVH file contains the joint hierarchy and motion data. The hierarchy defines the tree structure of the bones (e.g., the connection from root joints to end joints), while the motion data stores the timestamp, position, rotation, and scaling information for each frame. In this embodiment, the BVH format file serves as an intermediate carrier, facilitating the extraction of raw motion data from the animation.
[0028] S130. Based on the skeletal hierarchy of the animated character and the joint motion data of each frame, the joint system of the animated character is matched with the joint model of the quadruped robot to perform joint mapping on a specific format file.
[0029] The quadruped robot's joint model includes virtual models of key active joints such as the hip, knee, and ankle joints, each with specific degrees of freedom and range of motion. During the matching process, a one-to-one or many-to-one correspondence can be automatically performed between the joint system of the animated character and the joint model of the quadruped robot using a custom mapping algorithm or open-source tools. For example, the "forelimb shoulder joint" in the animation can be mapped to the "left foreleg hip joint" of the robot.
[0030] Specifically, the mapping relationship between the joints in the skeletal structure of an animated character can be determined by analyzing the connection relationships, degrees of freedom, and motion limits of each joint, and then comparing them one by one with the corresponding parameters of the quadruped robot's joint model. For example, the femur joint of the animated character's hind limb corresponds to the hip joint of the quadruped robot, and the shinbone joint of the animated character's hind limb corresponds to the knee joint of the quadruped robot. By establishing the joint mapping relationship, it is possible to convert joint motion data from an animated character to a quadruped robot joint model from a file of a specific format.
[0031] In some embodiments, based on the skeletal hierarchy of the animated character and the joint motion data of each frame, the joint system of the animated character is matched with the joint model of the quadruped robot. This includes: identifying matching joint groups between the animated character and the quadruped robot; the matching joint group includes: specific joints of the animated character and target joints in the quadruped robot that have a matching relationship with the specific joints of the animated character; for the matching joint group, the system data of the skeletal hierarchy of the animated character and the joint motion data of each frame corresponding to the specific joints of the animated character are mapped to the joint model corresponding to the target joints of the quadruped robot, so as to transfer the animation data into the robot model.
[0032] During the mapping process, the system data of specific joints of the animated character can be preprocessed, such as standardizing and adjusting the joint range of motion to match the physical motion limits of the target joint of the quadruped robot. For example, if the rotation angle of a specific joint of the animated character exceeds the actual rotation range of the target joint of the quadruped robot, the motion data can be corrected by scaling or thresholding to ensure that the transferred animation data can be effectively executed by the robot model. Simultaneously, a time synchronization mechanism for joint motion data can be established to ensure that the motion parameters of the animated character's joints in each frame match the control cycle of the target joint of the quadruped robot, avoiding deviations in the robot's motion posture due to data transmission delays or time misalignments.
[0033] In addition, for the many-to-one mapping relationship in the matching joint group, the motion data of specific joints of multiple animation characters can be fused and calculated according to the composite motion requirements of the quadruped robot joint model to generate comprehensive control commands that conform to the linkage characteristics of robot joints, so as to realize the accurate transfer of animation data to robot model.
[0034] In some embodiments, the method further includes: physically constraining the swing amplitude, swing speed, and swing path of the joint model corresponding to the target joint of the quadruped robot based on the expected mapping data transferred from the animation data to the robot model.
[0035] Physical constraints can be achieved by constructing a joint kinematic constraint model. This model sets upper and lower thresholds for the swing amplitude based on the structural and physical performance parameters of the target joints of the quadruped robot, ensuring that the joints do not exceed the maximum range of motion allowed by the mechanical structure during movement. Simultaneously, for swing speed, speed limit rules can be formulated by combining the power output characteristics of the robot's drive system and the requirements for motion smoothness, preventing excessively fast joint movement speeds from causing excessive inertial impact or excessively slow speeds from affecting overall motion efficiency. Regarding the swing path, the robot's forward and inverse kinematics, obstacle avoidance requirements, and the smoothness of the motion trajectory can be comprehensively considered. Path planning algorithms can be used to optimize and adjust the joint motion paths generated during the animation data transfer process, ensuring they conform to the actual physical motion laws of the quadruped robot and preventing path conflicts or motion instability. Therefore, by applying physical constraints, the reliability and safety of transferring animation data to the robot model can be further improved, ensuring that the quadruped robot can achieve stable and coordinated movement when executing the transferred animation data.
[0036] S140. Extract the joint angles, base coordinate positions, and rotation information of each frame of the image from a specific format file; and control the quadruped robot to simulate a preset specific action in a virtual environment using the joint angles, base coordinate positions, and rotation information of each frame of the image, thereby obtaining a sequence of motion parameters corresponding to the body base coordinate system for multiple frames of the image.
[0037] The process involves extracting joint angles, base coordinate positions, and rotation information for each frame from a specific mapped file, and then using a robot kinematics and dynamics simulation library to calculate and simulate the quadruped robot performing these actions in a virtual environment. The output of each frame's motion parameters, such as position, velocity, acceleration, and torque in the body base coordinate system, ensures that the data not only preserves the stylistic features of the animation (such as graceful gait or dynamic balance) but also conforms to the robot's physical constraints (such as joint limitations and the effects of gravity).
[0038] In some embodiments, the quadruped robot is controlled to simulate a preset specific action in a virtual environment using the joint angles, base coordinate positions, and rotation information of each frame of the image, to obtain a sequence of motion parameters corresponding to the body base coordinate system for multiple frames of the image. This includes: controlling the quadruped robot to simulate a preset specific action in a virtual environment using the joint angles, base coordinate positions, and rotation information of each frame of the image; calculating the relative displacement and absolute posture of each joint of the quadruped robot in the body base coordinate system in each frame of the image; and arranging the relative displacement and absolute posture corresponding to multiple frames of the image in chronological order to form a sequence of motion parameters including a position coordinate sequence, a posture angle sequence, and a joint motion angular velocity sequence.
[0039] In this system, relative displacement is determined by the change in Euclidean distance between the corresponding joint and the origin of the body's base coordinates, while absolute posture is characterized by a rotation matrix constructed from joint angles and rotation information. The sequence of motion parameters is used to describe the dynamic changes of the quadruped robot when it performs a preset specific action in a virtual environment.
[0040] By using a preset inverse kinematics algorithm, combined with the linkage structure parameters and joint degree of freedom configuration of the quadruped robot, the extracted joint angles, base coordinate positions and rotation information can be converted into driving commands for each joint, thereby driving the robot model in the virtual environment to complete the corresponding actions.
[0041] When calculating the relative displacement and absolute attitude of each joint of the quadruped robot in the body base coordinate system in each frame of the image, the three-dimensional coordinates of each joint in the body base coordinate system in each frame of the image can be recorded in real time, and the Euclidean distance can be calculated with the corresponding joint coordinates in the previous frame to obtain the displacement change of the joint per unit time. By decomposing the joint angle and rotation information into rotational components about each axis of the body base coordinate system, a rotation matrix that can completely reflect the orientation and deflection state of the joint in three-dimensional space can be generated to obtain the absolute attitude.
[0042] S150. Fast-adjust the original sequence velocity of the motion parameter sequence to generate a fast data variant; and slow-adjust the original sequence velocity of the motion parameter sequence to generate a slow data variant; augment the motion parameter sequence with data based on the fast and slow data variants to obtain expert data for training the reinforcement learning model.
[0043] The speed of the original sequence can be adjusted by 0.5x, 1.5x, or 2x using interpolation algorithms, generating variable-speed data variants to further expand the diversity of the model dataset. The expanded data can be output in JSON format, including fields such as timestamps, joint states, and environmental feedback, making it easy to use directly for reinforcement learning model training.
[0044] In some embodiments, the original sequence velocity of the motion parameter sequence is fast-adjusted to generate a fast data variant, including: linearly scaling the joint motion angular velocity sequence in the motion parameter sequence based on a preset first velocity adjustment coefficient to increase the motion speed; obtaining the fast data variant by performing a secondary smoothing filter on the scaled joint motion angular velocity sequence; the secondary smoothing filter is used to eliminate high-frequency jitter noise caused by the speed increase.
[0045] The first speed adjustment coefficient can be set to 1.5 or 2 times according to actual needs. By multiplying each data point in the original joint motion angular velocity sequence by this coefficient, the motion speed is linearly increased. The second smoothing filter can be a combination of moving average filtering and Gaussian filtering. First, moving average filtering is used to initially reduce the high-frequency noise introduced during scaling, and then Gaussian filtering is used to further smooth the data, making the motion curve of the fast data variant more continuous and stable, thus meeting the requirements of reinforcement learning training for data smoothness.
[0046] In some embodiments, the original sequence velocity of the motion parameter sequence is slowed down to generate a slow data variant, including: linearly scaling the joint motion angular velocity sequence in the motion parameter sequence based on a preset second velocity adjustment coefficient to reduce the motion speed; and obtaining the slow data variant by performing a smoothing filter on the scaled joint motion angular velocity sequence; the smoothing filter is used to avoid insufficient motion continuity due to the speed reduction.
[0047] The second speed adjustment coefficient can be set to 0.5 or 0.75 times depending on the actual application scenario. By multiplying each data point in the original joint motion angular velocity sequence by this coefficient, the motion speed is linearly reduced. The first smoothing filter can use a moving average filter. By averaging adjacent data points in the scaled joint motion angular velocity sequence, the continuity of the data sequence is enhanced. This effectively improves the motion stuttering or discontinuity that may be caused by the speed reduction, ensuring that the motion process of the slow data variant is natural and smooth, meeting the data stability requirements of reinforcement learning training.
[0048] In this embodiment, motion animation is generated based on the behavioral state characteristics of the quadruped robot to obtain an animation sequence corresponding to each preset specific action; an animation sequence file is generated based on the animation sequence corresponding to each preset specific action; a specific format file containing the skeletal hierarchy of the animated character and the joint motion data of each frame is obtained from the animation sequence file; based on the skeletal hierarchy of the animated character and the joint motion data of each frame, the joint system of the animated character is matched with the joint model of the quadruped robot to perform joint mapping on the specific format file; the joint angle, base coordinate position, and rotation information of each frame are extracted from the specific format file; and the quadruped robot is controlled to simulate preset specific actions in a virtual environment using the joint angle, base coordinate position, and rotation information of each frame to obtain a motion parameter sequence corresponding to the body base coordinate system of multiple frames; the original sequence speed of the motion parameter sequence is fast-tuned to generate a fast data variant; and the original sequence speed of the motion parameter sequence is slow-tuned to generate a slow data variant; the motion parameter sequence is augmented based on the fast and slow data variants to obtain expert data for training the reinforcement learning model. In this way, obtaining motion data by generating animation sequences can significantly reduce the difficulty of acquiring specific action data and reduce the time consumption for subsequent data adjustment; at the same time, the data expansion mechanism ensures the quantity and quality of training data, thereby efficiently generating expert data that is highly adapted to the quadruped robot model.
[0049] In summary, this embodiment shifts from live motion capture to large-scale, customizable animation production and automated retargeting, not only solving the problems of data acquisition cost and difficulty but also achieving accurate model adaptation and avoiding the tedious manual fine-tuning of traditional methods. Simultaneously, the introduction of the fast / slow motion mechanism provides dynamic data expansion capabilities, allowing a single animation sequence to be expanded into dozens of variations, increasing the richness of training data. Furthermore, the cost of animation production is significantly lower than that of motion capture equipment and animal training; automated mapping and simulation reduce fine-tuning time from weeks to hours; and customized animations can cover more specific scenarios (such as extreme weather or multi-robot collaboration), improving the model's robustness and generalization performance.
[0050] Figure 2 This is a schematic diagram of a model expert data generation device provided in this embodiment. The model expert data generation device may include: The first generation module 210 is used to generate motion animations from the behavioral state features of the quadruped robot, obtain the animation sequence corresponding to each preset specific action, and generate an animation sequence file based on the animation sequence corresponding to each preset specific action.
[0051] The acquisition module 220 is used to acquire a specific format file containing the skeletal hierarchy of the animated character and joint motion data for each frame of the animation sequence file.
[0052] The matching module 230 is used to match the joint system of the animated character with the joint model of the quadruped robot based on the skeletal hierarchy of the animated character and the joint motion data of each frame of the image, so as to perform joint mapping for a specific format file.
[0053] The control module 240 is used to extract the joint angles, base coordinate positions and rotation information of each frame of the image from a specific format file; and to control the quadruped robot to simulate a preset specific action in a virtual environment using the joint angles, base coordinate positions and rotation information of each frame of the image, so as to obtain a sequence of motion parameters corresponding to the body base coordinate system of multiple frames of images.
[0054] The second generation module 250 is used to quickly adjust the original sequence velocity of the motion parameter sequence to generate a fast data variant; and to slowly adjust the original sequence velocity of the motion parameter sequence to generate a slow data variant.
[0055] The expansion module 260 is used to augment the motion parameter sequence based on fast and slow data variants to obtain expert data for training the reinforcement learning model.
[0056] In this embodiment, optionally, the matching module 230 is specifically used for: Identify matching joint groups between animated characters and quadruped robots; the matching joint groups include: specific joints of the animated characters and target joints in the quadruped robots that have a matching relationship with the specific joints of the animated characters; for the matching joint groups, map the system data of the skeletal hierarchy of the animated characters and the joint motion data of each frame of the animated characters corresponding to the specific joints of the animated characters to the joint models corresponding to the target joints of the quadruped robots, so as to transfer the animation data into the robot model.
[0057] In this embodiment, optionally, a constraint module is also included.
[0058] The constraint module is used to physically constrain the swing amplitude, swing speed, and swing path of the joint model corresponding to the target joint of the quadruped robot based on the expected mapping data transferred from the animation data to the robot model.
[0059] In this embodiment, optionally, the control module 240 is specifically used for: By using the joint angles, base coordinate positions, and rotation information of each frame of the image, the quadruped robot is controlled to simulate a preset specific action in a virtual environment. The relative displacement and absolute posture of each joint of the quadruped robot in the body base coordinate system in each frame of the image are calculated. The relative displacement is determined by the change in the Euclidean distance between the corresponding joint and the origin of the body base coordinate system, and the absolute posture is characterized by a rotation matrix constructed from the joint angles and rotation information. The relative displacements and absolute postures corresponding to multiple frames of images are arranged in chronological order to form a motion parameter sequence that includes a position coordinate sequence, a posture angle sequence, and a joint motion angular velocity sequence. The motion parameter sequence is used to describe the dynamic change process of the quadruped robot when performing the preset specific action in the virtual environment.
[0060] In this embodiment, optionally, the second generation module 250 is specifically used for: Based on a preset first speed adjustment coefficient, the joint motion angular velocity sequence in the motion parameter sequence is linearly scaled to increase the motion speed; a fast data variant is obtained by performing a second smoothing filter on the scaled joint motion angular velocity sequence; the second smoothing filter is used to eliminate high-frequency jitter noise caused by the speed increase.
[0061] In this embodiment, optionally, the second generation module 250 is specifically used for: Based on a preset second speed adjustment coefficient, the joint motion angular velocity sequence in the motion parameter sequence is linearly scaled to reduce the motion speed; a slow data variant is obtained by performing a smoothing filter on the scaled joint motion angular velocity sequence; the smoothing filter is used to avoid the problem of insufficient motion continuity caused by the speed reduction.
[0062] In this embodiment, optionally, the first generation module 210 is specifically used for: The behavioral state characteristics of the quadruped robot are imported into the skeletal binding system of the preset animation software to establish a mapping relationship between the behavioral state characteristics and the virtual skeletal joints of the robot, so as to ensure that the behavioral state characteristics can accurately drive the skeletal movement of the virtual model. Keyframes are set in the preset animation software based on the kinematic constraints of each preset specific action. The skeletal motion trajectory between keyframes is interpolated to generate the animation sequence corresponding to each preset specific action. A physics engine simulation is added to the preset animation software, and the dynamics of each animation sequence are optimized according to the physical parameters of the quadruped robot to obtain the animation sequence corresponding to each preset specific action.
[0063] The model expert data generation apparatus provided in this disclosure can execute the above method embodiments. Its specific implementation principle and technical effects can be found in the above method embodiments, and will not be repeated here.
[0064] This application also provides a computer device. Please refer to the following for details. Figure 3 , Figure 3 This is a basic structural block diagram of the computer device in this embodiment.
[0065] The computer device includes a memory 310 and a processor 320 that are interconnected via a system bus. It should be noted that only a computer device with memory 310 and processor 320 is shown in the figure; however, it should be understood that it is not required to implement all the components shown, and more or fewer components may be implemented alternatively. Those skilled in the art will understand that the computer device described herein is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.
[0066] Computer devices can include desktop computers, laptops, handheld computers, and cloud servers. These devices allow for human-computer interaction with users through keyboards, mice, remote controls, touchpads, or voice-activated devices.
[0067] The memory 310 includes at least one type of readable storage medium, including non-volatile memory or volatile memory, such as flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. RAM may include static RAM or dynamic RAM. In some embodiments, the memory 310 may be an internal storage unit of a computer device, such as the hard disk or memory of the computer device. In other embodiments, the memory 310 may also be an external storage device of the computer device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, or flash card equipped on the computer device. Of course, the memory 310 may include both internal storage units and external storage devices of the computer device. In this embodiment, the memory 310 is typically used to store the operating system and various application software installed on the computer device, such as the program code of the method described above. In addition, the memory 310 can also be used to temporarily store various types of data that have been output or will be output.
[0068] Processor 320 is typically used to perform overall operations of a computer device. In this embodiment, memory 310 is used to store program code or instructions, including computer operation instructions, and processor 320 is used to execute the program code or instructions stored in memory 310 or process data, such as program code that runs the methods described above.
[0069] In this article, the bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus system can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0070] Another embodiment of this application also provides a computer-readable medium, which may be a computer-readable signal medium or a computer-readable medium. A processor in a computer reads computer-readable program code stored in the computer-readable medium, enabling the processor to execute the functional actions specified in each step or combination of steps in the above method; and to generate means for implementing the functional actions specified in each block or combination of blocks in the block diagram.
[0071] Computer-readable media include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared memory or semiconductor systems, devices or apparatuses, or any suitable combination thereof, wherein the memory is used to store program code or instructions, the program code including computer operation instructions, and the processor is used to execute the program code or instructions of the above-described methods stored in the memory.
[0072] The definitions of memory and processor can be found in the description of the foregoing computer device embodiments, and will not be repeated here.
[0073] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0074] In the various embodiments of this application, the functional units or modules can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0075] If the integrated unit is implemented as 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 this application, in essence, or the part that contributes to the prior art, or all or part of the 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 cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0076] In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" as described in this application does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims listing several means, several units of these means may be embodied by the same item of hardware. The use of "first," "second," and "third," etc., does not indicate any order and these words should be interpreted as names. Unless otherwise specified, the steps in the above embodiments should not be construed as limiting the order of execution.
[0077] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method for generating model expert data, characterized by, The method comprises the following steps: Action animation generation is performed on the behavior state characteristics of the quadruped robot to obtain an animation sequence corresponding to each preset specific action; An animation sequence file is generated according to the animation sequence corresponding to each preset specific action; A specific format file containing the skeletal hierarchy of an animation character and joint motion data of each frame image is obtained from the animation sequence file; The joint system of the animation character is matched with the joint model of the quadruped robot based on the skeletal hierarchy of the animation character and the joint motion data of each frame image, so as to perform joint mapping on the specific format file; Joint angles, base coordinate positions and rotation information of each frame image are extracted from the specific format file; The quadruped robot is controlled to simulate the preset specific action in a virtual environment through the joint angles, base coordinate positions and rotation information of each frame image, so as to obtain a motion parameter sequence corresponding to the body base coordinate system of multiple frames of images; The original sequence speed of the motion parameter sequence is fast adjusted to generate a fast data variant, and the original sequence speed of the motion parameter sequence is slow adjusted to generate a slow data variant; The motion parameter sequence is data augmented according to the fast data variant and the slow data variant to obtain expert data for training a reinforcement learning model.
2. The method of claim 1, wherein, The joint system of the animation character is matched with the joint model of the quadruped robot based on the skeletal hierarchy of the animation character and the joint motion data of each frame image, which comprises the following steps: A matching joint group of the animation character and the quadruped robot is identified, wherein the matching joint group includes a specific joint of the animation character and a target joint of the quadruped robot having a matching relationship with the specific joint of the animation character; For the matching joint group, the system data corresponding to the specific joint of the animation character in the skeletal hierarchy of the animation character and the joint motion data of each frame image are mapped to the joint model corresponding to the target joint of the quadruped robot, so as to transfer animation data to the robot model.
3. The method according to claim 1 or 2, characterized in that, The method further comprises the following steps: The joint model corresponding to the target joint of the quadruped robot is physically constrained in swing amplitude, swing speed and swing path according to the mapping expected data of the animation data transferred to the robot model.
4. The method of claim 1, wherein, The quadruped robot is controlled to simulate the preset specific action in a virtual environment through the joint angles, base coordinate positions and rotation information of each frame image, so as to obtain a motion parameter sequence corresponding to the body base coordinate system of multiple frames of images, which comprises the following steps: The quadruped robot is controlled to simulate the preset specific action in a virtual environment through the joint angles, base coordinate positions and rotation information of each frame image, and the relative displacement and absolute pose of each joint of the quadruped robot in the body base coordinate system are calculated; the relative displacement is determined by the change amount of the Euclidean distance between the corresponding joint and the body base coordinate origin, and the absolute pose is represented by a rotation matrix constructed by the joint angle and the rotation information. The relative displacement and the absolute attitude corresponding to the plurality of image frames are arranged in time sequence to form a motion parameter sequence including a position coordinate sequence, an attitude angle sequence, and a joint motion angle velocity sequence, the motion parameter sequence being used to describe a dynamic change process of the quadruped robot when performing the preset specific action in a virtual environment.
5. The method of claim 4, wherein, The original sequence velocity of the motion parameter sequence is fast adjusted to generate a fast data variant, including: Based on a preset first velocity adjustment coefficient, the joint motion angle velocity sequence in the motion parameter sequence is linearly scaled to increase the motion velocity; The scaled joint motion angle velocity sequence is twice smoothed to obtain the fast data variant; the twice smoothing is used to eliminate high-frequency jitter noise caused by the velocity increase.
6. The method of claim 1, wherein, The original sequence velocity of the motion parameter sequence is slowly adjusted to generate a slow data variant, including: Based on a preset second velocity adjustment coefficient, the joint motion angle velocity sequence in the motion parameter sequence is linearly scaled to decrease the motion velocity; The scaled joint motion angle velocity sequence is once smoothed to obtain the slow data variant; the once smoothing is used to avoid the problem of insufficient motion continuity caused by the velocity decrease.
7. The method of claim 1, wherein, Action animation generation is performed on the behavior state characteristics of the quadruped robot to obtain an animation sequence corresponding to each preset specific action, including: The behavior state characteristics of the quadruped robot are imported into a skeleton binding system of a preset animation software to establish a mapping relationship between the behavior state characteristics and virtual skeleton joints of the robot, so as to ensure that the behavior state characteristics can accurately drive the skeleton motion of the virtual model; Based on the kinematic constraint conditions of each preset specific action, key frames are set in the preset animation software; and the skeleton motion trajectories between the key frames are calculated by interpolation to generate an animation sequence corresponding to each preset specific action; A physical engine simulation is added in the preset animation software, and each animation sequence is dynamically optimized according to the physical parameters of the quadruped robot to obtain an animation sequence corresponding to each preset specific action.
8. A model expert data generation device characterized by comprising: including: A first generation module for generating action animation of the behavior state characteristics of the quadruped robot to obtain an animation sequence corresponding to each preset specific action; and generating an animation sequence file according to the animation sequence corresponding to each preset specific action; An acquisition module for acquiring a specific format file containing a skeleton hierarchy of an animation character and joint motion data of each frame of image from the animation sequence file; A matching module for matching a joint system of the animation character with a joint model of the quadruped robot based on the skeleton hierarchy of the animation character and the joint motion data of each frame of image to perform joint mapping on the specific format file; A control module for extracting joint angles, base coordinate positions, and rotation information of each frame of image from the specific format file; And through the joint angle, base coordinate position and rotation information of each frame of image, the quadruped robot is controlled to simulate the preset specific action in the virtual environment, and a motion parameter sequence corresponding to a body base coordinate system is obtained for multiple frames of images; The second generation module is configured to fast tune original sequence velocities of the motion parameter sequence to generate fast data variants, and slow tune the original sequence velocities of the motion parameter sequence to generate slow data variants; The expansion module is configured to perform data expansion on the motion parameter sequence according to the fast data variants and the slow data variants to obtain expert data for training a reinforcement learning model.
9. A computer device, comprising: The computer program is executed by the processor to implement the method for generating model expert data according to any one of claims 1-7.
10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the method for generating model expert data according to any one of claims 1-7.
Citation Information
Patent Citations
Humanoid robot control method and system based on action mapping
CN119175719A
Method for developing and controlling a robot to have movements matching an animation character
US20160243699A1