Robot control method, apparatus, storage medium, and electronic device

The robot control method addresses the instability issue in bipedal walking robots by determining foot support states, ZMP trajectories, and joint angle trajectories, ensuring stable and accurate control based on the actual robot model.

JP2025521057AInactive Publication Date: 2025-07-08ZHEJIANG LAB
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024500408
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-05-08
Filing Date
2023-10-17
Publication Date
2025-07-08
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Current gait planning methods for bipedal walking robots rely on simplified mathematical models that do not accurately represent the actual robot model, leading to instability and difficulty in controlling these robots stably.

Method used

A robot control method that determines foot support states, zero moment point (ZMP) trajectories, foot and center of gravity movements, and joint angle trajectories to ensure stable and accurate control by considering the actual robot model.

Benefits of technology

The method ensures accurate and stable control of bipedal walking robots by adapting ZMP trajectories to the actual robot model, maintaining balance and stability through precise motion planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025521057000001_ABST
    Figure 2025521057000001_ABST
Patent Text Reader

Abstract

The present invention discloses a robot control method, apparatus, storage medium, and electronic device. The robot control method includes steps of determining a foot support period at each time stage when a bipedal robot moves by feet; determining a movement trajectory between each foot of a zero moment point (ZMP) corresponding to the bipedal robot based on the foot support period at each time stage; for each foot of the bipedal robot, determining first position and orientation information corresponding to the foot in a first time stage, and determining a movement trajectory corresponding to the foot based on the first position and orientation information, where the first time stage includes a plurality of time stages in which the foot is in a supported state; determining a movement trajectory of the center of gravity of the bipedal robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to each foot; determining a joint angle trajectory corresponding to each target joint of the bipedal robot based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each foot, determining motion planning data for controlling the bipedal robot based on the joint angle trajectory, and controlling the bipedal robot to move by each foot based on the motion planning data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robots, and in particular, to a robot control method, apparatus, storage medium, and electronic device.

Background Art

[0002] With the rapid development of mobile robot technology, various robots are widely used in many fields such as industry, service, and military. Compared with conventional crawler-type robots, bipedal walking robots can better adapt to complex terrains. For example, bipedal walking robots can overcome obstacles and perform discontinuous path movements, etc., and have broad application prospects.

[0003] Generally, the structure of a bipedal walking robot is complex, and in the process of movement, it is necessary to realize the balance and stability of the body according to a preset movement trajectory. The gait planning of a bipedal walking robot is an important basis for controlling the stable movement of the bipedal walking robot.

[0004] However, currently, a simplified mathematical model is generally adopted to perform gait planning for bipedal walking robots, and the simplified mathematical model is significantly different from the actual robot model. For example, since the inverted pendulum model expresses whether the robot movement is stable by analyzing the orbital energy, it is difficult to accurately and stably control a bipedal walking robot.

[0005] Therefore, how to stably control a bipedal walking robot has become an urgent issue.

Summary of the Invention

[0006] The present invention provides a robot control method, apparatus, storage medium, and electronic device for solving the above problems of the prior art.

[0007] The technical solutions used in the present invention are as follows.

[0008] The present invention provides a robot control method, and the robot control method includes: Determining a foot support state at each time stage when a bipedal robot moves by feet, where the foot support state includes a single-foot support state and a double-foot support state; Determining a movement trajectory between feet of a zero moment point (ZMP) corresponding to the bipedal robot based on the foot support state at each time stage; For each foot of the bipedal robot, Determining first position and orientation information corresponding to the foot in a first time stage; Determining a movement trajectory corresponding to the foot based on the first position and orientation information, where the first time stage includes a plurality of time stages when the foot is in a support state; Determining a movement trajectory of the center of gravity of the bipedal robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to the respective feet; Determining a joint angle trajectory corresponding to each target joint of the bipedal robot based on the movement trajectory of the center of gravity and the movement trajectories corresponding to the respective feet, determining motion planning data for controlling the bipedal robot based on the joint angle trajectory, and controlling the bipedal robot to move by each foot based on the motion planning data.

[0009] Optionally, the step of determining a movement trajectory between feet of a zero moment point (ZMP) corresponding to the bipedal robot based on the foot support state at each time stage includes: For each time stage, when the bipedal robot is in a single-foot support state at the time stage, determining that the ZMP is located at the landing point corresponding to the foot in the current support state; When the bipedal robot is in a double-foot support state at the time stage, determining that the ZMP is located between the landing point corresponding to the previous foot and the landing point corresponding to the next foot.

[0010] Optionally, each of the time stages includes at least one of a start step stage, an intermediate step stage, and an end step stage, and the intermediate step stage includes at least one walking cycle of the biped walking robot.

[0011] Optionally, the start step stage includes at least one of a stationary state sub-stage, a pre-walking body sway sub-stage, a center of gravity holding sub-stage, and a ZMP movement sub-stage.

[0012] Optionally, the step of determining the movement trajectory between each foot of the zero moment point (ZMP) corresponding to the biped walking robot based on the foot support state at each time stage includes: determining a series of foot support states during the movement of the biped walking robot based on the foot support state at each time stage; and determining the movement trajectory of the ZMP based on the series of foot support states.

