Bipedal robot walking control method, device and electronic equipment

By controlling the position of the bipedal robot's waist in the height direction and optimizing its walking mode to make it closer to human straight-leg movement, the problem of low energy utilization efficiency in existing technologies is solved, and more efficient knee joint energy utilization and humanoid movement effects are achieved.

CN117755410BActive Publication Date: 2026-05-26UBTECH ROBOTICS CORP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
UBTECH ROBOTICS CORP LTD
Filing Date
2023-12-14
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing bipedal robots do not include straight-leg walking, which results in a large torque output by the robot's knees, low energy utilization efficiency, and an inability to achieve human-like movement effects.

Method used

By controlling the position of the waist of the bipedal robot in the vertical direction, making it move as close as possible to the straight legs of a human, the walking control is optimized by using the projection point of the center of mass on the target plane and the length of the lever arm, thereby improving the energy utilization efficiency of the knee joint motor.

Benefits of technology

This technology enables bipedal robots to move in a manner similar to that of humans with straight legs, while also improving the energy utilization efficiency of the knee joint motors and enhancing the anthropomorphism and stability of the movement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117755410B_ABST
    Figure CN117755410B_ABST
Patent Text Reader

Abstract

This application provides a bipedal robot walking control method, device, and electronic device, relating to the field of robotics. The method includes: determining multiple selectable points on a target plane based on the first projection point of the bipedal robot's center of mass on the target plane, where the target plane is a plane constructed by the forward direction and height direction of the bipedal robot's body; calculating the first lever arm length corresponding to each selectable point based on the projection information of the target leg on the target plane, where the target leg is one of the bipedal robot's legs and serves as the supporting leg; selecting the selectable point corresponding to the smaller first lever arm length among the multiple first lever arm lengths as the target point; and controlling the bipedal robot to walk with straight legs based on the height of the center of mass corresponding to the target point. Thus, by controlling the position of the bipedal robot's waist in the height direction, the bipedal robot moves in a manner as close as possible to that of a human with straight legs, while effectively improving the energy utilization efficiency of the robot's knee joint motors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and more specifically, to a method, apparatus, and electronic device for controlling the walking of a bipedal robot. Background Technology

[0002] Current bipedal robots do not include straight-leg walking, which results in a large torque output from the robot's knees, low energy efficiency, and an inability to achieve more human-like movement. Therefore, how to enable bipedal robots to mimic human facial straight-leg walking has become a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0003] This application provides a bipedal robot walking control method, device, electronic device, and readable storage medium, which can control the position of the waist of the bipedal robot in the height direction so that the bipedal robot moves in a manner as close as possible to the straight legs of a human, while effectively improving the energy utilization efficiency of the robot's knee joint motor.

[0004] The embodiments of this application can be implemented as follows:

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

[0006] Based on the first projection point of the center of mass of the bipedal robot on the target plane, multiple optional points are determined on the target plane. The target plane is a plane constructed by the forward direction and the height direction of the bipedal robot's body. The optional points are the second projection points of the positions that the center of mass can reach in the next control cycle on the target plane.

[0007] Based on the projection information of the target leg on the target plane, the length of the first lever arm corresponding to each of the optional points is calculated, wherein the target leg is one of the legs of the bipedal robot and is the supporting leg;

[0008] The smaller of the multiple first lever arm lengths is selected as the target point;

[0009] The bipedal robot is controlled to walk on straight legs based on the height of the centroid corresponding to the target point.

[0010] Secondly, embodiments of this application provide a bipedal robot walking control device, the device comprising:

[0011] The optional point determination module is used to determine multiple optional points on the target plane based on the first projection point of the center of mass of the bipedal robot on the target plane. The target plane is a plane constructed by the forward direction and the height direction of the body of the bipedal robot. The optional point is the second projection point of the position that the center of mass can reach in the next control cycle on the target plane.

[0012] The calculation module is used to calculate the length of the first lever arm corresponding to each of the selectable points based on the projection information of the target leg on the target plane, wherein the target leg is one of the legs of the bipedal robot and is a supporting leg;

[0013] The selection module is used to select the optional point corresponding to the smaller of the multiple first lever arm lengths as the target point;

[0014] The control module is used to control the bipedal robot to walk on straight legs according to the height of the centroid corresponding to the target point.

[0015] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory, wherein the memory stores machine-executable instructions that can be executed by the processor, and the processor can execute the machine-executable instructions to implement the bipedal robot walking control method described in the foregoing embodiments.

