Biped robot, walking control method and device thereof and readable storage medium

By capturing point errors in each control cycle of the computer robot and adjusting the footfall position of the swing leg, the problem of walking instability of the bipedal robot during external force disturbance is solved, and stable walking in the case of disturbance is achieved.

CN119440025AActive Publication Date: 2025-02-14UBTECH ROBOTICS CORP LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411854855.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2025-02-14
Estimated Expiration
2044-12-16

AI Technical Summary

Technical Problem

Bipedal robots are prone to instability and fall when disturbed by external forces, making it difficult to maintain stable walking.

Method used

By obtaining the centroid state of the robot for each control cycle, the capture point error is calculated, and the footfall position of the swing leg is adjusted when the error exceeds the preset threshold to ensure that the robot lands at the adjusted footfall position.

Benefits of technology

It effectively solves the problem of instability in the robot when external force is disturbed, ensuring that the robot can hit the ground smoothly without falling when disturbed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440025A_ABST
    Figure CN119440025A_ABST
Patent Text Reader

Abstract

The invention relates to the field of robot walking control, and discloses a biped robot, a walking control method and device thereof and a readable storage medium, and the method comprises the steps that the mass center state of the robot in each control period is acquired, and the mass center states comprise the planning mass center state and the measuring mass center state; calculating a capture point error of the robot in each control period based on the planned centroid state and the measured centroid state; accumulating the capture point error of each control period to obtain a total accumulation error of the capture points; when the capture point error or the capture point cumulative total error exceeds a preset threshold range, adjusting the landing point position of the robot swing leg based on the capture point cumulative total error; and the swinging legs are controlled to move, so that the robot lands at the adjusted landing point position. According to the method, it is guaranteed that the biped robot can still walk stably without falling down when being disturbed by thrust.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a bipedal robot and a walking control method, device and readable storage medium thereof. Background Art

[0002] The anti-disturbance of bipedal robot walking has always been a challenging research topic. On a flat ground, the stable walking of a bipedal robot can be achieved by controlling the zero moment point (ZMP). Among them, during the robot's walking process, if the trajectory of the robot's center of gravity projection always falls within the support area, it is called stable. When the robot remains stationary or in static balance, its ZMP point coincides with the projection of the center of gravity on the ground. Conversely, if the ZMP point is outside the support area, the robot will fall over. Therefore, if the ZMP point is always in a suitable position, the stable walking of the robot can be guaranteed. However, when the robot is suddenly disturbed by external force, it often faces the problem of bipedal instability and falling. Summary of the invention

[0003] In view of this, the present application provides a bipedal robot and a walking control method, device and readable storage medium thereof, which can solve the problem of walking instability of the robot when disturbed by external forces.

[0004] In a first aspect, an embodiment of the present application provides a robot control method, comprising:

[0005] Obtaining the center of mass state of the robot in each control cycle, wherein the center of mass state includes a planning center of mass state and a measurement center of mass state;

[0006] Calculate the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state;

[0007] Accumulating the capture point error of each control cycle to obtain a total capture point cumulative error;

[0008] When the capture point error or the cumulative total error of the capture points exceeds a preset threshold range, adjusting the landing point position of the robot's swing leg based on the cumulative total error of the capture points;

[0009] The swing leg movement is controlled so that the robot lands at the adjusted foothold position.

[0010] In some embodiments, the controlling the swing leg movement further comprises:

[0011] The motion trajectory of the robot's swing leg is replanned based on the adjusted foothold position, so as to control the movement of the swing leg according to the replanned motion trajectory.

[0012] In some embodiments, the calculating the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state comprises:

[0013] The planned capture point and the measured capture point of the robot are calculated respectively according to the planned center of mass state and the measured center of mass state of the current control cycle, so that the deviation between the planned capture point and the measured capture point is used as the capture point error of the current control cycle.

[0014] In some embodiments, the center of mass state includes the center of mass position and center of mass speed of the robot, and calculating the capture point according to the center of mass state of the current control cycle includes:

[0015] The capture point of the robot in the current control period is calculated according to the center of mass position, the center of mass speed and the swing frequency of the robot when it is simplified as a linear inverted pendulum model in the current control period.

[0016] The accumulating the capture point error of each control cycle to obtain the total accumulated capture point error includes:

[0017] Accumulating the capture point errors of the supporting leg of the robot in each control cycle within a gait to obtain the capture point cumulative errors of the supporting leg; and clearing the capture point cumulative errors of the swinging leg of the robot in each control cycle within the same gait to zero;

[0018] The cumulative error of the capture point of each leg is added together to obtain the total cumulative error of the capture point of the robot.

[0019] In some embodiments, the adjusting the planned landing point position of the robot's swing leg based on the cumulative total error of the capture point also includes:

[0020] Detecting whether the current end position of the robot's swinging leg is in the leg-lifting phase;

[0021] If the robot is in the leg-lifting phase, the planned landing point position of the swinging leg of the robot in the current gait is adjusted based on the total accumulated error of the capture point.

[0022] In some embodiments, the robot walking control method further includes:

[0023] If the leg is in the drop phase, no adjustment is made; or,