[0013] Optionally, the step of determining the movement trajectory corresponding to the foot based on the first position and orientation information includes: determining, as second position and orientation information, the position and orientation information corresponding to the foot at each moment in a second time stage based on the first position and orientation information, where the second time stage includes a plurality of time stages in which the foot is in a swinging state; and determining the movement trajectory corresponding to the foot based on the first position and orientation information and the second position and orientation information.

[0014] Optionally, the step of determining the movement trajectory corresponding to the foot based on the first position and orientation information and the second position and orientation information includes: determining the movement trajectory corresponding to the foot based on the first position and orientation information, the second position and orientation information, and at least one of a predetermined speed, acceleration, rising height, and control point when the foot rises and lands.

[0015] Optionally, for each leg of the biped walking robot, before determining the first position and orientation information corresponding to the leg in the first time stage, further includes a step of determining the leg corresponding to the initial landing point of the biped walking robot.

[0016] Optionally, based on the movement trajectory of the ZMP and the movement trajectories corresponding to the respective legs, the step of determining the movement trajectory of the center of gravity of the biped walking robot includes: determining the position corresponding to the center of gravity at each time based on the movement trajectory of the ZMP; and determining the posture angle corresponding to each leg at each time based on the movement trajectories corresponding to the respective legs, and determining the posture angle corresponding to the center of gravity at each time based on the posture angle corresponding to each leg at each time; and determining the movement trajectory of the center of gravity based on the posture angle corresponding to the center of gravity at each time and the position corresponding to the center of gravity at each time.

[0017] Optionally, based on the movement trajectory of the center of gravity and the movement trajectories corresponding to the respective legs, the step of determining the joint angle trajectory corresponding to each target joint of the biped walking robot includes: determining the movement trajectory corresponding to the floating base on the biped walking robot based on the movement trajectories corresponding to the respective legs; and determining the joint angle trajectory corresponding to each target joint of the biped walking robot based on the movement trajectory corresponding to the floating base, the movement trajectories corresponding to the respective legs, and the movement trajectory of the center of gravity.

[0018] Optionally, the floating base includes the pelvis of the biped walking robot.

[0019] The present invention provides a robot control device, and the robot control device is: A first determination module for determining a foot support state at each time stage when a bipedal walking robot moves by feet, wherein the foot support state includes a single-foot support state and a double-foot support state, the first determination module; A second determination module for determining a movement trajectory between feet of a zero moment point (ZMP) corresponding to the bipedal walking robot based on the foot support state at each time stage; For each foot of the bipedal walking robot, Determine the first position and orientation information corresponding to the foot at the first time stage, A third determination module for determining a movement trajectory corresponding to the foot based on the first position and orientation information, wherein the first time stage includes a plurality of time stages in which the foot is in a supported state, the third determination module; A fourth determination module for determining a movement trajectory of the center of gravity of the bipedal walking robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to each foot; Based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each foot, determine a joint angle trajectory corresponding to each target joint of the bipedal walking robot, and based on the joint angle trajectory, determine motion planning data for controlling the bipedal walking robot, and based on the motion planning data, a control module for controlling the bipedal robot to move by each foot.

[0020] The present invention provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the above robot control method is implemented.

[0021] The present invention provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the above robot control method is implemented.

[0022] At least one of the above technical solutions used in the present invention can achieve the following beneficial effects.

[0023] In the robot control method provided by the present invention, the foot support state at each time stage when the biped robot moves by its feet is determined. Based on the foot support state at each time stage, the movement trajectory between each foot of the zero moment point (ZMP) corresponding to the biped robot is determined. For each foot in the support state at each time stage, the position and orientation information corresponding to each foot is determined. Based on the movement trajectory of the ZMP, for each foot of the biped robot, the first position and orientation information corresponding to the foot in the first time stage is determined. The first time stage includes a plurality of time stages when the foot is in the support state. Based on the first position and orientation information, the movement trajectory corresponding to the foot is determined. Based on the movement trajectory of the ZMP and the movement trajectories corresponding to each foot, the movement trajectory of the center of gravity of the biped robot is determined. Based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each foot, the joint angle trajectory corresponding to each target joint of the biped robot is determined. Based on the joint angle trajectory, the motion planning data for controlling the biped robot is determined, and based on the motion planning data, the two-legged robot is controlled to move by each foot.

[0024] As can be seen from the above method, in this technical solution, the movement trajectory of the center of gravity is generated based on the movement trajectory of the ZMP. Since the movement trajectory of the ZMP needs to be determined by the foot support state of the moving robot, the movement trajectory of the ZMP can be well adapted to the actual robot model. Also, since the ZMP is a stable operating point that can maintain the balance of the robot, under this premise, the movement trajectory of the center of gravity determined based on this operating point and the subsequent determined joint angle trajectory can also maintain the stability of the moving robot. The motion planning data generated based on the movement trajectory of the center of gravity and the movement trajectory of the foot can further ensure the accurate and stable control of the biped robot.

Brief Description of the Drawings

[0025] The accompanying drawings described herein are used to deepen the understanding of the present invention, constitute a part of the present invention, and the exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an undue limitation of the present invention.

[0026]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Embodiments for Carrying Out the Invention

