Biped robot control method, electronic device, storage medium, and program product

CN119356384BActive Publication Date: 2026-09-11GUANGZHOU PENGXING INTELLIGENT TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411517529.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2026-09-11
Estimated Expiration
2044-10-28

AI Technical Summary

Technical Problem

[0004]本发明实施例提供了一种双足机器人的控制方法、电子设备、存储介质及程序产品,以至少解决相关技术中对双足机器人控制效果较差的技术问题

Benefits of technology

[0015] In this embodiment of the invention, in response to receiving a control command from a bipedal robot, the current posture of the bipedal robot is acquired. Then, based on the current posture and the desired posture, the relative movement position and relative swing angle of the bipedal robot are determined. Finally, the purpose of controlling the bipedal robot to run is achieved based on the relative movement position and relative swing angle. It is easy to note that the desired posture is carried by the control command. After obtaining the desired posture and the current posture of the bipedal robot, the relative movement position and relative swing angle of the bipedal robot are determined according to the relative stepping position and relative stepping angle between the supporting foot and the swinging foot, respectively. Then, the bipedal robot is controlled to run based on the relative movement position and relative swing angle. The above process achieves the purpose of accurately controlling the bipedal robot to run according to the expected target by acquiring the relative movement position and relative swing angle of the bipedal robot, thereby realizing the technical effect of remotely and accurately controlling the movement trajectory of the bipedal robot, and thus solving the technical problem of poor control effect of bipedal robots in related technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356384B_ABST
    Figure CN119356384B_ABST
Patent Text Reader

Abstract

The application discloses a kind of biped robot control method, electronic equipment, storage medium and program product.Therein, the method includes: in response to receiving the control instruction of biped robot, the current posture of biped robot is collected, wherein control instruction carries the expected posture of biped robot;Relative moving position and relative swing angle of biped robot are determined based on current posture and expected posture, wherein relative moving position is used to indicate the relative position of support foot and swing foot in the plane where biped robot is located, relative swing angle is used to indicate the relative angle of support foot and swing foot in the plane, support foot is used to support biped robot to be in stable state, swing foot is used to control biped robot to reach expected posture;Biped robot is controlled to run based on relative moving position and relative swing angle.The application solves the technical problem that the control effect of biped robot is poor in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot control, and more specifically, to a control method, electronic device, storage medium, and program product for a bipedal robot. Background Technology

[0002] With the continuous development of the field of intelligent control, the operation of remotely controlled bipedal robots also faces many challenges. In related technologies, imitation learning is used to realize the remote control of bipedal robots. However, by using existing planning control methods to achieve the walking ability of bipedal robots from scratch, it is impossible to achieve precise control over the running distance and angle of the bipedal robot, resulting in poor control effect of bipedal robots in related technologies.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This invention provides a control method, electronic device, storage medium, and program product for a bipedal robot, to at least solve the technical problem of poor control effect of bipedal robots in related technologies.

[0005] According to one aspect of the present invention, a control method for a bipedal robot is provided, comprising: in response to receiving a control command for the bipedal robot, acquiring the current posture of the bipedal robot, wherein the control command carries a desired posture of the bipedal robot; determining a relative movement position and a relative swing angle of the bipedal robot based on the current posture and the desired posture, wherein the relative movement position is used to represent the relative stepping position of the supporting foot and the swinging foot in the plane where the bipedal robot is located, and the relative swing angle is used to represent the relative stepping angle of the supporting foot and the swinging foot in the plane, the supporting foot is used to support the bipedal robot in a stable state, and the swinging foot is used to control the bipedal robot to reach the desired posture; and controlling the operation of the bipedal robot based on the relative movement position and the relative swing angle.

[0006] Further, determining the relative movement position and relative swing angle of the bipedal robot based on the current posture and the desired posture includes: constructing a preset coordinate system with the orientation of the bipedal robot in the current posture as the first preset axis and the center of mass of the bipedal robot as the origin, wherein the second preset axis in the preset coordinate system is on the same horizontal plane as the first preset axis and is perpendicular to each other, and the third preset axis in the preset coordinate system is perpendicular to the horizontal plane where the first preset axis is located; determining the relative movement position based on the current posture, the desired posture and the preset coordinate system; and determining the relative swing angle based on the current posture, the desired posture and the third preset axis.

[0007] Further, determining the relative movement position based on the current posture, the desired posture, and the preset coordinate system includes: determining the first coordinate position of the supporting foot in the preset coordinate system based on the current posture, and determining the second coordinate position of the swinging foot in the preset coordinate system; determining the third coordinate position of the swinging foot in the preset coordinate system based on the desired posture; determining the relative initial distance between the supporting foot and the swinging foot based on the first and second coordinate positions; and determining the relative movement position based on the third coordinate position and the relative initial distance.

[0008] Further, determining the relative swing angle based on the current posture, the desired posture, and the third preset axis includes: determining a first rotation angle of the supporting foot relative to the third preset axis based on the current posture, and determining a second rotation angle of the swinging foot relative to the third preset axis; determining a third rotation angle of the swinging foot relative to the third preset axis based on the desired posture; determining the relative initial angle between the supporting foot and the swinging foot based on the first rotation angle and the second rotation angle; and determining the relative swing angle based on the third rotation angle and the relative initial angle.

[0009] Furthermore, controlling the bipedal robot's operation based on relative movement position and relative swing angle includes: inputting the relative movement position and relative swing angle into a state machine, using the state machine to plan the operation of the bipedal robot, and obtaining the target stepping state of the bipedal robot, wherein the state machine is used to represent the stepping state transition relationship of the bipedal robot from the current posture to the desired posture; and controlling the operation of the bipedal robot based on the target stepping state.