[0024] If the robot is in the leg landing phase and the remaining movement time of the swing leg in the current gait is greater than or equal to the preset time threshold, the planned landing point position of the swing leg of the robot in the current gait is adjusted based on the total accumulated error of the capture point; or,

[0025] If it is in the leg landing stage and the remaining movement time of the swing leg in the current gait is less than the preset time threshold, the landing point position of the swing leg of the robot in the next gait is replanned based on the accumulated total error of the capture point accumulated in the current gait.

[0026] In some embodiments, adjusting the planned landing point position of the robot's swing leg based on the cumulative total error of the capture point includes:

[0027] The compensation amount of the landing point position of the robot's swing leg is calculated based on the cumulative total error of the capture point, so as to adjust the planned landing point position of the swing leg by using the compensation amount to obtain the adjusted landing point position.

[0028] In some embodiments, the calculating of the compensation amount of the landing point position of the robot's swing leg based on the cumulative total error of the capture point, and adjusting the planned landing point position of the swing leg by using the compensation amount to obtain the adjusted landing point position, includes:

[0029] Using a preset proportional coefficient to perform a limit adjustment on the total cumulative error of the capture point to obtain an adjustment value, and using the adjustment value as a compensation amount for the landing point position of the robot's swinging leg;

[0030] The compensation amount is added to the planned landing point position to obtain an adjusted landing point position.

[0031] In some embodiments, replanning the motion trajectory of the robot's swing leg based on the adjusted foothold position includes:

[0032] The end position of the swing leg when the capture point error or the cumulative total error of the capture points exceeds a preset threshold range is selected as the starting point, and the adjusted landing point position is selected as the end point, and the motion trajectory of the swing leg is replanned at two points in combination with a smooth curve.

[0033] In some embodiments, the smooth curve includes any one of a cubic polynomial curve, a quintic polynomial curve, a cosine curve, and a cycloid curve.

[0034] In a second aspect, an embodiment of the present application further provides a robot walking control device, comprising:

[0035] An acquisition module is used to acquire the center of mass state of the robot in each control cycle, wherein the center of mass state includes a planning center of mass state and a measurement center of mass state;

[0036] An error calculation module, used for calculating the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state;

[0037] An error accumulation module, used for accumulating the capture point error of each control cycle to obtain a total capture point cumulative error;

[0038] A foothold adjustment module, configured to adjust the foothold position of the robot's swinging leg based on the cumulative total error of the capture point when the capture point error or the cumulative total error of the capture point exceeds a preset threshold range;

[0039] The motion control module is used to re-plan the motion trajectory of the robot's swing leg based on the adjusted foothold position, so as to control the motion of the swing leg according to the re-planned motion trajectory.

[0040] In a third aspect, an embodiment of the present application further provides a bipedal robot, the bipedal robot comprising a processor and a memory, the memory storing a computer program, and the processor being used to execute the computer program to implement the robot walking control method.

[0041] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed, implements the robot walking control method.

[0042] The embodiments of the present application have the following advantages:

[0043] The robot walking control method proposed in this application obtains the center of mass state of the robot in each control cycle, and calculates the capture point error using the planned center of mass state and the measured center of mass state; accumulates the capture point error in each control cycle to obtain the cumulative total capture point error; when the capture point error or the cumulative total capture point error exceeds the preset threshold range, adjusts the landing point position of the robot's swing leg based on the cumulative total capture point error; controls the swing leg movement so that the robot lands at the adjusted landing point position. This method can enable the robot to land smoothly without falling when disturbed by external forces. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0045] Figure 1 A schematic diagram of the structure of a robot according to an embodiment of the present application is shown;

[0046] Figure 2 A first flow chart of the robot walking control method according to an embodiment of the present application is shown;

[0047] Figure 3 A schematic diagram showing a robot according to an embodiment of the present application simplified as a linear inverted pendulum model;

[0048] Figure 4 A schematic diagram of sagittal plane analysis of a linear inverted pendulum model according to an embodiment of the present application is shown;

[0049] Figure 5 A second flow chart of the robot walking control method according to an embodiment of the present application is shown;

[0050] Figure 6 A schematic diagram showing the adjustment of the robot foothold position in the sagittal plane according to an embodiment of the present application is shown;

[0051] Figure 7 A third flow chart of the robot walking control method according to an embodiment of the present application is shown;

[0052] Figure 8 A structural schematic diagram of a robot walking control device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0053] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments.

[0054] The components of the embodiments of the present application generally described and shown in the drawings herein may be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0055] Hereinafter, the terms "including", "having" and their cognates, which may be used in various embodiments of the present application, are intended only to indicate specific features, numbers, steps, operations, elements, components, or combinations of the foregoing items, and should not be understood as first excluding the existence of one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing items or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations of the foregoing items.

[0056] Furthermore, the terms “first”, “second”, “third”, etc. are merely used for distinguishing descriptions and are not to be understood as indicating or implying relative importance.

[0057] Unless otherwise defined, all terms (including technical terms and scientific terms) used herein have the same meanings as those generally understood by those skilled in the art to which the various embodiments of the present application belong. The terms (such as those defined in generally used dictionaries) will be interpreted as having the same meanings as the contextual meanings in the relevant technical field and will not be interpreted as having idealized meanings or overly formal meanings unless clearly defined in the various embodiments of the present application.

