Motion trajectory generation method, device, electronic device and storage medium

By generating a target evaluation model, the expected pose and stress parameters of the robot and the target object are determined, which solves the problem that existing robots are difficult to complete with high quality in complex motion collaboration, and realizes the accurate generation and safe operation of the robot's motion trajectory.

CN118003328BActive Publication Date: 2025-03-04BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410282148.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-12
Publication Date
2025-03-04
Estimated Expiration
2044-03-12

AI Technical Summary

Technical Problem

Existing robots are difficult to achieve high quality or even fail to complete complex motions in collaboration.

Method used

By determining the moment when the robot ends its motion and its expected position, as well as the desired position of the target object, the stress parameters and pose parameters of the robot and the target object are obtained, and the target evaluation model is generated based on these parameters, and the motion trajectory of the robot is generated.

Benefits of technology

In the scenario where the robot cooperates with the target object to complete the motion, the motion trajectory can be accurately generated to ensure the safe operation of the robot and expand its motion complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118003328B_ABST
    Figure CN118003328B_ABST
Patent Text Reader

Abstract

The present disclosure proposes a method, device, electronic device and storage medium for generating a motion trajectory, which relates to the field of robot technology. The method includes: determining the first moment when the robot ends its motion, the first desired posture corresponding to the robot at the first moment, and the second desired posture corresponding to the target object used to support the robot at the first moment; obtaining the first force parameter and the first posture parameter corresponding to the robot, and the second force parameter and the second posture parameter corresponding to the target object; generating a target evaluation model based on the first posture parameter, the first force parameter and the first desired posture, the second posture parameter, the second force parameter and the second desired posture; generating the motion trajectory of the robot based on the target evaluation model. In this way, the motion trajectory of the robot when it cooperates with other objects to complete the motion can be accurately generated, which ensures the safe operation of the robot and expands the motion complexity of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of robotics technology, and in particular to a method, device, electronic device and storage medium for generating a motion trajectory. Background Art

[0002] In recent years, the technology of robotics has been continuously developing, becoming more and more intelligent and automated, and the richness, stability and flexibility of actions have been improved to varying degrees. Robots can gradually replace humans in labor and operations in production and life, greatly improving people's work and lifestyle. In particular, quadruped robots and humanoid robots can rely on their multi-joint characteristics to make more movements. In related technologies, robots can achieve high-quality simple repetitive actions, but for some highly complex actions, such as when robots collaborate with objects supporting the robots to complete a certain movement, robots cannot achieve high-quality or even complete them. Summary of the invention

[0003] The present disclosure aims to solve one of the technical problems in the related art at least to some extent.

[0004] The first embodiment of the present disclosure provides a method for generating a motion trajectory, including:

[0005] Determine a first moment when the robot movement ends, a first desired position and posture of the robot at the first moment, and a second desired position and posture of a target object for supporting the robot at the first moment;

[0006] Obtaining a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object;

[0007] generating a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture;

[0008] Based on the target evaluation model, a motion trajectory of the robot is generated.

[0009] The second aspect of the present disclosure provides a motion trajectory generation device, including:

[0010] A determination module, used to determine a first moment when the robot movement ends, a first desired posture corresponding to the robot at the first moment, and a second desired posture corresponding to the target object used to support the robot at the first moment;

[0011] An acquisition module, used to acquire a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object;

[0012] A first generating module, configured to generate a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture;

[0013] The second generating module is used to generate the motion trajectory of the robot based on the target evaluation model.

[0014] The third aspect embodiment of the present disclosure proposes an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the motion trajectory generation method proposed in the first aspect embodiment of the present disclosure is implemented.

[0015] The fourth aspect embodiment of the present disclosure proposes a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the motion trajectory generation method proposed in the first aspect embodiment of the present disclosure is implemented.

[0016] The motion trajectory generation method, device, electronic device and storage medium provided by the present disclosure have the following beneficial effects:

[0017] In the disclosed embodiment, the first moment when the robot movement ends, the first desired posture corresponding to the robot at the first moment, and the second desired posture corresponding to the target object used to support the robot at the first moment are first determined, and then the first force parameter and the first posture parameter corresponding to the robot, and the second force parameter and the second posture parameter corresponding to the target object are obtained; based on the first posture parameter, the first force parameter and the first desired posture, the second posture parameter, the second force parameter and the second desired posture, a target evaluation model is generated, and the robot's motion trajectory is generated. Thus, in the scenario where the robot and the target object collaborate to complete a certain movement, the robot and the target object can be analyzed separately to construct an evaluation model related to the robot and the target object, so that the motion trajectory of the robot when collaborating with other objects to complete the movement can be accurately generated based on the evaluation model, thereby ensuring the safe operation of the robot and expanding the robot's motion complexity.

[0018] Additional aspects and advantages of the present disclosure will be given in part in the following description and in part will be obvious from the following description or learned through practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and / or additional aspects and advantages of the present disclosure will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0020] Figure 1A schematic diagram of a flow chart of a method for generating a motion trajectory provided by an embodiment of the present disclosure;

[0021] Figure 2A A schematic diagram of a robot force provided by an embodiment of the present disclosure;

