Robot jumping control method and device, robot, and readable storage medium

CN117872852BActive Publication Date: 2026-11-03UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311762584.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-20
Publication Date
2026-11-03
Estimated Expiration
2043-12-20

AI Technical Summary

Technical Problem

Bipedal robots exhibit poor stability in position-controlled jumping movements, causing them to easily lose stability after performing a jump and making it impossible to achieve continuous jumps.

Method used

By acquiring the horizontal force and friction of the feet during the robot's jump, controlling the arms and/or hips, acquiring the position of the feet relative to the waist and controlling the waist, and using flywheel controllers and proportional-derivative controllers, the stability of the robot during acceleration, take-off and landing phases can be ensured.

Benefits of technology

It improves the stability of the robot during jumping, enabling the robot to leave the ground in a normal posture and land smoothly, achieving continuous jumping.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117872852B_ABST
    Figure CN117872852B_ABST
Patent Text Reader

Abstract

The application is suitable for the field of robot technology, and particularly relates to a jumping control method and device of a robot, the robot and a readable storage medium. In the method, during the jumping process of the robot, when the robot moves to an acceleration stage, the horizontal force corresponding to the foot of the robot and the friction between the foot of the robot and the ground can be obtained, and the arm and / or the hip of the robot can be controlled according to the horizontal force and the friction, so that the skidding phenomenon generated in the acceleration stage of the robot can be effectively avoided, the stability of the robot in the acceleration stage can be ensured, and the robot can leave the ground in a normal posture. When the robot moves to a flying stage, the first position of the foot of the robot relative to the waist of the robot can be obtained, and the waist of the robot can be controlled according to the first position, so that the robot can maintain a posture in the air, the stability of the robot when landing can be ensured, and the robot can land in a more stable posture.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of robotics technology, and in particular relates to a method, device, robot, and computer-readable storage medium for controlling the jumping of a robot. Background Technology

[0002] Bipedal robots can perform not only walking but also jumping. For example, jumping can be performed using whole-body control (WBC) or position control. Currently, in jumping based on position control, the robot's stability is poor, causing it to easily lose stability after performing the jump. Summary of the Invention

[0003] This application provides a robot jumping control method, device, robot, and computer-readable storage medium, which can improve the stability of the robot during jumping and enable the robot to perform continuous jumping actions.

[0004] In a first aspect, embodiments of this application provide a method for controlling the jumping of a robot, which may include: When the robot moves to the acceleration phase, the horizontal force corresponding to the robot's feet and the friction force between the robot's feet and the ground are obtained. The robot's arm and / or hip are controlled based on the horizontal force and the frictional force. When the robot moves to the airborne phase, the first position of the robot's feet relative to the robot's waist is obtained; Based on the first position, control the robot's waist.

[0005] In the robot jumping control method described above, during the robot's jump, when the robot reaches the acceleration phase, the horizontal force on the robot's feet and the friction between the robot's feet and the ground can be obtained. Based on the horizontal force and friction, the robot's arms and / or hips can be controlled, effectively preventing slippage during the acceleration phase and ensuring the robot's stability during this phase, allowing the robot to leave the ground in a normal posture. When the robot reaches the airborne phase, the first position of the robot's feet relative to its waist can be obtained. Based on this first position, the robot's waist can be controlled, allowing the robot to maintain its posture in the air and ensuring stability upon landing, enabling the robot to land more smoothly.

[0006] For example, controlling the robot's arm and / or hip based on the horizontal force and the frictional force may include: Based on the horizontal force and the frictional force, the first control quantity corresponding to the robot is determined; The robot's arm and / or hip are controlled according to the first control quantity.

[0007] Optionally, determining the first control variable corresponding to the robot based on the horizontal force and the frictional force may include: The first control quantity is determined according to the following formula: ; ; ; in, Let T be the first control variable, and T be the control period. , and These are the preset coefficients, For the horizontal force, The frictional force is described above.

[0008] For example, controlling the robot's waist based on the first position may include: Based on the first position, determine the second control variable corresponding to the robot; The pitch angle of the robot's waist is controlled according to the second control quantity.

[0009] In one possible implementation, the method may further include: When the robot moves to the airborne stage, the robot's foot posture angle is acquired, and the robot's foot posture is adjusted according to the foot posture angle.

[0010] In another possible implementation, the method may further include: When the robot moves to the landing stage, determine the height difference between the robot's first leg and second leg; Adjust the first leg and / or the second leg according to the height difference.