[0027] In order to make the object, technical solution and advantages of the present invention clearer, hereinafter, in combination with specific embodiments of the present invention and the corresponding accompanying drawings, the technical solution of the present invention will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments that can be obtained by those skilled in the art without creative labor belong to the protection scope of the present invention.

[0028] Hereinafter, in combination with the accompanying drawings, the technical solutions provided in each embodiment of the present invention will be described in detail.

[0029] The structure of the bipedal walking robot system is complex, the research directions are diverse, and it involves various research fields such as structure, drive, hardware design, balance, stability, planning, and navigation. Therefore, the research and development of it require the input and cooperation of many researchers. Considering different physical simulation environments, the arrangement and migration of prototype systems, and the addition of multiple control algorithms, it is necessary to propose a gait planning system and implementation method for a bipedal walking robot with a clear and modular structure.

[0030] Based on this, the present invention provides a robot control method. As shown in FIG. 1, the method includes the following steps.

[0031] In S101, determine the foot support state at each time stage when the bipedal walking robot moves by its feet, and the foot support state includes a single-foot support state and a double-foot support state.

[0032] In S102, based on the foot support state at each time stage, determine the movement trajectory between each foot of the zero moment point (ZMP) corresponding to the bipedal walking robot.

[0033] In the present invention, the execution entity for executing the robot control method may be a predetermined device such as a server of the bipedal walking robot, or a control terminal of the bipedal walking robot. In the present invention, for the sake of convenience of explanation, only the control terminal is used as the execution entity to explain the robot control method provided in the present invention.

[0034] Here, the bipedal walking robot includes a total of two feet, namely the first foot and the second foot corresponding to the left foot and the right foot of the bipedal walking robot respectively. The control terminal may determine the foot support state at each time stage when the bipedal walking robot moves by its feet.

[0035] In the present invention, the above foot support state may include a single-foot support state and a double-foot support state, and the single-foot support state includes a first foot support state and a second foot support state.

[0036] The control terminal may determine the stride, walking cycle, landing point, and posture angle of each leg of the moving bipedal robot according to the desired gait input by the user.

[0037] Double support state When a bipedal robot walks like a human, it is necessary to consider the double support phase (DSP) and single support phase (SSP) during walking. In the SSP phase, the zero moment point (ZMP) is always within the supporting leg, but in the DSP phase, the ZMP moves from the previous supporting leg to the next supporting leg, and at this time, the ZMP is located between the landing point corresponding to the previous supporting leg and the landing point corresponding to the next supporting leg. Therefore, the planning of the ZMP trajectory needs to correspond to the time series of different leg support states, and the control terminal may determine the series of leg support states during the movement of the bipedal robot based on the leg support state at each time stage. For ease of understanding, the present invention provides a schematic diagram showing the leg support state during the movement of a bipedal robot as shown in FIG. 2.

[0038] FIG. 2 is a schematic diagram showing the leg support state during the movement of the bipedal robot provided by the present invention.

[0039] Here, the overall process T of the motion planning of the bipedal robot sup_series includes three time stages: a start step (T sup0 ), an intermediate step (T sup1 ~T sup(n-2) ), and an end step (T sup_end ).

[0040] The start step T sup0 includes four sub-stages: a stationary state sub-stage t1, a torso swing sub-stage t2 before walking, a center of gravity holding sub-stage t3, and a ZMP movement sub-stage t4. The ZMP movement sub-stage is in the DSP state, and in this sub-stage, the ZMP moves from the landing point of the first supporting leg to the landing point of the second supporting leg.

[0041] The intermediate step is a periodic stage during walking, starting from the SSP state. The time of the SSP state is a multiple (1 - k) of the walking cycle of the current step, and then it becomes the DSP state. The time of the DSP state is equal to half of the sum of the current walking cycle and the next walking cycle. T sup1 Taking T sup1 as an example, the time of the DSP state after the end of the SSP state of T sup1 is 0.5k * T sup2 + 0.5k * T

[0042] The end step T sup_end also includes four sub - stages. From the end time of the SSP of the second - last step, after going through the DSP time of t1, the last swing before standing still is completed, holding for t2 time, and then returning to the stationary state after going through the DSP of t3.

[0043] In the present invention, the user may input the walking cycle of each step in advance, or the control terminal may automatically generate the time of each stage and the duration corresponding to each sub - stage based on the walking time of each step.

[0044] Of course, the walking cycle of each of the above steps may also be automatically generated by the control terminal.

[0045] Furthermore, the control terminal may determine the series of foot support states during the movement of the bipedal robot based on the foot support state at each time stage. Then, the control terminal may generate a continuous ZMP trajectory by the ZMP generator based on the support state series, the position of each landing point during the movement of the bipedal robot, and the posture angle of each foot.

[0046] Thereby, when the bipedal robot is in the SSP state, the control terminal can position the ZMP on the current supporting foot, and when the bipedal robot is in the DSP state, the control terminal can move the ZMP from the previous supporting foot to the next supporting foot.

[0047] In S103, for each leg of the bipedal walking robot, determine the first position and orientation information corresponding to the leg in the first time stage, and based on the first position and orientation information, determine the motion trajectory corresponding to the leg.

