Bipedal robot, walking control method and apparatus therefor, and readable storage medium

By calculating the capture point error of the robot's center of mass and adjusting the foot position, the problem of instability of bipedal robots under external force disturbances was solved, and stable walking under external force disturbances was achieved.

WO2026129418A1PCT designated stage Publication Date: 2026-06-25UBTECH ROBOTICS CORP LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
UBTECH ROBOTICS CORP LTD
Filing Date
2024-12-28
Publication Date
2026-06-25

Smart Images

  • Figure CN2024143552_25062026_PF_FP_ABST
    Figure CN2024143552_25062026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of robot walking control. Disclosed are a bipedal robot, a walking control method and apparatus therefor, and a readable storage medium. The method comprises: acquiring a center of mass state of a robot in each control cycle, the center of mass state comprising a planned center of mass state and a measured center of mass state; on the basis of the planned center of mass state and the measured center of mass state, calculating a capture point error of the robot in each control cycle; accumulating the capture point error of each control cycle to obtain a total accumulated capture point error; when the capture point error or the total accumulated capture point error exceeds a preset threshold range, on the basis of the total accumulated capture point error, adjusting a foot landing point position of a swing leg of the robot; and controlling the swing leg to move, such that the robot lands at the adjusted foot landing point position. The method of the present application ensures that the bipedal robot can still keep walking stably without falling when subjected to thrust disturbance.
Need to check novelty before this filing date? Find Prior Art

Description

Bipedal robot and its walking control method, device and readable storage medium

[0001] This application claims priority to Chinese Patent Application No. 202411854855.0, filed on December 16, 2024, entitled "Bipedal Robot and Walking Control Method, Apparatus and Readable Storage Medium Thereof", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of robot control technology, and in particular to a bipedal robot and its walking control method, apparatus and readable storage medium. Background Technology

[0003] The disturbance resistance of bipedal robot walking has always been a challenging research topic. On flat ground, stable walking of bipedal robots can be achieved by controlling the zero-moment point (ZMP). Stability is defined as the robot being stable if the trajectory of its center of gravity projection always falls within the support area during walking. When the robot is stationary or in static equilibrium, its ZMP point coincides with the projection of its center of gravity on the ground; conversely, if the ZMP point is outside the support area, the robot will tip over. Therefore, keeping the ZMP point in a suitable position ensures stable walking. However, when the robot is suddenly disturbed by external forces, it often faces the problem of instability and falls. Technical issues

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

[0005] In a first aspect, embodiments of this application provide a robot control method, comprising:

[0006] The center of mass state of the robot is obtained for each control cycle, including the planned center of mass state and the measured center of mass state;

[0007] The capture point error of the robot in each control cycle is calculated based on the planned centroid state and the measured centroid state.

[0008] The capture point error for each control cycle is accumulated to obtain the total accumulated capture point error;

[0009] When the capture point error or the cumulative total capture point error exceeds a preset threshold range, the landing position of the robot's swing leg is adjusted based on the cumulative total capture point error.

[0010] Control the movement of the swinging leg so that the robot lands at the adjusted foot position.

[0011] In some embodiments, the control of the swing leg movement further includes, prior to:

[0012] Based on the adjusted foot position, the motion trajectory of the robot's swing leg is replanned to control the movement of the swing leg according to the replanned motion trajectory.

[0013] In some embodiments, calculating the robot's capture point error for each control cycle based on the planned centroid state and the measured centroid state includes:

[0014] The planned capture point and the measured capture point of the robot are calculated based on the planned centroid state and the measured centroid state of the current control cycle, respectively, and the deviation between the planned capture point and the measured capture point is used as the capture point error of the current control cycle.

[0015] In some embodiments, the center of mass state includes the robot's center of mass position and center of mass velocity, and calculating the capture point based on the center of mass state of the current control cycle includes:

[0016] The capture point of the robot in the current control cycle is calculated based on the robot's center of mass position, center of mass velocity, and oscillation frequency when the robot is simplified to a linear inverted pendulum model.

[0017] The accumulation of the capture point error for each control cycle to obtain the total accumulated capture point error includes:

[0018] The capture point error of the robot's supporting leg in each control cycle within a gait is accumulated to obtain the accumulated capture point error of the supporting leg; and the accumulated capture point error of the robot's swing leg in each control cycle within the same gait is cleared to zero.

[0019] The cumulative errors of the capture points of each leg are summed to obtain the total cumulative error of the robot's capture points.

[0020] In some embodiments, the adjustment of the planned landing point position of the robot's swing leg based on the accumulated total error of the capture points further includes, before:

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

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

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

[0024] If the landing phase is underway, then no adjustments are required; or,

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

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

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

[0028] The compensation amount for the landing point position of the robot's swing leg is calculated based on the cumulative total error of the capture point, and the planned landing point position of the swing leg is adjusted using the compensation amount to obtain the adjusted landing point position.

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

[0030] The cumulative total error of the capture point is limited and adjusted using a preset proportional coefficient to obtain an adjustment value, which is then used as the compensation amount for the landing position of the robot's swing leg.

[0031] The adjusted landing point position is obtained by adding the compensation amount to the planned landing point position.

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

[0033] The starting point is selected when the capture point error or the cumulative total capture point error exceeds a preset threshold range, and the adjusted landing point is selected as the ending point. The motion trajectory of the swing leg is then replanned using a smooth curve.

[0034] 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.

[0035] Secondly, embodiments of this application also provide a robot walking control device, comprising:

[0036] The acquisition module is used to acquire the center of mass state of the robot in each control cycle, including the planned center of mass state and the measured center of mass state;

[0037] An error calculation module is used to calculate the capture point error of the robot in each control cycle based on the planned centroid state and the measured centroid state.

[0038] The error accumulation module is used to accumulate the capture point error for each control cycle to obtain the total accumulated capture point error.

[0039] The landing point adjustment module is used to adjust the landing point position of the robot's swing 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.

[0040] The motion control module is used to replan the motion trajectory of the robot's swing leg based on the adjusted foot position, so as to control the movement of the swing leg according to the replanned motion trajectory.

[0041] Thirdly, embodiments of this application also provide a bipedal robot, the bipedal robot including a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the robot walking control method.

[0042] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed, implements the robot walking control method. Beneficial effects

[0043] The embodiments of this application have the following advantages:

[0044] The robot walking control method proposed in this application acquires the robot's center of mass state in each control cycle and calculates the capture point error using the planned and measured center of mass states. The capture point error for each control cycle is accumulated to obtain the total accumulated capture point error. When the capture point error or the total accumulated capture point error exceeds a preset threshold, the landing position of the robot's swing leg is adjusted based on the total accumulated capture point error. The swing leg movement is controlled to ensure the robot lands at the adjusted landing position. This method allows the robot to land smoothly without falling when subjected to external disturbances. Attached Figure Description

[0045] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 shows a schematic diagram of a robot according to an embodiment of this application;

[0047] Figure 2 shows a first flowchart of a robot walking control method according to an embodiment of this application;

[0048] Figure 3 shows a schematic diagram of the robot in this embodiment of the present application simplified as a linear inverted pendulum model;

[0049] Figure 4 shows a schematic diagram of the sagittal plane analysis of the linear inverted pendulum model according to an embodiment of this application;

[0050] Figure 5 shows a second flowchart of the robot walking control method according to an embodiment of this application;

[0051] Figure 6 shows a schematic diagram of adjusting the robot's foot position in the sagittal plane according to an embodiment of this application;

[0052] Figure 7 shows a third flowchart of the robot walking control method according to an embodiment of this application;

[0053] Figure 8 shows a schematic diagram of a robot walking control device according to an embodiment of this application. Embodiments of the present invention

[0054] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0055] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0056] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.

[0057] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.

[0058] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.

[0059] Traditional bipedal robot walking control methods mainly rely on real-time control of the ZMP point. While performing well on flat ground, these methods are prone to instability when encountering external disturbances. Therefore, this application proposes a robot walking control method based on capture point error. A controller for online foot placement adjustment is designed to adjust the foot placement position online during the swinging leg phase, thereby adapting to changes in external disturbances and ensuring stable walking under such conditions.

[0060] The technical solution of this application will be described in detail below with reference to some specific embodiments.

