Robot having multiple legs and landing point determination method thereof

By sensing interference and calculating the appropriate location through the computing device, the robot can stably land and walk on irregular terrain, solving the stability problem in irregular terrain and interference.

CN120152824APending Publication Date: 2025-06-13RAINBOW KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380078744.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-11-14
Filing Date
2023-09-14
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

On irregular terrain, it is difficult for robots to land their legs in place and walk stably, especially when there is interference during the swing of their legs, making it difficult to maintain their posture.

Method used

Through the method executed by the computing device, interference is perceived, the second place is calculated based on the dynamic state of the robot, the landing obstacle area is identified, and whether the second place belongs to the obstacle area. If it belongs, calculate the third place where the barrier area is separated as the first leg to be the place where the first leg is.

Benefits of technology

The robot legs are properly landed and stable on irregular terrain, and can cope with interference while the legs are swinging and maintain a stable posture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120152824A_ABST
    Figure CN120152824A_ABST
Patent Text Reader

Abstract

The invention provides a robot having a plurality of legs and a landing point determination method thereof. The method for determining the landing point of the robot is executed by a calculation device, and comprises the following steps of: sensing interference in a process of swinging a first leg of the robot to a first landing point; a step of calculating a second landing point based on a dynamic state of the robot in response to perceiving the disturbance; a step of identifying a step obstacle region on the basis of topographic information of the robot, and determining whether the second landing point belongs to the step obstacle region; and determining, as the landing point of the first leg, a third landing point separated from the landing obstacle region if the second landing point belongs to the landing obstacle region.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot having multiple legs and a method for determining a landing point thereof. More specifically, it relates to a robot having multiple legs and a method for determining a landing point thereof, which lands the legs at appropriate positions on the ground when the swing legs of the robot are activated. Background Art

[0002] A robot is a multi-functional manipulator that performs specific actions and operations through programmed variable motion modes. Robots are widely used in various fields such as manufacturing, transportation, exploration, medical treatment, monitoring, or patrol.

[0003] A robot can be configured to be physically fixed at a specific position, such as an industrial robotic arm, but can also be configured to be movable with one or more legs or wheels. Compared with a fixed robot, a movable robot can be more widely utilized and applied.

[0004] As a representative example of a movable robot is a multi-legged robot having one or more legs. Since a multi-legged robot needs to avoid stepping on or colliding with obstacles as much as possible during movement, a walking control technology is required to avoid contact with obstacles while stably maintaining the balance and speed of the robot. Summary of the Invention

[0005] Technical Problem The technical problem to be solved by the embodiments of the present invention is to provide a robot and a method for determining a landing point thereof, which can land the legs at appropriate positions on the ground and can walk and move even on irregular terrains.

[0006] Another technical problem to be solved by the embodiments of the present invention is to provide a robot and a method for determining a landing point thereof, which can land the swing legs at appropriate positions and can stably maintain the posture even when there is interference during the swing of the legs.

[0007] The technical problems to be solved by the present invention are not limited to the technical problems described above, and other technical problems not mentioned can be clearly understood by those of ordinary skill in the technical field of the present invention through the following description.

[0008] Technical Solution To solve the above technical problems, a method for determining a landing point of a robot according to an embodiment of the present invention is executed by a computing device and includes: a step of sensing interference during the swinging of the first leg of the robot towards a first landing point; a step of calculating a second landing point based on the dynamic state of the robot in response to the sensed interference; a step of identifying a step obstacle region based on the terrain information of the robot, and determining whether the second landing point belongs to the step obstacle region; and a step of determining a third landing point that is out of the step obstacle region as the landing point of the first leg if the second landing point belongs to the step obstacle region.

[0009] As an embodiment, the determining step includes: a step of identifying a region with a height difference greater than or equal to a first threshold from the lifting position of the first leg as the step obstacle region.

[0010] As an embodiment, the determining step includes: a step of identifying a region with a slope greater than or equal to a second threshold as the step obstacle region.

[0011] As an embodiment, the determining step selectively identifies a region with a height difference greater than or equal to a third threshold from the first landing point as the step obstacle region according to the swinging state of the first leg.