[0011] In another possible implementation, the method may further include: When the robot reaches the landing stage, the robot's waist height at the moment of landing is obtained; The reference velocity corresponding to the robot's waist at the time of landing is determined based on the waist height, and the reference trajectory corresponding to the robot's waist is determined based on the reference velocity; The robot's movement is controlled according to the reference trajectory to replenish the robot's lost energy.

[0012] Secondly, embodiments of this application provide a robot jumping control device, which may include: The friction force acquisition module is used to acquire the horizontal force corresponding to the robot's feet and the friction force between the robot's feet and the ground when the robot moves to the acceleration phase. An arm control module is used to control the robot's arm and / or hip based on the horizontal force and the frictional force. The first position determination module is used to obtain the first position of the robot's feet relative to the robot's waist when the robot moves to the airborne phase. A waist control module is used to control the robot's waist according to the first position.

[0013] Thirdly, embodiments of this application provide a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it enables the robot to implement the jumping control method of the robot described in any one of the first aspects above.

[0014] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a robot, enables the robot to implement the robot jumping control method described in any one of the first aspects above.

[0015] Fifthly, embodiments of this application provide a computer program product that, when run on a robot, causes the robot to execute the robot jumping control method described in any one of the first aspects.

[0016] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is an example diagram of the jump state machine provided in the embodiments of this application; Figure 2 This is an example diagram of a robot's jump control state provided in an embodiment of this application; Figure 3 This is a flowchart illustrating a robot jumping control method provided in an embodiment of this application; Figure 4 This is a schematic diagram of an application scenario provided in the embodiments of this application; Figure 5 This is a schematic diagram of the structure of a robot jumping control device provided in an embodiment of this application; Figure 6 This is a schematic diagram of the structure of a robot provided in an embodiment of this application. Detailed Implementation

[0019] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0020] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0021] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0022] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0023] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0024] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0025] Bipedal robots can perform not only walking but also jumping. For example, jumping can be performed based on WBC (Walking, Jumping, and Boundary Control) or position control. Currently, in position control-based jumping, the robot's stability is poor, causing it to easily lose stability after performing a jump, thus preventing continuous jumping.

[0026] To address the aforementioned problems, embodiments of this application provide a robot jump control method, apparatus, robot, and computer-readable storage medium. In this method, during the robot's jump, when the robot reaches the acceleration phase, the horizontal force corresponding to the robot's feet and the frictional force between the robot's feet and the ground can be acquired. Based on the horizontal force and frictional force, the robot's arms and / or hips are controlled, effectively preventing slippage during the acceleration phase and ensuring the robot's stability during this phase, allowing the robot to leave the ground in a normal posture. When the robot reaches the airborne phase, a first position of the robot's feet relative to its waist can be acquired. Based on this first position, the robot's waist is controlled, allowing the robot to maintain its posture in the air and ensuring stability upon landing, enabling the robot to land more smoothly.

[0027] The following section explains the robot's jump state machine. Please refer to [link / reference]. Figure 1 , Figure 1 An example diagram of a jump state machine provided in an embodiment of this application is shown.

[0028] During a robot's jump, the robot can be simplified as a spring-mass model, and the jump state machine can be determined based on this model. The jump state machine can include an energy storage phase, a jump preparation phase, a flight phase, and a landing and cushioning phase. The initial length of the spring can be considered the initial height of the robot's waist, i.e., the height of the robot's waist when it is standing on the ground without moving.

[0029] like Figure 1As shown, during the jump, the robot can stand on the ground and then move to its lowest point to enter the energy storage phase. After reaching the lowest point, the elastic potential energy stored in the spring begins to be released, allowing the robot to accelerate upwards to prepare for the jump. Once the robot's waist height returns to its original length, it enters the airborne phase. After reaching its highest point, the robot enters the landing and cushioning phase. During this phase, according to the principle of energy conservation, the robot converts its kinetic energy back into the elastic potential energy of the spring and moves to the lowest point, repeating this cycle to complete the robot's continuous jumps.

