Terrain detection method and device, electronic equipment, robot and storage medium

CN117984335BActive Publication Date: 2026-09-29BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211351106.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-31
Publication Date
2026-09-29
Estimated Expiration
2042-10-31

AI Technical Summary

Technical Problem

相关技术中的地形检测方法通常是依靠相机、激光雷达等传感器构建地形信息,其准确性和精度均有待提高,尤其是难以精确地测量足底附近的地形

Benefits of technology

[0066]本公开实施例所提供的地形检测方法,通过获取所述机器人的至少一个部位的位姿参数,可以根据所述至少一个部位的姿态参数,确定所述机器人的至少一个落地脚的位置,最后可以根据所述至少一个落地脚的位置,确定地形模型。由于落地脚为与地面接触的脚,因此落地脚的位置可以表征地面上某个点的位置,也就是说本公开是根据地面上的点的位置来确定地形模型,所述确定出来的地形模型较为准确,精度较高,尤其地形模型表征的是足底附近的地形;且落地脚的位置由机器人的至少一个部位的姿态参数来确定,机器人各个部位的姿态参数是相关技术中控制机器人运动时已经在利用的数据,因此本方法未增加额外的元件和成本。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117984335B_ABST
    Figure CN117984335B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a terrain detection method and device, electronic equipment, robot and storage medium. The method is applied to a robot and includes: obtaining attitude parameters of at least one part of the robot; determining positions of at least one landing foot of the robot according to the attitude parameters of the at least one part, wherein the landing foot is a foot in contact with the ground; and determining a terrain model according to the positions of the at least one landing foot, wherein the terrain model is used to represent a terrain of the ground under the feet of the robot. Since the landing foot is a foot in contact with the ground, the position of the landing foot can represent the position of a certain point on the ground, that is, the terrain model is determined according to the position of the point on the ground. The determined terrain model is more accurate and has higher precision, especially when the terrain model represents the terrain near the sole.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of robotics, specifically to a terrain detection method, apparatus, electronic device, robot, and storage medium. Background Technology

[0002] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Compared to wheeled and tracked robots, legged robots have a greater advantage in locomotion on uneven terrain, making humanoid robots a current research hotspot in both academia and industry. The ability of humanoid robots to walk on uneven ground is a crucial aspect of humanoid robot technology. By detecting ground environment information, constructing a mathematical model of the ground, and applying it to walking control, the robot's motion stability can be effectively improved. However, terrain detection methods in related technologies typically rely on sensors such as cameras and lidar to construct terrain information, and their accuracy and precision need improvement, especially in accurately measuring the terrain near the soles of the feet. Summary of the Invention

[0003] To overcome the problems existing in the related technologies, the present disclosure provides a terrain detection method, apparatus, electronic device, robot, and storage medium to solve the defects in the related technologies.

[0004] According to a first aspect of the present disclosure, a terrain detection method is provided, applied to a robot, the method comprising:

[0005] Obtain the posture parameters of at least one part of the robot;

[0006] Based on the posture parameters of the at least one part, the position of at least one landing foot of the robot is determined, wherein the landing foot is the foot in contact with the ground;

[0007] A terrain model is determined based on the position of the at least one landing foot, wherein the terrain model is used to characterize the terrain of the ground beneath the robot's feet.

[0008] In one embodiment, the robot's torso is equipped with an IMU sensor, and the robot's leg joints are equipped with angle sensors;

[0009] The process of obtaining the posture parameters of at least one part of the robot includes:

[0010] The attitude angles acquired by the IMU sensor and the joint angles acquired by the angle sensor are obtained.

[0011] In one embodiment, acquiring the joint angle collected by the angle sensor includes:

[0012] The robot acquires joint angles from angle sensors on the hip, knee, and ankle joints of at least one of its landing feet.

[0013] In one embodiment, determining the position of at least one landing foot of the robot based on the posture parameters of the at least one part includes:

[0014] The position of any one of the robot's at least one landing foot is taken as the origin of the world coordinate system, and the coordinates of the robot's other landing feet in the world coordinate system are determined based on the attitude parameters of the at least one part.

[0015] In one embodiment, determining the terrain model based on the location of the at least one landing foot includes:

[0016] If the number of at least one landing foot is greater than or equal to a preset number, the terrain model is determined based on the location of the at least one landing foot;

[0017] If the number of at least one landing foot is less than the preset number, the posture of any one of the at least one landing foot is determined according to the posture parameters of the at least one part, and the position of at least one predicted ground point is determined according to the position and posture of the landing foot, and the terrain model is determined according to the position of the at least one landing foot and the position of the at least one predicted ground point, wherein the sum of the number of the at least one predicted ground point and the number of the at least one landing foot is equal to or greater than the preset number.

[0018] In one embodiment, the robot is a humanoid robot;