[0010] Furthermore, the relative movement position and relative swing angle are input into the state machine, and the state machine is used to plan the operation of the bipedal robot to obtain the target stepping state of the bipedal robot, including: constructing the landing range of the swinging foot based on the position information of the supporting foot; inputting the relative movement position and relative swing angle into the state machine, and using the state machine to plan the operation of the bipedal robot to obtain multiple stepping states of the bipedal robot, wherein the landing position of the swinging foot is different in different stepping states; and filtering the multiple stepping states based on the landing range to obtain the target stepping state.

[0011] Furthermore, controlling the bipedal robot's operation based on the target stepping state includes: constructing the bipedal robot's running trajectory based on the target stepping state and the target swing time of the swinging foot, wherein the target swing time is used to represent the waiting time for the swinging foot of the bipedal robot to swing from the current posture to the desired posture; and controlling the bipedal robot's operation based on the running trajectory.

[0012] According to another aspect of the present invention, an electronic device is also provided, comprising: a memory storing an executable program; and a processor for running the program, wherein the program executes the above-described control method for a bipedal robot during runtime.

[0013] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein, when the executable program is running, it controls the device where the computer-readable storage medium is located to execute the above-described control method for a bipedal robot.

[0014] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the above-described control method for a bipedal robot.

[0015] In this embodiment of the invention, in response to receiving a control command from a bipedal robot, the current posture of the bipedal robot is acquired. Then, based on the current posture and the desired posture, the relative movement position and relative swing angle of the bipedal robot are determined. Finally, the purpose of controlling the bipedal robot to run is achieved based on the relative movement position and relative swing angle. It is easy to note that the desired posture is carried by the control command. After obtaining the desired posture and the current posture of the bipedal robot, the relative movement position and relative swing angle of the bipedal robot are determined according to the relative stepping position and relative stepping angle between the supporting foot and the swinging foot, respectively. Then, the bipedal robot is controlled to run based on the relative movement position and relative swing angle. The above process achieves the purpose of accurately controlling the bipedal robot to run according to the expected target by acquiring the relative movement position and relative swing angle of the bipedal robot, thereby realizing the technical effect of remotely and accurately controlling the movement trajectory of the bipedal robot, and thus solving the technical problem of poor control effect of bipedal robots in related technologies. Attached Figure Description

[0016] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0017] Figure 1 This is a flowchart of a control method for a bipedal robot according to an embodiment of the present invention;

[0018] Figure 2 This is a schematic diagram of a preset coordinate system for a control method of a bipedal robot according to an embodiment of the present invention;

[0019] Figure 3 This is a schematic diagram of the stepping state of a control method for a bipedal robot according to an embodiment of the present invention.

[0020] Figure 4 This is a schematic diagram of the foot placement area of ​​a control method for a bipedal robot according to an embodiment of the present invention.

[0021] Figure 5This is a flowchart of an optional control method for a bipedal robot according to an embodiment of the present invention;

[0022] Figure 6 This is a schematic diagram of a control device for a bipedal robot according to an embodiment of the present invention. Detailed Implementation

[0023] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0025] According to an embodiment of the present invention, an embodiment of a control method for a bipedal robot is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0026] Figure 1 This is a flowchart of a control method for a bipedal robot according to an embodiment of the present invention, as shown below. Figure 1 As shown, the method includes the following steps:

[0027] Step S102: In response to receiving the control command of the bipedal robot, the current posture of the bipedal robot is acquired, wherein the control command carries the desired posture of the bipedal robot.

[0028] The control commands in the above steps describe signals issued by the control system to guide the bipedal robot's actions or behaviors to achieve specific tasks or goals. The types of control commands may include, but are not limited to, acquisition control commands, position control commands, posture control commands, and speed control commands. The specific control commands should be determined according to actual needs and are not limited here.

[0029] The control commands in the above steps may include, but are not limited to, those issued by a motion capture system or a remote control system:

[0030] In a motion capture system scenario, the motion capture system captures the motion of the motion capture actor and converts the motion of the motion capture actor at the current moment into control commands and sends them to the bipedal robot. When the bipedal robot receives the control commands, it first collects the current posture of the bipedal robot at this moment, and then starts running until it reaches the desired posture based on the current motion of the motion capture actor of the bipedal robot contained in the control commands.

[0031] In the remote control scenario, the remote control operation instructions are converted into control commands and sent to the bipedal robot. When the bipedal robot receives the control command, it first collects the current posture of the bipedal robot, and then starts running until it reaches the desired posture according to the remote control operation instructions of the bipedal robot contained in the control command.

[0032] The control systems that issue control commands described above are just examples. The specific control system should be determined based on the actual situation, and no restrictions are imposed here.

[0033] The bipedal robot mentioned in the above steps is used to describe a robot with two legs that can mimic human walking. The types of bipedal robots can include, but are not limited to, bionic robots and industrial robots. The specific type of bipedal robot should be determined according to actual needs and is not limited here. The functions of bipedal robots can include, but are not limited to, search and rescue, home services, and entertainment performances.

[0034] The current posture in the above steps describes the actual position and angle of the bipedal robot at the current moment. The current posture is the reference for controlling the bipedal robot's movement and is crucial for planning the next action of the bipedal robot. The current posture may include, but is not limited to, the current position, current direction, current supporting foot, and current angle of the bipedal robot. The specific type of current posture can be determined according to actual needs and is not limited here.

[0035] The desired posture in the above steps describes the target position and angle that the control system expects the bipedal robot to reach. The desired posture can be used to guide the bipedal robot on how to adjust its movements to achieve the target. The types of desired postures can include, but are not limited to, the target position, target angle, target direction, and target movement of the bipedal robot. The specific desired posture can be determined according to actual needs and is not limited here.