[0058] The traditional bipedal robot walking control method mainly relies on the real-time control of the ZMP point. Although it performs well on flat ground, it is easy to become unstable when encountering external force interference. To this end, this application proposes a robot walking control method based on capture point error, and designs a controller for online adjustment of the foothold point, which is used to adjust the foothold position online during the swinging phase of the swinging leg, so as to adapt to the changes of external force disturbance and ensure stable walking when there is external force disturbance.

[0059] The technical solution of the present application will be described in detail below in conjunction with some specific embodiments.

[0060] Figure 1 A schematic diagram of the structure of the robot in the embodiment of the present application is shown. Exemplarily, the robot mainly includes a processor 11, a memory 12 and a sensing unit 13, wherein the memory 12 and the sensing unit 13 are both connected to the processor 11, the memory 12 stores a corresponding computer program, and the processor 11 is used to execute the computer program to implement the robot walking control method in the embodiment of the present application, so as to ensure that the robot can land smoothly when disturbed by external force.

[0061] Among them, the processor 11 can be an integrated circuit chip with signal processing capabilities. The processor 11 can be a general-purpose processor, including a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or at least one of other programmable logic devices, discrete gates or transistor logic devices, and discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., which can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.

[0062] The memory 12 may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), etc. The memory 12 is used to store a computer program, and the processor may execute the computer program accordingly after receiving an execution instruction.

[0063] The perception unit 13 mainly refers to the sensors set on the robot, which are used to transmit the necessary external information and self-state information to the robot's control system, thereby providing the necessary conditions for the robot's decision-making. In some cases, these sensors can be divided into internal sensors and external sensors, wherein the internal sensors are functional elements used to measure the robot's own state, and their function is to measure kinematic quantities and mechanical quantities, which are used for the robot to perceive its own motion state, so that the robot can move according to the specified parameters such as position, trajectory and speed. For example, the internal sensors include but are not limited to position or angle sensors, six-dimensional force / torque sensors, posture sensors, etc., which are set at the corresponding joints or torsos. For example, the actual position of the robot's ZMP point can be measured by six-dimensional force / torque sensors or pressure sensors. The external sensors mainly perceive the environment in which the robot itself is located and the mutual information between itself and the environment, such as visual, force perception and other information, and specifically include but are not limited to proximity sensors, visual sensors, etc. It should be understood that the sensors listed above can be selectively set according to the actual application scenarios of the robot.

[0064] For example, the robot 10 can be a humanoid robot with two legs, or a multi-legged robot with three legs or more. Taking a bipedal robot as an example, the robot has a trunk (also called a waist) and two mechanical leg structures connected to the trunk, wherein the two mechanical leg structures are driven by corresponding joint motors to perform position alternation, thereby realizing a function similar to the alternating walking of human legs. It can be understood that during the walking process of the bipedal robot, the robot walking control method in the embodiment of the present application can be used to achieve balance maintenance when the robot is suddenly disturbed by external force during the walking process.

[0065] Based on the robot 10 of the above structure, the robot walking control method of the present application is introduced below.

[0066] Figure 2 A flow chart of a robot walking control method according to an embodiment of the present application is shown. Exemplarily, the robot walking control method comprises the following steps:

[0067] S110, obtaining the center of mass state of the robot in each control cycle, wherein the center of mass state includes a planning center of mass state and a measurement center of mass state.

[0068] Exemplarily, during walking control, the robot acquires two center of mass states in real time, namely, the center of mass state pre-planned in each control cycle (i.e., the planned center of mass state) and the center of mass state obtained by measurement and evaluation (i.e., the measured center of mass state). Then, the deviation between the two center of mass states in each control cycle is used to calculate the capture point error of the robot.

[0069] Among them, each of the above-mentioned center of mass states includes the center of mass position and center of mass velocity of the robot, and optionally, may also include center of mass acceleration, etc., which can be obtained according to actual needs.

[0070] The planned center of mass state is usually obtained from the pre-planned center of mass motion trajectory of the robot. It can be understood that in order for the robot to complete the desired walking task, the center of mass motion trajectory of the robot needs to be planned in advance. For example, for a bipedal robot, a linear inverted pendulum model can be used to simplify the robot model; and then the center of mass trajectory of the robot is planned using the constructed linear inverted pendulum dynamic equation. Among them, the planned motion trajectory reflects the center of mass position of the robot in each control cycle. By further differentiating the planned motion trajectory, the center of mass velocity and center of mass acceleration planned for each control cycle can be obtained.

[0071] For measuring the center of mass state, for example, corresponding sensors set in the robot, such as the inertial measurement unit (IMU) set at the trunk of the robot and the six-dimensional force / torque sensor set at the corresponding end, can be used for real-time acquisition and further estimation. Since the raw data generated by the sensor may contain a large amount of redundant information and high-frequency noise, it may lead to a decrease in subsequent control performance. Therefore, state estimation is used for filtering to smooth the sensor data and remove noise, thereby providing more accurate and reliable information on the actual center of mass state of the robot.