[0019] The process of obtaining the posture parameters of at least one part of the robot includes:

[0020] With both feet of the robot on the ground, obtain the posture parameters of at least one part of the robot.

[0021] In one embodiment, one of the robot's two feet is a supporting foot, and the other foot is a swinging foot;

[0022] When both feet of the robot are on the ground, obtaining the posture parameters of at least one part of the robot includes:

[0023] The first contact force between the supporting foot and the ground in the vertical direction and the second contact force between the swinging foot and the ground in the vertical direction are obtained.

[0024] When the second contact force is greater than the first contact force, and the difference between the second contact force and the first contact force is greater than a preset force threshold, the posture parameters of at least one part of the robot are obtained.

[0025] In one embodiment, determining the terrain model based on the location of the at least one landing foot includes:

[0026] The posture of the supporting foot is determined based on the posture parameters of at least one of the parts.

[0027] Based on the position and orientation of the supporting feet, determine the position of at least one predicted ground point;

[0028] The terrain model is determined based on the position of the supporting foot, the position of the swinging foot, and the position of at least one predicted ground point.

[0029] In one embodiment, it also includes:

[0030] The robot is controlled to walk on the ground based on the terrain model.

[0031] In one embodiment, after controlling the robot to walk on the ground according to the terrain model, the method further includes:

[0032] Switch the supporting leg to a swing leg, and then switch the swing leg to a supporting leg.

[0033] According to a second aspect of the present disclosure, a terrain detection device is provided for use in a robot, the device comprising:

[0034] An acquisition module is used to acquire the posture parameters of at least one part of the robot;

[0035] A position module is used to determine the position of at least one landing foot of the robot based on the posture parameters of the at least one part, wherein the landing foot is the foot in contact with the ground;

[0036] A terrain module is used to determine a terrain model based on the position of the at least one landing foot, wherein the terrain model is used to characterize the terrain of the ground under the robot's feet.

[0037] In one embodiment, the robot's torso is equipped with an IMU sensor, and the robot's leg joints are equipped with angle sensors;

[0038] The acquisition module is specifically used for:

[0039] The attitude angles acquired by the IMU sensor and the joint angles acquired by the angle sensor are obtained.

[0040] In one embodiment, when the acquisition module acquires the joint angle collected by the angle sensor, it is specifically used for:

[0041] The robot acquires joint angles from angle sensors on the hip, knee, and ankle joints of at least one of its landing feet.

[0042] In one embodiment, the location module is specifically used for:

[0043] The position of any one of the robot's at least one landing foot is taken as the origin of the world coordinate system, and the coordinates of the robot's other landing feet in the world coordinate system are determined based on the attitude parameters of the at least one part.

[0044] In one embodiment, the terrain module is specifically used for:

[0045] If the number of at least one landing foot is greater than or equal to a preset number, the terrain model is determined based on the location of the at least one landing foot;

[0046] If the number of at least one landing foot is less than the preset number, the posture of any one of the at least one landing foot is determined according to the posture parameters of the at least one part, and the position of at least one predicted ground point is determined according to the position and posture of the landing foot, and the terrain model is determined according to the position of the at least one landing foot and the position of the at least one predicted ground point, wherein the sum of the number of the at least one predicted ground point and the number of the at least one landing foot is equal to or greater than the preset number.

[0047] In one embodiment, the robot is a humanoid robot;

[0048] The acquisition module is specifically used for:

[0049] With both feet of the robot on the ground, obtain the posture parameters of at least one part of the robot.

[0050] In one embodiment, one of the robot's two feet is a supporting foot, and the other foot is a swinging foot;

[0051] The acquisition module is used to acquire posture parameters of at least one part of the robot when both of the robot's feet are on the ground. Specifically, it is used to:

[0052] The first contact force between the supporting foot and the ground in the vertical direction and the second contact force between the swinging foot and the ground in the vertical direction are obtained.

[0053] When the second contact force is greater than the first contact force, and the difference between the second contact force and the first contact force is greater than a preset force threshold, the posture parameters of at least one part of the robot are obtained.

[0054] In one embodiment, the terrain module is specifically used for:

[0055] The posture of the supporting foot is determined based on the posture parameters of at least one of the parts.

[0056] Based on the position and orientation of the supporting feet, determine the position of at least one predicted ground point;

[0057] The terrain model is determined based on the position of the supporting foot, the position of the swinging foot, and the position of at least one predicted ground point.

[0058] In one embodiment, a walking module is also included for:

[0059] The robot is controlled to walk on the ground based on the terrain model.

[0060] In one embodiment, the walking module is further configured to:

[0061] After controlling the robot to walk on the ground according to the terrain model, the supporting leg is switched to a swing leg, and the swing leg is switched to a supporting leg.