[0048] The control terminal may determine, by means of a landing point trajectory generator, for each leg of the bipedal walking robot, a plurality of time stages in which the leg is in a supporting state as the first time stage, and a plurality of time stages in which the leg is in a swinging state as the second time stage. Further, the position and orientation information corresponding to the leg in the first time stage may be determined. Based on the position and orientation information, the motion trajectory corresponding to the leg is determined. Thereby, the motion trajectory corresponding to each leg can be obtained.

[0049] Here, the landing point trajectory generator needs to pre-determine whether the leg corresponding to the initial landing point of the bipedal walking robot, that is, whether the first leg or the second leg is the leg that the bipedal walking robot first lifted. When the leg corresponding to the initial landing point is the first leg, Table 1 shows the correspondence between the position and orientation of each leg and the above-mentioned supporting state series.

Table 1

[0050] When the leg corresponding to the initial landing point of the bipedal walking robot is the second leg, Table 2 shows the correspondence between the position and orientation of each leg and the above-mentioned supporting state series.

Table 2

[0051] In Tables 1 and 2, the positions and postures of the first leg and the second leg are aligned in the support state series. Let the number of input landing points be an even number n, and the number of the first landing point be p(0). Thus, the number of the last landing point is p(n - 1). Let the rotation angle series of the input landing points be r, the rotation angle corresponding to p(0) be r(0), and the rotation angle corresponding to p(n - 1) be r(n - 1). 255 indicates that the leg is in a swinging state at this time step, and at this time, the other leg must be in a support state.

[0052] Note that in order to realize the desired motion, it is necessary to correct and update the position of the landing point using the coordinate system transformation matrix during direction change. The above-mentioned position and rotation angle of the landing point may be set in advance by the user, or of course, may be automatically generated by the control terminal.

[0053] According to the walking rules of humans, since the first leg and the second leg support alternately and swing in the air alternately, a continuous motion trajectory of the swinging leg in the three-dimensional space may be generated using a swinging leg trajectory generator.

[0054] In this process, for each leg of the bipedal robot, the control terminal estimates the position and posture information corresponding to the leg at each time in the second time step based on the position and posture information corresponding to the leg in the first time step, and further determines the motion trajectory corresponding to the leg based on the position and posture information corresponding to the leg in the first time step and the position and posture information corresponding to the leg at each time in the second time step.

[0055] Taking Table 1 or Table 2 as an example, when the position of the leg is 255, it indicates that the leg is in a swinging state at this time step. Therefore, the control terminal needs to motion-plan the motion trajectory from the leg-lifting position to the landing position and generate the position trajectory when the leg is in a swinging state.

[0056] In the present invention, the control terminal may determine the position trajectory of the swinging foot by using an interpolation method that satisfies the motion requirement, such as a piecewise curve, a polynomial curve, a Bézier curve, or a spline curve.

[0057] Similarly, when the posture of the foot is 255, the posture trajectory of the foot may be determined by using an interpolation method such as a piecewise curve or a polynomial curve.

[0058] Furthermore, the above position trajectory and posture trajectory are combined to determine the motion trajectory corresponding to each foot.

[0059] When determining the motion trajectory of the biped robot, in addition to the position and posture information of each foot described above, at least one of the predetermined speed, acceleration, rising height, and convex hull generated by the control points when each foot rises and lands may be considered to determine the motion trajectory corresponding to each foot.

[0060] Note that the convex hull generated by the above-mentioned predetermined speed, acceleration, rising height, and control points may be a motion constraint for the biped robot set by the user in advance. For ease of understanding, the present invention provides a schematic diagram showing the motion trajectory of each foot of the biped robot as shown in FIG. 3.

[0061] FIG. 3 is a schematic diagram showing the motion trajectory of each foot of the biped robot provided by the present invention.

[0062] Here, the left foot of the biped robot may be the first foot, and the right foot may be the second foot. The trajectory corresponding to the solid line in the figure is the motion trajectory corresponding to the first foot, and the trajectory corresponding to the dashed line is the motion trajectory corresponding to the second foot.

[0063] In S104, based on the movement trajectory of the ZMP and the movement trajectories corresponding to each foot, the movement trajectory of the center of gravity (center of mass) of the biped robot is determined.

[0064] The gait planning system of the biped walking robot mainly generates the motion trajectories of important positions (such as the center of gravity, left and right feet), and solves the joint angle trajectories by the inverse kinematics calculation module. Therefore, the control terminal may determine the position corresponding to the center of gravity at each moment based on the movement trajectory of the ZMP by the center of gravity trajectory generator, and determine the posture angle corresponding to each foot at the moment based on the movement trajectory corresponding to each foot for each moment.

[0065] Then, based on the posture angle corresponding to each foot at the moment, determine the posture angle corresponding to the center of gravity at the moment, and further determine the motion trajectory of the center of gravity based on the posture angle corresponding to the center of gravity at each moment and the position corresponding to the center of gravity at each moment.