[0022] Figure 2B A schematic diagram of a robot force provided by an embodiment of the present disclosure;

[0023] Figure 3 A schematic flow chart of a method for generating a motion trajectory provided by another embodiment of the present disclosure;

[0024] FIG. 4A to FIG. 4D A schematic diagram of the motion process of a quadruped robot according to an embodiment of the present disclosure;

[0025] Figure 5 A schematic diagram of the structure of a motion trajectory generating device provided by another embodiment of the present disclosure;

[0026] Figure 6 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0027] Embodiments of the present disclosure are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.

[0028] The following describes a method, device, electronic device, and storage medium for generating a motion trajectory according to an embodiment of the present disclosure with reference to the accompanying drawings.

[0029] The embodiment of the present disclosure takes the motion trajectory generation method configured in the motion trajectory generation device as an example. The motion trajectory generation device can be applied to any electronic device so that the electronic device can perform the motion trajectory generation function.

[0030] The motion trajectory generation method disclosed in the embodiments of the present disclosure can be applied to robots, such as quadruped robots, humanoid robots and other legged robots. The motion trajectory generation method disclosed in the embodiments of the present disclosure can be applied to scenes where a robot moves on a target object (such as a skateboard, a balance car, etc.) supporting the robot, where the robot lands safely from the target object, and where the robot somersaults on the target object.

[0031] Figure 1 A schematic flow chart of a method for generating a motion trajectory provided in an embodiment of the present disclosure.

[0032] like Figure 1 As shown, the motion trajectory generation method may include the following steps:

[0033] Step 101, determining a first moment when the robot movement ends, a first expected posture of the robot corresponding to the first moment, and a second expected posture of a target object used to support the robot corresponding to the first moment.

[0034] The first moment when the robot ends the movement can be preset manually, such as the moment when the robot completes the movement. The movement refers to the movement that the robot is about to perform. For example, the robot is currently standing on a skateboard, and the movement can be the robot falling from the skateboard with a front flip, then the first moment can be the moment when the robot lands.

[0035] The first expected posture may be a posture of the robot at the end of the movement, which is preset manually. Optionally, the first expected posture may include the position (also referred to as the first expected position) and posture (also referred to as the first expected posture) of the robot body and / or joints at the first moment. The posture corresponding to the joint may include the joint angle, etc.

[0036] The target object used to support the robot may be a skateboard, a balance car, etc. This disclosure does not limit this.

[0037] The second desired position and posture may be a position and posture of the target object at the end of the robot movement, which is preset manually. Optionally, the second desired position and posture may include the position (also referred to as the second desired position) and posture (also referred to as the second desired posture) of the target object at the first moment.

[0038] Step 102, obtaining a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object.

[0039] The first force parameter may include the reaction force of the target object on the foot end support of the robot, the joint torque, etc.

[0040] The second force parameter may include the support force of the ground on the target object, etc.

[0041] In some embodiments, the first force parameter and the second force parameter may be determined according to the force conditions of the robot and the skateboard.

[0042] Figure 2A A schematic diagram of a robot force provided by an embodiment of the present disclosure, such as Figure 2AAs shown, taking a quadruped robot standing on a skateboard as an example, Fr is the skateboard's foot-end support reaction force on the robot, and Gr is the robot's gravity. In some embodiments, the skateboard's foot-end support reaction force on the robot may include the skateboard's foot-end support reaction force corresponding to each foot of the robot.

[0043] Figure 2B A schematic diagram of a robot force provided by an embodiment of the present disclosure, such as Figure 2B As shown in the figure, taking the four-legged robot standing on a skateboard as an example, Fb is the pressure of the robot on the skateboard, Gb is the gravity of the skateboard, Nb is the support force of the ground on the skateboard, and f is the rolling friction of the skateboard.

[0044] In some embodiments, the pressure exerted by the robot on the skateboard may include the pressure exerted by each foot of the robot on the skateboard.

[0045] In some embodiments, the supporting force of the ground on the skateboard may include the supporting force of the ground on each pulley of the skateboard.

[0046] It should be noted that since the foot-end support reaction force of the skateboard on the robot and the pressure of the robot on the skateboard are a pair of interacting forces, only one set of forces needs to be considered in the force parameters. The rolling friction force is related to the support force of the ground on the skateboard, which is given by the calculation formula f=μ*Nb, so only the support force Nb of the ground on the skateboard needs to be considered in the force parameters. Therefore, the first force parameter can include the foot-end support reaction force of the target object on the robot, and the second force parameter can include the support force of the ground on the target object.

[0047] Among them, the first posture parameter may include the position and posture of the robot body and / or joints.

[0048] The second posture parameter may include the position and posture of the target object.

[0049] Step 103, generating a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture.

[0050] In some embodiments, the target evaluation model may include the first evaluation model and the second evaluation model, or the target evaluation model may include only the second evaluation model;

[0051] In some embodiments, the first evaluation model may include: a first difference between the pose to be optimized corresponding to the first pose parameter at the first moment and the first desired pose, and a second difference between the pose to be optimized corresponding to the second pose parameter at the first moment and the second desired pose;