[0012] As an embodiment, in the determining step, if the swinging state is the landing phase, a region with a height difference greater than or equal to the third threshold from the first landing point is identified as the step obstacle region.

[0013] As an embodiment, in the determining step, if the swinging state is the lifting phase, a region with a height difference greater than or equal to the third threshold from the first landing point is identified as a non-step obstacle region.

[0014] As an embodiment, the determining step includes a step of calculating the third landing point based on the first landing point, the second landing point, and the step obstacle region.

[0015] As an embodiment, the step of calculating the third landing point includes a step of identifying a point that does not belong to the step obstacle region among the points where the line connecting the first landing point and the second landing point is projected onto the ground.

[0016] As an embodiment, in the step of calculating the third landing point, a point that is greater than or equal to a fourth threshold away from the step obstacle region and is the closest to the second landing point among the identified points is calculated as the third landing point.

[0017] To solve the above technical problems, a robot with multiple legs according to an embodiment of the present invention includes: a processor; an internal memory for loading a computer program executed by the processor; and an external memory for storing the computer program, and the computer program includes instructions for performing the following operations: during the swing of the first leg of the robot towards the first landing point, sense interference; in response to the sensed interference, calculate a second landing point based on the dynamic state of the robot; identify a step obstacle region based on the terrain information of the robot, and determine whether the second landing point belongs to the step obstacle region; and if the second landing point belongs to the step obstacle region, determine a third landing point that is out of the step obstacle region as the landing point of the first leg.

[0018] Technical effects According to the above embodiments of the present invention, a robot capable of landing its legs at an appropriate position on the ground and capable of walking and moving even on irregular terrains and a method for determining the landing point thereof are provided.

[0019] Moreover, during the swing of the robot leg, even if there is interference, the swinging leg can land at an appropriate position and the posture can be stably maintained.

[0020] The technical effects of the present invention are not limited to the above-described technical effects, and those of ordinary skill in the technical field of the present invention can clearly understand other technical effects not mentioned through the following description. Description of the drawings

[0021] Figure 1 A schematic diagram showing an exemplary form of a robot with multiple legs according to an embodiment of the present invention.

[0022] Figure 2 A drawing for supplementarily explaining the swing period when the robot walks.

[0023] Figure 3 A flowchart showing a method for determining the landing point of a robot according to an embodiment of the present invention.

[0024] Figures 4 to 7 For supplementarily explaining with a specific example Figure 3 of the embodiment.

[0025] Figure 8 For showing Figure 3 a flowchart of an embodiment in which step S400 is more specific.

[0026] Figures 9 to 13 For supplementarily explaining with a specific example Figure 8 of the embodiment.

[0027] Figure 14 A flowchart showing an embodiment that further specifies step S500 of Figure 3 .

[0028] Figure 15 A flowchart showing an embodiment that further specifies step S510 of Figure 14 .

[0029] Figures 16 to 18 An accompanying drawing that supplements and illustrates the embodiment of Figure 15 by way of specific examples.

[0030] Figure 19 A block diagram showing an exemplary hardware structure of a computing device for implementing various embodiments of the present invention. Detailed Description of the Invention

[0031] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The advantages, features, and methods for achieving the present invention will become more apparent with reference to the embodiments described in detail together with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments and can be implemented in various different forms. The following embodiments are provided to make the technical idea of the present invention complete and to clearly inform those of ordinary skill in the technical field of the present invention of the scope of the present invention. Therefore, the technical idea of the present invention is defined by the scope of the claims. Figure 1 It should be noted that when attaching reference signs to the components of each drawing, the same reference signs are preferably given to the same components even if they are shown in different drawings. Also, when explaining the present invention, if a detailed description of a related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof is omitted.

[0032] Unless otherwise defined, all terms (including technical and scientific terms) used in this specification are used in the sense commonly understood by those of ordinary skill in the technical field of the present invention. Also, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly specifically defined. The terms used in this specification are for the purpose of describing the embodiments and do not limit the present invention. In this specification, unless otherwise specified in the text, the singular form also includes the plural form.