[0062] According to a third aspect of the present disclosure, a robot is provided, the robot comprising at least two leg structures, each leg structure including a foot, the robot being used to implement the terrain detection method described in the first aspect.

[0063] According to a fourth aspect of the present disclosure, an electronic device is provided, the electronic device including a memory and a processor, the memory being used to store computer instructions executable on the processor, and the processor being used to implement the terrain detection method of the first aspect when executing the computer instructions.

[0064] According to a fifth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.

[0065] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:

[0066] The terrain detection method provided in this disclosure obtains the pose parameters of at least one part of the robot, determines the position of at least one landing foot of the robot based on the pose parameters of the at least one part, and finally determines the terrain model based on the position of the at least one landing foot. Since the landing foot is the foot in contact with the ground, the position of the landing foot can represent the position of a point on the ground. That is to say, this disclosure determines the terrain model based on the position of a point on the ground. The determined terrain model is relatively accurate and has high precision, especially since the terrain model represents the terrain near the sole of the foot. Moreover, the position of the landing foot is determined by the pose parameters of at least one part of the robot. The pose parameters of each part of the robot are data already used in related technologies for controlling robot movement. Therefore, this method does not add additional components or costs. Attached Figure Description

[0067] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0068] Figure 1 This is a flowchart illustrating a terrain detection method according to an exemplary embodiment of this disclosure;

[0069] Figure 2 This is a schematic diagram illustrating the process of a humanoid robot walking on an inclined plane, as shown in an exemplary embodiment of this disclosure;

[0070] Figure 3 This is a schematic diagram of the structure of a terrain detection device shown in an exemplary embodiment of the present disclosure;

[0071] Figure 4 This is a structural block diagram of an electronic device illustrated in an exemplary embodiment of the present disclosure. Detailed Implementation

[0072] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0073] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0074] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0075] In recent years, robotics technology has continuously developed, becoming increasingly intelligent and automated, with improvements in the richness, stability, and flexibility of its movements. Compared to wheeled and tracked robots, legged robots have a greater advantage in locomotion on uneven terrain, making humanoid robots a current research hotspot in both academia and industry. The ability of humanoid robots to walk on uneven ground is a crucial aspect of humanoid robot technology. By detecting ground environment information, constructing a mathematical model of the ground, and applying it to walking control, the robot's motion stability can be effectively improved. However, terrain detection methods in related technologies typically rely on sensors such as cameras and lidar to construct terrain information, and their accuracy and precision need improvement, especially in accurately measuring the terrain near the soles of the feet.

[0076] Based on this, in a first aspect, at least one embodiment of this disclosure provides a terrain detection method, please refer to the appendix. Figure 1 It illustrates the process of the method, including steps S101 to S103.

[0077] This method can be applied to robots, such as legged robots. The robot can have a torso and legs. IMU sensors can be installed on the torso, and angle sensors can be installed on the leg joints. The IMU sensor (Inertial Measurement Unit) can measure the three-axis attitude angles of the torso: yaw, pitch, and roll. The angle sensors can be joint encoders, capable of measuring the angles of the joints in each degree of freedom. For example, the hip joint has three degrees of freedom, the knee joint has one degree of freedom, and the ankle joint has one degree of freedom. Therefore, the angle sensor on the hip joint can acquire three angles, the angle sensor on the knee joint can acquire one angle, and the angle sensor on the ankle joint can acquire one angle.

[0078] Understandably, this method can be applied to scenarios where robots walk, that is, to detect the terrain during the robot's movement; moreover, in this scenario, the results of the terrain detection can also be applied to subsequent walking control.

[0079] In step S101, the posture parameters of at least one part of the robot are obtained.

[0080] The robot may include parts such as a head, torso, and legs; if it is a humanoid robot, it may further include parts such as arms. The posture parameters of each part can be collected by corresponding sensors. For example, the posture parameters of the torso and leg joints can be acquired, that is, the posture angles collected by the IMU sensors on the torso and the joint angles collected by the angle sensors on the leg joints, such as the joint angles collected by the angle sensors on the hip, knee, and ankle joints. Since the robot has multiple legs, this step can acquire the joint angles collected by the angle sensors on the hip, knee, and ankle joints of each leg, or the joint angles collected by the angle sensors on the hip, knee, and ankle joints of each leg where the landing foot is located.

[0081] In step S102, the position of at least one landing foot of the robot is determined based on the posture parameters of the at least one part, wherein the landing foot is the foot in contact with the ground.

[0082] For example, the position of any one of the robot's at least one landing foot is taken as the origin of the world coordinate system, that is, the coordinates of the landing point (hereinafter referred to as the origin landing foot) in the world coordinate system are (0,0,0); and the coordinates of the robot's other landing feet in the world coordinate system are determined according to the posture parameters of the at least one part. For example, a coordinate transformation function between each pair of feet can be constructed in advance based on the assembly position between each leg. Then, when determining the coordinates of a certain landing foot in the world coordinate system, the coordinates of the landing foot in the world coordinate system can be determined according to the coordinate transformation function between the landing foot and the origin landing foot, the joint angle of the leg where the landing foot is located, the joint angle of the leg where the origin landing foot is located, and the posture angle of the torso.