[0066] Regarding the spatial position of the biped walking robot at each moment, when the robot walks on flat ground, the height of the center of gravity in the vertical direction is constant. When the robot goes up and down stairs, the movement of the center of gravity in the vertical direction needs to be planned based on the up and down stair task. Also, when there is a direction change in the robot, the posture of the center of gravity needs to rotate together with the direction change of the landing point to maintain the balance of the torso. Here, the posture angle of the center of gravity = 1 / 2 (the posture angle of the first foot + the posture angle of the second foot). For ease of understanding, the present invention provides a schematic diagram showing the motion trajectory of the center of gravity of the biped walking robot as shown in FIG. 4.

[0067] FIG. 4 is a schematic diagram showing the motion trajectory of the center of gravity of the biped walking robot provided by the present invention.

[0068] Here, the upper part of FIG. 4 shows the movement trajectory of the ZMP of the biped walking robot in the horizontal direction (x-axis direction) (the trajectory corresponding to the solid line in the figure) and the movement trajectory of the center of gravity (the trajectory corresponding to the dashed line in the figure), and the lower part of FIG. 4 shows the movement trajectory of the ZMP of the biped walking robot in the vertical direction (y-axis direction) (the trajectory corresponding to the solid line in the figure) and the movement trajectory of the center of gravity (the trajectory corresponding to the dashed line in the figure).

[0069] In S105, based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each leg, determine the joint angle trajectories corresponding to each target joint of the bipedal robot, and based on the joint angle trajectories, determine movement plan data for controlling the bipedal robot, and based on the movement plan data, control the bipedal robot to move by each leg.

[0070] After determining the movement trajectory of the center of gravity and the movement trajectory of each leg, the control terminal may input the movement trajectory of the center of gravity and the movement trajectory of each leg into the inverse kinematics calculation module, and the inverse kinematics calculation module outputs the joint angle trajectories of each leg of the bipedal robot.

[0071] Specifically, the control terminal may select one fixed point of the bipedal robot as the floating base. In the present invention, the floating base may be the pelvis of the bipedal robot, and then, based on the positional relationship between the pelvis and the center of gravity, the movement of the center of gravity may be converted into the movement at the floating base position.

[0072] Normally, the ankle of the bipedal robot is at a certain distance from the ground. In the movement plan of each leg, the trajectory of the middle position of the sole is designed, and based on the relative relationship between the ankle and the middle position of the sole, the movement of the left and right legs is converted into the movement of the left and right ankles. Finally, based on the movement trajectory corresponding to the floating base, the movement trajectories corresponding to each leg, the movement trajectory of the center of gravity, and the configuration of the robot, the joint angle trajectories of each target joint for realizing the desired walking gait are obtained by the leg inverse kinematics calculation algorithm. Then, the control terminal determines the overall movement plan data of the bipedal robot based on the joint angle trajectories, and further transmits the movement plan data to the bipedal robot to control the movement of the bipedal robot. For ease of understanding, the present invention provides a schematic diagram showing the inverse kinematics calculation process of the joint angle trajectory as shown in FIG. 5.

[0073] FIG. 5 is a schematic diagram showing the inverse kinematics calculation process of the joint angle trajectory provided by the present invention.

[0074] Here, the control terminal inputs the ZMP trajectory generated by the ZMP generator into the center-of-gravity trajectory generator to determine the movement trajectory of the center of gravity, determines the movement trajectories of each leg by the swing leg trajectory generator, and further inputs the movement trajectory of the center of gravity and the movement trajectories of each leg into the inverse kinematics calculation module to estimate the pelvis (floating base) trajectory and the ankle joint trajectory. Furthermore, the joint angle trajectories of each target joint of the bipedal robot may be determined by inverse kinematics calculation.

[0075] Here, the control terminal may transmit the motion plan data to the bipedal robot by wired connection. Of course, it may also be transmitted by wireless connection such as Wi-Fi, Bluetooth (registered trademark), etc. The present invention is not particularly limited. For ease of understanding, the present invention provides a schematic diagram showing the overall control process of the bipedal robot as shown in FIG. 6.

[0076] FIG. 6 is a schematic diagram showing the overall control process of the bipedal robot provided by the present invention.

[0077] Here, the user may input the desired walking pattern of the bipedal robot (for example, the length of the walking cycle, the length of each time stage, the position of the foot landing point, and the posture angle of each leg, etc.). Thereafter, the control terminal generates a ZMP trajectory by the ZMP generator, determines the movement trajectory of the center of gravity by the center-of-gravity trajectory generator, and based on the support state series at each time stage, generates the movement trajectories of the left and right feet (the first foot and the second foot) by the left and right foot landing point generators and the swing leg trajectory generator of the robot, determines the joint angle trajectory based on the trajectory of the center of gravity and the movement trajectories of the left and right feet by the inverse kinematics calculation module, and further generates motion plan data based on the joint angle trajectory to control the movement of the bipedal robot.

[0078] As can be seen from the above method, in this technical solution, the movement trajectory of the center of gravity is generated based on the movement trajectory of the ZMP. Since the ZMP is a stable acting point that can maintain the balance of the robot, under this premise, the movement trajectory of the center of gravity determined based on this acting point and the joint angle trajectory determined later can also maintain the stability of the moving robot. The motion planning data generated based on the movement trajectory of the center of gravity and the movement trajectory of the feet can further ensure the accurate and stable control of the biped walking robot.