[0016] Fourthly, embodiments of this application provide a readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the bipedal robot walking control method as described in the foregoing embodiments.

[0017] The bipedal robot walking control method, device, electronic device, and readable storage medium provided in this application firstly determine multiple selectable points on a target plane based on a first projection point of the bipedal robot's center of mass on the target plane. Then, for each selectable point, the first lever arm length corresponding to each selectable point is calculated based on the projection information of the target leg on the target plane. Next, the selectable point corresponding to the smaller first lever arm length among the multiple first lever arm lengths is taken as the target point. Finally, the bipedal robot is controlled to walk with straight legs based on the height of the center of mass corresponding to the target point. The target plane is a plane constructed by the forward direction and the height direction of the bipedal robot's body. The selectable point is a second projection point on the target plane of the position reachable by the center of mass in the next control cycle. The target leg is one of the bipedal robot's legs and serves as the supporting leg. In this way, by controlling the position of the bipedal robot's waist in the height direction, the bipedal robot moves in a manner as close as possible to human straight legs, while effectively improving the energy utilization efficiency of the robot's knee joint motor. Attached Figure Description

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

[0019] Figure 1 A block diagram illustrating an electronic device provided in an embodiment of this application;

[0020] Figure 2 A flowchart illustrating the bipedal robot walking control method provided in this application embodiment;

[0021] Figure 3 This is a side view of a bipedal robot walking, provided in an embodiment of this application.

[0022] Figure 4 for Figure 2 A flowchart illustrating the sub-steps included in step S110;

[0023] Figure 5 for Figure 2 A flowchart illustrating the sub-steps included in step S120;

[0024] Figure 6 for Figure 2 A flowchart illustrating the sub-steps included in step S130;

[0025] Figure 7 for Figure 6 A flowchart illustrating the sub-steps included in the neutron step S132;

[0026] Figure 8 This is a schematic diagram of the walking control process provided in an embodiment of this application;

[0027] Figure 9 This is one of the schematic diagrams of bipedal robot walking provided in the embodiments of this application;

[0028] Figure 10 This is the second schematic diagram of a bipedal robot walking provided in the embodiments of this application;

[0029] Figure 11 This is the third schematic diagram of bipedal robot walking provided in the embodiments of this application;

[0030] Figure 12 This is a block diagram of a bipedal robot walking control device provided in an embodiment of this application.

[0031] Icons: 100 - Electronic device; 110 - Memory; 120 - Processor; 130 - Communication unit; 200 - Bipedal robot walking control device; 210 - Optional point determination module; 220 - Calculation module; 230 - Selection module; 240 - Control module. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of 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. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.

[0033] Therefore, the following detailed description of the embodiments of this application provided in the accompanying 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.

[0034] It should be noted that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0035] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.

[0036] Please refer to Figure 1 , Figure 1This is a block diagram of an electronic device 100 provided in an embodiment of this application. The electronic device 100 may be, but is not limited to, a terminal device, a server, a bipedal robot, etc. The electronic device 100 may include a memory 110, a processor 120, and a communication unit 130. The memory 110, processor 120, and communication unit 130 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines.

[0037] The memory 110 is used to store programs or data. The memory 110 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.

[0038] The processor 120 is used to read / write data or programs stored in the memory 110 and execute corresponding functions. For example, the memory 110 stores a bipedal robot walking control device 200, which includes at least one software function module that can be stored in the memory 110 in the form of software or firmware. The processor 120 executes various functional applications and data processing by running the software programs and modules stored in the memory 110, such as the bipedal robot walking control device 200 in this embodiment, thereby realizing the bipedal robot walking control method in this embodiment.

[0039] The communication unit 130 is used to establish a communication connection between the electronic device 100 and other communication terminals through the network, and to send and receive data through the network.

[0040] It should be understood that, Figure 1 The structure shown is only a schematic diagram of the electronic device 100. The electronic device 100 may also include components that are larger than... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown. Figure 1 The components shown can be implemented using hardware, software, or a combination thereof.

[0041] Please refer to Figure 2 , Figure 2 This is a flowchart illustrating a bipedal robot walking control method provided in an embodiment of this application. The method is applied to the aforementioned electronic device. The specific flow of the bipedal robot walking control method is described in detail below. In this embodiment, the method may include steps S110 to S140.