[0072] In this embodiment, a control cycle refers to the time required for the robot to complete one control. Generally, within one control cycle, the robot walking controller acquires sensor data, calculates control instructions, and then sends instructions to motors to drive joints to execute the entire process. It can be understood that a task of the robot usually requires multiple consecutive control cycles to complete. For example, the control cycle can be in milliseconds.

[0073] S120, calculating the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state.

[0074] When the robot encounters an external thrust, the robot remains at or moves toward a point on the ground, which can restore the robot to balance and the kinetic energy is zero, which is the capture point (CP). Usually, when the robot is walking normally, there may be a small position error between the theoretical capture point and the actual capture point, but it will not affect the robot's balance state. On the contrary, if the capture point error suddenly becomes larger or exceeds the allowable error range, it indicates that the robot may be disturbed by external forces. Based on this, the present application calculates the capture point error in real time by obtaining two center of mass states. In particular, when the robot is disturbed by external forces, the capture point error or the accumulated capture point error at this time will vary greatly, so the robot can analyze whether it is disturbed by external forces for further processing.

[0075] Exemplarily, the planned capture point of the robot can be calculated according to the planned centroid state of the current control cycle, and the measured capture point of the robot can be calculated according to the measured centroid state of the current control cycle. Then, the deviation between the planned capture point and the measured capture point is used as the capture point error of the current control cycle.

[0076] The calculation method of calculating the planned capture point by the planned center of mass state and the calculation method of calculating the measured capture point by the measured center of mass state are the same. For example, in one embodiment, calculating the capture point according to the center of mass state includes: calculating the capture point of the robot in the current control period according to the center of mass position and center of mass velocity of the robot and the swing frequency when the robot is simplified to a linear inverted pendulum model.

[0077] First, the robot is simplified into a linear inverted pendulum model, where the linear inverted pendulum model consists of a center of mass and a retractable light-weight leg. In this embodiment, the robot's trunk motion control is equivalent to the trajectory control of the center of mass in the simplified model, and the two mechanical legs are regarded as retractable connecting rods in the model, such as Figure 3 As shown. To facilitate the description of the movement direction, the coordinate system is established on the horizontal plane where the ankle joint of the supporting leg is located. The origin of the coordinate system is located at the ankle joint of the supporting leg. The x-axis points to the front direction of the robot (also called the forward direction), the y-axis points to the side direction of the robot, and the z-axis points to the direction perpendicular to the ground. Then, based on the linear inverted pendulum model, as shown Figure 4 As shown, in the sagittal plane (corresponding to the x direction), the following dynamic equation of the robot can be constructed:

[0078]

[0079] in,

[0080] In the formula, is the acceleration of the center of mass, x c is the center of mass position, p x is the position of the ZMP point; ω is the swing frequency of the linear inverted pendulum, which is a height Z of the center of mass of the linear inverted pendulum model. c The relevant constant, g is the acceleration due to gravity.

[0081] It can be understood that in the linear inverted pendulum model, the physical meaning of the capture point is a support point that can achieve complete stillness of the inverted pendulum. In other words, during the movement, if the robot lands on the capture point, then the robot can be in a state of static or dynamic balance. Therefore, according to the definition of the capture point, it can be known that the position of the capture point ξ x and the center of mass position x c , center of mass velocity Satisfies the following relationship:

[0082]

[0083] Therefore, the above-mentioned planned capture point can be calculated by the planned robot center of mass position and center of mass speed. If expressed by formula, we have:

[0084]

[0085] In the formula, ξ plan_x Indicates the position of the planned capture point in the x direction, x plan and are the planned center of mass position and center of mass velocity in the x direction respectively.

[0086] Similarly, in the coronal plane (corresponding to the y direction), it can be calculated:

[0087]

[0088] In the formula, ξ plan_y Indicates the position of the planned capture point in the y direction, y plan and are the planned center of mass position and center of mass velocity in the x direction respectively.

[0089] For measuring the center of mass state, taking the sagittal plane as an example, assume that the center of mass position obtained by state estimation is recorded as x measure and the center-of-mass velocity is Similarly, according to the definition of the capture point above, the measurement capture point can also be calculated according to the above capture point calculation formula. If expressed by the formula, the measurement capture point ξ measure_x satisfy:

[0090]

[0091] Similarly, in the coronal plane (corresponding to the y direction), the capture point ξ is measured measure_y satisfy:

[0092]

[0093] Therefore, in the sagittal plane, the capture point error CP of the robot in each control cycle is error_x for:

[0094] CP error_x =ξ plan_x -ξ measure_x .

[0095] Similarly, in the coronal plane, the capture point error CP of the robot in each control cycle is error_y for:

[0096] CP error_y =ξ plan_y -ξ measure_y .

[0097] S130, accumulating the capture point errors of each control cycle to obtain a total accumulated capture point error.

[0098] Exemplarily, the cumulative error of the capture point of each leg of the robot in the same gait is calculated respectively, and then the cumulative errors of the capture points of all legs are added together to obtain the total cumulative error of the capture point for adjusting the foothold position.