[0079] The above is one or more robot control methods of the present invention. Based on the same concept, the present invention provides a corresponding robot control device as shown in FIG. 7.

[0080] FIG. 7 is a schematic diagram showing a robot control device provided by the present invention. The robot control device includes a first determination module 701 for determining the foot support state at each time stage when the biped walking robot moves by its feet, where the foot support state includes a single-foot support state and a double-foot support state, the first determination module 701, a second determination module 702 for determining the movement trajectory between the feet of the zero moment point (ZMP) corresponding to the biped walking robot based on the foot support state at each time stage, for each foot of the biped walking robot, determining the first position and orientation information corresponding to the foot in the first time stage, where the first time stage includes a plurality of time stages when the foot is in a support state, a third determination module 703 for determining the movement trajectory corresponding to the foot based on the first position and orientation information, where the first time stage includes a plurality of time stages when the foot is in a support state, the third determination module 703, a fourth determination module 704 for determining the movement trajectory of the center of gravity of the biped walking robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to each foot, Based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each leg, determine the joint angle trajectories corresponding to each target joint of the bipedal walking robot, and based on the joint angle trajectories, determine motion planning data for controlling the bipedal walking robot, and based on the motion planning data, include a control module 705 for controlling the bipedal robot to move by each leg.

[0081] Optionally, the second determination module 702 specifically For each time stage, when the bipedal walking robot is in a single-leg support state at that time stage, it is determined that the ZMP is located at the landing point corresponding to the leg in the current support state. When the bipedal walking robot is in a double-leg support state at that time stage, it is used to determine that the ZMP is located between the landing point corresponding to the previous leg and the landing point corresponding to the next leg.

[0082] Optionally, each time stage includes at least one of a start step stage, an intermediate step stage, and an end step stage, and the intermediate step stage includes at least one walking cycle of the bipedal walking robot.

[0083] Optionally, the start step stage includes at least one of a stationary state sub-stage, a torso swing before walking sub-stage, a center of gravity holding sub-stage, and a ZMP movement sub-stage.

[0084] Optionally, the second determination module 702 specifically Based on the leg support state at each time stage, determine the leg support state sequence during the movement of the bipedal walking robot. It is used to determine the movement trajectory of the ZMP based on the leg support state sequence.

[0085] Optionally, the third determination module 703 specifically Based on the first position and orientation information, determine the position and orientation information corresponding to the foot at each moment in the second time stage as the second position and orientation information. The second time stage includes a plurality of time stages in which the foot is in a swinging state. It is used to determine the movement trajectory corresponding to the foot based on the first position and orientation information and the second position and orientation information.

[0086] Optionally, the third determination module 703 specifically It is used to determine the movement trajectory corresponding to the foot based on the first position and orientation information, the second position and orientation information, and at least one of a predetermined speed, acceleration, rising height, and control point when the foot rises and lands.

[0087] Optionally, for each foot of the bipedal robot, before determining the first position and orientation information corresponding to the foot in the first time stage, the third determination module 703 further It is used to determine the foot corresponding to the initial landing point of the bipedal robot.

[0088] Optionally, the fourth determination module 704 specifically Based on the movement trajectory of the ZMP, determine the position corresponding to the center of gravity at each moment. Based on the movement trajectory corresponding to each foot, determine the posture angle corresponding to each foot at each moment. Based on the posture angle corresponding to each foot at each moment, determine the posture angle corresponding to the center of gravity at each moment. It is used to determine the movement trajectory of the center of gravity based on the posture angle corresponding to the center of gravity at each moment and the position corresponding to the center of gravity at each moment.

[0089] Optionally, the control module 705 specifically Based on the movement trajectory corresponding to each foot, determine the movement trajectory corresponding to the floating base on the bipedal robot. It is used to determine the joint angle trajectory corresponding to each target joint of the bipedal robot based on the motion trajectory corresponding to the floating base, the motion trajectory corresponding to each leg, and the motion trajectory of the center of gravity.

[0090] Optionally, the floating base includes the pelvis of the bipedal robot.

[0091] The present invention further provides a computer-readable storage medium that stores a computer program, and the computer program is used to execute the above robot control method.

[0092] The present invention further provides a schematic diagram showing an electronic device corresponding to FIG. 1 as shown in FIG. 8. As shown in FIG. 8, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, an internal memory, and a non-volatile memory. Of course, it may also include other hardware required for other operations. The processor reads the corresponding computer program from the non-volatile memory into the internal memory and executes it to implement the robot control method shown in FIG. 1 above. Of course, in addition to the software implementation, the present invention does not exclude other implementation methods such as logical devices or combinations of hardware and software. That is, the execution entity of the following processing process is not limited to each logical unit, and may be hardware or a logical device.