[0036] The above steps involve acquiring the current pose of the bipedal robot, and the acquisition methods may include, but are not limited to, the following:

[0037] The first method is sensor acquisition, which can use various sensors such as joint angle sensors and accelerometers to obtain the current posture of the bipedal robot.

[0038] The second method, visual acquisition, can determine the current posture of the bipedal robot using a camera and a three-dimensional coordinate system.

[0039] The above data acquisition methods are for illustrative purposes only. The specific data acquisition methods should be determined based on the actual situation of the control system, and no restrictions are imposed here.

[0040] The response in the above steps describes the bipedal robot's reaction to the instructions issued by the control system. The response may include, but is not limited to, responding to the acquisition instruction to acquire the current posture of the bipedal robot; responding to the control instruction to control the bipedal robot to achieve the desired posture, etc. The specific response needs to be determined according to the requirements of the control system, and is not limited here.

[0041] In one optional embodiment, upon receiving a control command, the control system first acquires the current posture of the bipedal robot in real time to ensure accurate monitoring of its dynamic state. Then, based on the acquired current posture and the desired posture carried in the control command, further control is applied to the bipedal robot's movements. This process, through real-time monitoring and adjustment, enables real-time and precise control of the bipedal robot. Furthermore, based on the difference between the current posture and the desired posture, dynamic adjustments can be made to the bipedal robot, thereby improving its adaptive capabilities.

[0042] Step S104: Determine the relative movement position and relative swing angle of the bipedal robot based on the current posture and the desired posture. The relative movement position is used to represent the relative stepping position of the supporting foot and the swinging foot on the plane where the bipedal robot is located. The relative swing angle is used to represent the relative stepping angle of the supporting foot and the swinging foot on the plane. The supporting foot is used to support the bipedal robot in a stable state, and the swinging foot is used to control the bipedal robot to reach the desired posture.

[0043] The relative movement position in the above steps is used to describe the relative position of the supporting foot and the swinging foot on the plane where the robot is located in the gait planning of the bipedal robot. The relative movement position can be used to determine the specific position that the swinging foot should step to in order to achieve a smooth transition of gait.

[0044] The relative swing angle in the above steps describes the relative angle between the supporting foot and the swing foot on the plane in the gait planning of a bipedal robot. The relative swing angle is used to determine the rotation direction and angle of the swing foot during the stepping process in order to achieve smooth gait and robot balance.

[0045] The supporting foot mentioned above describes the foot that is currently in contact with the ground and provides support during the gait of a bipedal robot. The supporting foot is responsible for maintaining the robot's balance and stability and is the basis for gait transitions.

[0046] The swing foot in the above steps describes the foot that is not currently in contact with the ground and is preparing to take a step in the gait of a bipedal robot. The swing foot can be used to realize the gait transition and change the position and posture of the robot by taking a step.

[0047] In one alternative embodiment, the current posture of the bipedal robot is first determined. Then, the required relative movement position and relative sway angle are calculated based on the current posture and the desired posture. The gait of the bipedal robot is then adjusted using the relative movement position and relative sway angle to enable smooth walking and turning. This control strategy helps the robot maintain balance under different terrains and conditions, while also allowing it to flexibly respond to changes in the external environment.

[0048] Step S106: Control the bipedal robot to run based on relative movement position and relative swing angle.

[0049] The control methods for controlling the bipedal robot in the above steps can include, but are not limited to, the following:

[0050] The first method utilizes neural network control, which calculates the relative movement position and relative swing angle based on the neural network, and controls the bipedal robot's operation based on the calculation results.

[0051] The second approach utilizes fuzzy logic control, employing fuzzy set theory to address the uncertainties and fuzziness in the bipedal robot's operation, adjusting the robot's center of gravity and posture to achieve stable operation.

[0052] The third approach is hybrid control, which combines different control methods to improve the overall performance of the control system.

[0053] The above control methods are for illustrative purposes only; the specific control methods should be determined based on the actual situation.

[0054] In this embodiment of the invention, in response to receiving a control command from a bipedal robot, the current posture of the bipedal robot is acquired. Then, based on the current posture and the desired posture, the relative movement position and relative swing angle of the bipedal robot are determined. Finally, the purpose of controlling the bipedal robot to run is achieved based on the relative movement position and relative swing angle. It is easy to note that the desired posture is carried by the control command. After obtaining the desired posture and the current posture of the bipedal robot, the relative movement position and relative swing angle of the bipedal robot are determined according to the relative stepping position and relative stepping angle between the supporting foot and the swinging foot, respectively. Then, the bipedal robot is controlled to run based on the relative movement position and relative swing angle. The above process achieves the purpose of accurately controlling the bipedal robot to run according to the expected target by acquiring the relative movement position and relative swing angle of the bipedal robot, thereby realizing the technical effect of remotely and accurately controlling the movement trajectory of the bipedal robot, and thus solving the technical problem of poor control effect of bipedal robots in related technologies.

[0055] Optionally, determining the relative movement position and relative swing angle of the bipedal robot based on the current posture and the desired posture includes: constructing a preset coordinate system with the orientation of the bipedal robot in the current posture as the first preset axis and the center of mass of the bipedal robot as the origin, wherein the second preset axis in the preset coordinate system is on the same horizontal plane as the first preset axis and is perpendicular to each other, and the third preset axis in the preset coordinate system is perpendicular to the horizontal plane where the first preset axis is located; determining the relative movement position based on the current posture, the desired posture and the preset coordinate system; and determining the relative swing angle based on the current posture, the desired posture and the third preset axis.