[0061] Figure 1 shows a schematic diagram of a robot according to an embodiment of this application. Exemplarily, the robot mainly includes a processor 11, a memory 12, and a sensing unit 13. Both the memory 12 and the sensing unit 13 are connected to the processor 11. The memory 12 stores a corresponding computer program, and the processor 11 executes the computer program to implement the robot walking control method in this embodiment, thereby ensuring that the robot can land smoothly when subjected to external disturbances.

[0062] The processor 11 can be an integrated circuit chip with signal processing capabilities. The processor 11 can be a general-purpose processor, including at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Network Processor (NP), Digital Signal Processor (DSP), Application-Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application.

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

[0064] The sensing unit 13 mainly refers to the sensors installed on the robot. These sensors transmit necessary external information and its own 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. Internal sensors are functional elements used to measure the robot's own state. Their function is to measure kinematic and mechanical quantities, allowing the robot to perceive its own motion state and move according to specified parameters such as position, trajectory, and speed. For example, internal sensors include, but are not limited to, position or angle sensors, six-dimensional force / torque sensors, and attitude sensors installed at corresponding joints or torso. For instance, the actual position of the robot's ZMP point can be measured by six-dimensional force / torque sensors or pressure sensors. External sensors mainly perceive the robot's environment and the mutual information between the robot and its environment, including visual and force information, specifically including but not limited to proximity sensors and vision sensors. It should be understood that the sensors listed above can be selectively installed according to the actual application scenario of the robot.

[0065] For example, the robot 10 can be a bipedal humanoid robot, or a triped or multi-legged robot. Taking a bipedal robot as an example, the robot has a torso (also called the waist) and two mechanical legs connected to the torso. These two mechanical legs are driven by corresponding joint motors to alternate positions, thereby achieving a function similar to human bipedal walking. It can be understood that during the walking process of this bipedal robot, the robot walking control method in the embodiments of this application can be used to maintain balance when the robot is suddenly disturbed by external forces during walking.

[0066] Based on the above structure of the robot 10, the robot walking control method of this application is described below.

[0067] Figure 2 shows a flowchart of a robot walking control method according to an embodiment of this application. Exemplarily, the robot walking control method includes the following steps:

[0068] S110, Obtain the center of mass state of the robot in each control cycle, the center of mass state includes the planned center of mass state and the measured center of mass state.

[0069] As an example, during walking control, the robot acquires two centroid states in real time: a pre-planned centroid state for each control cycle (i.e., the planned centroid state) and a measured and evaluated centroid state (i.e., the measured centroid state). Then, the deviation between these two centroid states in each control cycle is used to calculate the robot's capture point error.

[0070] Each of the above-mentioned centroid states includes the robot's centroid position and centroid velocity, and optionally, centroid acceleration, etc., which can be obtained according to actual needs.

[0071] The planned center-of-mass state is typically obtained from the pre-planned trajectory of the robot's center-of-mass. It's understandable that to enable the robot to complete the desired walking task, the trajectory of its center-of-mass needs to be planned in advance. For example, for a bipedal robot, a linear inverted pendulum model can be used to simplify the robot; then, the dynamic equations of the constructed linear inverted pendulum are used to plan the robot's center-of-mass trajectory. The planned trajectory reflects the robot's center-of-mass position in each control cycle. By further differentiating the planned trajectory, the planned center-of-mass velocity and acceleration for each control cycle can be obtained.

[0072] For measuring the center of mass state, data can be acquired in real time and further estimated using sensors installed in the robot, such as inertial measurement units (IMUs) located in the robot's torso and six-dimensional force / torque sensors located at the end effector. However, the raw data generated by the sensors may contain a large amount of redundant information and high-frequency noise, which could degrade subsequent control performance. Therefore, state estimation is used for filtering to smooth the sensor data and remove noise, thus providing more accurate and reliable information about the robot's actual center of mass state.

[0073] In this embodiment, a control cycle refers to the time required for the robot to complete one control operation. Typically, a control cycle includes the entire process from the robot's locomotion controller acquiring sensor data to calculating control commands, and then sending the commands to the motors to drive the joints. It is understood that a robot's task usually requires multiple consecutive control cycles to complete. For example, the control cycle can be in the millisecond range.

[0074] S120, calculate the robot's capture point error for each control cycle based on the planned centroid state and the measured centroid state.