[0093] The improvement of a certain technology can be clearly distinguished into hardware improvement (such as the improvement of circuit structures like diodes, transistors, switches, etc.) and software improvement (such as the improvement of method flows). However, with the development of technology, many current improvements of method flows can now be regarded as direct improvements to hardware circuit structures. Designers mostly obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be categorically stated that the improvement of a method flow cannot be realized by a hardware physical module. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit, and its logical function is determined by programming by the user of the device. Instead of chip manufacturers designing and manufacturing dedicated integrated circuit chips, designers program to "integrate" a digital system onto a single PLD.And currently, instead of making integrated circuit chips by hand, this programming is mostly realized using software called a "logic compiler", which is similar to the software compilers used when writing programs. To compile the previous original code, it is necessary to write in a specific programming language, which is called a Hardware Description Language (HDL). There is not just one type of HDL. There are many types, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. Currently, the most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It will be obvious to those skilled in the art that a hardware circuit that realizes a logical method flow can be easily obtained just by logically programming the method flow in some of the above hardware description languages and programming it into an integrated circuit.

[0094] The controller may be implemented in any suitable manner. For example, the controller may be a microprocessor or a processor, and a computer-readable storage medium storing computer-readable program code (such as software or firmware) executable by the (micro)processor. It may also adopt the form of logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of the controller include, but are not limited to, microcontrollers such as ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller may further be implemented as part of the control logic of the memory. In addition to implementing the controller with pure computer-readable program code, it will be apparent to those skilled in the art that by logically programming method steps, the same functions can also be completely executed by the controller in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller may be regarded as a hardware component, and the devices included therein for realizing various functions may also be regarded as the structure within the hardware component. Or, further, the devices for realizing various functions may be regarded as software modules for realizing the method, or may be regarded as the structure within the hardware component.

[0095] The system, apparatus, module, or unit described in the above embodiments may specifically be implemented by a computer chip, an entity, or a product having some functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a mobile phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet, a wearable device, or any combination of several of these devices.

[0096] For the sake of convenience of description, when the above apparatus is described, it is divided into various units according to functions and described respectively. Of course, when implementing the present invention, it is also possible to implement the functions of each unit with the same or a plurality of software and / or hardware.

[0097] As will be understood by those skilled in the art, the embodiments of the present invention may be provided as a method, a system, or a computer program product. Therefore, the present invention may be in the form of an embodiment consisting only of hardware, an embodiment consisting only of software, or an embodiment combining software and hardware. Furthermore, the present invention may also be in the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to magnetic disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0098] The present invention will be described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and combinations of flows and / or blocks in the flowcharts and / or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, such that the functions specified in one or more flows of the flowchart and / or one or more blocks of the block diagram are realized by instructions executed by the processor of the computer or other programmable data processing device.

[0099] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the product includes an instruction apparatus for realizing the functions specified in one or more flows of the flowchart and / or one or more blocks of the block diagram by the instructions stored in the computer-readable memory.

[0100] These computer program instructions may also be loaded onto a computer or other programmable data processing device, thereby generating a process implemented by the computer as a series of operational steps are executed on the computer or other programmable device, and thereby providing steps for realizing the functions specified in one or more flows of the flowchart and / or one or more blocks within one or more blocks of the block diagram by instructions executed on the computer or other programmable device.

[0101] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

[0102] The memory can include forms such as volatile memory, random access memory (RAM), and / or non-volatile memory of computer-readable storage media, for example, read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable storage media.

[0103] A computer-readable storage medium includes volatile and non-volatile media, removable and non-removable media, and can implement information storage by any method or technology. The information may be computer-readable instructions, data structures, program modules, or other data. Computer storage media includes phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD), or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage, or other magnetic storage devices, or any other non-transmission media that can be used to store information accessible from a computing device, but is not limited thereto. According to the definition herein, a computer-readable storage medium does not include transitory media, such as modulated data signals and carriers.

[0104] Also, the term "comprising", "containing", or any other variation thereof is intended to include non-exclusive inclusion, such that a process, method, article, or device that includes a list of elements includes not only those elements but also other elements not expressly listed, or also includes elements inherent to such a process, method, article, or device. Without more limitations, an element limited by the phrase "comprising one..." does not exclude the presence of further identical elements in the process, method, article, or device that includes the element.

[0105] The present invention may be described in the general context of computer-executable instructions, such as program modules, executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The present invention may also be implemented in a distributed computing environment where tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media including memory devices.

[0106] Each embodiment in the present invention is described in a progressive manner, and the same or similar parts between each embodiment may be referred to each other, and the differences from other embodiments are emphasized in each embodiment. In particular, for the system embodiment, since it is basically similar to the method embodiment, it will be briefly described, and the relevant parts may refer to the description of a part of the method embodiment.

[0107] The above are only embodiments of the present invention and are not used to limit the present invention. For those skilled in the art, various modifications and changes may be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made without departing from the spirit and principle of the present invention should be included in the scope of the claims of the present invention.

Claims

1. A robot control method, comprising: determining a foot support state at each time stage when a bipedal robot moves by feet, the foot support state including a single-foot support state and a double-foot support state; determining a movement trajectory between feet of a zero moment point (ZMP) corresponding to the bipedal robot based on the foot support state at each time stage; for each foot of the bipedal robot, determining first position and orientation information corresponding to the foot at a first time stage; determining a movement trajectory corresponding to the foot based on the first position and orientation information, the first time stage including a plurality of time stages when the foot is in a support state; determining a movement trajectory of the center of gravity of the bipedal robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to the respective feet; determining a joint angle trajectory corresponding to each target joint of the bipedal robot based on the movement trajectory of the center of gravity and the movement trajectories corresponding to the respective feet, determining motion planning data for controlling the bipedal robot based on the joint angle trajectory, and controlling the bipedal robot to move by each foot based on the motion planning data. A robot control method characterized by the above.

