Motion trajectory generation method and device, robot, electronic equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2026-08-11
AI Technical Summary
相关技术中,机器人可以通过执行不同的运动轨迹而实现不同的运动,但是由于运动轨迹较为简单,因此机器人所能实现的动作均较为简单,即尚无法执行较为复杂的动作
[0062] The motion trajectory generation method provided in this disclosure constructs a first joint model of a robot, builds an action sequence for the target motion based on the first joint model, and finally constructs the trajectory of the target motion based on the action sequence. Since the action sequence is constructed based on the first joint model, which has a lower dimension than the robot's full-dimensional joint model, the difficulty of constructing the motion trajectory is greatly reduced, and the success rate and efficiency of trajectory construction are improved. In other words, this method can generate more complex motion trajectories, enabling the robot to achieve more complex movements.
Smart Images

Figure CN119910638B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of robotics technology, specifically to a method, apparatus, robot, electronic device, and storage medium for generating motion trajectories. Background Technology
[0002] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Robots can replace users in performing specific tasks in their production and daily lives, thus bringing convenience. In related technologies, robots can achieve different movements by executing different motion trajectories; however, due to the relatively simple nature of these trajectories, the actions that robots can perform are also relatively simple, meaning they are not yet able to execute more complex movements. Summary of the Invention
[0003] To overcome the problems existing in the related technologies, the present disclosure provides a motion trajectory generation method, apparatus, robot, electronic device and storage medium to solve the defects in the related technologies.
[0004] According to a first aspect of the present disclosure, a method for generating a motion trajectory is provided, the method comprising:
[0005] Construct the first joint model of the robot, wherein the number of dimensions of the first joint model is less than the number of dimensions of the robot's full-dimensional joint model;
[0006] Based on the first joint model, a motion sequence for the target motion is constructed, wherein the motion sequence includes multiple motion stages and switching events between adjacent motion stages;
[0007] Based on the sequence of actions, construct the trajectory of the target motion.
[0008] In one embodiment of this disclosure, constructing the first joint model of the robot includes:
[0009] The non-motion dimensions in the full-dimensional joint model of the robot are eliminated to obtain the first joint model, wherein the motion dimension is the dimension in which motion exists in the target motion.
[0010] In one embodiment of this disclosure, constructing the action sequence of the target motion based on the first joint model includes:
[0011] Based on the target motion, an event in which the contact state between at least one contact point of the first joint model and the ground changes is identified as a switching event, and the motion between adjacent switching events is identified as an action phase.
[0012] In one embodiment of this disclosure, constructing the trajectory of the target motion based on the action sequence includes:
[0013] Based on the action sequence, the trajectory of the target motion is discretized into multiple trajectory points, wherein each trajectory point has a state variable, and the state variable represents the state of the first joint model;
[0014] Using a pre-constructed cost function and constraints, the state variables of the trajectory points among the multiple trajectory points are optimized to obtain the optimized state variables of the trajectory points, wherein the constraints are related to the action sequence;
[0015] The trajectory of the target motion is determined based on the optimization results of the state variables of the trajectory points.
[0016] In one embodiment of this disclosure, the cost function is associated with at least one of the following:
[0017] The error between the position vector of at least one of the plurality of trajectory points and the desired state of the target motion, wherein the position vector includes the floating base position and the joint position;
[0018] The joint torque of at least one of the plurality of trajectory points.
[0019] In one embodiment of this disclosure, the constraint includes at least one of the following:
[0020] The state variable of the first trajectory point is consistent with the specified state of the target motion;
[0021] The state variables of each trajectory point conform to the dynamic equations of the first joint model;
[0022] The state variables of adjacent trajectory points satisfy integral continuity;
[0023] The state variables of the trajectory points that switch from non-contact to contact with the ground satisfy the discrete dynamic mapping of the first joint model;
[0024] The state variables of each trajectory point satisfy the joint limit conditions;
[0025] The contact state with the ground is characterized by no relative movement between the contact point and the ground, a supporting force between the contact point and the ground not less than 0, and a frictional force between the contact point and the ground not greater than the maximum static sliding friction.
[0026] In one embodiment of this disclosure, the robot has multiple contact points with the ground, and the first joint model has at least two contact points with the ground: the toe and the heel.
[0027] In one embodiment of this disclosure, determining the trajectory of the target motion based on the optimization result of the state variables of the trajectory points includes:
[0028] Based on the optimization results of the state variables of the trajectory points, the trajectory of the first joint model executing the target motion is determined;
[0029] The trajectory of the target motion performed by the first joint model is restored in dimension to obtain the trajectory of the robot performing the target motion.
[0030] In one embodiment of this disclosure, the state variables include at least one of the following: position vector, velocity vector, acceleration vector, contact point vector, and torque vector, wherein the position vector includes the floating base position and the joint position, the velocity vector includes the velocity of the joint, the acceleration vector includes the acceleration of the joint, the contact point vector includes the external force received at the contact point, and the torque vector includes the joint torque of the joint.
[0031] According to a second aspect of the present disclosure, a motion trajectory generation apparatus is provided, the apparatus comprising:
[0032] The dimensionality reduction module is used to construct the first joint model of the robot, wherein the number of dimensions of the first joint model is less than the number of dimensions of the robot's full-dimensional joint model.
[0033] The sequence module is used to construct a motion sequence of the target motion based on the first joint model, wherein the motion sequence includes multiple motion stages and switching events between adjacent motion stages;
[0034] The trajectory module is used to construct the trajectory of the target motion based on the action sequence.
[0035] In one embodiment of this disclosure, the building module is used for:
[0036] The non-motion dimensions in the full-dimensional joint model of the robot are eliminated to obtain the first joint model, wherein the motion dimension is the dimension in which motion exists in the target motion.
[0037] In one embodiment of this disclosure, the sequence module is used for:
[0038] Based on the target motion, an event in which the contact state between at least one contact point of the first joint model and the ground changes is identified as a switching event, and the motion between adjacent switching events is identified as an action phase.
[0039] In one embodiment of this disclosure, the trajectory module is used for:
[0040] Based on the action sequence, the trajectory of the target motion is discretized into multiple trajectory points, wherein each trajectory point has a state variable, and the state variable represents the state of the first joint model;
[0041] Using a pre-constructed cost function and constraints, the state variables of the trajectory points among the multiple trajectory points are optimized to obtain the optimized state variables of the trajectory points, wherein the constraints are related to the action sequence;
[0042] The trajectory of the target motion is determined based on the optimization results of the state variables of the trajectory points.
[0043] In one embodiment of this disclosure, the cost function is associated with at least one of the following:
[0044] The error between the position vector of at least one of the plurality of trajectory points and the desired state of the target motion, wherein the position vector includes the floating base position and the joint position;
[0045] The joint torque of at least one of the plurality of trajectory points.
[0046] In one embodiment of this disclosure, the constraint includes at least one of the following:
[0047] The state variable of the first trajectory point is consistent with the specified state of the target motion;
[0048] The state variables of each trajectory point conform to the dynamic equations of the first joint model;
[0049] The state variables of adjacent trajectory points satisfy integral continuity;
[0050] The state variables of the trajectory points that switch from non-contact to contact with the ground satisfy the discrete dynamic mapping of the first joint model;
[0051] The state variables of each trajectory point satisfy the joint limit conditions;
[0052] The contact state with the ground is characterized by no relative movement between the contact point and the ground, a supporting force between the contact point and the ground not less than 0, and a frictional force between the contact point and the ground not greater than the maximum static sliding friction.
[0053] In one embodiment of this disclosure, the robot has multiple contact points with the ground, and the first joint model has at least two contact points with the ground: the toe and the heel.
[0054] In one embodiment of this disclosure, when the trajectory module determines the trajectory of the target motion based on the optimization result of the state variables of the trajectory points, it is used to:
[0055] Based on the optimization results of the state variables of the trajectory points, the trajectory of the first joint model executing the target motion is determined;
[0056] The trajectory of the target motion performed by the first joint model is restored in dimension to obtain the trajectory of the robot performing the target motion.
[0057] In one embodiment of this disclosure, the state variables include at least one of the following: position vector, velocity vector, acceleration vector, contact point vector, and torque vector, wherein the position vector includes the floating base position and the joint position, the velocity vector includes the velocity of the joint, the acceleration vector includes the acceleration of the joint, the contact point vector includes the external force received at the contact point, and the torque vector includes the joint torque of the joint.
[0058] According to a third aspect of the present disclosure, a robot includes a memory and a processor, the memory being configured to store computer instructions executable on the processor, and the processor being configured to implement the method described in any of the first aspects when executing the computer instructions.
[0059] According to a fourth aspect of the present disclosure, an electronic device is provided, the electronic device including a memory and a processor, the memory being used to store computer instructions executable on the processor, and the processor being used to implement the motion trajectory generation method of the first aspect when executing the computer instructions.
[0060] According to a fifth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.
[0061] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:
[0062] The motion trajectory generation method provided in this disclosure constructs a first joint model of a robot, builds an action sequence for the target motion based on the first joint model, and finally constructs the trajectory of the target motion based on the action sequence. Since the action sequence is constructed based on the first joint model, which has a lower dimension than the robot's full-dimensional joint model, the difficulty of constructing the motion trajectory is greatly reduced, and the success rate and efficiency of trajectory construction are improved. In other words, this method can generate more complex motion trajectories, enabling the robot to achieve more complex movements. Attached Figure Description
[0063] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0064] Figure 1This is a flowchart illustrating a motion trajectory generation method according to an exemplary embodiment of this disclosure;
[0065] Figure 2 This is a schematic diagram of the structure of a bipedal robot shown in an exemplary embodiment of this disclosure;
[0066] Figure 3 This is a schematic diagram of the structure of a first joint model shown in an exemplary embodiment of the present disclosure;
[0067] Figure 4 This is a schematic diagram illustrating an action sequence according to an exemplary embodiment of the present disclosure;
[0068] Figure 5 This is a flowchart illustrating a method for generating a trajectory according to an exemplary embodiment of this disclosure;
[0069] Figure 6 This is a schematic diagram illustrating the contact point distribution of an exemplary embodiment of this disclosure;
[0070] Figure 7 This is a schematic diagram of the structure of a motion trajectory generation device shown in an exemplary embodiment of the present disclosure;
[0071] Figure 8 This is a structural block diagram of a robot illustrated in an exemplary embodiment of this disclosure;
[0072] Figure 9 This is a structural block diagram of an electronic device illustrated in an exemplary embodiment of the present disclosure. Detailed Implementation
[0073] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0074] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0075] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0076] In recent years, with the continuous development of robotics technology, robots have become increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of their movements. Robots can replace users in performing specific tasks in agricultural and industrial settings, bringing convenience. In related technologies, robots can achieve different movements by executing different motion trajectories; however, due to the relatively simple nature of these trajectories, the actions robots can perform are also relatively simple, meaning they are not yet able to execute more complex movements.
[0077] Based on this, in a first aspect, at least one embodiment of this disclosure provides a method for generating motion trajectories, please refer to the appendix. Figure 1 It illustrates the process of the method, including steps S101 to S103.
[0078] This method can be applied to robots, such as bipedal robots (humanoid robots) and quadrupedal robots (e.g., robot dogs). Please refer to the appendix. Figure 2 The paper illustrates the degree-of-freedom structure of a bipedal robot, which includes two upper limbs and two lower limbs. The shoulders of the upper limbs have three degrees of freedom in the pitch, roll, and yaw directions; the elbows have one degree of freedom in the pitch direction; and the wrists may have two or three degrees of freedom. The hips of the lower limbs have three degrees of freedom in the pitch, roll, and yaw directions; the knees have one degree of freedom in the pitch direction; and the ankles have two degrees of freedom in the pitch and roll directions. Roll, pitch, and yaw represent rotational directions around the X, Y, and Z axes, respectively. The lower limbs end in two flat feet. By changing the contact state between these flat feet and the external environment, various dynamic behaviors can be achieved, such as walking, running, jumping, somersaulting, and stable operation. The flat feet (i.e., the robot) can have multiple contact points with the ground, for example, at least two contact points: the toe and the heel.
[0079] In step S101, a first joint model of the robot is constructed, wherein the number of dimensions of the first joint model is less than the number of dimensions of the robot's full-dimensional joint model.
[0080] For example, by eliminating the non-motion dimensions from the robot's full-dimensional joint model, a first joint model is obtained, wherein the motion dimension is the dimension in which motion exists in the target motion. (See attached...) Figure 2 Taking the robot shown as an example, its full-dimensional joint model package includes X-axis, Y-axis, and Z-axis dimensions. The X-axis represents the robot's forward / backward direction, the Y-axis represents its left / right direction, and the Z-axis represents its up / down direction. If the target motion exists in the X-axis and Z-axis dimensions but not in the Y-axis dimension, the Y-axis dimension can be eliminated, resulting in the model shown in the attached figure. Figure 3 The first joint model shown has only two dimensions, the X-axis and the Z-axis. That is, it is a multi-link model in the XZ plane, including the torso, thigh, lower leg, foot, upper arm, and forearm. The torso is its floating base and has three degrees of freedom: movement along the X-axis, movement along the Z-axis, and rotation (pitch angle) around the Y-axis. The first joint model has two contact points with the ground: the toes and the heels. Therefore, the position vector of the first joint model is:
[0081]
[0082] In the above formula, q b =[q1,q2,q3] T =[x,y,θ] T q represents the pose of the floating base in coordinate system I, where θ is the pitch angle of the floating base. j =[q4,…,q8] T It refers to the position of each joint (i.e., joint angle).
[0083] Therefore, the dynamic equations of the first joint model can be written as:
[0084]
[0085] Where M and b represent the inertia matrix and nonlinear terms (the manifestations of Coriolis force, centrifugal force, and gravity in the generalized coordinate space), respectively; τ = [τ4, τ5, τ6, τ7, τ8] T It is the torque vector of each joint. It is the selection matrix for driveable joints; J c It is the velocity Jacobian matrix at the contact point, f c =[f toe,x f toe,z f heel,x f heel,z ] T These are the external forces acting on each point of contact. For velocity vectors, This is the acceleration vector.
[0086] In step S102, based on the first joint model, a motion sequence of the target motion is constructed, wherein the motion sequence includes multiple motion stages and switching events between adjacent motion stages.
[0087] The target motion can be a highly dynamic behavior. During highly dynamic motion, the robot's contact with the external environment often differs at different stages, reflected in changes in the number of contact points and the mode of contact. The contact establishment process is a fully plastic impact, and the contact release process is a non-viscous separation. Therefore, the contact establishment process and the contact process themselves have the following mapping relationships:
[0088]
[0089] in,
[0090] Based on this, for example, this step can determine the event in which the contact state between at least one contact point of the first joint model and the ground changes as a switching event according to the target motion, and determine the motion between adjacent switching events as an action phase, wherein each action phase is described by a dynamic equation, that is, different action phases are described by different dynamic equations.
[0091] Specifically, if the contact state between at least one contact point of the first joint model and the ground changes, the contact state (contact or non-contact) between the first joint model and the ground changes. For example, by arranging and combining each contact point in contact or non-contact with the ground, the contact state between the first joint model and the ground can be obtained. That is, when there are n contact points between the first joint model and the ground, the contact state between the first joint model and the ground is 2. n A contact state. (Attached) Figure 2 Taking the bipedal robot shown as an example, four contact states can be constructed based on the contact states of the toes, heels, and the ground, as shown in Table 1 below:
[0092]
[0093] In the table above, phase_num is the phase number, phase_name is the phase name, and contact_flag is the contact flag, which indicates whether each contact point is in contact with the ground. 1 indicates contact with the ground, and 0 indicates no contact with the ground.
[0094] With attachment Figure 2 Taking the bipedal robot shown as an example, if a sequence of somersault movements is constructed for it, the following can be obtained: Figure 4The action sequence shown includes four action phases: foot-contact, toe-contact, flight, and foot-contact, as well as switching events for heel-off (heel off the ground) between foot-contact and toe-contact, toe-off (toe off the ground) between toe-contact and flight, and touch-down (touch-down) between flight and foot-contact.
[0095] In step S103, the trajectory of the target motion is constructed based on the action sequence.
[0096] For example, this step can be performed as follows: Figure 5 The procedure is executed as shown, including sub-steps S1031 to S1033.
[0097] In sub-step S1031, the trajectory of the target motion is discretized into multiple trajectory points according to the action sequence, wherein each trajectory point has a state variable, and the state variable represents the state of the first joint model.
[0098] Optionally, the trajectory of the target motion can be discretized based on the time of each action in the action sequence and a preset frequency, so that each frequency point forms a trajectory point.
[0099] Optionally, the state variables may include at least one of the following: position vector, velocity vector, acceleration vector, contact point vector, and torque vector, wherein the position vector includes the floating base position and the position of (each) joint, the velocity vector includes the velocity of (each) joint, the acceleration vector includes the acceleration of (each) joint, the contact point vector includes the external force received at (each) contact point, and the torque vector includes the joint torque of (each) joint. For example, the state variable X is shown in the following equation:
[0100]
[0101] In the above formula, k is one of the N trajectory points (knot nodes) obtained after discretizing the motion trajectory, and i is the number of nodes in the N-axis path. c One of the contact points, c is n c A two-dimensional matrix of ×N, each column corresponds to a trajectory point, and each column includes the contact point vector on the corresponding trajectory point; Let K be the acceleration vector of the k-th trajectory point. Let f be the velocity vector of the k-th trajectory point, q[k] be the position vector of the k-th trajectory point, and f be the position vector of the k-th trajectory point. c[k] is the contact point vector of the kth trajectory point, and τ[k] is the torque vector of the kth trajectory point.
[0102] In sub-step S1032, the state variables of the trajectory points among the multiple trajectory points are optimized using a pre-constructed cost function and constraints to obtain the optimized state variable results of the trajectory points, wherein the constraints are related to the action sequence.
[0103] For example, the cost function is related to at least one of the following:
[0104] The error between the position vector of at least one of the plurality of trajectory points and the desired state of the target motion, wherein the position vector includes the floating base position and the joint position;
[0105] The joint torque of at least one of the plurality of trajectory points.
[0106] For example, the cost function includes the sum of squared errors between the position vector of the last trajectory point and the desired state of the target motion, and the sum of squared joint moments for each of the plurality of trajectory points, wherein the position vector includes the floating base position and the position of each joint. That is, the cost function is shown in the following equation:
[0107]
[0108] In the above formula, q ref [N] represents the desired state of the target motion, and W1 and W2 are the weight values, respectively.
[0109] For example, the constraints include at least one of the following:
[0110] The first condition: The state variable of the first trajectory point is consistent with the specified state of the target motion, that is:
[0111]
[0112] In the above formula, q ref [1] is the specified position vector of the target motion. Specify the velocity vector for the target motion.
[0113] The second condition: The state variables of each trajectory point conform to the dynamic equations of the first joint model, that is:
[0114] foreachknotnodek=1,...,N:
[0115]
[0116] The parameters in the above equation have been described in detail in the section on the dynamic equations of the first joint model, and will not be repeated here.
[0117] The third condition: The state variables of adjacent trajectory points satisfy integral continuity, that is:
[0118]
[0119]
[0120] In the above formula, Let q[k+1] be the velocity vector of the (k+1)th trajectory point, q[k+1] be the position vector of the (k+1)th trajectory point, and Δt be the difference between adjacent trajectory points.
[0121] The fourth item: The state variables of the trajectory points whose contact state with the ground changes from non-contact to contact, satisfy the discrete dynamic mapping of the first joint model, that is:
[0122] iftouchdownoccursatk:
[0123]
[0124] end
[0125] The parameters in the above formula have been explained in detail when introducing the mapping relationship that exists in the process of establishing contact, so they will not be repeated here.
[0126] Fifth: The state variables of each trajectory point satisfy the joint limit conditions, that is:
[0127] q min ≤q[k]≤q max
[0128]
[0129] q min q max These represent the lower and upper limits that the joint position can reach. This represents the maximum achievable joint velocity. τ is the maximum value that the joint acceleration can reach. max This represents the maximum value that the joint torque can reach.
[0130] Item 6: The contact state with the ground is characterized by no relative motion between the contact point and the ground, a supporting force between the contact point and the ground not less than 0, and a frictional force between the contact point and the ground not exceeding the maximum static sliding friction.
[0131]
[0132] In the above formula, ci,k f represents the contact state of the i-th contact point at the k-th trajectory point, where 1 indicates contact and 0 indicates no contact. c,z [k] represents the supporting force between the contact point and the ground at the k-th trajectory point, f c,x [k] represents the frictional force between the contact point and the ground at the k-th trajectory point, f c [k] represents the tangential force between the contact point and the ground at the k-th trajectory point.
[0133] In sub-step S1033, the trajectory of the target motion is determined based on the optimization results of the state variables of the trajectory points (preferably the optimization results of the state variables of each trajectory point).
[0134] For example, this step can be performed as follows:
[0135] First, based on the optimization results of the state variables of the trajectory points, the trajectory of the first joint model executing the target motion is determined.
[0136] Next, the trajectory of the target motion performed by the first joint model is restored in dimension to obtain the trajectory of the robot performing the target motion.
[0137] With attachment Figure 2 Taking the bipedal robot shown as an example, the trajectory X of the first joint model can be restored to the trajectory Y of the bipedal robot in full-degree-of-freedom space (Y has N columns, each column corresponding to a trajectory point):
[0138]
[0139]
[0140] In the above formula, Q = [Q b Q left-leg Q right-leg Q left-arm Q right-arm ] T Let be the position vector of the bipedal robot. Let T be the velocity vector of the bipedal robot. left-leg ,T right-leg ,T left-arm ,T right-arm ] T Let F be the torque vector of the bipedal robot. c =[F LLT ,F LRT ,F LLH ,F LRH ,F RLT ,F RRT ,F RLH ,F RRH ] TThis is a 24-dimensional contact point vector, representing the external forces acting on the eight contact points of the left and right feet, respectively.
[0141] Please refer to the appendix. Figure 6 The eight contact points of the left and right feet are [LLT, LRT, LLH, LRH, RLT, RRT, RLH, RRH]. The first letter represents the left foot (L) and the right foot (R), the second letter represents the left side (L) and the right side (R) of the foot, and the third letter represents the toe and heel of the foot.
[0142] The motion trajectory generation method provided in this disclosure constructs a first joint model of a robot, builds an action sequence for the target motion based on the first joint model, and finally constructs the trajectory of the target motion based on the action sequence. Since the action sequence is constructed based on the first joint model, which has a lower dimension than the robot's full-dimensional joint model, the difficulty of constructing the motion trajectory is greatly reduced, and the success rate and efficiency of trajectory construction are improved. In other words, this method can generate more complex motion trajectories, enabling the robot to achieve more complex movements.
[0143] Specifically, the first joint model constructed in this embodiment is a six-bar model (ignoring the waist degree of freedom) or a seven-bar model (considering the waist degree of freedom) on a plane. This greatly reduces the complexity of dynamic calculation without ignoring the motion components of the target motion, thereby improving the optimization efficiency of dynamic variables.
[0144] Furthermore, the embodiments of this disclosure combine the contact states of multiple contact points to obtain various contact states between the robot and the outside world. This allows for a more vivid and detailed depiction of the target movement when constructing action sequences, resulting in more accurate trajectories constructed based on the action sequences. For example, in related technologies, the contact state between a robot's foot and the ground can only be either contact or non-contact. However, in the embodiments of this disclosure, the two contact points—the toe and the heel—allow for four release states between the foot and the ground: full contact, no release, toe contact only, and heel contact only. It can be understood that if the robot has more contact points, more contact states between the robot and the ground can be obtained through combinations.
[0145] It should be noted that, in the above embodiments of this disclosure, "ground" refers to all objects that the robot touches during its walking process, such as a tabletop (i.e., the objects that the robot touches when walking on a tabletop).
[0146] According to a second aspect of the present disclosure, a motion trajectory generation apparatus is provided. Please refer to the attached drawing. Figure 7 The device includes:
[0147] Dimensionality reduction module 701 is used to construct the first joint model of the robot, wherein the number of dimensions of the first joint model is less than the number of dimensions of the robot's full-dimensional joint model.
[0148] The sequence module 702 is used to construct a motion sequence of the target motion based on the first joint model, wherein the motion sequence includes multiple motion stages and switching events between adjacent motion stages;
[0149] The trajectory module 703 is used to construct the trajectory of the target motion based on the action sequence.
[0150] In one embodiment of this disclosure, the building module is used for:
[0151] The non-motion dimensions in the full-dimensional joint model of the robot are eliminated to obtain the first joint model, wherein the motion dimension is the dimension in which motion exists in the target motion.
[0152] In one embodiment of this disclosure, the sequence module is used for:
[0153] Based on the target motion, an event in which the contact state between at least one contact point of the first joint model and the ground changes is identified as a switching event, and the motion between adjacent switching events is identified as an action phase.
[0154] In one embodiment of this disclosure, the trajectory module is used for:
[0155] Based on the action sequence, the trajectory of the target motion is discretized into multiple trajectory points, wherein each trajectory point has a state variable, and the state variable represents the state of the first joint model;
[0156] Using a pre-constructed cost function and constraints, the state variables of the trajectory points among the multiple trajectory points are optimized to obtain the optimized state variables of the trajectory points, wherein the constraints are related to the action sequence;
[0157] The trajectory of the target motion is determined based on the optimization results of the state variables of the trajectory points.
[0158] In one embodiment of this disclosure, the cost function is associated with at least one of the following:
[0159] The error between the position vector of at least one of the plurality of trajectory points and the desired state of the target motion, wherein the position vector includes the floating base position and the joint position;
[0160] The joint torque of at least one of the plurality of trajectory points.
[0161] In one embodiment of this disclosure, the constraint includes at least one of the following:
[0162] The state variable of the first trajectory point is consistent with the specified state of the target motion;
[0163] The state variables of each trajectory point conform to the dynamic equations of the first joint model;
[0164] The state variables of adjacent trajectory points satisfy integral continuity;
[0165] The state variables of the trajectory points that switch from non-contact to contact with the ground satisfy the discrete dynamic mapping of the first joint model;
[0166] The state variables of each trajectory point satisfy the joint limit conditions;
[0167] The contact state with the ground is characterized by no relative movement between the contact point and the ground, a supporting force between the contact point and the ground not less than 0, and a frictional force between the contact point and the ground not greater than the maximum static sliding friction.
[0168] In one embodiment of this disclosure, the robot has multiple contact points with the ground, and the first joint model has at least two contact points with the ground: the toe and the heel.
[0169] In one embodiment of this disclosure, when the trajectory module determines the trajectory of the target motion based on the optimization result of the state variables of the trajectory points, it is used to:
[0170] Based on the optimization results of the state variables of the trajectory points, the trajectory of the first joint model executing the target motion is determined;
[0171] The trajectory of the target motion performed by the first joint model is restored in dimension to obtain the trajectory of the robot performing the target motion.
[0172] In one embodiment of this disclosure, the state variables include at least one of the following: position vector, velocity vector, acceleration vector, contact point vector, and torque vector, wherein the position vector includes the floating base position and the joint position, the velocity vector includes the velocity of the joint, the acceleration vector includes the acceleration of the joint, the contact point vector includes the external force received at the contact point, and the torque vector includes the joint torque of the joint.
[0173] Thirdly, at least one embodiment of this disclosure provides a robot, please refer to the appendix. Figure 8The diagram illustrates the structure of the robot, which includes a memory and a processor. The memory stores computer instructions that can run on the processor, and the processor generates a motion trajectory based on the method described in any of the first aspects when executing the computer instructions. That is, the robot can generate motion trajectories online or offline.
[0174] According to the fourth aspect of the embodiments of this disclosure, please refer to the appendix. Figure 9 The diagram illustrates, for example, a block diagram of an electronic device. For instance, electronic device 600 could be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0175] Reference Figure 9 The electronic device 600 may include one or more of the following components: a processing component 602, a memory 604, a power supply component 606, a multimedia component 608, an audio component 610, an input / output (I / O) interface 612, a sensor component 614, and a communication component 616.
[0176] Processing component 602 typically controls the overall operation of electronic device 600, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 602 may include one or more processors 620 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 602 may include one or more modules to facilitate interaction between processing component 602 and other components. For example, processing component 602 may include a multimedia module to facilitate interaction between multimedia component 608 and processing component 602.
[0177] Memory 604 is configured to store various types of data to support the operation of device 600. Examples of this data include instructions for any application or method operating on electronic device 600, contact data, phonebook data, messages, pictures, videos, etc. Memory 604 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0178] Power component 606 provides power to various components of electronic device 600. Power component 606 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 600.
[0179] Multimedia component 608 includes a screen that provides an output interface between the electronic device 600 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 608 includes a front-facing camera and / or a rear-facing camera. When the electronic device 600 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0180] Audio component 610 is configured to output and / or input audio signals. For example, audio component 610 includes a microphone (MIC) configured to receive external audio signals when electronic device 600 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 604 or transmitted via communication component 616. In some embodiments, audio component 610 also includes a speaker for outputting audio signals.
[0181] I / O interface 612 provides an interface between processing component 602 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0182] Sensor assembly 614 includes one or more sensors for providing state assessments of various aspects of electronic device 600. For example, sensor assembly 614 can detect the on / off state of electronic device 600, the relative positioning of components such as the display and keypad of electronic device 600, changes in position of electronic device 600 or a component of electronic device 600, the presence or absence of user contact with electronic device 600, orientation or acceleration / deceleration of electronic device 600, and temperature changes of electronic device 600. Sensor assembly 614 may also include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 614 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 614 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.
[0183] Communication component 616 is configured to facilitate wired or wireless communication between electronic device 600 and other devices. Electronic device 600 can access wireless networks based on communication standards, such as WiFi, 2G or 3G, 4G or 5G, or combinations thereof. In one exemplary embodiment, communication component 616 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 616 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0184] In an exemplary embodiment, the electronic device 600 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the motion trajectory generation method of the electronic device described above.
[0185] Fifthly, in exemplary embodiments, this disclosure also provides a non-transitory computer-readable storage medium including instructions, such as a memory 604 including instructions, which can be executed by a processor 620 of an electronic device 600 to complete the motion trajectory generation method of the electronic device. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0186] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0187] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A method for generating motion trajectories, characterized in that, The method includes: Construct the first joint model of the robot, wherein the number of dimensions of the first joint model is less than the number of dimensions of the robot's full-dimensional joint model; Based on the first joint model, a motion sequence for the target motion is constructed, wherein the motion sequence includes multiple motion phases and switching events between adjacent motion phases, and the target motion includes somersaults; Based on the sequence of actions, construct the trajectory of the target motion; The step of constructing the action sequence of the target motion based on the first joint model includes: Based on the target motion, an event in which the contact state between at least one contact point of the first joint model and the ground changes is identified as a switching event, and the motion between adjacent switching events is identified as an action phase.
2. The motion trajectory generation method according to claim 1, characterized in that, The first joint model of the constructed robot includes: The non-motion dimensions in the full-dimensional joint model of the robot are eliminated to obtain the first joint model, wherein the motion dimension is the dimension in which motion exists in the target motion.
3. The motion trajectory generation method according to claim 1, characterized in that, Constructing the trajectory of the target motion based on the action sequence includes: Based on the action sequence, the trajectory of the target motion is discretized into multiple trajectory points, wherein each trajectory point has a state variable, and the state variable represents the state of the first joint model; Using a pre-constructed cost function and constraints, the state variables of the trajectory points among the multiple trajectory points are optimized to obtain the optimized state variables of the trajectory points, wherein the constraints are related to the action sequence; The trajectory of the target motion is determined based on the optimization results of the state variables of the trajectory points.
4. The motion trajectory generation method according to claim 3, characterized in that, The cost function is related to at least one of the following: The error between the position vector of at least one of the plurality of trajectory points and the desired state of the target motion, wherein the position vector includes the floating base position and the joint position; The joint torque of at least one of the plurality of trajectory points.
5. The motion trajectory generation method according to claim 3, characterized in that, The constraints include at least one of the following: The state variable of the first trajectory point is consistent with the specified state of the target motion; The state variables of each trajectory point conform to the dynamic equations of the first joint model; The state variables of adjacent trajectory points satisfy integral continuity; The state variables of the trajectory points that switch from non-contact to contact with the ground satisfy the discrete dynamic mapping of the first joint model; The state variables of each trajectory point satisfy the joint limit conditions; The contact state with the ground is characterized by no relative movement between the contact point and the ground, a supporting force between the contact point and the ground not less than 0, and a frictional force between the contact point and the ground not greater than the maximum static sliding friction.
6. The motion trajectory generation method according to any one of claims 3 to 5, characterized in that, The robot has multiple contact points with the ground, and the first joint model has at least two contact points with the ground: the toes and the heels.
7. The motion trajectory generation method according to claim 3, characterized in that, Determining the trajectory of the target motion based on the optimization results of the state variables of the trajectory points includes: Based on the optimization results of the state variables of the trajectory points, the trajectory of the first joint model executing the target motion is determined; The trajectory of the target motion performed by the first joint model is restored in dimension to obtain the trajectory of the robot performing the target motion.
8. The motion trajectory generation method according to claim 3, characterized in that, The state variables include at least one of the following: position vector, velocity vector, acceleration vector, contact point vector, and torque vector, wherein the position vector includes the floating base position and the joint position, the velocity vector includes the velocity of the joint, the acceleration vector includes the acceleration of the joint, the contact point vector includes the external force on the contact point, and the torque vector includes the joint torque.
9. A motion trajectory generation device, characterized in that, The device includes: The building module is used to build the first joint model of the robot, wherein the number of dimensions of the first joint model is less than the number of dimensions of the robot's full-dimensional joint model. The sequence module is used to construct a motion sequence of the target motion based on the first joint model, wherein the motion sequence includes multiple motion phases and switching events between adjacent motion phases, and the target motion includes somersaults; The trajectory module is used to construct the trajectory of the target motion based on the action sequence; The sequence module is used for: Based on the target motion, an event in which the contact state between at least one contact point of the first joint model and the ground changes is identified as a switching event, and the motion between adjacent switching events is identified as an action phase.
10. A robot, characterized in that, The robot includes a memory and a processor, the memory being used to store computer instructions that can be executed on the processor, and the processor being used to implement the method of any one of claims 1 to 8 when executing the computer instructions.
11. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory being used to store computer instructions executable on the processor, and the processor being used to implement the method of any one of claims 1 to 8 when executing the computer instructions.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method of any one of claims 1 to 8.
Citation Information
Patent Citations
Man-machine interaction control method of robot system in unknown environment
CN106406098A