[0075] When a robot encounters an external thrust, it remains at or moves towards a point on the ground. This point allows the robot to regain balance, with zero kinetic energy; this is the capture point (CP). Typically, during normal movement, there may be a small positional error between the theoretical and actual capture points, but this does not affect the robot's balance. Conversely, if the capture point error suddenly increases or exceeds the allowable error range, it indicates that the robot may be subject to external disturbance. Based on this, this application calculates the capture point error in real time by acquiring two centroid states. Especially when the robot is subjected to external disturbances, the capture point error or accumulated capture point error will change significantly. Therefore, the robot can analyze whether it is subject to external disturbances for further processing.

[0076] Exemplarily, the planned capture point of the robot can be calculated based on the planned centroid state of the current control cycle, and the measured capture point of the robot can be calculated based on the measured centroid state of the current control cycle. Furthermore, the deviation between the planned capture point and the measured capture point is used as the capture point error of the current control cycle.

[0077] The calculation methods for calculating the planned capture point from the planned centroid state and the calculated measurement capture point from the measured centroid state are the same. For example, in one embodiment, calculating the capture point based on the centroid state includes: calculating the robot's capture point for the current control cycle based on the robot's centroid position, centroid velocity, and the oscillation frequency when the robot is simplified to a linear inverted pendulum model.

[0078] First, the robot is simplified to a linear inverted pendulum model, which consists of a center of mass and a retractable, lightweight leg. In this embodiment, the robot's torso motion control is equivalent to the trajectory control of the center of mass in this simplified model, and the two mechanical legs are considered as retractable links in the model, as shown in Figure 3. For ease of describing the motion direction, a 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 forward (also known as the forward direction), the y-axis points laterally, and the z-axis points perpendicular to the ground. Furthermore, based on the linear inverted pendulum model, as shown in Figure 4, the following dynamic equations of the robot can be constructed in the sagittal plane (corresponding to the x-direction):

[0079] in,

[0080] In the formula, Let x be the acceleration of the center of mass. c p is the location of the center of mass. x Let ω be the position of the ZMP point; ω is the oscillation frequency of the linear inverted pendulum, which is a value relative to the height of the center of mass Z of the linear inverted pendulum model. cThe relevant constant is g, where g is the acceleration due to gravity.

[0081] In the linear inverted pendulum model, the capture point is a support point that allows the pendulum to come to a complete stop. In other words, during motion, if the robot lands on the capture point, it can achieve either static or dynamic equilibrium. Therefore, according to the definition of the capture point, the position ξ of the capture point... x With the position of the center of mass x c Center of mass velocity The following relationship must be satisfied:

[0082] Therefore, the aforementioned planned capture point can be calculated using the planned robot's center of mass position and velocity. Expressed as a formula, we have:

[0083] In the formula, ξ plan_x This represents the location of the planning capture point in the x-direction, x plan and These represent the planned centroid position and centroid velocity in the x-direction, respectively.

[0084] Similarly, in the coronal plane (corresponding to the y-direction), the following can be calculated:

[0085] In the formula, ξ plan_y This indicates the location of the planning capture point in the y-direction. plan and These represent the planned centroid position and centroid velocity in the x-direction, respectively.

[0086] For measuring the state of the centroid, taking the sagittal plane as an example, let's assume the position of the centroid obtained through state estimation is denoted as x. measure The velocity of the center of mass is denoted as Similarly, based on the definition of the capture point above, the measurement capture point can also be calculated using the formula for calculating the capture point described above. If expressed as a formula, the measurement capture point ξ... measure_x satisfy:

[0087] Similarly, within the coronal plane (corresponding to the y-direction), the capture point ξ is measured. measure_y satisfy:

[0088] Therefore, in the sagittal plane, the robot's capture point error CP in each control cycle error_x For: CP error_x =ξ plan_x -ξ measure_x .

[0089] Similarly, in the coronal plane, the robot's capture point error CP in each control cycle... error_y For: CP error_y =ξ plan_y -ξ measure_y .

[0090] S130: Accumulate the capture point error for each control cycle to obtain the total accumulated capture point error.