[0083] Understandably, the vertical contact force between each of the robot's legs and the ground can be used to determine whether each leg is the landing leg. Each leg of the robot can be equipped with a contact force detection element, which can detect different contact forces when the leg is in different contact states with the ground (e.g., no contact, initial contact, supporting contact, contact just before lifting, etc.).

[0084] In step S103, a terrain model is determined based on the position of the at least one landing foot, wherein the terrain model is used to characterize the terrain of the ground under the robot's feet.

[0085] Terrain models can take various forms, such as terrain functions and terrain equations. Since a terrain model has multiple unknown parameters, a predetermined number of location coordinates on the ground (e.g., the location can represent the number of unknown parameters) are needed to solve for these unknowns, thus obtaining the terrain model. Since the foot is the foot in contact with the ground, this step uses the location of the foot to represent the ground coordinates beneath it, thereby solving for the unknowns in the terrain model.

[0086] Based on the above method of solving the terrain model, when the number of at least one landing foot is greater than or equal to a preset number, the terrain model can be determined according to the position of the at least one landing foot; when the number of at least one landing foot is less than the preset number, the attitude of any one of the at least one landing foot can be determined according to the attitude parameters of the at least one part, and the position of at least one predicted ground point can be determined according to the position and attitude of the landing foot, and the terrain model can be determined according to the position of the at least one landing foot and the position of the at least one predicted ground point, wherein the sum of the number of the at least one predicted ground point and the number of the at least one landing foot is equal to or greater than the preset number.

[0087] For example, solving for the unknown parameters of a terrain model requires three location coordinates on the ground. If there are three or more landing feet, the unknown parameters of the terrain model can be solved based on the positions of these landing feet. If there are two landing feet (e.g., a humanoid robot), the position of at least one predicted ground point can be determined based on the position and orientation of one of the landing feet. Then, the unknown parameters of the terrain model can be solved based on the positions of these landing feet and these predicted ground points.

[0088] The attitude of the landing foot can include at least one of the following: heading angle, pitch angle, and roll angle in the world coordinate system. The predicted ground point can be a point on the plane where the landing foot is located, such as a point at a preset distance from the landing foot's position.

[0089] In this embodiment, by determining the predicted ground points, even when the number of landing feet is less than a preset number, or even when the total number of the robot's feet is less than a preset number, the terrain model can still be accurately determined, and terrain detection can be completed. Especially when solving the unknown parameters of the terrain model requires three or more coordinates on the ground, the humanoid robot can also perform terrain detection based on two landing feet, thereby reducing the difficulty of terrain detection for humanoid robots, especially the terrain near the soles of the feet, without adding extra components or costs.

[0090] Understandably, solving for the unknown parameters of the terrain model using the positions of the landing feet is less efficient and, to some extent, more accurate than solving for the positional parameters of the terrain model using predicted ground points. Therefore, the number of landing foot positions can be increased as much as possible when solving for the positional parameters of the terrain model. That is, if the total number of the robot's feet is greater than or equal to a preset number, the terrain model can be solved when the number of landing feet is greater than or equal to the preset number, i.e., step S101 is executed when the number of landing feet is greater than or equal to the preset number; if the total number of the robot's feet is less than the preset number, the terrain model can be solved when all of the robot's feet are landing feet, i.e., step S101 is executed when all of the robot's feet are landing feet.

[0091] In addition, after determining the terrain model, the robot can be controlled to walk on the ground according to the terrain model.

[0092] The terrain detection method provided in this disclosure obtains the pose parameters of at least one part of the robot, determines the position of at least one landing foot of the robot based on the pose parameters of the at least one part, and finally determines the terrain model based on the position of the at least one landing foot. Since the landing foot is the foot in contact with the ground, the position of the landing foot can represent the position of a point on the ground. That is to say, this disclosure determines the terrain model based on the position of a point on the ground. The determined terrain model is relatively accurate and has high precision, especially since the terrain model represents the terrain near the sole of the foot. Moreover, the position of the landing foot is determined by the pose parameters of at least one part of the robot. The pose parameters of each part of the robot are data already used in related technologies for controlling robot movement. Therefore, this method does not add additional components or costs.

[0093] In some embodiments of this disclosure, the robot is a humanoid robot with two feet (i.e., a left foot and a right foot), one of which is a supporting foot and the other is a swinging foot.

