WO2021259192A1 - 路径规划方法、装置、机器人及存储介质 - Google Patents

路径规划方法、装置、机器人及存储介质 Download PDF

Info

Publication number
WO2021259192A1
WO2021259192A1 PCT/CN2021/101206 CN2021101206W WO2021259192A1 WO 2021259192 A1 WO2021259192 A1 WO 2021259192A1 CN 2021101206 W CN2021101206 W CN 2021101206W WO 2021259192 A1 WO2021259192 A1 WO 2021259192A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
target
area
point
list
Prior art date
Application number
PCT/CN2021/101206
Other languages
English (en)
French (fr)
Inventor
蔡小龙
王超
姚秀军
桂晨光
蔡禹丞
马福强
李振
郭新然
崔丽华
Original Assignee
京东科技信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京东科技信息技术有限公司 filed Critical 京东科技信息技术有限公司
Priority to US17/924,510 priority Critical patent/US20230273031A1/en
Priority to EP21828991.6A priority patent/EP4170452A4/en
Publication of WO2021259192A1 publication Critical patent/WO2021259192A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors

Definitions

  • the present disclosure generally relates to the field of robotics, and more specifically, to path planning methods, devices, robots, and storage media.
  • the indoor robot navigation system is mainly composed of sensor perception, positioning, path planning and motion control.
  • the sensor is responsible for detecting the position of obstacles around the robot, and fusing the existing map information to obtain the real-time position of the robot.
  • the navigation system After receiving the target point navigation instruction from the host computer, the navigation system will plan an optimal path to the target point. , And control the motor to follow this path to reach the target point.
  • the path planning algorithm uses the obstacle information detected by the sensor and the existing map to find the shortest path from the starting point to the target point (the robot is regarded as a mass point), and this path will not pass through the obstacle.
  • the robot can reach the target point.
  • the robot is not a mass point, and the existing path planning algorithm cannot guarantee that the edge of the robot will not encounter obstacles. Therefore, the robot may have collisions during the movement of the shortest path obtained by the existing path planning algorithm, especially when it is at a corner position. In the case of obstacles.
  • the present disclosure relates to a path planning method, which includes:
  • the target path of the robot is determined based on a plurality of the target nodes.
  • the stepwise processing of the passable area between the start point and the end point in the grid map, and the determination of the cost value corresponding to each level area includes:
  • Obstacle detection based on sensors installed on the robot to generate a grid map
  • the corresponding generation value is set for each level area.
  • the traversal of the passable area from the starting point based on the cost value of each level area to determine multiple target nodes that meet the minimum value of a preset function includes:
  • the node to be searched for with the smallest function value is added as a target node to the second list, until the target node in the second list contains the end point, stop traversing the to-be searched in the first list node.
  • the adding the starting point and the point adjacent to the starting point in the traversable area as the node to be searched into the first list includes:
  • the parent node and the child node are added to the first list as the node to be searched.
  • the method further includes:
  • the target node If the target node has adjacent points, the target node is used as a parent node, and the adjacent points of the target node are used as child nodes;
  • the child node is added to the first list as the node to be searched.
  • the determining the target path of the robot based on a plurality of the target nodes includes:
  • the target path of the robot from the starting point to the ending point is determined according to the pointers carried on the multiple target nodes.
  • the method further includes:
  • the target node in the second list does not include the end point, it is determined that there is no target path.
  • a path planning device which includes:
  • the processing module is configured to perform hierarchical processing on the passable area between the start point and the end point in the grid map, and determine the cost value corresponding to each level of the area;
  • the traversal module is configured to traverse the passable area from the starting point based on the cost value of each level area, and determine multiple target nodes that meet the minimum value of the preset function;
  • the determining module is configured to determine the target path of the robot based on a plurality of the target nodes.
  • the present disclosure relates to a robot, which includes a processor and a memory, and the processor is configured to execute a path planning program stored in the memory to implement the path planning method described in the present disclosure.
  • the present disclosure relates to a storage medium that stores one or more programs, and the one or more programs can be executed by one or more processors to implement the path planning method described in the present disclosure.
  • the path planning method of certain embodiments of the present disclosure performs hierarchical processing on the passable area between the start point and the end point in the grid map, and determines the cost value corresponding to each level area; based on the cost value of each level area from the Start traversing the passable area from the starting point to determine multiple target nodes that meet the minimum value of the preset function; and determine the target path of the robot based on the multiple target nodes to classify the passable area and classify it for each level
  • the corresponding generation value of the area is set, and the generation value that characterizes the distance to the obstacle is used to assist the planned path to avoid the robot from touching the obstacle during the movement, and the optimized path does not increase significantly, ensuring the operating efficiency of the robot.
  • FIG. 1 shows a schematic diagram of a path obtained by using an A* algorithm according to an embodiment of the present disclosure
  • FIG. 2 shows a schematic flowchart of a path planning method provided by an embodiment of the present disclosure
  • FIG. 3 shows a schematic diagram of the classification of passable areas provided by an embodiment of the present disclosure
  • FIG. 4 shows a schematic diagram of a path obtained based on a hierarchical setting cost value provided by an embodiment of the present disclosure
  • FIG. 5 shows a schematic flowchart of another path planning method provided by an embodiment of the present disclosure
  • Fig. 6 shows a schematic diagram of a parent node and a child node provided by an embodiment of the present disclosure
  • FIG. 7 shows a schematic diagram of path planning provided by an embodiment of the present disclosure
  • FIG. 8 shows a schematic structural diagram of a path planning device provided by an embodiment of the present disclosure.
  • Fig. 9 shows a schematic structural diagram of a robot provided by an embodiment of the present disclosure.
  • the path planning method involved in the embodiments of the present disclosure is applied in the field of robotics.
  • the robot uses the grid method to construct a map.
  • the size of the grid granularity can characterize the complexity of the environmental characteristics of the robot (for example, the smaller the grid granularity, the more accurate the environmental characteristics. Complex), each grid is filled with 0 and 1, 0 means passable, and 1 means obstacle.
  • Fig. 1 shows a schematic diagram of a path obtained by using the A* algorithm according to an embodiment of the present disclosure. From the initial state to the target state, the A* algorithm is used to calculate in turn, and the shortest path from the initial state to the target state is obtained, using the following formula:
  • f(n) is the estimated value of the distance from the initial state from the state n to the target state
  • g(n) is the actual distance value from the initial state to the state n in the state space
  • h(n) is the distance from the state n to the target state. The estimated distance value of the best path.
  • the path obtained by the A* algorithm is a black line between S (start point) and G (end point).
  • the shortest path can be obtained by directly using the A* algorithm, it may exist at the corners (A, B, C, and D) The situation where the robot hits an obstacle.
  • FIG. 2 shows a schematic flow chart of the path planning method provided by an embodiment of the present disclosure, as shown in FIG. Methods include:
  • S22 traverse the passable area from the starting point based on the cost value of each level area, and determine multiple target nodes that meet the minimum value of the preset function;
  • S23 Determine a target path of the robot based on the multiple target nodes.
  • the robot uses sensors (such as lidar) to detect obstacles around the robot, and build a grid map, and mark the passable areas and obstacles in the grid map.
  • the robot determines the current location through the positioning module The location (that is, the starting point), and the preset terminal, and then the passable area from the starting point to the terminal is obtained.
  • the passable areas are classified according to the preset rules, and then the passable areas composed of multi-level areas are obtained.
  • the width of each level area is the same, and the width of each level area and the granularity of the grid can be set to the same or different, and Set the corresponding cost value for each level area.
  • the cost value can represent the distance to the obstacle, that is, the farther away the area is from the obstacle, the smaller the corresponding cost value.
  • the cost value corresponding to the first-level area may include: the cost value corresponding to the first-level area is 150, the cost value corresponding to the second-level area is 100, the cost value corresponding to the third-level area is 50, and the cost value corresponding to the fourth-level area is 0.
  • the A* algorithm is used to traverse the passable area from the starting point, and the cost value corresponding to each level area is added to the function value of the calculation node corresponding to the preset function during the traversal process, and the function value is minimized As the target node.
  • determining the node with the smallest function value includes: performing a function calculation with a certain node and eight adjacent nodes as a group, and determining the node with the smallest function value among the eight adjacent nodes as the target node , And then perform function calculation again with the eight adjacent nodes of the target node, according to this, determine multiple target nodes that meet the minimum value of the preset function in the passable area.
  • the target path of the robot is formed.
  • FIG. 4 shows a schematic diagram of the path obtained based on the hierarchical setting cost value provided by an embodiment of the present disclosure. Comparing the path shown in FIG. 4 with the path shown in FIG. 1, the path obtained by using the hierarchical setting cost value is at the corner of the obstacle (For example, A, B, C, and D) are optimized to keep the robot's path away from obstacles to avoid the robot from touching obstacles during the movement.
  • the corner of the obstacle For example, A, B, C, and D
  • the path planning method performs hierarchical processing on the passable area between the start point and the end point in the grid map, and determines the cost value corresponding to each level area; based on the cost value of each level area from the start point Start to traverse the passable area to determine multiple target nodes that meet the minimum value of the preset function; and determine the target path of the robot based on the multiple target nodes, so as to classify the passable area and classify the area for each level Set the corresponding generation value, and use the generation value that characterizes the distance to the obstacle to assist the planned path to avoid the robot from touching the obstacle during the movement, and the optimized path does not increase significantly, ensuring the operating efficiency of the robot.
  • FIG. 5 shows a schematic flowchart of another path planning method provided by an embodiment of the present disclosure. As shown in FIG. 5, the method includes:
  • S51 Perform obstacle detection based on sensors provided on the robot to generate a grid map
  • S52 Determine the passable area between the start point and the end point in the grid map
  • S53 Perform a hierarchical process on the passable area according to the distance between the passable area and the obstacle from near to far;
  • the robot uses sensors (such as lidar) to detect obstacles around the robot, and build a 2D grid map, and mark the passable area and obstacles in the grid map.
  • sensors such as lidar
  • the robot determines the current position through its own positioning module, maps the current position on the 2D grid map, and uses the current position as the start point of the robot.
  • the robot receives the end point information sent by the external device and bases it on the end point.
  • the information maps the corresponding end point on the 2D grid map; the area enclosed by the start point, obstacles, and end point is used as the passable area.
  • the cost value corresponding to the first-level area may include: the cost value corresponding to the first-level area is 150, the cost value corresponding to the second-level area is 100, the cost value corresponding to the third-level area is 50, and the cost value corresponding to the fourth-level area is 0.
  • the embodiments of the present disclosure optimize the A* algorithm to assist in traversing the passable area with the first list and the second list.
  • the first list can be an open list (Open List) for placing the nodes to be searched, and the second list can It is a closed list (Closed List).
  • the heuristic function corresponding to the A* algorithm can be:
  • g(n) represents the moving cost between the current node and the starting point
  • h(n) represents the moving cost between the current node and the ending point.
  • the starting point is used as a parent node, and the point adjacent to the starting point is used as a child node, wherein a pointer is provided on the child node, and the pointer points to the parent node; and The parent node and the child node are added to the first list as the node to be searched.
  • FIG. 6 shows a schematic diagram of a parent node and child nodes provided by an embodiment of the present disclosure. As shown in FIG. 6, the parent node is surrounded by eight child nodes, and each child node carries a pointer, and the pointers point to the parent node.
  • a parent node plus eight child nodes can be used as a set of the node to be searched for calculation, and the node to be searched for among the nine nodes with a smaller function value As the target node, and add the target node to the second list.
  • the target node contains an end point, it is determined that the path search from the start point to the end point has been completed, and the traversal of the node to be searched in the first list is stopped.
  • the target node does not contain an end point, it is determined whether the target node has an adjacent point; if the target node has an adjacent point, the target node is taken as the parent node, and the target node is adjacent Point as a child node; and the child node is added to the first list as a node to be searched, and the traversal is continued.
  • the target node in the second list does not include the end point, it is determined that there is no target path.
  • the target path of the robot is formed by starting from the starting point and passing through part or all of the plurality of target nodes to the end point.
  • the black bold line is the boundary of the obstacle, and the passable area is divided into four-level areas according to the distance from the obstacle, and the first-level area
  • the corresponding cost value is 150
  • the cost value corresponding to the second-level area is 100
  • the cost value corresponding to the third-level area is 50
  • the cost value corresponding to the fourth-level area is 0.
  • the corresponding The minimum cost value of f is 1500. If the starting point S does not go directly upwards and go left or right at this time, moving from the fourth-level area to the third-level area at this time, the corresponding cost value will increase by 50. Therefore, according to the minimum value of f The value can only go up in the fourth level area.
  • the path planning method performs hierarchical processing on the passable area between the start point and the end point in the grid map, and determines the cost value corresponding to each level area; based on the cost value of each level area from the start point Start to traverse the passable area to determine multiple target nodes that meet the minimum value of the preset function; and determine the target path of the robot based on the multiple target nodes, so as to classify the passable area and classify the area for each level Set the corresponding generation value, and use the generation value that characterizes the distance to the obstacle to assist the planned path to avoid the robot from touching the obstacle during the movement, and the optimized path does not increase significantly, ensuring the operating efficiency of the robot.
  • Fig. 8 shows a schematic structural diagram of a path planning device provided by an embodiment of the present disclosure. As shown in Fig. 8, the structure includes:
  • the processing module 81 is configured to perform hierarchical processing on the passable area between the start point and the end point in the grid map, and determine the cost value corresponding to each level area;
  • the traversal module 82 is configured to traverse the passable area from the starting point based on the cost value of each level area, and determine multiple target nodes that meet the minimum value of the preset function;
  • the determining module 83 is configured to determine the target path of the robot based on a plurality of the target nodes.
  • the processing module 81 is configured to detect obstacles based on sensors provided on the robot to generate a grid map; determine the passable area between the start point and the end point in the grid map; According to the relationship between the distance between the passable area and the obstacle from near to far, the passable area is classified; and according to the distance of each level of the area from the obstacle from near to far, the value of the substitute is from large to small. , Set the corresponding cost value for each level area.
  • the traversal module 82 is configured to add the starting point and the point adjacent to the starting point in the passable area as the node to be searched into the first list; traverse the first list The node to be searched in and the function value of the heuristic function corresponding to the node to be searched is determined based on the cost value of the area where the node to be searched is located; and the node to be searched for with the smallest function value is used as the target node Add to the second list until the target node in the second list contains the end point, stop traversing the node to be searched in the first list.
  • the traversal module 82 is configured to use the starting point as a parent node and a point adjacent to the starting point as a child node, wherein the child node is provided with a pointer, the pointer Point to the parent node; and add the parent node and the child node to the first list as the node to be searched.
  • the traversal module 82 is further configured to determine whether the target node has an adjacent point; if the target node has an adjacent point, use the target node as a parent node, and The point adjacent to the target node is used as a child node; and the child node is added to the first list as a node to be searched.
  • the determining the target path of the robot based on a plurality of the target nodes includes:
  • the target path of the robot from the starting point to the ending point is determined according to the pointers carried on the multiple target nodes.
  • the determining module 83 is further configured to determine that there is no target path if the first list is empty and the target node in the second list does not include the end point.
  • the path planning device provided in this embodiment may be a path planning device as shown in FIG. 8, which can execute the path planning method as shown in FIGS. 2 and 7, thereby achieving the technical effects of the path planning method shown in FIGS. 2 and 7 , Please refer to the related descriptions in Figures 2 and 7, which is a concise description and will not be repeated here.
  • FIG. 9 shows a schematic structural diagram of a robot provided by an embodiment of the present disclosure.
  • the robot 900 shown in FIG. 9 includes: at least one processor 901, a memory 902, at least one network interface 904, and other user interfaces 903.
  • the various components in the robot 900 are coupled together through the bus system 905.
  • the bus system 905 is used to implement connection and communication between these components.
  • the bus system 905 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the bus system 905 in FIG. 9.
  • the user interface 903 may include a display, a keyboard, or a pointing device (for example, a mouse, a trackball (trackball), a touch panel, or a touch screen, etc.).
  • a pointing device for example, a mouse, a trackball (trackball), a touch panel, or a touch screen, etc.
  • the memory 902 in the embodiment of the present disclosure may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Synchronous Dynamic Random Access Memory
  • SLDRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus RAM
  • the memory 902 stores the following elements, executable units or data structures, or a subset of them, or an extended set of them: an operating system 9021 and an application 9022.
  • the operating system 9021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks.
  • the application 9022 includes various application programs, such as a media player (Media Player), a browser (Browser), etc., which are used to implement various application services.
  • the program for implementing the method of the embodiment of the present disclosure may be included in the application 9022.
  • the processor 901 by calling a program or instruction stored in the memory 902, which may be a program or instruction stored in an application program 9022, the processor 901 is configured to execute the method provided in the present disclosure, which includes:
  • the passable area between the starting point and the end point in the grid map is classified, and the cost value corresponding to each level area is determined; based on the cost value of each level area, the passable area is traversed from the starting point to determine A plurality of target nodes meeting the minimum value of the preset function; and the target path of the robot is determined based on the plurality of target nodes.
  • the method further includes: detecting obstacles based on sensors provided on the robot to generate a grid map; determining the passable area between the start point and the end point in the grid map; The distance between the passable area and the obstacle is from near to far, and the passable area is classified; and according to the distance of each level of the area from the obstacle from near to far, the value of the substitute is from large to small, as The corresponding cost value is set for each level area.
  • the method further includes: adding the starting point and the point adjacent to the starting point in the passable area to the first list as the node to be searched; traversing the first list The node to be searched, and the function value of the heuristic function corresponding to the node to be searched is determined based on the cost value of the area in which the node to be searched is located; and the node to be searched for with the smallest function value is added as a target node to In the second list, until the target node in the second list includes the end point, stop traversing the node to be searched in the first list.
  • the method further includes: using the starting point as a parent node, and using a point adjacent to the starting point as a child node, wherein a pointer is provided on the child node, and the pointer points to the child node.
  • the parent node; and the parent node and the child node are added to the first list as the node to be searched.
  • the method further includes: judging whether the target node has adjacent points; if the target node has adjacent points, using the target node as a parent node, and setting the target node The point adjacent to the target node is used as a child node; and the child node is added to the first list as a node to be searched.
  • the method further includes: determining a target path of the robot from the start point to the end point according to pointers carried on a plurality of the target nodes.
  • the method further includes: if the first list is empty and the target node in the second list does not include the end point, determining that there is no target path.
  • the methods disclosed in the foregoing embodiments of the present disclosure may be applied to the processor 901 or implemented by the processor 901.
  • the processor 901 may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 901 or instructions in the form of software.
  • the aforementioned processor 901 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) or other Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present disclosure can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present disclosure may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software units in the decoding processor.
  • the software unit may be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the memory 902, and the processor 901 reads the information in the memory 902, and completes the steps of the foregoing method in combination with its hardware.
  • the embodiments described herein can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processor, DSP), digital signal processing equipment (DSP Device, DSPD), programmable logic Device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and other electronics used to perform the functions described in this disclosure Unit or its combination.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processor
  • DSP Device digital signal processing equipment
  • PLD programmable logic Device
  • Field-Programmable Gate Array Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described herein can be implemented by a unit that performs the functions described herein.
  • the software codes can be stored in the memory and executed by the processor.
  • the memory can be implemented in the processor or external to the processor.
  • the robot provided in this embodiment may be a robot as shown in FIG. 9 and can execute the path planning method shown in FIGS. 2 and 7 to realize the technical effects of the path planning method shown in FIGS. 2 and 7.
  • FIG. 9 The robot provided in this embodiment may be a robot as shown in FIG. 9 and can execute the path planning method shown in FIGS. 2 and 7 to realize the technical effects of the path planning method shown in FIGS. 2 and 7.
  • FIGS. 2 and 7 may be a robot as shown in FIG. 9 and can execute the path planning method shown in FIGS. 2 and 7 to realize the technical effects of the path planning method shown in FIGS. 2 and 7.
  • the embodiment of the present disclosure also provides a storage medium (computer-readable storage medium).
  • the storage medium here stores one or more programs.
  • the storage medium may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk, or solid-state hard disk; the memory may also include the above-mentioned types of memory. combination.
  • One or more programs in the storage medium can be executed by one or more processors to implement the path planning method executed on the path planning device side.
  • the processor is configured to execute the path planning program stored in the memory to implement the following path planning method executed on the path planning device side, which includes:
  • the passable area between the starting point and the end point in the grid map is classified, and the cost value corresponding to each level area is determined; based on the cost value of each level area, the passable area is traversed from the starting point to determine A plurality of target nodes meeting the minimum value of the preset function; and the target path of the robot is determined based on the plurality of target nodes.
  • the method further includes: detecting obstacles based on sensors provided on the robot to generate a grid map; determining the passable area between the start point and the end point in the grid map; The distance between the passable area and the obstacle is from near to far, and the passable area is classified; and according to the distance of each level of the area from the obstacle from near to far, the value of the substitute is from large to small, as The corresponding cost value is set for each level area.
  • the method further includes: adding the starting point and the point adjacent to the starting point in the passable area to the first list as the node to be searched; traversing the first list The node to be searched, and the function value of the heuristic function corresponding to the node to be searched is determined based on the cost value of the area in which the node to be searched is located; and the node to be searched for with the smallest function value is added as a target node to In the second list, until the target node in the second list includes the end point, stop traversing the node to be searched in the first list.
  • the method further includes: using the starting point as a parent node, and using a point adjacent to the starting point as a child node, wherein a pointer is provided on the child node, and the pointer points to the child node.
  • the parent node; and the parent node and the child node are added to the first list as the node to be searched.
  • the method further includes: judging whether the target node has adjacent points; if the target node has adjacent points, using the target node as a parent node, and setting the target node The point adjacent to the target node is used as a child node; and the child node is added to the first list as a node to be searched.
  • the method further includes: determining a target path of the robot from the start point to the end point according to pointers carried on a plurality of the target nodes.
  • the method further includes: if the first list is empty and the target node in the second list does not include the end point, determining that there is no target path.
  • the steps of the method or algorithm described in combination with the embodiments disclosed in this document can be implemented by hardware, a software module executed by a processor, or a combination of the two.
  • the software module can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or all areas in the technical field. Any other known storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Databases & Information Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