[0091] As an example, the cumulative capture point error of each leg of the robot in the same gait is calculated separately, and then the cumulative capture point errors of all legs are added together to obtain the total cumulative capture point error used to adjust the position of the foot landing point.

[0092] Typically, the gait of a bipedal robot is periodic, with one gait cycle consisting of multiple control cycles. In one gait cycle, the robot's center of mass moves from behind the supporting foot to in front of it. Laterally, the center of mass gradually moves closer to the supporting foot in the early part of the cycle and then gradually moves away, thus completing one gait cycle. For the two legs of a bipedal 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.

[0093] Regarding the calculation of the cumulative error of the capture point for each leg, in one implementation, for the same leg, when it is in the support phase (i.e., the support leg phase), the capture point error is accumulated; when it is in the swing phase (i.e., the swing leg phase), the cumulative error of the capture point is cleared to zero.

[0094] In the sagittal plane, taking the left leg as an example, if the capture point error is accumulated during the support phase, then:

[0095] In the formula, e lx and These are the accumulated capture point errors for the current control cycle and the previous controller cycle, respectively. It can be understood that the accumulated capture point error for the previous controller cycle is also obtained through accumulation.

[0096] When the left leg is in the swing phase, after clearing the capture point error for each control cycle, we have:

[0097] In other words, when the left leg is the supporting leg in the first gait, the capture point error is continuously accumulated. When the next gait is switched to the swing leg, the capture point error calculated in each control cycle will be cleared to zero, and the accumulated capture point error will also be zero.

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

[0099] Within 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 errors of the robot's swing leg in each control cycle are reset to zero. Then, the cumulative capture point errors of the two legs within 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, this can be described by the formula: e x =e lx +e rx ;

[0100] In the formula, e x e is the total error accumulated at the capture points of the robot in each control cycle. lx and e rx These represent the cumulative errors at the capture points of the left and right legs in each control cycle.

[0101] Similarly, within the coronal plane, the cumulative error e of the robot's capture points in each control cycle can be obtained by following the steps described above. y This will not be described in detail here.

[0102] It is understandable that since the capture point error of the swing leg is zero in each control cycle, the cumulative capture point error of the swing leg is also zero. Therefore, the total cumulative capture point error of the robot within a gait is equal to the cumulative capture point error of the supporting leg. It is worth noting that this application calculates the total cumulative capture point error of the robot in order to consider the capture point error from the perspective of the robot as a whole, so that the capture point error of each control cycle can be accumulated and passed to the next control cycle, thereby affecting the landing position of the subsequent swing leg.

[0103] S140: Detect whether the capture point error or the cumulative total capture point error exceeds a preset threshold range. If it exceeds the preset threshold range, proceed to step S150; otherwise, online adjustment of the landing point position is not required.

[0104] As an example, by detecting the magnitude of the capture point error in the current control cycle, or by detecting the magnitude of the cumulative total capture point error obtained by continuously accumulating from the current control cycle to previous control cycles, it can be determined whether the robot has been suddenly disturbed by an external force. The sources of this external force disturbance can be varied, such as being pushed or colliding with another object that suddenly enters the system; these are not limited here.

[0105] 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 over multiple control cycles is used for judgment, a larger cumulative error threshold range can be set.

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

[0107] As an example, when the capture point error (or the cumulative total capture point error) exceeds a preset threshold range, it indicates that the robot is experiencing an external disturbance. To ensure the robot's balance, the robot's landing point position needs to be adjusted online. Therefore, a compensation amount for the landing point position of the robot's swing leg is calculated based on the cumulative total capture point error. This compensation amount is then used to adjust the planned landing point position of the swing leg, resulting in the adjusted landing point position. Conversely, when the capture point error (or the cumulative total capture point error) is within the preset threshold range, it indicates that the robot is not experiencing an external disturbance, and no online adjustment is required.

[0108] Typically, the movement of the swing leg within a gait consists of first raising the leg to its highest point (the leg-raising phase) and then lowering it to the ground (the leg-landing phase). Alternatively, in practice, since it is uncertain when the robot will be disturbed by external forces, there can be various timing options for compensating for the robot's foot placement.

[0109] As an alternative approach, compensation for the landing point of the robot's swing leg is only performed 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 landing point, allowing the robot to land smoothly.

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

