Motion control method, device, robot and readable storage medium
Patent Information
- Application Number
- CN202310212443.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-27
- Publication Date
- 2026-08-28
- Estimated Expiration
- 2043-02-27
AI Technical Summary
[0002]随着机器人技术的进步,例如四足机器人等能够实现步行或舞蹈动作的足式机器人逐渐受到业界关注,而当前的足式机器人控制方法通常只能够控制机器人完成周期性动作,导致机器人动作的扩展性不足
[0071]通过分别获取机器人的步态定义信息与机器人的步态参数信息,得到机器人在非周期状态下,每一时刻的足端状态与期望位姿参数,并据此确定所述机器人的期望运动轨迹,并根据所述机器人的期望运动轨迹控制所述机器人进行运动,使得机器人能够根据非周期性或周期性动作信息高效执行对应动作。
Smart Images

Figure CN118578370B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of robotics, and more particularly to a motion control method, apparatus, robot, and readable storage medium. Background Technology
[0002] With the advancement of robotics technology, legged robots, such as quadruped robots, which can perform walking or dancing movements, have gradually attracted industry attention. However, current control methods for legged robots can usually only control the robot to complete periodic movements, resulting in insufficient scalability of robot movements. Summary of the Invention
[0003] In view of this, the present disclosure provides a motion control method, apparatus, robot, and readable storage medium to at least solve the problems existing in the related art.
[0004] According to a first aspect of the present disclosure, a motion control method is provided, applied to a legged robot, the method comprising:
[0005] The robot's gait definition information is obtained. The gait definition information includes the duration of each gait unit of the robot and the foot state of each foot within each gait unit. The foot state includes a support state and a swinging state.
[0006] Gait parameter information of the robot is obtained. The gait parameter information includes the duration of each pose unit of the robot and the expected pose parameters within each pose unit. The expected pose parameters include trunk pose parameters and / or foot pose parameters. The duration of each pose unit is associated with the duration of at least one gait unit.
[0007] Based on the gait definition information and the gait parameter information, the desired motion trajectory of the robot is determined, and the robot is controlled to move according to the desired motion trajectory.
[0008] In any embodiment of this disclosure, the duration of each pose unit includes the duration of at least one gait unit.
[0009] In conjunction with any embodiment of this disclosure, the method further includes:
[0010] Display a first preset interface, which is used to prompt the user to input the robot's gait definition information;
[0011] In response to receiving gait definition information input by the user based on the first preset interface, the robot's gait parameter information is determined according to the gait definition information.
[0012] In any embodiment of this disclosure, after determining the gait parameter information of the robot, the method further includes:
[0013] Display a second preset interface, which prompts the user to input the robot's gait parameter update information;
[0014] In response to receiving gait parameter update information input by the user based on the second preset interface, the robot's gait parameter update information is determined as the current robot's gait parameter information.
[0015] In any embodiment of this disclosure, the torso pose parameters include at least one of the following:
[0016] The desired linear velocity of the robot's torso under the current gait definition information;
[0017] The desired angular velocity of the robot's torso under the current gait definition information;
[0018] The foot position parameters include at least one of the following:
[0019] Given the current gait definition information, the expected landing position of each foot of the robot;
[0020] Given the current gait definition information, the expected ground clearance of each foot of the robot.
[0021] In any embodiment of this disclosure, determining the desired motion trajectory of the robot based on the gait definition information and the gait parameter information includes:
[0022] Based on the expected linear velocity and expected angular velocity of the robot torso under the current gait definition information, the expected motion trajectory of the robot torso is determined;
[0023] Based on the expected landing position and expected height off the ground of each foot of the robot under the current gait definition information, the expected movement trajectory of each foot of the robot is determined.
[0024] In any embodiment of this disclosure, controlling the robot to move according to the desired motion trajectory of the robot includes:
[0025] According to the robot's desired motion trajectory, the robot's motion controller controls the robot to complete the motion action. The motion controller includes a whole-body force controller, a joint controller, a speed controller, and a torque controller.
[0026] In any embodiment of this disclosure, before obtaining the robot's gait definition information and gait parameter information, the method further includes:
[0027] The control parameters collected by the robot's motion controller are obtained;
[0028] The acquisition of the robot's gait definition information and gait parameters includes:
[0029] In response to the control parameters indicating that each foot of the robot is in a supported state, the robot's gait definition information and gait parameter information are acquired.
[0030] In conjunction with any embodiment of this disclosure, the method further includes:
[0031] In response to the end of the robot's movement, control each foot of the robot to be in a supported state.
[0032] In any embodiment of this disclosure, determining the desired trajectory of each foot of the robot based on the desired landing position of each foot under the current gait definition information and the desired ground clearance of each foot under the current gait definition information includes:
[0033] For each foot, in response to the foot being in a supported state, the expected ground trajectory of the foot in the current pose unit is determined based on the current position of the foot and the expected ground clearance of the current pose unit, wherein the current position of the foot is related to the expected landing position of the previous pose unit.
[0034] In response to the foot being in a swinging state off the ground, the desired landing trajectory of the foot in the current pose unit is determined based on the desired height off the ground and the desired landing position of the foot in the current pose unit.
[0035] According to a second aspect of the present disclosure, a motion control device is provided for use in a legged robot, the device comprising:
[0036] The definition information acquisition module is used to: acquire the gait definition information of the robot, wherein the gait definition information includes the duration of each gait unit of the robot and the foot state of each foot within each gait unit, wherein the foot state includes a support state and a swinging state;
[0037] The parameter information acquisition module is used to: acquire the robot's gait parameter information, the gait parameter information including the duration of each pose unit of the robot and the expected pose parameters within each pose unit, the expected pose parameters including trunk pose parameters and / or foot pose parameters, wherein the duration of each pose unit is associated with the duration of at least one gait unit;
[0038] The motion control module is used to: determine the desired motion trajectory of the robot based on the gait definition information and the gait parameter information, and control the robot to move according to the desired motion trajectory.
[0039] In any embodiment of this disclosure, the duration of each pose unit includes the duration of at least one gait unit.
[0040] In any embodiment of this disclosure, the apparatus further includes a first input module for:
[0041] Display a first preset interface, which is used to prompt the user to input the robot's gait definition information;
[0042] In response to receiving gait definition information input by the user based on the first preset interface, the robot's gait parameter information is determined according to the gait definition information.
[0043] In conjunction with any embodiment of this disclosure, after determining the robot's gait parameter information, the device further includes a second input module, used for:
[0044] Display a second preset interface, which prompts the user to input the robot's gait parameter update information;
[0045] In response to receiving gait parameter update information input by the user based on the second preset interface, the robot's gait parameter update information is determined as the current robot's gait parameter information.
[0046] In any embodiment of this disclosure, the torso pose parameters include at least one of the following:
[0047] The desired linear velocity of the robot's torso under the current gait definition information;
[0048] The desired angular velocity of the robot's torso under the current gait definition information;
[0049] The foot position parameters include at least one of the following:
[0050] Given the current gait definition information, the expected landing position of each foot of the robot;
[0051] Given the current gait definition information, the expected ground clearance of each foot of the robot.
[0052] In conjunction with any embodiment of this disclosure, when the motion control module determines the desired motion trajectory of the robot based on the gait definition information and the gait parameter information, it is specifically used for:
[0053] Based on the expected linear velocity and expected angular velocity of the robot torso under the current gait definition information, the expected motion trajectory of the robot torso is determined;
[0054] Based on the expected landing position and expected height off the ground of each foot of the robot under the current gait definition information, the expected movement trajectory of each foot of the robot is determined.
[0055] In conjunction with any embodiment of this disclosure, when the motion control module controls the robot to move according to the robot's desired motion trajectory, it is specifically used for:
[0056] According to the robot's desired motion trajectory, the robot's motion controller controls the robot to complete the motion action. The motion controller includes a whole-body force controller, a joint controller, a speed controller, and a torque controller.
[0057] In any embodiment of this disclosure, before acquiring the robot's gait definition information and gait parameter information, the device further includes a state detection module, used for:
[0058] The control parameters collected by the robot's motion controller are obtained;
[0059] The acquisition of the robot's gait definition information and gait parameters includes:
[0060] In response to the control parameters indicating that each foot of the robot is in a supported state, the robot's gait definition information and gait parameter information are acquired.
[0061] In any embodiment of this disclosure, the apparatus further includes an action termination module, configured to:
[0062] In response to the end of the robot's movement, control each foot of the robot to be in a supported state.
[0063] In conjunction with any embodiment of this disclosure, when the motion control module determines the desired trajectory of each foot of the robot based on the desired landing position of each foot of the robot under the current gait definition information and the desired ground clearance of each foot of the robot under the current gait definition information, it is specifically used for:
[0064] For each foot, in response to the foot being in a supported state, the expected ground trajectory of the foot in the current pose unit is determined based on the current position of the foot and the expected ground clearance of the current pose unit, wherein the current position of the foot is related to the expected landing position of the previous pose unit.
[0065] In response to the foot being in a swinging state off the ground, the desired landing trajectory of the foot in the current pose unit is determined based on the desired height off the ground and the desired landing position of the foot in the current pose unit.
[0066] According to a third aspect of the present disclosure, a robot is provided, comprising:
[0067] Memory for storing processor-executable instructions;
[0068] The processor is configured to execute executable instructions in the memory to implement the steps of the method described in any of the first aspects above.
[0069] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps of the method described in any of the embodiments of the first aspect.
[0070] The technical solutions provided in this disclosure can include the following beneficial effects:
[0071] By acquiring the robot's gait definition information and gait parameter information respectively, the foot state and desired pose parameters of the robot at each moment in the non-periodic state are obtained, and the desired motion trajectory of the robot is determined accordingly. The robot is then controlled to move according to the desired motion trajectory, enabling the robot to efficiently execute corresponding actions based on non-periodic or periodic motion information. Attached Figure Description
[0072] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0073] Figure 1 This disclosure is a flowchart illustrating a motion control method according to an exemplary embodiment;
[0074] Figure 2 This is a schematic diagram of a multi-legged robot according to an exemplary embodiment of the present disclosure;
[0075] Figure 3 This disclosure is a schematic diagram illustrating a non-periodic motion of a robot according to an exemplary embodiment;
[0076] Figure 4 This is a flowchart illustrating another motion control method according to an exemplary embodiment of the present disclosure;
[0077] Figure 5 This is a schematic diagram of a motion control device according to an exemplary embodiment of the present disclosure;
[0078] Figure 6 This disclosure is a hardware structure diagram of a computer device according to an exemplary embodiment. Detailed Implementation
[0079] 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.
[0080] 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.
[0081] 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."
[0082] With the advancement of robotics technology, legged robots, such as quadruped robots, which can perform walking or dancing movements, have gradually attracted industry attention. However, current control methods for legged robots can usually only control the robot to complete periodic movements, resulting in insufficient scalability of robot movements.
[0083] The periodic motion is an action whose overall definition can be completed by defining only a periodic motion parameter, duty cycle, and phase difference. The periodic motion parameter is a scalar representing the time interval between two identical states; the duty cycle is a four-dimensional vector representing the ratio of each foot support state to the total cycle; and the phase difference is also a four-dimensional vector representing the phase difference of each foot at the initial moment.
[0084] Taking human walking as an example, walking is a typical periodic movement. For instance, if a step is taken every 0.5 seconds, then the gait cycle is 1 second. Assuming there are no moments when both legs are on the ground simultaneously, then the duty cycle of each leg is 50%, meaning the leg is supporting the weight for half the time and swinging for the other half. The phase difference between the two legs is 0.5 seconds, meaning that when the left leg is supporting the weight, the right leg is swinging, and the time interval between the two legs being in the same state is 0.5 seconds. As long as the phase difference between the two legs is always 0.5 seconds, a person can walk forward. If the phase difference is 0, it represents a periodic bipedal jump.
[0085] Non-periodic movements, such as dance moves, typically do not have a strict cycle. Therefore, it is necessary to define non-periodic movement information and a method to control the robot to perform the corresponding movements.
[0086] In view of this, this disclosure provides a motion control method for legged robots to at least solve the problems existing in the related art.
[0087] Figure 1 A flowchart illustrating a motion control method according to an exemplary embodiment of this disclosure is shown.
[0088] In step S101, the robot's gait definition information is obtained. The gait definition information includes the duration of each gait unit of the robot and the foot state of each foot within each gait unit. The foot state includes a support state and a swinging state.
[0089] The robot's complete motion consists of multiple gait units. Each gait unit consists of a preset time period and the foot state of each foot of the robot during that time period. The foot state represents the relative positional relationship between the robot's foot and the ground. In one example, the foot state includes a support state (the foot is in contact with the ground and provides support for the robot) and a swinging state (the foot leaves the ground and swings in a certain direction).
[0090] The gait definition information is used to characterize the relationship between the robot's foot state and time within each gait unit, including the duration of each gait unit and the foot state of each foot within each gait unit. In one example, the gait definition information can be represented by the following example:
[0091]
[0092]
[0093] Each segment represents a gait unit, and the contact represents the foot state of each foot within the current gait unit. Taking a quadruped robot as an example, the four sets of parameters represent the foot states of the robot's left front, right front, left rear, and right rear feet, respectively. "0" represents the support state, indicating that the current foot is in contact with the ground, and "1" represents the swinging state, indicating that the current foot is off the ground and in a swinging process. The duration represents the duration of the current gait unit, which can be of equal or unequal duration to perform non-periodic movements such as dancing or running.
[0094] In one example, the gait definition information can be stored in the robot terminal as a file for user editing. For instance, a first preset interface can be displayed on the robot terminal to prompt the user to input the robot's gait definition information, namely the duration of each gait unit and the foot state of each foot within each gait unit. This allows the user to efficiently edit the robot's non-periodic movements, improving the efficiency of editing the robot's movements in multiple scenarios.
[0095] In step S102, the robot's gait parameter information is obtained. The gait parameter information includes the duration of each pose unit of the robot and the expected pose parameters within each pose unit. The expected pose parameters include trunk pose parameters and / or foot pose parameters. The duration of each pose unit is associated with the duration of at least one gait unit.
[0096] Specifically, similar to the gait unit, the robot's complete movement can also be composed of multiple pose units. Each pose unit consists of a preset time period and the pose states of the robot's torso and feet within that time period. The pose states can include specific pose parameters of the robot's torso and feet. In one example, the torso pose parameters include at least one of the following:
[0097] The desired linear velocity of the robot's torso under the current gait definition information;
[0098] The desired angular velocity of the robot's torso under the current gait definition information;
[0099] The foot position parameters include at least one of the following:
[0100] Given the current gait definition information, the expected landing position of each foot of the robot;
[0101] Given the current gait definition information, the expected ground clearance of each foot of the robot.
[0102] In one embodiment of this disclosure, the duration of a pose unit may be associated with the duration of at least one gait unit, but there need not be a one-to-one correspondence between the duration of the pose unit and the duration of the gait unit. That is, this disclosure does not impose any restrictions on the specific correspondence between the durations of the pose unit and the gait unit. For example, the duration of a pose unit may include the duration of at least one gait unit, meaning that within a pose unit, the robot's foot state may change at least once to perform the aforementioned non-periodic action.
[0103] In one example, the gait parameter information can be represented by the following example:
[0104] Step 1
[0105] type="usergait"
[0106] body_vel_des=[vx,0.0,0.0,0.0,0.0,0.0]
[0107] body_pos_des=[0.0,0.0,0.0,0.0,0.0,0.0]
[0108] l anding_pos_des=[lx,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,lx,0.00,0.0]
[0109] step_height=[h_max,h_min,h_min,h_max]
[0110] durat ion=T1+T2
[0111] step2
[0112] type="usergait"
[0113] body_vel_des=[vx,0.0,0.0,0.0,0.0,0.0]
[0114] body_pos_des=[0.0,0.0,0.0,0.0,0.0,0.0]
[0115] l anding_pos_des=[lx,0.0,0.0,-lx,0.0,0.0,-lx,0.0,0.0,lx,0.0,0.0]
[0116] step_height=[h_max,h_min,h_min,h_max]
[0117] durat ion=T3+T4
[0118] step3
[0119] type="usergait"
[0120] body_vel_des=[vx,0.0,0.0,0.0,0.0,0.0]
[0121] body_pos_des=[0.0,0.0,0.0,0.0,0.0,0.0]
[0122] l anding_pos_des=[0.0,0.0,0.0,lx,0.0,0.0,lx,0.0,0.0,0.0,0.0,0.0]
[0123] step_height=[h_min,h_max,h_max,h_min]
[0124] durat ion=T5+T6
[0125] step4
[0126] type="usergait"
[0127] body_vel_des=[vx,0.0,0.0,0.0,0.0,0.0]
[0128] body_pos_des=[0.0,0.0,0.0,0.0,0.0,0.0]
[0129] l anding_pos_des=[-lx,0.0,0.0,lx,0.0,0.0,lx,0.0,0.0,-lx,0.0,0.0]
[0130] step_height=[h_min,h_max,h_max,h_min]
[0131] durat ion=T7+T8
[0132] Each step represents a pose unit. "user_gait" indicates that this gait parameter is used for non-periodic gait. "body_ve l_des" represents the desired linear velocity of the robot's torso. The first three variables represent the desired linear velocities of the torso in the x, y, and z directions, respectively, in meters per second (m / s). The last three variables represent the desired angular velocities of the torso, in radians per second (r / s). "vx" represents a preset desired linear velocity value. The six variables in "body_pos_des" represent the three-dimensional displacements of the torso in the x, y, and z directions, respectively, in meters (m). When the desired linear velocity of the robot's torso in the pose unit is not zero, the desired displacement of the robot's torso can be obtained primarily through the integral of the desired linear velocity over time. When the desired linear velocity of the robot's torso in the pose unit is zero, the movement state of the robot's torso can be determined based on the desired displacement in the pose unit. The twelve variables in “l and i ng_pos_des” represent the expected landing position offset of each foot in the x, y, and z directions, respectively. lx represents the preset landing point position, and [0.0, 0.0, 0.0] indicates that the landing point is directly below the corresponding robot hip joint. The offset direction of the landing point position is the same as the direction of the robot's coordinate system, and the unit is meters. “step_height” represents the expected ground clearance of each foot of the robot, and h_min and h_ma represent the preset first and second expected ground clearances of the foot, respectively. The unit is meters. “durat i on” represents the duration of the current pose unit.
[0133] In the above example, each pose unit includes two gait units. Taking the non-periodic "moonwalk" as an example, in the first three gait units, the robot's right forefoot is in a swinging state (i.e., lifted state) in the second gait unit and in a supporting state (i.e., landed state) in the third gait unit. Therefore, during the duration T1+T2, the robot's foot in the swinging state will land. Thus, the duration of the robot's first pose unit is T1+T2.
[0134] Figure 2 and Figure 3 The present disclosure presents a schematic diagram of a legged robot according to an exemplary embodiment and a schematic diagram of a robot's non-periodic motion according to an exemplary embodiment.
[0135] exist Figure 3 In the diagram, the solid line represents the right foot tip, and the dashed line represents the left foot tip. For example... Figure 3 As shown, when the robot performs the "moonwalk" action edited from the gait definition information and gait parameter information in the above example, the specific states of the robot during the time period T1-T5 are as follows:
[0136] 1. The robot is in a standing position with all foot offsets at zero.
[0137] 2. During time T2, all feet are in a swinging state, with the left foot stepping forward and the right foot swinging in place;
[0138] 3. During the T3 time period, the right foot is in a supporting position, while the left foot continues to swing forward, and the jump is performed again to reach the desired state.
[0139] 4. During the T4 time period, the right foot swings backward while the left foot prepares to land.
[0140] 5. During time interval T5, the left foot lands with a positive offset of lx (lx>0) and the right foot lands with a negative offset of lx, completing a non-periodic movement called "moonwalk".
[0141] During the above process, the right foot moves backward as a whole, and its expected height off the ground, h_min, is relatively small, which will result in a sliding effect on the ground. Meanwhile, the left foot steps forward as a whole, and its expected height off the ground, h_max, is relatively large, thus achieving a "moonwalk" effect.
[0142] Similarly, in an optional embodiment, after determining the robot's gait parameter information, a second preset interface can be displayed to prompt the user to input the robot's gait parameter update information. In response to receiving the gait parameter update information input by the user based on the second preset interface, the robot's gait parameter update information is determined as the current robot's gait parameter information.
[0143] The robot terminal can generate preset gait parameter information based on the gait definition information input by the user, and can also prompt the user to update the gait parameter information based on the second preset interface, so that the user can efficiently complete the editing of the robot's non-periodic movements and improve the user's efficiency in editing the robot's movements in multiple scenarios.
[0144] In step S103, the desired motion trajectory of the robot is determined according to the gait definition information and the gait parameter information, and the robot is controlled to move according to the desired motion trajectory.
[0145] Specifically, firstly, the desired motion trajectory of the robot torso can be determined based on the desired linear velocity and desired angular velocity of the robot torso under the current gait definition information. That is, the desired motion state of the robot torso is obtained by integrating the robot velocity over time. The desired linear velocity is generally used to define the translational state of the robot torso, and the desired angular velocity is generally used to define the rotation angle of the robot torso.
[0146] Subsequently, the desired motion trajectory of each foot of the robot can be determined based on the desired landing position and desired height off the ground of each foot under the current gait definition information. The specific determination method will be detailed later.
[0147] After obtaining the desired motion trajectory of the robot, the robot can be controlled to move according to the desired motion trajectory. For example, the robot's motion controller can be controlled to complete the motion action according to the desired motion trajectory. The motion controller includes a whole-body force controller, a joint controller, a speed controller, and a torque controller.
[0148] In one example, the robot can use the MPC (Model Predictive Control) module to calculate the reaction force required for the robot to perform the action, and input it into the WBC (WholeBody Control) module to obtain the robot control parameters for that stage. It is understood that the movement control methods for multi-legged robots are already relatively mature, and this disclosure does not limit the specific control methods.
[0149] The solution described in this disclosure obtains the robot's foot state and desired pose parameters at each moment in a non-periodic state by acquiring the robot's gait definition information and gait parameter information respectively, and determines the robot's desired motion trajectory accordingly. The robot is then controlled to move according to the desired motion trajectory, enabling the robot to efficiently execute corresponding actions based on non-periodic or periodic motion information.
[0150] In an optional embodiment, before acquiring the robot's gait definition information and gait parameter information, control parameters collected by the robot's motion controller can be acquired first. The gait definition information and gait parameter information are then acquired when the control parameters indicate that each foot of the robot is in a supporting state. Furthermore, when the robot stops moving, each foot of the robot is controlled to return to a supporting state. In one example, if the robot is in motion (e.g., in a forward jump, where each foot is swinging), acquiring the gait definition information and gait parameter information and executing related movements at this time could easily cause the robot to start the next movement in an unbalanced state, making it prone to falls, slips, and other motion accidents. Acquiring the robot's gait definition information and gait parameter information when each foot is in a supporting state ensures that the robot always starts performing the non-periodic movements in an "idle" posture, avoiding the aforementioned motion accidents and improving the safety of the robot during movement.
[0151] Figure 4 A flowchart illustrating a robot foot trajectory calculation according to an exemplary embodiment is shown in this disclosure.
[0152] In an optional embodiment, determining the desired motion trajectory of each foot of the robot based on the desired landing position of each foot of the robot under the current gait definition information and the desired ground clearance of each foot of the robot under the current gait definition information includes steps S401 to S402.
[0153] In step S401, in response to the foot being in a supported state, the expected ground trajectory of the foot in the current pose unit is determined based on the current position of the foot and the expected ground clearance of the current pose unit, wherein the current position of the foot is related to the expected landing position of the previous pose unit.
[0154] During the process of the foot leaving the ground, the initial velocity and the final velocity are both 0 m / s. The current position of the foot in the x, y, and z directions and the expected height of the foot leaving the ground in the current pose unit can be input into a preset third-order Bezier curve to obtain the expected trajectory of the foot leaving the ground in the current pose unit. The current position of the foot can be determined based on the expected landing position of the previous pose unit.
[0155] In step S402, in response to the foot being in a swinging state off the ground, the expected landing trajectory of the foot in the current pose unit is determined based on the expected height off the ground and the expected landing position of the foot in the current pose unit.
[0156] The ground swing state represents the state of the foot between the moment of ground takeoff and the desired ground takeoff height. The initial velocity and final velocity at the desired ground takeoff height are both 0 m / s. Therefore, the desired ground takeoff height and desired landing position of the foot in the current pose unit in the x, y, and z directions can be input into a preset third-order Bezier curve to obtain the desired ground takeoff trajectory of the current foot.
[0157] The solution described in this disclosure determines the desired take-off trajectory and landing trajectory of the robot's feet using third-order Bézier curves, thereby achieving efficient calculation of the desired motion trajectory of each foot of the robot and timely control of the robot's movement.
[0158] For the foregoing method embodiments, in order to simplify the description, they are all described as a series of actions. However, those skilled in the art should know that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps may be performed in other orders or simultaneously.
[0159] Secondly, those skilled in the art should also know that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by this disclosure.
[0160] Corresponding to the aforementioned application function implementation method embodiments, this disclosure also provides embodiments of application function implementation apparatus and corresponding terminals.
[0161] A block diagram of a motion control device illustrated in an exemplary embodiment of this disclosure is shown below. Figure 5 As shown, the device, applied to a legged robot, includes:
[0162] The definition information acquisition module 501 is used to: acquire the gait definition information of the robot, wherein the gait definition information includes the duration of each gait unit of the robot and the foot state of each foot in each gait unit, wherein the foot state includes a support state and a swinging state;
[0163] The parameter information acquisition module 502 is used to: acquire the gait parameter information of the robot, the gait parameter information including the duration of each pose unit of the robot and the expected pose parameters in each pose unit, the expected pose parameters including trunk pose parameters and / or foot pose parameters, wherein the duration of each pose unit is associated with the duration of at least one gait unit.
[0164] The motion control module 503 is used to: determine the desired motion trajectory of the robot based on the gait definition information and the gait parameter information, and control the robot to move according to the desired motion trajectory.
[0165] In any embodiment of this disclosure, the duration of each pose unit includes the duration of at least one gait unit.
[0166] In any embodiment of this disclosure, the apparatus further includes a first input module for:
[0167] Display a first preset interface, which is used to prompt the user to input the robot's gait definition information;
[0168] In response to receiving gait definition information input by the user based on the first preset interface, the robot's gait parameter information is determined according to the gait definition information.
[0169] In conjunction with any embodiment of this disclosure, after determining the robot's gait parameter information, the device further includes a second input module, used for:
[0170] Display a second preset interface, which prompts the user to input the robot's gait parameter update information;
[0171] In response to receiving gait parameter update information input by the user based on the second preset interface, the robot's gait parameter update information is determined as the current robot's gait parameter information.
[0172] In any embodiment of this disclosure, the torso pose parameters include at least one of the following:
[0173] The desired linear velocity of the robot's torso under the current gait definition information;
[0174] The desired angular velocity of the robot's torso under the current gait definition information;
[0175] The foot position parameters include at least one of the following:
[0176] Given the current gait definition information, the expected landing position of each foot of the robot;
[0177] Given the current gait definition information, the expected ground clearance of each foot of the robot.
[0178] In conjunction with any embodiment of this disclosure, when the motion control module determines the desired motion trajectory of the robot based on the gait definition information and the gait parameter information, it is specifically used for:
[0179] Based on the expected linear velocity and expected angular velocity of the robot torso under the current gait definition information, the expected motion trajectory of the robot torso is determined;
[0180] Based on the expected landing position and expected height off the ground of each foot of the robot under the current gait definition information, the expected movement trajectory of each foot of the robot is determined.
[0181] In conjunction with any embodiment of this disclosure, when the motion control module controls the robot to move according to the robot's desired motion trajectory, it is specifically used for:
[0182] According to the robot's desired motion trajectory, the robot's motion controller controls the robot to complete the motion action. The motion controller includes a whole-body force controller, a joint controller, a speed controller, and a torque controller.
[0183] In any embodiment of this disclosure, before acquiring the robot's gait definition information and gait parameter information, the device further includes a state detection module, used for:
[0184] The control parameters collected by the robot's motion controller are obtained;
[0185] The acquisition of the robot's gait definition information and gait parameters includes:
[0186] In response to the control parameters indicating that each foot of the robot is in a supported state, the robot's gait definition information and gait parameter information are acquired.
[0187] In any embodiment of this disclosure, the apparatus further includes an action termination module, configured to:
[0188] In response to the end of the robot's movement, control each foot of the robot to be in a supported state.
[0189] In conjunction with any embodiment of this disclosure, when the motion control module determines the desired trajectory of each foot of the robot based on the desired landing position of each foot of the robot under the current gait definition information and the desired ground clearance of each foot of the robot under the current gait definition information, it is specifically used for:
[0190] For each foot, in response to the foot being in a supported state, the expected ground trajectory of the foot in the current pose unit is determined based on the current position of the foot and the expected ground clearance of the current pose unit, wherein the current position of the foot is related to the expected landing position of the previous pose unit.
[0191] In response to the foot being in a swinging state off the ground, the desired landing trajectory of the foot in the current pose unit is determined based on the desired height off the ground and the desired landing position of the foot in the current pose unit.
[0192] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0193] The embodiments of the motion control device described in this specification can be applied to the computer equipment of a robot, such as a server or terminal device. The device embodiments can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of its motion control system reading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 6 The diagram shown is a hardware structure diagram of a robot in which the motion control device is located, according to an embodiment of this specification. Except for... Figure 6In addition to the processor 610, memory 630, network interface 620, and non-volatile memory 640 shown, the server or electronic device in which the device is located in the embodiment may also include other hardware depending on the actual function of the computer device, which will not be described in detail here.
[0194] 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.
[0195] 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 motion control method, characterized in that, Applied to legged robots, the method includes: The robot's gait definition information is obtained. The gait definition information includes the duration of each gait unit of the robot and the foot state of each foot within each gait unit. The foot state includes a support state and a swinging state. Gait parameter information of the robot is obtained. The gait parameter information includes the duration of each pose unit of the robot and the expected pose parameters within each pose unit. The expected pose parameters include trunk pose parameters and / or foot pose parameters. The duration of each pose unit is associated with the duration of at least one gait unit. Based on the gait definition information and the gait parameter information, the desired motion trajectory of the robot is determined, and the robot is controlled to move according to the desired motion trajectory.
2. The method according to claim 1, characterized in that, The duration of each pose unit includes the duration of at least one gait unit.
3. The method according to claim 1, characterized in that, The method further includes: Display a first preset interface, which is used to prompt the user to input the robot's gait definition information; In response to receiving gait definition information input by the user based on the first preset interface, the robot's gait parameter information is determined according to the gait definition information.
4. The method according to claim 3, characterized in that, After determining the robot's gait parameters, the method further includes: Display a second preset interface, which prompts the user to input the robot's gait parameter update information; In response to receiving gait parameter update information input by the user based on the second preset interface, the robot's gait parameter update information is determined as the current robot's gait parameter information.
5. The method according to claim 1, characterized in that, The trunk pose parameters include at least one of the following: The desired linear velocity of the robot's torso under the current gait definition information; The desired angular velocity of the robot's torso under the current gait definition information; The foot position parameters include at least one of the following: Given the current gait definition information, the expected landing position of each foot of the robot; Given the current gait definition information, the expected ground clearance of each foot of the robot.
6. The method according to claim 5, characterized in that, Determining the robot's desired motion trajectory based on the gait definition information and the gait parameter information includes: Based on the expected linear velocity and expected angular velocity of the robot torso under the current gait definition information, the expected motion trajectory of the robot torso is determined; Based on the expected landing position and expected height off the ground of each foot of the robot under the current gait definition information, the expected movement trajectory of each foot of the robot is determined.
7. The method according to claim 1, characterized in that, The step of controlling the robot to move according to the robot's desired motion trajectory includes: According to the robot's desired motion trajectory, the robot's motion controller controls the robot to complete the motion action. The motion controller includes a whole-body force controller, a joint controller, a speed controller, and a torque controller.
8. The method according to claim 7, characterized in that, Before acquiring the robot's gait definition information and gait parameter information, the method further includes: The control parameters collected by the robot's motion controller are obtained; The acquisition of the robot's gait definition information and gait parameters includes: In response to the control parameters indicating that each foot of the robot is in a supported state, the robot's gait definition information and gait parameter information are acquired.
9. The method according to claim 1, characterized in that, The method further includes: In response to the end of the robot's movement, control each foot of the robot to be in a supported state.
10. The method according to claim 6, characterized in that, The step of determining the expected trajectory of each foot of the robot based on the expected landing position of each foot under the current gait definition information and the expected ground clearance of each foot under the current gait definition information includes: For each foot, in response to the foot being in a supported state, the expected ground trajectory of the foot in the current pose unit is determined based on the current position of the foot and the expected ground clearance of the current pose unit, wherein the current position of the foot is related to the expected landing position of the previous pose unit. In response to the foot being in a swinging state off the ground, the desired landing trajectory of the foot in the current pose unit is determined based on the desired height off the ground and the desired landing position of the foot in the current pose unit.
11. A motion control device, characterized in that, The device, applied to legged robots, includes: The definition information acquisition module is used to: acquire the gait definition information of the robot, wherein the gait definition information includes the duration of each gait unit of the robot and the foot state of each foot within each gait unit, wherein the foot state includes a support state and a swinging state; The parameter information acquisition module is used to: acquire the robot's gait parameter information, the gait parameter information including the duration of each pose unit of the robot and the expected pose parameters within each pose unit, the expected pose parameters including trunk pose parameters and / or foot pose parameters, wherein the duration of each pose unit is associated with the duration of at least one gait unit; The motion control module is used to: determine the desired motion trajectory of the robot based on the gait definition information and the gait parameter information, and control the robot to move according to the desired motion trajectory.
12. The apparatus according to claim 11, characterized in that, The duration of each pose unit includes the duration of at least one gait unit.
13. The apparatus according to claim 11, characterized in that, The device further includes a first input module for: Display a first preset interface, which is used to prompt the user to input the robot's gait definition information; In response to receiving gait definition information input by the user based on the first preset interface, the robot's gait parameter information is determined according to the gait definition information.
14. The apparatus according to claim 13, characterized in that, After determining the robot's gait parameter information, the device further includes a second input module for: Display a second preset interface, which prompts the user to input the robot's gait parameter update information; In response to receiving gait parameter update information input by the user based on the second preset interface, the robot's gait parameter update information is determined as the current robot's gait parameter information.
15. The apparatus according to claim 11, characterized in that, The trunk pose parameters include at least one of the following: The desired linear velocity of the robot's torso under the current gait definition information; The desired angular velocity of the robot's torso under the current gait definition information; The foot position parameters include at least one of the following: Given the current gait definition information, the expected landing position of each foot of the robot; Given the current gait definition information, the expected ground clearance of each foot of the robot.
16. The apparatus according to claim 15, characterized in that, When determining the robot's desired motion trajectory based on the gait definition information and the gait parameter information, the motion control module is specifically used for: Based on the expected linear velocity and expected angular velocity of the robot torso under the current gait definition information, the expected motion trajectory of the robot torso is determined; Based on the expected landing position and expected height off the ground of each foot of the robot under the current gait definition information, the expected movement trajectory of each foot of the robot is determined.
17. The apparatus according to claim 11, characterized in that, When the motion control module controls the robot to move according to the robot's desired motion trajectory, it is specifically used for: According to the robot's desired motion trajectory, the robot's motion controller controls the robot to complete the motion action. The motion controller includes a whole-body force controller, a joint controller, a speed controller, and a torque controller.
18. The apparatus according to claim 17, characterized in that, Before acquiring the robot's gait definition information and gait parameter information, the device further includes a state detection module, used for: The control parameters collected by the robot's motion controller are obtained; The acquisition of the robot's gait definition information and gait parameters includes: In response to the control parameters indicating that each foot of the robot is in a supported state, the robot's gait definition information and gait parameter information are acquired.
19. The apparatus according to claim 11, characterized in that, The device further includes an action termination module for: In response to the end of the robot's movement, control each foot of the robot to be in a supported state.
20. The apparatus according to claim 16, characterized in that, When the motion control module determines the desired trajectory of each foot of the robot based on the desired landing position and desired ground clearance of each foot under the current gait definition information, it is specifically used for: For each foot, in response to the foot being in a supported state, the expected ground trajectory of the foot in the current pose unit is determined based on the current position of the foot and the expected ground clearance of the current pose unit, wherein the current position of the foot is related to the expected landing position of the previous pose unit. In response to the foot being in a swinging state off the ground, the desired landing trajectory of the foot in the current pose unit is determined based on the desired height off the ground and the desired landing position of the foot in the current pose unit.
21. A robot, characterized in that, The robot includes: Memory is used to store processor-executable instructions; A processor is configured to execute executable instructions in the memory to implement the steps of the method according to any one of claims 1 to 10.
22. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Motion editing apparatus and method for robot device, and computer program
US20050125099A1
Methods and devices for bound and gallop gaits
US9395726B1