[0042] Step S110: Based on the first projection point of the center of mass of the bipedal robot on the target plane, determine a plurality of optional points on the target plane.

[0043] In this embodiment, the current position of the center of mass of the bipedal robot can be obtained, and then the first projection point of the current position of the center of mass on the target plane can be obtained. Optionally, the actual position of the waist of the bipedal robot can be obtained, and the current position of the center of mass can be determined based on the actual position of the waist. For example, when the actual position of the waist includes the positions of the left and right hip joints, the midpoint of the positions of the two hip joints can be used as the current position of the center of mass. When the actual position of the waist is a single position, that position can be directly used as the current position of the center of mass. It is understood that the above method of obtaining the current position of the center of mass is only an example, and the current position of the center of mass can also be obtained by other methods.

[0044] The target plane is defined by the forward direction and the height direction of the bipedal robot. Figure 3 The side view of the bipedal robot walking shown is shown. The positive X direction is the robot's forward direction, and the Z axis is the robot's height plane. The first projection point of the current position of the centroid on the target plane is the COM in the XZ plane.

[0045] Optionally, the first projection point can be moved on the first target plane according to actual needs, and the moved point can be used as the projection point of the centroid on the target plane in the next control cycle. That is, the optional point is the second projection point of the position that the centroid can reach in the next control cycle on the target plane.

[0046] Step S120: Calculate the length of the first lever arm corresponding to each of the selectable points based on the projection information of the target leg on the target plane.

[0047] In this embodiment, the target leg is one of the legs of the bipedal robot and serves as a supporting leg, the specific leg being determined based on actual conditions. The projection point of the ZMP (Zero Moment Point) and the projection point of the knee joint can be determined on the target plane based on the projection information of the target leg on the target plane. Then, for each selectable point, a triangle can be formed based on the selectable point on the target plane, the ZMP projection point, and the knee joint projection point, thereby calculating the first lever arm length corresponding to that selectable point.

[0048] Step S130: Select the optional point corresponding to the smaller of the multiple first lever arm lengths as the target point.

[0049] Multiple first lever arm lengths can be directly compared to select the target point corresponding to the smallest first lever arm length. For example, the target point can be selected based on the smallest first lever arm length, or a point that is smaller but not the smallest. The specific choice depends on the actual requirements. Alternatively, other selection conditions can be considered to select the target point corresponding to the smallest first lever arm length. Similarly, other selection conditions can be considered to select the target point corresponding to the smallest first lever arm length from among the available points that satisfy those conditions, or a point that is smaller but not the smallest first lever arm length from among the available points that satisfy those conditions. The target point is the height trajectory point of the centroid in the next step.

[0050] Step S140: Control the bipedal robot to walk with straight legs according to the height of the centroid corresponding to the target point.

[0051] After determining the target point, the height of the target point in the target plane can be obtained, and this height can be used as the corresponding center of mass height. Then, the bipedal robot can be controlled to walk with straight legs based on the center of mass height.

[0052] Thus, by using the above-mentioned position-controlled bipedal robot straight-leg walking algorithm, the position of the bipedal robot's waist in the height direction (i.e., the Z direction, vertical direction) is controlled, so that the bipedal robot moves in a way that is as close as possible to human straight legs, while effectively improving the energy utilization efficiency of the robot's knee joint motor.

[0053] Please refer to Figure 4 , Figure 4 for Figure 2 A flowchart illustrating the sub-steps included in step S110. In this embodiment, step S110 may include sub-steps S111 to S112.

[0054] Sub-step S111: Using the first projection point as the center and a preset distance as the radius, a circular area is determined on the target plane.

[0055] In this embodiment, as Figure 3 As shown, a circular region is defined on the target plane with the first projection point COM as the center and a preset distance r as the radius. Optionally, the preset distance can be determined based on actual needs; for example, the radius can be set to be extremely small to ensure that the center of mass is positioned within this range, preventing the bipedal robot from exhibiting significant jumps or shaking. This circular region indicates the direction of the center of mass adjustment in the next control cycle.

[0056] Sub-step S112: Determine the plurality of selectable points from the circular region.

[0057] In this embodiment, once the circular region is determined, points can be selected from the circular region as optional points in various ways. For example, multiple points can be randomly selected from the circular region as the multiple optional points, or the circular region can be divided into multiple grids, and the center point of each grid can be used as the optional point, etc.

