Path planning method for legged robot, electronic device, and readable storage medium
By acquiring global paths and local maps, and combining motion performance parameters to plan local paths, the problem of decreased global positioning accuracy of legged robots in outdoor environments was solved, enabling autonomous navigation and adaptation to complex terrain, and improving the robot's autonomous navigation capabilities.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN PENGXING INTELLIGENT RES CO LTD
- Filing Date
- 2022-03-17
- Publication Date
- 2026-04-14
AI Technical Summary
In outdoor environments, the global positioning accuracy of legged robots decreases, leading to autonomous navigation failures and potential collisions with obstacles.
By acquiring the global path and local map, and combining the robot's motion performance parameters, a local path is planned. The local path is planned using the local accessible map and target nodes, adapting to complex terrain, and updating the local target nodes when the global positioning accuracy is abnormal.
It improves the autonomous navigation capability of legged robots in outdoor environments, enabling them to autonomously pass through or avoid complex terrain under normal and abnormal global positioning accuracy conditions, thus enhancing their adaptability in a wide range of outdoor environments.
Smart Images

Figure CN114564027B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and more particularly to a path planning method, electronic device, and computer-readable storage medium for a legged robot. Background Technology
[0002] With the development of artificial intelligence (AI) technology, robots are being increasingly widely used in daily production and life. Common robots include robotic arms, automated guided vehicles (AGVs), and unmanned forklifts. As practical needs grow, the demand for legged robots, especially quadruped robots, is constantly increasing to allow for wider applications. Compared to wheeled robots, quadruped robots can traverse more complex terrains and perform more complex tasks.
[0003] Compared to wheeled robots, which are typically used in smaller indoor environments, a key application scenario for legged robots is in large outdoor environments, such as areas with a radius greater than 10 kilometers. In these larger outdoor environments, legged robots rely primarily on topological maps for autonomous navigation. However, outdoor environments are generally large and have complex terrain and environments. Due to factors such as changes in the number of environmental reference points, it is difficult for legged robots to maintain the global positioning accuracy required for autonomous navigation in outdoor environments. During autonomous navigation in outdoor environments, the global positioning accuracy of legged robots may decrease, which can lead to navigation failures and collisions with obstacles. Summary of the Invention
[0004] In view of this, it is necessary to provide a path planning method, electronic device and computer-readable storage medium for legged robots to solve the technical problem that legged robots cannot perform autonomous navigation when global positioning accuracy is reduced.
[0005] This application provides a path planning method for a legged robot. The method includes: obtaining a global path of the legged robot, the global path including at least one node; constructing a local map based on sensing information of the surrounding environment, the local map covering at least one node; constructing a local passability map based on the motion performance parameters of the legged robot and the local map; determining local target nodes of the legged robot based on the global positioning accuracy of the legged robot, the global path, the current position of the legged robot and the local passability map; and planning a local path of the legged robot based on the local passability map, the local target nodes and the current position of the legged robot.
[0006] In some embodiments, the step of determining local target nodes of the legged robot based on the global positioning accuracy of the legged robot, the global path, the current position of the legged robot, and the local passable map, and planning the local path of the legged robot based on the local passable map, the local target nodes, and the current position of the legged robot, includes: when the global positioning accuracy of the legged robot meets a preset accuracy requirement, determining local target nodes of the legged robot based on the global path, the current position of the legged robot, and the local passable map; planning the local path of the legged robot based on the local map, the local passable map, the local target nodes, and the current position of the legged robot; when the global positioning accuracy of the legged robot does not meet the preset accuracy requirement, acquiring an object corresponding to the local target node, and calculating the pose of the object in the odometry coordinate system; using the object as a new local target node, and planning the local path of the legged robot based on the local passable map, the new local target node, and the current position of the legged robot in the odometry coordinate system.
[0007] In some embodiments, before obtaining the global path of the legged robot, the method includes: obtaining the confidence level of the initial global positioning accuracy of the legged robot; when the confidence level of the initial global positioning accuracy is greater than a preset value, obtaining the starting position information, the target position information, and a global map of the surrounding environment, and planning the global path of the legged robot.
[0008] In some embodiments, after determining the local target node of the legged robot based on the global path, the current position of the legged robot, and the local accessible map, the method further includes: obtaining the surrounding environment information of the local target node, extracting the semantic information of the local target node based on the surrounding environment information, and recording the object corresponding to the local target node.
[0009] In some embodiments, when the global positioning accuracy of the legged robot does not meet the preset accuracy requirement, acquiring the object corresponding to the local target node includes: when the global positioning accuracy of the legged robot does not meet the preset accuracy requirement, acquiring the current surrounding environment information of the legged robot, and identifying a local region corresponding to the semantic information of the local target node from the current surrounding environment information; and identifying the object corresponding to the local target node from the local region.
[0010] In some embodiments, the method further includes: when the legged robot reaches the new local target node and the global positioning accuracy of the legged robot still does not meet the preset accuracy requirement, outputting preset positioning error information and controlling the legged robot to exit the autonomous navigation mode.
[0011] In some embodiments, the method further includes: when the legged robot reaches the new local target node and the global positioning accuracy of the legged robot still does not meet the preset accuracy requirement, obtaining the object corresponding to the next local target node from the global path, and calculating the pose of the object corresponding to the next local target node in the odometry coordinate system; and updating the object corresponding to the next local target node as a new local target node.
[0012] In some embodiments, the global path is planned based on a global map with semantic information, and each node in the global path has corresponding semantic information.
[0013] This application also provides an electronic device, which includes: a processor; and a memory, wherein the memory stores a plurality of program modules, the plurality of program modules being loaded by the processor and executing the above-described path planning method for a legged robot.
[0014] This application also provides a computer-readable storage medium having at least one computer instruction stored thereon, the instruction being loaded by a processor and executed by the above-described path planning method for a legged robot.
[0015] The path planning method, electronic device, and storage medium of the legged robot disclosed in this application can plan a global topological path. At the same time, it can also identify complex terrain on the running path through the sensor information of the legged robot and intelligently analyze whether the legged robot can pass through the complex terrain. Based on passability, real-time robot position, and target nodes of the global topological path, it plans and updates local paths until the legged robot reaches the target position. Different local path planning methods are provided for cases with normal global positioning accuracy and cases with abnormal global positioning accuracy. This allows the legged robot to autonomously pass through or avoid complex terrain and to perform autonomous navigation even when global positioning accuracy is abnormal, thereby improving the legged robot's adaptability to outdoor environments. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0017] Figure 1 This is a schematic diagram of the application environment architecture of the path planning method for a legged robot provided in one embodiment of this application.
[0018] Figure 2 This is a schematic diagram of a legged robot provided in one embodiment of this application.
[0019] Figure 3 This is a three-dimensional schematic diagram of a legged robot provided in an embodiment of the present invention.
[0020] Figure 4 This is a flowchart of a path planning method for a legged robot provided in an embodiment of this application.
[0021] Figure 5 This is a schematic diagram of a topology map provided in an embodiment of this application.
[0022] Figure 6 This is a schematic diagram of a topology map provided in another embodiment of this application.
[0023] Figure 7 This is a flowchart of a path planning method for a legged robot provided in another embodiment of this application.
[0024] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0025] Explanation of main component symbols
[0026] Electronic device 1
[0027] Processor 10
[0028] Memory 20
[0029] Computer Program 30
[0030] Slope filter 40
[0031] Terrain roughness filter 50
[0032] Step height filter 60
[0033] Suspended layer height filter 70
[0034] 100 legged robots
[0035] Mechanical Unit 101
[0036] Communication Unit 102
[0037] Sensing unit 103
[0038] Interface Unit 104
[0039] Storage unit 105
[0040] Display unit 106
[0041] Input Unit 107
[0042] Control Module 110
[0043] Power Supply 111
[0044] Driver board 1011
[0045] Electric motor 1012
[0046] Mechanical Structure 1013
[0047] Body 1014
[0048] Legs 1015
[0049] Foot 1016
[0050] Head structure 1017
[0051] Tail structure 1018
[0052] Cargo structure 1019
[0053] Saddle structure 1020
[0054] Camera Structure 1021
[0055] Display panel 1061
[0056] Touch panel 1071
[0057] Input device 1072
[0058] Touch detection device 1073
[0059] Touch controller 1074
[0060] Server 2 Specific Implementation
[0061] The following specific embodiments will further illustrate this application in conjunction with the above-described accompanying drawings.
[0062] To better understand the above-mentioned objectives, features, and advantages of this application, the application will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0063] Numerous specific details are set forth in the following description to provide a thorough understanding of this application. The described embodiments are merely some, not all, of the embodiments described herein. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0064] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
[0065] In the following description, the use of suffixes such as "module," "component," or "unit" to denote parts is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, "module," "component," or "unit" may be used interchangeably.
[0066] Please see Figure 1 The diagram shown is an application environment architecture diagram of the path planning method for a legged robot provided in a preferred embodiment of this application.
[0067] The path planning method for the legged robot in this application is applied in an electronic device 1, which can establish a communication connection with at least one legged robot 100 and at least one server 2 via a network. The network can be a wired network or a wireless network, such as radio, Wireless Fidelity (WIFI), cellular, satellite, or broadcast. The cellular network can be a 4G network or a 5G network.
[0068] The electronic device 1 can be an electronic device with a path planning program installed, such as a smartphone, personal computer, or server. The server can be a single server, a cloud server, or a server cluster. The server 2 can also be a single server, a cloud server, or a server cluster.
[0069] In some embodiments, the path planning method for the legged robot in this application can also be applied to the legged robot 100.
[0070] Please see Figure 2 , Figure 2 This is a schematic diagram of the hardware structure of a legged robot 100 according to one embodiment of the present invention. Figure 2In the illustrated embodiment, the legged robot 100 includes a mechanical unit 101, a communication unit 102, a sensing unit 103, an interface unit 104, a storage unit 105, a control module 110, and a power supply 111. The various components of the legged robot 100 can be connected in any way, including wired or wireless connections. Those skilled in the art will understand that... Figure 2 The specific structure of the legged robot 100 shown does not constitute a limitation on the legged robot 100. The legged robot 100 may include more or fewer parts than shown. Some parts are not essential components of the legged robot 100 and may be omitted or combined as needed without changing the nature of the invention.
[0071] The following is combined Figure 2 A detailed introduction to each component of the legged robot 100:
[0072] Mechanical unit 101 is the hardware of legged robot 100. For example... Figure 2 As shown, the mechanical unit 101 may include a drive board 1011, a motor 1012, and a mechanical structure 1013, such as... Figure 3 As shown, the mechanical structure 1013 may include a main body 1014, extendable legs 1015, and feet 1016. In other embodiments, the mechanical structure 1013 may also include an extendable robotic arm (not shown), a rotatable head structure 1017, a rocking tail structure 1018, a cargo-carrying structure 1019, a saddle structure 1020, a camera structure 1021, etc. It should be noted that the various component modules of the mechanical unit 101 can be one or multiple, depending on the specific situation. For example, there may be four legs 1015, and each leg 1015 may be equipped with three motors 1012, resulting in a total of twelve motors 1012.
[0073] The communication unit 102 can be used for receiving and sending signals, and can also communicate with networks and other devices. For example, it can receive instructions from a remote control or other legged robot 100 to move in a specific direction at a specific speed according to a specific gait, and then transmit these instructions to the control module 110 for processing. The communication unit 102 includes modules such as WiFi, 4G, 5G, Bluetooth, and infrared modules.
[0074] The sensing unit 103 is used to acquire information data about the surrounding environment of the legged robot 100 and monitor parameter data of various components inside the legged robot 100, and sends this data to the control module 110. The sensing unit 103 includes various sensors, such as sensors for acquiring information about the surrounding environment: lidar (for remote object detection, distance determination, and / or velocity determination), millimeter-wave radar (for short-range object detection, distance determination, and / or velocity determination), cameras, infrared cameras, and Global Navigation Satellite System (GNSS). Sensors for monitoring various components inside the legged robot 100 include: an inertial measurement unit (IMU) (for measuring velocity, acceleration, and angular velocity values), a foot sensor (for monitoring the position of the foot's contact point, foot posture, magnitude and direction of the contact force), and a temperature sensor (for detecting component temperature). Other sensors that can be configured on the legged robot 100, such as load sensors, touch sensors, motor angle sensors, and torque sensors, are not detailed here.
[0075] The interface unit 104 can be used to receive input from external devices (e.g., data, power, etc.) and transmit the received input to one or more components within the legged robot 100, or it can be used to output to external devices (e.g., data, power, etc.). The interface unit 104 may include a power port, a data port (such as a USB port), a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, etc.
[0076] Storage unit 105 is used to store software programs and various data. Storage unit 105 may mainly include a program storage area and a data storage area. The program storage area may store operating system programs, motion control programs, application programs (such as text editors), etc.; the data storage area may store data generated by the legged robot 100 during use (such as various sensor data acquired by the sensing unit 103, log file data, etc.). Furthermore, storage unit 105 may include high-speed random access memory, and may also include non-volatile memory, such as disk storage, flash memory, or other volatile solid-state memory.
[0077] The display unit 106 is used to display information input by the user or information provided to the user. The display unit 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0078] Input unit 107 can be used to receive input numerical or character information. Specifically, input unit 107 may include touch panel 1071 and other input devices 1072. Touch panel 1071, also known as touch screen, can collect user touch operations (such as operations performed by the user using their palm, fingers, or suitable accessories on or near touch panel 1071) and drive corresponding connected devices according to a pre-set program. Touch panel 1071 may include two parts: touch detection device 1073 and touch controller 1074. Touch detection device 1073 detects the user's touch position and the signal generated by the touch operation, and transmits the signal to touch controller 1074; touch controller 1074 receives touch information from touch detection device 1073, converts it into touch point coordinates, sends it to control module 110, and can receive and execute commands from control module 110. In addition to touch panel 1071, input unit 107 may also include other input devices 1072. Specifically, other input devices 1072 may include, but are not limited to, one or more of the following: remote control handles, etc., without any specific limitation here.
[0079] Furthermore, the touch panel 1071 can cover the display panel 1061. When the touch panel 1071 detects a touch operation on or near it, it transmits the information to the control module 110 to determine the type of touch event. Subsequently, the control module 110 provides corresponding visual output on the display panel 1061 according to the type of touch event. Although in Figure 2 In this embodiment, the touch panel 1071 and the display panel 1061 are two independent components that implement input and output functions respectively. However, in some embodiments, the touch panel 1071 and the display panel 1061 can be integrated to implement input and output functions. The specific implementation is not limited here.
[0080] The control module 110 is the control center of the legged robot 100. It connects various components of the legged robot 100 through various interfaces and lines. It controls the legged robot 100 as a whole by running or executing software programs stored in the storage unit 105 and calling data stored in the storage unit 105.
[0081] Power supply 111 supplies power to various components. Power supply 111 may include a battery and a power control board. The power control board controls battery charging, discharging, and power consumption management. Figure 2 In the illustrated embodiment, power supply 111 is electrically connected to control module 110. In other embodiments, power supply 111 may also be electrically connected to sensing unit 103 (such as camera, radar, speaker, etc.) and motor 1012. It should be noted that each component may be connected to a different power supply 111, or may be powered by the same power supply 111.
[0082] Based on the above embodiments, specifically, in some embodiments, a terminal device can be used to communicate with the legged robot 100. When the terminal device communicates with the legged robot 100, it can send instruction information to the legged robot 100. The legged robot 100 can receive the instruction information through the communication unit 102 and, upon receiving the instruction information, can transmit it to the control module 110, so that the control module 110 can process the instruction information to obtain the target speed value. The terminal device includes, but is not limited to, mobile phones, tablet computers, servers, personal computers, wearable smart devices, and other electrical appliances with image capture capabilities.
[0083] The instruction information can be determined based on preset conditions. In one embodiment, the legged robot 100 may include a sensing unit 103, which can generate instruction information based on the current environment of the legged robot 100. The control module 110 can determine whether the current speed value of the legged robot 100 meets the corresponding preset conditions based on the instruction information. If it does, the current speed value and current gait of the legged robot 100 will be maintained; if it does not, a target speed value and a corresponding target gait will be determined based on the corresponding preset conditions, thereby controlling the legged robot 100 to move at the target speed value and the corresponding target gait. Environmental sensors may include temperature sensors, air pressure sensors, vision sensors, and sound sensors. Instruction information may include temperature information, air pressure information, image information, and sound information. The communication method between the environmental sensors and the control module 110 can be wired communication or wireless communication. Wireless communication methods include, but are not limited to: wireless networks, mobile communication networks (3G, 4G, 5G, etc.), Bluetooth, and infrared.
[0084] Please see Figure 4 The diagram shown is a flowchart of a path planning method for a legged robot according to a preferred embodiment of this application. The order of steps in the flowchart can be changed, and some steps can be omitted, depending on different requirements.
[0085] In one embodiment of this application, the path planning method of the legged robot is applied to an electronic device 1 that is wirelessly connected to the legged robot 100, or directly applied to the legged robot 100. The following description uses the application of the path planning method of the legged robot to an electronic device 1 that is wirelessly connected to the legged robot 100 as an example.
[0086] S401, Obtain the global path of the legged robot 100.
[0087] In one embodiment, the global path of the legged robot 100 can be planned based on the starting position information, target position information, and a global map of the surrounding environment. The surrounding environment of the legged robot 100 is an indoor environment, an outdoor environment, or a combination of indoor and outdoor environments, and the global map of the surrounding environment is a global topology map.
[0088] In one embodiment, the legged robot 100 may include a global positioning module. The legged robot 100 can determine its position in a global path through the global positioning module. For example, the global positioning module can obtain the position of the legged robot 100 in the global path based on the information of reference objects around the legged robot. The number of reference objects can affect the global positioning accuracy of the global positioning module. Before performing path planning, the electronic device 1 can obtain the confidence level of the initial global positioning accuracy of the global positioning module. If the confidence level of the initial global positioning accuracy is greater than a preset value, it indicates that the global positioning accuracy of the global positioning module meets the autonomous navigation requirements of the legged robot 100 (i.e., the global positioning accuracy meets the preset accuracy requirements). The electronic device 1 can then perform global path planning by obtaining the starting position information, target position information, and a global map of the surrounding environment of the legged robot 100 to plan the global path of the legged robot 100. If the confidence level of the initial global positioning accuracy is not greater than the preset value, it indicates that the global positioning accuracy of the global positioning module cannot meet the autonomous navigation requirements of the legged robot 100. A preset prompt message can be output, and the legged robot 100 can exit the autonomous navigation mode.
[0089] In one embodiment, acquiring the starting position information, target position information, and a global map of the surrounding environment may include: before performing path planning, the electronic device 1 acquires the starting position information and target position information input by the user, and downloads at least one global topology map of the indoor and / or outdoor motion environment of the legged robot 100 from a server. In other embodiments, the electronic device 1 may also pre-store at least one global topology map of the indoor and / or outdoor motion environment of the legged robot 100. The topology map is composed of elements such as nodes, routes, relationships, and tags. A node represents the coordinates of a location (e.g., an intersection, any point on a road, building coordinates, etc.). A route is composed of several nodes, used to represent streets, parks, sidewalks, etc. Relationships represent the relationships between several nodes and routes, used to create complex shapes, etc. Tags are used for node or route information, such as whether a road is one-way, the maximum speed limit of a road, etc. The starting position information and target position information may be latitude and longitude information or node information.
[0090] In one embodiment, the global path includes at least one node, which is a node in the global topology map. Planning the global path of the legged robot 100 includes: using a path planning algorithm to plan the shortest path from the starting position to the target position based on multiple nodes in the at least one global topology map, as the global path. Please refer to [link to relevant documentation]. Figure 5 As shown, assuming the starting position is node A and the target position is node B, route a is the shortest path from the starting position node A to the target position node B, which is the global path.
[0091] In one embodiment, the path planning algorithm is the A* algorithm. The A* algorithm is a heuristic search algorithm that establishes heuristic search rules during the search process to measure the distance relationship between the real-time location and the target location, causing the search direction to preferentially move towards the target point's location. In other embodiments, the path planning algorithm may also be the Dijkstra algorithm, the D* algorithm, the LPA* algorithm, or the D*lite algorithm.
[0092] S402, constructs a local map based on sensing information from the surrounding environment.
[0093] In one embodiment, the local map covers at least one node on the global path.
[0094] In one embodiment, constructing a local map based on sensing information from the surrounding environment includes: when the legged robot begins to move in the surrounding environment from its starting position node A, it acquires sensing information about the surrounding environment every preset time interval through its sensing unit. If the local map is constructed by an electronic device 1, the legged robot 100 can also transmit the sensing information to the electronic device 1 via a wireless communication network to construct the local map based on the sensing information from the surrounding environment. Optionally, the preset time interval is thirty seconds.
[0095] In one embodiment, the local map is an elevation map. Constructing the local map includes building the local map based on elevation information within a preset range sensed by the sensing unit of the legged robot and a preset resolution. The elevation information reflects the terrain height within the preset range and / or the height of any buildings or structures on the terrain. Optionally, the preset range is 20m x 20m, and the preset resolution is 5cm.
[0096] Specifically, the sensing unit may include a lidar and a camera. During movement, the legged robot 100 scans and photographs the surrounding environment using the lidar and camera to obtain the terrain features of the surrounding environment, extract the terrain height information in the surrounding environment, and construct a local map based on the extracted terrain height information.
[0097] Furthermore, in one embodiment, constructing a local map further includes: when constructing the local map, if protruding obstacles and / or holes are detected, filtering the protruding obstacles and / or holes on the local map, and marking the filtered protruding obstacles and / or holes as impassable obstacles.
[0098] Specifically, when constructing the local map, the legged robot 100 can detect protruding obstacles based on ground segmentation and settlement collision detection methods and sensing information, and search for surface discontinuities in the lidar point cloud generated based on sensing information to detect holes. If protruding obstacles and / or holes are detected, they are filtered on the local map and marked. For example, semantic information can be used for marking, that is, the areas of protruding obstacles and / or holes on the local map are labeled with the text "obstacle". In this way, protruding obstacles such as walls and large rocks, and holes such as large pits and uncovered sewers can be directly regarded as obstacles and displayed on the local map, eliminating the need for subsequent analysis of obstacle areas, thereby significantly reducing computation time.
[0099] S403, construct a local passable map based on the motion performance parameters of the legged robot 100 and the local map.
[0100] In one embodiment, the motion performance parameters of the legged robot 100 may include at least one of the following: a height threshold for crossing steps, a surface roughness threshold for passing through, a slope threshold for passing through ramps, and a height threshold for passing through suspended objects.
[0101] In one embodiment, a local passability map can be constructed based on the motion performance parameters of the legged robot 100 and the local map in the following manner: a. Dividing the projection plane of the local map into multiple cells; b. Based on the motion performance parameters, setting a slope filter to calculate the slope, setting a terrain roughness filter to calculate the ground roughness, setting a step height filter to calculate the step height, and setting a cantilever height filter to calculate the cantilever height; c. Calculating the passability parameter of each cell according to the motion performance parameters and the local map; d. If the passability parameter of the cell is greater than or equal to 0 and less than or equal to 1, the cell is determined to be a passable cell, that is, the legged robot 100 can pass through the cell; e. If the passability parameter of the cell is less than 0, the cell is determined to be an impassable cell, that is, the legged robot 100 cannot pass through the cell; f. Calculating the average passability parameter of all cells within the projection range of the legged robot 100; g. Determining the passability tf of the projection range based on the average value; h. Constructing the local passability map based on the passability of all projection ranges within the local map.
[0102] In one embodiment, if the danger value is infinitely large, and the passability parameter of the cell is less than 0 and infinitely small, then the legged robot 100 is determined to be unable to pass through the cell. Specifically, if any of the following conditions are met: the slope is greater than a slope threshold, the ground roughness is greater than a ground roughness threshold, the step height is greater than a step height threshold, and the difference between the upper limit of the cell's height above the ground and the height above the ground is greater than the upper limit of the cell's height above the ground and the lower limit of the cell's height above the ground, then the danger value is determined to be infinitely large.
[0103] In one embodiment, the passability tf of the footprint is represented by 0 or 1. If the average value is greater than or equal to 0 and less than or equal to 1, the projected area is determined to be passable, and the passability tf of the projected area is set to 1. If the average value is less than 0, the projected area is determined to be impassable, and the passability tf of the projected area is set to 0.
[0104] In one embodiment, the accessibility of all footprints is marked on the local map, and footprints with accessibility tf = 1 are combined to construct the local accessibility map.
[0105] The legged robot 100 has a preset step length, which is the maximum distance that the leg structure of the legged robot 100 can cover in each step during movement.
[0106] In other embodiments, the construction of a locally passable map may further include: determining whether the legged robot 100 can pass through based on multiple preset constraints, the multiple preset constraints including: if the width of the hole is less than the preset step length, the legged robot 100 can pass through the hole; if the inclination of the terrain where the legged robot 100 is located is greater than a preset inclination limit, the legged robot 100 cannot pass through the terrain; but if the width of the slope area with a slope greater than the preset inclination limit is less than the preset step length, the legged robot can pass through the slope area; if the width of the ground area with roughness greater than the roughness threshold is less than the preset step length, the legged robot 100 can pass through the ground area.
[0107] S404, based on the global positioning accuracy of the legged robot 100, the global path, the current position of the legged robot 100, and the local target node of the legged robot 100 that can be determined through the local map, and based on the local target node and the current position of the legged robot 100, plan the local path of the legged robot 100.
[0108] In one embodiment, when a partially accessible map is constructed, local target nodes of the legged robot 100 can be determined based on the global positioning accuracy of the legged robot 100, the global path, the current position of the legged robot 100, and the partially accessible map. Then, based on the partially accessible map, the local target nodes, and the current position of the legged robot 100, a local path of the legged robot 100 is planned, so that the legged robot 100 moves based on the planned local path.
[0109] like Figure 7 As shown, based on the global positioning accuracy of the legged robot 100, the global path, the current position of the legged robot 100, and the local target nodes of the legged robot 100 that can be determined through the local map, and based on the local target nodes and the current position of the legged robot 100, the detailed process of planning the local path of the legged robot 100 may include:
[0110] S4041, when the global positioning accuracy of the legged robot 100 meets the preset accuracy requirements, the local target node of the legged robot 100 is determined based on the global path and the current position of the legged robot 100.
[0111] In one embodiment, during local path planning, the confidence level of the global positioning accuracy of the global positioning module can be obtained in real time, and then the confidence level of the global positioning accuracy can be used to determine whether the global positioning accuracy meets the preset accuracy requirements. When it is determined that the global positioning accuracy of the legged robot 100 meets the preset accuracy requirements, it indicates that the legged robot 100 has the ability to navigate autonomously based on the global path, and a local path can be planned for the legged robot 100 to walk to a local target node. The current position of the legged robot is latitude and longitude information. Determining the local target node of the legged robot 100 includes: taking the current position of the legged robot 100 as the center, determining a preset radius range including at least one node on the global topology path, and determining the node farthest from the legged robot 100 within the preset radius range that is within the locally passable map as the local target node. The preset radius range can be set according to actual perception needs; for example, the preset radius range can be the perception range of the legged robot 100.
[0112] like Figure 5 As shown, for example, the current position of the legged robot 100 is point O. A preset radius range including node D on the global topology path is determined with point O as the center. Assuming that node D is within the locally accessible map, node D is determined to be the node farthest from the legged robot within the preset radius range, that is, node D is the local target node.
[0113] It should be noted that as the legged robot 100 continues to move, the local target node can be continuously updated until it reaches the target position.
[0114] S4042, Based on the local map, the local passable map, the local target node, and the current position of the legged robot 100, plan the local path of the legged robot 100.
[0115] In one embodiment, since the position of the legged robot 100 needs to remain in contact with the ground, the local path is a 2.5D path. Each point on the local path has X-axis coordinates and Y-axis coordinates in a global coordinate system. Based on the X-axis coordinates, Y-axis coordinates, and local elevation map of each point, the Z-axis coordinate, i.e., the height, can be obtained for each point.
[0116] In one embodiment, planning a local path for the legged robot 100 based on the local map, the local passability map, the local target node, and the current position of the legged robot 100 may include: selecting a passable projection range on the local passability map, and planning the shortest path from the current position of the legged robot 100 to the local target node using a path planning algorithm. Optionally, the path planning algorithm is the A* algorithm.
[0117] In one embodiment, for the legged robot 100 to achieve autonomous navigation, a global coordinate system (also known as a world coordinate system) and an odometry coordinate system can be defined. The global coordinate system is used to describe the working environment space of the legged robot 100 and is generally fixed, usually constructed using a geodetic coordinate system. The odometry coordinate system is a coordinate system established with the odometry as the center. Since the odometry moves with the legged robot 100, the odometry coordinate system is not a fixed coordinate system. As an effective sensor for the relative positioning of the legged robot 100, the odometry can provide real-time pose information for the legged robot 100. The odometry can calculate the changes in the relative pose of the legged robot 100 based on data from sensors such as encoders and gyroscopes.
[0118] In one embodiment, the current position of the legged robot 100 may refer to position information determined in a global coordinate system.
[0119] In one embodiment, the electronic device 1 can send the planned local path of the legged robot 100 to the legged robot 100, so that the legged robot 100 can move autonomously under the guidance of the local path to the local target node.
[0120] In one embodiment, the local path can be continuously updated until the legged robot 100 reaches the target position. As the legged robot 100 continues to move, the local map, the local passable map, and the local target node are updated every preset time period, thereby planning an updated local path and tracking the updated local path until the legged robot 100 reaches the target position, ultimately completing autonomous path planning and autonomous movement in a large-scale complex environment.
[0121] In one embodiment, after determining a local target node of the legged robot 100, the legged robot 100 can acquire the surrounding environment information of the local target node through a sensing unit, extract the semantic information of the local target node based on the surrounding environment information, and record the object corresponding to the local target node. This facilitates autonomous navigation based on the object corresponding to the local target node when the global positioning accuracy does not meet the preset accuracy requirement. The semantic information of the local target node can refer to the location features used to characterize the location of the local target node. For example, the semantic information can be the entrance of an underground parking garage, the center of a road, the entrance of a plaza, the elevator entrance, the exit of a pedestrian bridge, etc. Assuming node D is the local target node, the semantic information of node D is the exit of a pedestrian bridge, that is, node D is located at or near the exit of a pedestrian bridge.
[0122] In one embodiment, the object corresponding to the local target node can refer to an object used to mark the approximate location of the local target node. For example, if node D is the local target node and its semantic information is a pedestrian bridge exit, the object corresponding to the local target node can refer to objects near the pedestrian bridge exit, such as streetlights or signposts. The object corresponding to the local target node can be set based on the actual acquired environmental information surrounding the local target node. Preferably, the object closest to the location of the local target node and which remains stationary is set as the object corresponding to the local target node.
[0123] like Figure 6 As shown, the current position of the legged robot 100 is point O, node D is the local target node, and there are fixed objects d1 and d2 near node D. The object d1 that is closest to node D and is fixed is set as the object corresponding to node D.
[0124] In one embodiment, during the process of the legged robot 100 moving to the local target node based on the planned local path, the surrounding environment information of the local target node can be obtained through the sensing unit, the semantic information of the local target node can be extracted based on the surrounding environment information, and the object corresponding to the local target node can be recorded, so as to facilitate autonomous navigation based on the object corresponding to the local target node when the global positioning accuracy does not meet the preset accuracy requirement.
[0125] In one embodiment, if the global path of the legged robot 100 in step 401 is planned based on a global map with semantic information, that is, each node in the global path has its surrounding semantic information and the object corresponding to each node recorded in advance. In this case, the legged robot 100 does not need to obtain the surrounding environment information of the node through the sensing unit during autonomous navigation, that is, it does not need to extract the semantic information of the node or determine the object corresponding to the node based on the surrounding environment information.
[0126] S4043, when the global positioning accuracy of the legged robot 100 does not meet the preset accuracy requirement, the object corresponding to the local target node is acquired, and the pose of the object in the odometry coordinate system is calculated. In one embodiment, when the legged robot 100 navigates to the local target node based on the planned local path, the global positioning accuracy may decrease due to changes in the number of surrounding reference objects. When the global positioning accuracy of the legged robot 100 does not meet the preset accuracy requirement, the legged robot 100 cannot accurately obtain its own position in the global path and the position of the local target node it is going to, that is, the legged robot 100 does not have the ability to navigate autonomously based on the global path.
[0127] Assuming node D is the local target node, since the semantic information of node D and the object corresponding to node D are already determined before the global positioning accuracy decreases, the legged robot 100 can acquire surrounding environmental information in real time through its sensing unit, identify the object in the surrounding environment corresponding to the semantic information of node D, and further calculate the pose of the object in the odometry coordinate system. The pose of the object is the local target point in the odometry coordinate system. That is, when the global positioning accuracy of the legged robot 100 does not meet the preset accuracy requirement, by equating the position of object d1 with the position of node D, the pose of object d1 in the odometry coordinate system is obtained, and then autonomous navigation to the position of object d1 can be achieved based on the odometry coordinate system.
[0128] Specifically, when the positioning accuracy of the legged robot 100 does not meet the preset accuracy requirement, the current surrounding environment information of the legged robot can be obtained through the sensing unit, and the local area corresponding to the semantic information of the local target node (node D) can be identified from the current surrounding environment information. Then, the object corresponding to the local target node can be identified from the local area to realize the positioning of object d1.
[0129] S4044, the object is taken as a new local target node, and a local path of the legged robot 100 is planned based on the local passable map, the new local target node and the current position of the legged robot 100 in the odometry coordinate system.
[0130] In one embodiment, when the pose of object d1 in the odometry coordinate system is calculated, object d1 can be used as a new local target node. By planning the local path of the legged robot 100, the legged robot 100 can autonomously navigate to the location of object d1.
[0131] Since the legged robot 100 needs to maintain contact with the ground, the local path is also a 2.5D path. Each point on the local path has X-axis and Y-axis coordinates in the global coordinate system. Based on the X-axis and Y-axis coordinates of each point and the local elevation map, the corresponding Z-axis coordinate, i.e., the altitude, can be obtained. Because the odometry has stable, high-precision, and smooth performance in short-distance navigation, the planned local 2.5D path can ensure that the legged robot 100 can autonomously navigate near the desired global path.
[0132] In one embodiment, planning a local path for the legged robot 100 based on the local passability map, the new local target node, and the current position of the legged robot 100 in the odometry coordinate system may include: selecting a passable projection range on the local passability map, and planning the shortest path from the current position of the legged robot 100 to the new local target node using a path planning algorithm. Optionally, the path planning algorithm is the A* algorithm.
[0133] In one embodiment, the electronic device 1 can send the planned local path of the legged robot 100 to the legged robot 100, so that the legged robot 100 can move autonomously under the guidance of the local path to the new local target node, that is, to the position where the object d1 is located.
[0134] In one embodiment, when the legged robot 100 reaches the new local target node and the global positioning accuracy of the legged robot 100 still does not meet the preset accuracy requirement, preset positioning error information can be output, and the legged robot 100 can be controlled to exit the autonomous navigation mode. The preset positioning error information can be set according to actual needs, and this application does not limit it. For example, such as Figure 6 As shown, when the legged robot 100 moves autonomously to the location of object d1 under the navigation of the local path, and the global positioning accuracy of the legged robot 100 still does not meet the preset accuracy requirements, since the semantic information of node E and the object corresponding to node E cannot be known, steps S4043 and S4044 cannot be repeated. At this time, the legged robot 100 can be controlled to exit the autonomous navigation mode.
[0135] In one embodiment, if the global path of the legged robot 100 is planned based on a global map with semantic information, that is, each node in the global path has its surrounding semantic information and the object corresponding to each node recorded in advance, then steps S4043 and S4044 can be repeatedly executed to update the local path, so that the legged robot 100 can autonomously move to the position of the object corresponding to node E under the navigation of the local path. When it moves to the position of the object corresponding to node E, steps S4043 and S4044 can be repeatedly executed to update the local path, so that the legged robot 100 can autonomously move to the position of the object corresponding to node B under the navigation of the local path, thereby reaching the target position.
[0136] Specifically, when the legged robot 100 reaches the new local target node (object d1) and the positioning accuracy of the legged robot 100 still does not meet the preset accuracy requirement, the object corresponding to the next local target node (node E) is obtained from the global path, and the pose of the object corresponding to the next local target node in the odometry coordinate system is calculated; the object corresponding to the next local target node (node E) is updated as a new local target node, and based on the local passable map, the updated new local target node and the current position of the legged robot in the odometry coordinate system, the local path of the legged robot is planned, so that the legged robot 100 can autonomously move to the position of the object corresponding to node E under the navigation of the local path.
[0137] In one embodiment, when the legged robot 100 is autonomously moving under the navigation of the local path, and the global positioning accuracy is restored to meet the preset accuracy requirements, it can switch to executing steps S4041 and S4042 to plan the local path of the legged robot 100 until the legged robot 100 reaches the target position.
[0138] In one embodiment, path tracking planning, dynamic obstacle avoidance planning, and corresponding motion control of the legged robot 100 can also be performed based on the local path and the dynamic obstacles sensed by the legged robot 100.
[0139] It is understood that during the autonomous movement of the legged robot 100 based on the local path, it may encounter dynamic obstacles, such as pedestrians, animals, vehicles, etc. The legged robot 100 can send the sensed obstacle information to the electronic device 1. The electronic device 1 makes decisions on the movement control of the legged robot 100 based on the obstacle information, such as sending commands to control the legged robot 100 to turn, pause movement, accelerate movement, decelerate movement, etc., so as to avoid dynamic obstacles and realize the path tracking planning, dynamic obstacle avoidance planning and corresponding movement control of the legged robot 100.
[0140] In other embodiments of this application, the legged robot 100 may also be the electronic device 1 itself, autonomously planning its path, including constructing a global path based on a global map, constructing a local map based on sensor information, constructing a passability map by calculating passability parameters, planning and updating local target nodes and local paths, autonomously moving to the target position along the continuously updated local paths, and autonomously avoiding obstacles when encountering dynamic obstacles during the movement. Thus, there is no need to transmit sensor information to other electronic devices 1, nor to receive local paths and obstacle avoidance motion control planned by other electronic devices, thereby reducing latency in path planning and autonomous movement, and improving movement efficiency.
[0141] Please see Figure 8 The diagram shown is a structural schematic of an electronic device provided in a preferred embodiment of this application.
[0142] The electronic device 1 includes, but is not limited to, a processor 10, a memory 20, a computer program 30 stored in the memory 20 and executable on the processor 10, a slope filter 40, a terrain roughness filter 50, a step height filter 60, and a suspended layer height filter 70. For example, the computer program 30 is a route planning program. When the processor 10 executes the computer program 30, it implements the steps in the path planning method of the legged robot, for example... Figure 4 The steps S401 to S404 shown are as follows: Figure 7 S401~S403 and S4041~S4044 are shown.
[0143] It should be noted that if the legged robot 100 is the electronic device 1, the processor 10 is the control module 110, and the memory 20 is the storage unit 105.
[0144] For example, the computer program 30 may be divided into one or more modules / units, which are stored in the memory 20 and executed by the processor 10 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 30 in the electronic device 1.
[0145] Those skilled in the art will understand that the schematic diagram is merely an example of electronic device 1 and does not constitute a limitation on electronic device 1. It may include more or fewer components than shown in the diagram, or combine certain components, or different components. For example, electronic device 1 may also include input / output devices, network access devices, buses, etc.
[0146] The processor 10 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or the processor 10 can be any conventional processor. The processor 10 is the control center of the electronic device 1, connecting all parts of the electronic device 1 via various interfaces and lines.
[0147] The memory 20 can be used to store the computer program 30 and / or modules / units. The processor 10 implements various functions of the electronic device 1 by running or executing the computer program and / or modules / units stored in the memory 20 and calling the data stored in the memory 20. The memory 20 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device 1 (such as audio data, telephone book, etc.). In addition, the memory 20 may include volatile and non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other storage devices.
[0148] The slope filter 40 is a computer program for calculating the slope of a slope, the terrain roughness filter 50 is a computer program for calculating the surface roughness, the step height filter 60 is a computer program for calculating the step height, and the overhang height filter 70 is a computer program for calculating the overhang height.
[0149] If the modules / units integrated in the electronic device 1 are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), or a random access memory (RAM).
[0150] The extended content of the specific embodiments of the computer-readable storage medium described in this application is basically the same as the various embodiments of the path planning method for the legged robot described above, and will not be repeated here.
[0151] The path planning method, electronic device, and storage medium for legged robots provided in this application can plan a global topological path. At the same time, it can also identify complex terrain on the running path through the sensor information of the legged robot, and intelligently analyze whether the legged robot can pass through the complex terrain. Based on the passability, the real-time robot position, and the target node of the global topological path, it plans and updates the local path until the legged robot reaches the target position, so that the legged robot can autonomously pass through or avoid complex terrain, thereby improving the legged robot's adaptability to the outdoor environment.
[0152] It will be apparent to those skilled in the art that this application is not limited to the details of the exemplary embodiments described above, and that this application can be implemented in other specific forms without departing from the spirit or essential characteristics of this application. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of this application is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be embraced within this application. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in the apparatus claims may also be implemented by the same unit or device in software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any particular order.
[0153] The above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit it. Although this application has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of this application without departing from the spirit and scope of the technical solutions of this application.
Claims
1. A path planning method for a legged robot, characterized in that, The method includes: Obtain the global path of the legged robot, the global path being planned based on a global map, and the global path including at least one node; Based on the sensing information of the surrounding environment, a local map is constructed, wherein the local map is an elevation map and covers at least one of the nodes; A local passable map is constructed based on the motion performance parameters of the legged robot and the local map. Based on the global positioning accuracy of the legged robot, the global path, the current position of the legged robot, and the local target nodes of the legged robot determined by the local map, and based on the local map, the local target nodes, and the current position of the legged robot, the local path of the legged robot is planned. The local target nodes determined when the global positioning accuracy meets the preset accuracy requirement are different from the local target nodes determined when the global positioning accuracy does not meet the preset accuracy requirement. The local target nodes determined when the global positioning accuracy does not meet the preset accuracy requirement are the objects corresponding to the local target nodes determined when the global positioning accuracy meets the preset accuracy requirement. Based on the planned local path, the legged robot moves to the local target node; Update the next local target node of the legged robot and the local path to the next local target node until the legged robot moves to the last node of the global path.
2. The path planning method for a legged robot as described in claim 1, characterized in that, The step of determining the local target node of the legged robot based on the global positioning accuracy of the legged robot, the global path, the current position of the legged robot, and the local target node of the legged robot via the local map, and planning the local path of the legged robot based on the local target node and the current position of the legged robot, includes: When the global positioning accuracy of the legged robot meets the preset accuracy requirements, the local target node of the legged robot can be determined based on the global path, the current position of the legged robot, and the local accessible map. Based on the local map, the local passable map, the local target node, and the current position of the legged robot, a local path for the legged robot is planned. When the global positioning accuracy of the legged robot does not meet the preset accuracy requirement, the object corresponding to the local target node is obtained, and the pose of the object in the odometry coordinate system is calculated. The object is used as a new local target node, and a local path of the legged robot is planned based on the local access map, the new local target node, and the current position of the legged robot in the odometry coordinate system.
3. The path planning method for a legged robot as described in claim 1, characterized in that, Before obtaining the global path of the legged robot, the following is included: Obtain the confidence level of the initial global positioning accuracy of the legged robot; When the confidence level of the initial global positioning accuracy is greater than a preset value, the starting position information, target position information, and global map of the surrounding environment are obtained, and the global path of the legged robot is planned.
4. The path planning method for a legged robot as described in claim 2, characterized in that, After determining the local target node of the legged robot based on the global path, the current position of the legged robot, and the local accessible map, the method further includes: Obtain the surrounding environment information of the local target node, extract the semantic information of the local target node based on the surrounding environment information, and record the objects corresponding to the local target node.
5. The path planning method for a legged robot as described in claim 4, characterized in that, When the global positioning accuracy of the legged robot does not meet the preset accuracy requirement, acquiring the object corresponding to the local target node includes: When the global positioning accuracy of the legged robot does not meet the preset accuracy requirement, the current surrounding environment information of the legged robot is obtained, and the local region corresponding to the semantic information of the local target node is identified from the current surrounding environment information. Identify the object corresponding to the local target node from the local region.
6. The path planning method for a legged robot as described in claim 2, characterized in that, The method further includes: When the legged robot reaches the new local target node and the global positioning accuracy of the legged robot still does not meet the preset accuracy requirement, a preset positioning error message is output, and the legged robot is controlled to exit the autonomous navigation mode.
7. The path planning method for a legged robot as described in claim 2, characterized in that, The method further includes: When the legged robot reaches the new local target node and the global positioning accuracy of the legged robot still does not meet the preset accuracy requirement, the object corresponding to the next local target node is obtained from the global path, and the pose of the object corresponding to the next local target node in the odometry coordinate system is calculated; the object corresponding to the next local target node is updated as the new local target node.
8. The path planning method for a legged robot as described in claim 7, characterized in that, The global path is planned based on a global map with semantic information, and each node in the global path has corresponding semantic information.
9. An electronic device, characterized in that, The electronic device includes: Processor; and A memory containing a plurality of program modules, which are loaded by the processor and executed as the path planning method for the legged robot as described in any one of claims 1 to 8.
10. A computer-readable storage medium having stored thereon at least one computer instruction, characterized in that, The instructions are loaded by the processor and executed as a path planning method for a legged robot as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Control method and electronic equipment
CN103838240A
ROS robot local path planning method based on DWA
CN112325884A