[0111] S210, Detect whether the current end position of the robot's swing leg is in the leg-lifting phase. Here, the current end position refers to the end position of the swing leg when the robot detects an external disturbance (also the moment to determine the foot placement adjustment).

[0112] If the robot is in the leg-lifting phase, then step S230 is executed to adjust the planned landing point of the swing leg in the current gait based on the cumulative total error of the capture point.

[0113] If the landing phase is underway, as the first optional solution, as shown in Figure 4, this method also includes:

[0114] S250, if in the landing phase, 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, then proceed to step S230.

[0115] Typically, the total swing time of the swing leg within a gait is fixed, and the remaining motion time can be calculated by subtracting the already swung time from the fixed total motion time. Expressed as an expression, the remaining motion time satisfies: T = T0 s -t s ;

[0116] In the formula, T is the remaining motion time. s It is a fixed total oscillation time, t s This represents the current swinging time of the swinging leg. It can be understood that if the remaining motion time is greater than or equal to a set time threshold, it indicates that there is sufficient time for online adjustment of the foot position, and the adjustment operation can be completed within the remaining motion time. Conversely, if it is less than the time threshold, it indicates that the robot may not have enough time to adjust the foot position.

[0117] It is understandable that if the remaining movement time of the swing leg is sufficient, the landing point position can be adjusted online. If it is greater than or equal to a preset time threshold, the planned landing point position of the robot's swing leg in the current gait is adjusted based on the cumulative total error of the capture points.

[0118] For online adjustments during the leg-lifting or leg-landing phases, for example, in one implementation, the step of calculating a compensation amount for the landing point position of the robot's swing leg based on the cumulative total error of the capture points, and using this compensation amount to adjust the planned landing point position of the swing leg, includes:

[0119] As an example, by using a preset proportional coefficient to limit the cumulative total error of the capture point, an adjustment value is obtained, which is then used as the compensation amount for the landing position of the robot's swing leg. Subsequently, this compensation amount is added to the planned landing position to obtain the adjusted landing position.

[0120] If described by a formula, the compensation amount for the foot position in the sagittal plane is: f xe =k x e x ;

[0121] In the formula, f xe k is the compensation amount in the x-direction. x e is the preset scaling factor in the x-direction. x Accumulate the total error for the capture point in the x-direction.

[0122] Similarly, in the coronal plane, the compensation for the landing point position is: f ye =k y e y ;

[0123] In the formula, f ye k is the compensation amount in the y-direction. y e is the preset scaling factor in the y-direction. y Accumulate the total error for the capture point in the y-direction.

[0124] It is understandable that the cumulative total error of the capture point will become very large when the robot is disturbed by external forces. Since there is a large dimensional difference between the cumulative total error of the capture point and the value of the robot's landing point, coupled with the limitations of the robot's mechanical structure, a coefficient is needed for proportional mapping, which also serves as a limiting factor. This preset proportional coefficient can be set according to actual needs and is not limited here.

[0125] Furthermore, as shown in Figure 6, in the sagittal plane, the adjusted landing point position satisfies: f x =f xe +f xn ;

[0126] In the formula, f x f represents the adjusted landing point position in the x-direction. xn This refers to the location of the planned landing point in the x-direction.

[0127] Similarly, within the coronal plane, the adjusted landing point position satisfies: f y =f ye +f yn ;

[0128] In the formula, f y f represents the adjusted landing point position in the y-direction. yn The location of the landing point in the y-direction planning.

[0129] If the process is in the landing phase, as a second alternative, for step S250 above, the method further includes:

[0130] S270, if the remaining motion time is less than the preset time threshold, the landing position of the robot's swing leg in the next step is replanned based on the total accumulated error of the capture points accumulated in the current gait.

[0131] It is understandable that if the remaining motion time of the swing leg in the current gait is insufficient, since this application calculates the total cumulative error of the robot's overall capture points, when entering the transition phase of the next gait, since the total cumulative error of the robot's capture points in the current gait is not zero, it can be passed on to the next gait, thereby affecting the replanning of the landing point position of the swing leg in the next gait.

[0132] In addition, as a third option, for step S210 above, if it is in the landing stage, the landing point position is not adjusted.

[0133] S160 controls the movement of the swinging leg so that the robot lands at the adjusted foot position.

