Robot footing position determining method and foot type robot
By setting multiple distance sensors on the legs of the foot robot, obtaining and analyzing distance information, and determining and controlling the robot's footing position, the problem of unsuccessful topographic map construction caused by high costs and ground materials in the existing technology is solved, and a stable and economical footing planning is achieved.
Patent Information
- Application Number
- CN202411730724.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2025-04-25
AI Technical Summary
The existing technology requires the installation of multiple depth cameras or lidars in the robot's footing position planning, resulting in high hardware costs and algorithm calculation costs, and the ground material leads to inaccurate depth point clouds and unsuccessful construction of the topographic map.
By scattering multiple distance sensors on the legs of the foot robot, multiple first distance information are obtained, based on this information, whether the robot can settle at the position to be settled, and the robot can control the landing.
A low-cost and high-reliability foothold planning has been achieved, avoiding the inaccurate depth point cloud caused by ground materials, and ensuring the stable walking of the robot.
Smart Images

Figure CN119871379A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot technology, and in particular to a method for determining a robot's footing position and a legged robot. Background Art
[0002] Robot footing position planning is a key technology for legged robots to maintain stable walking. The current mainstream method is to obtain a terrain map around the legged robot by three-dimensional modeling of a small area around the legged robot when it is running, such as an elevation map of stairs to guide the motion planning of the leg of the legged robot. However, this method requires the installation of multiple depth cameras or lidars on the legged robot and the construction of the terrain grid through complex modeling algorithms. The hardware cost and algorithm calculation cost are relatively high. There are also cases where the depth point cloud is inaccurate due to the ground material, and the terrain map construction is unsuccessful. Summary of the invention
[0003] In view of this, an embodiment of the present application provides a method for determining a robot's footing position and a legged robot.
[0004] According to the first aspect of the present application, an embodiment of the present application provides a method for determining a foothold position of a robot, comprising:
[0005] Acquire a plurality of first distance information measured by a plurality of distance sensors; the first distance information includes the distance between the distance sensor and the ground along the extension direction of the leg of the legged robot; the plurality of distance sensors are dispersedly arranged on the legs of the legged robot;
[0006] Based on the multiple first distance information, determine the target information when the legged robot lands at the first waiting landing position on the ground; the target information indicates whether the robot can land at the first waiting landing position;
[0007] If it is determined based on the target information that the legged robot can land at the first waiting position for landing, the legged robot is controlled to land at the first waiting position for landing on the ground.
[0008] Optionally, based on the plurality of first distance information, determining target information when the legged robot lands at a first waiting landing position on the ground includes:
[0009] Determining distance differences between a plurality of first distance information;
[0010] If there is no distance difference greater than the first threshold, it is determined that the legged robot can land at the first waiting landing position on the ground.
[0011] Optionally, the method for determining the landing position of the robot further includes:
[0012] If it is determined based on the target information that the legged robot cannot land at the first waiting landing position on the ground, determining the moving direction of the leg of the legged robot based on the positions of the multiple distance sensors and the multiple first distance information measured by the multiple distance sensors;
[0013] Based on the moving direction, the foot of the footed robot is controlled to move to a second waiting position.
[0014] Optionally, determining the moving direction of the leg of the footed robot based on the positions of the plurality of distance sensors and the plurality of first distance information measured by the plurality of distance sensors includes:
[0015] Determining a first center position based on position parameters of the plurality of distance sensors relative to the leg; the first center position represents a center of the plurality of distance sensor positions;
[0016] Based on the multiple first distance information measured by the multiple distance sensors, determine the weight information corresponding to the multiple position parameters respectively, and determine the second center position according to the position parameters and the weight information;
[0017] Based on the first center position and the second center position, the moving direction of the leg of the footed robot is determined. Optionally, after controlling the foot of the footed robot to move to the second landing position based on the moving direction, the robot landing position determination method further includes:
[0018] Acquire multiple second distance information measured by multiple distance sensors;
[0019] If it is determined based on the plurality of second distance information that there is no risk of the legged robot slipping when landing at the second waiting landing position, the foot of the legged robot is controlled to stop moving, and the legged robot is controlled to land.
[0020] Optionally, after acquiring a plurality of first distance information measured by a plurality of distance sensors, the method for determining the landing position of the robot further includes:
[0021] If it is determined based on a plurality of first distance information that the legged robot is in a target state, a step of determining target information when the legged robot lands at a first waiting landing position on the ground based on the plurality of first distance information is performed.
[0022] Optionally, determining that the legged robot is in a target state based on a plurality of first distance information includes:
[0023] If there is first distance information less than the second threshold value among the multiple first distance information, it is determined that the legged robot is in the target state.
[0024] Optionally, if there is first distance information less than a second threshold value among the plurality of first distance information, determining that the legged robot is in the target state includes:
[0025] Acquiring acceleration information measured by an inertial measurement device; the inertial measurement device is arranged on the foot of the legged robot;
[0026] If it is determined based on the acceleration information that the foot of the legged robot moves toward the center of gravity, and there is first distance information less than the second threshold among the plurality of first distance information, it is determined that the legged robot is in the target state.
[0027] According to the second aspect of the present application, an embodiment of the present application provides a legged robot, comprising:
[0028] A legged robot body and a plurality of distance sensors;
[0029] Wherein, a plurality of distance sensors are dispersedly arranged on the legs of the legged robot body;
[0030] The legged robot body is used to obtain multiple first distance information measured by multiple distance sensors; the first distance information includes the distance between the distance sensor and the ground along the extension direction of the legs of the legged robot body; based on the multiple first distance information, the target information when the legged robot body lands at a first waiting position on the ground is determined; the target information represents whether it can land at the first waiting position; if it is determined based on the target information that the legged robot body can land at the first waiting position, the legged robot body is controlled to land at the first waiting position on the ground.
[0031] Optionally, the legged robot further comprises:
[0032] The inertial measurement device is arranged at the foot of the legged robot body.
[0033] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A schematic diagram of a flow chart of a method for determining a foothold position of a robot in an embodiment of the present application;
[0035] Figure 2 This is a schematic diagram of the structure of a legged robot in an embodiment of the present application;
[0036] Figure 3 This is a schematic diagram of a first landing position in an embodiment of the present application being a stepped terrain;
[0037] Figure 4 A schematic diagram of a flow chart of another method for determining a foothold position of a robot in an embodiment of the present application;
[0038] Figure 5 A schematic diagram of the moving direction of the legs of the legged robot in an embodiment of the present application;
[0039] Figure 6 This is a schematic diagram of the hardware structure of a legged robot body in an embodiment of the present application. DETAILED DESCRIPTION
[0040] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.
[0041] The present application embodiment provides a method for determining the landing position of a robot, such as Figure 1 As shown, including:
[0042] S101, obtaining a plurality of first distance information measured by a plurality of distance sensors; the first distance information includes the distance between the distance sensor and the ground along the extension direction of the leg of the legged robot; the plurality of distance sensors are dispersedly arranged on the legs of the legged robot.
[0043] In this embodiment, the legged robot may be a bipedal robot, a quadrupedal robot, or the like.
[0044] In this embodiment, a plurality of distance sensors may be dispersedly disposed on each leg of the legged robot, so that when each foot of the legged robot lands, the robot landing position determination method may be executed to enable the legged robot to maintain stable walking.
[0045] In this embodiment, the sensing direction of each distance sensor is downward, and the distance sensor can emit rays and achieve ranging capability based on the reflection of the rays by an object, and can measure the distance within a short range.
[0046] In some embodiments, Figure 2 As shown, multiple distance sensors (PSensor) parallel to the end arms of the leg of the leg robot can be installed at the last end of the leg of the leg robot, with the sensing direction of the distance sensors facing downward. The multiple distance sensors are installed at the same height and evenly distributed around the leg. Each distance sensor measures the distance between the ground and the distance sensor along the extension direction of the leg of the leg robot, and the corresponding first distance information can be measured.
[0047] It should be noted that Figure 2Four distance sensors are used as an example for illustration, but the number of distance sensors is not limited thereto.
[0048] S102, based on a plurality of first distance information, determining target information when the legged robot lands at a first waiting landing position on the ground; the target information indicates whether the robot can land at the first waiting landing position.
[0049] In this embodiment, the target information may be terrain information of the first location to be settled, for example, the target information may be whether the first location to be settled is flat.
[0050] In this embodiment, the target information may be a parameter value determined based on a plurality of first distance information. For example, the target information may be a maximum distance difference value determined based on a plurality of first distance information.
[0051] In this embodiment, the target information may be identification information of whether it is possible to land at the first landing location, for example, the target information is 1 or 0, 1 indicates that it is possible to land at the first landing location, and 0 indicates that it is not possible to land at the first landing location.
[0052] In this embodiment, by analyzing a plurality of first distance information, it can be determined whether the legged robot can land at the first waiting landing position.
[0053] S103: If it is determined based on the target information that the legged robot can land at the first waiting landing position, the legged robot is controlled to land at the first waiting landing position on the ground.
[0054] In this embodiment, if it is determined based on the target information that the legged robot can land at the first waiting landing position, the legged robot is controlled to land at the first waiting landing position on the ground, thereby ensuring that the legged robot can walk stably.
[0055] The method for determining the landing position of a robot provided in an embodiment of the present application obtains multiple first distance information measured by multiple distance sensors; the first distance information includes the distance between the distance sensor and the ground along the extension direction of the leg of the legged robot; the multiple distance sensors are dispersedly arranged on the legs of the legged robot; based on the multiple first distance information, the target information of the legged robot when landing at the first waiting landing position on the ground is determined; the target information represents whether the legged robot can land at the first waiting landing position; if it is determined based on the target information that the legged robot can land at the first waiting landing position, the legged robot is controlled to land at the first waiting landing position on the ground; in this way, low-cost and high-reliability landing point planning of the legged robot can be achieved to ensure stable walking of the legged robot.
[0056] In an optional embodiment, step S102, based on the plurality of first distance information, determining target information of the footed robot when landing at the first waiting landing position on the ground, includes:
[0057] Determine the distance difference between the multiple first distance information; if there is no distance difference greater than the first threshold, determine that the legged robot can land at the first waiting landing position on the ground.
[0058] In this embodiment, the distance difference between each two first distance information can be calculated to obtain the distance difference between multiple first distance information. Then, each distance search is compared with the first threshold to determine whether there is a distance difference greater than the first threshold. If there is no distance difference greater than the first threshold, it means that the first landing position is relatively flat and there is no risk of slipping, and it is determined that the legged robot can land at the first landing position on the ground. If there is a distance difference greater than the first threshold, it means that there is a small range mutation in the height of the first landing position, for example, Figure 3 As shown, if the first waiting position for landing is a stepped terrain, there is a distance difference greater than a first threshold value, and it is determined that the legged robot cannot land at the first waiting position for landing on the ground.
[0059] In some embodiments, the maximum distance (D_max) and the minimum distance (D_min) in the plurality of first distance information may be determined based on the plurality of first distance information, such as Figure 3 As shown. Then, based on the maximum distance and the minimum distance, the maximum distance difference (D_diff) between the multiple first distance information can be calculated, D_diff = D_max-D_min. Then the maximum distance difference is compared with the first threshold. If the maximum distance difference is not greater than the first threshold, it is determined that the legged robot can land at the first waiting position on the ground; if the maximum distance difference is greater than the first threshold, it is determined that the legged robot cannot land at the first waiting position on the ground.
[0060] In this embodiment, by determining the distance difference between multiple first distance information, if there is no distance difference greater than the first threshold, it is determined that the legged robot can land at the first waiting position on the ground, thereby simply and quickly determining whether the legged robot can land at the first waiting position on the ground.
[0061] In an optional embodiment, the method for determining the robot's landing position is as follows: Figure 4 As shown, it also includes:
[0062] S104, if it is determined based on the target information that the legged robot cannot land at the first waiting landing position on the ground, determine the moving direction of the legs of the legged robot based on the positions of multiple distance sensors and multiple first distance information measured by the multiple distance sensors; based on the moving direction, control the feet of the legged robot to move to the second waiting landing position.
[0063] In this embodiment, if it is determined based on the target information that the legged robot cannot land at the first waiting landing position on the ground, the landing position needs to be adjusted. The idea of adjustment can be to move the legs of the legged robot to a flat area that is easier to land on, and based on the positions of multiple distance sensors and multiple first distance information measured by multiple distance sensors, the moving direction to the flat area can be determined, thereby determining the moving direction of the legs of the legged robot. After determining the moving direction of the legs of the legged robot, the legs of the legged robot can be controlled to move along the moving direction to control the legs of the legged robot to move to the second waiting landing position. The second waiting landing position is a relatively flat landing position.
[0064] In this embodiment, if it is determined based on the target information that the legged robot cannot land at the first waiting position on the ground, the movement direction of the leg of the legged robot is determined based on the positions of multiple distance sensors and multiple first distance information measured by the multiple distance sensors; based on the movement direction, the foot of the legged robot is controlled to move to the second waiting position, so that the leg of the legged robot can be moved to a relatively flat second waiting position, so that the legged robot does not have the risk of slipping when landing at the second waiting position, and maintains stable walking.
[0065] In an optional embodiment, in step S104, determining the moving direction of the leg of the footed robot based on the positions of the plurality of distance sensors and the plurality of first distance information measured by the plurality of distance sensors includes:
[0066] Based on the position parameters of multiple distance sensors relative to the legs, a first center position is determined; the first center position represents the center of the multiple distance sensor positions; based on the multiple first distance information measured by the multiple distance sensors, weight information corresponding to the multiple position parameters is determined, and the second center position is determined according to the position parameters and the weight information; based on the first center position and the second center position, the moving direction of the leg of the legged robot is determined.
[0067] In this embodiment, the position parameter of the distance sensor relative to the leg may include the position of the distance sensor relative to the leg, so that when determining the first center position based on the position parameters of the multiple distance sensors relative to the leg, it can be calculated by the following formula:
[0068]
[0069] Among them, (x i ,y i ) is the position of the i-th distance sensor relative to the leg of the legged robot, (x c ,y c ) is the first center position, and n is the total number of distance sensors.
[0070] Based on the multiple first distance information measured by the multiple distance sensors, the weight information corresponding to the multiple position parameters is determined, which can be calculated by the following formula:
[0071] Weight information = (|D i -D mean |) / DIS all ,
[0072]
[0073] Among them, D i is the first distance information measured by the i-th distance sensor, and n is the total number of distance sensors.
[0074] The second center position can be determined based on the position parameters and weight information by the following formula:
[0075]
[0076]
[0077] Among them, (x cc ,,y cc ) is the second center position, (x i ,y i ) is the position of the i-th distance sensor relative to the leg of the legged robot.
[0078] In this embodiment, the first center position and the second center position are determined, and the direction of movement from the first center position to the second center position can be used as the moving direction of the leg of the footed robot, such as Figure 5 shown.
[0079] In this embodiment, based on multiple first distance information measured by multiple distance sensors, weight information corresponding to multiple position parameters is determined, and the second center position is determined according to the position parameters and the weight information. This can make the second center position biased towards the center of gravity of the legged robot, and thus determine the moving direction of the leg of the legged robot based on the first center position and the second center position. This can make the landing position of the legged robot move toward the center of gravity, so that the legs of the legged robot move in a direction that can more easily land on a flat area and keep the center of gravity stable.
[0080] In an optional embodiment, in step S104, after controlling the foot of the footed robot to move to the second waiting landing position based on the moving direction, the robot landing position determination method further includes:
[0081] Acquire multiple second distance information measured by multiple distance sensors; if it is determined based on the multiple second distance information that there is no risk of slipping when the legged robot lands at the second waiting landing position, control the foot of the legged robot to stop moving, and control the legged robot to land.
[0082] In this embodiment, the second waiting landing position is the landing position corresponding to the second center position.
[0083] In this embodiment, when the leg of the footed robot moves to the second position to be landed, multiple second distance information measured by multiple distance sensors can be obtained again. Then, based on the multiple second distance information, the second target information when the footed robot lands at the second position to be landed on the ground is determined; the second target information represents whether it can land at the second position to be landed. If it is determined that there is no risk of slipping when the footed robot lands at the second position to be landed, the foot of the footed robot is controlled to stop moving, and the footed robot is controlled to land. If it is determined based on the multiple second distance information that there is a risk of slipping when the footed robot lands at the second position to be landed, the moving direction of the leg of the footed robot is continuously determined in a loop, and the foot of the footed robot is controlled to move until it is determined that there is no risk of slipping when the footed robot lands, and then the footed robot is controlled to land.
[0084] In this embodiment, multiple second distance information measured by multiple distance sensors is obtained; if it is determined based on the multiple second distance information that there is no risk of slipping when the legged robot lands at the second landing position, the feet of the legged robot are controlled to stop moving, and the legged robot is controlled to land; in this way, it can be ensured that the legged robot lands in a relatively flat area, ensuring that the legged robot walks stably.
[0085] In an optional embodiment, in step S101, after obtaining a plurality of first distance information measured by a plurality of distance sensors, the method for determining the landing position of the robot further includes:
[0086] If it is determined based on a plurality of first distance information that the legged robot is in a target state, a step of determining target information when the legged robot lands at a first waiting landing position on the ground based on the plurality of first distance information is performed.
[0087] In this embodiment, the target state may represent whether the legged robot is ready to land.
[0088] In this embodiment, before determining whether there is a risk of slipping when the legged robot lands at the first waiting landing position on the ground, it can be determined whether the legged robot is ready to land. Whether the legged robot is ready to land can be determined by multiple first distance information. If it is determined that the legged robot is ready to land, the step of determining the target information when the legged robot lands at the first waiting landing position on the ground based on the multiple first distance information is performed. Otherwise, it is considered that the foot of the legged robot has not yet reached the first waiting landing position and no intervention is required.
[0089] In this embodiment, if it is determined that the legged robot is in the target state based on multiple first distance information, the step of determining the target information of the legged robot when it lands at the first waiting position on the ground based on multiple first distance information is executed, thereby avoiding judging whether the legged robot can land when its feet are not yet close to the first waiting position, thereby avoiding useless calculations.
[0090] In an optional embodiment, determining that the legged robot is in a target state based on a plurality of first distance information includes:
[0091] If there is first distance information less than the second threshold value among the multiple first distance information, it is determined that the legged robot is in the target state.
[0092] In this embodiment, multiple first distance information can be compared with the second threshold value to determine whether there is first distance information less than the second threshold value among the multiple first distance information. If there is first distance information less than the second threshold value among the multiple first distance information, it means that the foot of the foot robot is about to land on the ground, and it is determined that the foot robot is in the target state. If there is no first distance information less than the second threshold value among the multiple first distance information, it means that the foot of the foot robot is not about to reach the first waiting landing position, and it is determined that the foot robot is not in the target state.
[0093] In some embodiments, the minimum distance among the plurality of first distance information may be determined, and then the minimum distance may be compared with a second threshold value, and if the minimum distance is less than the second threshold value, it may be determined that the legged robot is in the target state. If the minimum distance is greater than or equal to the second threshold value, it may be determined that the legged robot is not in the target state.
[0094] In this embodiment, by determining whether there is first distance information less than the second threshold among multiple first distance information, it can be simply and quickly determined whether the legged robot is in the target state.
[0095] In an optional embodiment, if there is first distance information less than a second threshold value among the plurality of first distance information, determining that the legged robot is in the target state includes:
[0096] Acquire acceleration information measured by an inertial measurement device; the inertial measurement device is arranged at the foot of the legged robot; if it is determined based on the acceleration information that the foot of the legged robot moves toward the center of gravity, and there is first distance information less than a second threshold value among multiple first distance information, it is determined that the legged robot is in a target state.
[0097] In this embodiment, in order to avoid the need to determine whether the foot of the legged robot can land when the foot is translating near the ground, an inertial measurement device can be provided at the foot of the legged robot. By adding an inertial measurement device to determine whether the movement direction of the leg of the legged robot is toward the direction of gravity, it is determined whether the legged robot is in the target state.
[0098] In this embodiment, by determining that the foot of the legged robot moves toward the center of gravity based on acceleration information, and that there is first distance information less than a second threshold among multiple first distance information, it is determined that the legged robot is in the target state, thereby avoiding the need to determine whether the foot of the legged robot can land when translating near the ground, thereby avoiding useless calculations.
[0099] The present application also provides a legged robot, such as Figure 2 As shown, including:
[0100] A legged robot body 21 and a plurality of distance sensors 22 .
[0101] Wherein, a plurality of distance sensors 22 are dispersedly arranged on the legs of the foot-type robot body 21;
[0102] The legged robot body 21 is used to obtain multiple first distance information measured by multiple distance sensors 22; the first distance information includes the distance between the distance sensor 22 and the ground along the extension direction of the legs of the legged robot body 21; based on the multiple first distance information, the target information of the legged robot body 21 when landing at the first waiting position on the ground is determined; the target information represents whether it can land at the first waiting position; if it is determined based on the target information that the legged robot body 21 can land at the first waiting position, the legged robot body 21 is controlled to land at the first waiting position on the ground.
[0103] It should be noted that the leg part of the legged robot body is only schematically drawn, but this does not limit the structure of the legged robot.
[0104] In an optional embodiment, the foot-type robot further comprises:
[0105] The inertial measurement device is arranged at the foot of the legged robot body.
[0106] In some embodiments, Figure 6As shown, the legged robot body 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 to a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the legged robot body 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0107] Multiple components in the legged robot body 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the legged robot body 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0108] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as a robot foot position determination method. For example, in some embodiments, the robot foot position determination method may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the legged robot body 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the robot foot position determination method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to execute the robot foothold position determination method in any other appropriate manner (eg, by means of firmware).
[0109] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0110] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0111] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0112] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0113] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0114] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0115] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this application can be executed in parallel, sequentially or in different orders, as long as the expected results of the technical solution disclosed in this application can be achieved, and this document is not limited here.
[0116] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0117] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for determining a foothold position of a robot, comprising: Acquire multiple first distance information measured by multiple distance sensors; The first distance information includes the distance between the distance sensor and the ground along the extension direction of the leg of the footed robot; A plurality of distance sensors are dispersedly arranged on the legs of the foot-type robot; Based on the plurality of the first distance information, determining target information of the footed robot when landing at the first waiting landing position on the ground; The target information indicates whether it is possible to land at the first landing location; If it is determined based on the target information that the legged robot can land at the first waiting position for landing, the legged robot is controlled to land at the first waiting position for landing on the ground.
2. The method for determining a landing position of a robot according to claim 1, determining target information of the legged robot when landing at the first landing position on the ground based on the plurality of the first distance information, comprising: Determine distance differences between a plurality of the first distance information; If there is no distance difference greater than the first threshold, it is determined that the footed robot can land at the first waiting landing position on the ground.
3. The method for determining the foothold position of a robot according to claim 1, further comprising: If it is determined based on the target information that the legged robot cannot land at the first waiting landing position on the ground, determining the moving direction of the leg of the legged robot based on the positions of the multiple distance sensors and the multiple first distance information measured by the multiple distance sensors; Based on the moving direction, the foot of the footed robot is controlled to move to a second waiting position.
4. The method for determining the landing position of a robot according to claim 3, determining the moving direction of the leg of the legged robot based on the positions of the plurality of distance sensors and the plurality of first distance information measured by the plurality of distance sensors, comprising: determining a first center position based on a plurality of position parameters of the distance sensors relative to the leg; The first center position represents the center of the plurality of distance sensor positions; Based on a plurality of first distance information measured by a plurality of distance sensors, determining weight information respectively corresponding to a plurality of position parameters, and determining a second center position according to the position parameters and the weight information; Based on the first center position and the second center position, a moving direction of the leg of the footed robot is determined.
5. The method for determining a foothold position of a robot according to claim 3, after controlling the foot of the footed robot to move to the second foothold position based on the moving direction, the method further comprises: Acquire multiple second distance information measured by multiple distance sensors; If it is determined based on a plurality of the second distance information that there is no risk of the legged robot slipping when landing at the second waiting landing position, the foot of the legged robot is controlled to stop moving, and the legged robot is controlled to land.
6. The method for determining the landing position of a robot according to claim 1, after obtaining a plurality of first distance information measured by a plurality of distance sensors, further comprising: If it is determined that the legged robot is in the target state based on a plurality of the first distance information, the step of determining the target information of the legged robot when landing at the first waiting landing position on the ground based on the plurality of the first distance information is performed.
7. The method for determining the landing position of a robot according to claim 6, determining that the legged robot is in a target state based on a plurality of the first distance information comprises: If there is first distance information less than a second threshold value among the plurality of first distance information, it is determined that the legged robot is in the target state.
8. The method for determining a foothold position of a robot according to claim 7, if there is first distance information less than a second threshold value among the plurality of first distance information, determining that the legged robot is in a target state comprises: Obtain acceleration information measured by the inertial measurement device; The inertial measurement device is arranged at the foot of the foot-type robot; If it is determined based on the acceleration information that the foot of the legged robot moves toward the center of gravity, and there is first distance information less than a second threshold among the plurality of first distance information, it is determined that the legged robot is in the target state.
9. A legged robot comprising: A legged robot body and a plurality of distance sensors; Wherein, a plurality of said distance sensors are dispersedly arranged on the legs of said foot-type robot body; The legged robot body is used to obtain multiple first distance information measured by multiple distance sensors; the first distance information includes the distance between the distance sensor and the ground along the extension direction of the legs of the legged robot body; based on the multiple first distance information, the target information of the legged robot body when landing at the first waiting position on the ground is determined; the target information represents whether the legged robot body can land at the first waiting position; if it is determined based on the target information that the legged robot body can land at the first waiting position, the legged robot body is controlled to land at the first waiting position on the ground.
10. The legged robot according to claim 9, further comprising: The inertial measurement device is arranged at the foot of the foot-type robot body.