[0058] As a possible implementation, to avoid the selected optional points having a small change in the distance between the centroids in the height direction, resulting in poor leg walking performance, and to avoid excessive computation, multiple points can be determined from the edge line of the circular region as the multiple optional points. Optionally, the edge line of the circular region can be equally divided into n parts, and each part can be represented by a point, thus using the point corresponding to each part as the optional point.

[0059] exist Figure 3 The side view shown depicts a bipedal robot walking, in the single-leg support phase. In this side view, assume the length from the robot's waist to its left knee is L. L1 The length from the right knee is L. R1 The length from the robot's left knee to its left ankle is L. L2 The length from the robot's right knee to its right ankle is L. R2 The distance from the waist to the left ankle is L. L3 The length from the right ankle is L. R3 All of the above values ​​can be obtained from forward kinematics. Assuming the left leg is the supporting leg, the straight-leg walking algorithm provided in this application aims to keep the supporting leg as straight as possible. Therefore, a variable is needed to represent the degree of bending of the robot.

[0060] When the robot walks with straight legs, the output torque of the knee joint decreases sharply; in other words, the resistance arm exerted by the ground on the knee decreases. The direction of the force exerted by the ground on the robot's center of mass is from the ZMP point to the center of mass. The waist can be considered the robot's center of mass. However, because the ZMP point varies too much to be used as a calculation standard, and considering the robot's relatively small feet, the ankle of the supporting leg is ultimately chosen as an approximation of the actual ZMP point. The center of mass is then projected onto the XZ plane containing the supporting leg, i.e., onto the target plane. Thus, it can be calculated as follows: Figure 3 As shown, a triangle can be constructed from the robot's waist, knees, and ankles. The height of the longest side of the triangle serves as the resistance torque exerted by the ground on the knee joint. The smaller this value, the smaller the torque output by the knee, the higher the energy utilization efficiency, and the straighter the robot walks.

[0061] Based on the above considerations, one possible implementation method is through... Figure 5 The method shown obtains the first lever arm length corresponding to each selectable point. Please refer to... Figure 5 , Figure 5 for Figure 2 A flowchart illustrating the sub-steps included in step S120. In this embodiment, step S120 may include sub-steps S121 to S122.

[0062] Sub-step S121: For each of the optional points, calculate the area of ​​the triangle based on the position of the optional point, the knee joint and the ankle joint of the target leg on the target plane.

[0063] Sub-step S122: Calculate the first lever arm length corresponding to the optional point based on the area of ​​the triangle, the optional point, and the position of the ankle joint of the target leg on the target plane.

[0064] For a given point, a triangle can be determined based on the position of that point on the target plane, the position of the knee joint of the target leg on the target plane, and the position of the ankle joint of the target leg on the target plane. The area of ​​this triangle can then be calculated; this area is the leg triangle area of ​​the target leg. This process can be expressed using the following formula:

[0065]

[0066] Where L1 represents the length from the selectable point to the knee joint of the target leg on the target plane; L2 represents the length from the knee joint of the target leg to the ankle joint of the target leg on the target plane; and a represents the supplementary angle between the side corresponding to L1 and the side corresponding to L2.

[0067] After that, according to the area and the distance from the centroid in the target plane to the ankle joint of the target leg, the lever arm d when the projection point of the centroid of the biped robot on the target plane is this optional point can be calculated: d = 2A / L3, where L3 represents the length from the optional point on the target plane to the ankle joint of the target leg. Calculating the above lever arm gives the first lever arm length corresponding to an optional point.

[0068] By repeating the above process, the first lever arm length corresponding to each optional point can be calculated.

[0069] It should be noted that in the above projection, the target leg and the centroid can be projected onto the XZ plane (i.e., the target plane) corresponding to a certain y value (the Y axis corresponding to the y value is perpendicular to the X and Z axes). In this way, the distance value can be directly calculated according to the XZ coordinates in the XZ plane; or the target leg can be projected onto the XZ plane of the target leg, and the centroid can be projected onto the XZ plane of the centroid. The y values corresponding to the two XZ planes in the XYZ coordinate system are different, but when calculating the distance value, the distance value is still directly calculated according to the XZ coordinates in the XZ plane. At this time, the two XZ planes can be regarded as one target plane.

[0070] Please refer to Figure 6 , Figure 6 For Figure 2 the flowchart of the sub-steps included in step S130 in

[0071] In sub-step S131, for each of the optional points, it is judged whether the set of side lengths corresponding to the optional point satisfies the triangle side length theorem, and the optional points whose set of side lengths satisfies the triangle side length theorem are determined as the first initial target points.