[0033]

[0034] ​Also, when describing the components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. The above terms are only used to distinguish the component from other components, and the terms do not limit the essence or order of the corresponding component. If a component is described as "connected" or "coupled" to another component, it should be understood that the component is directly or connected to the other component, and it can also be understood that each component is "connected", "coupled" or "connected" to yet another component.

[0035] Hereinafter, several embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0036] Figure 1 A schematic diagram showing an exemplary form of a robot with multiple legs according to an embodiment of the present invention. Refer to Figure 1 , the robot 100 is a robot that can move by walking, and can be like Figure 1 a humanoid robot with two legs, or can be like Figure 2 b a quadruped robot in the shape of a dog or horse.

[0037] However, the scope of the present invention is not limited to the form of the robot shown in Figure 1 . For example, the robot 100 has three, five, or more legs, and can form various shapes in addition to the humanoid or quadruped shape.

[0038] Refer to Figure 1 , the robot 100 includes a main body 110 and two or more legs 120. Each leg 120 is coupled to the main body 110 and has an upper part and a lower part separated by leg joints.

[0039] As an embodiment, the robot 100 may further include: one or more accessories such as an articulated arm that is disposed on the main body 110 and is movably configured with respect to the main body 110. One or more actuators for grasping / holding an object may be provided at the end of the articulated arm.

[0040] The robot 100 may include a vision system having one imaging sensor or camera, and each sensor or camera collects image data or sensor data on the surrounding environment and terrain of the robot 100. In order to move the field of view of the robot 100 in any direction, the vision system can pan or tilt the camera. The image data or sensor data collected by the camera or sensor of the vision system is provided to the central processing unit of the robot 100.

[0041] Each leg 120 of the robot 100 swings according to a pre-planned trajectory to move by walking. The swing period of the leg 120 includes a lifting phase and a touchdown phase. The lifting phase refers to the interval during which the leg in contact with the ground is lifted to the highest point of the swing trajectory, and the touchdown phase refers to the interval during which the leg descends from the highest point of the swing trajectory to land (or touch down) on the ground.

[0042] The following will refer to Figure 2 for a detailed description.

[0043] Refer to Figure 2 , which shows the swing period of the leg when the robot walks. The swing period of the leg starts from the time t0 when the leg lands on the ground and ends at t2 when the leg swings to the highest point at t1 and then lands on the ground again.

[0044] At this time, the interval from time t0 to t1 when the leg is lifted from the ground to the highest point is the lifting phase, and the interval from t1 to t2 when the leg descends from the highest point and lands on the ground again is the touchdown phase.

[0045] Figure 3 It is a flowchart showing the method for determining the touchdown position of the robot according to an embodiment of the present invention. Figure 3 The touchdown point determination method of Figure 1 can be executed by the robot 100 of

[0046] In step S100, the swing of the first leg of the robot towards the first touchdown point is disclosed. Here, the first touchdown point is the next position where the first leg of the robot is to land, which refers to a position on the pre-planned ground. Here, the first leg can be Figure 1 one of the legs 120 shown in

[0047] Refer to Figure 4 for a detailed description. Figure 4 shows a terrain including two regions 10 and 20 with different heights from each other. An inclined plane 30 can be formed between the first region 10 and the second region 20.

[0048] Here, it is assumed that the robot walks from the second region 20 to the first region 10. For this walking movement, the robot lifts the first leg placed in the second region 20 and moves the first leg along the pre-planned swing trajectory and places it at a specific position in the first region 10, where it is placed at the first touchdown point A, and establishes its own walking plan.

[0049] In step S200, a disturbance is detected during the swinging of the first leg of the robot towards the first landing point.

[0050] When the robot raises the first leg and swings it towards the first landing point A according to the walking plan, a disturbance applied to the robot may be detected. The disturbance described herein may include an external impact force or an action error of an internal component of the robot. Depending on the type and intensity of the disturbance, it may affect the robot's walking.

[0051] In step S300, in response to the detected disturbance, a second landing point is calculated based on the dynamic state of the robot.