[0099] Generally, the movement gait of a biped robot is periodic, and a movement gait cycle includes multiple control cycles. In a gait cycle, the center of mass of the robot moves from the back of the supporting foot to the front of the supporting foot, and the lateral position of the center of mass gradually approaches the supporting foot in the early stage of the current gait cycle, and then gradually moves away, thus completing a gait cycle of the biped robot. For the two legs of the biped robot, in one gait cycle, the left leg is the supporting leg and the right leg is the swinging leg; in the next gait cycle, the left leg is the swinging leg and the right leg is the supporting leg, and so on.

[0100] Regarding the calculation of the cumulative error of the capture point of each leg, in one embodiment, for the same leg, when it is in the support stage (i.e., the stage of the supporting leg), the capture point error is accumulated; when it is in the swing stage (i.e., the stage of the swinging leg), the cumulative error of the capture point is cleared.

[0101] In the sagittal plane, taking the left leg as an example, the capture point error accumulation is performed in the support phase, and then:

[0102]

[0103] In the formula, e lx and are the capture point cumulative errors of the current control cycle and the previous controller cycle, respectively. It can be understood that the capture point cumulative error of the previous controller cycle is also obtained by accumulation.

[0104] When the left leg is in the swing phase, the capture point error of each control cycle is cleared, and then:

[0105]

[0106] That is to say, when the left leg acts as the supporting leg in the first gait, the capture point error is continuously accumulated. When it switches to the swing leg in the next gait, the capture point error calculated in each control cycle is cleared, and accordingly, the accumulated capture point error is also zero.

[0107] Based on the above accumulation principle, during normal walking of the robot, there is one supporting leg and one swinging leg in any control cycle in each gait. For step S130, it includes:

[0108] In a gait, the capture point errors of the robot's supporting leg in each control cycle are accumulated to obtain the cumulative capture point error of the supporting leg; and the capture point error of the robot's swinging leg in each control cycle is cleared to zero. Then, the cumulative capture point errors of the two legs in the same gait are added together to obtain the total cumulative capture point error of the robot in the current gait. In the sagittal plane, if described by a formula, then:

[0109] e x =e lx +e rx ;

[0110] In the formula, e x is the total accumulated error of the robot at the capture point in each control cycle, e lx and e rx are the accumulated errors of the capture points of the left and right legs in each control cycle, respectively.

[0111] Similarly, in the coronal plane, the cumulative error e of the capture point of the robot in each control cycle can be obtained by following the above steps: y , which will not be described here.

[0112] It can be understood that since the capture point error of the swing leg in each control cycle is zero, the cumulative capture point error of the swing leg is zero at this time, and thus, the cumulative total capture point error of the robot in one gait is equal to the cumulative capture point error of the supporting leg. It is worth noting that the present application calculates the cumulative total capture point error of the robot in order to consider the capture point error from the overall perspective of the robot, so that the capture point error of each control cycle can be accumulated and transferred to the next control cycle, thereby affecting the foothold position of the subsequent swing leg.

[0113] S140, detecting whether the capture point error or the total capture point cumulative error exceeds a preset threshold range. If it exceeds the preset threshold range, executing step S150; otherwise, no online adjustment of the foothold position is performed.

[0114] Exemplarily, by detecting the size of the capture point error of the current control cycle, or detecting the size of the cumulative total capture point error accumulated from the current control cycle to the previous control cycle, it can be determined whether the robot is suddenly disturbed by external force. The external force disturbance to the robot may come from many sources, such as being pushed by a human, or colliding with other objects that suddenly break in, etc., which are not limited here.

[0115] Among them, the preset threshold range is set according to different comparison objects. For example, if the capture point error of the current control cycle is used for judgment, an error threshold range can be set; or, if the cumulative total error of the capture points accumulated in multiple control cycles is used for judgment, a cumulative error threshold range with a larger value can be set.

[0116] S150, when the capture point error or the cumulative total capture point error exceeds a preset threshold range, adjusting the landing point position of the robot's swing leg based on the cumulative total capture point error.

[0117] Exemplarily, when the capture point error (or the cumulative total error of the capture point) exceeds the preset threshold range, it indicates that the robot is disturbed by external force at this time. In order to ensure the balance of the robot, it is necessary to adjust the foothold position of the robot online at this time. Therefore, the compensation amount of the foothold position of the robot's swing leg is calculated based on the cumulative total error of the capture point, and the planned foothold position of the swing leg is adjusted by the compensation amount to obtain the adjusted foothold position. On the contrary, when the capture point error (or the cumulative total error of the capture point) is within the preset threshold range, it indicates that the robot is not disturbed by external force at this time, and no online adjustment operation is required.

[0118] Generally, for the movement process of the swinging leg in a gait, the leg is first raised to the highest point (i.e., the leg raising phase) and then dropped from the highest point to the ground (i.e., the leg landing phase). Alternatively, in actual situations, since it is uncertain when the robot is disturbed by external forces, there may be multiple situations for compensating the position of the robot's foothold.