[0056] The aforementioned first preset axis is used to describe the orientation of the current posture of the bipedal robot. The first preset axis can serve as a reference direction for the coordinate system to help define the direction of the robot's movement on the horizontal plane. The type of the first preset axis can include, but is not limited to, the forward direction, backward direction, or any other direction of the bipedal robot. The specific first preset axis needs to be determined according to the design of the bipedal robot and its current posture, and is not limited here.

[0057] The aforementioned second preset axis is a coordinate axis that is on the same horizontal plane as the first preset axis and perpendicular to it. It usually refers to the lateral direction of the bipedal robot. The second preset axis can be used to define the lateral movement of the bipedal robot on the horizontal plane and together with the first preset axis, it forms a horizontal coordinate system. The type of the second preset axis can include, but is not limited to, the left or right direction of the bipedal robot. The specific second preset axis needs to be determined according to the direction of the first preset axis, which is not limited here.

[0058] The aforementioned third preset axis is a coordinate axis used to describe the horizontal plane formed by the first preset axis and the second preset axis. The third preset axis can be used to define the movement of the bipedal robot in the vertical direction. Together with the first preset axis and the second preset axis, it forms a preset coordinate system. The type of the third preset axis can include, but is not limited to, vertically upward or downward. The specific third preset axis needs to be determined according to the robot's movement requirements, and is not limited here.

[0059] The centroid mentioned above is the equilibrium point used to describe the mass distribution of a bipedal robot. It is the equivalent concentration point of all the mass of the bipedal robot. As the origin of the preset coordinate system, the centroid helps to determine the robot's balance and motion. The position of the centroid can be determined according to the design of the bipedal robot and the load conditions, and is not limited here.

[0060] In one optional embodiment, a coordinate system is first determined based on the current posture of the bipedal robot, with the robot's orientation as the first preset axis, and the origin of the coordinate system is set at the robot's center of mass. In this coordinate system, the second preset axis is on the same horizontal plane as the first preset axis and perpendicular to each other, while the third preset axis is perpendicular to this horizontal plane. Using this coordinate system, the desired movement position and swing angle of the bipedal robot relative to its current posture can be calculated. This method helps the bipedal robot to accurately adjust its position and posture when performing tasks to adapt to different environments and task requirements, thereby improving the flexibility and adaptability of the bipedal robot.

[0061] In one alternative embodiment, Figure 2 This is a schematic diagram of a preset coordinate system for a control method of a bipedal robot according to an embodiment of the present invention, as shown below. Figure 2 As shown, the preset coordinate system includes the x-axis, y-axis, z-axis and origin O. The x-axis, y-axis and z-axis correspond to the first preset axis, the second preset axis and the third preset axis, respectively, and the origin O corresponds to the center of mass of the bipedal robot.

[0062] Optionally, determining the relative movement position based on the current posture, the desired posture, and the preset coordinate system includes: determining the first coordinate position of the supporting foot in the preset coordinate system based on the current posture, and determining the second coordinate position of the swinging foot in the preset coordinate system; determining the third coordinate position of the swinging foot in the preset coordinate system based on the desired posture; determining the relative initial distance between the supporting foot and the swinging foot based on the first and second coordinate positions; and determining the relative movement position based on the third coordinate position and the relative initial distance.

[0063] The first coordinate position mentioned above is used to describe the position of the supporting foot in the preset coordinate system. The first coordinate position can be used to determine the current position of the supporting foot and is the basis for calculating the movement path and gait.

[0064] The aforementioned second coordinate position is used to describe the position of the swinging foot in the preset coordinate system. The second coordinate position can be used to determine the current position of the swinging foot, thereby facilitating the determination of the relative initial distance between the swinging foot and the supporting foot.

[0065] The third coordinate position mentioned above is used to describe the target position of the swinging foot in the preset coordinate system under the desired posture. The third coordinate position can be used to determine the position that the swinging foot needs to reach, which is the target point in gait planning.

[0066] The aforementioned relative initial distance describes the initial distance between the supporting foot and the swinging foot in the current posture. The relative initial distance can be used to calculate the movement path of the swinging foot from the current position to the target position.

[0067] In one optional embodiment, firstly, the specific positions of the supporting foot and the swinging foot in a preset coordinate system, namely the first coordinate position and the second coordinate position, are calculated based on the current posture. Next, the target position of the swinging foot in the preset coordinate system, namely the third coordinate position, is calculated based on the desired posture. The relative initial distance between the supporting foot and the swinging foot is determined by comparing their initial positions. Finally, combining the target position of the swinging foot and the relative initial distance, the relative movement required by the supporting foot and the swinging foot is calculated to achieve a smooth transition from the current posture to the desired posture. This method helps improve the accuracy and efficiency of robots or automated equipment when performing tasks, especially in scenarios requiring precise control of movement and posture adjustment.

[0068] Optionally, determining the relative swing angle based on the current posture, the desired posture, and the third preset axis includes: determining a first rotation angle of the supporting foot relative to the third preset axis based on the current posture, and determining a second rotation angle of the swinging foot relative to the third preset axis; determining a third rotation angle of the swinging foot relative to the third preset axis based on the desired posture; determining a relative initial angle between the supporting foot and the swinging foot based on the first rotation angle and the second rotation angle; and determining the relative swing angle based on the third rotation angle and the relative initial angle.

[0069] The first rotation angle mentioned above is used to describe the rotation angle of the supporting foot relative to the third preset axis. The first rotation angle describes the position of the supporting foot relative to the body of the bipedal robot in the vertical plane. The first rotation angle may include, but is not limited to, a positive first rotation angle or a negative first rotation angle. The specific first rotation angle needs to be determined according to the rotation direction of the supporting foot relative to the vertical axis, which is not limited here. The first rotation angle can be used to determine the current position and direction of the supporting foot.