[0052] If the detected disturbance is a disturbance that has a slight impact on walking, the robot can ignore the disturbance and continue to move towards the first landing point A according to the original plan.

[0053] However, when the detected disturbance may affect the walking stability, in order to maintain the robot's posture stability, it is necessary to re-determine the landing position of the first leg based on the detected disturbance.

[0054] In this case, the robot recalculates the landing position of the first leg based on its own dynamic state, that is, the second landing point.

[0055] As an embodiment, the dynamic state may include the postures, positions or states of the joints of the robot, the speeds or accelerations of the components connected to the joints, and the center of gravity of the robot, etc. The specific definition and type of the dynamic state are well-known techniques in this technical field and will not be elaborated here.

[0056] For this, a supplementary description is given in combination with Figure 5 to make a supplementary explanation. Figure 5 The second landing point B obtained by recalculation based on the dynamic state of the robot is shown.

[0057] When the robot detects a disturbance greater than or equal to the threshold during the swinging of the first leg towards the first landing point A, if the first leg is continued to be moved to the first landing point A along the original path, it may cause the robot's posture to become unstable and lead to tipping or other abnormal movements. Therefore, in this case, in order to maintain the robot's posture stability, it is necessary to calculate a new landing point - the second landing point B as the touchdown position of the first leg based on the current dynamic state.

[0058] In step S400, based on the terrain information of the robot, a step obstacle region is identified, and it is judged whether the second landing point B belongs to the obstacle region.

[0059] As an embodiment, the terrain information can be obtained through Figure 1The visual system collects or recognizes data that reflects the terrain features of the robot 100's surrounding environment.

[0060] Since the second landing point B is a position calculated based on the robot's dynamic state with the goal of stabilizing its posture, it may be in an obstacle area that the robot should not step on (such as a cliff or a maintenance well, etc.). If the first leg lands on the second landing point B in this case, it may cause serious problems such as the robot becoming unbalanced and tipping over or falling, so it is necessary to determine whether the second landing point B belongs to the landing obstacle area.

[0061] Combined with this Figure 6 Provide additional explanation. Figure 6 4 shows the second landing point B and the foothold obstacle area 40 identified based on the terrain information. The foothold obstacle area 40 is a stepping restricted area that the robot should avoid, and may include, for example, an area where the height difference from the first leg lifting position is greater than or equal to a first threshold, an area where the terrain slope is greater than or equal to a second threshold, or an area where the height difference from the first landing point A is greater than or equal to a third threshold, etc.

[0062] The lifting position here refers to the position where the first leg originally touches the ground before the first leg starts to swing, that is, the starting point where the first leg starts to perform the swing (lifting) action. Figure 8 The following sections explain this in more detail.

[0063] In this embodiment, if Figure 6 As shown, it is assumed that the second landing point B belongs to the footfall obstacle area 40.

[0064] In step S500, if it is determined that the second landing point belongs to the landing obstacle area, a third landing point that is out of the landing obstacle area is determined as the final landing position of the first leg.

[0065] As mentioned above, when the second landing point B is located in the foot barrier area 40, if the first leg is placed at this position, it may cause a serious risk of the robot becoming unbalanced and tipping over or falling.

[0066] Therefore, in order to avoid risks, it is necessary to calculate a predetermined position out of the footfall obstacle area 40 as the third landing point, and determine the third landing point as the final touchdown position of the first leg.

[0067] Combined with this Figure 7 Provide additional explanation. Figure 7 The example of calculating a specific point out of the footfall obstacle area 40 as the third footfall point C is shown. Figure 7 In the example, the first leg of the robot 100 moves toward the third landing point C and completes touching the ground at the third landing point C.

[0068] As an embodiment, the third touchdown point C may be located at a position between the first touchdown point A and the second touchdown point B. The specific calculation method for the third touchdown point C will be described in detail in the Figure 14 subsequent part.

[0069] Figure 8 is a refinement Figure 3 flowchart of an embodiment of step S400. In the Figure 8 embodiment, a specific method for identifying the footfall obstacle area is described. Although Figure 8 the embodiment records the sequential execution process of steps S410 to S440, the scope of the present invention is not limited thereto. For example, the execution order of steps S410, S420, and S430 may be interchanged with each other, or some steps may be omitted. The following will be described with reference to the accompanying drawings.