[0119] As an optional solution, the robot only performs foot point position compensation on the robot's swing leg during the leg-lifting phase. This is because when the swing leg is in the leg-lifting phase, even if it is disturbed by external forces, the robot has enough time to adjust the movement of the end of the swing leg, thereby ensuring that the swing leg can land at the adjusted foot point position, allowing the robot to land smoothly.

[0120] like Figure 5 As shown, before adjusting the planned landing point position of the swing leg, the method also includes:

[0121] S210, detecting whether the current end position of the robot's swing leg is in the leg-lifting phase. The current end position refers to the end position of the swing leg when the robot detects that it is disturbed by an external force (also the moment for determining to adjust the foothold position).

[0122] If the robot is in the leg-lifting phase, step S230 is executed to adjust the planned landing point position of the robot's swinging leg in the current gait based on the total accumulated error of the capture point.

[0123] If you are in the leg drop phase, as the first option, Figure 4 As shown, the method also includes:

[0124] S250, if it is in the leg landing stage, detect whether the remaining movement time of the swing leg in the current gait is greater than or equal to a preset time threshold. If it is greater than or equal to the preset time threshold, execute step S230.

[0125] Usually, the total swing time of the swing leg in a gait is fixed, and the remaining movement time can be obtained by subtracting the swing time from the fixed total movement time. If described by an expression, the remaining movement time satisfies:

[0126] T=T s -t s ;

[0127] In the formula, T is the remaining movement time, T s is the fixed total swing time, t s is the swing time of the current swing leg. It can be understood that if the remaining movement time is greater than or equal to a set time threshold, it means that the time for online adjustment of the foot position is sufficient, so the adjustment operation can be completed within the remaining movement time. On the contrary, if it is less than the time threshold, it means that the robot may not have time to adjust the foot position.

[0128] It is understandable that if the remaining movement time of the swing leg is sufficient, the foothold position can also be adjusted online. If it is greater than or equal to the preset time threshold, the planned foothold position of the swing leg of the robot in the current gait is adjusted based on the total accumulated error of the capture point.

[0129] For online adjustment in the leg-lifting phase or the leg-dropping phase, for example, in one embodiment, the step of calculating the compensation amount of the landing point position of the robot's swing leg based on the cumulative total error of the capture point, and using the compensation amount to adjust the planned landing point position of the swing leg includes:

[0130] Exemplarily, the total accumulated error of the capture point is limitedly adjusted by using a preset proportional coefficient to obtain an adjustment value, which is used as the compensation amount for the landing point position of the robot's swinging leg; then, the compensation amount is added to the planned landing point position to obtain the adjusted landing point position.

[0131] If described by the formula, the compensation amount of the foot point position in the sagittal plane is:

[0132] f xe =k x e x ;

[0133] In the formula, f xe is the compensation amount in the x direction, k x is the preset scale factor in the x direction, e x The total accumulated error of the capture points in the x direction.

[0134] Similarly, in the coronal plane, the compensation amount of the foot point position is:

[0135] f ye =k y e y ;

[0136] In the formula, f ye is the compensation amount in the y direction, k y is the preset scale factor in the y direction, e y The total accumulated error of the capture points in the y direction.

[0137] It can be understood that when the robot is disturbed by external forces, the total cumulative error of the capture point will become very large. Since there is a large size difference between the total cumulative error of the capture point and the value of the robot's foothold position, and the robot is limited by the mechanical structure, a coefficient is needed to perform proportional mapping, which also plays a limiting role. Among them, the preset proportional coefficient can be set according to actual needs and is not limited here.

[0138] Furthermore, if Figure 6 As shown, in the sagittal plane, the adjusted foothold position satisfies:

[0139] f x =f xe +f xn ;

[0140] In the formula, f x is the adjusted foothold position in the x direction, f xn is the planned foothold position in the x direction. Similarly, in the coronal plane, the adjusted foothold position satisfies:

[0141] f y =fye +f yn ;

[0142] In the formula, f y is the adjusted foothold position in the y direction, f yn is the planned landing point position in the y direction.

[0143] If the leg is in the stage of landing, as a second optional solution, for the above step S250, the method further includes:

[0144] S270: If the remaining movement time is less than the preset time threshold, the landing point position of the robot's swing leg in the next gait is replanned based on the total accumulated error of the capture point accumulated in the current gait.

[0145] It can be understood that if the remaining movement time of the swing leg in the current gait is insufficient, since the present application calculates the total cumulative error of the capture point of the robot as a whole, when entering the transition phase to the next gait, since the total cumulative error of the capture point of the robot in the current gait is not zero, it can be passed on to the next gait, thereby affecting the re-planning of the landing point position of the swing leg in the next gait.

[0146] In addition, as a third optional solution, for the above step S210, if it is in the leg landing stage, the foot landing point position is not adjusted.

[0147] S160, controlling the swing leg movement so that the robot lands at the adjusted landing point.

[0148] Exemplarily, after the adjusted landing point position is calculated through the above steps, the end of the swing leg is controlled to move toward the adjusted landing point position until it lands. This ensures that the robot can still land in a balanced manner without falling when disturbed by external force.

[0149] As an optional solution of step S160, Figure 7 As shown, before controlling the swing leg movement, the movement trajectory of the swing leg is also replanned. Exemplarily, the method includes:

[0150] S170, replanning the motion trajectory of the robot's swing leg based on the adjusted landing point position, and controlling the swing leg movement according to the replanned motion trajectory so that the robot lands at the adjusted landing point position.

[0151] Exemplarily, after obtaining the adjusted landing point position, the moment when the capture point error or the cumulative total error of the capture point exceeds the preset threshold range can be selected as the starting point, and the adjusted landing point position can be used as the end point, and then the motion trajectory can be replanned using a smooth curve.

[0152] The above-mentioned smooth curve may include, but is not limited to, any one of a cubic polynomial curve, a quintic polynomial curve, a cosine curve and a cycloid curve.

[0153] In one embodiment, the positions and velocities of the above two points can be selected for re-planning. For example, taking a cubic polynomial curve as an example, a cubic spline interpolation method can be used to plan a new swing leg motion trajectory. If described by an expression, then:

[0154] s(t)=at 3 +bt 2 +ct+d;

[0155] in,

[0156]

[0157] c=v 0 ;

[0158] d = x 0 ;

[0159] Where s(t) is the motion trajectory of the end of the swing leg, t is the current control cycle, a, b, c and d are curve coefficients, T is the remaining motion time of the swing leg, (x 0 ,v 0 ) is the position and velocity of the starting point, (x 1 ,v 1 ) is the position and velocity of the end point, where when the swinging leg touches the ground, the velocity v of the end point 1 =0.

[0160] Therefore, the position and velocity of the end of the swing leg in the next control cycle can be obtained from the replanned motion trajectory of the swing leg, that is, .

[0161] It can be understood that since the planned landing point of the swing leg is adjusted, by using two points to re-plan the motion trajectory, on the one hand, the end position and speed of the swing leg can be guaranteed to be smooth, making the movement of the swing leg smoother, reducing abrupt movements and sudden impacts, thereby improving the overall stability of the robot. On the other hand, smooth movement reduces the impact and wear of the internal joint components of the robot, extending the service life of the robot, etc.

[0162] The robot walking control method of this embodiment starts with the capture point error, accumulates the capture point error, calculates the compensation amount of the foothold position when disturbed by external force, and then adjusts the foothold online. In addition, the end position and speed when disturbed by external force are combined with the adjusted foothold position to re-plan the motion trajectory of the robot's swinging leg to achieve smooth movement of the swinging leg. The method of this application can cope with the robot's balance maintenance when it is disturbed by external force. It is not only suitable for flat ground, but also can work effectively on irregular terrain, enhancing the robot's adaptability.

[0163] Figure 8 A schematic diagram of the structure of a robot walking control device 100 according to an embodiment of the present application is shown. Exemplarily, the robot walking control device 100 includes:

[0164] The acquisition module 110 is used to acquire the center of mass state of the robot in each control cycle, and the center of mass state includes a planning center of mass state and a measurement center of mass state.

[0165] The error calculation module 130 is used to calculate the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state.

[0166] The error accumulation module 150 is used to accumulate the capture point error in each control cycle to obtain a capture point accumulated total error.

[0167] The foothold adjustment module 170 is used to adjust the foothold position of the robot's swinging leg based on the cumulative total error of the capture point when the capture point error or the cumulative total error of the capture point exceeds a preset threshold range.

[0168] The motion control module 190 is used to control the swing leg motion so that the robot lands at the adjusted foothold position.

[0169] As an optional solution, the robot walking control device 100 also includes:

[0170] The trajectory replanning module 180 is used to replan the motion trajectory of the robot's swinging legs based on the adjusted foothold position to obtain a replanned motion trajectory.

[0171] Correspondingly, the motion control module 190 is used to control the swing leg movement according to the re-planned motion trajectory so that the robot lands at the adjusted landing point position.

[0172] It can be understood that the device of this embodiment corresponds to the robot walking control method of the above embodiment, and the options in the above embodiment are also applicable to this embodiment, so they will not be repeated here.

[0173] The present application also provides a computer-readable storage medium for storing the computer program used in the above-mentioned bipedal robot. For example, the computer-readable storage medium may include but is not limited to: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0174] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and structure diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in an alternative implementation, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the structure diagram and / or the flow diagram, and the combination of boxes in the structure diagram and / or the flow diagram, can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0175] In addition, the functional modules or units in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.

[0176] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a smart phone, a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk.

[0177] The above description is only a specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application.

Claims

1. A robot walking control method, characterized in that: include: Obtaining the center of mass state of the robot in each control cycle, wherein the center of mass state includes a planning center of mass state and a measurement center of mass state; Calculate the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state; Accumulating the capture point error of each control cycle to obtain a total capture point cumulative error; When the capture point error or the cumulative total error of the capture points exceeds a preset threshold range, adjusting the landing point position of the robot's swing leg based on the cumulative total error of the capture points; The swing leg movement is controlled so that the robot lands at the adjusted foothold position.

2. The robot walking control method according to claim 1, characterized in that: The controlling of the swinging leg movement also includes: The motion trajectory of the robot's swing leg is replanned based on the adjusted foothold position, so as to control the movement of the swing leg according to the replanned motion trajectory.