[0134] As an example, after calculating the adjusted landing point position 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 balance without falling when it is disturbed by external forces.

[0135] As an optional approach to step S160, as shown in Figure 7, the trajectory of the swing leg is replanned before controlling the swing leg movement. Exemplarily, this method includes:

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

[0137] For example, after obtaining the adjusted landing point position, the starting point can be selected when the capture point error or the total cumulative error of the capture point exceeds a preset threshold range, and the adjusted landing point position can be used as the ending point. Then, the motion trajectory can be replanned using a smooth curve.

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

[0139] In one implementation, the positions and velocities of the two points mentioned above can be selected for replanning. For example, taking a cubic polynomial curve as an example, a cubic spline interpolation method can be used to plan the new swing leg motion trajectory. If described by an expression, we have: s(t) = at 3 +bt 2 +ct+d;

[0140] in, c = v0; d = x0;

[0141] In the formula, s(t) is the trajectory of the swing leg at the end, t is the current control cycle, a, b, c and d are curve coefficients, T is the remaining motion time of the swing leg, (x0,v0) is the position and velocity of the starting point, and (x1,v1) is the position and velocity of the ending point. When the swing leg touches the ground, the velocity of the ending point is v1 = 0.

[0142] Therefore, the position and velocity of the swing leg end in the next control cycle can be obtained from the replanned motion trajectory of the swing leg, i.e., (s(t) k+1 ), ).

[0143] It is understandable that, due to the adjustment of the planned landing point of the swing leg, and by replanning the motion trajectory using two points, on the one hand, the smoothness of the swing leg's end position and speed can be ensured, making the swing leg's movement more gentle, reducing abrupt movements and sudden impacts, thereby improving the robot's overall stability. On the other hand, smooth movement reduces the impact and wear on the robot's internal joint components, extending the robot's service life.

[0144] The robot walking control method in this embodiment starts with the capture point error. By accumulating the capture point error, it calculates the compensation amount for the landing point position when subjected to external force disturbances, and then adjusts the landing point online. Furthermore, it uses the end effector position and velocity when subjected to external force disturbances, combined with the adjusted landing point position, to replan the motion trajectory of the robot's swing leg, thereby achieving smooth swing leg movement. This method can handle the robot's balance maintenance when subjected to external force disturbances, and is applicable not only to flat ground but also to irregular terrain, enhancing the robot's adaptability.

[0145] Figure 8 shows a schematic diagram of a robot walking control device 100 according to an embodiment of this application. Exemplarily, the robot walking control device 100 includes:

[0146] The acquisition module 110 is used to acquire the center of mass state of the robot in each control cycle, the center of mass state including the planned center of mass state and the measured center of mass state.

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

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

[0149] The landing point adjustment module 170 is used to adjust the landing point position of the robot's swing 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.

[0150] The motion control module 190 is used to control the movement of the swing leg so that the robot lands at the adjusted foot position.

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

[0152] The trajectory replanning module 180 is used to replan the motion trajectory of the robot's swing leg based on the adjusted foot position, and obtain the replanned motion trajectory.

[0153] Accordingly, the motion control module 190 is used to control the movement of the swing leg according to the replanned motion trajectory so that the robot lands at the adjusted foot position.

[0154] It is understood that the device in this embodiment corresponds to the robot walking control method in the above embodiment, and the options in the above embodiment are also applicable to this embodiment, so they will not be described again here.

[0155] This application also provides a computer-readable storage medium for storing the computer program used in the bipedal robot described above. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0156] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, in alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0157] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0158] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0159] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A robot walking control method characterized by comprising: The method comprises: acquiring a center-of-mass state of the robot in each control cycle, the center-of-mass state comprising a planned center-of-mass state and a measured center-of-mass state; calculating a 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 in each control cycle to obtain a capture point accumulated total error; when the capture point error or the capture point accumulated total error exceeds a preset threshold range, adjusting a landing point position of a swing leg of the robot based on the capture point accumulated total error; and controlling movement of the swing leg so that the robot lands at the adjusted landing point position.

2. The robot walking control method according to claim 1, characterized by, The control of the movement of the swing leg further comprises: replanning a movement trajectory of the swing leg of the robot based on the adjusted landing point position, so as to control the movement of the swing leg according to the replanned movement trajectory.