[0030] Understandably, according to the spring-mass model, during the accurate take-off phase, i.e., the phase of the robot's upward acceleration, the acceleration of the robot's waist can be: ; in, For the acceleration of the robot's waist, This is the robot's take-off height (i.e., the initial height of the robot's waist). Let m be the reference trajectory of the robot's waist in the vertical direction (hereinafter referred to as the first reference trajectory), where m is the mass of the robot and g is the acceleration due to gravity. This represents the elastic stiffness of the robot.

[0031] Optionally, the elastic stiffness of the robot can be determined based on the lowest and highest points that the robot needs to reach.

[0032] like Figure 1 As shown, when the robot reaches its lowest point, the height to which its waist descends can be... When the robot reaches its highest point, the height its waist can rise is... At this point, the robot's corresponding elastic stiffness The height of descent and ascent both refer to the initial height relative to the robot's waist. It can be the difference between the robot's original waist height and the robot's current waist height when the robot reaches its lowest point. It can be the difference between the robot's current waist height when the robot reaches its highest point and the robot's original waist height.

[0033] The robot jumping control method provided in this application embodiment will be described in detail below with reference to the accompanying drawings and specific application scenarios.

[0034] Please see Figure 2 , Figure 2 An example diagram of a robot's jump control state provided in an embodiment of this application is shown.

[0035] like Figure 2 As shown, based on the aforementioned jump state machine, the robot's jumping process can be divided into an energy storage phase, an acceleration phase, an airborne phase, a landing phase, and a balance recovery phase. Specifically, during a jump, the robot first enters the energy storage phase to store energy. After energy storage is complete, the robot accelerates upwards, entering the acceleration phase. After restoring its waist height to its original length during the acceleration phase, the robot enters the airborne phase. Upon reaching its highest point, the robot enters the landing phase. After landing, the robot enters the balance recovery phase to quickly restore its stability. Subsequently, the robot can re-enter the acceleration phase, airborne phase, and landing phase, etc., to complete continuous jumps.

[0036] In this embodiment, during continuous jumping, the robot can enter the energy storage phase only once, that is, it can enter the energy storage phase only before the first jump. It is understood that the planned position of the robot's waist in the z-direction (i.e., the vertical direction) can be determined in advance. During the energy storage phase, the robot can be controlled to squat (i.e., move downwards) based on the planned position in the vertical direction to complete energy storage.

[0037] Please see Figure 3 , Figure 3 A schematic flowchart illustrating a robot jumping control method according to an embodiment of this application is shown. This method can be applied to robots, such as bipedal robots. Figure 3 As shown, the method may include: S301. When the robot moves to the acceleration phase, obtain the horizontal force corresponding to the robot's feet and the friction force between the robot's feet and the ground.

[0038] Optionally, the horizontal force on the robot's feet can refer to the force on the robot's feet in the horizontal direction (also known as the x-direction). Here, the x-direction can be the direction the robot is facing. The friction between the robot's feet and the ground can be the static friction between the robot's feet and the ground.

[0039] Optionally, for a bipedal robot, the horizontal force on the robot's feet can be the overall horizontal force on both feet. Similarly, for a bipedal robot, the friction between the robot's feet and the ground can be the overall friction between both feet and the ground.

[0040] It should be understood that the embodiments of this application do not impose any restrictions on the specific methods for obtaining the force (i.e., horizontal force) on the robot's feet in the horizontal direction, or on the specific methods for obtaining the friction force between the robot's feet and the ground, and can be determined according to the actual application scenario.

[0041] S302. Control the robot's arm and / or hip based on horizontal forces and friction.

[0042] Understandably, during the robot's acceleration phase—that is, when the robot's waist moves from its lowest point to its initial jump height—the virtual spring force is far greater than the robot's own weight, causing the waist's speed to increase rapidly. At this point, if an appropriate method is not used to maintain the robot's posture, the force generated by the waist movement on the robot's feet (feet) during takeoff will exceed the friction between the feet and the ground, causing the robot to lose stability and slip. Due to the robot's symmetrical structure, slippage generally occurs in the x-direction.

[0043] Therefore, when the robot moves to the acceleration phase, it is necessary to balance the excessive force on the feet (that is, the force in the horizontal force corresponding to the feet that exceeds the friction between the feet and the ground) to avoid slippage during the acceleration phase, ensure the stability of the robot during the acceleration phase, and enable the robot to leave the ground in a normal posture.

[0044] In some embodiments, the robot's waist and arms can be used as flywheels to balance excess forces acting on the feet via a flywheel controller. Specifically, when the robot is suspended in the air, if the pitch of the flywheel formed by the waist and arms rotates in one direction, the robot's legs will rotate in the opposite direction to maintain angular momentum conservation. Therefore, based on this principle, when the horizontal force on the robot's feet exceeds the friction between the feet and the ground, the robot can balance this excess force through the flywheel controller.

[0045] For example, the robot can determine a first control variable based on the horizontal force and friction, and control the robot's arm and / or hip based on the first control variable. For instance, the robot can apply the first control variable to the pitch motors of the arm and hip respectively to balance the force on the robot's feet during the acceleration phase, which exceeds the friction between the feet and the ground. This can prevent the robot from slipping in the horizontal direction, allowing the robot to leave the ground in a normal posture.

[0046] Optionally, the first control variable can be the control variable corresponding to the motor in the robot.

[0047] Optionally, the robot can determine the first control variable according to the following formula: ; ; ; in, Let T be the first control variable and T be the control period. , and These are the preset coefficients, For horizontal force, For friction, For motor speed, This refers to the acceleration of the motor.

[0048] It is understood that the control cycle can be determined according to the specific application scenario, and the embodiments of this application do not impose any restrictions on it. For example, the control cycle can be determined to be 1 second according to the actual application scenario.

[0049] S303. When the robot moves to the airborne stage, obtain the first position of the robot's feet relative to the robot's waist.

[0050] Optionally, the first position of the robot's feet relative to the robot's waist can be the first position of the robot's feet relative to the robot's waist in the world coordinate system.

[0051] Optionally, the first position of the robot's feet relative to the robot's waist can be the first position of the robot's feet relative to the robot's waist in the x direction.

[0052] It should be understood that the embodiments of this application do not impose any restrictions on the specific method of obtaining the first position of the robot's feet relative to the robot's waist, and can be determined according to the actual application scenario. For example, the first position of the robot's feet relative to the robot's waist can be determined based on the coordinates of the robot's feet in the world coordinate system (e.g., coordinates in the x-direction) and the coordinates of the robot's waist in the world coordinate system (e.g., coordinates in the x-direction).

[0053] S304. Based on the first position, control the robot's waist.

[0054] It should be understood that during the takeoff phase, if only the leg length is locked without any control, the robot's posture will deviate based on its initial state and position at takeoff. For example, as... Figure 4 As shown in the left image, the robot tends to lean backward when it jumps. Without any balance controller, this will cause problems such as an excessively large difference between the robot's center of gravity and its feet in the x-direction, making it impossible for the robot to land smoothly.

[0055] Therefore, when the robot moves into the air, it is necessary to control the robot's balance so that the robot can maintain its posture in the air, ensuring the horizontal position of the feet and the relative position of the waist and feet when the robot lands, so that the robot can land smoothly.

[0056] In one example, during the takeoff phase, a flywheel controller can be used to control the robot's balance. That is, the robot's upper body can be used as a flywheel, and by adjusting the waist pitch, the robot's legs can be kept horizontal upon landing, and the feet and waist can be kept in the same plane in the x-direction of the world coordinate system. For example, as... Figure 4 As shown in the right-hand diagram, the robot's legs are kept horizontal on the ground, and the feet and waist are kept in the same plane in the x-direction of the world coordinate system.

[0057] Optionally, the position of the foot (e.g., left or right foot) relative to the waist in the world coordinate system (i.e., the first position) can be used as the control target. A low-stiffness proportional-derivative (PD) controller can be employed to ensure that the relative position of the waist and foot in the horizontal plane in the world coordinate system is zero before the robot lands. This ensures... Figure 4 The relative position D shown is zero.

[0058] Optionally, the robot can determine a second control variable based on the first position, and control the pitch angle of the robot's waist based on the second control variable. For example, the robot can apply the second control variable to the pitch angle planning of the robot's waist.

[0059] Specifically, the robot can determine the second control variable according to the following formula: ; ; ; in, This is the second control variable. , and Here are the preset coefficients, and D is the first position. To find the derivative with respect to D, for The first-order differential, for The second-order differential.

[0060] In one possible implementation, when the robot moves into the air phase, in order to further control the horizontal posture of the feet when they land, the robot can also acquire the foot posture angle and adjust the robot's foot posture according to the foot posture angle.

[0061] It is understandable that the foot attitude angle can be the foot's attitude angle in the world coordinate system, for example, such as... Figure 4 The attitude angle θ is shown.

[0062] For example, for a bipedal robot, the foot posture angles may include the left foot posture angle and the right foot posture angle. The robot can adjust the left foot posture according to the left foot posture angle and adjust the right foot posture according to the right foot posture angle.

[0063] Optionally, after obtaining the robot's foot posture angle, the robot can determine the control quantity (hereinafter referred to as the third control quantity) corresponding to the foot (e.g., the left foot or the right foot) using the following formula, and control the posture of the foot (e.g., the left foot or the right foot) according to the third control quantity, so that the robot can land in a more stable posture.

[0064] ; in, As the third control variable, The angle represents the foot posture.

[0065] In one possible implementation, for a bipedal robot, when the robot moves to the landing phase, the robot can determine the height difference between the robot's first leg and second leg, and adjust the first leg and / or the second leg according to the height difference so that the robot can restore the length of both legs when landing, ensuring that the length of both legs is consistent, thereby preventing the robot's center of gravity from shifting laterally and ensuring the stability of the robot after landing.

[0066] It should be understood that the first leg can be the robot's left leg and the second leg can be the robot's right leg, or the first leg can be the robot's right leg and the second leg can be the robot's left leg.

[0067] For example, the robot can determine the height difference between the first and second legs based on the first position corresponding to the first leg and the second position corresponding to the second leg. The second position corresponding to the first leg can be the position of the first leg in the world coordinate system. Similarly, the position corresponding to the second leg can be the position of the second leg in the world coordinate system. For instance, the robot can determine the height difference between the first and second legs based on the z-coordinates of the center point of the first leg and the center point of the second leg in the world coordinate system. Similarly, the robot can determine the height difference between the first and second legs based on the z-coordinates of the highest point of the first leg and the highest point of the second leg in the world coordinate system, and so on.

[0068] For example, the robot can determine the height A of the first leg based on the first position of the first leg in the world coordinate system, and determine the height B of the second leg based on the second position of the second leg in the world coordinate system, thereby determining the height difference between the first leg and the second leg based on height A and height B.

[0069] Optionally, after determining the height difference between the robot's first and second legs, the robot can determine the control quantity corresponding to the first leg (hereinafter referred to as the fourth control quantity) according to the following formula, and adjust the length of the first leg according to the fourth control quantity. That is, by adjusting the length of the first leg, the length of the first leg can be made to be consistent with that of the second leg. ; ; in, This is the fourth control variable. The height of the first leg. The height of the second leg. for The second-order differential.

[0070] Optionally, after determining the fourth control variable corresponding to the first leg, the robot can also determine the control variable corresponding to the second leg (hereinafter referred to as the fifth control variable) based on the fourth control variable, and adjust the length of the second leg based on the fifth control variable. That is, by adjusting the length of the second leg, the length of the first leg and the second leg can be made consistent, avoiding tilting of the robot upon landing due to inconsistent leg lengths and ensuring the robot's stability. Wherein, the fifth control variable = -the fourth control variable.

[0071] Optionally, after determining the fourth control variable corresponding to the first leg, the robot can also simultaneously adjust the length of the first leg and the length of the second leg according to the fourth control variable. That is, the lengths of the first leg and the second leg can be made consistent by simultaneously adjusting their lengths. This application embodiment does not impose any restrictions on the specific method of simultaneously adjusting the lengths of the first leg and the second leg according to the fourth control variable; it can be determined according to the actual application scenario.

[0072] In another possible implementation, when the robot moves to the landing stage, the robot can use a force-position hybrid controller with variable stiffness to cushion the impact after landing.

[0073] In another possible implementation, when the robot needs to perform continuous jumps, the buffering process consumes a significant amount of kinetic energy. To ensure the robot can jump again, it is necessary to compensate for the energy loss. This means that energy compensation can be applied to the robot based on the energy lost after each landing, allowing it to jump to a preset height. The preset height can be determined based on the specific scenario.

[0074] It should be understood that, in the absence of external forces, the total kinetic and potential energy of a spring-mass model is constant. That is, according to the law of conservation of energy, when a spring is compressed to a certain position, its potential energy is fixed, and the kinetic energy of the mass can also be fixed. Therefore, based on this principle, the robot's total energy can be determined. Then, based on the robot's waist height upon landing, the reference velocity corresponding to the waist can be determined, and based on the reference velocity corresponding to the waist, a reference trajectory corresponding to the waist (hereinafter referred to as the second reference trajectory) can be determined. Subsequently, the robot can control its movement according to the second reference trajectory corresponding to the waist to replenish the energy lost by the robot.

[0075] For example, the robot's total energy E can be determined according to the following formula: .

[0076] For example, the robot can determine the reference velocity corresponding to the waist according to the following formula: ; in, The reference speed is for the waist area. This represents the robot's waist height upon landing.

[0077] For example, the robot can determine the second reference trajectory corresponding to the waist according to the following formula: ; ; in, As the second reference trajectory, The first derivative of the second reference trajectory, The second derivative of the second reference trajectory, and These are preset coefficients.

[0078] In one example, after landing, the robot will descend to a predetermined minimum point. However, due to the rapid movement of its waist, its horizontal state will not be particularly stable at this point. If it directly enters the acceleration phase in this posture, the robot will quickly lose balance after a few jumps. Therefore, to ensure that the robot can enter the next jump cycle in a more stable posture, a balance observer can be established. The observer's target can be the attitude angles of the two feet in the world coordinate system. Specifically, when a certain attitude angle is zero, it can be assumed that the foot corresponding to that attitude angle is in close contact with the ground. Additionally, an angle threshold range can be set. When the absolute value of the average attitude angle within a preset time period is less than the threshold range for that angle. At this point, the robot's posture can be considered stable enough to enter the acceleration phase of the next jump cycle.

[0079] The preset time period can be determined according to the actual scenario, and this application embodiment does not impose any restrictions on it.

[0080] In addition, embodiments of this application may also employ a CP controller and an attitude controller to control the robot to quickly regain stability based on data collected by the inertial measurement unit (IMU).

[0081] In this embodiment, during the robot's jump, when the robot reaches the acceleration phase, the horizontal force on the robot's feet and the friction between the robot's feet and the ground can be obtained. Based on the horizontal force and friction, the robot's arms and / or hips can be controlled, effectively preventing slippage during the acceleration phase and ensuring the robot's stability during this phase, allowing the robot to leave the ground in a normal posture. When the robot reaches the airborne phase, the first position of the robot's feet relative to its waist can be obtained. Based on this first position, the robot's waist can be controlled, allowing the robot to maintain its posture in the air and ensuring stability upon landing, enabling the robot to land more smoothly.

[0082] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0083] Corresponding to the robot jump control method described in the above embodiments, Figure 5 This diagram illustrates a structural block diagram of a robot jumping control device according to an embodiment of this application. For ease of explanation, Figure 5 Only the parts relevant to the embodiments of this application are shown.