[0070] The aforementioned second rotation angle describes the rotation angle of the swing foot relative to the third preset axis. The second rotation angle describes the position of the swing foot relative to the robot body in the vertical plane. The second rotation angle may include, but is not limited to, a positive second rotation angle or a negative second rotation angle. The specific second rotation angle needs to be determined according to the rotation direction of the swing foot relative to the vertical axis, which is not limited here. The second rotation angle can be used to help determine the current position and direction of the swing foot.

[0071] The aforementioned third rotation angle describes the rotation angle of the swing foot relative to the third preset axis, which is determined based on the desired posture. The third rotation angle describes the position that the swing foot should reach when it reaches the desired posture. The magnitude of the third rotation angle is determined by the rotation direction of the swing foot relative to the vertical axis when it is in the desired posture, which is not limited here. The third rotation angle can be used to provide target position information of the swing foot.

[0072] The aforementioned relative initial angle describes the initial angle difference between the supporting foot and the swinging foot. It is calculated based on the first rotation angle and the second rotation angle. The magnitude of the relative initial angle is determined by the relative position of the supporting foot and the swinging foot, which is not limited here. The relative initial angle can be used to provide information on the current relative position between the supporting foot and the swinging foot.

[0073] In one optional embodiment, firstly, the rotation angles of the supporting foot and the swinging foot relative to a third preset axis are determined based on the current posture, i.e., the first rotation angle and the second rotation angle are determined. Then, according to the desired posture, the angle of the swinging foot relative to the third preset axis, i.e., the third rotation angle, is calculated. Next, the relative initial angle between the supporting foot and the swinging foot is determined using the first rotation angle and the second rotation angle. Finally, combining the third rotation angle of the swinging foot and the relative initial angle, the relative swing angle that needs to be adjusted between the supporting foot and the swinging foot is calculated to achieve a smooth gait transition. This process, by dynamically adjusting the relative angles of the supporting foot and the swinging foot, allows the bipedal robot to adapt to different walking conditions, such as uneven ground or situations requiring obstacle crossing. It also allows for precise control of the bipedal robot's gait, ensuring stability and efficiency during walking, while helping to reduce energy consumption and improve the smoothness and naturalness of walking.

[0074] Optionally, controlling the bipedal robot's operation based on relative movement position and relative swing angle includes: inputting the relative movement position and relative swing angle into a state machine, using the state machine to plan the operation of the bipedal robot, and obtaining the target stepping state of the bipedal robot, wherein the state machine is used to represent the stepping state transition relationship of the bipedal robot from the current posture to the desired posture; and controlling the bipedal robot's operation based on the target stepping state.

[0075] The state machine described above is used to describe the transition of a bipedal robot from one state to another. The types of state machines can include, but are not limited to, finite state machines, extended state machines, or hierarchical state machines. The specific state machine can be determined according to actual needs and is not limited here. The role of the state machine can include, but is not limited to, managing and controlling the behavior and action sequence of the bipedal robot, ensuring that the bipedal robot can make the correct response based on the input and the current state.

[0076] The aforementioned operation planning is used to describe the generation of a series of actions or paths for a bipedal robot, enabling it to safely and effectively reach a target position and posture from its current position and posture. Operation planning can include, but is not limited to, static planning and dynamic planning. The specific operation planning needs to be determined according to the actual situation of the system and the environment, which is not limited here. The role of operation planning can include, but is not limited to, ensuring that the action sequence of the bipedal robot is feasible and avoiding instability during operation.

[0077] The aforementioned target stepping state describes the position and posture that a bipedal robot is expected to achieve after performing a series of actions. The target stepping state may include, but is not limited to, the position and angle of the bipedal robot's feet and its balance state. It may also include, but is not limited to, single-step target stepping states and continuous target stepping states. The specific target stepping state can be determined according to actual needs and is not limited here. The function of the target stepping state may include, but is not limited to, clarifying the action goal and helping the bipedal robot plan its path.

[0078] In one optional embodiment, the relative movement position and relative swing angle of the bipedal robot are first determined, and then input into a state machine. The state machine can plan a series of target stepping states based on the relative movement position and relative swing angle information. These states represent the transition path of the robot from its current posture to the desired posture. The role of the state machine is to simulate and predict the robot's walking behavior in different states, thereby ensuring that each step is accurate and effective. In this way, the bipedal robot can respond more flexibly and efficiently to environmental changes, achieving more natural and stable walking, thus enabling it to better perform tasks in complex and changing environments.

[0079] In one alternative embodiment, Figure 3 This is a schematic diagram of the stepping state of a control method for a bipedal robot according to an embodiment of the present invention, as shown below. Figure 3As shown in the figure, the circle on the left represents the relative swing angle between the left and right feet of the bipedal robot, where the relative swing angle is 0.3. The four circles other than the one on the left represent the relative movement positions between the two feet of the bipedal robot in four different positions: the relative movement position of the center circle is (0, 0.2), the relative movement position of the upper circle is (-0.1, 0.2), the relative movement position of the lower circle is (0.1, 0.2), and the relative movement position of the right circle is (0, 0.3). The arrows between the circles represent specific stepping movements of the bipedal robot, including right-right, left-left, right-left, left-right, right-forward, left-back, right-back, left-forward, right in place, and left in place. The values ​​of the relative movement positions and relative swing angles mentioned above are only examples, and the specific values ​​need to be determined according to the actual situation, which is not limited here.