[0052] In some embodiments, the second evaluation model may include: the third difference between the posture to be optimized corresponding to the first posture parameter at each sampling point and the first expected posture, the fourth difference between the posture to be optimized corresponding to the second posture parameter at each sampling point and the second expected posture, and the sum of the force values ​​to be optimized corresponding to the first force parameter and the second force parameter at each moment; wherein the sampling point moment is obtained by sampling the time period between the current moment and the first moment.

[0053] The pose to be optimized can be a candidate pose at each moment. For example, the pose to be optimized corresponding to the first pose parameter at the first moment can be understood as the value of the robot's pose at the first moment; the pose corresponding to the second pose parameter at the first moment can be understood as the value of the target object's pose at the first moment.

[0054] It should be noted that the expected posture is a fixed value, and the posture to be optimized is a variable value.

[0055] The force value to be optimized may be a candidate value of the force parameter. For example, the force value to be optimized corresponding to the first force parameter at each moment may be understood as the value of the reaction force of the target object on the foot end of the robot at each moment, or the value of the joint torque.

[0056] In some embodiments, the target evaluation model may be:

[0057]

[0058]

[0059]

[0060] Among them, Φ(T) is the first evaluation model, is the second evaluation model, T is the first moment, t is the sampling point moment, is the first expected position of the robot at the first moment, p R (T) is the position of the robot to be optimized at the first moment, is the first expected posture of the robot at the first moment, θ R (T) is the posture of the robot to be optimized at the first moment, is the second expected position of the target object at the first moment, p B (T) is the position of the target object to be optimized at the first moment, is the second expected posture of the target object at the first moment, θ B (T) is the posture of the target object to be optimized at the first moment, p R (t) The robot’s position to be optimized at the sampling point, θ R(t) is the posture of the robot to be optimized at the sampling point, p B (t) is the position of the target object to be optimized at the sampling point, θ B (t) is the posture to be optimized of the target object at the sampling point, and u(t) is the sum of the force values ​​to be optimized corresponding to the first force parameter and the second force parameter at each moment. F1 , Q F2 , Q F3 , Q F4 , Q1, Q2, Q3, Q4, and R1 represent the weights of each item respectively.

[0061] It should be noted that since the first evaluation function is an evaluation function related to the first moment when the robot's movement ends, the robot's posture and the target object's posture, when the target evaluation function includes the first evaluation function and the second evaluation function, the posture of the robot and the target object at the end of the movement can be further emphasized, so that the robot's movement trajectory can be determined more accurately based on the target evaluation function.

[0062] In the disclosed embodiment, while considering the positions of the robot and the target object at each moment, parameters related to the speed of the robot and the target object may be further considered.

[0063] In some embodiments, the first evaluation model also includes at least one of the following: the fifth difference between the speed to be optimized corresponding to the first speed parameter of the robot at the first moment and the first expected speed; the sixth difference between the speed to be optimized corresponding to the second speed parameter of the target object at the first moment and the second expected speed.

[0064] The first speed parameter may include the linear speed, angular speed, etc. of the body and / or joints of the robot.

[0065] The first expected speed may be a manually preset target value of the linear speed and angular speed of the robot body and / or joints at the end of the movement.

[0066] The second velocity parameter may include the linear velocity, angular velocity, etc. of the target object.

[0067] The second expected speed may be a manually preset target value of the linear speed and angular speed of the target object at the end of the movement.

[0068] The speed to be optimized may be a possible value of the first speed parameter at each moment. For example, the speed to be optimized corresponding to the first speed parameter at the first moment may be understood as the value of the linear velocity and angular velocity of the fuselage and / or joint at the first moment. The speed to be optimized corresponding to the second speed parameter at the first moment may be understood as the value of the linear velocity and angular velocity of the target object at the first moment.

[0069] It should be noted that the expected speed is a fixed value, and the speed to be optimized is a variable value.

[0070] In the disclosed embodiment, when the first evaluation model further includes the sixth difference and the fifth difference, the first evaluation model is the sum of the first difference, the second difference, the fifth difference and the sixth difference.

[0071] In some embodiments, the fifth difference and the sixth difference may also have corresponding weights. In some embodiments, the weights corresponding to the fifth difference and the sixth difference are smaller than the weights corresponding to the first difference and the second difference.

[0072] In some embodiments, the second evaluation model also includes at least one of the following: the seventh difference between the speed to be optimized corresponding to the first speed parameter of the robot at each sampling point and the first expected speed; the eighth difference between the speed to be optimized corresponding to the second speed parameter of the target object at each sampling point and the second expected speed.

[0073] In the disclosed embodiment, when the first evaluation model also includes the seventh difference and the eighth difference, the second evaluation model is the sum of the force values ​​to be optimized corresponding to the first force parameter and the second force parameter at each moment, and the sum of the third difference, the fourth difference, the seventh difference, and the eighth difference.

[0074] In some embodiments, the seventh difference and the eighth difference may also have corresponding weights. In some embodiments, the weights corresponding to the seventh difference and the eighth difference are less than the weights corresponding to the third difference and the fourth difference.