[0084] like Figure 5 The device may include: The friction force acquisition module 501 is used to acquire the horizontal force corresponding to the robot's feet and the friction force between the robot's feet and the ground when the robot moves to the acceleration phase. Arm control module 502 is used to control the robot's arm and / or hip according to the horizontal force and the frictional force; The first position determination module 503 is used to obtain the first position of the robot's feet relative to the robot's waist when the robot moves to the airborne stage. The waist control module 504 is used to control the waist of the robot according to the first position.

[0085] For example, the arm control module 502 is specifically used to determine a first control quantity corresponding to the robot based on the horizontal force and the frictional force; and to control the robot's arm and / or hip based on the first control quantity.

[0086] Optionally, the arm control module 502 is further configured to determine the first control quantity according to the following formula: ; ; ; in, Let T be the first control variable, and T be the control period. , and These are the preset coefficients, For the horizontal force, The frictional force is described above.

[0087] For example, the waist control module 504 is specifically used to determine a second control quantity corresponding to the robot based on the first position; and to control the pitch angle of the robot's waist based on the second control quantity.

[0088] In one possible implementation, the device may further include: The foot posture adjustment module is used to acquire the foot posture angle of the robot when the robot moves to the airborne stage, and adjust the foot posture of the robot according to the foot posture angle.

