Motion control method and device, robot and storage medium
By determining the movement height and moment under the target gait in the robot and planning a natural motion trajectory, the problem of stiff walking of existing robots is solved, and a more natural and anthropomorphic walking movement is achieved.
Patent Information
- Application Number
- CN202311434634.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2025-05-02
AI Technical Summary
When existing robots walk, they have stiff movements, strong mechanical attributes, and low natural attributes of anthropomorphism.
By determining the movement height and moment of motion of the robot under the target gait, the movement trajectory of the robot is determined based on these parameters, and the robot is controlled to move with this trajectory.
It realizes that the robot's movements are more natural when walking, the mechanical attributes are reduced and the natural attributes are improved, making the robot's walking more anthropomorphic.
Smart Images

Figure CN119910634A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of robotics technology, and in particular to a motion control method, device, robot and storage medium. Background Art
[0002] At present, most robots walk with a constant trunk height and / or a constant foot height in consideration of the robot's stability. That is, the robot's trunk height and / or foot height is constant and always parallel to the ground. The robot walks by bending its knees, which causes the robot to appear stiff when walking, with strong mechanical properties and low anthropomorphic natural properties. Summary of the invention
[0003] In order to overcome the problems existing in the related art, the present disclosure provides a motion control method, device, robot and storage medium.
[0004] According to a first aspect of an embodiment of the present disclosure, there is provided a motion control method, comprising:
[0005] Determine the robot's movement height in the target gait;
[0006] Determining a movement moment corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait;
[0007] Determining the motion trajectory of the robot based on the corresponding relationship between the motion height and the motion time;
[0008] The robot is controlled to move along the motion trajectory.
[0009] Optionally, different target gaits correspond to different motion trajectories.
[0010] Optionally, the movement height includes a trunk height, and the movement trajectory includes a trunk movement trajectory; and determining the movement trajectory of the robot based on a corresponding relationship between the movement height and the movement moment includes:
[0011] Based on the corresponding relationship between the trunk height and the movement time, the movement trajectory of the robot's trunk is determined.
[0012] Optionally, the movement height includes an ascending trunk height or a descending trunk height; and determining the movement height of the robot in the target gait includes:
[0013] Obtaining a first displacement currently passed by the robot according to the walking speed of the robot, the duration of the single-leg walking posture of the robot, and the current duration of the current movement of the robot;
[0014] The ascending trunk height or the descending trunk height is obtained according to the first displacement and the trunk length of the robot.
[0015] Optionally, the movement height includes a minimum trunk height; and determining the movement height of the robot in the target gait includes:
[0016] Obtaining a second displacement currently passed by the robot according to the walking speed of the robot and the duration of the single-leg walking of the robot in performing the single-leg walking posture;
[0017] The minimum trunk height is obtained according to the trunk length of the robot by the second displacement.
[0018] Optionally, the motion posture includes a single-leg walking posture, and the motion height includes a trunk height; and determining the motion moment corresponding to the motion height according to the duration of different motion postures performed by the robot in the target gait includes:
[0019] The movement moment corresponding to the trunk height is determined according to the single-leg walking duration of the robot executing the single-leg walking posture; the single-leg walking posture is the walking posture of a single foot end of the robot from leaving the ground to landing.
[0020] Optionally, the movement height includes a foot end height, and the movement trajectory includes a foot end movement trajectory; and based on the corresponding relationship between the movement height and the movement time, determining the movement trajectory of the robot includes:
[0021] Based on the corresponding relationship between the foot end height and the movement time, the foot end movement trajectory of the robot is determined.
[0022] Optionally, the movement height includes a maximum foot end height; and determining the movement height of the robot in the target gait includes:
[0023] The maximum foot end height is obtained according to the foot end landing height, the foot end ground clearance height and the maximum foot end swing height of the robot.
[0024] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum toe height, and the target gait is a first forward gait; and determining a movement moment corresponding to the movement height according to a duration of different movement postures performed by the robot in the target gait includes:
[0025] The movement time corresponding to the highest toe height is obtained according to the toe-off moment of the robot in the first posture and the suspension time of the robot performing the foot-end suspension posture.
[0026] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum heel height, and the target gait is a first forward gait; and determining a movement moment corresponding to the movement height according to durations of different movement postures performed by the robot in the target gait includes:
[0027] The movement time corresponding to the highest heel height is obtained according to the landing time of the heel of the robot in the first posture and the suspension time of the robot performing the foot-end suspension posture.
[0028] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum toe height, the target gait is a second gait of a backward step or a stepping in place, and the method further includes:
[0029] The movement time corresponding to the highest toe height is obtained according to the toe lift-off time and toe landing time of the robot in the second gait.
[0030] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum heel height, the target gait is a second gait of a backward step or a stepping in place, and the method further includes:
[0031] The movement time corresponding to the highest heel height is obtained according to the heel-off time and the heel-landing time of the robot in the second gait.
[0032] Optionally, the foot end includes a toe and a heel, and a highest toe height of the toe is smaller than a highest heel height of the heel.
[0033] Optionally, the time period during which the foot end is suspended in the air is longer than the time period required for the heel to land on the ground.
[0034] Optionally, the time length during which the foot end is suspended in the air is greater than the time length required for lifting the toes.
[0035] According to a second aspect of an embodiment of the present disclosure, there is provided a motion control device, comprising:
[0036] a height determination module, configured to determine a movement height of the robot in a target gait;
[0037] a moment determination module, configured to determine a movement moment corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait;
[0038] A trajectory determination module is configured to determine the movement trajectory of the robot based on the corresponding relationship between the movement height and the movement time;
[0039] The control module is configured to control the robot to move along the motion trajectory.
[0040] According to a third aspect of an embodiment of the present disclosure, there is provided a robot, comprising:
[0041] processor;
[0042] a memory for storing processor-executable instructions;
[0043] Wherein, the processor is configured to:
[0044] Execute the steps of the motion control method provided in the first aspect of the embodiment of the present disclosure.
[0045] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored. When the program instructions are executed by a processor, the steps of the motion control method provided in the first aspect of the present disclosure are implemented.
[0046] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0047] Through the above technical scheme, the movement height of the robot under different target gaits and the movement moments corresponding to different movement heights can be pre-defined. Since the movement height under different target gaits is planned according to human walking habits, the movement height change curve under the target gait is similar to the movement height change curve when humans walk. The movement trajectory of the robot under different target gaits is different and similar to the movement trajectory of humans walking, but not fixed. Therefore, the robot is more anthropomorphic when walking, its mechanical properties are reduced, and its natural properties are improved.
[0048] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0050] Figure 1 The figure is a flow chart of a motion control method according to an exemplary embodiment.
[0051] Figure 2 is a schematic diagram of a robot according to an exemplary embodiment.
[0052] Figure 3 is a schematic diagram showing different torso heights of a robot according to an exemplary embodiment.
[0053] Figure 4 The figure is a schematic diagram of a walking trajectory when a foot moves forward according to an exemplary embodiment.
[0054] Figure 5 The diagram is a schematic diagram showing a method of controlling a robot according to a motion trajectory according to an exemplary embodiment.
[0055] Figure 6 The figure is a schematic diagram of a walking trajectory when a foot moves forward according to an exemplary embodiment.
[0056] Figure 7 The figure is a schematic diagram of a walking trajectory when a foot moves forward according to an exemplary embodiment.
[0057] Figure 8 It is a schematic diagram showing a method of calculating a projection length according to an exemplary embodiment.
[0058] Fig. 9 is a schematic diagram showing a method of calculating torso height according to an exemplary embodiment.
[0059] Fig.10 is a schematic diagram of a robot foot end according to an exemplary embodiment.
[0060] Fig.11 The figure is a schematic diagram of a walking trajectory of a foot-end backward step according to an exemplary embodiment.
[0061] Fig.12 The figure is a schematic diagram of a walking trajectory of foot stepping in place according to an exemplary embodiment.
[0062] Fig.13 It is a structural block diagram of a motion control device according to an exemplary embodiment.
[0063] Fig.14 It is a structural block diagram of a robot according to an exemplary embodiment. DETAILED DESCRIPTION
[0064] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0065] It should be noted that all actions of acquiring signals, information or data in the present disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the device is located and with the authorization given by the owner of the corresponding device.
[0066] Figure 1 is a flow chart of a motion control method according to an exemplary embodiment. Figure 1 As shown, the following steps are included.
[0067] In step S11 , the movement height of the robot in the target gait is determined.
[0068] When humans walk, their movement height will change as they walk. Therefore, the present invention can set the trajectory of the robot's movement height to be different depending on the target gait, so that when the robot walks, the robot's movement height will change like a human's movement height.
[0069] The movement height includes the torso height and foot end height of the robot.
[0070] The torso height of the robot refers to the height of the robot's torso when the robot is walking, with a target part of the robot as the reference point. The target part can be the robot's shoulder, elbow, hip, knee, ankle and other positions.
[0071] For example, see Figure 2 As shown in the figure, the upper limbs of the robot include 5 degrees of freedom, namely shoulder pitch, shoulder roll, shoulder yaw, elbow pitch, and hand; the lower limbs of the robot include 6 degrees of freedom, namely hip yaw, hip roll, hip pitch, knee pitch, ankle pitch, and ankle roll.
[0072] Among them, Figure 2 Taking the coordinate system shown as an example, shoulder pitch refers to the rotation of the shoulder around the X-axis; shoulder roll refers to the rotation of the shoulder around the Z-axis; shoulder yaw refers to the rotation of the shoulder around the Y-axis. Elbow pitch is the rotation of the elbow around the X-axis. Hip yaw is the rotation of the hip around the Y-axis; hip roll is the rotation of the hip around the Z-axis; hip pitch is the rotation of the hip around the Y-axis. Knee pitch is the rotation of the knee around the X-axis. Ankle pitch is the rotation of the ankle around the X-axis; ankle roll is the rotation of the ankle around the Z-axis.
[0073] Among these multiple degrees of freedom, if the knee is used as the reference point, the height of the knee will change when the robot walks, and the knee height can be used as the torso height of the robot; if the shoulder is used as the reference point, the height of the shoulder will change when the robot walks, and the shoulder height can also be used as the torso height of the robot.
[0074] After determining the trunk height of the robot at different times, the trunk height at different times can be formed as follows Figure 3 The trunk motion trajectory shown, Figure 3 The lines between the multiple black dots in the figure can be regarded as the trunk movement trajectory formed by the trunk height at different times. Figure 3 The trunk motion trajectory shown is only a schematic diagram and does not represent a limitation on the trunk motion trajectory. The trunk motion trajectory refers to the trajectory of the trunk height of a certain target part of the robot changing over time.
[0075] The foot height of the robot refers to the height of the robot's foot with the ground as the reference point when the robot is walking.
[0076] For example, see Figure 4 As shown, after determining the foot end height of the robot at different times, the foot end height at different times can be formed as follows Figure 4 The foot end motion trajectory shown refers to the changing trajectory of the foot end height of the robot's foot over time.
[0077] The target gait includes a first gait and a second gait. The first gait is a forward gait, such as a forward walking gait or a running gait, and the second gait is a backward step or a stepping gait. The motion trajectory of the robot under different target gaits is different, which can also be understood as the motion height change curve of the robot over time under different target gaits is different. For example, the motion height change curve under the first gait can be as follows: Figure 4 As shown, the movement height change curve in the backward step in the second gait can be as follows Fig.11 As shown, the movement height change curve of the marking-in-place gait in the second gait can be as follows: Fig.12 shown.
[0078] When planning the movement height change curve under the target gait, the planning can be performed according to human walking habits, so that the movement height change curve under the target gait can be more humanized.
[0079] For example, when humans walk normally, the swing amplitude of the toes is significantly lower than the swing amplitude of the heels. Therefore, when defining the first or second gait, you can also set the highest toe height that the toes can reach to be lower than the highest heel swing height that the heels can reach. The highest toe height of the right toe is significantly lower than the highest heel height of the left heel. Please refer to Figure 6 and Figure 7 As shown, assuming that the ground height is the same, the maximum swing height of the toes is also lower than the maximum swing height of the heels, which can make the first or second gait of the robot more human-like when walking forward.
[0080] In step S12, the movement moment corresponding to the movement height is determined according to the duration of different movement postures performed by the robot in the target gait.
[0081] The motion posture includes the foot posture that the robot is currently performing. Please refer to Fig.10 As shown in Table 1, each robot is assumed to have four contact points abcd, which are two toes and two heels. In the following, the two toes are simplified into a group of toes, and the two heels are simplified into a group of heels. The left toe is defined as "LT", the left heel is defined as "LH", the right toe is defined as "RT", and the right heel is defined as "RH". In addition, the toe or heel is defined as "1" when it is in contact with the ground, and the heel or toe is defined as "0" when it is not in contact with the ground, thus obtaining the following Table 1:
[0082]
[0083] Table 1
[0084] As shown in Table 1, the coding form corresponding to the motion posture of the robot with the left foot lifted and the right foot touching the ground can be preset as "0011", the coding form corresponding to the motion posture of the left heel touching the ground and the right foot touching the ground can be preset as "0111", the coding form corresponding to the motion posture of the left toe touching the ground and the right foot touching the ground can be preset as "1011", the coding form of the motion posture of the left foot touching the ground and the right foot lifted can be preset as "1100", the coding form corresponding to the motion posture of the left foot touching the ground and the right heel touching the ground can be preset as "1101", and the coding form of the left foot touching the ground and the right toe touching the ground can be preset as "1110". The above Table 1 defines the coding forms of different motion postures performed by the robot.
[0085] Based on Table 1, the robot's motion posture in the first forward step can be defined as follows in Table 2:
[0086] Serial number Sports posture name Duration Interpretation 1 LA_RN t1 Left foot touches the ground, right foot lifts up 2 LA_RH t2 Left foot touches the ground, right heel touches the ground 3 LT_RA t3 Left toe touches the ground, right foot touches the ground 4 LN_RA t1 Lift your left foot and touch the ground with your right foot 5 LH_RA t2 Left heel touches the ground, right foot touches the ground 6 LA_RT t3 Left foot touches the ground, right toe touches the ground
[0087] Table 2
[0088] In Table 2, the first posture of the robot can be defined as the order in which the left and right feet of the robot walk in a bipedal walking duration in the order of serial numbers 123456. Then the first posture of the robot in a bipedal walking duration is defined as the robot first executing LA_RN for t1, then executing LA_RH for t2, then executing LT_RA for t3, then executing LN_RA for t1, then executing LH_RA for t2, and finally executing LA_RT for t3. The bipedal walking duration refers to the time taken by the left and right feet of the robot to complete a step. Serial numbers 1 to 3 in the above Table 2 define the single-leg walking posture of the single foot (right foot) in the first posture; serial numbers 4 to 6 in Table 2 define the single-leg walking posture of the single foot (left foot) in the first posture.
[0089] Of course, the robot may also be defined to have the order of 456123 as the order in which the left foot and the right foot of the robot walk within a bipedal walking duration.
[0090] Based on Table 1, the robot's motion posture in the second gait of backward step and in-place step can be defined as follows in Table 3:
[0091] Serial number Sports posture name Duration Interpretation 1 LA_RN t1 Left foot touches the ground, right foot lifts up 2 LA_RT t2 Left foot touches the ground, right heel touches the ground 3 LT_RA t3 Left heel touches the ground, right foot touches the ground 4 LN_RA t1 Lift your left foot and touch the ground with your right foot 5 LT_RA t2 Left heel touches the ground, right foot touches the ground 6 LA_RT t3 Left foot touches the ground, right heel touches the ground
[0092] Table 3
[0093] In Table 3, the second gait of the robot can be defined as the order of the robot's left and right feet walking within a bipedal walking duration in the order of serial numbers 123456. Then the defined second gait is that the robot first executes LA_RN for t1, then executes LA_RT for t2, then executes LT_RA for t3, then executes LN_RA for t1, then executes LT_RA for t2, and finally executes LA_RT for t3. Serial numbers 1 to 3 in the above Table 3 define the single-leg walking posture of the single foot (right foot) in the second gait; serial numbers 4 to 6 in Table 3 define the single-leg walking posture of the single foot (left foot) in the second gait.
[0094] It can be understood that in the above Table 2 and Table 3, t1 is the lifting time required for lifting the foot, and the time required for lifting the foot can be the lifting time required for lifting the toes; t2 is the time the foot is suspended in the air, and the time the foot is suspended in the air can be the time the toes are suspended in the air or the time the heel is suspended in the air, and the time the toes are suspended in the air and the time the heel is suspended in the air are the same; t3 is the landing time required for the foot to land, and the time required for the foot to land can be the landing time required for the heel to land.
[0095] It can be seen from Table 2 and Table 3 above that different motion postures have different corresponding durations, so the current motion moments of different motion heights under the target gait can be calculated according to the durations corresponding to different motion postures. After obtaining different motion heights and the motion moments corresponding to different motion heights, the corresponding relationship between the motion height and the motion moment under the target gait can be obtained.
[0096] In addition, as shown in Table 2 and Table 3, when humans walk normally, the length of time t2 when the foot is suspended in the air is often longer than the length of time t3 when the heel lands on the ground or the length of time t1 when the toes are lifted up. Therefore, when designing the first or second gait, please refer to Figure 6 and Figure 7 As shown, the foot end suspension time t1 can also be set to be longer than the heel landing time t2 or the toe lifting time t3, so as to make the first gait or the second gait of the robot more human-like.
[0097] In step S13, the movement trajectory of the robot is determined based on the corresponding relationship between the movement height and the movement time.
[0098] After obtaining the corresponding relationship between the movement height and the movement time under the target gait, the movement trajectory corresponding to the target gait can be planned.
[0099] For example, taking the movement height as the foot end height as an example, after obtaining the corresponding relationship between different movement moments and different movement heights in the first forward step, the movement moment can be used as the horizontal coordinate and the foot end height as the vertical coordinate to plan the following: Figure 6 The motion trajectory of the robot's foot in the first forward step is shown.
[0100] For example, taking the movement height as the foot end as an example, after obtaining the corresponding relationship between different moments and different movement heights in the second gait of the backward step, the movement time can be used as the horizontal coordinate and the foot end height as the vertical coordinate to plan the following: Fig.11 The motion trajectory of the robot's foot in the second gait of the backward step is shown.
[0101] In step S14, the robot is controlled to move along the motion trajectory.
[0102] The motion trajectory is a defined desired motion trajectory, which can also be understood as the desired motion trajectory along which the robot is expected to move.
[0103] In getting Figure 5After the expected trajectory shown, that is, the expected motion trajectory, the expected motion trajectory is used as the input parameter of the NMPC (Nonlinear Model Predictive Control) model to predict the predicted trajectory of the robot within a preset time in the future; the predicted trajectory is then used as the input parameter of the WBC (Weight Box Clustering) model to obtain the state of the robot at different times, which is also the walking parameters of the robot at different times, such as acceleration, ground feedback force and joint torque. According to these walking parameters, the robot can move along the predicted trajectory output by the NMPC model.
[0104] Through the above technical scheme, the movement height of the robot under different target gaits and the movement moments corresponding to different movement heights can be pre-defined. Since the movement height under different target gaits is planned according to human walking habits, the movement height change curve under the target gait is similar to the movement height change curve when humans walk. The movement trajectory of the robot under different target gaits is different and similar to the movement trajectory of humans walking, but not fixed. Therefore, the robot is more anthropomorphic when walking, its mechanical properties are reduced, and its natural properties are improved.
[0105] The following describes a specific embodiment of the above steps S11 to S13. Since the movement height includes the trunk height, this embodiment is used to explain how to obtain a more anthropomorphic trunk movement trajectory.
[0106] In step S21, the movement height of the robot in the target gait is determined, and the movement height includes the ascending trunk height, the descending trunk height, the lowest trunk height and the highest trunk height.
[0107] (1) As for the rising trunk height of the robot, the first displacement currently passed by the robot can be obtained according to the walking speed of the robot, the single-leg walking time of the robot in performing the single-leg walking posture and the current time of the current movement of the robot; the rising trunk height can be obtained according to the first displacement and the trunk length of the robot.
[0108] See also Figure 6As shown, assuming that the moment ts2 when the heel of the robot's foot leaves the ground is used as the starting moment of the single-leg walking duration, and the moment te1 when the toe of the foot lands on the ground is used as the ending moment of the single-leg walking duration, the duration of the robot executing half of the single-leg walking posture can be calculated, that is, the half of the single-leg walking duration of the robot minus the current duration of the robot moving from the starting state of the single-leg walking posture to the current state, to obtain the first target duration required for the robot to reach the highest trunk height from the current state, and then the product of the first target duration and the walking speed is used as the first displacement; finally, according to the first displacement and the trunk length of the robot, the rising trunk height is obtained. The single-leg walking duration refers to the time taken by a single foot of the robot to complete a single-leg walking posture, and the single-leg walking posture refers to a step.
[0109] For example, the first displacement can be obtained by the following formula, where the first displacement includes the displacement of the robot in the x-direction and the displacement in the y-direction:
[0110] x=v x *((t1+t2+t3) / 2-t cur-start )
[0111] y=v y *((t1+t2+t3) / 2-t cur-start (1)
[0112] In formula (1), x is the displacement of the robot in the x direction; y is the displacement of the robot in the y direction; (t1+t2+t3) / 2 is the duration of half a single-leg walk; (t1+t2+t3) is the duration of the robot's single-leg walk, which can also be understood as the duration from the moment the heel of a single foot of the robot leaves the ground to the moment the toe touches the ground; v x is the walking speed of the robot in the x direction; v y is the walking speed of the robot in the y direction; t cur-start It is the current time it takes for the robot to move from the starting state to the current state.
[0113] Also, see Figure 6 and Figure 7 As shown in the figure, during the robot's single-leg walking time, the heel leaves the ground at the moment t s2 Toe lift-off time t s1 The duration between is t3 in the above Table 2 and Table 3, which can also be understood as the lifting time required for the toes to be lifted.
[0114] Toe-off time t s1 Heel touchdown time t e2The duration is t1 in Table 2 and Table 3 above. This duration can also be understood as the duration of the entire foot not touching the ground. The foot end suspension duration is the toe suspension duration or the heel suspension duration. Since the heel and toe are involved in the movement, Figure 6 The trajectory represented by the duration t1 is the duration of the toe hanging trajectory from the time the toe leaves the ground to the time the heel lands on the ground. Figure 7 The trajectory represented by the duration t1 is also the duration of the heel's suspended trajectory from the time the toes leave the ground to the time the heels land on the ground. The suspended toe trajectory and heel trajectory are carried out simultaneously, so the toe suspension duration and heel suspension duration are the same, which is t1.
[0115] Heel landing time t e2 Toe touches the ground e1 The time between is t2 in the above Table 2 and Table 3, which can be understood as the landing time required for the heel to land.
[0116] See also Figure 8 As shown, Figure 8 The line shown is the calf joint between the knee and the foot of the robot. Taking the calf joint as an example, the robot will rise and fall together with the calf joint during the time when the heel of the foot leaves the ground to the heel touches the ground, thereby generating a rising phase and a falling phase of the calf joint. The rising phase refers to the height of the robot's calf joint constantly rising and reaching a maximum torso height, and the falling phase refers to the height of the robot's calf joint constantly falling and reaching a minimum torso height.
[0117] Figure 8 It shows that the current state of the robot's calf joint in the rising stage includes two standing states: the first standing state and the second standing state. The second standing state is the state where the calf joint is at the highest trunk height. The robot will produce displacements in the x and y directions when walking. Assuming that the total time required for the robot's calf joint to rise and fall is 1S, then the rising time required for the calf joint to rise is (t1+t2+t3) / 2 is 0.5S. If the time t1+t2+t3 taken by the robot to move to the first standing state is 0.5S, the robot will move to the first standing state. cur-start is 0.4S, then the first target time taken by the robot to move from the first standing state to the second standing state is equal to is 0.1S. Figure 8 It can be seen that when the calf joint is currently in the first standing state, the projection length of the trunk length of the calf joint on the ground is equal to the speed of the robot in the first standing state multiplied by the time the robot passes from the first standing state to the second standing state, and the first displacement is the projection length of the trunk length of the calf joint on the ground, so the first displacement is equal to the speed of the robot in the first standing state multiplied by the time the robot passes from the first standing state to the second standing state, which is 0.1S.
[0118] Therefore, in the present disclosure, the current duration of 0.4S when the calf joint moves to the first standing state is subtracted from the rising duration of 0.5S to obtain the first target duration of 0.1S required for the robot to move from the first standing state to the second standing state; the first target duration is then multiplied by the speed of the calf joint in the first standing state to obtain the projection length of the trunk length of the calf joint in the first standing state on the ground, and the projection length of the trunk length of the calf joint on the ground is the first displacement currently passed by the robot, which includes the displacement in the x direction and the displacement in the y direction. Of course, Figure 8 Only how to calculate the displacement in the x direction is shown. The calculation principle of the displacement in the y direction is the same as that in the x direction, which will not be repeated here.
[0119] In the above formula (1), since the trunk of the robot is in the ascending stage, the current duration of the robot is less than half of the monopedal walking duration, so the first target duration is obtained by subtracting the current duration from half of the monopedal walking duration.
[0120] After obtaining the first displacement, the rising torso height can be calculated according to the following formula:
[0121]
[0122] In formula (2), H is the height of the rising trunk; H ground The ground height refers to the vertical distance between the ground and a reference point. command H is the trunk length, for example, the length of the calf joint, which is fixed; adjust_scale is the displacement correction coefficient; x and y are the first displacements.
[0123] See also Fig. 9 As shown, taking the robot's calf joint as an example, after obtaining the displacement of the calf joint in the x-direction and the y-direction, the displacement of the calf joint in the x-direction and the y-direction can be obtained as follows: Fig. 9 The black dotted line shown is the projection length of the torso length; then use the Pythagorean theorem to subtract the square of the projection length from the square of the torso length of the calf joint to obtain the target difference, and finally take the square root of the target difference to obtain the torso height of the calf joint in the first standing state, that is, the height of the calf joint in the Z direction.
[0124] Of course, since the projection of the trunk length on the ground is x 2 +y 2 is the projection length under ideal conditions, so it is necessary to use the displacement correction factor H adjust_scaleTo correct the projection length, so that the corrected projection length can be closer to the actual projection length of the torso length on the ground.
[0125] It is understandable that, in the process of obtaining the rising trunk height, although the calf joint of the robot is cited as an example, the above method is also applicable to the overall trunk height of the robot.
[0126] (2) As for the descending trunk height of the robot, the first displacement currently passed by the robot can be obtained according to the walking speed of the robot, the duration of the single-leg walking posture of the robot and the current duration of the current movement of the robot; the descending trunk height can be obtained according to the first displacement and the trunk length of the robot.
[0127] Assuming that the moment ts2 when the heel of the robot's foot leaves the ground is taken as the starting moment of the single-leg walking duration, and the moment te1 when the toe of the foot touches the ground is taken as the ending moment of the single-leg walking duration, the current time it takes for the robot to move from the starting state of the single-leg walking posture to the current state minus half of the single-leg walking time can be used to obtain the second target time; then the product of the second target time and the walking speed is taken as the first displacement; finally, the descending trunk height is obtained based on the first displacement and the robot's torso length.
[0128] For example, the first displacement can be obtained by the following formula, and the first displacement includes the displacement of the robot in the x direction and the displacement in the y direction:
[0129] x=v x *(t cur-start -(t1+t2+t3) / 2)
[0130] y=v y *(t cur-start -(t1+t2+t3) / 2) (3)
[0131] In formula (3), x is the displacement of the robot in the x direction; y is the displacement of the robot in the y direction; (t1+t2+t3) / 2 is the duration of half a single-leg walk; (t1+t2+t3) is the duration of the single-leg walk of the robot, which can also be understood as the duration from the moment the heel of a single foot of the robot leaves the ground to the moment the toe touches the ground; v x is the walking speed of the robot in the x direction; v y is the walking speed of the robot in the y direction; t cur-start It is the current time it takes for the robot to move from the starting state to the current state.
[0132] Since the robot has moved to the descending stage, the current time duration of the robot is greater than half of the single-leg walking time. Therefore, by subtracting half of the single-leg walking time from the current time duration, the second target time duration can be obtained. The second target time duration is the time required for the robot to move from the current state to the terminal state of the single-leg walking posture.
[0133] After obtaining the first displacement, the first displacement can be input into the above formula (2) to obtain the descending trunk height.
[0134] (3) With respect to the minimum trunk height of the robot, the second displacement currently passed by the robot can be obtained according to the walking speed of the robot and the duration of the single-leg walking posture of the robot; and the minimum trunk height can be obtained according to the trunk length of the robot according to the second displacement.
[0135] The product of the walking speed and half the monopedal walking time can be used as the second displacement; and the minimum trunk length can be obtained based on the second displacement and the trunk length of the robot.
[0136] For example, the second displacement can be obtained by the following formula, where the second displacement includes the displacement of the robot in the x direction and the displacement of the robot in the y direction:
[0137] x=v x *(t1+t2+t3) / 2
[0138] y=v y *(t1+t2+t3) / 2 (4)
[0139] In formula (4), x is the displacement of the robot in the x direction; y is the displacement of the robot in the y direction; (t1+t2+t3) / 2 is the duration of half a single-leg walk; (t1+t2+t3) is the duration of the single-leg walk of the robot; v x is the walking speed of the robot in the x direction; v y is the walking speed of the robot in the y direction.
[0140] After obtaining the second displacement, the second displacement can be substituted into the above formula (2) to obtain the minimum torso height.
[0141] (4) As for the maximum trunk height of the robot, the maximum trunk height can be obtained based on the ground height and the trunk length.
[0142] The maximum torso height can be obtained by the sum of the ground height and the torso length using the following formula:
[0143] H=H ground +H command (5)
[0144] In formula (5), H is the highest trunk height; H ground is the ground height; H command is the torso length.
[0145] In step S22, according to the single-leg walking duration of the robot executing the single-leg walking posture, the movement moment corresponding to the torso height is determined, and the movement moment includes the movement moment corresponding to the rising torso height, the movement moment corresponding to the descending torso height, the movement moment corresponding to the lowest torso height and the movement moment corresponding to the highest torso height.
[0146] For the movement time corresponding to the rising trunk height, since the rising trunk height is in the rising stage, the movement time corresponding to the rising trunk height should be within the time range from the movement time corresponding to the lowest trunk height to the movement time corresponding to the highest trunk height of the robot, mapped to the foot end of the robot, please refer to Figure 7 As shown, the movement time corresponding to the rising trunk height should be before the midpoint time of the single-leg walking duration.
[0147] For the movement time corresponding to the descending trunk height, since the descending trunk height is in the descending stage, the movement time corresponding to the descending trunk height should be within the time range from the movement time corresponding to the highest trunk height to the movement time corresponding to the lowest trunk height of the robot, and mapped to the foot end of the robot, please refer to Figure 7 As shown, the movement time corresponding to the lowering of the trunk height should be after the midpoint of the single-leg walking duration.
[0148] The movement moment corresponding to the lowest trunk height may be the midpoint of the single-leg walking duration.
[0149] The movement moment corresponding to the highest trunk height may also be the midpoint of the single-leg walking duration.
[0150] In step S23, based on the corresponding relationship between the trunk height and the movement time, the movement trajectory of the robot's trunk is determined.
[0151] After obtaining the trunk height of the robot at different movement moments in the target gait, that is, the ascending trunk height corresponding to the movement moment of the robot in the ascending phase, the descending trunk height corresponding to the movement moment in the descending phase, the highest torso height and the lowest torso height of the robot, a torso movement trajectory under the target gait can be planned based on the torso height at different movement moments.
[0152] In step S24, the trunk of the robot is controlled to move along the trunk motion trajectory in the target gait.
[0153] Through the above technical solution, the various trunk heights of the robot under the target gait can be planned first, and then the movement moments corresponding to the various trunk heights can be planned; finally, based on the trunk movement trajectory at the trunk heights at different movement moments, the robot is controlled to move along the trunk movement trajectory. In this process, since the trunk movement trajectory of the robot under the target gait changes in a curve, its trunk movement trajectory is similar to the trunk movement trajectory of human walking, so the natural properties of the robot's trunk movement when walking are stronger and the mechanical properties are lower.
[0154] The following introduces a specific embodiment involved in the above steps S11 to S13. Since the movement height includes the foot end height, this embodiment is used to explain how to obtain a more anthropomorphic foot end movement trajectory.
[0155] In step S31, the foot end height is obtained according to at least one of the foot end landing height, the foot end ground clearance height and the maximum foot end swing height of the robot.
[0156] For the first forward step and the second backward step or stationary step, the foot end height can be obtained according to at least one of the foot end landing height, the foot end height off the ground and the maximum foot end swing height. For example, the maximum value can be selected from the foot end landing height and the foot end height off the ground, and then the sum of the maximum value and the maximum foot end swing height is taken as the highest foot end height.
[0157] For the first forward gait and the second backward gait or stepping in place gait, the minimum foot height can be obtained according to the height of the foot touching the ground or the height of the foot off the ground. For example, in the rising stage of the foot, the height of the foot off the ground can be used as the minimum foot height; in the descending stage of the foot, the height of the foot touching the ground can be used as the minimum foot height.
[0158] The maximum foot end swing height includes the maximum toe swing height and the maximum heel swing height.
[0159] In step S32, the movement moment corresponding to the foot end height is determined.
[0160] For the first forward posture, the highest foot end height includes the highest toe height and the highest heel height in the first posture. The movement time corresponding to the highest toe height can be obtained according to the toe lift-off moment of the robot in the first posture and the suspension time of the robot performing the foot end suspension posture; the movement time corresponding to the highest heel height can be obtained according to the heel landing moment of the robot in the first posture and the suspension time of the robot performing the foot end suspension posture. The foot end suspension posture includes the toe suspension posture and the heel suspension posture in the first posture.
[0161] For the second gait of backward walking or marking time, the highest foot end height includes the highest toe height and the highest heel height in the second gait. The movement time corresponding to the highest toe height can be obtained according to the toe lift-off moment and toe landing moment of the robot in the second gait; the movement time corresponding to the highest heel height can be obtained according to the heel lift-off moment and heel landing moment of the robot in the second gait. The foot end hanging posture includes the toe hanging posture and the heel hanging posture in the second gait.
[0162] In step S33, the foot end movement trajectory of the robot is determined based on the corresponding relationship between the foot end height and the movement time.
[0163] In step S34, the foot end of the robot is controlled to move along the foot end motion trajectory.
[0164] When designing the foot end motion trajectory, since the foot end motion trajectories of the robot in the first forward step and the second gait when walking backward or stepping in place are different, the foot end heights of the two different motion trajectories in the first gait and the second gait will be used to explain the foot end motion trajectory of the robot's foot end height change.
[0165] (1) In the first forward step of the foot, since the robot's foot moves together with the toe and the heel in the first step, the foot movement trajectory will be explained in two forms: toe and heel.
[0166] In the first form, the foot end includes the toes, and the movement trajectory of the foot end includes the forward trajectory of the toes. The toe movement trajectory includes: selecting the maximum value from the toe landing height and the toe lifting height, and then taking the sum of the maximum value and the maximum toe swing height as the highest toe height; and then obtaining the movement time corresponding to the highest toe height based on the toe lifting time of the robot in the first step and the suspension time of the robot performing the foot end suspension posture.
[0167] The toe includes curve parameters of the ascending stage and curve parameters of the descending stage.
[0168] Please refer to Table 4 below, which shows the curve parameters of the rising phase of the toe when moving forward.
[0169]
[0170] Table 4
[0171] See Table 4 and Figure 6 As shown in Table 4, t s1 H is the moment when the toes leave the ground when the toes move forward, and the toes-off moment is the moment when the toes leave the ground; lift_offv is the height of the toes off the ground when the toes are forward, and the toes-off-the-ground height is the height of the toes off the ground; v lift_off is the speed of the toes off the ground when the toes are moving forward, and the toes-off speed is the speed when the toes leave the ground; t s1 +S F * t1 is the movement moment corresponding to the highest toe height when the toes move forward, which can also be understood as the moment when the toes swing forward to the highest toe height; H max =max(H lift_off , H touch_down )+H F_toe It is the highest toe height when the toes move forward; speed 0 refers to the speed at the highest toe height when the toes move forward.
[0172] Please refer to Table 5 below, which shows the curve parameters of the toe in the descending phase of the forward movement.
[0173]
[0174] Table 5
[0175] See Table 5 and Figure 6 As shown, t s1 +S F *t1 is the movement time corresponding to the highest toe height when the mid-toe moves forward; H max =max(H lift_off , H touch_down )+H F_toe is the highest toe height when the toes are moving forward; speed 0 refers to the speed at the highest toe height when the toes are moving forward; t e1 The toe landing moment is the moment when the toes touch the ground when the toes are moving forward. The toe landing moment is the moment when the toes touch the ground when the toes are moving forward; H touch_down v is the height of the toes when the toes are moving forward, and the toes landing height is the height of the toes when the toes are moving forward; v touch_down It is the toe landing speed when the toes are moving forward, and the toe landing speed is the speed when the toes land.
[0176] In the above Table 4 and Table 5, for the highest toe height, the maximum value of the toe height off the ground and the toe landing height is first determined; then the sum of the maximum value and the maximum swing height of the toe is taken as the highest toe height, and the calculation formula is as follows:
[0177] H max =max(H lift_off , H touch_down )+H F_toe (6)
[0178] In formula (6), H max It is the highest toe height when the toes are forward; Hlift_off H is the height of the toes from the ground when the toes are forward; touch_down H is the height of the toes landing when moving forward; F_toe It is the maximum swing height of the toes when the toes move forward.
[0179] In the above Tables 4 and 5, for the exercise time corresponding to the highest toe height, the first correction coefficient is used to correct the toe suspension time to obtain the corrected toe suspension time, and then the exercise time corresponding to the highest toe height is obtained based on the corrected toe suspension time and the moment when the toes leave the ground.
[0180] See also Figure 6 A curve diagram showing a single foot of the robot performing a single-leg walking posture is shown in the curve diagram. When the robot walks, the heel leaves the ground first, and then the toes leave the ground. After the toes leave the ground, the entire foot is in a suspended state, and then the heel lands first, and then the toes land.
[0181] See also Figure 6 As shown, the present disclosure uses the first correction coefficient to correct the toe suspension time to obtain the corrected toe suspension time, and then obtains the movement time corresponding to the highest toe height according to the corrected toe suspension time and the toe off-ground moment, which is expressed by the following formula:
[0182] T1=t s1 +S F *t1 (7)
[0183] In formula (7), T1 is the movement moment corresponding to the highest toe height; t s1 It is the moment when the toes leave the ground when the toes move forward; S F is the first correction coefficient, which is greater than 0 and less than 1; t1 is the length of time the foot is suspended in the air, that is, the length of time the toes are suspended in the air when the toes move forward.
[0184] It can be seen from formula (7) that the product of the first correction coefficient and the toe suspension time is taken as the corrected toe suspension time; and the sum of the corrected toe suspension time and the toe off-ground moment is taken as the movement moment corresponding to the highest toe height. The reasons for this design are as follows:
[0185] If the first correction coefficient is not used to correct the toe suspension time, but the toe off the ground time t s1 When the sum of the toe suspension time t1 is taken as the movement moment corresponding to the highest toe height, Figure 6It can be seen that the actual movement time corresponding to the highest toe height is earlier than the movement time corresponding to the calculated highest toe height. If the movement time calculated at this time is matched with the highest toe height, it is obviously inaccurate. Therefore, the first correction coefficient can be used to correct the toe suspension time. On the basis of the toe off-the-ground moment, a corrected toe suspension time that is smaller than the toe suspension time is added, so that the movement time corresponding to the highest toe height obtained after correction can be earlier than the movement time corresponding to the highest toe height obtained without adding the first correction coefficient, so that the correspondence between the movement time and the highest toe height can be accurate.
[0186] After obtaining the toe height from the ground, the highest toe height, and the toe landing height when the toe lands, the walking state of the toes at the three key positions can be obtained. Figure 6 and Figure 7 Toe forward path shown.
[0187] In the second form, the foot end includes the heel, and the foot end movement trajectory includes the heel forward trajectory. The foot end movement trajectory includes: selecting the maximum value from the heel landing height and the heel off the ground height, and then taking the sum of the maximum value and the maximum swing height of the heel as the highest heel height; and then obtaining the movement time corresponding to the highest heel height based on the heel off the ground moment of the robot in the first step and the suspension time of the robot performing the foot end suspension posture.
[0188] The heel includes curve parameters of the ascending stage and curve parameters of the descending stage.
[0189] Please refer to Table 6 below, which shows the curve parameters of the heel during the ascending phase of the forward movement.
[0190]
[0191] Table 6
[0192] See Table 6 and Figure 6 As shown in Table 6, t s2 H is the moment when the heel leaves the ground when the heel moves forward, and the heel-off moment is the moment when the heel leaves the ground; lift_off v is the height of the heel off the ground when the heel moves forward, and the height of the heel off the ground is the height of the heel off the ground; v lift_off is the heel-off speed when the heel moves forward, and the heel-off speed is the speed when the heel leaves the ground; t e2 -S F *t1 is the movement moment corresponding to the highest heel height when the heel moves forward, which can also be understood as the moment when the heel swings to the highest heel height; H max =max(Hlift_off , H touch_down )+H F_ h eel It is the highest heel height when the heel moves forward; speed 0 refers to the speed at the highest heel height when the heel moves forward.
[0193] Please refer to Table 7 below, which shows the curve parameters of the heel during the descending phase of the forward movement.
[0194]
[0195] Table 7
[0196] See Form 7 and Figure 6 As shown in Table 7, t e2 -S F *t1 is the movement moment corresponding to the highest heel height when the heel moves forward; H max =max(H lift_off , H touch_down )+H F_ h eel is the highest heel height when the heel moves forward; speed 0 refers to the speed when the foot moves forward at the highest heel height; t e2 H is the moment when the heel touches the ground when the heel moves forward, and the heel landing time is the moment when the heel touches the ground; touch_down v is the height of the heel when the heel moves forward, and the heel landing height is the height of the heel when it touches the ground; touch_down It is the heel landing speed when the heel moves forward, and the heel landing speed is the speed when the heel touches the ground.
[0197] In the above Table 6 and Table 7, for the highest heel height, the maximum value between the height of the heel off the ground and the height of the heel landing is first determined; then the sum of the maximum value and the maximum swing height of the heel is taken as the highest heel height, and the calculation formula is as follows:
[0198] H max =max(H lift_off , H touch_down )+H F_heel (8)
[0199] In formula (8), H max It is the highest heel height when the heel moves forward; H lift_off H is the height of the heel from the ground when the heel moves forward; touch_down H is the height of the heel when the heel moves forward; F_ h eel It is the maximum swing height of the heel when the heel moves forward.
[0200] In the above Table 6 and Table 7, for the exercise time corresponding to the highest heel height, the heel suspension time is corrected by using the second correction coefficient to obtain the corrected heel suspension time; then, according to the corrected heel suspension time and the heel landing time, the exercise time corresponding to the highest heel height is obtained, which is expressed by the following formula:
[0201] T2=t e2 -S F *t1 (9)
[0202] In formula (9), T2 is the movement moment corresponding to the highest heel height; t e2 is the moment when the heel touches the ground when the heel moves forward; S F is the second correction coefficient, which is greater than 0 and less than 1; t1 is the length of time the foot is suspended in the air when the heel moves forward, that is, the length of time the heel is suspended in the air when the heel moves forward.
[0203] From formula (9), it can be seen that the product of the second correction coefficient and the heel suspension time is taken as the corrected heel suspension time; and the difference between the heel landing time and the corrected heel suspension time is taken as the movement time corresponding to the highest heel height. The reasons for this design are as follows:
[0204] If the second correction coefficient is not used to correct the heel suspension time, but the heel landing time t e2 Subtract the difference between the heel suspension time t1 and the time corresponding to the highest heel height, and then Figure 7 It can be seen that the actual movement time corresponding to the highest heel height is later than the calculated movement time. If the movement time calculated at this time is matched with the highest heel height, it is obviously inaccurate. Therefore, the second correction coefficient can be used to correct the heel suspension time. A corrected heel suspension time that is smaller than the heel suspension time is subtracted from the heel landing time, so that the movement time obtained after correction can be later than the movement time obtained without adding the second correction coefficient, and the correspondence between the highest heel height and the movement time is accurate.
[0205] After obtaining the heel-off height corresponding to the moment when the heel leaves the ground, the highest heel height of the heel, and the heel landing height corresponding to the moment when the heel lands, the walking state of the heel at the three key positions can be obtained, and the following diagrams can be drawn: Figure 6 and 7 Heel forward path shown.
[0206] (2) In the second gait of backward step or in-place stepping at the foot end, since the foot end of the robot moves by the toe and the heel in the second gait, the foot end motion trajectory of the foot end will be described in two forms, toe and heel. And the backward step trajectory includes the in-place stepping trajectory or backward step trajectory of the robot foot end, and the two trajectories are the same, so the backward step trajectory will be used to uniformly describe the states of the two identical trajectories.
[0207] In the first form, the foot end includes the toes, and the movement trajectory of the foot end includes the toes backward step trajectory, and the toes backward step trajectory includes: including: filtering out the maximum value from the toes landing height and the toes off the ground height, and then taking the sum of the maximum value and the maximum toes swing height as the highest toe height; and then obtaining the movement time corresponding to the highest toe height according to the toes off the ground moment of the robot in the second gait and the suspension time of the robot performing the foot end suspension posture.
[0208] The toe includes curve parameters of the ascending stage and curve parameters of the descending stage.
[0209] Please refer to Table 8 below, which shows the curve parameters of the toe in the ascending phase of the backward step.
[0210]
[0211] Table 8
[0212] See Form 8 and Fig.11 As shown in Table 8, t s3 It is the moment when the toes leave the ground when walking backward on tiptoe; H lift_off v is the height of the toes from the ground when walking backwards on tiptoe; lift_off is the speed at which the toes leave the ground when walking backward on tiptoe; t s3 +(t e3 -t s3 ) / 2 is the movement time corresponding to the highest toe height when walking backward on tiptoe, and is also the time corresponding to the swing to the highest toe height when walking backward on tiptoe; H max =max(H lift_off , H touch_down )+H B_toe It is the highest toe height when walking backwards on tiptoe; speed 0 refers to the speed when the toe moves to the highest toe height when walking backwards on tiptoe.
[0213] Please refer to Table 9 below, which shows the curve parameters of the toe during the descending phase of the backward step.
[0214]
[0215] Form 9
[0216] See Form 9 and Fig.11 As shown in Table 9, t s3 +(t e3 -t s3 ) / 2 is the movement time corresponding to the highest toe height; H max =max(H lift_off , H touch_down )+H B_toe is the highest toe height when walking backward on tiptoe; speed 0 refers to the speed when the toe moves to the highest toe height when walking backward on tiptoe; t e3 It is the moment when the toes touch the ground when walking backward on tiptoe; H touch_down v is the height of the toes landing when stepping backwards on tiptoe; touch_down It is the speed at which the toes touch the ground when walking backwards on tiptoe.
[0217] In the above Tables 8 and 9, for the highest toe height of the toes, the maximum value of the toe height off the ground and the toe landing height is first determined, and then the sum of the maximum value and the maximum swing height of the toes of the toes is taken as the highest toe height of the toes. The calculation formula is as follows:
[0218] H max =max(H lift_off , H touch_down )+H B_toe (10)
[0219] In formula (10), H max It is the highest toe height when stepping backward on tiptoe; H lift_off H is the height from the ground when stepping backwards on tiptoe; touch_down H is the height of the toes landing when stepping backward on tiptoe; B_toe It is the maximum swing height of the toes when stepping backwards on tiptoe.
[0220] In the above Tables 8 and 9, for the movement time corresponding to the highest toe height, half of the difference between the toe lift-off time and the toe landing time during the backward step, that is, the toe suspension time is taken as the third target time, and then the third target time is added to the toe lift-off time to obtain the movement time corresponding to the highest toe height. The calculation formula is as follows:
[0221] T3=t s3 +(t e3 -t s3 ) / 2 (11)
[0222] In formula (11), T3 is the movement moment corresponding to the highest toe height; t s3 It is the moment when the toes leave the ground when walking backward on tiptoe; e3 It is the moment when the toes touch the ground when walking backwards on tiptoe.
[0223] Table 8 and Table 9 above show the curve parameters of the toes when walking backwards. In fact, the curve parameters of the toes when walking in place and the toes height change when walking backwards are the same, but the movement trajectories of the two are different after planning. Please refer to Fig.11 The trajectory of the backward step is shown in Fig.12 The movement trajectories of the illustrated marking time are different.
[0224] After obtaining the height of the toes off the ground when the toes leave the ground, the highest toes height, and the toes landing height when the toes land, the walking state of the toes backward step at the three key positions can be obtained, and the following diagrams can be drawn: Fig.11 or Fig.12 The backward step trajectory of the toes is shown.
[0225] In the second form, the foot end includes the heel, and the foot end movement trajectory includes the heel backward step trajectory, and the heel backward step trajectory includes: including: selecting the maximum value from the heel landing height and the heel off the ground height, and then taking the sum of the maximum value and the maximum swing height of the heel as the highest heel height; and then obtaining the movement time corresponding to the highest heel height according to the heel off the ground moment of the robot in the second gait and the suspension time of the robot performing the foot end suspension posture.
[0226] The heel includes curve parameters of the ascending stage and curve parameters of the descending stage.
[0227] Please refer to Table 10 below, which shows the curve parameters of the heel rising phase during the backward step.
[0228]
[0229] Table 10
[0230] See Table 10 and Fig.11 As shown in Table 10, t s4 It is the moment when the heel leaves the ground when walking backwards; lift_off v is the height of the heel off the ground when walking backwards; lift_off is the heel-off speed during the backward step; t s4 +(t e4 -t s4 ) / 2 is the movement moment corresponding to the highest heel height, and also the moment corresponding to when the heel swings to the highest heel height; H max =max(H lift_off , H touch_down )+H B_ h eel is the highest heel height; speed 0 refers to the speed when the heel moves to the highest heel height.
[0231] Please refer to Table 11 below, which shows the curve parameters of the heel descending phase during the backward step.
[0232]
[0233] Table 11
[0234] See Table 11 and Fig.11 As shown in Table 11, t s4 +(t e4 -t s4 ) / 2 is the movement moment corresponding to the highest heel height; H max =max(H lift_off , H touch_down )+H B_ h eel is the highest heel height; speed 0 refers to the speed when the heel moves to the highest heel height; t e4 It is the moment when the heel touches the ground when stepping backward; touch_down is the height of the heel landing when stepping backward; v lift_off It is the speed at which the heel strikes the ground when stepping backwards.
[0235] In the above Tables 10 and 11, for the highest heel height, the maximum value between the height of the heel off the ground and the height of the heel landing is first determined; then the sum of the maximum value and the maximum swing height of the heel is taken as the highest heel height, and the calculation formula is as follows:
[0236] H max =max(H lift_off , H touch_down )+H B_ h eel (12)
[0237] In formula (12), H max It is the highest heel height when stepping backwards with the heel; H lift_off H is the height of the heel off the ground when stepping backwards; touch_down H is the height of the heel landing when stepping backwards; F_ h eel is the maximum heel swing height of the heel.
[0238] In the above Tables 10 and 11, for the movement time corresponding to the highest heel height, half of the difference between the heel-off time and the heel-landing time during the backward step, that is, the heel-in-the-air time, is taken as the fourth target time, and then the fourth target time is added to the heel-off time to obtain the movement time corresponding to the highest heel height. The calculation formula is as follows:
[0239] T4=t s4 +(te4 -t s4 ) / 2 (13)
[0240] In formula (13), T4 is the movement moment corresponding to the highest heel height; t s4 is the moment when the heel leaves the ground during a backward step; e3 It is the moment when the heel touches the ground when taking a heel-to-heel step backward.
[0241] Tables 10 and 11 above show the curve parameters of the heel when walking backwards. In fact, the curve parameters of the heel when walking in place are the same as those of the heel when walking backwards, but the movement trajectories of the two are different after planning. Fig.11 The trajectory of the backward step is shown in Fig.12 The movement trajectories of the illustrated marking time are different.
[0242] After obtaining the height of the heel off the ground, the highest heel height, and the heel landing height at the time of the heel landing, the walking state of the heel backward step at the three key positions can be obtained, and the following diagrams can be drawn: Fig.11 or Fig.12 The backward step trajectory of the heel is shown.
[0243] Later in the process of designing the foot's forward trajectory, you can also set the highest heel height of the toes to be lower than the highest heel height of the heels. Fig.11 or Fig.12 As shown, the highest heel height of the toes is significantly lower than the highest heel height of the heels, which makes the robot's backward walking gait more humanoid.
[0244] Fig.13 A motion control device 1300 is shown according to an exemplary embodiment. The motion control device 1300 includes: a height determination module 1310 , a time determination module 1320 , a trajectory determination module 1330 and a control module 1340 .
[0245] A height determination module 1310 is configured to determine the movement height of the robot in a target gait;
[0246] The time determination module 1320 is configured to determine the movement time corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait;
[0247] A trajectory determination module 1330 is configured to determine the movement trajectory of the robot based on the corresponding relationship between the movement height and the movement time;
[0248] The control module 1340 is configured to control the robot to move along the motion trajectory.
[0249] Optionally, different target gaits correspond to different motion trajectories.
[0250] Optionally, the movement height includes a torso height, and the movement trajectory includes a torso movement trajectory; the trajectory determination module 1330 includes:
[0251] The first trajectory determination submodule is configured to determine the trunk motion trajectory of the robot based on the corresponding relationship between the trunk height and the motion moment.
[0252] Optionally, the movement height includes an ascending trunk height or a descending trunk height; the height determination module 1310 includes:
[0253] A first displacement determination submodule is configured to obtain a first displacement currently passed by the robot according to a walking speed of the robot, a single-leg walking duration of the robot performing a single-leg walking posture, and a current duration of the current movement of the robot;
[0254] The lifting trunk height determination submodule is configured to obtain the lifting trunk height or the lowering trunk height according to the first displacement and the trunk length of the robot.
[0255] Optionally, the movement height includes a minimum torso height; the height determination module 1310 includes:
[0256] A second displacement determination submodule is configured to obtain a second displacement currently passed by the robot according to a walking speed of the robot and a single-leg walking duration of the robot performing a single-leg walking posture;
[0257] The minimum trunk height determination submodule is configured to obtain the minimum trunk height according to the trunk length of the robot by the second displacement.
[0258] Optionally, the movement posture includes a single-leg walking posture, and the movement height includes a torso height;
[0259] Optionally, the time determination module 1320 includes:
[0260] The first movement moment determination submodule is configured to determine the movement moment corresponding to the trunk height according to the single-leg walking duration of the robot performing the single-leg walking posture; the single-leg walking posture is the walking posture of a single foot end of the robot from leaving the ground to landing.
[0261] Optionally, the movement height includes a foot end height, and the movement trajectory includes a foot end movement trajectory; the trajectory determination module 1330 includes:
[0262] The foot end motion trajectory determination submodule is configured to determine the foot end motion trajectory of the robot based on the corresponding relationship between the foot end height and the motion moment.
[0263] Optionally, the movement height includes the highest foot end height; the height determination module 1310 includes:
[0264] The maximum foot-end height determination submodule is configured to obtain the maximum foot-end height according to the foot-end landing height, the foot-end ground clearance height and the maximum foot-end swinging height of the robot.
[0265] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum toe height, and the target gait is a first forward gait; the time determination module 1320 includes:
[0266] The second movement time determination submodule is configured to obtain the movement time corresponding to the highest toe height according to the toe-off time of the robot in the first posture and the suspension time of the robot performing the foot-end suspension posture.
[0267] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum heel height, and the target gait is a first forward gait; the time determination module 1320 includes:
[0268] The third movement time determination submodule is configured to obtain the movement time corresponding to the highest heel height according to the heel landing time of the robot in the first posture and the suspension time of the robot performing the foot-end suspension posture.
[0269] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum toe height, the target gait is a second gait of backward walking or marking time, and the movement control device 1300 further includes:
[0270] The second gait maximum toe height moment module is configured to obtain the movement moment corresponding to the maximum toe height according to the toe lift-off moment and toe landing moment of the robot in the second gait.
[0271] Optionally, the movement height includes a maximum foot end height, the maximum foot end height includes a maximum heel height, the target gait is a second gait of backward walking or marking time, and the movement control device 1300 further includes:
[0272] The second gait highest heel height moment module is configured to obtain the movement moment corresponding to the highest heel height according to the heel-off moment and the heel-landing moment of the robot in the second gait.
[0273] Optionally, the foot end includes a toe and a heel, and a highest toe height of the toe is smaller than a highest heel height of the heel.
[0274] Optionally, the time period during which the foot end is suspended in the air is longer than the time period required for the heel to land on the ground.
[0275] Optionally, the time length during which the foot end is suspended in the air is greater than the time length required for lifting the toes.
[0276] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0277] The present disclosure also provides a computer-readable storage medium having computer program instructions stored thereon, and the program instructions, when executed by a processor, implement the steps of the motion control method provided by the present disclosure.
[0278] Fig.14 1 is a block diagram of a motion control apparatus 1400 according to an exemplary embodiment. For example, the apparatus 1400 may be an intelligent device such as a robot or a robot dog.
[0279] Reference Fig.14 , the device 1400 may include one or more of the following components: a processing component 1402 , a memory 1404 , a power component 1406 , a multimedia component 1408 , an audio component 1410 , an input / output interface 1412 , a sensor component 1414 , and a communication component 1416 .
[0280] The processing component 1402 generally controls the overall operation of the device 1400, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 1402 may include one or more processors 1420 to execute instructions to complete all or part of the steps of the motion control method described above. In addition, the processing component 1402 may include one or more modules to facilitate interaction between the processing component 1402 and other components. For example, the processing component 1402 may include a multimedia module to facilitate interaction between the multimedia component 1408 and the processing component 1402.
[0281] The memory 1404 is configured to store various types of data to support operations on the device 1400. Examples of such data include instructions for any application or method operating on the device 1400, contact data, phone book data, messages, pictures, videos, etc. The memory 1404 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 memory, flash memory, magnetic disk or optical disk.
[0282] The power supply component 1406 provides power to the various components of the device 1400. The power supply component 1406 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device 1400.
[0283] The multimedia component 1408 includes a screen that provides an output interface between the device 1400 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 touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1408 includes a front camera and / or a rear camera. When the device 1400 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0284] The audio component 1410 is configured to output and / or input audio signals. For example, the audio component 1410 includes a microphone (MIC), and when the device 1400 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 1404 or sent via the communication component 1416. In some embodiments, the audio component 1410 also includes a speaker for outputting audio signals.
[0285] The input / output interface 1412 provides an interface between the processing component 1402 and the peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0286] The sensor assembly 1414 includes one or more sensors for providing various aspects of the status assessment of the device 1400. For example, the sensor assembly 1414 can detect the open / closed state of the device 1400, the relative positioning of components, such as the display and keypad of the device 1400, the sensor assembly 1414 can also detect the position change of the device 1400 or a component of the device 1400, the presence or absence of user contact with the device 1400, the orientation or acceleration / deceleration of the device 1400, and the temperature change of the device 1400. The sensor assembly 1414 can include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 1414 can also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1414 can also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0287] The communication component 1416 is configured to facilitate wired or wireless communication between the device 1400 and other devices. The device 1400 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 1416 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 1416 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0288] In an exemplary embodiment, the device 1400 can 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 above-mentioned motion control method.
[0289] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 1404 including instructions, and the instructions can be executed by a processor 1420 of the device 1400 to perform the above motion control method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0290] In another exemplary embodiment, a computer program product is also provided. The computer program product includes a computer program executable by a programmable device, and the computer program has a code portion for executing the above-mentioned motion control method when executed by the programmable device.
[0291] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the present disclosure. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0292] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A motion control method, characterized in that: include: Determine the robot's movement height in the target gait; Determining a movement moment corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait; Determining the motion trajectory of the robot based on the corresponding relationship between the motion height and the motion time; The robot is controlled to move along the motion trajectory.
2. The method according to claim 1, characterized in that The motion trajectories corresponding to different target gaits are different.
3. The method according to claim 1, characterized in that: The movement height includes a trunk height, and the movement trajectory includes a trunk movement trajectory; based on the corresponding relationship between the movement height and the movement time, determining the movement trajectory of the robot includes: Based on the corresponding relationship between the trunk height and the movement time, the movement trajectory of the robot's trunk is determined.
4. The method according to claim 1, characterized in that The movement height includes an ascending trunk height or a descending trunk height; and determining the movement height of the robot in a target gait includes: Obtaining a first displacement currently passed by the robot according to the walking speed of the robot, the duration of the single-leg walking posture of the robot, and the current duration of the current movement of the robot; The ascending trunk height or the descending trunk height is obtained according to the first displacement and the trunk length of the robot.
5. The method according to claim 1, characterized in that The movement height includes the lowest trunk height; and determining the movement height of the robot in the target gait includes: Obtaining a second displacement currently passed by the robot according to the walking speed of the robot and the duration of the single-leg walking of the robot in performing the single-leg walking posture; The minimum trunk height is obtained according to the trunk length of the robot by the second displacement.
6. The method according to claim 1, characterized in that The motion posture includes a single-leg walking posture, and the motion height includes a trunk height; and determining the motion moment corresponding to the motion height according to the duration of different motion postures performed by the robot in the target gait includes: The movement moment corresponding to the trunk height is determined according to the single-leg walking duration of the robot executing the single-leg walking posture; the single-leg walking posture is the walking posture of a single foot end of the robot from leaving the ground to landing.
7. The method according to claim 1, characterized in that The movement height includes the foot end height, and the movement trajectory includes the foot end movement trajectory; based on the corresponding relationship between the movement height and the movement time, determining the movement trajectory of the robot includes: Based on the corresponding relationship between the foot end height and the movement time, the foot end movement trajectory of the robot is determined.
8. The method according to claim 1, characterized in that: The movement height includes the highest foot end height; the step of determining the movement height of the robot in the target gait includes: The maximum foot end height is obtained according to the foot end landing height, the foot end ground clearance height and the maximum foot end swing height of the robot.
9. The method according to claim 1, characterized in that: The movement height includes the highest foot end height, the highest foot end height includes the highest toe height, and the target gait is the first step forward; Determining a movement moment corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait includes: The movement time corresponding to the highest toe height is obtained according to the toe-off moment of the robot in the first posture and the suspension time of the robot performing the foot-end suspension posture.
10. The method according to claim 1, characterized in that The movement height includes the highest foot end height, the highest foot end height includes the highest heel height, and the target gait is the first step forward; Determining a movement moment corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait includes: The movement time corresponding to the highest heel height is obtained according to the landing time of the heel of the robot in the first posture and the suspension time of the robot performing the foot-end suspension posture.
11. The method according to claim 1, characterized in that: The movement height includes a maximum foot end height, the maximum foot end height includes a maximum toe height, the target gait is a second gait of backward walking or marking time, and the method further includes: The movement time corresponding to the highest toe height is obtained according to the toe lift-off time and toe landing time of the robot in the second gait.
12. The method according to claim 1, characterized in that The movement height includes a maximum foot end height, the maximum foot end height includes a maximum heel height, the target gait is a second gait of backward walking or marking time, and the method further includes: The movement time corresponding to the highest heel height is obtained according to the heel-off time and the heel-landing time of the robot in the second gait.
13. The method according to any one of claims 8 to 12, characterized in that: The foot end includes a toe and a heel, and the highest toe height of the toe is smaller than the highest heel height of the heel.
14. The method according to any one of claims 8 to 12, characterized in that: The foot end is suspended in the air for a longer period of time than the heel landing time.
15. The method according to any one of claims 8 to 12, characterized in that: The time length of the foot end being suspended in the air is longer than the time length required for the toes to be lifted up.
16. A motion control device, characterized in that: include: a height determination module, configured to determine a movement height of the robot in a target gait; a moment determination module, configured to determine a movement moment corresponding to the movement height according to the duration of different movement postures performed by the robot in the target gait; A trajectory determination module is configured to determine the movement trajectory of the robot based on the corresponding relationship between the movement height and the movement time; The control module is configured to control the robot to move along the motion trajectory.
17. A robot, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to: Execute the steps of the method according to any one of claims 1 to 15.
18. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, the steps of the method described in any one of claims 1 to 15 are implemented.