[0070] In step S410, an area with a height difference greater than or equal to the first threshold from the lifting position of the first leg is identified as the footfall obstacle area.

[0071] As described above, the lifting position refers to the position where the first leg touches the ground before the start of the swing of the first leg, that is, the starting point where the first leg starts to perform the swing and lift action.

[0072] Generally, if the height difference between the lifting position of the first leg of the robot and the touchdown point is too large, it may cause attitude instability due to limited swing amplitude or excessive swing. Therefore, when the robot is walking, preferably, an area with a too large height difference from the lifting position should be avoided from being stepped on.

[0073] Here, the area with a height difference greater than or equal to the first threshold from the lifting position includes an area higher than the lifting position by more than the first threshold or an area lower than the lifting position by more than the first threshold.

[0074] For this, a supplementary explanation is given in combination with Figure 9 .

[0075] Referring to Figure 9 , a plurality of areas 71, 72, 73 with different heights are shown. The third area 71 includes the position where the first leg touches the ground before the start of the swing, that is, the lifting position L of the first leg. The fourth area 72 is an area higher than the third area 71 by h1, and the fifth area 73 is an area higher than the third area 71 by h2.

[0076] In this case, if the first threshold as the determination criterion for the footfall obstacle area is less than h1, both the fourth area 72 and the fifth area 73 are identified as the footfall obstacle areas.

[0077] In another example, if the first threshold value used as the determination criterion for the foothold obstacle area is greater than h1 and less than h2, the fourth area 72 is not recognized as the foothold obstacle area, while the fifth area 73 is still recognized as the foothold obstacle area.

[0078] In yet another example, if the first threshold value used as the determination criterion for the foothold obstacle area is greater than h2, neither the fourth area 72 nor the fifth area 73 is recognized as the foothold obstacle area.

[0079] It should be noted that Figure 9 Only the case of recognizing the area above the first threshold value of the lifting position as the foothold obstacle area is exemplified, but it equally applies to the case of recognizing the area below the first threshold value of the lifting position as the foothold obstacle area. In this regard, a supplementary explanation is provided in conjunction with Figure 10 for supplementary explanation.

[0080] Figure 10 Assume that the lifting position L is within the fifth area 73.

[0081] In this case, if the first threshold value used as the determination criterion is less than h2 - h1, both the third area 71 and the fourth area 72 are recognized as the foothold obstacle areas.

[0082] In another example, if the first threshold value used as the determination criterion for the foothold obstacle area is greater than h2 - h1 and less than h2, the fourth area 72 is not recognized as the foothold obstacle area, but the third area 71 is still recognized as the foothold obstacle area.

[0083] In yet another example, if the first threshold value used as the determination criterion for the foothold obstacle area is greater than h2, neither the third area 71 nor the fourth area 72 is recognized as the foothold obstacle area.

[0084] In step S420, the area with a slope greater than or equal to the second threshold value is recognized as the foothold obstacle area.

[0085] If the first leg steps on an area with an overly steep slope, it may be due to the first leg being unable to fully support the robot's load or the high slope causing the first leg to slip in the standing posture. Therefore, preferably, the robot should avoid stepping on areas with too large a slope when walking.

[0086] In this regard, a supplementary explanation is provided in conjunction with Figure 10 for supplementary explanation.

[0087] Referring to Figure 10 , areas 81 and 82 with multiple different heights are shown. A sixth area 83 with a nearly vertical high slope is formed between these two areas 81 and 82.

[0088] In this case, if the first leg of the robot steps on the sixth area 83 with a slope greater than or equal to the second threshold (e.g., 40 degrees), it may slip in the standing posture of the first leg due to the inability to fully support the robot load or the high slope of the ground, thus unable to stably support the robot.

[0089] Therefore, the area 83 with a slope greater than or equal to the second threshold is identified as a landing obstacle area.