[0094] Please refer to the appendix. Figure 2 The diagram illustrates a humanoid robot walking on an inclined plane, with its left foot as the supporting foot and its right foot as the swinging foot, having just completed its swing and landed. The robot's torso is equipped with an IMU sensor capable of detecting the torso's posture q. b That is, the heading angle q of the torso. yaw Pitch angle q pitch and roll angle q roll Each leg of the robot has three joints: the hip, knee, and ankle. The hip joint has three degrees of freedom, so the angle sensor on the hip joint can collect three joint angles q1, q2, and q3. The knee joint has one degree of freedom, so the angle sensor on the knee joint can collect one joint angle q4. The knee joint also has one degree of freedom, so the angle sensor on the knee joint can collect one joint angle q5. The posture of the left leg is q... l =(q l1 q l2 q l3 q l4 q l5 The posture of the right leg q r =(q r1 q r2 q r3 q r4 q r5 The robot's feet are shaped like ice skates, so the position of the ankle joint can represent the position of the foot, and the position of the foot can represent the coordinates of the position on the ground beneath its feet.

[0095] An inclined plane in three-dimensional space can be represented by the following terrain model: z = a + bx + cy, p = (x, y, z) represents the coordinates of any point on the inclined plane, and a, b, and c are unknown parameters of the terrain model. Determining these unknown parameters is sufficient to fully describe the characteristics of the inclined plane. Since the terrain model has three unknown parameters, knowing the spatial coordinates of these three points on the inclined plane is enough to derive the terrain model.

[0096] Since the humanoid robot has two legs and the terrain model has three unknown parameters, the posture parameters of at least one part of the robot can be obtained when both of the robot's legs are on the ground.

[0097] For example, the first contact force F between the support leg and the ground in the vertical direction can be obtained first. st and the second contact force F between the swinging foot and the ground in the vertical direction sw Then, in the second contact force F sw Greater than the first contact force F st And the second contact force F sw Contact force F st The difference is greater than the preset force threshold F thr (And when the first contact force and the second contact force are within the range of the support force, and the range of the support force is the range of the contact force when the foot contacts the ground), obtain the posture parameters of at least one part of the robot. Figure 2 The robot is in the bipedal support phase (i.e., the moment after the swing leg lands but before the supporting leg lifts up). When the swing leg lands and enters the bipedal support phase, the swing leg needs to go through a process of incomplete contact to complete contact. During incomplete contact, the swing leg is not fully in contact with the ground, causing the position information of the swing leg's ankle joint to not represent the terrain information. However, when the second contact force F... sw Greater than the first contact force F st The difference is greater than the preset force threshold F. t□r At that moment, the swinging foot makes full contact with the ground.

[0098] In the appendix Figure 2 In the scenario depicting a humanoid robot walking, when determining the positions of the supporting foot and the swinging foot, the position P of the supporting foot can be... st1 As the origin of the world coordinate system, P st1 = (0, 0, 0), and determine the coordinates P of the swing foot in the world coordinate system according to the following formula. sw :P sw =f2(q b q l q r ), where f2 is the coordinate transformation function between the supporting foot and the swinging foot.

[0099] Furthermore, when determining the terrain model based on the position of the supporting foot and the position of the swinging foot, the posture of the supporting foot can be determined first based on the posture parameters of the at least one part; then, the position of at least one predicted ground point can be determined based on the position and posture of the supporting foot; finally, the terrain model can be determined based on the position of the supporting foot, the position of the swinging foot, and the position of the at least one predicted ground point.

[0100] When determining the positions of the supporting foot and the swing foot, the position P of the supporting foot can be considered. st1 As the origin of the world coordinate system, P st1 = (0, 0, 0), and determine the coordinates P of the swing foot in the world coordinate system according to the following formula. sw :P sw =f2(q b q l q r ), where f2 is the coordinate transformation function between the supporting foot and the swinging foot.

[0101] The attitude of the support foot can be determined according to the following formulas: the pitch angle θ and yaw angle of the support foot in the world coordinate system. (Since the foot is shaped like an ice skate (i.e., a line in the diagram, not a plane), there is no need to determine the roll angle):

[0102]

[0103] Where f1 is a pre-calibrated function used to calculate the posture of the supporting foot.

[0104] Furthermore, the coordinates P of the predicted ground point, located a unit distance from the support foot along the direction of the support foot, can be determined using the following formula. st2 :

[0105] p st2 =(cos(θ)cos(φ), cos(θ)sin(φ), sin(θ))

[0106] At this point, the coordinates of the three points P on the inclined plane are available. st1 = (x1, y1, z1), P st2 = (x2, y2, z2), P sw = (x3, y3, z3), substituting these into the terrain model z = a + bx + cy yields the three unknown parameters:

[0107]

[0108] After determining the terrain model, the robot can be controlled to walk on the ground based on the terrain model; that is, the terrain model can be used for robot gait planning and control. Furthermore, after controlling the robot to walk on the ground based on the terrain model (specifically, after generating and executing the next walking command), the supporting leg can be switched to a swing leg, and the swing leg can be switched to a supporting leg.

[0109] This embodiment updates the terrain model each time the robot enters a bipedal support phase and uses the updated model to control the next step of walking. In other words, during the humanoid robot's walking process, the terrain model is updated after each step, and the updated model is used to control the next step. This allows the humanoid robot to accurately and efficiently complete terrain detection, especially the terrain detection near its feet, without adding components such as cameras or LiDAR.

[0110] According to a second aspect of the present disclosure, a terrain detection device is provided for use in a robot. Please refer to the attached drawing. Figure 3 The device includes:

[0111] The acquisition module 301 is used to acquire the posture parameters of at least one part of the robot;

[0112] The position module 302 is used to determine the position of at least one landing foot of the robot based on the posture parameters of the at least one part, wherein the landing foot is the foot in contact with the ground;

[0113] The terrain module 303 is used to determine a terrain model based on the position of the at least one landing foot, wherein the terrain model is used to characterize the terrain of the ground under the robot's feet.

[0114] In some embodiments of this disclosure, the robot's torso is equipped with an IMU sensor, and the robot's leg joints are equipped with angle sensors;

[0115] The acquisition module is specifically used for:

[0116] The attitude angles acquired by the IMU sensor and the joint angles acquired by the angle sensor are obtained.

[0117] In some embodiments of this disclosure, when the acquisition module acquires the joint angle collected by the angle sensor, it is specifically used for:

[0118] The robot acquires joint angles from angle sensors on the hip, knee, and ankle joints of at least one of its landing feet.

[0119] In some embodiments of this disclosure, the location module is specifically used for:

[0120] The position of any one of the robot's at least one landing foot is taken as the origin of the world coordinate system, and the coordinates of the robot's other landing feet in the world coordinate system are determined based on the attitude parameters of the at least one part.

[0121] In some embodiments of this disclosure, the terrain module is specifically used for:

[0122] If the number of at least one landing foot is greater than or equal to a preset number, the terrain model is determined based on the location of the at least one landing foot;

[0123] If the number of at least one landing foot is less than the preset number, the posture of any one of the at least one landing foot is determined according to the posture parameters of the at least one part, and the position of at least one predicted ground point is determined according to the position and posture of the landing foot, and the terrain model is determined according to the position of the at least one landing foot and the position of the at least one predicted ground point, wherein the sum of the number of the at least one predicted ground point and the number of the at least one landing foot is equal to or greater than the preset number.

[0124] In some embodiments of this disclosure, the robot is a humanoid robot;

[0125] The acquisition module is specifically used for:

[0126] With both feet of the robot on the ground, obtain the posture parameters of at least one part of the robot.

[0127] In some embodiments of this disclosure, one of the robot's two feet is a supporting foot, and the other foot is a swinging foot;

[0128] The acquisition module is used to acquire posture parameters of at least one part of the robot when both of the robot's feet are on the ground. Specifically, it is used to:

[0129] The first contact force between the supporting foot and the ground in the vertical direction and the second contact force between the swinging foot and the ground in the vertical direction are obtained.

[0130] When the second contact force is greater than the first contact force, and the difference between the second contact force and the first contact force is greater than a preset force threshold, the posture parameters of at least one part of the robot are obtained.

[0131] In some embodiments of this disclosure, the terrain module is specifically used for:

[0132] The posture of the supporting foot is determined based on the posture parameters of at least one of the parts.

[0133] Based on the position and orientation of the supporting feet, determine the position of at least one predicted ground point;

[0134] The terrain model is determined based on the position of the supporting foot, the position of the swinging foot, and the position of at least one predicted ground point.

[0135] In some embodiments of this disclosure, a walking module is also included, for:

[0136] The robot is controlled to walk on the ground based on the terrain model.

[0137] In some embodiments of this disclosure, the walking module is further configured to:

[0138] After controlling the robot to walk on the ground according to the terrain model, the supporting leg is switched to a swing leg, and the swing leg is switched to a supporting leg.

[0139] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments of the method in the first aspect, and will not be elaborated upon here.

[0140] According to a third aspect of the present disclosure, a robot is provided, the robot comprising at least two leg structures, each leg structure including a foot, the robot being used to implement the terrain detection method described in the first aspect.

[0141] According to the fourth aspect of the embodiments of this disclosure, please refer to the appendix. Figure 4 The diagram illustrates, for example, a block diagram of an electronic device. For instance, device 400 could be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.

[0142] Reference Figure 4 The device 400 may include one or more of the following components: a processing component 402, a memory 404, a power supply component 406, a multimedia component 408, an audio component 410, an input / output (I / O) interface 412, a sensor component 414, and a communication component 416.

[0143] Processing component 402 typically controls the overall operation of device 400, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 402 may include one or more processors 420 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 402 may include one or more modules to facilitate interaction between processing component 402 and other components. For example, processing component 402 may include a multimedia module to facilitate interaction between multimedia component 408 and processing component 402.

[0144] Memory 404 is configured to store various types of data to support the operation of device 400. Examples of this data include instructions for any application or method operating on device 400, contact data, phonebook data, messages, pictures, videos, etc. Memory 404 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0145] The power supply component 406 provides power to the various components of the device 400. The power supply component 406 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device 400.

[0146] Multimedia component 408 includes a screen that provides an output interface between the device 400 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 408 includes a front-facing camera and / or a rear-facing camera. When the device 400 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0147] Audio component 410 is configured to output and / or input audio signals. For example, audio component 410 includes a microphone (MIC) configured to receive external audio signals when device 400 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 404 or transmitted via communication component 416. In some embodiments, audio component 410 also includes a speaker for outputting audio signals.