一种路径规划方法、装置、机器人及存储介质,路径规划方法包括:对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值(S21);基于每级区域的代价值从起点开始对可通行区域进行遍历,确定符合预设函数最小值的多个目标节点(S22);以及基于多个目标节点确定机器人的目标路径(S23)。

Description

路径规划方法、装置、机器人及存储介质
相关申请的引用
本公开要求于2020年6月22日向中华人民共和国国家知识产权局提交的申请号为202010577991.5、名称为“路径规划方法、装置、机器人及存储介质”的发明专利申请的全部权益,并通过引用的方式将其全部内容并入本文。
领域
本公开大体上涉及机器人领域,更具体地,涉及路径规划方法、装置、机器人及存储介质。
背景
室内机器人导航系统,主要由传感器感知、定位、路径规划和运动控制几部分组成。其中,传感器负责探测机器人周围障碍物的位置,融合已有的地图信息,即可获得机器人的实时位置,收到上位机的目标点导航指令后,导航系统会规划一条到达目标点的最优路径,并控制电机跟随这条路径前进,即可到达目标点。
其中,路径规划算法是利用传感器探测的和已有地图上的障碍物信息,寻找一条从起始点到目标点的最短路径(将机器人视为一个质点),且这条路径不会经过障碍物,机器人就可以抵达目标点。
然而,机器人并不是一个质点,现有路径规划算法不能保证机器人的边缘不会碰到障碍物,由此,机器人按照现有路径规划算法得到最短路径移动过程中,尤其处于拐角位置时可能存在碰到障碍物的情况。
概述
一方面,本公开涉及路径规划方法,其包括:
对格栅地图中起点和终点之间的可通行区域进行分级处理, 并确定每级区域对应的代价值;
基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及
基于多个所述目标节点确定机器人的目标路径。
在某些实施方案中,所述对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值,包括:
基于设置于机器人上的传感器进行障碍物检测,生成格栅地图;
确定所述格栅地图中起点和终点之间的可通行区域;
按照所述可通行区域距离所述障碍物由近及远的关系,对所述可通行区域进行分级处理;以及
根据每级区域距离所述障碍物由近及远对应代价值由大到小的关系,为每级区域设置对应的代价值。
在某些实施方案中,所述基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点,包括:
将所述起点以及所述可通行区域中所述起点相邻的点作为待搜索节点添加至第一列表中;
遍历所述第一列表中的所述待搜索节点,以及基于所述待搜索节点所处区域的代价值确定所述待搜索节点对应启发函数的函数值;以及
将所述函数值最小的所述待搜索节点作为目标节点添加至第二列表中,直至所述第二列表中的目标节点包含所述终点,停止遍历所述第一列表中的所述待搜索节点。
在某些实施方案中,所述将所述起点以及所述可同行区域中所述起点相邻的点作为待搜索节点添加至第一列表中,包括:
将所述起点作为父节点,以及将所述起点相邻的点作为子节点,其中,所述子节点上设置有指针,所述指针指向所述父节点;以及
将所述父节点和所述子节点作为待搜索节点添加至第一列表 中。
在某些实施方案中,所述方法还包括:
判断所述目标节点是否存在相邻的点;
若所述目标节点存在相邻的点,则将所述目标节点作为父节点,以及将所述目标节点相邻的点作为子节点;以及
将所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述基于多个所述目标节点确定机器人的目标路径,包括:
根据多个所述目标节点上携带的指针确定所述机器人由所述起点至所述终点的目标路径。
在某些实施方案中,所述方法还包括:
若所述第一列表为空且所述第二列表中的所述目标节点未包含所述终点,则确定不存在目标路径。
另一方面,本公开涉及路径规划装置,其包括:
处理模块,配置为对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;
遍历模块,配置为基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及
确定模块,配置为基于多个所述目标节点确定机器人的目标路径。
又一方面,本公开涉及机器人,其包括:处理器和存储器,所述处理器配置为执行所述存储器中存储的路径规划程序,以实现本公开所述的路径规划方法。
再一方面,本公开涉及存储介质,其存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本公开所述的路径规划方法。
本公开某些实施方案的路径规划方法,通过对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;基于每级区域的代价值从所述起点开始对所述可通行 区域进行遍历,确定符合预设函数最小值的多个目标节点;以及基于多个所述目标节点确定机器人的目标路径,以对可通行区域进行分级,并为每级区域设置相应代价值,将表征距离障碍物远近的代价值来辅助得到的规划路径,避免机器人在移动过程中触碰到障碍物,且优化后的路径并未大幅增长,保证机器人的运行效率。
附图的简要说明
图1示出了本公开一实施例涉及的采用A*算法得到的路径示意图;
图2示出了本公开一实施例提供的路径规划方法的流程示意图;
图3示出了本公开一实施例提供的可通行区域分级的示意图;
图4示出了本公开一实施例提供的基于分级设置代价值得到的路径示意图;
图5示出了本公开一实施例提供的另一路径规划方法的流程示意图;
图6示出了本公开一实施例提供的父节点和子节点的示意图;
图7示出了本公开一实施例提供的路径规划示意图;
图8示出了本公开一实施例提供的路径规划装置的结构示意图;并且
图9示出了本公开一实施例提供的机器人的结构示意图。
详述
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
为便于对本公开实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本公开实施例的限定。
本公开实施例涉及的路径规划方法,应用于机器人领域,机器人采用格栅法构建地图,格栅粒度的大小可以表征机器人所处环境特征的复杂程度(如,格栅粒度越小环境特征越精确复杂),每个格栅由0和1进行填充,0表示可通行,1表示障碍物。
图1示出了本公开一实施例涉及的采用A*算法得到的路径示意图,由初始状态到目标状态采用A*算法依次进行计算,得到由初始状态到目标状态的最短路径,采用如下公式:
f(n)=g(n)+h(n)
其中,f(n)为初始状态由状态n到目标状态的距离估计值,g(n)为状态空间中从初始状态到状态n的实际距离值,h(n)为从状态n到目标状态的最佳路径的估计距离值。
采用A*算法得到的路径为S(起点)至G(终点)之间黑色的线条,虽然直接采用A*算法可以得出最短路径,但在拐角处(A、B、C和D)可能存在机器人碰到障碍物的情况。
因此,本公开实施例提出了路径规划方法以解决拐角处机器人存在碰到障碍物的问题,图2示出了本公开一实施例提供的路径规划方法的流程示意图,如图2所示,该方法包括:
S21、对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;
S22、基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及
S23、基于多个所述目标节点确定机器人的目标路径。
在某些实施方案中,机器人采用传感器(如,激光雷达)探测机器人周围的障碍物,以及建立格栅地图,并在格栅地图中标注可通行区域和障碍物,机器人通过定位模块确定当前所在位置(也即,起点),以及预设设定的终端,进而得到由起点到终端之间的可通行区域。
按照预设的规则对可通行区域进行分级处理,进而得到由多 级区域组成的可通行区域,每级区域的宽度相同,每级区域的宽度与格栅的粒度可以设置为相同或者不同,并为每级区域设置相应的代价值,该代价值可以表征距离障碍物的远近,也即,越远离障碍物的区域其对应的代价值越小。
参照图3示出了本公开一实施例提供的可通行区域分级的示意图,如图3所述,该可通行区域被划分为4级区域,每级区域的宽度与栅格的粒度相同,每级区域对应的代价值可以包括:1级区域对应的代价值为150、2级区域对应的代价值为100、3级区域对应的代价值为50,以及4级区域对应的代价值为0。
需要说明的是,对于可通行区域具体被划分为几级区域,以及每级区域对应的代价值的具体数据,具体可根据实际情况进行设定,对此,本实施例不作具体限定。
在某些实施方案中,以起点开始采用A*算法对可通行区域进行遍历,在遍历过程中将每级区域对应的代价值添加至计算节点对应预设函数的函数值中,将函数值最小的节点作为目标节点。
在某些实施方案中,确定函数值最小的节点包括:以某一个节点以及与其相邻的八个节点为一组进行函数计算,确定相邻的八个节点中函数值最小的节点作为目标节点,再以目标节点相邻的八个节点再次进行函数计算,依此,确定可通行区域中符合预设函数最小值的多个目标节点。
在某些实施方案中,以起点开始贯穿多个所述目标节点中的部分或全部至终点,形成机器人的目标路径,此处可能存在部分目标节点作为的目标路径,例如,某一节点的相邻的八个节点中存在两个函数值最小的目标节点,根据由起点至终点的方向性,可排除一个目标节点(路径的毛刺)。
参照图4示出了本公开一实施例提供的基于分级设置代价值得到的路径示意图,将图4所示路径与图1所示路径对比,采用分级设置代价值得到的路径在障碍物拐角处(例如,A、B、C和D)均进行了优化,以使机器人的路径远离障碍物,以避免机器人在移动过程中触碰到障碍物。
本公开实施例提供的路径规划方法,通过对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及基于多个所述目标节点确定机器人的目标路径,以对可通行区域进行分级,并为每级区域设置相应代价值,将表征距离障碍物远近的代价值来辅助得到的规划路径,避免机器人在移动过程中触碰到障碍物,且优化后的路径并未大幅增长,保证机器人的运行效率。
图5示出了本公开一实施例提供的另一路径规划方法的流程示意图,如图5所示,该方法包括:
S51、基于设置于机器人上的传感器进行障碍物检测,生成格栅地图;
S52、确定所述格栅地图中起点和终点之间的可通行区域;
S53、按照所述可通行区域距离所述障碍物由近及远的关系,对所述可通行区域进行分级处理;
S54、根据每级区域距离所述障碍物由近及远对应代价值由大到小的关系,为每级区域设置对应的代价值;
S55、将所述起点以及所述可通行区域中所述起点相邻的点作为待搜索节点添加至第一列表中;
S56、遍历所述第一列表中的所述待搜索节点,以及基于所述待搜索节点所处区域的代价值确定所述待搜索节点对应启发函数的函数值;
S57、将所述函数值最小的所述待搜索节点作为目标节点添加至第二列表中,直至所述第二列表中的目标节点包含所述终点,停止遍历所述第一列表中的所述待搜索节点;以及
S58、根据多个所述目标节点上携带的指针确定所述机器人由所述起点至所述终点的目标路径。
在某些实施方案中,机器人采用传感器(如,激光雷达)探测机器人周围的障碍物,以及建立2D格栅地图,并在格栅地图中标注 可通行区域和障碍物。
在某些实施方案中,机器人通过自身设置的定位模块确定当前位置,将当前位置映射于2D格栅地图中,并将当前位置作为机器人的起点,机器人接收外部设备发送的终点信息,并基于终点信息将对应的终点映射于2D格栅地图中;以起点、障碍物以及终点围成的区域作为可通行区域。
参照图3示出了本公开一实施例提供的可通行区域分级的示意图,如图3所述,该可通行区域被划分为4级区域,每级区域的宽度与栅格的粒度相同,每级区域对应的代价值可以包括:1级区域对应的代价值为150、2级区域对应的代价值为100、3级区域对应的代价值为50,以及4级区域对应的代价值为0。
本公开实施例对A*算法进行优化,辅助以第一列表和第二列表对可通行区域进行遍历,第一列表可以是开放列表(Open List),用于放置待搜索节点,第二列表可以是关闭列表(Closed List)。
在某些实施方案中,A*算法对应的启发函数可以是:
f(n)=g(n)+h(n)
其中,g(n)表示当前节点与起点之间的移动代价,h(n)表示当前节点与终点之间的移动代价。
在某些实施方案中,将所述起点作为父节点,以及将所述起点相邻的点作为子节点,其中,所述子节点上设置有指针,所述指针指向所述父节点;并且将所述父节点和所述子节点作为待搜索节点添加至第一列表中。
参照图6示出了本公开一实施例提供的父节点和子节点的示意图,如图6所示,父节点周围由八个子节点包围,每个子节点上携带有指针,指针均指向父节点。
在某些实施方案中,在执行第一列表中的节点遍历过程中可以采用一个父节点加八个子节点为一组作为待搜索节点进行计算,将这九个节点中函数值小的待搜索节点作为目标节点,并将目标节点添加至第二列表中。
若目标节点包含终点,则确定已经完成由起点至终点的路径 搜索,停止遍历所述第一列表中的所述待搜索节点。
若目标节点未包含终点,则判断所述目标节点是否存在相邻的点;若所述目标节点存在相邻的点,则将所述目标节点作为父节点,以及将所述目标节点相邻的点作为子节点;并且将所述子节点作为待搜索节点添加至第一列表中,继续执行遍历。
若所述第一列表为空且所述第二列表中的所述目标节点未包含所述终点,则确定不存在目标路径。
在某些实施方案中,按照第二列表中多个目标节点上指针的方向,由起点开始贯穿多个所述目标节点中的部分或全部至终点,形成机器人的目标路径。
参照图7示出了本公开一实施例提供的路径规划示意图,如图7所示,黑色加粗线条为障碍物边界,对可通行区域按照距离障碍物的远近划分为四级区域,一级区域对应的代价值为150、二级区域对应的代价值为100、三级区域对应的代价值为50,以及四级区域对应的代价值为0。
起点S落入四级区域,设起点对应的g=0,h=1500+0,由起点S顺着四级区域往上走,每走一个格g加50,h减50,由此,对应f的代价值最小为1500,若此时起点S不直接向上走,向左或向右走,此时由四级区域移动至三级区域,对应的代价值会增加50,因此,按照f最小值只能在四级区域内向上走。
本公开实施例提供的路径规划方法,通过对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及基于多个所述目标节点确定机器人的目标路径,以对可通行区域进行分级,并为每级区域设置相应代价值,将表征距离障碍物远近的代价值来辅助得到的规划路径,避免机器人在移动过程中触碰到障碍物,且优化后的路径并未大幅增长,保证机器人的运行效率。
图8示出了本公开一实施例提供的路径规划装置的结构示意 图,如图8所示,该结构包括:
处理模块81,配置为对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;
遍历模块82,配置为基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及
确定模块83,配置为基于多个所述目标节点确定机器人的目标路径。
在某些实施方案中,所述处理模块81,配置为基于设置于机器人上的传感器进行障碍物检测,生成格栅地图;确定所述格栅地图中起点和终点之间的可通行区域;按照所述可通行区域距离所述障碍物由近及远的关系,对所述可通行区域进行分级处理;以及根据每级区域距离所述障碍物由近及远对应代价值由大到小的关系,为每级区域设置对应的代价值。
在某些实施方案中,所述遍历模块82,配置为将所述起点以及所述可通行区域中所述起点相邻的点作为待搜索节点添加至第一列表中;遍历所述第一列表中的所述待搜索节点,以及基于所述待搜索节点所处区域的代价值确定所述待搜索节点对应启发函数的函数值;以及将所述函数值最小的所述待搜索节点作为目标节点添加至第二列表中,直至所述第二列表中的目标节点包含所述终点,停止遍历所述第一列表中的所述待搜索节点。
在某些实施方案中,所述遍历模块82,配置为将所述起点作为父节点,以及将所述起点相邻的点作为子节点,其中,所述子节点上设置有指针,所述指针指向所述父节点;以及将所述父节点和所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述遍历模块82,还配置为判断所述目标节点是否存在相邻的点;若所述目标节点存在相邻的点,则将所述目标节点作为父节点,以及将所述目标节点相邻的点作为子节点;以及将所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述基于多个所述目标节点确定机器人 的目标路径,包括:
根据多个所述目标节点上携带的指针确定所述机器人由所述起点至所述终点的目标路径。
在某些实施方案中,所述确定模块83,还配置为若所述第一列表为空且所述第二列表中的所述目标节点未包含所述终点,则确定不存在目标路径。
本实施例提供的路径规划装置可以是如图8中所示的路径规划装置,可执行如图2和7中所示的路径规划方法,进而实现图2和7所示路径规划方法的技术效果,请参照图2和7相关描述,为简洁描述,在此不作赘述。
图9示出了本公开一实施例提供的的机器人的结构示意图,图9所示的机器人900包括:至少一个处理器901、存储器902、至少一个网络接口904和其他用户接口903。机器人900中的各个组件通过总线系统905耦合在一起。总线系统905用于实现这些组件之间的连接通信。总线系统905除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统905。
在某些实施方案中,用户接口903可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
本公开实施例中的存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double  Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本文描述的存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
在某些实施方案中,存储器902存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统9021和应用程序9022。
在某些实施方案中,操作系统9021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序9022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本公开实施例方法的程序可以包含在应用程序9022中。
在某些实施方案中,通过调用存储器902存储的程序或指令,其可以是应用程序9022中存储的程序或指令,处理器901配置为执行本公开所提供的方法,其包括:
对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及基于多个所述目标节点确定机器人的目标路径。
在某些实施方案中,所述方法还包括:基于设置于机器人上的传感器进行障碍物检测,生成格栅地图;确定所述格栅地图中起点和终点之间的可通行区域;按照所述可通行区域距离所述障碍物由近及远的关系,对所述可通行区域进行分级处理;以及根据每级区域距离所述障碍物由近及远对应代价值由大到小的关系,为每级区域设置对应的代价值。
在某些实施方案中,所述方法还包括:将所述起点以及所述可通行区域中所述起点相邻的点作为待搜索节点添加至第一列表中;遍历所述第一列表中的所述待搜索节点,以及基于所述待搜 索节点所处区域的代价值确定所述待搜索节点对应启发函数的函数值;以及将所述函数值最小的所述待搜索节点作为目标节点添加至第二列表中,直至所述第二列表中的目标节点包含所述终点,停止遍历所述第一列表中的所述待搜索节点。
在某些实施方案中,所述方法还包括:将所述起点作为父节点,以及将所述起点相邻的点作为子节点,其中,所述子节点上设置有指针,所述指针指向所述父节点;以及将所述父节点和所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述方法还包括:判断所述目标节点是否存在相邻的点;若所述目标节点存在相邻的点,则将所述目标节点作为父节点,以及将所述目标节点相邻的点作为子节点;以及将所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述方法还包括:根据多个所述目标节点上携带的指针确定所述机器人由所述起点至所述终点的目标路径。
在某些实施方案中,所述方法还包括:若所述第一列表为空且所述第二列表中的所述目标节点未包含所述终点,则确定不存在目标路径。
上述本公开实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或 者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本公开所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的机器人可以是如图9中所示的机器人,可执行如图2和7中所示的路径规划方法,进而实现图2和7所示路径规划方法的技术效果,具体请参照图2和7相关描述,为简洁描述,在此不作赘述。
本公开实施例还提供了存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在路径规划设备侧执行的路径规划方法。
所述处理器配置为执行存储器中存储的路径规划程序,以实现以下在路径规划设备侧执行的路径规划方法,其包括:
对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及基于多个所述目标节点确定机器人的目标路径。
在某些实施方案中,所述方法还包括:基于设置于机器人上的传感器进行障碍物检测,生成格栅地图;确定所述格栅地图中起点和终点之间的可通行区域;按照所述可通行区域距离所述障碍物由近及远的关系,对所述可通行区域进行分级处理;以及根据每级区域距离所述障碍物由近及远对应代价值由大到小的关系,为每级区域设置对应的代价值。
在某些实施方案中,所述方法还包括:将所述起点以及所述可通行区域中所述起点相邻的点作为待搜索节点添加至第一列表中;遍历所述第一列表中的所述待搜索节点,以及基于所述待搜索节点所处区域的代价值确定所述待搜索节点对应启发函数的函数值;以及将所述函数值最小的所述待搜索节点作为目标节点添加至第二列表中,直至所述第二列表中的目标节点包含所述终点,停止遍历所述第一列表中的所述待搜索节点。
在某些实施方案中,所述方法还包括:将所述起点作为父节点,以及将所述起点相邻的点作为子节点,其中,所述子节点上设置有指针,所述指针指向所述父节点;以及将所述父节点和所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述方法还包括:判断所述目标节点是否存在相邻的点;若所述目标节点存在相邻的点,则将所述目标节点作为父节点,以及将所述目标节点相邻的点作为子节点;以及将所述子节点作为待搜索节点添加至第一列表中。
在某些实施方案中,所述方法还包括:根据多个所述目标节点上携带的指针确定所述机器人由所述起点至所述终点的目标路径。
在某些实施方案中,所述方法还包括:若所述第一列表为空 且所述第二列表中的所述目标节点未包含所述终点,则确定不存在目标路径。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施方式而已,并不用于限定本公开的保护范围,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

  1. 路径规划方法,其包括:
    对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;
    基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点;以及
    基于多个所述目标节点确定机器人的目标路径。
  2. 如权利要求1所述的方法,其中,所述对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值,包括:
    基于设置于机器人上的传感器进行障碍物检测,生成格栅地图;
    确定所述格栅地图中起点和终点之间的可通行区域;
    按照所述可通行区域距离所述障碍物由近及远的关系,对所述可通行区域进行分级处理;以及
    根据每级区域距离所述障碍物由近及远对应代价值由大到小的关系,为每级区域设置对应的代价值。
  3. 如权利要求2所述的方法,其中,所述基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标节点,包括:
    将所述起点以及所述可通行区域中所述起点相邻的点作为待搜索节点添加至第一列表中;
    遍历所述第一列表中的所述待搜索节点,以及基于所述待搜索节点所处区域的代价值确定所述待搜索节点对应启发函数的函数值;以及
    将所述函数值最小的所述待搜索节点作为目标节点添加至第二列表中,直至所述第二列表中的目标节点包含所述终点,停止遍历所述第一列表中的所述待搜索节点。
  4. 如权利要求3所述的方法,其中,所述将所述起点以及所述可同行区域中所述起点相邻的点作为待搜索节点添加至第一列表中,包括:
    将所述起点作为父节点,以及将所述起点相邻的点作为子节点,其中,所述子节点上设置有指针,所述指针指向所述父节点;以及
    将所述父节点和所述子节点作为待搜索节点添加至第一列表中。
  5. 如权利要求3或4所述的方法,其还包括:
    判断所述目标节点是否存在相邻的点;
    若所述目标节点存在相邻的点,则将所述目标节点作为父节点,以及将所述目标节点相邻的点作为子节点;以及
    将所述子节点作为待搜索节点添加至第一列表中。
  6. 如权利要求5所述的方法,其中,所述基于多个所述目标节点确定机器人的目标路径,包括:
    根据多个所述目标节点上携带的指针确定所述机器人由所述起点至所述终点的目标路径。
  7. 如权利要求6所述的方法,其还包括:
    若所述第一列表为空且所述第二列表中的所述目标节点未包含所述终点,则确定不存在目标路径。
  8. 路径规划装置,其包括:
    处理模块,配置为对格栅地图中起点和终点之间的可通行区域进行分级处理,并确定每级区域对应的代价值;
    遍历模块,配置为基于每级区域的代价值从所述起点开始对所述可通行区域进行遍历,确定符合预设函数最小值的多个目标 节点;以及
    确定模块,配置为基于多个所述目标节点确定机器人的目标路径。
  9. 机器人,其包括:处理器和存储器,所述处理器配置为执行所述存储器中存储的路径规划程序,以实现权利要求1至7中任一权利要求所述的路径规划方法。
  10. 存储介质,其存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一权利要求所述的路径规划方法。