[0090] In step S430, according to the swinging state of the first leg, the area with a height difference greater than or equal to the third threshold from the first landing point is selectively identified as a landing obstacle area.

[0091] Here, the meaning of selectively identifying a specific area as a landing obstacle area according to the swinging phase of the first leg is: judging whether the area belongs to the obstacle area based on whether the current swinging state is the lifting phase or the landing phase. This is supplemented and explained in combination with Figure 12 for supplementary explanation.

[0092] Figure 12 is a refinement Figure 8 of the flowchart of the embodiment in step S430.

[0093] First, in step S431, the current swinging state of the first leg is identified. If the swinging state of the first leg is in the landing phase, this embodiment enters step S432, and the area with a height difference greater than or equal to the third threshold from the first landing point is identified as a landing obstacle area. On the contrary, if the swinging state of the first leg is in a non-landing phase (i.e., the swinging state of the first leg is the lifting phase), then this embodiment enters step S433, and the area with a height difference greater than or equal to the third threshold from the first landing point will not be identified as a landing obstacle area.

[0094] Therefore, the area with a height difference greater than or equal to the third threshold from the first landing point needs to be dynamically determined whether it is a landing obstacle area according to the swinging state of the first leg, because according to the swinging state of the first leg, the impact on the attitude stability of the robot when stepping on the area greater than or equal to the third threshold is different.

[0095] For example, when the first leg of the robot is in the lifting phase, even if the landing point position changes, the start of the first leg can still be adaptively adjusted to match the changed landing point. However, if the first leg is in the landing phase, at this time, the first leg is descending towards the original landing point, so the range of change of the landing point is limited. In particular, if the height difference between the original landing point and the changed landing point is too large, when the robot steps on the changed landing point, it is easy to cause the attitude instability of the robot.

[0096] Therefore, it is necessary to first identify the swinging state of the first leg. If the first leg is in the landing stage, the area with a height difference greater than or equal to the third threshold value from the original landing point (such as the first landing point) can be identified as the landing obstacle area. This will be supplemented and explained in combination with Figure 13 for supplementary explanation.

[0097] Figure 13 Regions 91 and 92 at multiple different heights are shown. The original landing point - the first landing point A is located within the seventh region 92. After detecting interference during the start of the first leg and calculating the second landing point B, it is necessary to determine whether the second landing point B belongs to the landing obstacle area.

[0098] In this case, the landing obstacle area is identified based on the height difference from the first landing point A. For example, the region 91 with a height difference greater than or equal to the third threshold value e from the first landing point A is selectively identified as the landing obstacle area according to the swinging state of the first leg. Suppose the swinging state of the first leg is the lifting stage, so as to adaptively adjust the start of the first leg according to the changed landing point. Therefore, the region 91 with a height difference greater than or equal to the third threshold value e from the first landing point A is not identified as the landing obstacle area either. On the contrary, if the swinging state of the first leg is the landing stage, the first leg is already in the process of descending towards the original landing point. Therefore, when the first leg steps on the region 91 with a height difference greater than or equal to the third threshold value e from the first landing point A, the posture of the robot is extremely likely to become unstable. Therefore, when the swinging state of the first leg is the landing stage, the region 91 with a height difference greater than or equal to the third threshold value e or more from the first landing point A is identified as the landing obstacle area.

[0099] Figure 14 To represent Figure 3 a flowchart of an embodiment for a more detailed description of step S500 Figure 14 In the embodiment of

[0100] Figures 15 to 18 an exemplary method for calculating the third landing point from outside the landing obstacle area when the second landing point belongs to the landing obstacle area is described.

[0101] Figure 15 To represent Figure 14 a flowchart of an embodiment for a more detailed description of step S510

[0102] First, in step S511, identify the line connecting the first landing point A and the second landing point B.

[0103] ​In step S512, the location on the ground corresponding to the recognized line, for example, the location in the projected location of the recognized line on the ground that does not belong to the footfall obstacle area.

[0104] In step S513, among the recognized locations, the location that is greater than or equal to the fourth threshold distance from the footfall obstacle area and is the closest to the second landing point is calculated as the third landing point.