[0075] Step 104: Generate a motion trajectory of the robot based on the target evaluation model.

[0076] In the disclosed embodiment, after the target evaluation model is determined, the possible value of each parameter at each moment can be input into the target evaluation model to obtain the trajectory with the minimum target evaluation model value as the motion trajectory of the robot.

[0077] In some embodiments, the motion trajectory of the robot may include the position and posture of the robot at each moment.

[0078] In some embodiments, the motion trajectory of the robot may include the position and speed of the robot at each moment.

[0079] In some embodiments, the value of each parameter at each moment should satisfy the corresponding constraint condition. Therefore, the first constraint condition corresponding to the robot and the second constraint condition corresponding to the target object can be determined first, and then the motion trajectory of the robot is generated according to the first constraint condition, the second constraint condition and the target evaluation model.

[0080] In some embodiments, multiple values ​​corresponding to each parameter at each moment can be determined based on the first constraint and the second constraint, and then each value corresponding to each parameter at each moment is input into the target evaluation model each time, and finally the trajectory corresponding to the minimum value of the target evaluation model is used as the motion trajectory of the robot.

[0081] In some embodiments, the first constraint condition may include at least one of the following: the posture to be optimized corresponding to the first posture parameter at each moment, and the force value to be optimized corresponding to the first force parameter at each moment satisfy the corresponding dynamic equation of the robot; the posture to be optimized corresponding to the first posture parameter satisfies the corresponding first posture range of the robot; the force value to be optimized corresponding to the first force parameter satisfies the corresponding first value range.

[0082] In some embodiments, the dynamic equation of the robot may be:

[0083]

[0084] Among them, q represents the position and posture of the robot, which can include the displacement and posture of the body and the angle of the joints; Indicates the speed of the robot, which can include the speed and angular velocity of the body and the angular velocity of the joints; represents the acceleration of the robot, which may include the acceleration and angular acceleration of the body and the angular acceleration of the joints; M represents the inertia matrix of the robot; C represents the centrifugal force and Coriolis force of the robot, which are related to the position and velocity of the joints; G represents the gravity matrix related to the position and velocity of the robot; τ represents the joint torque; S represents the coefficient matrix; S T is the transpose of the coefficient matrix; is the transpose of the Jacobian matrix.

[0085] Among them, the first posture range corresponding to the robot is used to constrain the value of the first posture parameter, which can be determined according to the maximum rotation range and rotation speed of each joint of the robot.

[0086] The first value range is used to constrain the value of the force value to be optimized corresponding to the first force parameter.

[0087] In some embodiments, the constraints corresponding to the joint angles of the robot may be:

[0088]

[0089] Among them, q j is the joint angle, is the lower limit of the joint angle, In some embodiments, the upper and lower limits of each joint angle can be determined according to the rotatable angle range of each joint of the robot.

[0090] In some embodiments, the constraints corresponding to the joint angular velocities of the robot may be:

[0091]

[0092] in, is the joint angle, is the lower limit of the joint angular velocity, In some embodiments, the upper and lower limits of the angular velocity of each joint can be determined according to the rotatable speed of each joint of the robot, that is, the angular velocity of the joint is within the normal range of angular velocity. This condition can maximize the use of the rotation speed of the joint and improve the movement limit of the robot.

[0093] In some embodiments, the constraints corresponding to the joint torques of the robot may be:

[0094] τ down ≤τ≤τ up

[0095] Among them, τ is the joint torque, τ down is the lower limit of the joint torque, τ up is the upper limit of the joint torque. That is, the joint torque is within the normal torque range. This condition can maximize the use of the joint output torque and improve the robot's motion limit.

[0096] In some embodiments, the robot foot acceleration constraint is also included:

[0097] a foot =0

[0098] Among them, a foot is the foot end acceleration, which is related to the angle, angular velocity and angular acceleration of the joint. This constraint can be used to prevent the foot end of the robot from slipping.

[0099] In some embodiments, a friction cone constraint on the reaction force of the robot foot end support by the target object is also included:

[0100] μF z >F x ,μF z >F y

[0101] Where μ is the friction coefficient, F x is the component of the foot end support reaction force in the x direction, F y is the component of the foot end support reaction force in the y direction, F zis the component of the foot end support reaction force in the z direction.

[0102] In some embodiments, the second constraint may include at least one of the following: the posture to be optimized corresponding to the second posture parameter at each moment, and the force value to be optimized corresponding to the second force parameter at each moment satisfy the dynamic equation corresponding to the target object; the posture to be optimized corresponding to the second posture parameter satisfies the second posture range corresponding to the target object; the force value to be optimized corresponding to the second force parameter respectively satisfies the corresponding second value range.

[0103] For example, when the target object is a skateboard, the dynamic equation of the skateboard is:

[0104]

[0105] in, is the acceleration of the skateboard, is the inverse of the mass of the skateboard.

[0106] The second posture range corresponding to the target object is used to constrain the values ​​of the second posture parameters.

[0107] The second value range is used to constrain the value of the force value to be optimized corresponding to the second force parameter.

