Robot jump control method, device, equipment and storage medium
By calculating the compensation angle based on the angular difference between the robot's landing foot and the center point of its torso, a flywheel-free robot jump control system was achieved, reducing costs and improving stability.
Patent Information
- Application Number
- CN202211014917.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-23
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2042-08-23
AI Technical Summary
Existing methods for controlling robot jumps are costly and require the installation of flywheels on the robot body, increasing the robot's overall weight and making it look odd.
By obtaining the expected and actual landing angles of the robot's landing feet and torso center points, the target compensation angle is calculated, and compensation control is applied to the landing feet to avoid installing flywheels.
It reduces the cost of robot jump control, enhances the stability of continuous jumps, and does not require increasing the robot's overall weight or causing abnormal shapes.
Smart Images

Figure CN115328184B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and in particular to a method, apparatus, device, and storage medium for controlling the jumping of a robot. Background Technology
[0002] Robots are a type of control system that uses discrete footholds to adapt to varied terrains. Their multi-limb, multi-degree-of-freedom design allows them to "actively" adjust their body height according to operational requirements to ensure balance and stability. They are widely used in scenarios such as security checks, express delivery, and disaster relief.
[0003] Existing methods for controlling robot jumps primarily rely on the flywheels mounted on the robot's body for overall posture adjustment.
[0004] It can be seen that existing robot jump control methods suffer from high jump control costs. Summary of the Invention
[0005] The purpose of this application is to address the shortcomings of the prior art by providing a method, apparatus, device, and storage medium for controlling robot jumps, which can reduce the cost of robot jump control.
[0006] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows:
[0007] In a first aspect, the present invention provides a method for controlling the jumping of a robot, comprising:
[0008] Obtain the expected and actual landing angles in the direction perpendicular to the ground along the straight line determined by the center point of the robot's foot and the center point of its torso.
[0009] Calculate the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle;
[0010] The landing foot is compensated and controlled according to the target compensation angle.
[0011] In an optional implementation, calculating the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle includes:
[0012] Based on the robot's world coordinate system, and according to the robot's expected and actual landing angles in a preset direction, the first compensation angle of the hip joint and the second compensation angle of the ankle joint in the landing foot of the robot in the preset direction are calculated respectively.
[0013] In an optional implementation, the step of calculating the second compensation angle of the ankle joint of the landing foot in the preset direction based on the robot's world coordinate system and the robot's expected and actual landing angles in the preset direction includes:
[0014] Based on the robot's world coordinate system, calculate the first angle difference between the expected landing angle and the actual landing angle of the robot in the preset direction;
[0015] Based on the first angle difference, a second angle difference is calculated between the first angle difference and the tilt angle of the landing foot in the preset direction, and the second angle difference is used as the second compensation angle of the ankle joint in the landing foot in the preset direction.
[0016] In an optional implementation, the step of calculating the first compensation angle of the hip joint in the landing foot of the robot in the preset direction, based on the robot's world coordinate system and the robot's expected and actual landing angles in the preset direction, includes:
[0017] Based on the robot's world coordinate system, the first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction is calculated, and the first angle difference is used as the first compensation angle of the hip joint in the landing foot in the preset direction.
[0018] In an optional implementation, the method further includes:
[0019] The first velocity of the robot's center of mass in a first preset direction or a second preset direction and the second velocity of the robot's center of mass in a third preset direction are obtained respectively.
[0020] Based on the first center-of-gravity velocity and the second center-of-gravity velocity, the expected landing angle of the robot in the second preset direction or the first preset direction is obtained.
[0021] In an optional implementation, the method further includes:
[0022] The first position of the robot's center of mass in a first preset direction or a second preset direction and the second position of the robot's center of mass in a third preset direction are obtained respectively.
[0023] The first landing position of the robot's landing foot in a first preset direction or a second preset direction and the second landing position of the landing foot in a third preset direction are obtained respectively.
[0024] Based on the first centroid position, the second centroid position, the first landing position, and the second landing position, the actual landing angle of the robot in the second preset direction or the first preset direction is obtained.
[0025] In an optional implementation, obtaining the robot's actual landing angle in a second preset direction or the first preset direction based on the first centroid position, the second centroid position, the first landing position, and the second landing position includes:
[0026] Calculate the first position difference between the first centroid position and the first landing position;
[0027] Calculate the second position difference between the second centroid position and the second landing position;
[0028] Based on the first position difference and the second position difference, the actual landing angle of the robot in the second preset direction or the first preset direction is calculated.
[0029] In an optional implementation, the first preset direction is the X-axis direction in the robot world coordinate system, the second preset direction is the Y-axis direction in the robot world coordinate system, and the third preset direction is the Z-axis direction in the robot world coordinate system.
[0030] In a second aspect, the present invention provides a jumping control device for a robot, comprising:
[0031] The acquisition module is used to acquire the expected and actual landing angles of the straight line determined by the center point of the robot's foot and the center point of its torso, which are perpendicular to the ground.
[0032] The calculation module is used to calculate the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle;
[0033] The control module is used to perform compensation control on the landing foot according to the target compensation angle.
[0034] In an optional implementation, the calculation module is specifically used to calculate, based on the robot's world coordinate system and the robot's expected and actual landing angles in a preset direction, the first compensation angle of the hip joint in the landing foot of the robot in the preset direction and the second compensation angle of the ankle joint in the preset direction.
[0035] In an optional implementation, the calculation module is specifically used to calculate a first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction, based on the robot's world coordinate system.
[0036] Based on the first angle difference, a second angle difference is calculated between the first angle difference and the tilt angle of the landing foot in the preset direction, and the second angle difference is used as the second compensation angle of the ankle joint in the landing foot in the preset direction.
[0037] In an optional implementation, the calculation module is specifically used to calculate a first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction based on the robot's world coordinate system, and to use the first angle difference as a first compensation angle of the hip joint in the landing foot in the preset direction.
[0038] In an optional implementation, the acquisition module is further configured to acquire the first centroid velocity of the robot's centroid in a first preset direction or a second preset direction and the second centroid velocity of the robot's centroid in a third preset direction, respectively.
[0039] Based on the first center-of-gravity velocity and the second center-of-gravity velocity, the expected landing angle of the robot in the second preset direction or the first preset direction is obtained.
[0040] In an optional implementation, the acquisition module is further configured to acquire the first centroid position of the robot's centroid in a first preset direction or a second preset direction and the second centroid position of the robot's centroid in a third preset direction, respectively.
[0041] The first landing position of the robot's landing foot in a first preset direction or a second preset direction and the second landing position of the landing foot in a third preset direction are obtained respectively.
[0042] Based on the first centroid position, the second centroid position, the first landing position, and the second landing position, the actual landing angle of the robot in the second preset direction or the first preset direction is obtained.
[0043] In an optional implementation, the acquisition module is specifically used to calculate a first position difference between the first centroid position and the first landing position;
[0044] Calculate the second position difference between the second centroid position and the second landing position;
[0045] Based on the first position difference and the second position difference, the actual landing angle of the robot in the second preset direction or the first preset direction is calculated.
[0046] In an optional implementation, the first preset direction is the X-axis direction in the robot world coordinate system, the second preset direction is the Y-axis direction in the robot world coordinate system, and the third preset direction is the Z-axis direction in the robot world coordinate system.
[0047] Thirdly, the present invention provides an electronic device, comprising: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the jumping control method for a robot as described in any of the foregoing embodiments.
[0048] Fourthly, the present invention provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the jumping control method for a robot as described in any of the foregoing embodiments.
[0049] The beneficial effects of this application are:
[0050] The robot jumping control method, apparatus, device, and storage medium provided in this application include: acquiring the expected landing angle and the actual landing angle in the direction perpendicular to the ground along a straight line determined by the center point of the robot's landing foot and the center point of its torso; calculating the target compensation angle of the landing foot based on the expected and actual landing angles; and performing compensation control on the landing foot based on the target compensation angle. By applying this application, jumping control of the robot can be achieved without installing a flywheel on the robot body, reducing the cost of robot jumping control. Furthermore, real-time compensation control of the robot's landing foot can be performed during the control process, thus preparing for the next jump and enhancing the stability of continuous jumping motion. Attached Figure Description
[0051] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.
[0052] Figure 1 A flowchart illustrating a robot jumping control method provided in an embodiment of this application;
[0053] Figure 2 A flowchart illustrating another robot jumping control method provided in this application embodiment;
[0054] Figure 3 A flowchart illustrating another robot jumping control method provided in this application embodiment;
[0055] Figure 4 A flowchart illustrating another robot jumping control method provided in this application embodiment;
[0056] Figure 5 A flowchart illustrating another robot jumping control method provided in this application embodiment;
[0057] Figure 6 A flowchart illustrating another robot jumping control method provided in this application embodiment;
[0058] Figure 7 A schematic diagram of the functional modules of a robot jumping control device provided in an embodiment of this application;
[0059] Figure 8 This is a schematic diagram of an electronic device structure provided in an embodiment of this application. Detailed Implementation
[0060] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0061] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0062] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.
[0063] Current methods for controlling robot jumps primarily rely on flywheels mounted on the robot's body for overall posture adjustment. As a result, existing control methods often require the robot to reserve additional installation space for the flywheels, which increases the robot's overall weight and results in an odd-looking design. Furthermore, the additional flywheels also increase the cost of controlling the robot's jumps.
[0064] In view of this, this application provides a method for controlling the jumping of a robot. By applying this method, the manufacturing cost of the robot can be reduced, and the increase in the robot's overall weight and its bizarre shape can be avoided.
[0065] Figure 1This is a flowchart illustrating a robot jumping control method provided in an embodiment of this application. The executing entity of this method can be a robot, specifically a processor within the robot. Optionally, the robot can be a monopodial robot or a multipodial robot; this is not limited thereto. Figure 1 As shown, the method may include:
[0066] S101. Obtain the expected landing angle and actual landing angle of the straight line determined by the center point of the robot's foot and the center point of its torso, which are perpendicular to the ground.
[0067] Optionally, the shape of the foot landing on the ground can be rectangular, triangular, circular, etc., and is not limited here. The location of the center point of the foot can be determined based on the shape of the foot landing on the ground. Optionally, if the shape of the foot is rectangular, the center point of the foot can be the intersection of the two diagonals; optionally, if the shape of the foot is circular, the center point of the foot can be the center of the circle. Of course, the specific method of determination is not limited to these. The center point of the torso can be determined based on the shape of the side projection of the torso. Optionally, if the shape of the side projection is rectangular, the center point of the torso can be the intersection of the two diagonals of the rectangle.
[0068] Based on the above explanation, a straight line can be determined using the center points of the feet and torso. It is understandable that, depending on the robot's actions, the angle between this straight line and the vertical direction (where the ground is considered horizontal, and the direction perpendicular to the ground is denoted as the vertical direction) will also differ. The expected landing angle represents the anticipated angle between this straight line and the vertical direction when the robot lands; the actual landing angle represents the actual angle between this straight line and the vertical direction when the robot lands.
[0069] S102. Calculate the target compensation angle of the robot's landing foot based on the expected landing angle and the actual landing angle.
[0070] It is understandable that when a robot lands, the actual landing foot often differs from the expected landing foot due to environmental factors and the landing posture during the previous landing. Therefore, it is necessary to calculate the target compensation angle of the landing foot in the robot based on the expected landing angle and the actual landing angle.
[0071] S103. Based on the target compensation angle, perform compensation control on the landing foot.
[0072] Specifically, when performing compensation control, the actual landing angle can be superimposed based on the target compensation angle to achieve compensation control of the landing leg. By applying the embodiments of this application, when controlling the robot to jump, there is no need to install a flywheel on the robot body, which can reduce the cost of robot jump control. Moreover, during the control process, the landing foot of the robot can be compensated in real time, so as to prepare for the next jump in advance and enhance the motion stability of continuous jumps.
[0073] It is worth noting that the jump control method provided in this application embodiment can be applied to each landing process, thereby realizing real-time landing control of the robot.
[0074] In summary, this application provides a method for controlling the jump of a robot. The method includes: acquiring the expected landing angle and the actual landing angle in the direction perpendicular to the ground along a straight line determined by the center point of the robot's landing foot and the center point of its torso; calculating the target compensation angle of the landing foot based on the expected and actual landing angles; and performing compensation control on the landing foot based on the target compensation angle. By applying this application, jump control of the robot can be achieved without installing a flywheel on the robot body, reducing the cost of robot jump control. Furthermore, real-time compensation control of the robot's landing foot can be performed during the control process, thus preparing for the next jump and enhancing the stability of continuous jumps.
[0075] Figure 2 This is a flowchart illustrating another robot jumping control method provided in an embodiment of this application. Optionally, as... Figure 2 As shown, the above calculation of the target compensation angle of the robot's landing foot based on the expected landing angle and the actual landing angle includes:
[0076] S201. Based on the robot's world coordinate system, calculate the first compensation angle of the hip joint and the second compensation angle of the ankle joint in the preset direction of the robot's landing foot, respectively, according to the robot's expected landing angle and actual landing angle in the preset direction.
[0077] In the world coordinate system, the origin is the intersection of the vertical line from the origin of the robot's waist coordinate system to the ground when the legged robot is in its initial state. According to the right-hand coordinate system, the x-axis points in front of the robot, the y-axis points to the left of the robot, and the z-axis points above the robot.
[0078] Optionally, the preset direction can be the x-axis, y-axis, or z-axis direction, and is not limited here. It can vary depending on the robot's jumping direction (which may include: jumping in place, jumping towards the x-axis, or jumping towards the y-axis). Specifically, during compensation, the hip joint and ankle joint of the landing foot can be compensated separately. That is, a first compensation angle of the hip joint in the preset direction and a second compensation angle of the ankle joint in the preset direction can be calculated separately. Then, based on the first compensation angle, the hip joint of the landing foot can be compensated and controlled, and based on the second compensation angle, the ankle joint of the landing foot can be compensated and controlled.
[0079] Figure 3 This is a flowchart illustrating another robot jumping control method provided in an embodiment of this application. Optionally, as... Figure 3 As shown, the above calculation, based on the robot's world coordinate system and the robot's expected and actual landing angles in a preset direction, calculates the second compensation angle of the ankle joint in the landing foot in the preset direction, including:
[0080] S301. Based on the robot's world coordinate system, calculate the first angle difference between the robot's expected landing angle and the actual landing angle in the preset direction.
[0081] S302. Based on the first angle difference, calculate the second angle difference between the first angle difference and the tilt angle of the landing foot in the preset direction, and use the second angle difference as the second compensation angle of the ankle joint of the landing foot in the preset direction.
[0082] The tilt angle of the landing foot in the preset direction can be calculated based on the attitude and position of each link in the robot's body; the attitude and position of each link in the robot's body can be calculated based on the robot's joint angles and the robot's torso attitude angles, according to forward kinematics.
[0083] Taking the robot's expected landing angle in a preset direction as an example, the expected landing angle in the preset direction is the landing angle around the preset direction along the line perpendicular to the ground, defined by the center point of the robot's landing foot and the center point of its torso. If the preset direction is the y-axis, then the robot's expected landing angle on the x-axis represents the landing angle around the x-axis. For the robot's actual landing angle in the preset direction, please refer to the explanation of the expected landing angle; it will not be repeated here.
[0084] Specifically, the second compensation angle of the ankle joint in the landing foot in the preset direction can be calculated using the following formula: Land_ankle_M = (LandA_M_des - LandA_M) - Foot_pitch_M. Where Land_ankle_M represents the second compensation angle of the ankle joint in the landing foot in the preset direction, LandA_M_des represents the robot's expected landing angle in the preset direction, LandA_M represents the robot's actual landing angle in the preset direction, and Foot_pitch represents the tilt angle of the landing foot in the preset direction.
[0085] It is worth noting that if the preset direction is y, the above formula can be transformed into Land_ankle_y=(LandA_y_des-LandA_y)-Foot_pitch_y.
[0086] Based on the above explanation, feedback control can be implemented using a PD controller. The specific control method can be: Delta_ankle_pitch = PD(Land_ankle_M), where Delta_ankle_pitch represents the feedback control amount of the ankle joint in the landing foot in the preset direction calculated by the PD controller.
[0087] Optionally, the above calculation, based on the robot's world coordinate system and according to the robot's expected and actual landing angles in a preset direction, calculates the first compensation angle of the hip joint in the landing foot of the robot in the preset direction, including:
[0088] Based on the robot's world coordinate system, the first angle difference between the robot's expected landing angle and the actual landing angle in the preset direction is calculated, and the first angle difference is used as the first compensation angle of the hip joint in the landing foot in the preset direction.
[0089] Specifically, the first compensation angle of the hip joint in the landing foot in the preset direction can be calculated using the following formula: Delta_hip_M = LandA_M_des - LandA_M, where Delta_hip_M represents the first compensation angle of the hip joint in the landing foot in the preset direction, LandA_M_des represents the expected landing angle of the robot in the preset direction, and LandA_M represents the actual landing angle of the robot in the preset direction.
[0090] It is worth noting that if the preset direction is y, the above formula can be transformed into Delta_hip_y = LandA_y_des - LandA_y.
[0091] Based on the above explanation, feedback control can be achieved using a PD controller during the control process. The specific control method can be: Delta_hip_pitch = PD(Delta_hip_M), where Delta_hip_pitch represents the feedback control amount of the hip joint in the preset direction calculated by the PD controller.
[0092] Figure 4 This is a flowchart illustrating another robot jumping control method provided in an embodiment of this application. Optionally, as... Figure 4 As shown, the above method also includes:
[0093] S401. Obtain the first centroid velocity of the robot's centroid in the first preset direction or the second preset direction, and the second centroid velocity of the robot's centroid in the third preset direction, respectively.
[0094] S402. Based on the first center-of-mass velocity and the second center-of-mass velocity, obtain the robot's expected landing angle in the second preset direction or the first preset direction.
[0095] Optionally, the first preset direction can be the X-axis direction in the robot world coordinate system, the second preset direction can be the Y-axis direction in the robot world coordinate system, and the third preset direction can be the Z-axis direction in the robot world coordinate system.
[0096] Based on the above explanation, it can be seen that the robot's expected landing angle in the first preset direction needs to be calculated based on the robot's center of mass's first center of mass velocity in the second preset direction and the robot's center of mass's second center of mass velocity in the third preset direction; the robot's expected landing angle in the second preset direction needs to be calculated based on the robot's center of mass's first center of mass velocity in the first preset direction and the robot's center of mass's second center of mass velocity in the third preset direction.
[0097] Specifically, the expected landing angle of the robot in the y-axis direction can be obtained using the following formula: LandA_y_des = atan(Vx / Vz), where LandA_y_des represents the expected landing angle of the robot in the y-axis direction, Vx represents the first centroid velocity of the robot in the x-axis direction, Vz represents the second centroid velocity of the robot in the z-axis direction, and atan() represents the arctangent function. It should be noted that the calculation process for the expected landing angle of the robot in the x-axis direction is the same as that for the expected landing angle in the y-axis direction, and will not be repeated here.
[0098] The following explanation uses the second center-of-mass velocity of the robot's center of mass in the third preset direction as an example. This second center-of-mass velocity can be obtained by integrating the robot's initial velocity and the acceleration of its center of mass during the airborne phase. The acceleration of the robot's center of mass during the airborne phase can be acquired by preset sensors within the robot. Furthermore, it should be noted that the acquisition process for the first center-of-mass velocity is the same as the process for acquiring the second center-of-mass velocity described above, and will not be repeated here.
[0099] Figure 5 This is a flowchart illustrating another robot jumping control method provided in an embodiment of this application. Optionally, as... Figure 5 As shown, the above method also includes:
[0100] S501. Obtain the first centroid position of the robot's centroid in the first preset direction or the second preset direction, and the second centroid position of the robot's centroid in the third preset direction.
[0101] The second center of mass position of the robot in the third preset direction is used as an example for explanation. The second center of mass position can be obtained by using the forward kinematics solution based on the joint angles of all joints of the robot and the posture angle of the torso.
[0102] S502, respectively obtain the first landing position of the robot's landing foot in the first preset direction or the second preset direction and the second landing position of the landing foot in the third preset direction.
[0103] The second landing position of the robot's landing foot in the third preset direction is used as an example for explanation. The second landing position can be calculated based on the attitude and position of each link in the robot's body. The attitude and position of each link in the robot's body can be calculated based on the robot's joint angles and the robot's torso attitude angles, according to forward kinematics.
[0104] Based on this description, the first landing position of the robot's landing foot in the first preset direction or the second preset direction can be found in the process of obtaining the second landing position described above, and will not be repeated here.
[0105] S503. Based on the first center of mass position, the second center of mass position, the first landing position, and the second landing position, obtain the actual landing angle of the robot in the second preset direction or the first preset direction.
[0106] Based on the obtained centroid positions and landing positions, the actual landing angle of the robot in the second preset direction or the first preset direction can be obtained.
[0107] Taking the calculation of the robot's actual landing angle in the first preset direction as an example, it can be calculated based on the robot's center of mass positions in the second preset direction, the first landing position of the robot's landing foot in the second preset direction, and the second landing position. Correspondingly, the calculation principle of the robot's actual landing angle in the second preset direction can be found in the calculation principle of the robot's actual landing angle in the first preset direction, and will not be repeated here.
[0108] Figure 6 This is a flowchart illustrating another robot jumping control method provided in an embodiment of this application. Optionally, as... Figure 6 As shown, the above-mentioned method of obtaining the robot's actual landing angle in the second preset direction or the first preset direction based on the first center of mass position, the second center of mass position, the first landing position, and the second landing position includes:
[0109] S601. Calculate the first position difference between the first centroid position and the first landing position.
[0110] S602. Calculate the second position difference between the second centroid position and the second landing position.
[0111] S603. Calculate the robot's actual landing angle in the second preset direction or the first preset direction based on the first position difference and the second position difference.
[0112] Specifically, in the calculation, LandA_y = atan((CoMpos(x)-Footpos(x)) / (CoMpos(z)-Footpos(z)), where LandA_y represents the robot's actual landing angle in the y-axis direction, CoMpos(x) represents the robot's first centroid position in the x-axis direction, Footpos(x) represents the robot's first landing position of the landing foot in the x-axis direction, CoMpos(z) represents the robot's second centroid position in the z-axis direction, Footpos(z) represents the robot's second landing position of the landing foot in the z-axis direction, and atan() represents the arctangent function.
[0113] It should be noted that when calculating the robot's actual landing angle in the x-axis direction, you can refer to the calculation process of the robot's actual landing angle in the y-axis direction described above, which will not be repeated here.
[0114] Figure 7 This is a functional module diagram of a robot jumping control device provided in an embodiment of this application. The basic principle and technical effects of this device are the same as those of the corresponding method embodiments described above. For the sake of brevity, parts not mentioned in this embodiment can be referred to the corresponding content in the method embodiments.
[0115] like Figure 7 As shown, the jump control device 100 includes:
[0116] The acquisition module 110 is used to acquire the expected landing angle and the actual landing angle of the straight line determined by the center point of the robot's foot and the center point of its torso, which are perpendicular to the landing ground.
[0117] The calculation module 120 is used to calculate the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle;
[0118] The control module 130 is used to perform compensation control on the landing foot according to the target compensation angle.
[0119] In an optional implementation, the calculation module 120 is specifically used to calculate, based on the robot's world coordinate system, the first compensation angle of the hip joint in the preset direction and the second compensation angle of the ankle joint in the preset direction of the landing foot of the robot, respectively, according to the robot's expected landing angle and actual landing angle in the preset direction.
[0120] In an optional implementation, the calculation module 120 is specifically used to calculate a first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction, based on the robot's world coordinate system.
[0121] Based on the first angle difference, a second angle difference is calculated between the first angle difference and the tilt angle of the landing foot in the preset direction, and the second angle difference is used as the second compensation angle of the ankle joint in the landing foot in the preset direction.
[0122] In an optional implementation, the calculation module 120 is specifically used to calculate the first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction based on the robot world coordinate system, and to use the first angle difference as the first compensation angle of the hip joint in the landing foot in the preset direction.
[0123] In an optional implementation, the acquisition module 110 is further configured to acquire the first centroid velocity of the robot's centroid in a first preset direction or a second preset direction and the second centroid velocity of the robot's centroid in a third preset direction, respectively.
[0124] Based on the first center-of-mass velocity and the second center-of-mass velocity, the expected landing angle of the robot in the second preset direction or the first preset direction is obtained.
[0125] In an optional implementation, the acquisition module 110 is further configured to acquire the first centroid position of the robot's centroid in a first preset direction or a second preset direction and the second centroid position of the robot's centroid in a third preset direction, respectively.
[0126] The first landing position of the robot's landing foot in a first preset direction or a second preset direction and the second landing position of the landing foot in a third preset direction are obtained respectively.
[0127] Based on the first center of mass position, the second center of mass position, the first landing position, and the second landing position, the actual landing angle of the robot in the second preset direction or the first preset direction is obtained.
[0128] In an optional implementation, the acquisition module 110 is specifically used to calculate the first position difference between the first centroid position and the first landing position;
[0129] Calculate the second position difference between the second centroid position and the second landing position;
[0130] Based on the first position difference and the second position difference, calculate the robot's actual landing angle in the second preset direction or the first preset direction.
[0131] In an optional implementation, the first preset direction is the X-axis direction in the robot world coordinate system, the second preset direction is the Y-axis direction in the robot world coordinate system, and the third preset direction is the Z-axis direction in the robot world coordinate system.
[0132] The above-described device is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effect are similar, so they will not be described again here.
[0133] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more microprocessors, or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).
[0134] Figure 8 This application provides a schematic diagram of an electronic device structure, which can be integrated into the control unit of a robot. For example... Figure 8As shown, the electronic device may include a processor 210, a storage medium 220, and a bus 230. The storage medium 220 stores machine-readable instructions executable by the processor 210. When the electronic device is running, the processor 210 communicates with the storage medium 220 via the bus 230, and the processor 210 executes the machine-readable instructions to perform the steps of the above method embodiment. The specific implementation and technical effects are similar and will not be described in detail here.
[0135] Optionally, this application also provides a storage medium storing a computer program, which, when run by a processor, executes the steps of the above-described method embodiments. The specific implementation and technical effects are similar and will not be repeated here.
[0136] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of 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 apparatuses or units may be electrical, mechanical, or other forms.
[0137] 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.
[0138] Furthermore, the functional units in the various embodiments of this application 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 in the form of hardware plus software functional units.
[0139] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0140] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0141] The above are merely preferred embodiments of this application and are not intended to limit this application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need further definition and explanation in subsequent figures. The above are merely preferred embodiments of this application and are not intended to limit this application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method for controlling the jumping of a robot, characterized in that, Applied to legged robots, the method includes: Obtain the expected and actual landing angles in the direction perpendicular to the ground along the straight line determined by the center point of the robot's foot and the center point of its torso. Calculate the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle; The landing foot is compensated and controlled according to the target compensation angle. The step of calculating the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle includes: Based on the robot's world coordinate system, according to the robot's expected landing angle and actual landing angle in the preset direction, the first compensation angle of the hip joint and the second compensation angle of the ankle joint in the preset direction of the landing foot of the robot are calculated respectively. The calculation of a second compensation angle for the ankle joint of the landing foot in the robot's world coordinate system, based on the robot's expected and actual landing angles in a preset direction, includes: Based on the robot's world coordinate system, calculate the first angle difference between the expected landing angle and the actual landing angle of the robot in the preset direction; Based on the first angle difference, a second angle difference is calculated between the first angle difference and the tilt angle of the landing foot in the preset direction, and the second angle difference is used as the second compensation angle of the ankle joint in the landing foot in the preset direction.
2. The method according to claim 1, characterized in that, The calculation of the first compensation angle of the hip joint in the landing foot of the robot in the preset direction, based on the robot's world coordinate system and the robot's expected and actual landing angles in the preset direction, includes: Based on the robot's world coordinate system, the first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction is calculated, and the first angle difference is used as the first compensation angle of the hip joint in the landing foot in the preset direction.
3. The method according to claim 1, characterized in that, The method further includes: The first velocity of the robot's center of mass in a first preset direction or a second preset direction and the second velocity of the robot's center of mass in a third preset direction are obtained respectively. Based on the first center-of-gravity velocity and the second center-of-gravity velocity, the expected landing angle of the robot in the second preset direction or the first preset direction is obtained.
4. The method according to claim 1, characterized in that, The method further includes: The first position of the robot's center of mass in a first preset direction or a second preset direction and the second position of the robot's center of mass in a third preset direction are obtained respectively. The first landing position of the robot's landing foot in a first preset direction or a second preset direction and the second landing position of the landing foot in a third preset direction are obtained respectively. Based on the first centroid position, the second centroid position, the first landing position, and the second landing position, the actual landing angle of the robot in the second preset direction or the first preset direction is obtained.
5. The method according to claim 3 or 4, characterized in that, The first preset direction is the X-axis direction in the robot world coordinate system, the second preset direction is the Y-axis direction in the robot world coordinate system, and the third preset direction is the Z-axis direction in the robot world coordinate system.
6. A jumping control device for a robot, characterized in that, include: The acquisition module is used to acquire the expected and actual landing angles of the straight line determined by the center point of the robot's foot and the center point of its torso, which are perpendicular to the ground. The calculation module is used to calculate the target compensation angle of the landing foot of the robot based on the expected landing angle and the actual landing angle; The control module is used to perform compensation control on the landing foot according to the target compensation angle; The calculation module is specifically based on the robot world coordinate system. According to the robot's expected landing angle and actual landing angle in the preset direction, it calculates the first compensation angle of the hip joint and the second compensation angle of the ankle joint in the preset direction of the landing foot of the robot. The calculation module is specifically used to calculate the first angle difference between the expected landing angle and the actual landing angle of the robot in a preset direction, based on the robot's world coordinate system. Based on the first angle difference, a second angle difference is calculated between the first angle difference and the tilt angle of the landing foot in the preset direction, and the second angle difference is used as the second compensation angle of the ankle joint in the landing foot in the preset direction.
7. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the jumping control method for the robot as described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the jumping control method for the robot as described in any one of claims 1-5.
Citation Information
Patent Citations
Posture adjusting method, device and equipment of biped robot, and storage medium
CN112644599A