[0089] In another possible implementation, the device may further include: A leg length adjustment module is used to determine the height difference between the robot's first leg and second leg when the robot moves to the landing stage; and to adjust the first leg and / or the second leg according to the height difference.

[0090] In another possible implementation, the device may further include: The energy loss replenishment module is used to acquire the waist height of the robot when it lands during the landing phase; determine the reference speed corresponding to the waist of the robot when it lands based on the waist height; determine the reference trajectory corresponding to the waist of the robot based on the reference speed; and control the movement of the robot based on the reference trajectory to replenish the energy lost by the robot.

[0091] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0092] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0093] Figure 6 This is a schematic diagram of the structure of a robot provided in one embodiment of this application. Figure 6 As shown, the robot 6 in this embodiment includes: at least one processor 60 ( Figure 6 (Only one is shown in the diagram), memory 61, and computer program 62 stored in said memory 61 and executable on said at least one processor 60, wherein the processor 60 executes said computer program 62 to implement the steps in the above embodiments of the jump control methods for any of the robots.

[0094] The robot 6 may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of robot 6 and does not constitute a limitation on robot 6. It may include more or fewer parts than shown in the figure, or combine certain parts, or different parts, such as input / output devices, network access devices, etc.

[0095] The processor 60 can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0096] In some embodiments, the memory 61 may be an internal storage unit of the robot 6, such as a hard disk or memory of the robot 6. In other embodiments, the memory 61 may be an external storage device of the robot 6, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the robot 6. Furthermore, the memory 61 may include both internal storage units and external storage devices of the robot 6. The memory 61 is used to store operating systems, applications, bootloaders, data, and other programs, such as the program code of computer programs. The memory 61 can also be used to temporarily store data that has been output or will be output.