[0080] In the preset coordinate system, the bipedal robot stands upright at the origin. At this point, the coordinates of the robot's right foot are (0, -0.1), and the coordinates of its left foot are (0, 0.1). Therefore, the relative position between the left and right feet is (0, 0.2). If the left foot moves 0.1m to the left, the relative position between the left and right feet is (0, 0.3). Similarly, if the bipedal robot moves 0.1m backward from its left foot, the relative position between the left and right feet is (-0.1, 0.2). If the bipedal robot moves 0.1m backward from its left foot, the relative position between the left and right feet is (0.1, 0.2). These relative positions are just examples; the specific relative swing angle can be determined based on the actual situation and is not limited here. The relative swing angle is the difference between the coordinates of the left foot and the right foot. Figure 3 The relative swing angle is 0.3. In addition, when the bipedal robot is standing upright, the relative swing angle is 0 when both feet are facing the same direction, >0 when the feet are turned outward, and <0 when the feet are turned inward. The relative swing angle here is only an example. The specific relative swing angle can be determined according to the actual situation and is not limited here.

[0081] Apart from the above actions, Figure 3 The stepping actions marked on the middle arrow can also enable the bipedal robot to reach a relative moving position. The relative moving positions can be transmitted to each other through stepping actions. For example, "right right" means stepping the right foot to the right, or stepping outward to the right; "left left" means stepping the left foot to the left; "right left" means stepping the right foot to the left; "left in place" means stepping in place with the left foot; and "right in place" means stepping in place with the right foot. The above stepping actions are only examples. The specific stepping actions can be adjusted according to the actual situation and are not limited here.

[0082] Optionally, the relative movement position and relative swing angle are input into the state machine, and the state machine is used to plan the operation of the bipedal robot to obtain the target stepping state of the bipedal robot, including: constructing the landing range of the swing foot based on the position information of the supporting foot; inputting the relative movement position and relative swing angle into the state machine, and using the state machine to plan the operation of the bipedal robot to obtain multiple stepping states of the bipedal robot, wherein the landing position of the swing foot is different in different stepping states; and filtering the multiple stepping states based on the landing range to obtain the target stepping state.

[0083] The aforementioned footing area describes the region where the swinging foot can safely touch the ground during the bipedal robot's walking process. The footing area may include, but is not limited to, circular footing areas, elliptical footing areas, etc. The specific footing area is determined by the actual terrain environment and the robot's needs, and is not limited here. The function of the footing area may include, but is not limited to, ensuring the safety of the bipedal robot and avoiding collisions with obstacles.

[0084] The aforementioned multiple stepping states are used to describe a series of different walking gaits that a bipedal robot may take under a given relative movement position and relative swing angle. Multiple stepping states may include, but are not limited to, various stepping parameters such as stride length, stride height, stride width, and speed. The specific stepping states need to be determined according to actual needs and are not limited here. The function of multiple stepping states may include, but is not limited to, providing multiple walking schemes so that the bipedal robot can adapt to different environmental conditions.

[0085] In one optional embodiment, firstly, the relative movement position and swing angle are input into the state machine. Based on this input data, the state machine plans a series of possible stepping states for the robot. Each stepping state includes the potential landing position of the swinging foot, which is determined based on the position information of the current supporting foot. Next, the state machine filters these stepping states according to preset landing intervals, eliminating those that do not meet the requirements of the landing intervals. Finally, the state machine selects one or more stepping states that meet the landing interval requirements as target stepping states. These target stepping states will guide the bipedal robot to perform the next walking action, ensuring that it maintains balance and efficiency during movement. This process, through the state machine's filtering mechanism, ensures that each step of the robot is safe and effective, thereby improving the robot's walking performance and adaptability.

[0086] In one alternative embodiment, Figure 4 This is a schematic diagram of the foot placement area of ​​a control method for a bipedal robot according to an embodiment of the present invention, as shown below. Figure 4 As shown, Figure 4The left side is the area where the left foot lands. The area where the left foot lands is a semicircle with a radius of 0.2m centered on the position of the left foot and a semicircle with a radius of 0.05m outside. Figure 4 The right side is the landing area for the right foot. The landing area for the right foot is a semicircle with a radius of 0.2m centered on the right foot's support position and a semicircle with a radius of 0.05m outside the semicircle. The landing area is shown as the shaded part in the figure. For easier viewing of the relevant data, the landing areas on both sides are represented by half of the shaded area. The above radius range is only an example. The specific radius size can be determined according to the actual situation and is not limited here.

[0087] Optionally, controlling the bipedal robot's operation based on the target stepping state includes: constructing the bipedal robot's running trajectory based on the target stepping state and the target swing time of the swinging foot, wherein the target swing time is used to represent the waiting time for the swinging foot of the bipedal robot to swing from the current posture to the desired posture; and controlling the bipedal robot's operation based on the running trajectory.

[0088] The target swing time mentioned above describes the time required for the swinging foot of a bipedal robot to reach the desired posture from the current posture. The types of target swing time can include fast target swing time, slow target swing time, and uniform target swing time. The specific target swing time needs to be determined according to the actual target and is not limited here. The purpose of the target swing time can include, but is not limited to, calculating the movement speed and acceleration of the swinging foot to ensure that the swinging foot can reach the target position on time.

[0089] The aforementioned trajectory describes the path of the bipedal robot's feet, joints, or other parts as they change position, velocity, and acceleration over time when performing a specific task. The type of trajectory can include, but is not limited to, linear, curvilinear, or composite trajectories. The specific type of trajectory needs to be determined based on the actual situation and is not limited here. The function of the trajectory can include, but is not limited to, ensuring that the bipedal robot can move in a predetermined manner and avoiding collisions.