[0072] In this embodiment, for each optional point, the set of side lengths corresponding to the optional point can be obtained. The set of side lengths corresponding to an optional point includes, in the target plane, the first distance L1 from the optional point to the knee joint of the target leg, the second distance L2 from the knee joint of the target leg to the ankle joint of the target leg, and the third distance L3 from the optional point to the ankle joint of the target leg. Then, it can be judged whether the set of side lengths satisfies the triangle side length theorem, that is, whether L3 < L1 + L2. If it is satisfied, that is, L3 < L1 + L2 holds, then this optional point is taken as a first initial target point. If it is not satisfied, that is, L3 < L1 + L2 does not hold, then this optional point is not considered as the target point.

[0073] By repeating the above steps for each of the above optional points, the first initial target points can be determined.

[0074] Sub-step S132: Determine the target point from the determined first initial target points according to the first lever arm length corresponding to each first initial target point.

[0075] After determining the first initial target point, the lengths of the first lever arms corresponding to each first initial target point can be directly compared, and the smaller first lever arm length can be determined. The first initial target point corresponding to the smaller first lever arm length can then be used as the target point. Alternatively, further filtering can be performed to select a target point from the first initial target points.

[0076] The inventors of this application discovered through research that when a robot's knees are bent significantly, its control over its horizontal posture is stronger because the possibility of straightening the legs does not need to be considered. However, when the robot's knees are no longer bent, its horizontal control becomes significantly more limited; in other words, the robot's tracking ability for planned ZMP decreases during straight-leg movements. Taking this factor into account, [the following is a possible solution]: Figure 7 As shown, the centroid trajectory is filtered based on the error between the planned ZMP and the actual ZMP. Please refer to... Figure 7 , Figure 7 for Figure 6 A flowchart illustrating the sub-steps included in neutron step S132. In this embodiment, sub-step S132 may include sub-steps S1321 to S1323.

[0077] Sub-step S1321: Obtain the difference between the ZMP planning value and the actual ZMP value corresponding to each of the first initial target points.

[0078] Sub-step S1322: The first initial target point whose corresponding difference is less than the preset difference is determined as the second initial target point.

[0079] In this embodiment, the current ZMP point position of the target leg can be used as the actual ZMP value corresponding to each of the first initial target points. Furthermore, for each of the first initial target points, the planned ZMP value corresponding to that first initial target point is calculated. The actual ZMP value can be obtained from the force sensor data; the planned ZMP value can be obtained from the output of the waist tracking excitation trajectory. plan =-W acc +W pos W acc W represents the acceleration at the waist. pos Indicates the waist area.

[0080] For a given initial target point, the actual ZMP value can be subtracted from the planned ZMP value corresponding to that initial target point to obtain the difference. This difference is then compared with a preset difference. If the difference is less than the preset difference, the initial target point is designated as the second initial target point; if the difference is greater than or equal to the preset difference, the initial target point will not be considered as a target point, meaning it will not be included in the planning considerations.

[0081] Both the planned ZMP value and the actual ZMP value are two-dimensional coordinates in the horizontal plane, specifically in the XY plane formed by the aforementioned XY axes. The corresponding components of the two values ​​can be directly subtracted to obtain the difference between them. This difference is then compared to the corresponding preset difference. If both differences are less than the preset difference, it can be determined that the difference between the planned ZMP value and the actual ZMP value is less than the preset difference.