[0097] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the steps in the above-described embodiments of the robot jumping control methods.

[0098] This application provides a computer program product that, when run on a robot, enables the robot to implement the steps described in the various robot jump control method embodiments.

[0099] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include at least: any entity or device capable of carrying computer program code to a device / robot, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable storage media cannot be electrical carrier signals or telecommunication signals.

[0100] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0101] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

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

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

[0104] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for controlling the jumping of a robot, characterized in that, include: When the robot moves to the acceleration phase, the horizontal force corresponding to the robot's feet and the friction force between the robot's feet and the ground are obtained. Based on the horizontal force and the frictional force, the first control quantity corresponding to the robot is determined; The robot's arm and / or hip are controlled according to the first control quantity; When the robot moves to the airborne phase, the first position of the robot's feet relative to the robot's waist is obtained; Based on the first position, control the robot's waist; The step of determining the first control quantity corresponding to the robot based on the horizontal force and the frictional force includes: The first control quantity is determined according to the following formula: ; ; ; in, Let T be the first control variable, and T be the control period. , and These are preset coefficients, For the horizontal force, The frictional force, For motor speed, This refers to the acceleration of the motor.

2. The method according to claim 1, characterized in that, The step of controlling the robot's waist according to the first position includes: Based on the first position, determine the second control variable corresponding to the robot; The pitch angle of the robot's waist is controlled according to the second control quantity.