[0148] I / O interface 412 provides an interface between processing component 402 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.

[0149] Sensor assembly 414 includes one or more sensors for providing status assessments of various aspects of device 400. For example, sensor assembly 414 may detect the on / off state of device 400, the relative positioning of components such as the display and keypad of device 400, changes in position of device 400 or a component of device 400, the presence or absence of user contact with device 400, orientation or acceleration / deceleration of device 400, and temperature changes of device 400. Sensor assembly 414 may also include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 414 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 414 may also include an accelerometer, a gyroscope, a magnetometer, a pressure sensor, or a temperature sensor.

[0150] Communication component 416 is configured to facilitate wired or wireless communication between device 400 and other devices. Device 400 can access wireless networks based on communication standards, such as WiFi, 2G or 3G, 4G or 5G, or combinations thereof. In one exemplary embodiment, communication component 416 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 416 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0151] In an exemplary embodiment, the device 400 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the distance detection method of the aforementioned electronic device.

[0152] Fifthly, in exemplary embodiments, this disclosure also provides a non-transitory computer-readable storage medium including instructions, such as a memory 404 including instructions, which can be executed by a processor 420 of the device 400 to complete the distance detection method of the electronic device described above. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0153] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0154] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A terrain detection method, characterized in that, Applied to robots, the method includes: Obtain the posture parameters of at least one part of the robot; Based on the posture parameters of the at least one part, the position of at least one landing foot of the robot is determined, wherein the landing foot is the foot in contact with the ground; Based on the position of the at least one landing foot, a terrain model is determined, wherein the terrain model is used to characterize the terrain of the ground under the robot's feet; Determining the terrain model based on the location of the at least one landing foot includes: If the number of at least one landing foot is greater than or equal to a preset number, the terrain model is determined based on the location of the at least one landing foot; If the number of at least one landing foot is less than the preset number, the posture of any one of the at least one landing foot is determined according to the posture parameters of the at least one part, and the position of at least one predicted ground point is determined according to the position and posture of the landing foot, and the terrain model is determined according to the position of the at least one landing foot and the position of the at least one predicted ground point, wherein the sum of the number of the at least one predicted ground point and the number of the at least one landing foot is equal to or greater than the preset number, and the predicted ground point is a point on the plane where the landing foot is located.