2. The step of determining a movement trajectory between feet of a zero moment point (ZMP) corresponding to the bipedal robot based on the foot support state at each time stage includes: for each time stage, when the bipedal robot is in a single-foot support state at the time stage, determining that the ZMP is located at the landing point corresponding to the foot in the current support state; when the bipedal robot is in a double-foot support state at the time stage, determining that the ZMP is located between the landing point corresponding to the previous foot and the landing point corresponding to the next foot. The robot control method according to claim 1, characterized by the above.

3. Each time stage includes at least one of a start step stage, an intermediate step stage, and an end step stage, and the intermediate step stage includes at least one walking cycle of the bipedal robot. The robot control method according to claim 1, characterized by the above.

4. The starting step stage includes at least one of a stationary state sub-stage, a pre-walking body swaying sub-stage, a center of gravity holding sub-stage, and a ZMP movement sub-stage. The robot control method according to claim 3, characterized in that.

5. The step of determining the movement trajectory between the feet of the zero moment point (ZMP) corresponding to the bipedal robot based on the foot support state in each time stage includes: The step of determining a series of foot support states during the movement of the bipedal robot based on the foot support state in each time stage; The step of determining the movement trajectory of the ZMP based on the series of foot support states, and includes. The robot control method according to claim 1, characterized in that.

6. The step of determining the movement trajectory corresponding to the foot based on the first position and orientation information includes: The step of determining, as second position and orientation information, the position and orientation information corresponding to the foot at each moment in the second time stage based on the first position and orientation information, where the second time stage includes a plurality of time stages in which the foot is in a swinging state; The step of determining the movement trajectory corresponding to the foot based on the first position and orientation information and the second position and orientation information, and includes. The robot control method according to claim 1, characterized in that.

7. The step of determining the movement trajectory corresponding to the foot based on the first position and orientation information and the second position and orientation information includes: The step of determining the movement trajectory corresponding to the foot based on the first position and orientation information, the second position and orientation information, and at least one of a predetermined speed, acceleration, rising height, and control point when the foot rises and lands. The robot control method according to claim 6, characterized in that.

8. For each foot of the bipedal robot, before determining the first position and orientation information corresponding to the foot in the first time stage, The method further includes the step of determining the foot corresponding to the initial landing point of the bipedal robot. The robot control method according to claim 1, characterized in that.

9. The step of determining the movement trajectory of the center of gravity of the bipedal robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to the respective feet includes: The step of determining the position corresponding to the center of gravity at each moment based on the movement trajectory of the ZMP; Based on the movement trajectories corresponding to each foot, determining the posture angles corresponding to each foot at each moment, and based on the posture angles corresponding to each foot at each moment, determining the posture angle corresponding to the center of gravity at each moment; Based on the posture angle corresponding to the center of gravity at each moment and the position corresponding to the center of gravity at each moment, determining the movement trajectory of the center of gravity; The robot control method according to claim 1, characterized in that.

10. Based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each foot, the step of determining the joint angle trajectories corresponding to each target joint of the biped robot includes: Based on the movement trajectories corresponding to each foot, determining the movement trajectory corresponding to the floating base on the biped robot; Based on the movement trajectory corresponding to the floating base, the movement trajectories corresponding to each foot, and the movement trajectory of the center of gravity, determining the joint angle trajectories corresponding to each target joint of the biped robot; The robot control method according to claim 1, characterized in that.

11. The floating base includes the pelvis of the biped robot; The robot control method according to claim 10, characterized in that.

12. A robot control device, A first determination module for determining the foot support state at each time stage when the biped robot moves by its feet, the foot support state including a single-foot support state and a two-foot support state; A second determination module for determining the movement trajectory between each foot of the zero moment point (ZMP) corresponding to the biped robot based on the foot support state at each time stage; For each foot of the biped robot, Determining the first position and posture information corresponding to the foot at the first time stage; A third determination module for determining the movement trajectory corresponding to the foot based on the first position and posture information, the first time stage including a plurality of time stages when the foot is in a supported state; A fourth determination module for determining the movement trajectory of the center of gravity of the biped robot based on the movement trajectory of the ZMP and the movement trajectories corresponding to each foot; Based on the movement trajectory of the center of gravity and the movement trajectories corresponding to each leg, determine the joint angle trajectories corresponding to each target joint of the bipedal walking robot, and based on the joint angle trajectories, determine motion planning data for controlling the bipedal walking robot, and based on the motion planning data, a control module for controlling the two-legged robot to move by each leg, A robot control device characterized by the above.

13. A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the robot control method according to any one of Claims 1 to 11 is implemented. A computer-readable storage medium characterized by the above.

14. An electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the robot control method according to any one of Claims 1 to 11 is implemented. An electronic device characterized by the above.

Citation Information

Patent Citations

  • Robot and control method for it

    JP2006315095A

  • Motion data generation system and motion data generation method

    JP2012223864A

  • Control method of legged robot and legged robot

    JP2014151370A