[0090] In one optional embodiment, to ensure the robot can move efficiently according to a predetermined target stepping state, the bipedal robot's trajectory is first determined based on the target stepping state and the target swing time of the swinging foot. This trajectory, incorporating the target swing time, ensures the bipedal robot reaches the desired position within a predetermined time. Then, the robot is controlled to reach the target position based on the trajectory. This process, by combining the target stepping state and the target swing time to generate a control strategy, enables the bipedal robot to plan its walking trajectory more intelligently, optimizing its motion performance and achieving more natural and efficient walking, whether on flat ground or in complex terrain.

[0091] In one alternative embodiment, Figure 5 This is a flowchart of an optional control method for a bipedal robot according to an embodiment of the present invention, such as... Figure 5 As shown, in this control method, the current posture and desired posture of the bipedal robot are first obtained through a motion capture system or remote controller; then, a planning strategy is obtained based on the current posture and desired posture, including the desired leg swing trajectory and the desired body trajectory; next, the foot pose tracking control signal is obtained through the leg swing controller, and the body pose tracking control signal is obtained through the body controller; then, the foot pose tracking control signal and the body pose tracking control signal are input to the whole body control system to obtain torque; finally, the motor controls the operation of the bipedal robot according to the obtained torque, thereby realizing the control of the bipedal robot's operating state.

[0092] The current and desired poses of the bipedal robot can be obtained through a motion capture system or remote controller in ways including, but not limited to, the following:

[0093] In a motion capture system scenario, the motion capture system captures the motion of the motion capture actor and converts the motion of the motion capture actor at the current moment into control commands and sends them to the bipedal robot. When the bipedal robot receives the control commands, it first collects the current posture of the bipedal robot at this moment, and starts running according to the motion of the motion capture actor at the current moment contained in the control commands, which is the desired posture of the bipedal robot. At this time, the current posture and desired posture of the bipedal robot are obtained.

[0094] In the remote control scenario, the remote control operation instructions are converted into control commands and sent to the bipedal robot. When the bipedal robot receives the control command, it first collects the current posture of the bipedal robot, and then starts running according to the remote control operation instructions contained in the control command, which is the desired posture of the bipedal robot. At this time, the current posture and desired posture of the bipedal robot are obtained.

[0095] The methods for obtaining the current posture of the bipedal robot mentioned above may include, but are not limited to, motion capture systems and remote controllers. The specific method of obtaining the posture can be determined according to the actual situation and is not limited here.

[0096] According to another aspect of the present invention, a control device for a bipedal robot is also provided. This device can execute the control method for the bipedal robot provided in the above embodiments. The specific implementation and preferred application scenarios are the same as those in the above embodiments, and will not be described in detail here.

[0097] Figure 6 This is a schematic diagram of a control device for a bipedal robot according to an embodiment of the present invention, as shown below. Figure 6As shown, the device includes: a data acquisition module 602, used to acquire the current posture of the bipedal robot in response to receiving a control command from the bipedal robot, wherein the control command carries the desired posture of the bipedal robot; a determination module 604, used to determine the relative movement position and relative swing angle of the bipedal robot based on the current posture and the desired posture, wherein the relative movement position is used to represent the relative stepping position of the supporting foot and the swinging foot on the plane where the bipedal robot is located, and the relative swing angle is used to represent the relative stepping angle of the supporting foot and the swinging foot on the plane, the supporting foot is used to support the bipedal robot in a stable state, and the swinging foot is used to control the bipedal robot to reach the desired posture; and a control module 606, used to control the operation of the bipedal robot based on the relative movement position and the relative swing angle.

[0098] Optionally, the determining module includes: a construction unit, used to construct a preset coordinate system with the orientation of the bipedal robot in the current posture as the first preset axis and the centroid of the bipedal robot as the origin, wherein a second preset axis in the preset coordinate system is on the same horizontal plane as the first preset axis and perpendicular to each other, and a third preset axis in the preset coordinate system is perpendicular to the horizontal plane where the first preset axis is located; a first determining unit, used to determine the relative movement position based on the current posture, the desired posture and the preset coordinate system; and a second determining unit, used to determine the relative swing angle based on the current posture, the desired posture and the third preset axis.

[0099] Optionally, the first determining unit includes: a first determining subunit, configured to determine the first coordinate position of the supporting foot in a preset coordinate system based on the current posture, and to determine the second coordinate position of the swinging foot in the preset coordinate system; a second determining subunit, configured to determine the third coordinate position of the swinging foot in the preset coordinate system based on the desired posture; a third determining subunit, configured to determine the relative initial distance between the supporting foot and the swinging foot based on the first coordinate position and the second coordinate position; and a fourth determining subunit, configured to determine the relative movement position based on the third coordinate position and the relative initial distance.

[0100] Optionally, the second determining unit includes: a fifth determining subunit, used to determine a first rotation angle of the supporting foot relative to a third preset axis based on the current posture, and to determine a second rotation angle of the swinging foot relative to the third preset axis; a sixth determining subunit, used to determine a third rotation angle of the swinging foot relative to the third preset axis based on the desired posture; a seventh determining subunit, used to determine a relative initial angle between the supporting foot and the swinging foot based on the first rotation angle and the second rotation angle; and an eighth determining subunit, used to determine a relative swing angle based on the third rotation angle and the relative initial angle.

[0101] Optionally, the control module includes: a running unit, used to input the relative movement position and relative swing angle into the state machine, and use the state machine to perform operation planning for the bipedal robot to obtain the target stepping state of the bipedal robot, wherein the state machine is used to represent the stepping state transition relationship of the bipedal robot from the current posture to the desired posture; and a control unit, used to control the operation of the bipedal robot based on the target stepping state.