PCT/CN2021/101206 2020-06-22 2021-06-21 路径规划方法、装置、机器人及存储介质 WO2021259192A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/924,510 US20230273031A1 (en) 2020-06-22 2021-06-21 Path planning method and device, robot and storage medium
EP21828991.6A EP4170452A4 (en) 2020-06-22 2021-06-21 PATH PLANNING METHOD AND APPARATUS, ROBOT AND STORAGE MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010577991.5A CN111781925A (zh) 2020-06-22 2020-06-22 路径规划方法、装置、机器人及存储介质
CN202010577991.5 2020-06-22

Publications (1)

Publication Number Publication Date
WO2021259192A1 true WO2021259192A1 (zh) 2021-12-30

Family

ID=72756941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/101206 WO2021259192A1 (zh) 2020-06-22 2021-06-21 路径规划方法、装置、机器人及存储介质

Country Status (4)

Country Link
US (1) US20230273031A1 (zh)
EP (1) EP4170452A4 (zh)
CN (1) CN111781925A (zh)
WO (1) WO2021259192A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115862416A (zh) * 2023-01-20 2023-03-28 北京卓翼智能科技有限公司 一种路径规划方法、装置、电子设备及存储介质
CN116719329A (zh) * 2023-08-10 2023-09-08 浙江菜鸟供应链管理有限公司 路径规划方法、系统、设备及存储介质
CN116962288A (zh) * 2023-09-21 2023-10-27 卓望数码技术(深圳)有限公司 Cdn多节点寻路优化方法、装置、设备及存储介质
CN117719498A (zh) * 2024-02-08 2024-03-19 深圳市欧冶半导体有限公司 路径规划方法、装置、电子设备和存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111781925A (zh) * 2020-06-22 2020-10-16 北京海益同展信息科技有限公司 路径规划方法、装置、机器人及存储介质
CN112254733B (zh) * 2020-10-21 2023-03-24 中国人民解放军战略支援部队信息工程大学 基于扩展a*算法的火灾逃生路径规划方法及系统
CN114543763B (zh) * 2020-11-24 2024-01-16 广东博智林机器人有限公司 一种地坪设备的工作方法、装置、设备及介质
CN113467456B (zh) * 2021-07-07 2023-10-27 中国科学院合肥物质科学研究院 一种未知环境下用于特定目标搜索的路径规划方法
CN113418522B (zh) * 2021-08-25 2021-12-14 季华实验室 Agv路径规划方法、跟随方法、装置、设备及存储介质
US20230129346A1 (en) * 2021-10-21 2023-04-27 Gideon Brothers d.o.o. Capability-aware pathfinding for autonomous mobile robots
CN114083531B (zh) * 2021-11-03 2023-06-09 珠海格力电器股份有限公司 工作空间预判处理方法、装置、存储介质及工业机器人
CN115235501B (zh) * 2022-09-20 2022-12-09 江苏天一航空工业股份有限公司 一种物流散装货物装载车行驶轨迹规划控制系统及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955262A (zh) * 2016-05-09 2016-09-21 哈尔滨理工大学 一种基于栅格地图的移动机器人实时分层路径规划方法
CN108241369A (zh) * 2017-12-20 2018-07-03 北京理工华汇智能科技有限公司 机器人躲避静态障碍的方法及装置
JP2018185633A (ja) * 2017-04-25 2018-11-22 トヨタ自動車株式会社 自律移動体
CN109709945A (zh) * 2017-10-26 2019-05-03 深圳市优必选科技有限公司 一种基于障碍物分类的路径规划方法、装置及机器人
CN110595482A (zh) * 2019-10-28 2019-12-20 深圳市银星智能科技股份有限公司 一种带避障权重的路径规划方法、装置及电子设备
WO2020100595A1 (en) * 2018-11-12 2020-05-22 Sony Corporation Information processing apparatus, information processing method, and program
CN111399516A (zh) * 2020-03-31 2020-07-10 深圳市银星智能科技股份有限公司 一种机器人路径规划方法、装置以及机器人
CN111781925A (zh) * 2020-06-22 2020-10-16 北京海益同展信息科技有限公司 路径规划方法、装置、机器人及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520718B (zh) * 2011-12-02 2013-06-05 上海大学 一种基于物理建模的机器人避障路径规划方法
KR101382982B1 (ko) * 2012-03-06 2014-04-09 고려대학교 산학협력단 로봇의 주행 경로 계획 장치 및 방법
CN108318046B (zh) * 2017-01-18 2020-12-15 华为技术有限公司 路径规划方法和装置
CN106647769B (zh) * 2017-01-19 2019-05-24 厦门大学 基于a*提取引导点的agv路径跟踪与避障协调方法
JP6640777B2 (ja) * 2017-03-17 2020-02-05 株式会社東芝 移動制御システム、移動制御装置及びプログラム
KR20190023834A (ko) * 2017-08-30 2019-03-08 엘지전자 주식회사 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇
CN110362070B (zh) * 2018-10-12 2022-09-06 北京京东尚科信息技术有限公司 路径跟随方法、系统、电子设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955262A (zh) * 2016-05-09 2016-09-21 哈尔滨理工大学 一种基于栅格地图的移动机器人实时分层路径规划方法
JP2018185633A (ja) * 2017-04-25 2018-11-22 トヨタ自動車株式会社 自律移動体
CN109709945A (zh) * 2017-10-26 2019-05-03 深圳市优必选科技有限公司 一种基于障碍物分类的路径规划方法、装置及机器人
CN108241369A (zh) * 2017-12-20 2018-07-03 北京理工华汇智能科技有限公司 机器人躲避静态障碍的方法及装置
WO2020100595A1 (en) * 2018-11-12 2020-05-22 Sony Corporation Information processing apparatus, information processing method, and program
CN110595482A (zh) * 2019-10-28 2019-12-20 深圳市银星智能科技股份有限公司 一种带避障权重的路径规划方法、装置及电子设备
CN111399516A (zh) * 2020-03-31 2020-07-10 深圳市银星智能科技股份有限公司 一种机器人路径规划方法、装置以及机器人
CN111781925A (zh) * 2020-06-22 2020-10-16 北京海益同展信息科技有限公司 路径规划方法、装置、机器人及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4170452A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115862416A (zh) * 2023-01-20 2023-03-28 北京卓翼智能科技有限公司 一种路径规划方法、装置、电子设备及存储介质
CN116719329A (zh) * 2023-08-10 2023-09-08 浙江菜鸟供应链管理有限公司 路径规划方法、系统、设备及存储介质
CN116719329B (zh) * 2023-08-10 2023-11-14 浙江菜鸟供应链管理有限公司 路径规划方法、系统、设备及存储介质
CN116962288A (zh) * 2023-09-21 2023-10-27 卓望数码技术(深圳)有限公司 Cdn多节点寻路优化方法、装置、设备及存储介质
CN116962288B (zh) * 2023-09-21 2023-12-05 卓望数码技术(深圳)有限公司 Cdn多节点寻路优化方法、装置、设备及存储介质
CN117719498A (zh) * 2024-02-08 2024-03-19 深圳市欧冶半导体有限公司 路径规划方法、装置、电子设备和存储介质
CN117719498B (zh) * 2024-02-08 2024-04-16 深圳市欧冶半导体有限公司 路径规划方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
EP4170452A4 (en) 2024-04-17
CN111781925A (zh) 2020-10-16
US20230273031A1 (en) 2023-08-31
EP4170452A1 (en) 2023-04-26