[0108] In some embodiments, the above steps S101 to S103 may be online trajectory optimization for the robot, or may be pre-offline trajectory optimization for the robot, that is, the robot generates and optimizes trajectories of various motion types according to the above steps when not in motion.

[0109] In the disclosed embodiment, the first moment when the robot movement ends, the first desired posture corresponding to the robot at the first moment, and the second desired posture corresponding to the target object used to support the robot at the first moment are first determined, and then the first force parameter and the first posture parameter corresponding to the robot, and the second force parameter and the second posture parameter corresponding to the target object are obtained; based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture, a target evaluation model is generated, and finally, based on the target evaluation model, the motion trajectory of the robot is generated. Thus, in the scenario where the robot and the target object cooperate to complete a certain movement, the robot and the target object can be analyzed separately to construct an evaluation model related to the robot and the target object, so that the motion trajectory of the robot when it cooperates with other objects to complete the movement can be accurately generated based on the evaluation model, which ensures the safe operation of the robot and expands the movement complexity of the robot.

[0110] Figure 3 A schematic diagram of a flow chart of a method for generating a motion trajectory provided by an embodiment of the present disclosure is shown in FIG. Figure 3As shown, the motion trajectory generation method may include the following steps:

[0111] Step 301, obtaining the expected motion type of the robot.

[0112] The expected motion may refer to the motion that the robot is expected to complete, that is, the motion that the robot is to be controlled to complete. The types of expected motion may include a front flip motion, a back flip motion, or a jumping motion of the robot on the target object; the robot may land safely from the target object through a front flip motion, a back flip motion, or a jumping motion.

[0113] It can be understood that the expected motion can be sent to the robot by a remote control connected to the robot for communication or a terminal device installed with a robot control program; the expected motion can also be generated by the robot when planning the motion path, based on obstacle information, road condition information, etc. obtained by scanning. For example, when the robot scans that there is an obstacle ahead, it can generate a jumping action as the expected motion.

[0114] Step 302, based on the expected motion type, determine a first moment when the robot motion ends, a first expected posture corresponding to the robot at the first moment, and a second expected posture corresponding to the target object at the first moment.

[0115] In some embodiments, a motion type library may be pre-set in the robot, and the motion type library may pre-configure the above-mentioned motion types, the motion duration corresponding to each motion type, the expected position of the robot when completing each motion type, and the expected position of the target object when completing each motion type. Thus, after determining the expected motion type of the robot, the first expected position of the robot corresponding to the first moment when the robot completes the expected motion type, and the second expected position of the target object corresponding to the first moment may be determined by querying the motion type library.

[0116] Therefore, in the embodiments of the present disclosure, the exercise duration corresponding to each motion type, the expected posture of the robot when completing each motion type, and the expected posture of the target object when completing each motion type can be pre-set, so that the robot can complete multiple motion types and improve the robot's motion flexibility.

[0117] Step 303, obtaining a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object.

[0118] Step 304, generating a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture.

[0119] The specific implementation forms of step 303 and step 304 can refer to the detailed descriptions in other embodiments of the present disclosure and will not be specifically determined here.

[0120] Step 305, when the expected motion type includes multiple motion stages, obtain the second moment corresponding to the start of each motion stage, the third expected posture of the robot corresponding to the second moment, and the fourth expected posture of the target object used to support the robot corresponding to the second moment.

[0121] The third desired posture may be a manually preset desired posture of the robot at the second moment at the beginning of each stage. Optionally, the second desired posture may include the position and posture of the robot body and / or joints at the second moment.

[0122] The fourth desired position and posture may be an artificially preset desired position and posture of the target object at the second moment at the beginning of each stage. Optionally, the fourth desired position and posture may include the position and posture of the target object at the second moment.

[0123] In some embodiments, if the target object is a skateboard, the fourth desired posture corresponding to the skateboard at the second moment may not be obtained, and the present disclosure does not limit this.

[0124] In some embodiments, each type of movement can be divided into at least one movement stage. Therefore, the mapping relationship between the movement type and the movement stage division results can be pre-configured in the robot. The movement stage division results can include at least one movement stage in the movement process and the time of each movement stage.

[0125] FIG. 4A to FIG. 4D FIG. 1 is a schematic diagram of the motion process of a quadruped robot according to an embodiment of the present disclosure. FIG. 4A to FIG. 4D As shown in the figure, take the quadruped robot landing from a skateboard with a backflip as an example. Figure 4A The first stage of the backflip is shown: the end points of the robot's front and rear legs are in contact with the skateboard; Figure 4B The second stage of the backflip is shown: only the end point of the robot's rear legs is in contact with the skateboard; Figure 4C The third stage of the backflip is shown: the robot has no contact with the skateboard, i.e., all four legs are in the air; Figure 4D The fourth stage of the backflip is shown: the robot contacts the ground.

[0126] Step 306: Generate a motion trajectory of the robot based on the third desired posture, the fourth desired posture and the target evaluation model corresponding to the second moment.