[0102] Optionally, the running unit includes: a first construction subunit, used to construct the landing range of the swinging foot based on the position information of the supporting foot; a running subunit, used to input the relative movement position and relative swing angle into the state machine, and use the state machine to perform operation planning for the bipedal robot to obtain multiple stepping states of the bipedal robot, wherein the landing position of the swinging foot is different in different stepping states; and a filtering subunit, used to filter the multiple stepping states based on the landing range to obtain the target stepping state.

[0103] Optionally, the control unit includes: a second construction subunit for constructing the running trajectory of the bipedal robot based on the target stepping state and the target swing time of the swinging foot, wherein the target swing time is used to represent the swing time of the swinging foot between the current posture and the desired posture of the bipedal robot; and a control subunit for controlling the operation of the bipedal robot based on the running trajectory.

[0104] According to another aspect of the present invention, an electronic device is also provided, comprising: a memory storing an executable program; and a processor for running the program, wherein the program executes the methods of various embodiments of the present invention during runtime.

[0105] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the execution of the methods of various embodiments of the present invention in a processor of the device.

[0106] The computer storage medium mentioned in the above steps can be a medium used in computer memory to store certain discontinuous physical quantities. Computer storage media mainly include semiconductors, magnetic cores, magnetic drums, magnetic tapes, and laser discs. Computer-readable storage media includes stored programs, which can be a set of instructions that a computer can recognize and execute, running on an electronic computer to meet certain human needs—an information tool.

[0107] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the methods of various embodiments of the present invention.

[0108] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0109] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0110] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0111] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0112] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0113] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part 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 the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0114] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A control method of a biped robot, characterized by, include: In response to receiving a control command from a bipedal robot, the current posture of the bipedal robot is acquired, wherein the control command carries the desired posture of the bipedal robot; A preset coordinate system is constructed. Based on the current posture, the desired posture, and the preset coordinate system, the relative movement position and relative swing angle of the bipedal robot are determined. The relative movement position represents the relative stepping position of the supporting foot and the swinging foot on the plane where the bipedal robot is located. The relative swing angle represents the relative stepping angle of the supporting foot and the swinging foot on the plane. The supporting foot is used to support the bipedal robot in a stable state, and the swinging foot is used to control the bipedal robot to reach the desired posture. The preset coordinate system consists of a first preset axis, a second preset axis, and a third preset axis. The first preset axis describes the orientation of the current posture of the bipedal robot, the second preset axis defines the lateral movement of the bipedal robot on the plane, and the third preset axis defines the vertical movement of the bipedal robot. The relative movement position and the relative swing angle are input into the state machine, and the state machine is used to plan the operation of the bipedal robot to obtain multiple stepping states of the bipedal robot. In different stepping states, the landing position of the swinging foot is different. The state machine is used to represent the stepping state transition relationship of the bipedal robot from the current posture to the desired posture. Based on the position information of the supporting foot, the landing range of the swinging foot is constructed. The landing range is used to represent the range in which the swinging foot of the bipedal robot can safely land during walking. Based on the foot landing interval, the multiple stepping states are filtered to obtain the target stepping state, wherein the target stepping state is used to represent the position and posture that the bipedal robot expects to achieve; The bipedal robot is controlled to operate based on the target stepping state.

2. The control method for a bipedal robot according to claim 1, characterized in that, Constructing a preset coordinate system, and determining the relative movement position and relative swing angle of the bipedal robot based on the current posture, the desired posture, and the preset coordinate system, includes: Using the orientation of the bipedal robot in the current posture as the first preset axis, and using the center of mass of the bipedal robot as the origin, a preset coordinate system is constructed. The second preset axis in the preset coordinate system is on the same horizontal plane as the first preset axis and is perpendicular to each other. The third preset axis in the preset coordinate system is perpendicular to the horizontal plane where the first preset axis is located. The relative movement position is determined based on the current posture, the desired posture, and the preset coordinate system; The relative swing angle is determined based on the current posture, the desired posture, and the third preset axis.

3. The control method for a bipedal robot according to claim 2, characterized in that, Determining the relative movement position based on the current posture, the desired posture, and the preset coordinate system includes: Based on the current posture, determine the first coordinate position of the supporting foot in the preset coordinate system, and determine the second coordinate position of the swinging foot in the preset coordinate system; Based on the desired posture, determine the third coordinate position of the swinging foot in the preset coordinate system; The relative initial distance between the supporting foot and the swinging foot is determined based on the first coordinate position and the second coordinate position; The relative movement position is determined based on the third coordinate position and the relative initial distance.

4. The control method for a bipedal robot according to claim 2, characterized in that, Determining the relative sway angle based on the current posture, the desired posture, and the third preset axis includes: Based on the current posture, a first rotation angle of the supporting foot relative to the third preset axis is determined, and a second rotation angle of the swinging foot relative to the third preset axis is determined. The third rotation angle of the swinging foot relative to the third preset axis is determined based on the desired posture; The relative initial angle between the supporting foot and the swinging foot is determined based on the first rotation angle and the second rotation angle; The relative swing angle is determined based on the third rotation angle and the relative initial angle.

5. The control method for a bipedal robot according to claim 1, characterized in that, Controlling the bipedal robot's operation based on the target stepping state includes: The bipedal robot's trajectory is constructed based on the target stepping state and the target swing time of the swinging foot, wherein the target swing time is used to represent the time the swinging foot needs to swing between the current posture and the desired posture of the bipedal robot; The bipedal robot is controlled to operate based on the described trajectory.

6. An electronic device, characterized in that, include: Memory, which stores executable programs; A processor for running the program, wherein the program, when running, performs the method according to any one of claims 1 to 5.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored executable program, wherein, when the executable program is executed, it controls the device on which the storage medium is located to perform the method according to any one of claims 1 to 5.

8. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Robot control method and device, storage medium and equipment

    CN117621075A