3. The robot walking control method according to claim 1, characterized by, The calculation 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: calculating a planned capture point and a measured capture point of the robot according to the planned center-of-mass state and the measured center-of-mass state in the current control cycle, so as to take a deviation between the planned capture point and the measured capture point as the capture point error in the current control cycle.

4. The robot walking control method according to claim 3, characterized by, The center-of-mass state comprises a center-of-mass position and a center-of-mass velocity of the robot, and the calculation of the capture point according to the center-of-mass state in the current control cycle comprises: calculating the capture point of the robot in the current control cycle according to the center-of-mass position, the center-of-mass velocity of the robot in the current control cycle, and a swing frequency when the robot is simplified as a linear inverted pendulum model.

5. The robot walking control method according to claim 1, characterized by, The accumulation of the capture point error in each control cycle to obtain the capture point accumulated total error comprises: accumulating the capture point error of the support leg of the robot in each control cycle within one gait to obtain a capture point accumulated error of the support leg; and clearing the capture point accumulated error of the swing leg of the robot in each control cycle within the same gait; and adding the capture point accumulated errors of the legs to obtain the capture point accumulated total error of the robot.

6. The robot walking control method according to claim 1, characterized by, The adjustment of the landing point position of the swing leg of the robot based on the capture point accumulated total error further comprises: detecting whether a current end position of the swing leg of the robot is in a leg-lifting phase; if the current end position is in the leg-lifting phase, adjusting a planned landing point position of the swing leg of the robot in the current gait based on the capture point accumulated total error.

7. The robot walking control method according to claim 6, characterized by, The method further comprises: if the current end position is in a leg-lowering phase, not performing the adjustment; or, if the current end position is in the leg-lowering phase and a remaining movement time of the swing leg in the current gait is greater than or equal to a preset time threshold, adjusting the planned landing point position of the swing leg of the robot in the current gait based on the capture point accumulated total error; or, if the current end position is in the leg-lowering phase and the remaining movement time of the swing leg in the current gait is less than the preset time threshold, replanning a landing point position of the swing leg of the robot in a next gait based on the capture point accumulated total error accumulated in the current gait.

8. The robot walking control method according to claim 1, 6 or 7, characterized by, The adjustment of the landing point position of the robot's swing leg based on the cumulative total error of the capture points includes: The compensation amount for the landing point position of the robot's swing leg is calculated based on the cumulative total error of the capture point, and the planned landing point position of the swing leg is adjusted using the compensation amount to obtain the adjusted landing point position.

9. The robot walking control method according to claim 8, characterized by, The step of calculating the compensation amount for 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 using the compensation amount to obtain the adjusted landing point position, includes: The cumulative total error of the capture point is limited and adjusted using a preset proportional coefficient to obtain an adjustment value, which is then used as the compensation amount for the landing position of the robot's swing leg. The adjusted landing point position is obtained by adding the compensation amount to the planned landing point position.

10. The robot walking control method according to claim 2, characterized by, The replanning of the motion trajectory of the robot's swinging leg based on the adjusted foot position includes: The starting point is selected when the capture point error or the cumulative total capture point error exceeds a preset threshold range, and the adjusted landing point is selected as the ending point. The motion trajectory of the swing leg is then replanned using a smooth curve.

11. The robot walking control method according to claim 10, wherein 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 by comprising: include: The acquisition module is used to acquire the center of mass state of the robot in each control cycle, including the planned center of mass state and the measured center of mass state; An error calculation module is used to calculate the capture point error of the robot in each control cycle based on the planned centroid state and the measured centroid state. The error accumulation module is used to accumulate the capture point error for each control cycle to obtain the total accumulated capture point error. The landing point adjustment module is used to adjust the landing point position of the robot's swing 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 replan the motion trajectory of the robot's swing leg based on the adjusted foot position, so as to control the movement of the swing leg according to the replanned motion trajectory.

13. A biped robot characterized by comprising: The bipedal robot includes a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the robot walking control method according to any one of claims 1-10.

14. A computer-readable storage medium, characterized in that, It stores a computer program, which, when executed, implements the robot walking control method according to any one of claims 1-10.