Biped robot control method and electronic equipment
By collecting the current posture of the bipedal robot and the expected one-foot pointing posture, determining the movement trajectory of the swinging foot and the fuselage, and controlling the operation of the bipedal robot, the problem of unstable one-foot pointing posture of the bipedal robot is solved, and a stable and balanced one-foot pointing movement is achieved.
Patent Information
- Application Number
- CN202411833668.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-12
AI Technical Summary
The prior art is difficult to realize the one-legged position of a bipedal robot, resulting in unstable movement process.
By collecting the current posture of the bipedal robot and the desired one-foot pointing posture, the swing foot movement trajectory of the swing foot and the fuselage movement trajectory of the fuselage are determined, and the operation of the bipedal robot is controlled based on these trajectories.
The stability and balance of the bipedal robot in the one-legged position is achieved, and the problem of unstable movement process is solved.
Smart Images

Figure CN119690117A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control, and in particular to a control method and electronic equipment for a biped robot. Background Art
[0002] With the continuous development of the field of robot control, the operation of remote-controlled bipedal robots also faces many challenges. In the related technologies, imitation learning is used to realize the remote control of bipedal robots, and the walking ability of bipedal robots is realized from scratch by using existing planning and control methods. However, in the process of controlling the operation of bipedal robots, the movement process of bipedal robots is prone to instability. At the same time, it does not involve the use of imitation learning to control the bipedal robot to make a single-footed posture, which makes it impossible to realize the single-footed posture of bipedal robots in the related technologies.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0004] The embodiments of the present invention provide a control method and electronic device for a bipedal robot, so as to at least solve the technical problem in the related art that the bipedal robot cannot achieve a single-foot-ground posture.
[0005] According to one aspect of an embodiment of the present invention, a control method for a bipedal robot is provided, comprising: in response to receiving a control instruction of the bipedal robot, collecting a current posture of the bipedal robot, wherein the control instruction carries posture data of the bipedal robot, the posture data being used to determine an expected single-foot touching posture of the bipedal robot, the expected single-foot touching posture being used to indicate that it is expected that a toe area of a corresponding swinging foot of the bipedal robot touches the ground when a sole area of a corresponding supporting foot of the bipedal robot touches the ground; determining a swinging foot movement trajectory of the swinging foot and a body movement trajectory of the corresponding body of the bipedal robot based on the current posture and the expected single-foot touching posture; and controlling the operation of the bipedal robot based on the swinging foot movement trajectory and the body movement trajectory.
[0006] Furthermore, based on the current posture and the expected single-foot touching posture, the swinging foot movement trajectory of the swinging foot and the body movement trajectory of the corresponding body of the bipedal robot are determined, including: based on the current posture and the expected single-foot touching posture, the expected landing posture of the swinging foot is determined; based on a preset trajectory shape, a preset swing time and the expected landing posture, the swinging foot movement trajectory is determined, wherein the preset trajectory shape includes at least one pre-set trajectory shape; based on the current posture and the expected landing posture, the body movement trajectory is determined.
[0007] Furthermore, based on the current posture and the expected single-foot touching posture, the expected landing posture of the swinging foot is determined, including: based on the current posture and the expected single-foot touching posture, determining the supporting position of the supporting foot in the current posture; determining the possible landing range of the swinging foot based on the supporting position; determining the expected landing posture based on the possible landing range and the size of the instep of the swinging foot.
[0008] Furthermore, based on the current posture and the expected landing posture, the body movement trajectory is determined, including: determining the first center of mass of the body of the bipedal robot in the current posture; determining the second center of mass of the body of the bipedal robot in the expected landing posture; and constructing the body movement trajectory based on the first center of mass and the second center of mass.
[0009] Furthermore, determining a first center of mass of the bipedal robot in the current posture includes: determining a support polygon formed by two feet of the bipedal robot based on the current posture; and determining the center of the support polygon as the first center of mass.
[0010] Furthermore, determining a second center of mass of the body of the bipedal robot in an expected landing posture includes: determining a sole area of the supporting foot based on an expected single-foot landing posture; and determining a center of the sole area as the second center of mass.
[0011] Furthermore, the operation of the bipedal robot is controlled based on the moving trajectory of the swinging foot and the moving trajectory of the fuselage, including: determining a first desired state of the swinging foot at multiple moving time points based on the moving trajectory of the swinging foot; determining a second desired state of the fuselage at multiple moving time points based on the moving trajectory of the fuselage; controlling the swinging foot to move along the moving trajectory of the swinging foot based on the first desired state, and controlling the fuselage to move along the moving trajectory of the fuselage based on the second desired state.
[0012] Furthermore, controlling the swing foot to move along the swing foot movement trajectory based on the first expected state includes: converting the first expected state into a first expected movement trajectory corresponding to the first joint of the swing foot; determining a first torque to be generated when the first joint reaches the first expected movement trajectory; and controlling the first joint to move based on the first torque so that the swing foot moves along the swing foot movement trajectory.
[0013] Furthermore, controlling the fuselage to move along the fuselage movement trajectory based on the second expected state includes: converting the second expected state into a second expected movement trajectory corresponding to a second joint of the fuselage; determining a second torque to be generated when the second joint reaches the second expected movement trajectory; and controlling the operation of the second joint based on the second torque so that the fuselage moves along the fuselage movement trajectory.
[0014] According to another aspect of an embodiment of the present invention, a control device for a bipedal robot is provided, comprising: an acquisition module, for acquiring a current posture of the bipedal robot in response to receiving a control instruction of the bipedal robot, wherein the control instruction carries posture data of the bipedal robot, the posture data being used to determine an expected single-foot touching posture of the bipedal robot, the expected single-foot touching posture being used to indicate that it is expected that a toe area of a corresponding swinging foot of the bipedal robot touches the ground when a sole area of a corresponding supporting foot of the bipedal robot touches the ground; a determination module, for determining a swinging foot movement trajectory of the swinging foot and a body movement trajectory of a corresponding body of the bipedal robot based on the current posture and the expected single-foot touching posture; and a control module, for controlling the operation of the bipedal robot based on the swinging foot movement trajectory and the body movement trajectory.
[0015] According to another aspect of an embodiment of the present invention, there is further provided an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein the control method of the bipedal robot is executed when the program is running.
[0016] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is further provided, the computer-readable storage medium including a stored executable program, wherein when the executable program runs, the device where the computer-readable storage medium is located is controlled to execute the above-mentioned bipedal robot control method.
[0017] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the control method of the bipedal robot is implemented.
[0018] In an embodiment of the present invention, the current posture of the bipedal robot is obtained by responding to the control instruction of the bipedal robot, and then the movement trajectory of the swinging foot and the movement trajectory of the fuselage are determined based on the current posture and the expected single-foot touching posture, and finally the operation of the bipedal robot is controlled based on the movement trajectory of the swinging foot and the movement trajectory of the fuselage. It is easy to notice that the present application first clarifies the initial posture and target posture of the bipedal robot by determining the current posture and the expected single-foot touching posture of the bipedal robot, and then determines the movement trajectory of the swinging foot between the initial posture and the target posture and the movement control trajectory of the fuselage between the initial posture and the target posture from the two parts of the swinging foot and the fuselage, and finally the operation of the bipedal robot is controlled based on the movement trajectory of the swinging foot and the movement trajectory of the fuselage, so that the bipedal robot can ensure its own stability and balance while achieving the single-foot touching posture, thereby solving the technical problem that the single-foot touching posture of the bipedal robot cannot be achieved in the related art. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0020] Figure 1 is a flow chart of a control method of a biped robot according to an embodiment of the present invention;
[0021] Figure 2 is a schematic diagram of a landing range according to a control method of a biped robot according to an embodiment of the present invention;
[0022] Figure 3 is a schematic diagram of a supporting polygon when a biped robot stands on two feet according to an embodiment of the present invention;
[0023] Figure 4 is a schematic diagram of a support polygon when a biped robot touches the ground with one foot according to an embodiment of the present invention;
[0024] Figure 5 Schematic diagram of a control device for a bipedal robot according to an embodiment of the present invention. DETAILED DESCRIPTION
[0025] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0026] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0027] 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 of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0028] Figure 1 is a flow chart of a control method of a biped robot according to an embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:
[0029] Step S102, in response to receiving a control instruction of the bipedal robot, collecting the current posture of the bipedal robot, wherein the control instruction carries posture data of the bipedal robot, and the posture data is used to determine the expected single-foot touching posture of the bipedal robot, and the expected single-foot touching posture is used to indicate that it is expected that the toe area of the corresponding swinging foot of the bipedal robot touches the ground when the sole area of the corresponding supporting foot of the bipedal robot touches the ground.
[0030] The above-mentioned bipedal robot may refer to a robot with two legs that can imitate the way humans walk. The types of bipedal robots may include but are not limited to bionic robots, industrial robots, etc. The specific type of bipedal robot should be determined according to actual needs and is not limited here. The functions of bipedal robots may include but are not limited to search and rescue, home services, entertainment performances, etc.
[0031] The above control instructions may refer to signals sent by the control system of the bipedal robot to instruct the robot to complete specific actions or postures. The control instructions may include, but are not limited to, target posture, motion parameters, execution speed and other information. The specific control instructions need to be determined according to the application scenario and target posture, which are not limited here. The functions of the control instructions may include, but are not limited to, starting the robot's actions, instructing the robot how to adjust its legs and body posture to achieve the action of single-foot touching the ground, etc.
[0032] The response in the above steps is used to describe the reaction of the bipedal robot to the instructions issued by the control system. The response may include but is not limited to responding to control instructions, collecting the current posture of the bipedal robot, controlling the bipedal robot to make the target posture, etc. The specific response needs to be determined according to the needs of the control system and is not limited here.
[0033] The above-mentioned current posture may refer to the actual position and angle of the bipedal robot at the current moment. The current posture is the basis for controlling the action of the bipedal robot and is crucial to the planning of the next action of the bipedal robot. The current posture may include but is not limited to the current position, current direction, legs, feet and current angle of the bipedal robot. The specific current posture can be determined according to actual needs and is not limited here.
[0034] The above-mentioned posture data may refer to data describing the position, direction and angle of the legs, feet and body of the bipedal robot in space when the robot is in a one-footed posture. The role of the posture data may include but is not limited to helping the control system understand the specific requirements of the desired one-footed posture.
[0035] The above-mentioned expected single-foot touching posture may refer to a special posture that the bipedal robot is expected to achieve under the guidance of control instructions. The expected single-foot touching posture is the core goal of this application. By achieving this posture, the robot can demonstrate more diverse and dynamic modeling capabilities while maintaining stability.
[0036] The above-mentioned sole area may refer to the part of the bipedal robot's foot used for bearing weight and stably contacting the ground, that is, when standing on both feet, the sole areas of both feet are in contact with the ground, and in the single-footed posture, the sole area (sole and heel) of the supporting foot is in full contact with the ground, and the swinging foot only touches the ground with the toe area. The role of the sole area may include but is not limited to maintaining the support and stability of the bipedal robot, sensing ground information, adjusting posture and gait, etc.
[0037] In an optional embodiment, after receiving a control instruction, the current posture of the bipedal robot is collected and analyzed. In this process, the desired single-foot touching posture of the bipedal robot is obtained through the posture data in the control instruction, and the current posture data of the robot is collected at the same time, so that the control system can accurately calculate the subtle adjustments required from the current posture to the desired posture, ensuring that the robot can remain stable during the motion conversion process and avoid tipping over or losing balance.
[0038] Step S104, based on the current posture and the expected single-foot touching posture, determine the swing foot movement trajectory of the swing foot and the body movement trajectory of the corresponding body of the bipedal robot.
[0039] The above-mentioned swinging foot movement trajectory may refer to the movement path of the swinging foot in space during the process of the bipedal robot smoothly transitioning from a two-legged standing mode to a single-legged standing posture. The types of the swinging foot movement trajectory may include but are not limited to a straight line trajectory, an arc trajectory, a compound trajectory, etc. The specific swinging foot movement trajectory needs to be determined according to the movement mode and environmental conditions, and is not limited here. The role of the swinging foot movement trajectory may include but is not limited to planning the movement of the swinging foot, so that the bipedal robot's swinging foot maintains stability and balance during the movement, etc.
[0040] The above-mentioned body movement trajectory may refer to the movement path of the robot body in space when the bipedal robot performs a single-foot touching action. The types of body movement trajectories may include but are not limited to vertical adjustment trajectories, horizontal rotation trajectories, compound adjustment trajectories, etc. The specific body movement trajectory needs to be determined according to the target posture and application scenario, and is not limited here. The function of the body movement trajectory may include but is not limited to ensuring that when the toe of the swinging foot touches the ground, the robot can maintain overall stability by adjusting the body posture to avoid tipping over due to shift of the center of gravity.
[0041] In an optional embodiment, by obtaining the current posture and expected single-foot touching posture of the bipedal robot, the starting posture and expected posture of the bipedal robot are clarified, and then the swinging foot movement trajectory and the body movement trajectory of the bipedal robot during movement are determined based on the starting posture and expected posture. The above process enables the robot to complete complex posture transitions while maintaining balance through precise planning and execution of the swinging foot movement trajectory and the body movement trajectory, showing richer and more dynamic action performance, and achieving the stability and smoothness of the bipedal robot's single-foot touching action.
[0042] Step S106, controlling the movement of the biped robot based on the movement trajectory of the swinging legs and the movement trajectory of the body.
[0043] In an optional embodiment, by controlling the movement trajectory of the swinging foot and the movement trajectory of the fuselage, the bipedal robot can stably transition from the two-legged standing mode to the special posture of one-legged standing. In this process, the movement trajectory of the swinging foot ensures that the toes touch the ground accurately and avoids unnecessary impact and energy consumption; while the movement trajectory of the fuselage adjusts the center of gravity of the bipedal robot so that it can maintain balance even in the state of single-leg support and prevent tipping, which not only significantly enhances the movement flexibility and expressiveness of the bipedal robot, but also improves the safety and reliability of the bipedal robot by reducing the unstable factors during movement conversion.
[0044] In an embodiment of the present invention, the current posture of the bipedal robot is obtained by responding to the control instruction of the bipedal robot, and then the movement trajectory of the swinging foot and the movement trajectory of the fuselage are determined based on the current posture and the expected single-foot touching posture, and finally the operation of the bipedal robot is controlled based on the movement trajectory of the swinging foot and the movement trajectory of the fuselage. It is easy to notice that the present application first clarifies the initial posture and target posture of the bipedal robot by determining the current posture and the expected single-foot touching posture of the bipedal robot, and then determines the movement trajectory of the swinging foot between the initial posture and the target posture and the movement control trajectory of the fuselage between the initial posture and the target posture from the two parts of the swinging foot and the fuselage, and finally the operation of the bipedal robot is controlled based on the movement trajectory of the swinging foot and the movement trajectory of the fuselage, so that the bipedal robot can ensure its own stability and balance while achieving the single-foot touching posture, thereby solving the technical problem that the single-foot touching posture of the bipedal robot cannot be achieved in the related art.
[0045] Optionally, based on the current posture and the expected single-foot touching posture, the swinging foot movement trajectory of the swinging foot and the body movement trajectory of the corresponding body of the bipedal robot are determined, including: based on the current posture and the expected single-foot touching posture, determining the expected landing posture of the swinging foot; based on a preset trajectory shape, a preset swing time and the expected landing posture, determining the swinging foot movement trajectory, wherein the preset trajectory shape includes at least one pre-set trajectory shape; based on the current posture and the expected landing posture, determining the body movement trajectory.
[0046] The above-mentioned expected landing posture may refer to the ideal position and posture when the toe of the swinging foot touches the ground when the bipedal robot performs a single-foot landing action. The expected landing posture may include but is not limited to the contact point between the toe and the ground, the angles of each joint of the foot, and the relative position of the leg and the body. The specific expected landing posture needs to be determined according to actual conditions and is not limited here. The role of the expected landing posture may include but is not limited to determining the end point of the swinging foot's moving trajectory, ensuring that the robot can remain stable when it touches the ground with one foot, etc.
[0047] The above-mentioned preset trajectory shape may refer to the shape of the motion path of the swinging foot in space that is pre-set during the swinging foot movement trajectory planning stage. The preset trajectory shape may include but is not limited to a straight preset trajectory, a curved preset trajectory, a combined preset trajectory, etc. The specific preset trajectory shape needs to be determined based on the actual trajectory and is not limited here. The role of the preset trajectory shape may include but is not limited to clarifying the motion trajectory, optimizing the motion process of the swinging foot, etc.
[0048] In an optional embodiment, the preset trajectory shape can be set by a polynomial trajectory fitting method, such as using two segments of third-order polynomials to describe the trajectory, the first segment of the trajectory shape is the line connecting the starting point and the highest point, and the second segment of the trajectory shape is from the highest point to the landing point, then the complete preset trajectory shape includes two segments of trajectory shapes.
[0049] The above-mentioned preset swing time may refer to the time required for the bipedal robot to start swinging its foot until the toes touch the ground and reach the desired landing position. The types of preset swing time may include but are not limited to fixed preset swing time and dynamic preset swing time. The specific preset swing time needs to be determined according to the actual movement type, which is not limited here. The role of the preset swing time may include but is not limited to clarifying the movement speed and timing of the swinging foot, ensuring that the swinging foot reaches the desired landing position within the specified time, and avoiding instability caused by too fast or too slow speed.
[0050] In an optional embodiment, the expected landing posture of the swinging foot is first determined by the current posture and the expected single-foot landing posture; then the swinging foot movement trajectory is planned by the preset trajectory shape, the preset swing time and the expected landing posture; finally, the body movement trajectory is determined based on the current posture and the expected landing posture. The above process ensures that the robot can accurately predict and locate the ideal position and posture of the toe touching the ground when performing the action by determining the expected landing posture of the swinging foot. By determining the moving trajectory of the swinging foot, a smooth transition of the toe-touching action is achieved, the efficiency and fluency of the action are optimized, and unnecessary energy consumption and potential risks caused by rough actions are reduced, so that the bipedal robot can maintain balance even when supported by one foot, thereby improving the dynamic expression and ornamental effect of the bipedal robot.
[0051] Optionally, based on the current posture and the expected single-foot touching posture, the expected landing position of the swinging foot is determined, including: based on the current posture and the expected single-foot touching posture, determining the supporting position of the supporting foot in the current posture; determining the possible landing range of the swinging foot based on the supporting position; determining the expected landing position based on the possible landing range and the size of the instep of the swinging foot.
[0052] The above-mentioned expected single-foot touching posture may refer to the ideal position and direction of the supporting foot and the swing foot relative to the ground and the body of the bipedal robot when the bipedal robot touches the ground with one foot. The expected single-foot touching posture may be determined according to the application scenario and is not limited here. The role of the expected single-foot touching posture may include but is not limited to guiding the bipedal robot to smoothly transition from the current posture to the target posture, maintaining the balance and stability of the bipedal robot, etc.
[0053] The above-mentioned support position may refer to the specific position of the contact point of the sole of the supporting foot when the bipedal robot performs an action. The types of support positions may include fixed support positions and dynamic support positions, etc. The specific support position needs to be determined according to the movement mode and ground conditions of the bipedal robot. No limitation is made here. The role of the support position may include but is not limited to ensuring that the bipedal robot can maintain the balance of the center of gravity during the conversion process, avoiding tipping over due to unstable support, etc.
[0054] The above-mentioned landing range may refer to the reasonable position range in which the toe of the swinging foot can stably touch the ground when the robot transitions from the current posture to the expected single-foot landing posture. The types of landing ranges may include fixed landing ranges and dynamic landing ranges, etc. The specific landing range needs to be determined based on the structure of the bipedal robot and the position of the supporting feet, and is not limited here. The role of the landing range may include but is not limited to ensuring that the toes touch the ground in a safe and stable area, avoiding accidental collisions or imbalances of the robot during motion conversion, etc.
[0055] The above-mentioned instep size may refer to the size parameter of the dorsal side of the foot of a bipedal robot. The types of instep size may include but are not limited to the width, length and height of the instep of a bipedal robot. The specific instep size needs to be determined according to actual needs and is not limited here.
[0056] In an optional embodiment, the support position is determined by planning the current posture and the expected single-foot touchdown posture, so that the landing range of the swinging foot is reasonably set based on the support position of the supporting foot, and finally the expected landing position is determined based on the obtained landing range and the instep size. In the above process, by determining the expected landing position of the bipedal robot when performing the single-foot touchdown action, the stability and safety of the bipedal robot when performing the task are ensured, thereby improving the diversity and naturalness of the robot's movements.
[0057] In an optional embodiment, Figure 2 is a schematic diagram of a landing range of a control method for a biped robot according to an embodiment of the present invention, such as Figure 2 As shown, Figure 2 The left side is the left foot landing area, which is the semicircle with a radius of 0.2m and a radius of 0.05m inside and outside the semicircle with the left foot support position as the center. Figure 2 The side is the right foot landing area. The right foot landing area is inside the semicircle with a radius of 0.2m and outside the semicircle with a radius of 0.05m, with the right foot support position as the center. The landing area is shown as the shaded part in the figure. To facilitate viewing of relevant data, the landing area on the left and right sides is represented by half a shade respectively. The above radius range is only an example. The specific radius size can be determined according to actual conditions and is not limited here.
[0058] Optionally, based on the current posture and the expected landing posture, the body movement trajectory is determined, including: determining the first center of mass of the body of the bipedal robot in the current posture; determining the second center of mass of the body of the bipedal robot in the expected landing posture; and constructing the body movement trajectory based on the first center of mass and the second center of mass.
[0059] The first mass center mentioned above may refer to the center point of the mass distribution of the entire body of the biped robot in the current posture. The first mass center represents the balance state of the biped robot before performing an action.
[0060] The second center of mass may refer to the center point of the mass distribution of the entire body of the bipedal robot in the desired landing position. The second center of mass represents the ideal balance state of the robot after completing the single-foot landing action.
[0061] In an optional embodiment, the first center of mass of the body of the biped robot before the action is performed is calculated, and then the second center of mass of the body after the biped robot performs the action is calculated, and then the movement trajectory of the body is constructed based on the first center of mass and the second center of mass. In the above process, the movement trajectory of the body is constructed by the first center of mass and the second center of mass, ensuring that the body of the biped robot is always in a balanced state when the foot moves again, ensuring the overall stability and safety of the biped robot when completing difficult actions.
[0062] Optionally, determining a first center of mass of a body of the bipedal robot in a current posture includes: determining a support polygon formed by two feet of the bipedal robot based on the current posture; and determining a center of the support polygon as the first center of mass.
[0063] The above-mentioned support polygon may refer to the geometric area formed by the contact between the two feet of the bipedal robot and the ground in the current posture. The types of support polygons may include but are not limited to a straight line formed by two-point support, a polygon formed by multiple contact points, a dynamically changing support polygon, etc. The specific support polygon needs to be determined based on the shape of the two feet of the bipedal robot and the current posture, and is not limited here. The functions of the support polygon may include but are not limited to the calculation of the first center of mass, planning and controlling the movements of the bipedal robot, etc.
[0064] In an optional embodiment, the support polygon is determined based on the positions of the two feet of the biped robot in the current posture, and based on the principle that the center of mass is naturally located at the center of the support area when the robot stands on two feet, the center of mass of the support polygon is determined as the first center of mass of the biped robot. The above process not only simplifies the control algorithm, but also ensures the stable state of the robot before performing an action. At the same time, the first center of mass determined in this way is used as the basis for subsequent action planning and control strategies to guide the robot to smoothly transition to the desired single-footed posture.
[0065] In an optional embodiment, Figure 3is a schematic diagram of a supporting polygon when a biped robot stands on its two feet according to an embodiment of the present invention, Figure 4 is a schematic diagram of a supporting polygon when a biped robot touches the ground with one foot according to an embodiment of the present invention. Figure 3 As shown, Figure 3 The two rectangles in the figure represent the areas where the two feet of the biped robot are in contact with the ground, and the shaded area represents the shape of the supporting polygon when both feet of the biped robot are in contact with the ground. Figure 4 As shown, Figure 4 The rectangle in the figure represents the contact area between the supporting foot of the biped robot and the ground, the circle represents the contact area between the swinging foot of the biped robot and the ground, and the shaded part represents the contact area between the supporting foot and the ground when one foot of the biped robot touches the ground.
[0066] When the bipedal robot stands on its legs, in order to maintain the best balance, the center of mass needs to be maintained at the center of the support polygon, which can be approximated by the midpoint of the two feet. When receiving a step command, such as lifting the right leg, the body needs to move toward the supporting foot before lifting the leg. At this time, the center of mass is transferred from the midpoint of the two feet to the palm of the supporting leg.
[0067] Optionally, determining a second center of mass of the body of the bipedal robot in an expected landing posture includes: determining a sole area of the supporting foot based on an expected single-foot landing posture; and determining a center of the sole area as the second center of mass.
[0068] The above-mentioned sole area may refer to the geometric area formed by the contact between the supporting foot and the ground when the biped robot is in the desired landing position. The types of sole areas may include but are not limited to the plane contact sole area, point contact sole area, etc. The specific sole area type needs to be determined based on multiple factors such as the foot design, the ground material, and the desired landing position, which are not limited here. The functions of the sole area may include but are not limited to calculating the second center of mass, stabilizing the biped robot, etc.
[0069] In an optional embodiment, the sole area of the supporting foot of the bipedal robot in the expected single-footed posture is first determined, and then the second center of mass is determined based on the center of the sole area. This helps to evaluate and control the balance state of the robot when it is single-footed, and at the same time provides a precise control basis for the robot when performing advanced movements, ensuring that it can complete tasks safely and stably, and show a more natural and coordinated posture performance.
[0070] Optionally, the operation of the bipedal robot is controlled based on the moving trajectory of the swinging foot and the moving trajectory of the fuselage, including: determining a first desired state of the swinging foot at multiple moving time points based on the moving trajectory of the swinging foot; determining a second desired state of the fuselage at multiple moving time points based on the moving trajectory of the fuselage; controlling the swinging foot to move along the moving trajectory of the swinging foot based on the first desired state, and controlling the fuselage to move along the moving trajectory of the fuselage based on the second desired state.
[0071] The above-mentioned multiple movement time points may refer to pre-set key time points in the process of the bipedal robot transitioning from the current posture to the expected landing posture. The specific number of multiple movement time points needs to be determined based on the control accuracy and movement difficulty, and is not limited here. The role of multiple movement time points may include but is not limited to fine-grained control of the movement of the bipedal robot, ensuring that the swinging feet and the body can smoothly transition according to the expected trajectory and time points, and avoiding abrupt or unstable phenomena during the movement.
[0072] The above-mentioned first expected state may refer to the state that the swinging foot should reach when running along its moving trajectory at multiple moving time points. The type of the first expected state may include but is not limited to state parameters such as position, speed, acceleration and posture of the swinging foot at multiple moving time points. The specific first expected state needs to be determined based on the moving trajectory of the swinging foot, which is not limited here. The first expected state can be used to monitor and adjust the state of the swinging foot in real time to ensure that it can accurately run according to the planned trajectory at each moving time point.
[0073] The above-mentioned second expected state may refer to the state that the fuselage should reach when it moves along its moving trajectory at multiple moving time points. The type of the second expected state may include but is not limited to state parameters such as position, speed, acceleration and posture of the fuselage at multiple moving time points. The specific second expected state needs to be determined based on the moving trajectory of the fuselage, which is not limited here. The second expected state can be used to accurately adjust the state parameters of the fuselage to ensure that when the robot touches the ground with one foot, the center of mass smoothly transitions to above the new support point to avoid tipping or shaking of the fuselage.
[0074] In an optional embodiment, by setting multiple moving time points and determining the first desired state and the second desired state of the swinging foot and the body at these time points, a smooth transition of the bipedal robot from the current posture to the desired landing posture can be achieved. The above process not only ensures the precise execution of the action and the natural transition of the posture, but also effectively controls the energy use and dynamic performance of the robot, thereby providing technical support for the advanced motion control of the robot in a complex environment, so that the bipedal robot can show a more natural and coordinated posture performance when executing commands.
[0075] Optionally, controlling the swing foot to move along the swing foot movement trajectory based on the first expected state includes: converting the first expected state into a first expected movement trajectory corresponding to a first joint of the swing foot; determining a first torque to be generated when the first joint reaches the first expected movement trajectory; and controlling the first joint to move based on the first torque so that the swing foot moves along the swing foot movement trajectory.
[0076] The above-mentioned first joint may refer to a joint that is directly related to the moving trajectory of the swinging foot during the swinging foot action. The type of the first joint may include but is not limited to the ankle, knee or hip joint, etc. The specific first joint needs to be determined based on the robot design and control strategy. The first joint can be used to guide the swinging foot to move along a predetermined trajectory.
[0077] The above-mentioned first expected movement trajectory may refer to an ideal position change sequence that the first joint should reach at multiple movement time points of the swinging foot. The first expected movement trajectory may be determined by statics. The first expected movement trajectory may be used to provide clear path guidance for the transition of the swinging foot from a current posture to an expected landing posture. By controlling the first joint to run along the first expected movement trajectory, it may be ensured that the movement of the swinging foot is smooth and stable, thereby avoiding overall imbalance of the robot due to uncoordinated joint movement.
[0078] The above-mentioned first torque may refer to the torque that the controller needs to apply in order to make the first joint reach the first desired movement trajectory. The first torque can be determined through inverse dynamics, torque feedback control, etc. The first torque can be used as a power source to control the swing foot to move along a predetermined trajectory, driving the first joint to move according to the first desired movement trajectory, thereby achieving precise control of the swing foot and smooth execution of the robot's single-foot touching action.
[0079] In an optional embodiment, the first desired state of the swinging foot is converted into the first desired movement trajectory of the first joint of the swinging foot by a static method, and then the first torque of the first joint to achieve the first desired movement trajectory is determined by an inverse dynamics method, and finally the first joint of the swinging foot is controlled to move by the first torque. The above process, through intelligent joint control and torque adjustment, clarifies the movement principle of the bipedal robot's swinging foot while ensuring the coordination and safety of the bipedal robot when performing difficult movements, providing solid technical support for the bipedal robot in the field of advanced motion control.
[0080] Optionally, controlling the fuselage to move along the fuselage movement trajectory based on the second expected state includes: converting the second expected state into a second expected movement trajectory corresponding to a second joint of the fuselage; determining a second torque to be generated when the second joint reaches the second expected movement trajectory; and controlling the operation of the second joint based on the second torque so that the fuselage moves along the fuselage movement trajectory.
[0081] The above-mentioned second joint may refer to a joint in a bipedal robot that is directly related to the movement trajectory of the body. The second joint may include but is not limited to the hip joint at the connection between the robot's legs and torso, and possible rotational joints inside the torso, such as waist joints, etc. The specific second joint needs to be determined based on the body design of the bipedal robot and is not limited here. The second joint can be used to control the bipedal robot body to run according to the second expected movement trajectory, ensuring that the robot remains stable during the transition from bipedal standing to single-foot standing.
[0082] The above-mentioned second expected movement trajectory may refer to an ideal position change sequence that the second joint should reach at multiple movement time points. The second expected movement trajectory may be determined by statics. The second expected movement trajectory may be used to provide clear path guidance for the fuselage to smoothly transition from the current posture to a new posture in the expected landing position. By controlling the second joint to run along the second expected movement trajectory, the balance and stability of the bipedal robot in the single-foot landing action can be ensured, thereby preventing the fuselage from becoming unbalanced due to uncoordinated movement.
[0083] The above-mentioned second torque may refer to the torque that the controller needs to apply in order to make the second joint reach the second desired movement trajectory. The second torque can be determined through inverse dynamics, torque feedback control, etc. The second torque can be used as a power source to control the fuselage to move along a predetermined trajectory, coordinate the movement of the fuselage, and ensure smooth transition and stable control of the overall posture when the bipedal robot performs a single-foot touching action.
[0084] In an optional embodiment, the second desired state of the fuselage is converted into the second desired movement trajectory of the second joint of the fuselage through a static method, and then the second torque of the second joint to achieve the second desired movement trajectory is determined through an inverse dynamics method, and finally the second joint of the fuselage is controlled to operate through the second torque. In the above process, by accurately controlling the second joint, the robot body can smoothly transition along the second desired movement trajectory, ensuring the body stability and posture coordination of the bipedal robot when performing a single-foot touchdown action.
[0085] In an optional embodiment, the force and torque of the biped robot joints can be calculated by a statics method, and the calculation formula is as follows:
[0086] τ feedforward =J T [F,τ] T ;
[0087] In the formula, τ feedforward For the feedforward part, each joint on the leg should respond to the torque, J represents the Jacobian matrix, which is used to convert the 6-dimensional vector end force and torque [F, τ] T Projected onto the torque of each joint, F represents the force at the end of the 6-dimensional vector, and τ represents the force and torque at the end of the 6-dimensional vector.
[0088] The feedback part is calculated by proportional-integral-derivative control (PID control) of joint tracking, and the calculation formula is as follows:
[0089] τ feedback =K jp (p j -p jd )+K jd (v j -v jd );
[0090] In the formula, p j Indicates the joint angle corresponding to the joint, v j represents the angular velocity of the joint, p jd represents the desired angle of the joint, v jd represents the desired angular velocity of the joint, τ feedback Denotes the feedback torque, k jd Represents the differential gain, which is the differential coefficient in PID control, k jp Represents proportional gain, which is the coefficient of the proportional part in PID control.
[0091] Finally, the torque of the feedforward part is combined with the torque of the feedback part and sent to the motor drive for execution.
[0092] According to another aspect of an embodiment of the present invention, a control device for a bipedal robot is also provided, which can execute the control method for a bipedal robot provided in the above embodiment. The specific implementation method and preferred application scenario are the same as those in the above embodiment and will not be repeated here.
[0093] Figure 5 is a schematic diagram of a control device for a biped robot according to an embodiment of the present invention. Figure 5 As shown, the device includes: an acquisition module 502, used for acquiring the current posture of the bipedal robot in response to receiving a control instruction of the bipedal robot, wherein the control instruction carries posture data of the bipedal robot, and the posture data is used to determine the expected single-foot touching posture of the bipedal robot, and the expected single-foot touching posture is used to indicate that it is expected that the toe area of the corresponding swinging foot of the bipedal robot touches the ground when the sole area of the corresponding supporting foot of the bipedal robot touches the ground; a determination module 504, used for determining the swinging foot movement trajectory of the swinging foot and the body movement trajectory of the corresponding body of the bipedal robot based on the current posture and the expected single-foot touching posture; a control module 506, used for controlling the operation of the bipedal robot based on the swinging foot movement trajectory and the body movement trajectory.
[0094] Optionally, the determination module includes: a first determination unit, used to determine the expected landing posture of the swinging foot based on the current posture and the expected single-foot landing posture; a second determination unit, used to determine the movement trajectory of the swinging foot based on a preset trajectory shape, a preset swing time and the expected landing posture, wherein the preset trajectory shape includes at least one pre-set trajectory shape; a third determination unit, used to determine the movement trajectory of the fuselage based on the current posture and the expected landing posture.
[0095] Optionally, the first determination unit includes: a first determination subunit, used to determine the supporting position of the supporting foot in the current posture based on the current posture and the expected single-foot touching posture; a second determination subunit, used to determine the possible landing range of the swinging foot based on the support position; and determine the expected landing position based on the possible landing range and the instep size of the swinging foot.
[0096] Optionally, the third determination unit includes: a third determination subunit, used to determine the first center of mass of the body of the bipedal robot in the current posture; a fourth determination subunit, used to determine the second center of mass of the body of the bipedal robot in the expected landing posture; and a construction subunit, used to construct the body movement trajectory based on the first center of mass and the second center of mass.
[0097] Optionally, the third determination subunit includes: determining a support polygon formed by two feet of the biped robot based on the current posture; and determining the center of the support polygon as the first centroid.
[0098] Optionally, the fourth determination subunit includes: determining the sole area of the supporting foot based on the expected single-foot touching posture; and determining the center of the sole area as the second center of mass.
[0099] Optionally, the control module includes: a fourth determination unit, used to determine a first expected state of the swinging foot at multiple moving time points based on the moving trajectory of the swinging foot; a fifth determination unit, used to determine a second expected state of the fuselage at multiple moving time points based on the moving trajectory of the fuselage; and a control unit, used to control the swinging foot to move along the moving trajectory of the swinging foot based on the first expected state, and control the fuselage to move along the moving trajectory of the fuselage based on the second expected state.
[0100] Optionally, the control unit includes: a first conversion subunit, used to convert the first desired state into a first desired movement trajectory corresponding to the first joint of the swing foot; a fifth determination subunit, used to determine the first torque to be generated when the first joint reaches the first desired movement trajectory; and a first control subunit, used to control the operation of the first joint based on the first torque so that the swing foot moves along the swing foot movement trajectory.
[0101] Optionally, the control unit includes: a second conversion subunit, used to convert the second desired state into a second desired movement trajectory corresponding to the second joint of the fuselage; a sixth determination subunit, used to determine the second torque to be generated when the second joint reaches the second desired movement trajectory; and a second control subunit, used to control the operation of the second joint based on the second torque so that the fuselage moves along the fuselage movement trajectory.
[0102] According to another aspect of an embodiment of the present invention, there is further provided an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein the method in each embodiment of the present invention is executed when the program is running.
[0103] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided. The computer-readable storage medium includes a stored program. When the program is executed, a processor of a device is controlled to execute the methods of various embodiments of the present invention.
[0104] The computer storage medium in the above steps can be a medium used to store certain discontinuous physical quantities in a computer memory, and the computer storage medium mainly includes semiconductors, magnetic cores, magnetic drums, magnetic tapes, laser disks, etc. The stored program included in the computer-readable storage medium can be a set of instructions that can be recognized and executed by a computer, running on an electronic computer, and is an information tool that meets certain needs of people.
[0105] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the method in each embodiment of the present invention is implemented.
[0106] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0107] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0108] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0109] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0110] If the integrated unit is implemented in the form of 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, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
[0111] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A control method for a bipedal robot, characterized in that: include: In response to receiving a control instruction of the bipedal robot, collecting the current posture of the bipedal robot, wherein the control instruction carries posture data of the bipedal robot, and the posture data is used to determine an expected single-foot touchdown posture of the bipedal robot, and the expected single-foot touchdown posture is used to indicate that it is expected that the toe area of the corresponding swinging foot of the bipedal robot touches the ground when the sole area of the corresponding supporting foot of the bipedal robot touches the ground; Determining a swinging foot movement trajectory of the swinging foot and a body movement trajectory of a corresponding body of the bipedal robot based on the current posture and the expected single-foot ground-touching posture; The operation of the biped robot is controlled based on the movement trajectory of the swinging foot and the movement trajectory of the body.
2. The control method of the biped robot according to claim 1, characterized in that: Based on the current posture and the expected single-foot-touching posture, determining a swinging foot movement trajectory of the swinging foot and a body movement trajectory of a corresponding body of the bipedal robot, comprising: Determining an expected landing posture of the swing foot based on the current posture and the expected single-foot landing posture; Determine the movement trajectory of the swing foot based on a preset trajectory shape, a preset swing time and the expected foot landing posture, wherein the preset trajectory shape includes at least one preset trajectory shape; Based on the current posture and the expected landing posture, the movement trajectory of the fuselage is determined.
3. The control method of the biped robot according to claim 2, characterized in that: Determining an expected landing posture of the swinging foot based on the current posture and the expected single-foot landing posture includes: Determining a supporting position of the supporting foot in the current posture based on the current posture and the expected single-foot-touching posture; Determining a landing range of the swing foot based on the support position; The expected landing position is determined based on the landing range and the instep size of the swing foot.
4. The control method of the biped robot according to claim 2, characterized in that: Determining the movement trajectory of the fuselage based on the current posture and the expected landing posture includes: Determine a first center of mass of the body of the bipedal robot in the current posture; Determine a second center of mass of the body of the bipedal robot in the expected landing posture; The body movement trajectory is constructed based on the first center of mass and the second center of mass.
5. The control method of the biped robot according to claim 4, characterized in that: Determining a first center of mass of the body of the bipedal robot in the current posture includes: Determining a support polygon formed by two feet of the biped robot based on the current posture; The center of the supporting polygon is determined as the first centroid.
6. The control method of the biped robot according to claim 4, characterized in that: Determining a second center of mass of the body of the bipedal robot in the expected landing posture includes: Determining the sole area of the supporting foot based on the expected single-foot landing posture; The center of the sole area is determined as the second mass center.
7. The control method of the biped robot according to claim 1, characterized in that: Controlling the operation of the bipedal robot based on the movement trajectory of the swinging foot and the movement trajectory of the body includes: Determining a first desired state of the swing foot at a plurality of movement time points based on the movement trajectory of the swing foot; Determining a second desired state of the fuselage at the plurality of movement time points based on the movement trajectory of the fuselage; The swing foot is controlled to move along the swing foot movement trajectory based on the first desired state, and the fuselage is controlled to move along the fuselage movement trajectory based on the second desired state.
8. The control method of the biped robot according to claim 7, characterized in that: Controlling the swing foot to move along the swing foot movement trajectory based on the first desired state includes: Converting the first desired state into a first desired movement trajectory corresponding to the first joint of the swing foot; Determine a first torque to be generated when the first joint reaches the first expected movement trajectory; The first joint is controlled to move based on the first torque, so that the swing foot moves along the swing foot movement trajectory.
9. The control method of the biped robot according to claim 7, characterized in that: Controlling the fuselage to move along the fuselage movement trajectory based on the second desired state includes: Converting the second desired state into a second desired movement trajectory corresponding to a second joint of the fuselage; Determine a second torque to be generated when the second joint reaches the second expected movement trajectory; The second joint is controlled to operate based on the second torque, so that the fuselage moves along the fuselage movement trajectory.
10. An electronic device, characterized in that: include: A memory storing an executable program; A processor, configured to run the program, wherein the program executes the method according to any one of claims 1 to 9 when running.
Citation Information
Patent Citations
Humanoid gait planning method of biped robot
CN111240339A
Single-foot support phase gait planning method of biped robot
CN111284584A
Motion control method and device, controller, medium and robot
CN117590840A
Control device and gait generating device for bipedal mobile robot
US20110264264A1