2. The terrain detection method according to claim 1, characterized in that, The robot's torso is equipped with an IMU sensor, and the robot's leg joints are equipped with angle sensors; The process of obtaining the posture parameters of at least one part of the robot includes: The attitude angles acquired by the IMU sensor and the joint angles acquired by the angle sensor are obtained.

3. The terrain detection method according to claim 2, characterized in that, The process of acquiring the joint angle collected by the angle sensor includes: The robot acquires joint angles from angle sensors on the hip, knee, and ankle joints of at least one of its landing feet.

4. The terrain detection method according to claim 1, characterized in that, Determining the position of at least one landing foot of the robot based on the posture parameters of the at least one part includes: The position of any one of the robot's at least one landing foot is taken as the origin of the world coordinate system, and the coordinates of the robot's other landing feet in the world coordinate system are determined based on the attitude parameters of the at least one part.

5. The terrain detection method according to any one of claims 1 to 4, characterized in that, The robot is a humanoid robot; The process of obtaining the posture parameters of at least one part of the robot includes: With both feet of the robot on the ground, obtain the posture parameters of at least one part of the robot.

6. The terrain detection method according to claim 5, characterized in that, One of the robot's two feet is a supporting foot, and the other foot is a swinging foot; When both feet of the robot are on the ground, obtaining the posture parameters of at least one part of the robot includes: The first contact force between the supporting foot and the ground in the vertical direction and the second contact force between the swinging foot and the ground in the vertical direction are obtained. When the second contact force is greater than the first contact force, and the difference between the second contact force and the first contact force is greater than a preset force threshold, the posture parameters of at least one part of the robot are obtained.