3. The method according to claim 1, characterized in that, The method further includes: When the robot moves to the airborne stage, the robot's foot posture angle is acquired, and the robot's foot posture is adjusted according to the foot posture angle.

4. The method according to claim 1, characterized in that, The method further includes: When the robot moves to the landing stage, determine the height difference between the robot's first leg and second leg; Adjust the first leg and / or the second leg according to the height difference.

5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: When the robot reaches the landing stage, the robot's waist height at the moment of landing is obtained; The reference velocity corresponding to the robot's waist at the time of landing is determined based on the waist height, and the reference trajectory corresponding to the robot's waist is determined based on the reference velocity; The robot's movement is controlled according to the reference trajectory to replenish the robot's lost energy.

6. A jumping control device for a robot, characterized in that, include: The friction force acquisition module is used to acquire the horizontal force corresponding to the robot's feet and the friction force between the robot's feet and the ground when the robot moves to the acceleration phase. An arm control module is used to determine a first control quantity corresponding to the robot based on the horizontal force and the frictional force; and to control the robot's arm and / or hip based on the first control quantity. The first position determination module is used to obtain the first position of the robot's feet relative to the robot's waist when the robot moves to the airborne phase. A waist control module is used to control the waist of the robot according to the first position; The arm control module is used to determine the first control quantity according to the following formula: ; ; ; in, Let T be the first control variable, and T be the control period. , and These are preset coefficients, For the horizontal force, The frictional force, For motor speed, This refers to the acceleration of the motor.

7. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it enables the robot to implement the robot jumping control method as described in any one of claims 1 to 5.

8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the robot, it enables the robot to implement the jumping control method of the robot as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Jumping control method for double-wheel-foot robot

    CN114578836A

  • Single-leg jumping motion control method and device, readable storage medium and robot

    CN115356920A