[0127] Among them, the third expected posture and the fourth expected posture corresponding to the second moment are fixed values. Therefore, the target evaluation can be corrected based on the third expected posture and the fourth expected posture, that is, in the target evaluation model, the posture to be optimized corresponding to the robot at the second moment is determined to be the third expected posture, and the posture to be optimized corresponding to the target object at the second moment is the fourth expected posture.

[0128] Therefore, based on the third expected posture and the fourth expected posture corresponding to the second moment, the trajectory points that the robot must pass through during the movement process are determined, so that a more accurate movement trajectory can be generated.

[0129] In the disclosed embodiment, the expected motion type of the robot can be first obtained, and then based on the expected motion type, the first moment when the robot motion ends, the first expected posture corresponding to the robot at the first moment, and the second expected posture corresponding to the target object at the first moment are determined, and then the first force parameter and the first posture parameter corresponding to the robot, the second force parameter and the second posture parameter corresponding to the target object are obtained; based on the first posture parameter, the first force parameter, the first expected posture, the second posture parameter, the second force parameter and the second expected posture, the target evaluation model is generated, and then when the expected motion type includes multiple motion stages, the second moment corresponding to the start of each motion stage, the third expected posture corresponding to the robot at the second moment, and the fourth expected posture corresponding to the target object for supporting the robot at the second moment are obtained, and finally the motion trajectory of the robot is generated based on the third expected posture corresponding to the second moment, the fourth expected posture and the target evaluation model. Thus, when the robot motion includes multiple motion stages, the expected posture of the node of each motion stage is predetermined, so that the motion trajectory corresponding to the robot can be generated more accurately.

[0130] In order to implement the above embodiment, the present disclosure also proposes a motion trajectory generation device.

[0131] Figure 5 A schematic diagram of the structure of a motion trajectory generating device provided in an embodiment of the present disclosure.

[0132] like Figure 5 As shown, the motion trajectory generating device 500 may include:

[0133] A determination module 501 is used to determine a first moment when the robot movement ends, a first desired posture of the robot corresponding to the first moment, and a second desired posture of a target object for supporting the robot corresponding to the first moment;

[0134] An acquisition module 502 is used to acquire a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object;

[0135] A first generating module 503, for generating a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture;

[0136] The second generating module 504 is used to generate a motion trajectory of the robot based on the target evaluation model.

[0137] In some embodiments, the determination module 501 is configured to:

[0138] Get the expected motion type of the robot;

[0139] Based on the expected motion type, a first moment when the robot motion ends, a first expected posture corresponding to the robot at the first moment, and a second expected posture corresponding to the target object at the first moment are determined.

[0140] In some embodiments, the second generating module 504 is configured to:

[0141] When the expected motion type includes multiple motion phases, obtaining a second moment corresponding to the start of each motion phase, a third expected posture of the robot corresponding to the second moment, and a fourth expected posture of the target object for supporting the robot corresponding to the second moment;

[0142] Based on the third expected posture, the fourth expected posture and the target evaluation model corresponding to the second moment, a motion trajectory of the robot is generated.

[0143] In some embodiments, the target evaluation model includes a first evaluation model and a second evaluation model, or the target evaluation model includes the second evaluation model;

[0144] The first evaluation model includes: a first difference between the posture to be optimized corresponding to the first posture parameter at the first moment and the first desired posture, and a second difference between the posture to be optimized corresponding to the second posture parameter at the first moment and the second desired posture;

[0145] The second evaluation model includes: a third difference between the posture to be optimized corresponding to the first posture parameter at each sampling point and the first desired posture, a fourth difference between the posture to be optimized corresponding to the second posture parameter at each sampling point and the second desired posture, and the sum of the force values ​​to be optimized corresponding to the first force parameter and the second force parameter at each moment;

[0146] The sampling point time is obtained by sampling the time period between the current time and the first time.

[0147] In some embodiments, the first evaluation model further includes at least one of the following:

[0148] a fifth difference between a speed to be optimized corresponding to the first speed parameter of the robot at the first moment and the first expected speed;

[0149] The second speed parameter corresponding to the target object is a sixth difference between the speed to be optimized corresponding to the first moment and the second expected speed.

[0150] In some embodiments, the second evaluation model further includes at least one of the following:

[0151] The seventh difference between the speed to be optimized corresponding to the first speed parameter of the robot at each sampling point and the first expected speed;

[0152] The eighth difference between the speed to be optimized corresponding to the second speed parameter of the target object at each sampling point and the second expected speed.

[0153] In some embodiments, the second generating module 504 is configured to:

[0154] Determine a first constraint condition corresponding to the robot and a second constraint condition corresponding to the target object;

[0155] The motion trajectory of the robot is generated according to the first constraint condition, the second constraint condition and the target evaluation model.

[0156] In some embodiments, the first constraint includes at least one of the following:

[0157] The posture to be optimized corresponding to the first posture parameter at each moment, and the force value to be optimized corresponding to the first force parameter at each moment satisfy the dynamic equation corresponding to the robot;

[0158] The posture to be optimized corresponding to the first posture parameter satisfies the first posture range corresponding to the robot;

[0159] The force value to be optimized corresponding to the first force parameter satisfies the corresponding first value range.

[0160] In some embodiments, the second constraint includes at least one of the following:

[0161] The posture to be optimized corresponding to the second posture parameter at each moment, and the force value to be optimized corresponding to the second force parameter at each moment satisfy the dynamic equation corresponding to the target object;

[0162] The posture to be optimized corresponding to the second posture parameter satisfies the second posture range corresponding to the target object;

[0163] The force values ​​to be optimized corresponding to the second force parameters respectively satisfy the corresponding second value ranges.

[0164] The functions and specific implementation principles of the above modules in the embodiments of the present disclosure can be referred to the above method embodiments, and will not be repeated here.

[0165] The motion trajectory generation device of the disclosed embodiment first determines the first moment when the robot ends its motion, the first desired posture corresponding to the robot at the first moment, and the second desired posture corresponding to the target object used to support the robot at the first moment, and then obtains the first force parameter and the first posture parameter corresponding to the robot, and the second force parameter and the second posture parameter corresponding to the target object; based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture, a target evaluation model is generated, and finally, based on the target evaluation model, the motion trajectory of the robot is generated. Thus, in the scenario where the robot and the target object cooperate to complete a certain motion, the robot and the target object can be analyzed separately to construct an evaluation model related to the robot and the target object, so that the motion trajectory of the robot when it cooperates with other objects to complete the motion can be accurately generated based on the evaluation model, thereby ensuring the safe operation of the robot and expanding the motion complexity of the robot.

[0166] In order to implement the above embodiments, the present disclosure further proposes an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the motion trajectory generation method proposed in the above embodiments of the present disclosure is implemented.

[0167] In some embodiments, the electronic device may be a robot, that is, the robot may determine its own motion trajectory.

[0168] In order to implement the above embodiments, the present disclosure further proposes a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the motion trajectory generation method proposed in the above embodiments of the present disclosure is implemented.

[0169] Figure 6 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. Figure 6 The electronic device 12 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0170] like Figure 6 As shown, the electronic device 12 is in the form of a general purpose computing device. The components of the electronic device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that connects various system components (including the system memory 28 and the processing unit 16).

[0171] The bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor or a local bus using any of a variety of bus structures. For example, these architectures include but are not limited to Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus and Peripheral Component Interconnection (PCI) bus.

[0172] The electronic device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 12, including volatile and non-volatile media, removable and non-removable media.

[0173] The memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The electronic device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 6 not shown, usually called a "hard drive"). Although Figure 6 Not shown in the figure, a disk drive for reading and writing a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing a removable non-volatile optical disk (e.g., a compact disc read only memory (CD-ROM), a digital versatile disc read only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the various embodiments of the present disclosure.

[0174] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in the memory 28, such program modules 42 including but not limited to an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of the embodiments described in the present disclosure.

[0175] The electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 12, and / or may communicate with any device that enables the electronic device 12 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input / output (I / O) interface 22. Furthermore, the electronic device 12 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other modules of the electronic device 12 via a bus 18. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0176] The processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing the methods mentioned in the above embodiments.

[0177] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0178] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the present disclosure, "plurality" means at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0179] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present disclosure includes additional implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present disclosure belong.

[0180] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute the instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0181] It should be understood that the various parts of the present disclosure can be implemented in hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0182] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

[0183] In addition, each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.

[0184] The storage medium mentioned above may be a read-only memory, a disk or an optical disk, etc. Although the embodiments of the present disclosure have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations of the present disclosure. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present disclosure.

Claims

1. A method for generating a motion trajectory, characterized in that: The method comprises: Determine a first moment when the robot movement ends, a first desired position and posture of the robot at the first moment, and a second desired position and posture of a target object for supporting the robot at the first moment; Obtaining a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object; generating a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture; Based on the target evaluation model, generating a motion trajectory of the robot; The target evaluation model includes a first evaluation model and a second evaluation model, or the target evaluation model includes the second evaluation model; The first evaluation model includes: a first difference between the posture to be optimized corresponding to the first posture parameter at the first moment and the first expected posture, and a second difference between the posture to be optimized corresponding to the second posture parameter at the first moment and the second expected posture, the posture to be optimized is a candidate posture at each moment, the posture to be optimized corresponding to the first posture parameter at the first moment is the value of the posture of the robot at the first moment, and the posture corresponding to the second posture parameter at the first moment is the value of the posture of the target object at the first moment; The second evaluation model includes: a third difference between the posture to be optimized corresponding to each sampling point of the first posture parameter and the first expected posture, a fourth difference between the posture to be optimized corresponding to each sampling point of the second posture parameter and the second expected posture, and a sum of the force values ​​to be optimized corresponding to each moment of the first force parameter and the second force parameter, wherein the force value to be optimized is a candidate value of the force parameter; The sampling point time is obtained by sampling the time period between the current time and the first time.

2. The method according to claim 1, characterized in that The determining of a first moment at which the robot movement ends, a first desired posture of the robot at the first moment, and a second desired posture of a target object for supporting the robot at the first moment includes: Obtaining the desired motion type of the robot; Based on the expected motion type, the first time when the robot ends the motion, the first expected posture of the robot at the first time, and the second expected posture of the target object at the first time are determined.