[0082] For example, the ZMP programming value is (ZMP plan_x ZMP plan_y The actual value of ZMP is (ZMP). mea_x ZMP mea_y The preset difference is ZMP. lim_x ZMP lim_y The calculated difference is: ZMP error_x =ZMP plan_x -ZMP mea_x ZMP error_y =ZMP plan_y -ZMP mea_y If ZMP error_x <ZMP lim_x ZMP error_y <ZMP lim_y Then, the first initial target point corresponding to the ZMP planning value can be used as a second initial target point. This can greatly improve the stability of the robot's movement.

[0083] After determining the second initial target point, the second initial target point corresponding to the smaller first lever arm length can be used as the target point.

[0084] Sub-step S1323: Determine the second target initial point corresponding to the smallest first lever arm length as the target point.

[0085] Alternatively, the lengths of the first lever arm corresponding to each second initial target point can be compared to determine the minimum length of the first lever arm, and the second initial target point corresponding to the minimum length of the first lever arm can be used as the target point.

[0086] After the target point is determined, the height of the centroid corresponding to the target point can be determined based on the position information of the target point on the target plane, and the bipedal robot can be controlled to walk according to the height of the centroid in the next control cycle to achieve straight-leg walking.

[0087] The inventors of this application have further discovered that, for straight-leg walking, the difference from ordinary gait lies in the fact that, for a fixed stride length, the center of mass height continuously changes (i.e., it changes within a gait cycle) to adapt to the length of the straight leg, preventing movement to singular positions that would lead to an unsolvable problem. For this type of motion with a constantly changing center of mass, it is difficult to maintain the robot's horizontal stability using a general compliant controller. Based on the above considerations, in this embodiment, the movement of the bipedal robot on the horizontal plane is controlled by a CP (Capture Point) control algorithm. In this method, the CZMP point of the bipedal robot (i.e., the point where the ZMP should reach when the robot's center of mass converges after an impact, i.e., the ideal ZMP point) can be calculated. The robot's waist is then controlled so that the actual ZMP can catch up with the CZMP point, thereby resisting impacts and ensuring the stability of its walking.

[0088] In this embodiment, the target horizontal position information of the center of mass in the next control cycle can be calculated based on the target ZMP planning value. The target ZMP planning value is calculated using the CP control algorithm, which controls the horizontal balance of the bipedal robot. Furthermore, based on the position information of the target point in the target plane, the target height information of the center of mass in the next control cycle is calculated. Finally, based on the target horizontal position information and the target height information, the bipedal robot is controlled to walk with straight legs in the next control cycle. Thus, the CP controller (i.e., the CP control algorithm) can effectively stabilize the robot's horizontal direction, and the robot can maintain stability even when adjusting its waist height.

[0089] By using the above method, the control parameters in the height direction can be superimposed on the planning of the robot's waist in the X and Y directions. This means that the robot's center of gravity has been moved to a point where the output torque of the supporting leg knee motor is smaller. By repeating this step in each motion cycle, a robot can achieve the effect of walking with straight legs.

[0090] At the same time, considering that when humans walk, with a long stride, the pitch angle of the swing leg's foot can be planned to achieve a more human-like movement effect, while also increasing the length of the swing leg.

[0091] The following section explains how the target leg is determined.

[0092] In the single-leg support phase of the bipedal robot, the supporting leg is designated as the target leg. In the two-leg support phase, the second lever arm lengths for each leg are calculated, and the leg with the smaller second lever arm length is designated as the target leg. That is, in the two-leg support phase, more attention is paid to the leg with the smaller lever arm, and this leg is the primary consideration for center-of-mass planning. The calculation method for the second lever arm length is the same as that for the first lever arm length, and will not be repeated here.

[0093] The following is combined Figure 8 An example is given to illustrate how the above-mentioned bipedal robot walking control method is executed.

[0094] First, CP control is activated, entering a gait cycle. One gait cycle includes multiple control cycles.

[0095] S1. Using the current actual position of the waist as the center and a fixed length as the radius, select positions in sequence on the circle.

[0096] S2. Calculate the error between the planned ZMP and the actual ZMP using the newly selected point as the waist position.

[0097] S3. For the newly selected point, determine whether it satisfies the triangle side length theorem. If not, select the next point on the circle in sequence, i.e., execute S1. If it satisfies, execute S4.

[0098] S4. Determine if the calculated error is less than the preset ZMP error. If it is not less, select the next point on the circle in sequence, i.e., execute S1. If the condition is met, execute S5.

[0099] S5. Compare whether the knee lever arm at this point is less than the lever arm of the currently determined minimum lever arm. If it is not less, select the next point on the circle in sequence, i.e., execute S1. If it is less, execute S6.

[0100] S6. Designate this point as the point of minimum lever arm. After S6, execute S7.

[0101] S7. Determine whether all points on the circle have been calculated.

[0102] If all calculations have been completed, the calculation ends, and the final calculated minimum point is used as the control quantity for the next control cycle. The control quantity for the next control cycle of the new control cycle can be calculated in the new control cycle.

[0103] The following is combined Figures 9-11 The results of simulation experiments using the aforementioned bipedal robot walking control method are presented below. The simulation environment is Webots.

