Biped robot control method, electronic equipment and storage medium
By obtaining the step trajectory of the bipedal robot and controlling the movement of the fuselage based on the current centroid and support foot position, the problem of poor control effect of the bipedal robot is solved, and precise control of the fuselage stability and movement trajectory is achieved.
Patent Information
- Application Number
- CN202411571042.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-11-05
AI Technical Summary
In the prior art, the control effect of bipedal robots is poor, especially in terms of precise control of fuselage stability and motion trajectory.
By responsive to the received step command, the step trajectory of the bipedal robot is obtained, and the fuselage is controlled to move in different directions based on the current center of mass position of the fuselage and the current position of the support foot, and the corresponding moving position is obtained to realize the bipedal robot. Accurate control of the movement trajectory of the fuselage.
The technical effect of keeping the bipedal robot's fuselage stable during the step process is achieved, thus solving the problem of poor control effect of bipedal robots in related technologies.
Smart Images

Figure CN119472748A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control, and in particular to a control method, electronic equipment and storage medium of 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 related technologies, imitation learning is used to achieve remote control of bipedal robots, and the walking ability of bipedal robots is achieved from scratch by using existing planning and control methods. However, in the process of controlling the bipedal operation of the bipedal robot, the body often becomes unstable, making it difficult to achieve precise control of the motion trajectory of the bipedal robot body, which in turn results in poor control effect of the bipedal robot in 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, an electronic device and a storage medium for a bipedal robot, so as to at least solve the technical problem of poor control effect on the bipedal robot in the related art.
[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 stepping instruction of the bipedal robot, obtaining a stepping trajectory of the bipedal robot, wherein the stepping trajectory is used to represent a motion trajectory of a swinging foot of the bipedal robot from a current posture to a desired posture, the bipedal robot further comprising supporting feet and a body, the supporting feet being used to support the body in a stable state; based on a current center of mass position of the body and a current position of the supporting feet, controlling the body to move in a first direction to obtain a first moving position, wherein the first direction is used to represent a direction of the supporting foot relative to the swinging foot; based on the stepping trajectory and the first moving position, controlling the body to move in a second direction to obtain a second moving position, wherein the second direction is used to represent a moving direction of the swinging foot in the stepping trajectory.
[0006] Furthermore, the fuselage is controlled to move in a first direction based on the current center of mass position of the fuselage and the current position of the supporting feet to obtain a first moving position, including: determining a moving distance of the fuselage based on the current center of mass position and the current position, wherein the moving distance is less than the interval distance between the current center of mass position and the current position; determining a first moving amplitude based on the moving distance and a first moving speed; and controlling the fuselage to move in the first direction based on the first moving amplitude to obtain the first moving position.
[0007] Furthermore, based on the walking trajectory and the first moving position, the fuselage is controlled to move in a second direction to obtain a second moving position, including: determining an initial position and a target position of the swinging foot based on the walking trajectory; constructing a position vector of the swinging foot based on the initial position and the target position, wherein the direction of the position vector is used to represent the second direction, and the length of the position vector represents a straight-line distance projected by the motion trajectory of the swinging foot onto the plane where the bipedal robot is located; based on the first moving position and the position vector, the fuselage is controlled to move in the second direction to obtain the second moving position.
[0008] Further, based on the first moving position and the position vector, the fuselage is controlled to move in the second direction to obtain the second moving position, including: determining the second moving amplitude based on the position vector and the second moving speed; based on the first moving position and the second moving amplitude, the fuselage is controlled to move in the second direction to obtain the second moving position.
[0009] Furthermore, the method also includes: in response to receiving a control instruction of the bipedal robot, collecting the current posture of the bipedal robot, wherein the control instruction carries the desired posture of the bipedal robot; determining the relative movement distance and relative swing angle of the bipedal robot based on the current posture and the desired posture, wherein the relative movement distance is used to represent the relative positions of the supporting foot and the swinging foot in the plane where the bipedal robot is located when taking a step, and the relative swing angle is used to represent the relative angle of the supporting foot and the swinging foot in the plane when taking a step, 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; generating a step instruction based on the relative movement distance and the relative swing angle.
[0010] Furthermore, based on the walking trajectory and the first moving position, the fuselage is controlled to move in the second direction to obtain the second moving position, including: controlling the movement of the swinging foot based on the relative moving distance and the relative swinging angle, and synchronously controlling the fuselage to move in the second direction based on the walking trajectory and the first moving position to obtain the second moving position.
[0011] Furthermore, the movement of the fuselage in the second direction is controlled based on the walking trajectory and the current position, including: inputting the walking trajectory and the current position into a state machine, using the state machine to plan the operation of the fuselage, and obtaining the movement state of the fuselage, wherein the state machine is used to represent the movement state conversion relationship of the fuselage from the current position to the target position; and controlling the movement of the fuselage in the second direction based on the movement state.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] In an embodiment of the present invention, by responding to receiving a stepping instruction of the bipedal robot, the stepping trajectory of the bipedal robot is obtained, and then the body is controlled to move in a first direction based on the current center of mass position of the body and the current position of the supporting feet to obtain a first moving position, and the body is controlled to move in a second direction based on the stepping trajectory and the first moving position to obtain a second moving position, thereby ultimately achieving the purpose of accurately controlling the moving trajectory of the bipedal robot body. It is easy to notice that the walking trajectory is used to represent the motion trajectory of the swinging foot of the bipedal robot from the current posture to the desired posture. By determining the walking trajectory of the bipedal robot, the trajectory of the swinging foot during the posture change process is clarified, and then on the basis of determining the first moving position, the body is controlled to move along the second direction according to the walking trajectory and the first moving position to obtain the second moving position. The above process determines the walking trajectory, the first direction and the second direction of the bipedal robot, and then plans the movement trajectory of the body based on the walking trajectory, the first direction and the second direction, thereby achieving the purpose of accurately controlling the movement trajectory of the bipedal robot body, thereby achieving the technical effect of keeping the bipedal robot body stable during the walking process, thereby solving the technical problem of poor control effect of the bipedal robot in the related technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] 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:
[0017] Figure 1 is a flow chart of a control method of a biped robot according to an embodiment of the present invention;
[0018] Figure 2 is a schematic diagram of a preset coordinate system of a control method for a biped robot according to an embodiment of the present invention;
[0019] Figure 3 A schematic diagram of an optional body planning of a biped robot according to an embodiment of the present invention;
[0020] Figure 4is a flow chart of an optional control method of a biped robot according to an embodiment of the present invention;
[0021] Figure 5 Schematic diagram of a control device for a bipedal robot according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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:
[0026] Step S102, in response to receiving a step instruction of the bipedal robot, obtaining the step trajectory of the bipedal robot, wherein the step trajectory is used to represent the motion trajectory of the swinging foot of the bipedal robot from the current posture to the desired posture, and the bipedal robot also includes supporting feet and a body, and the supporting feet are used to support the body in a stable state.
[0027] The bipedal robot in the above steps is used to describe 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, family services, entertainment performances, etc.
[0028] The stepping instruction in the above steps is used to describe the signal sent by the control system to instruct the bipedal robot to perform a stepping action. The types of stepping instructions may include but are not limited to forward stepping instructions, backward stepping instructions, side stepping instructions or turning instructions, etc. The specific stepping instructions need to be determined according to the actual situation of the control system and are not limited here. The role of the stepping instruction may be but is not limited to being used as a walking action trigger signal or a stepping action guidance instruction for the bipedal robot.
[0029] 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 acquisition instructions, acquiring the current posture of the bipedal robot, responding to control instructions, controlling the bipedal robot to achieve the desired posture, etc. The specific response needs to be determined according to the needs of the control system and is not limited here.
[0030] The walking trajectory in the above steps is used to describe the motion path of the bipedal robot's swinging feet from the current posture to the desired posture. The types of walking trajectories may include but are not limited to linear trajectories, curved trajectories, dynamic trajectories, etc. The specific walking trajectory can be determined according to actual conditions and is not limited here. The functions of the walking trajectory may include but are not limited to keeping the bipedal robot balanced, improving the walking efficiency of the bipedal robot, and improving the environmental adaptability of the bipedal robot.
[0031] The current posture in the above steps is used to describe 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 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 current posture can be determined according to actual needs and is not limited here.
[0032] The expected posture in the above steps is used to describe the target position and angle that the control system expects the bipedal robot to reach. The expected posture can be used to guide the bipedal robot on how to adjust its movements to achieve the goal. The types of expected postures may include but are not limited to the target position, target angle, target direction, target movement, etc. of the bipedal robot. The specific expected posture can be determined according to actual needs and is not limited here.
[0033] The swing foot in the above steps is used to describe the foot that is not in contact with the ground and is ready to take a step in the gait of the biped 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.
[0034] The supporting foot in the above steps is used to describe the foot that is currently in contact with the ground and provides support in the gait of the biped robot. The supporting foot can be used to maintain the balance and stability of the robot and is the basis of gait conversion.
[0035] In an optional embodiment, the stepping instruction of the bipedal robot triggers the generation of a stepping trajectory, which can plan the path for the robot to swing its feet from the current position to the target position. The above process, through a carefully designed stepping trajectory, enables the bipedal robot to achieve smooth and efficient movement while reducing energy consumption and improving walking stability and efficiency. At the same time, this motion planning not only improves the robot's maneuverability, but also enhances its adaptability in complex environments, thereby improving the practicality and flexibility of the bipedal robot in various application scenarios.
[0036] Step S104, based on the current center of mass position of the fuselage and the current position of the supporting foot, the fuselage is controlled to move along a first direction to obtain a first moving position, wherein the first direction is used to indicate the direction of the supporting foot relative to the swinging foot.
[0037] The center of mass in the above steps is the balance point used to describe the mass distribution of the bipedal robot. It is the equivalent concentration point of all the mass of the bipedal robot. Determining the center of mass of the bipedal robot helps to determine the balance and movement of the robot. The position of the center of mass can be determined based on the design and load conditions of the bipedal robot, and is not limited here.
[0038] The current center of mass position in the above steps is used to describe the center of mass position of the bipedal robot at the current moment. The types of the current center of mass position may include but are not limited to the static center of mass position, the actual center of mass position and the dynamic center of mass position. The specific type of the current center of mass position needs to be determined according to actual needs and is not limited here. The role of the current center of mass position may include but is not limited to clarifying the balance point of the bipedal robot and promoting the movement balance of the bipedal robot.
[0039] The first direction in the above steps is used to describe the direction of the supporting foot relative to the swinging foot. The types of the first direction may include but are not limited to horizontal direction, vertical direction and diagonal direction, etc. The specific first direction needs to be determined according to actual conditions and is not limited here. The role of the first direction may include but is not limited to determining the main moving direction of the bipedal robot during operation, controlling the operating direction, etc.
[0040] The first moving position in the above steps is used to describe the new position reached by the fuselage after the fuselage is controlled to move along the first direction. The types of the first moving position may include but are not limited to a preset position, a dynamic position, etc. The specific first moving position needs to be determined based on actual conditions and is not limited here. The functions of the first moving position may include but are not limited to determining the position of the fuselage, helping the system to locate and perform subsequent operations, etc.
[0041] In an optional embodiment, a first direction is first determined according to the direction of the supporting foot relative to the swinging foot, and then the fuselage is controlled to move along the first direction based on the current center of mass position of the fuselage and the current position of the supporting foot, so that the fuselage position reaches a first moving position. The above process improves the stability of the moving process, reduces the risk of falling, and improves the movement efficiency by stipulating the first direction as the moving direction of the fuselage, and at the same time can quickly adjust the fuselage position when needed to adapt to different operating conditions.
[0042] Step S106, controlling the body to move along a second direction based on the walking trajectory and the first moving position to obtain a second moving position, wherein the second direction is used to represent the moving direction of the swinging foot in the walking trajectory.
[0043] The second direction in the above steps is used to describe the moving direction of the swing foot relative to the supporting foot in the step trajectory. The types of the second direction may include but are not limited to horizontal direction, vertical direction and inclined direction, etc. The specific type of the second direction should be determined according to actual needs and is not limited here. The function of the second direction may include but is not limited to controlling the movement of the bipedal robot body, maintaining the balance of the bipedal robot, etc.
[0044] The second moving position in the above steps is used to describe the new position reached by the body of the bipedal robot after completing the stepping action. The second moving position can be any new position relative to the first moving position. The specific second moving position is determined according to the stepping trajectory and the second direction, and is not limited here. The function of the second moving position may include but is not limited to determining the position of the body, providing a new starting position for the next stepping action, etc.
[0045] In an optional embodiment, first, a second direction is determined based on the moving direction of the swinging foot in a step trajectory, and then the bipedal robot is guided to move in the second direction based on the step trajectory and the first moving position to ensure that the body reaches the second moving position from the first moving position. The above process can reduce unnecessary movement by controlling the body to move in the moving direction of the swinging foot, which helps to maintain the balance of the robot and improve the efficiency of the overall movement. At the same time, moving according to the determined step trajectory can reduce the risk of accidental collision and improve the safety of operation.
[0046] In an embodiment of the present invention, by responding to receiving a stepping instruction of the bipedal robot, the stepping trajectory of the bipedal robot is obtained, and then the body is controlled to move in a first direction based on the current center of mass position of the body and the current position of the supporting feet to obtain a first moving position, and the body is controlled to move in a second direction based on the stepping trajectory and the first moving position to obtain a second moving position, thereby ultimately achieving the purpose of accurately controlling the moving trajectory of the bipedal robot body. It is easy to notice that the walking trajectory is used to represent the motion trajectory of the swinging foot of the bipedal robot from the current posture to the desired posture. By determining the walking trajectory of the bipedal robot, the trajectory of the swinging foot during the posture change process is clarified, and then on the basis of determining the first moving position, the body is controlled to move along the second direction according to the walking trajectory and the first moving position to obtain the second moving position. The above process determines the walking trajectory, the first direction and the second direction of the bipedal robot, and then plans the movement trajectory of the body based on the walking trajectory, the first direction and the second direction, thereby achieving the purpose of accurately controlling the movement trajectory of the bipedal robot body, thereby achieving the technical effect of keeping the bipedal robot body stable during the walking process, thereby solving the technical problem of poor control effect of the bipedal robot in the related technology.
[0047] Optionally, the fuselage is controlled to move in a first direction based on the current center of mass position of the fuselage and the current position of the supporting feet to obtain a first moving position, including: determining a moving distance of the fuselage based on the current center of mass position and the current position, wherein the moving distance is less than the interval distance between the current center of mass position and the current position; determining a first moving amplitude based on the moving distance and a first moving speed; and controlling the fuselage to move in the first direction based on the first moving amplitude to obtain the first moving position.
[0048] The above-mentioned moving distance is used to describe the distance that the fuselage moves along the first direction. The moving distance is less than the interval distance between the current center of mass position of the fuselage and the current position of the supporting feet. The types of moving distances may include but are not limited to vertical moving distances, horizontal moving distances or straight-line moving distances, etc. The specific types of moving distances are allowed to be determined based on the relative position of the supporting feet and the current center of mass position, which is not limited here. The role of the moving distance may include but is not limited to determining the upper limit of the fuselage movement, ensuring the safety of the fuselage, etc.
[0049] The above-mentioned first moving speed is used to describe the speed at which the fuselage moves along the first direction. The unit of the first moving speed may include but is not limited to meter / second, millimeter / second, kilometer / hour, etc. The specific unit should be determined according to actual conditions and is not limited here. The types of the first moving speed may include but are not limited to constant speed, variable speed or acceleration control, etc. The specific first moving speed should be determined according to the design of the control system and is not limited here. The function of the first moving speed may include but is not limited to controlling the speed of the movement of the fuselage, controlling the efficiency and response time of the movement, etc.
[0050] The above-mentioned first movement amplitude is used to describe the distance that the fuselage moves along the first direction at a first movement speed. The types of the first movement amplitude may include but are not limited to a fixed movement amplitude, a real-time movement amplitude, etc. The specific first movement amplitude needs to be determined according to the system design and is not limited here. The function of the first movement amplitude may include but is not limited to controlling the fuselage to reach the first movement position, ensuring the movement speed and movement distance, etc.
[0051] In an optional embodiment, first, the required moving distance of the fuselage is calculated based on the current center of mass position of the fuselage and the current position of the supporting feet, wherein the calculated moving distance needs to be smaller than the actual spacing distance between the center of mass position and the supporting feet position to ensure that the movement is feasible and does not exceed the supporting range of the supporting feet; then, the first movement amplitude of the fuselage is determined according to the calculated moving distance and the preset first moving speed; finally, the fuselage is controlled to move along the first direction according to the first movement amplitude until the first moving position is reached. The above process can ensure that the fuselage remains balanced during the movement process by accurately controlling the moving distance and speed, and avoid instability or damage caused by excessive movement.
[0052] In an optional embodiment, Figure 2 is a schematic diagram of a preset coordinate system of a control method for a biped robot according to an embodiment of the present invention, such as Figure 2 As shown, the preset coordinate system includes an x-axis, a y-axis, a z-axis and an origin O, the origin O corresponds to the center of mass of the bipedal robot, the x-axis, the y-axis, and the z-axis correspond to the first preset axis, the second preset axis, and the third preset axis respectively, and the directions corresponding to the above x-axis, y-axis, and z-axis can be adjusted according to actual conditions and are not limited here.
[0053] Optionally, the fuselage is controlled to move in a second direction based on the walking trajectory and the first moving position to obtain a second moving position, including: determining an initial position and a target position of the swinging foot based on the walking trajectory; constructing a position vector of the swinging foot based on the initial position and the target position, wherein the direction of the position vector is used to represent the second direction, and the length of the position vector represents a straight-line distance projected by the motion trajectory of the swinging foot onto the plane where the bipedal robot is located; and the fuselage is controlled to move in the second direction based on the first moving position and the position vector to obtain the second moving position.
[0054] The above-mentioned initial position is used to describe the position of the swing foot at the beginning of taking a step. The initial position can be used to determine the starting state of the swing foot. The types of initial positions may include but are not limited to dynamic initial positions and static initial positions. The specific initial position needs to be determined based on the motion state of the bipedal robot before taking a step, and is not limited here.
[0055] The above-mentioned target position is used to describe the position that the swing foot reaches at the end of a step. The types of target positions may include but are not limited to static target positions and dynamic target positions. The specific target position needs to be determined according to the task requirements and is not limited here. The role of the target position may include but is not limited to determining the final position of the swing foot, guiding the movement direction of the swing foot, etc.
[0056] The above-mentioned position vector is used to describe the vector pointing from the initial position to the target position. The types of position vectors may include but are not limited to static position vectors and dynamic position vectors. The specific position vector should be determined according to actual needs and is not limited here. The role of the position vector may include but is not limited to determining the second direction, determining the straight-line distance of the motion trajectory, etc.
[0057] In an optional embodiment, first, determine the initial position and target position of the swinging foot; then, construct a position vector based on the initial position and the target position, the position vector can be used to indicate the direction of movement of the swinging foot, that is, the second direction of movement of the bipedal robot, and the straight-line distance of the movement trajectory of the swinging foot on the plane where the robot is located can also be determined by the length of the position vector; then, based on the current first moving position and position vector of the bipedal robot, control the body of the bipedal robot to move along the second direction, so that the bipedal robot can accurately reach the second moving position according to the requirements of the stepping trajectory. The above process improves the accuracy and efficiency of the movement of the bipedal robot by calculating the position vector, thereby improving the flexibility and stability of the bipedal robot when performing complex tasks.
[0058] Optionally, controlling the fuselage to move in the second direction based on the first moving position and the position vector to obtain the second moving position includes: determining the second moving amplitude based on the position vector and the second moving speed; and controlling the fuselage to move in the second direction based on the first moving position and the second moving amplitude to obtain the second moving position.
[0059] The above-mentioned second moving speed is used to describe the speed at which the body of the bipedal robot moves in the second direction, and is usually measured by the distance moved per unit time. The unit of the second moving speed may include but is not limited to meters / second, millimeters / second, kilometers / hour, etc. The specific unit should be determined according to actual conditions and is not limited here. The function of the second moving speed may include but is not limited to controlling the speed of body movement, improving the efficiency and safety of the moving process, etc. The types of the second moving speed may include but are not limited to constant speed, variable speed and adaptive speed, etc. The specific second moving speed should be determined according to actual needs and is not limited here.
[0060] The above-mentioned second movement amplitude is used to describe the distance that the fuselage moves along the second direction at a second movement speed. The function of the second movement amplitude may include but is not limited to controlling the fuselage to reach the second movement position, ensuring the movement speed and movement distance, etc. The types of the second movement amplitude may include but are not limited to a fixed movement amplitude, a real-time movement amplitude, etc. The specific second movement amplitude needs to be determined according to the system design and is not limited here.
[0061] In an optional embodiment, first, the second movement amplitude of the fuselage in the second direction is determined based on the position vector and the preset second movement speed; then, the fuselage is controlled to move from the first movement position along the second direction according to the second movement amplitude until the fuselage reaches the second movement position. The above process can accurately control the movement amplitude and movement speed by calculating the second movement amplitude required for movement, reduce unnecessary movement, save energy, and thus improve the speed and accuracy of task execution. In addition, the above control process can also reduce the risk of deviation from the predetermined path due to human operation errors.
[0062] In an optional embodiment, Figure 3 is a schematic diagram of an optional biped robot body planning according to an embodiment of the present invention, such as Figure 3 As shown in the figure, the body planning includes four stages of the bipedal robot body movement, namely: stage 1, standing stable stage, the midpoint of the supporting foot (such as Figure 3 The second stage is the support adjustment stage. The fuselage moves 5 cm toward the left support foot. The above moving distance is only an example. The specific moving distance needs to be determined according to the actual situation. The third stage is the swing stage. The swing foot is raised and the fuselage moves toward the desired support foot midpoint on the right (as shown in the solid circle in the middle). Figure 3 The fourth stage is the standing and stabilizing stage, and the fuselage position is at the midpoint of the expected support point.
[0063] Optionally, the method also includes: in response to receiving a control instruction of the bipedal robot, collecting the current posture of the bipedal robot, wherein the control instruction carries the desired posture of the bipedal robot; determining the relative movement distance and relative swing angle of the bipedal robot based on the current posture and the desired posture, wherein the relative movement distance is used to represent the relative positions of the supporting foot and the swinging foot in the plane where the bipedal robot is located when taking a step, and the relative swing angle is used to represent the relative angle of the supporting foot and the swinging foot in the plane when taking a step, 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; generating a step instruction based on the relative movement distance and the relative swing angle.
[0064] The above control instructions are used to describe the signals sent by the control system to guide the actions or behaviors of the bipedal robot to achieve specific tasks or goals. The types of control instructions may include but are not limited to acquisition control instructions, position control instructions, posture control instructions, and speed control instructions. The specific control instructions should be determined according to actual needs and are not limited here.
[0065] The above relative moving position is used to describe the relative positions of the supporting foot and the swinging foot on the plane where the robot is located in the gait planning of the biped robot. The relative moving position can be used to determine the specific position where the swinging foot should step to achieve a smooth transition of the gait.
[0066] The above relative swing angle is used to describe the relative angle between the supporting foot and the swing foot on the plane in the gait planning of the biped robot. The relative swing angle is used to determine the rotation direction and angle of the swing foot during the stepping process to achieve a smooth gait and balance of the robot.
[0067] In an optional embodiment, in response to receiving a control instruction of a bipedal robot, the current posture of the bipedal robot is collected, and then the relative movement position and relative swing angle of the bipedal robot are determined based on the current posture and the expected posture, and finally a step instruction is generated based on the relative movement position and the relative swing angle, so as to control the operation of the bipedal robot. The expected posture is carried by the control instruction. After obtaining the expected 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 movement position and relative swing angle between the supporting foot and the swinging foot of the bipedal robot, and then a step instruction is generated according to the relative movement position and the relative swing angle. The above process achieves the purpose of accurately controlling the bipedal robot to operate according to the expected target by obtaining the relative movement position and relative swing angle of the bipedal robot, thereby achieving the technical effect of remotely and accurately controlling the motion trajectory of the bipedal robot, and thus solving the technical problem of poor control effect of the bipedal robot in the related technology.
[0068] Optionally, controlling the body to move in a second direction based on the walking trajectory and the first moving position to obtain a second moving position includes: controlling the movement of the swinging foot based on the relative moving distance and the relative swinging angle, and synchronously controlling the body to move in the second direction based on the walking trajectory and the first moving position to obtain the second moving position.
[0069] In an optional embodiment, the walking trajectory of the bipedal robot is first determined, and then the bipedal robot is controlled to move from the first moving position to the second moving position along the second direction according to the walking trajectory. During this process, the swinging foot moves simultaneously with the body movement, that is, while the swinging foot movement is controlled based on the relative moving distance and the relative swinging angle, the body is controlled to move from the first moving position to the second moving position along the second direction based on the walking trajectory. The above process enables the bipedal robot to navigate more effectively in a complex environment by precisely controlling the movements of the body and the swinging foot, while reducing energy consumption and improving the accuracy of task execution. In addition, the above process can also reduce the instability of the device during movement and the potential risk of collision, thereby improving the overall safety and reliability.
[0070] Optionally, controlling the fuselage to move in a second direction based on the walking trajectory and the current position includes: inputting the walking trajectory and the current position into a state machine, using the state machine to plan the operation of the fuselage, and obtaining the movement state of the fuselage, wherein the state machine is used to represent the movement state transition relationship of the fuselage from the current position to the target position; and controlling the fuselage to move in the second direction based on the movement state.
[0071] The above-mentioned state machine is used to describe the transition of the bipedal robot from one state to another. The types of state machines may 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 may 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 correct responses based on input and current state, etc.
[0072] The above-mentioned operation planning is used to describe the generation of a series of actions or paths for the bipedal robot so that it can safely and effectively reach the target position and posture from the current position and posture. The operation planning may 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, and is not limited here. The role of the operation planning may include but is not limited to ensuring that the action sequence of the bipedal robot is feasible and avoiding instability during operation.
[0073] The above-mentioned mobile state is used to describe the specific situation or condition of the fuselage during the movement process. The functions of the mobile state may include but are not limited to planning the path, controlling the fuselage behavior, responding to environmental changes and ensuring the safety of the fuselage. The types of mobile states may include but are not limited to stationary state, forward state, deceleration state, turning state and acceleration state. The specific mobile state needs to be determined according to the actual situation and is not limited here.
[0074] In an optional embodiment, first, the data of the step trajectory and the current position are input into the state machine; then, the state machine plans the movement of the fuselage based on the input data to obtain the movement state of the fuselage; finally, the fuselage is controlled to move along the second direction based on the movement state. In the above process, the state machine accurately plans the movement state, which can ensure that the mobile device moves in a more optimal path and manner, thereby reducing unnecessary energy consumption and improving movement efficiency while ensuring the safety of the fuselage movement.
[0075] In an optional embodiment, Figure 4 is a flow chart of an optional control method of a biped robot according to an embodiment of the present invention, such as Figure 4 As shown, in the control method, the current posture and expected posture of the bipedal robot are first obtained through a motion capture system or a remote control; then a planning strategy is obtained based on the current posture and the expected posture, including an expected leg swing trajectory and an expected body trajectory; then a foot-end posture tracking control signal is obtained through a leg swing controller, and a body posture tracking control signal is obtained through a body controller; then the foot-end posture tracking control signal and the body posture tracking control signal are input into the whole-body control system to obtain a torque; finally, the motor controls the operation of the bipedal robot according to the obtained torque, thereby realizing the control of the operating state of the bipedal robot.
[0076] The current posture and expected posture of the bipedal robot can be obtained by the motion capture system or remote control, including but not limited to the following methods:
[0077] In the motion capture system scenario, the motion capture system captures the movements of the motion capture actor and converts the current movements of the motion capture actor into control instructions and sends them to the bipedal robot. When the bipedal robot receives the control instructions, it first collects the current posture of the bipedal robot at this time, and starts running according to the current movements of the motion capture actor contained in the control instructions, that is, the expected posture of the bipedal robot. At this time, the current posture and expected posture of the bipedal robot are obtained.
[0078] In the remote control scenario, the remote control operation instructions are converted into control instructions and sent to the bipedal robot. When the bipedal robot receives the control instructions, it first collects the current posture of the bipedal robot, and starts running according to the remote control operation instructions contained in the control instructions, that is, the expected posture of the bipedal robot. At this time, the current posture and expected posture of the bipedal robot are obtained.
[0079] The above-mentioned method of obtaining the current posture of the biped robot may include but is not limited to a motion capture system and a remote controller. The specific method of obtaining the current posture may be determined according to actual conditions and is not limited here.
[0080] 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.
[0081] 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, which is used to acquire the walking trajectory of the bipedal robot in response to receiving a walking instruction of the bipedal robot, wherein the walking trajectory is used to represent the motion trajectory of the swinging foot of the bipedal robot from the current posture to the desired posture, and the bipedal robot also includes a supporting foot and a body, and the supporting foot is used to support the body in a stable state; a first control module 504, which controls the body to move in a first direction based on the current center of mass position of the body and the current position of the supporting foot to obtain a first moving position, wherein the first direction is used to represent the direction of the supporting foot relative to the swinging foot; a second control module 506, which controls the body to move in a second direction based on the walking trajectory and the first moving position to obtain a second moving position, wherein the second direction is used to represent the moving direction of the swinging foot in the walking trajectory.
[0082] Optionally, the first control module includes: a first determination unit, which determines the moving distance of the fuselage based on the current center of mass position and the current position, wherein the moving distance is less than the interval distance between the current center of mass position and the current position; a second determination unit, which determines the first moving amplitude based on the moving distance and the first moving speed; and a first control unit, which controls the movement of the fuselage along the first direction based on the first moving amplitude to obtain a first moving position.
[0083] Optionally, the second control module includes: a third determination unit, which determines the initial position and target position of the swing foot based on the step trajectory; a construction unit, which constructs a position vector of the swing foot based on the initial position and the target position, wherein the direction of the position vector is used to represent the second direction, and the length of the position vector represents the straight-line distance of the motion trajectory of the swing foot projected onto the plane where the bipedal robot is located; and a second control unit, which controls the body to move along the second direction based on the first moving position and the position vector to obtain a second moving position.
[0084] Optionally, the second control unit includes: determining a second movement amplitude based on the position vector and the second movement speed; and controlling the body to move in a second direction based on the first movement position and the second movement amplitude to obtain a second movement position.
[0085] Optionally, the device also includes: an acquisition module, used to acquire the current posture of the bipedal robot in response to receiving a control instruction of the bipedal robot, wherein the control instruction carries the desired posture of the bipedal robot; a determination module, used to determine the relative movement distance and relative swing angle of the bipedal robot based on the current posture and the desired posture, wherein the relative movement distance is used to indicate the relative positions of the supporting foot and the swinging foot in the plane where the bipedal robot is located when taking a step, and the relative swing angle is used to indicate the relative angle of the supporting foot and the swinging foot in the plane when taking a step, 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; a generation module, used to generate a step instruction based on the relative movement distance and the relative swing angle.
[0086] Optionally, the second control module includes: a third control unit, which controls the movement of the swinging foot based on the relative moving distance and the relative swinging angle, and synchronously controls the movement of the fuselage along the second direction based on the step trajectory and the first moving position to obtain the second moving position.
[0087] Optionally, a third control unit includes: inputting the walking trajectory and the current position into a state machine, using the state machine to plan the operation of the fuselage, and obtaining the movement state of the fuselage, wherein the state machine is used to represent the movement state conversion relationship of the fuselage from the current position to the target position; and controlling the movement of the fuselage in a second direction based on the movement state.
[0088] 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.
[0089] 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.
[0090] 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.
[0091] 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.
[0092] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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 stepping instruction of the bipedal robot, acquiring a stepping trajectory of the bipedal robot, wherein the stepping trajectory is used to represent a motion trajectory of a swinging foot of the bipedal robot from a current posture to a desired posture, the bipedal robot further comprising a supporting foot and a body, the supporting foot being used to support the body in a stable state; Controlling the fuselage to move along a first direction based on the current center of mass position of the fuselage and the current position of the supporting foot to obtain a first moving position, wherein the first direction is used to indicate the direction of the supporting foot relative to the swinging foot; Based on the walking trajectory and the first moving position, the fuselage is controlled to move along a second direction to obtain a second moving position, wherein the second direction is used to represent the moving direction of the swinging foot in the walking trajectory.
2. The control method of the biped robot according to claim 1, characterized in that: Controlling the body to move along the first direction based on the current center of mass position of the body and the current position of the supporting foot to obtain a first moving position includes: determining a moving distance of the fuselage based on the current centroid position and the current position, wherein the moving distance is less than a distance between the current centroid position and the current position; determining a first movement amplitude based on the movement distance and the first movement speed; The body is controlled to move along the first direction based on the first movement amplitude to obtain the first movement position.
3. The control method of the biped robot according to claim 1, characterized in that: Controlling the body to move along a second direction based on the step trajectory and the first moving position to obtain a second moving position includes: Determining an initial position and a target position of the swing foot based on the step trajectory; Constructing a position vector of the swing foot based on the initial position and the target position, wherein the direction of the position vector is used to represent the second direction, and the length of the position vector represents a straight-line distance of the motion trajectory of the swing foot projected onto the plane where the biped robot is located; The body is controlled to move along the second direction based on the first moving position and the position vector to obtain the second moving position.
4. The control method of the biped robot according to claim 3, characterized in that: Controlling the body to move along the second direction based on the first moving position and the position vector to obtain the second moving position includes: determining a second movement amplitude based on the position vector and the second movement speed; The body is controlled to move toward the second direction based on the first moving position and the second moving amplitude to obtain the second moving position.
5. The control method of the biped robot according to claim 1, characterized in that: The method further comprises: In response to receiving a control instruction of the bipedal robot, collecting a current posture of the bipedal robot, wherein the control instruction carries a desired posture of the bipedal robot; Determine the relative movement distance and relative swing angle of the bipedal robot based on the current posture and the desired posture, wherein the relative movement distance is used to represent the relative position of the supporting foot and the swinging foot in the plane where the bipedal robot is located, and the relative swinging angle is used to represent the relative 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; The step instruction is generated based on the relative movement distance and the relative swing angle.
6. The control method of the biped robot according to claim 5, characterized in that: Controlling the body to move along a second direction based on the step trajectory and the first moving position to obtain a second moving position includes: The swinging foot is controlled to move based on the relative moving distance and the relative swinging angle, and the fuselage is synchronously controlled to move along a second direction based on the stepping trajectory and the first moving position to obtain the second moving position.
7. The control method of the biped robot according to claim 6, characterized in that: Controlling the body to move in the second direction based on the step trajectory and the current position includes: Inputting the step trajectory and the current position into a state machine, and using the state machine to plan the movement of the fuselage to obtain the movement state of the fuselage, wherein the state machine is used to represent the movement state transition relationship of the fuselage from the current position to the target position; The body is controlled to move toward the second direction based on the movement state.
8. 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 7 when running.
9. 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, the device where the storage medium is located is controlled to execute the method according to any one of claims 1 to 7.
10. A computer program product, characterized in that The invention comprises a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Robot stepping control method and device, robot control equipment and storage medium
CN113064433A
Motion track planning method and device for biped robot, equipment and medium
CN113879421A
Motion control method and apparatus, controller, medium, and robot
US20240042606A1
Gait trajectory planning method and device, readable storage medium, and robot
WO2022227429A1
Robot walking control method and apparatus, robot control device, and storage medium
WO2023273107A1