[0105] Supplementary description of this embodiment will be referred to Figures 16 to 18 .

[0106] Refer to Figure 16 , which shows the terrain marking the first area 10, the second area 20, the inclined plane 30, and the footfall obstacle area 40. The original landing point of the first leg, i.e., the first landing point A, belongs to the first area 10. During the swing of the first leg, interference is sensed, and the second landing point B calculated based on the dynamics of the robot belongs to the second area 20. Here, it is assumed that the second landing point B belongs to the recognized footfall obstacle area 40.

[0107] In this case, the first leg should not step on the second landing point B. Therefore, it is necessary to determine the third landing point among the locations outside the footfall obstacle area 40.

[0108] For this purpose, first, the line 51 connecting the first landing point A and the second landing point B is recognized. Preferably, the line 51 is a straight line.

[0109] However, since both the first landing point A and the second landing point B are locations on the ground, a specific location on the line 51 should not be directly determined as the third landing point. Because the specific location on the line 51 may be a location below the ground or a location floating in the air.

[0110] Refer to Figure 17 , recognize the line 52 obtained by projecting the line 51 onto the ground, and recognize the candidate locations among the locations on the projected line 52 that do not belong to the footfall obstacle area 40. These candidate locations are all locations on the ground and do not belong to the footfall obstacle area 40, so they can be candidates for the third landing point.

[0111] Finally, refer to Figure 18 , calculate that among the candidate locations, the location that is greater than or equal to the fourth threshold d from the footfall obstacle area 40 and is the closest to the second landing point B is calculated as the third landing point C.

[0112] The landing point calculated based on the dynamic state of the robot is the second landing point B. Therefore, considering the dynamic state of the robot, preferably, the point closest to the second landing point B among the candidate points is calculated as the third landing point C. However, if the third landing point C is too close to the boundary of the foot landing obstacle area 40, a part of the robot's leg may unconsciously step on the foot landing obstacle area 40. Therefore, preferably, the third landing point C is separated from the foot landing obstacle area 40 by a predetermined distance.

[0113] Thus, among the identified candidate points, the point C that is greater than or equal to the fourth threshold d from the foot obstacle area 40 and closest to the second landing point B is calculated and determined as the third landing point C.

[0114] According to the embodiments of the present invention described above, there is provided a robot and a method for determining a landing point thereof that can land a leg at an appropriate position on the ground and move by walking even on an irregular terrain. Moreover, during the swinging process of the robot's leg, when there is interference, the swinging leg can also land at an appropriate position and maintain the posture stably.

[0115] Hereinafter, with reference to Figure 19 an exemplary computing device 500 for explaining the method described in various embodiments of implementing the present invention will be described. For example, Figure 19 the computing device 500 may be Figure 1 the robot 100.

[0116] Figure 19 FIG. is an exemplary hardware configuration diagram showing the computing device 500.

[0117] As Figure 19 shown, the computing device 500 may include one or more processors 510, a bus 550, a communication interface 570, a main memory 530 for loading a computer program 591 executed by the processor 510, and an external memory 590 for storing the computer program 591. However, Figure 19 only the components related to the embodiments of the present invention are illustrated in Figure 19 Therefore, those of ordinary skill in the technical field of the present invention should understand that

[0118] The processor 510 controls the overall operation of each component of the computing device 500. The processor 510 may include at least one of a central processing unit (CPU), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), or any form of processor known in the technical field of the present invention. Further, the processor 510 performs calculations for at least one application or program regarding the methods / operations according to various embodiments of the present invention. The computing device 500 may include one or more processors.

[0119] The internal memory 530 stores various data, commands, and / or information. The internal memory 530 may load one or more programs 591 from the external memory 590 for executing the methods / operations of various embodiments of the present invention. An example of the internal memory 530 may be RAM, but is not limited thereto.

[0120] The bus 550 provides a communication function between the components of the computing device 500. The bus 550 may be various forms of buses such as an address bus, a data bus, and a control bus.

[0121] The communication interface 570 provides wired and wireless network communication for the computing device 500. The communication interface 570 may also provide various communication methods other than network communication. To this end, the communication interface 570 may include a communication module known in the technical field of the present invention.