[0104] By combining a controller for horizontal balance (CP) with a straight-leg walking controller for controlling the center of mass height, the robot can ultimately achieve a straight-leg walking speed of approximately 1.6 km / h. In fact, increasing the speed for straight-leg walking is difficult because increasing the stride length greatly increases the probability of the legs straightening during movement. Therefore, achieving straight-leg walking at this speed already demonstrates the stability of the algorithm.

[0105] Firstly, as Figure 9 As shown, the robot is in the two-legged support phase, at which point its left leg is preparing to leave the ground, entering the swinging phase. Figure 10 As shown, the robot's left leg leaves the ground, and pitch planning is initiated simultaneously; at the same time, the waist height is dynamically adjusted based on the ZMP error and the lever arm d. Figure 11 As shown, the robot lands and completes the swinging plan of its left leg.

[0106] This embodiment proposes a position control-based method for bipedal robot straight-leg walking. This method uses a CP controller to adjust the robot's horizontal balance and a related straight-leg walking controller to adjust the robot's vertical height, thereby achieving the effect of straight-leg walking.

[0107] To perform the corresponding steps in the above embodiments and various possible methods, an implementation of a bipedal robot walking control device 200 is given below. Optionally, the bipedal robot walking control device 200 can adopt the above-described... Figure 1 The device structure of the electronic device 100 shown. Further, please refer to... Figure 12 , Figure 12 This is a block diagram of a bipedal robot walking control device 200 provided in an embodiment of this application. It should be noted that the basic principle and technical effects of the bipedal robot walking control device 200 provided in this embodiment are the same as those in the above embodiments. For the sake of brevity, any parts not mentioned in this embodiment can be referred to the corresponding content in the above embodiments. In this embodiment, the bipedal robot walking control device 200 may include: an optional point determination module 210, a calculation module 220, a selection module 230, and a control module 240.

[0108] The optional point determination module 210 is used to determine multiple optional points on the target plane based on the first projection point of the center of mass of the bipedal robot on the target plane. The target plane is a plane constructed by the forward direction and height direction of the bipedal robot's body, and the optional points are the second projection points on the target plane of positions reachable by the center of mass in the next control cycle.

[0109] The calculation module 220 is used to calculate the length of the first lever arm corresponding to each of the selectable points based on the projection information of the target leg on the target plane. The target leg is one of the legs of the bipedal robot and serves as its supporting leg.

[0110] The selection module 230 is used to select the optional point corresponding to the smaller of the multiple first lever arm lengths as the target point.

[0111] The control module 240 is used to control the bipedal robot to walk with straight legs according to the height of the centroid corresponding to the target point.

[0112] Optionally, the above modules can be stored in the form of software or firmware. Figure 1 The memory 110 shown is either stored in or embedded in the operating system (OS) of the electronic device 100, and can be used by... Figure 1 The processor 120 executes the program. Meanwhile, the data and program code required to execute the above modules can be stored in the memory 110.

[0113] This application also provides a readable storage medium storing a computer program thereon, which, when executed by a processor, implements the bipedal robot walking control method.

[0114] In summary, this application provides a bipedal robot walking control method, device, electronic device, and readable storage medium. First, based on the first projection point of the bipedal robot's center of mass on a target plane, multiple selectable points are determined on the target plane. Then, for each selectable point, the first lever arm length corresponding to each selectable point is calculated based on the projection information of the target leg on the target plane. Next, the selectable point corresponding to the smaller of the multiple first lever arm lengths is taken as the target point. Finally, the bipedal robot is controlled to walk with straight legs based on the height of the center of mass corresponding to the target point. The target plane is a plane constructed by the forward direction and the height direction of the bipedal robot's body. The selectable point is a second projection point on the target plane of the position reachable by the center of mass in the next control cycle. The target leg is one of the bipedal robot's legs and serves as the supporting leg. Thus, by controlling the position of the bipedal robot's waist in the height direction, the bipedal robot moves in a manner as close as possible to human straight legs, while effectively improving the energy utilization efficiency of the robot's knee joint motor.

[0115] 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 illustrate 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 some 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 a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, 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.

[0116] In addition, the functional modules 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.

[0117] 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, in essence, 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 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.