3. The method according to claim 2, characterized in that The step of generating a motion trajectory of the robot based on the target evaluation model comprises: In the case where the expected motion type includes multiple motion stages, obtaining a second moment corresponding to the start of each of the motion stages, a third expected posture of the robot corresponding to the second moment, and a fourth expected posture of the target object used to support the robot corresponding to the second moment; A motion trajectory of the robot is generated based on the third expected posture corresponding to the second moment, the fourth expected posture and the target evaluation model.

4. The method according to claim 1, characterized in that: The first evaluation model also includes at least one of the following: a fifth difference between a speed to be optimized corresponding to a first speed parameter corresponding to the robot at the first moment and a first expected speed, the first speed parameter comprising a linear speed and an angular speed of a body and / or a joint of the robot, and the speed to be optimized corresponding to the first speed parameter at the first moment is a value of the linear speed and the angular speed of the body and / or the joint at the first moment; The sixth difference between the speed to be optimized corresponding to the second speed parameter of the target object at the first moment and the second expected speed, the second speed parameter includes the linear velocity and angular velocity of the target object, and the speed to be optimized corresponding to the second speed parameter at the first moment is the value of the linear velocity and angular velocity of the target object at the first moment.

5. The method according to claim 1, characterized in that The second evaluation model further includes at least one of the following: a seventh difference between the speed to be optimized corresponding to the first speed parameter of the robot at each sampling point and the first expected speed; The second speed parameter corresponding to the target object is an eighth difference between the speed to be optimized corresponding to each sampling point and the second expected speed.

6. The method according to claim 1, characterized in that The step of generating a motion trajectory of the robot based on the target evaluation model comprises: Determine a first constraint condition corresponding to the robot and a second constraint condition corresponding to the target object; A motion trajectory of the robot is generated according to the first constraint condition, the second constraint condition and the target evaluation model.

7. The method according to claim 6, characterized in that The first constraint condition includes at least one of the following: The posture to be optimized corresponding to the first posture parameter at each moment, and the force value to be optimized corresponding to the first force parameter at each moment satisfy the dynamic equation corresponding to the robot, and the force value to be optimized corresponding to the first force parameter at each moment is the value of the reaction force of the target object on the foot end of the robot at each moment, and the value of the joint torque; The posture to be optimized corresponding to the first posture parameter satisfies the first posture range corresponding to the robot; The force value to be optimized corresponding to the first force parameter satisfies the corresponding first value range.

8. The method according to claim 6, characterized in that The second constraint condition includes at least one of the following: The posture to be optimized corresponding to the second posture parameter at each moment and the force value to be optimized corresponding to the second force parameter at each moment satisfy the dynamic equation corresponding to the target object, and the force value to be optimized corresponding to the second force parameter at each moment is the supporting force of the target object facing the target object at each moment; The posture to be optimized corresponding to the second posture parameter satisfies the second posture range corresponding to the target object; The force values ​​to be optimized corresponding to the second force parameters respectively satisfy the corresponding second value ranges.

9. A motion trajectory generating device, characterized in that: The device comprises: A determination module, used to determine a first moment when the robot movement ends, a first desired posture corresponding to the robot at the first moment, and a second desired posture corresponding to the target object used to support the robot at the first moment; An acquisition module, used to acquire a first force parameter and a first posture parameter corresponding to the robot, and a second force parameter and a second posture parameter corresponding to the target object; A first generating module, configured to generate a target evaluation model based on the first posture parameter, the first force parameter, the first desired posture, the second posture parameter, the second force parameter and the second desired posture; A second generating module, used for generating a motion trajectory of the robot based on the target evaluation model; The target evaluation model includes a first evaluation model and a second evaluation model, or the target evaluation model includes the second evaluation model; The first evaluation model includes: a first difference between the posture to be optimized corresponding to the first posture parameter at the first moment and the first expected posture, and a second difference between the posture to be optimized corresponding to the second posture parameter at the first moment and the second expected posture, the posture to be optimized is a candidate posture at each moment, the posture to be optimized corresponding to the first posture parameter at the first moment is the value of the posture of the robot at the first moment, and the posture corresponding to the second posture parameter at the first moment is the value of the posture of the target object at the first moment; The second evaluation model includes: a third difference between the posture to be optimized corresponding to each sampling point of the first posture parameter and the first expected posture, a fourth difference between the posture to be optimized corresponding to each sampling point of the second posture parameter and the second expected posture, and a sum of the force values ​​to be optimized corresponding to each moment of the first force parameter and the second force parameter, wherein the force value to be optimized is a candidate value of the force parameter; The sampling point time is obtained by sampling the time period between the current time and the first time.

10. An electronic device, characterized in that: The invention comprises a memory, a processor and a computer program stored in the memory and executable on the processor. When the processor executes the program, the method for generating a motion trajectory as claimed in any one of claims 1 to 8 is implemented.

11. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for generating a motion trajectory as described in any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Control method and device for bionic jumping action of quadruped robot, electronic equipment and computer readable medium

    CN112207825A

  • Robot motion control method and device, robot and storage medium

    CN114986526A