[0122] The external memory 590 may non-temporarily store one or more computer programs (591). The external memory 590 may include non-volatile memories such as a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a hard disk, a removable disk, or any form of computer-readable recording medium known in the technical field of the present invention.

[0123] The computer program 591 may include one or more instructions for implementing the methods / operations of various embodiments of the present invention. For example, the computer program 591 may include instructions for performing the following operations: during the swinging of the first leg of the robot towards the first landing point, an operation of sensing interference, an operation of calculating a second landing point based on the dynamic state of the robot in response to sensing the interference, an operation of identifying a step obstacle region based on the terrain information of the robot, an operation of determining whether the second landing point belongs to the step obstacle region, and an operation of determining a third landing point different from the second landing point as the landing point of the first leg if the second landing point belongs to the step obstacle region.

[0124] After loading the computer program 591 into the internal memory 530, the processor 510 executes the one or more instructions to perform the methods / operations of various embodiments of the present invention.

[0125] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, those of ordinary skill in the technical field of the present invention should understand that the present invention can also be implemented in other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above are exemplary in all aspects and not restrictive. The protection scope of the present invention should be interpreted according to the claims, and all ideas within the same scope as it belong to the scope of the technical idea defined by the present invention.

Claims

1. A method for determining the landing point of a robot, which is a method for determining the landing point of a robot executed by a computing device, characterized in that, it includes: a step of sensing interference during the swing of the first leg of the robot towards the first landing point; a step of calculating a second landing point based on the dynamic state of the robot in response to the sensed interference; a step of identifying a landing obstacle area based on the terrain information of the robot and determining whether the second landing point belongs to the landing obstacle area; and a step of determining a third landing point that is out of the landing obstacle area as the landing point of the first leg if the second landing point belongs to the landing obstacle area.

2. The method for determining the landing point of a robot according to claim 1, characterized in that, the determining step includes: a step of identifying an area with a height difference greater than or equal to a first threshold from the lifting position of the first leg as the landing obstacle area.

3. The method for determining the landing point of a robot according to claim 2, characterized in that, the determining step includes: a step of identifying an area with a slope greater than or equal to a second threshold as the landing obstacle area.

4. The method for determining the landing point of a robot according to claim 2, characterized in that, the determining step selectively identifies an area with a height difference greater than or equal to a third threshold from the first landing point as the landing obstacle area according to the swing state of the first leg.

5. The method for determining the landing point of a robot according to claim 4, characterized in that, in the determining step, if the swing state is the landing stage, an area with a height difference greater than or equal to the third threshold from the first landing point is identified as the landing obstacle area.

6. The method for determining the landing point of a robot according to claim 5, characterized in that, in the determining step, if the swing state is the lifting stage, an area with a height difference greater than or equal to the third threshold from the first landing point is not identified as the landing obstacle area.

7. The method for determining the landing point of a robot according to claim 1, characterized in that, the determining step includes a step of calculating the third landing point based on the first landing point, the second landing point and the landing obstacle area.

8. The method for determining the landing point of a robot according to claim 1, characterized in that, the determining step includes a step of calculating the third landing point based on the first landing point, the second landing point and the landing obstacle area.

9. The method for determining the landing point of a robot according to claim 8, characterized in that, in the step of calculating the third landing point, the point that is greater than or equal to a fourth threshold away from the landing obstacle area and is the closest to the second landing point among the identified points is calculated as the third landing point.

10. A robot with multiple legs, characterized in that, it includes: a processor; an internal memory for loading a computer program executed by the processor; and an external memory for storing the computer program, and, the computer program includes instructions for performing the following operations: During the swinging process of the first leg of the robot towards the first landing point, sense interference; In response to the sensed interference, calculate a second landing point based on the dynamic state of the robot; Based on the terrain information of the robot, identify a landing obstacle area, and determine whether the second landing point belongs to the landing obstacle area; and If the second landing point belongs to the landing obstacle area, determine a third landing point that is out of the landing obstacle area as the landing point of the first leg.