Similar Documents

Publication Publication Date Title
WO2021259192A1 (zh) 路径规划方法、装置、机器人及存储介质
WO2022007350A1 (zh) 一种全局路径规划方法、装置、终端及可读存储介质
WO2019062649A1 (zh) 一种自适应区域划分的方法及系统
CN111709975B (zh) 多目标跟踪方法、装置、电子设备及存储介质
US20230114211A1 (en) Edgewise Path Selection Method for Robot Obstacle Crossing, Chip, and Robot
CN110221600B (zh) 路径规划方法、装置、计算机设备和存储介质
WO2021244349A1 (zh) 行走机器人及应用于行走机器人的地图处理方法
CN113376650A (zh) 移动机器人定位方法及装置、电子设备及存储介质
CN105606102A (zh) 一种基于格网模型的pdr室内定位方法及系统
WO2019205813A1 (zh) 移动机器人的陀螺仪数据校正方法、设备和存储介质
US9910878B2 (en) Methods for processing within-distance queries
CN111949017A (zh) 一种机器人越障的沿边路径规划方法、芯片及机器人
WO2022161315A1 (zh) 机器人路径规划方法、运行方法、机器人以及介质
CN108133116B (zh) Cad户型图墙厚自动识别方法及系统
Arney An efficient solution to autonomous path planning by approximate cell decomposition
WO2024007807A1 (zh) 一种误差校正方法、装置及移动设备
Dong et al. Indoor tracking using crowdsourced maps
CN116764225A (zh) 一种高效寻路的处理方法、装置、设备及介质
CN116429138A (zh) 路径规划方法、装置、车辆及存储介质
US7454319B2 (en) System, method, and computer program product for determining wall thickness in graphic model
WO2023103142A1 (zh) 障碍物轨迹预测的方法、系统和计算机可读存储介质
CN114964204A (zh) 地图构建方法、地图使用方法、装置、设备和存储介质
CN111291528B (zh) 一种用于不同绕线层间的3d绕线方法及系统
CN112985397B (zh) 机器人轨迹规划方法、装置、存储介质及电子设备
CN114510053A (zh) 机器人规划路径校验方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21828991

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021828991

Country of ref document: EP

Effective date: 20230123