7. The terrain detection method according to claim 6, characterized in that, Determining the terrain model based on the location of the at least one landing foot includes: The posture of the supporting foot is determined based on the posture parameters of at least one of the parts. Based on the position and orientation of the supporting feet, determine the position of at least one predicted ground point; The terrain model is determined based on the position of the supporting foot, the position of the swinging foot, and the position of at least one predicted ground point.

8. The terrain detection method according to claim 6, characterized in that, Also includes: The robot is controlled to walk on the ground based on the terrain model.

9. The terrain detection method according to claim 6, characterized in that, After controlling the robot to walk on the ground according to the terrain model, the method further includes: Switch the supporting leg to a swing leg, and then switch the swing leg to a supporting leg.

10. A terrain detection device, characterized in that, The device, applied to robots, includes: An acquisition module is used to acquire the posture parameters of at least one part of the robot; A position module is used to determine the position of at least one landing foot of the robot based on the posture parameters of the at least one part, wherein the landing foot is the foot in contact with the ground; A terrain module is used to determine a terrain model based on the position of the at least one landing foot, wherein the terrain model is used to characterize the terrain of the ground under the robot's feet; The terrain module is specifically used for: If the number of at least one landing foot is greater than or equal to a preset number, the terrain model is determined based on the location of the at least one landing foot; If the number of at least one landing foot is less than the preset number, the posture of any one of the at least one landing foot is determined according to the posture parameters of the at least one part, and the position of at least one predicted ground point is determined according to the position and posture of the landing foot, and the terrain model is determined according to the position of the at least one landing foot and the position of the at least one predicted ground point, wherein the sum of the number of the at least one predicted ground point and the number of the at least one landing foot is equal to or greater than the preset number, and the predicted ground point is a point on the plane where the landing foot is located.

11. The terrain detection device according to claim 10, characterized in that, The robot's torso is equipped with an IMU sensor, and the robot's leg joints are equipped with angle sensors; The acquisition module is specifically used for: The attitude angles acquired by the IMU sensor and the joint angles acquired by the angle sensor are obtained.

12. The terrain detection device according to claim 11, characterized in that, When the acquisition module acquires the joint angle collected by the angle sensor, it is specifically used for: The robot acquires joint angles from angle sensors on the hip, knee, and ankle joints of at least one of its landing feet.

13. The terrain detection device according to claim 10, characterized in that, The location module is specifically used for: The position of any one of the robot's at least one landing foot is taken as the origin of the world coordinate system, and the coordinates of the robot's other landing feet in the world coordinate system are determined based on the attitude parameters of the at least one part.

14. The terrain detection device according to any one of claims 10 to 13, characterized in that, The robot is a humanoid robot; The acquisition module is specifically used for: With both feet of the robot on the ground, obtain the posture parameters of at least one part of the robot.

15. The terrain detection device according to claim 14, characterized in that, One of the robot's two feet is a supporting foot, and the other foot is a swinging foot; The acquisition module is used to acquire posture parameters of at least one part of the robot when both of the robot's feet are on the ground. Specifically, it is used to: The first contact force between the supporting foot and the ground in the vertical direction and the second contact force between the swinging foot and the ground in the vertical direction are obtained. When the second contact force is greater than the first contact force, and the difference between the second contact force and the first contact force is greater than a preset force threshold, the posture parameters of at least one part of the robot are obtained.

16. The terrain detection device according to claim 15, characterized in that, The terrain module is specifically used for: The posture of the supporting foot is determined based on the posture parameters of at least one of the parts. Based on the position and orientation of the supporting feet, determine the position of at least one predicted ground point; The terrain model is determined based on the position of the supporting foot, the position of the swinging foot, and the position of at least one predicted ground point.

17. The terrain detection device according to claim 15, characterized in that, It also includes a walking module, used for: The robot is controlled to walk on the ground based on the terrain model.

18. The terrain detection device according to claim 17, characterized in that, The walking module is also used for: After controlling the robot to walk on the ground according to the terrain model, the supporting leg is switched to a swing leg, and the swing leg is switched to a supporting leg.

19. A robot, characterized in that, The robot includes at least two leg structures, each leg structure including a foot, and the robot is used to implement the terrain detection method according to any one of claims 1 to 9.

20. An electronic device, characterized in that, The electronic device includes a memory and a processor. The memory is used to store computer instructions that can be executed on the processor, and the processor is used to implement the terrain detection method according to any one of claims 1 to 9 when executing the computer instructions.

21. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method of any one of claims 1 to 9.

Citation Information

Patent Citations

  • Motion planning method of quadruped robot on complex terrain

    CN107538490A

  • Terrain sensing method and motion control method and system for quadruped robot

    CN112904883A