[0118] The above description is merely an optional embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for controlling the walking of a bipedal robot, characterized in that, The method includes: Based on the first projection point of the center of mass of the bipedal robot on the target plane, multiple optional points are determined on the target plane. The target plane is a plane constructed by the forward direction and the height direction of the bipedal robot's body. The optional points are the second projection points of the positions that the center of mass can reach in the next control cycle on the target plane. Based on the projection information of the target leg on the target plane, the length of the first lever arm corresponding to each of the optional points is calculated, wherein the target leg is one of the legs of the bipedal robot and is the supporting leg; The smaller of the multiple first lever arm lengths is selected as the target point; The bipedal robot is controlled to walk on straight legs based on the height of the centroid corresponding to the target point.

2. The method according to claim 1, characterized in that, The step of selecting the optional point corresponding to the smaller of the multiple first lever arm lengths as the target point includes: For each of the optional points, it is determined whether the set of side lengths corresponding to the optional points satisfies the triangle side length theorem, and the optional points whose set of side lengths satisfies the triangle side length theorem are determined as the first initial target points. The set of side lengths corresponding to the optional points includes, in the target plane, the first distance from the optional point to the knee joint of the target leg, the second distance from the knee joint of the target leg to the ankle joint of the target leg, and the third distance from the optional point to the ankle joint of the target leg. Based on the first lever arm length corresponding to each of the first initial target points, the target point is determined from the determined first initial target points.

3. The method according to claim 2, characterized in that, The step of determining the target point from the determined first initial target points based on the first lever arm length corresponding to each first initial target point includes: Obtain the difference between the ZMP planning value and the actual ZMP value corresponding to each of the first initial target points; The first initial target point whose corresponding difference is less than the preset difference is determined as the second initial target point; The initial point of the second target corresponding to the smallest first lever arm length is determined as the target point.

4. The method according to claim 1, characterized in that, The step involves determining multiple selectable points on the target plane based on the first projection point of the bipedal robot's center of mass onto the target plane, including: A circular region is defined on the target plane with the first projection point as the center and a preset distance as the radius. The plurality of optional points are determined from the circular region.

5. The method according to claim 4, characterized in that, The determination of the plurality of selectable points from the circular region includes: Multiple points are determined from the edge line of the circular region as the multiple optional points.

6. The method according to any one of claims 1-5, characterized in that, The step of calculating the length of the first lever arm corresponding to each of the selectable points based on the projection information of the target leg on the target plane includes: For each of the optional points, the area of ​​the triangle is calculated based on the optional points and the positions of the knee and ankle joints of the target leg on the target plane; The length of the first lever arm corresponding to the optional point is calculated based on the area of ​​the triangle, the optional point, and the position of the ankle joint of the target leg on the target plane.

7. The method according to any one of claims 1-5, characterized in that, The step of controlling the bipedal robot to walk in straight legs based on the height of the centroid corresponding to the target point includes: The target horizontal position information of the centroid in the next control cycle is calculated based on the target ZMP planning value. The target ZMP planning value is calculated by the capture point CP control algorithm, which is used to control the horizontal balance of the bipedal robot. Based on the position information of the target point in the target plane, the target height information of the centroid in the next control cycle is calculated; Based on the target's horizontal position information and height information, the bipedal robot is controlled to walk on straight legs in the next control cycle.

8. The method according to any one of claims 1-3, characterized in that, Before calculating the first lever arm length corresponding to each of the selectable points based on the projection information of the target leg on the target plane, the method further includes: During the single-leg support phase of the bipedal robot, the supporting leg is taken as the target leg; During the bipedal robot's two-leg support phase, the length of the second lever arm corresponding to each leg of the bipedal robot is calculated, and the leg with the smaller second lever arm length is taken as the target leg.

9. A bipedal robot walking control device, characterized in that, The device includes: The optional point determination module is used to determine multiple optional points on the target plane based on the first projection point of the center of mass of the bipedal robot on the target plane. The target plane is a plane constructed by the forward direction and the height direction of the body of the bipedal robot. The optional point is the second projection point of the position that the center of mass can reach in the next control cycle on the target plane. The calculation module is used to calculate the length of the first lever arm corresponding to each of the selectable points based on the projection information of the target leg on the target plane, wherein the target leg is one of the legs of the bipedal robot and is a supporting leg; The selection module is used to select the optional point corresponding to the smaller of the multiple first lever arm lengths as the target point; The control module is used to control the bipedal robot to walk on straight legs according to the height of the centroid corresponding to the target point.

10. An electronic device, characterized in that, It includes a processor and a memory, the memory storing machine-executable instructions that can be executed by the processor, the processor executing the machine-executable instructions to implement the bipedal robot walking control method according to any one of claims 1-8.