3. The robot walking control method according to claim 1, characterized in that: The calculating of the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state comprises: The planned capture point and the measured capture point of the robot are calculated respectively according to the planned center of mass state and the measured center of mass state of the current control cycle, so that the deviation between the planned capture point and the measured capture point is used as the capture point error of the current control cycle.

4. The robot walking control method according to claim 3, characterized in that: The center of mass state includes the center of mass position and center of mass speed of the robot, and the capture point is calculated according to the center of mass state of the current control cycle, including: The capture point of the robot in the current control period is calculated according to the center of mass position, the center of mass speed and the swing frequency of the robot when it is simplified as a linear inverted pendulum model in the current control period.

5. The robot walking control method according to claim 1, characterized in that: The accumulating the capture point error of each control cycle to obtain the total accumulated capture point error includes: Accumulating the capture point errors of the supporting leg of the robot in each control cycle within a gait to obtain the capture point cumulative errors of the supporting leg; and clearing the capture point cumulative errors of the swinging leg of the robot in each control cycle within the same gait to zero; The cumulative error of the capture point of each leg is added together to obtain the total cumulative error of the capture point of the robot.

6. The robot walking control method according to claim 1, characterized in that: The step of adjusting the landing point of the robot's swing leg based on the total cumulative error of the capture point also includes: Detecting whether the current end position of the robot's swinging leg is in the leg-lifting phase; If the robot is in the leg-lifting phase, the planned landing point position of the swinging leg of the robot in the current gait is adjusted based on the total accumulated error of the capture point.

7. The robot walking control method according to claim 6, characterized in that: Also includes: If it is in the leg drop phase, the above adjustment will not be made; or, If the robot is in the leg landing phase and the remaining movement time of the swing leg in the current gait is greater than or equal to the preset time threshold, the planned landing point position of the swing leg of the robot in the current gait is adjusted based on the total accumulated error of the capture point; or, If it is in the leg landing stage and the remaining movement time of the swing leg in the current gait is less than the preset time threshold, the landing point position of the swing leg of the robot in the next gait is replanned based on the accumulated total error of the capture point accumulated in the current gait.

8. The robot walking control method according to claim 1, 6 or 7, characterized in that: The step of adjusting the landing point of the robot's swinging leg based on the total accumulated error of the capture point includes: The compensation amount of the landing point position of the robot's swing leg is calculated based on the cumulative total error of the capture point, so as to adjust the planned landing point position of the swing leg by using the compensation amount to obtain the adjusted landing point position.

9. The robot walking control method according to claim 8, characterized in that: The step of calculating the compensation amount of the foothold position of the robot's swing leg based on the cumulative total error of the capture point, and adjusting the planned foothold position of the swing leg by using the compensation amount to obtain the adjusted foothold position, comprises: Using a preset proportional coefficient to perform a limit adjustment on the total cumulative error of the capture point to obtain an adjustment value, and using the adjustment value as a compensation amount for the landing point position of the robot's swinging leg; The compensation amount is added to the planned landing point position to obtain an adjusted landing point position.

10. The robot walking control method according to claim 2, characterized in that: The replanning of the motion trajectory of the robot's swing leg based on the adjusted foothold position includes: The end position of the swing leg when the capture point error or the cumulative total error of the capture points exceeds a preset threshold range is selected as the starting point, and the adjusted landing point position is selected as the end point, and the motion trajectory of the swing leg is replanned at two points in combination with a smooth curve.

11. The robot walking control method according to claim 10, characterized in that: The smooth curve includes any one of a cubic polynomial curve, a quintic polynomial curve, a cosine curve and a cycloid curve.

12. A robot walking control device, characterized in that: include: An acquisition module is used to acquire the center of mass state of the robot in each control cycle, wherein the center of mass state includes a planning center of mass state and a measurement center of mass state; An error calculation module, used for calculating the capture point error of the robot in each control cycle based on the planned center of mass state and the measured center of mass state; An error accumulation module, used for accumulating the capture point error of each control cycle to obtain a total capture point cumulative error; A foothold adjustment module, configured to adjust the foothold position of the robot's swinging leg based on the cumulative total error of the capture point when the capture point error or the cumulative total error of the capture point exceeds a preset threshold range; The motion control module is used to re-plan the motion trajectory of the robot's swing leg based on the adjusted foothold position, so as to control the motion of the swing leg according to the re-planned motion trajectory.

13. A bipedal robot, characterized in that: The biped robot comprises a processor and a memory, wherein the memory stores a computer program, and the processor is used to execute the computer program to implement the robot walking control method according to any one of claims 1 to 10.

14. A computer-readable storage medium, characterized in that: The computer program is stored therein, and when the computer program is executed, the robot walking control method according to any one of claims 1 to 10 is implemented.

Citation Information

Patent Citations

  • Robot control method and device, computer readable storage medium and robot

    CN113927584A

  • Biped robot anti-interference robust control method

    CN117434841A

  • Biped robot stable motion planning method based on motion state classification

    CN118444564A

  • Determination of robotic step path

    US10081104B1

  • Control method for robot, computer-readable storage medium and robot

    US20220203522A1