Robot path planning method and device, computer equipment and readable storage medium
By screening out the transit map with the least number of transits in robot path planning in complex buildings and generating target paths, the problem of low efficiency of robot path planning is solved, and the accuracy and efficiency of path planning is improved.
Patent Information
- Application Number
- CN202411796784.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-06
- Publication Date
- 2025-04-01
AI Technical Summary
In complex building structures, robot path planning efficiency is low, resulting in long path planning time and affecting the efficiency of robot autonomous navigation.
By obtaining the robot's movement tasks and multiple original maps in the target building, determining the starting point, end point and transit point, filtering out the transit map with the least number of transits, and generating the robot's target path.
It improves the accuracy and efficiency of robot path planning, reduces the number of transits, and improves the robot's navigation capabilities in complex environments.
Smart Images

Figure CN119737967A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a robot path planning method, device, computer equipment and computer-readable storage medium. Background Art
[0002] As people's requirements for quality of life continue to improve, service robots have emerged. This type of robot has autonomous navigation capabilities and can be used as an important auxiliary tool for cleaning, distribution, inspection and other tasks in office buildings, factories, hospitals, large supermarkets, hotels, etc., bringing great convenience and efficiency improvement to people's daily life and work.
[0003] The robot's autonomous navigation requires path planning based on a map. However, for places with complex architectural structures such as office buildings, factories, hospitals, large supermarkets, hotels, etc., when the robot needs to continuously transfer between different areas, the map route planning of the entire robot operation scenario requires a lot of calculations, resulting in low efficiency of the robot's path planning. Summary of the invention
[0004] The embodiments of the present application provide a robot path planning method, apparatus, computer equipment, and computer-readable storage medium, which can improve the efficiency of robot path planning.
[0005] On the one hand, the present application provides a robot path planning method, comprising:
[0006] Acquire a movement task of the robot in a target building, and acquire a plurality of original maps for the target building, wherein the plurality of original maps correspond to a plurality of different areas of the target building, and adjacent original maps include transfer points with the same identification;
[0007] Determine a starting point and an end point of the moving task, and determine a starting point map to which the starting point belongs and an end point map to which the end point belongs from the multiple original maps;
[0008] Based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, a target transfer map is selected from the multiple original maps;
[0009] Determine a target transfer point from the starting point map, the end point map and the target transfer map respectively;
[0010] A target path for the robot to perform the moving task in the target building is generated according to the starting point, the end point and the target transfer point.
[0011] On the other hand, the present application provides a robot path planning device, comprising:
[0012] An acquisition module, used to acquire the movement task of the robot in the target building, and acquire multiple original maps for the target building, wherein the multiple original maps correspond to multiple different areas of the target building, and adjacent original maps include transfer points with the same identification;
[0013] A first determination module is used to determine the starting point and the end point of the movement task, and determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps;
[0014] A screening module, configured to screen out a target transfer map from the plurality of original maps based on the starting point map and the destination map, and transfer points with the same identification in the adjacent original maps;
[0015] A second determination module is used to determine a target transfer point from the starting point map, the end point map and the target transfer map respectively;
[0016] A generation module is used to generate a target path for the robot to perform the moving task in the target building according to the starting point, the end point and the target transfer point.
[0017] On the other hand, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the robot path planning method when executing the computer program.
[0018] On the other hand, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the robot path planning method are implemented.
[0019] On the other hand, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the robot path planning method are implemented.
[0020] In the above robot path planning, by obtaining the robot's mobile task in the target building and obtaining multiple original maps for the target building, the multiple original maps correspond to multiple different areas of the target building, and the adjacent original maps include transfer points with the same identification, so that the reachable path between the two maps can be determined through the transfer points with the same identification, so that the robot can switch between the two maps through the transfer points with the same identification. Determine the starting point and the end point of the mobile task, and determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps. Based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, select the target transfer map from the multiple original maps, so that the transfer map with the least transfer can be selected. Determine the target transfer point from the starting point map, the end point map and the target transfer map respectively, and generate the target path of the robot for the mobile task in the target building according to the starting point, the end point and the target transfer point, thereby improving the accuracy and efficiency of the robot path planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0022] Figure 1 A diagram of an application environment of a robot path planning method in one embodiment;
[0023] Figure 2 A flowchart of a robot path planning method in one embodiment;
[0024] Figure 3 A schematic diagram of an original map corresponding to each area in a target building in an embodiment;
[0025] Figure 4 A flowchart of a shortest path search in one embodiment;
[0026] Figure 5 is a structural block diagram of a robot path planning device in one embodiment;
[0027] Figure 6 FIG. 4 is a block diagram of the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0029] The robot path planning method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the robot 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The robot 102 and the server 104 can both execute the robot path planning method provided in the embodiment of the present application separately. The robot 102 and the server 104 can also be used in conjunction to execute the robot path planning method provided in the embodiment of the present application. When the robot 102 and the server 104 are used in conjunction to execute the robot path planning method provided in the embodiment of the present application, the server 104 obtains the mobile task of the robot 102 in the target building, and obtains multiple original maps for the target building, and the multiple original maps correspond to multiple different areas of the target building, and the adjacent original maps include transfer points with the same identification. The server 104 determines the starting point and the end point of the mobile task, and determines the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps. The server 104 filters out the target transfer map from the multiple original maps based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps. The server 104 determines the target transfer point from the starting point map, the end point map and the target transfer map respectively. The server 104 generates the target path for the robot 102 for the mobile task in the target building according to the starting point, the end point and the target transfer point. The server 104 sends the target path to the robot 102. Among them, the server 104 can be implemented as an independent server or a server cluster composed of multiple servers, or a cloud server. The robot can be a cleaning robot, a delivery robot, an inspection robot, a disinfection robot and other intelligent devices that can move autonomously.
[0030] In one embodiment, Figure 2 As shown, a robot path planning method is provided, and the method is applied to a computer device (the computer device can be Figure 1 The robot 102 or server 104 in the example is used as an example to illustrate, and the following steps are included:
[0031] Step 202, obtaining the movement task of the robot in the target building, and obtaining multiple original maps for the target building, the multiple original maps corresponding to multiple different areas of the target building, and adjacent original maps include transfer points with the same identification.
[0032] The moving task refers to the task of the robot moving from the starting point to the end point in the target building. The target building can be one building or multiple buildings; the starting point and the end point can be in the same building or in different buildings.
[0033] When the target building is one building, the moving task refers to the moving task of the same building. When the target building includes multiple buildings, the moving task refers to the moving task across buildings.
[0034] The multiple original maps of the target building correspond to the multiple areas of the target building one by one. Each building can correspond to multiple original maps, and the multiple original maps correspond to the multiple areas of the building one by one.
[0035] Adjacent original maps refer to original maps corresponding to adjacent areas in the target building. For example, if area A and area B in the target building are adjacent, then original map a corresponding to area A and original map b corresponding to area B are adjacent.
[0036] In one embodiment, the transfer point with the same identification may refer to a transfer point with different positions in the two original maps. The transfer point with the same identification in the two original maps may refer to different positions in the two areas corresponding to the target building. For example, the original map a and the original map b have a transfer point 1 with the same identification. In the area A corresponding to the original map a, the transfer point 1 refers to the position A1 in the area A, and in the area B corresponding to the original map b, the transfer point 1 refers to the position B1 in the area B. The position A1 in the area A is different from the position B1 in the area B.
[0037] In one embodiment, there is no overlapping area in the multiple original maps, that is, any two original maps do not contain the same location.
[0038] In some embodiments, if two adjacent areas in the target building contain the same location, then the two adjacent original maps corresponding to the two adjacent areas also contain the same location. The same transfer point identified in the adjacent original maps may refer to the same location in the two adjacent areas.
[0039] Specifically, the computer device obtains the movement task of the robot in the target building, and obtains multiple original maps for the target building, the multiple original maps correspond to multiple different areas of the target building, and adjacent original maps include transfer points with the same identification.
[0040] In one embodiment, the moving task is a moving task in the same building or a moving task across buildings. When the starting point and the end point of the moving task are in the same building, the moving task is a moving task in the same building. When the starting point and the end point of the moving task are in different buildings, the moving task is a moving task across buildings.
[0041] In one embodiment, the moving task includes at least one of a same-floor moving task and a cross-floor moving task. Furthermore, the target building includes at least one building, and the same-floor moving task includes at least one of a same-floor moving task in the same building and a same-floor moving task across buildings; the cross-floor moving task includes at least one of a cross-floor moving task in the same building and a cross-floor moving task across buildings. Among them, the cross-floor moving task across buildings refers to a task of moving from one floor of a building to another floor of another building.
[0042] Step 204, determining the starting point and the end point of the moving task, and determining the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps.
[0043] Specifically, the computer device may obtain the starting point and the end point of the moving task, determine the starting point map to which the starting point belongs from the multiple original maps, and determine the end point map to which the end point belongs from the multiple original maps.
[0044] Step 206 , based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, a target transfer map is screened out from the multiple original maps.
[0045] Specifically, the computer device selects a target transfer map from multiple original maps based on the starting point map and the end point map, and transfer points with the same identification in adjacent original maps.
[0046] In one embodiment, the starting point map and the destination map may be adjacent maps or non-adjacent maps. When the starting point map and the destination map are adjacent maps, there is no target transit map, that is, the target transit map selected from the multiple original maps may be zero, and the number of target transit maps is an integer greater than or equal to zero.
[0047] In one embodiment, when the target building includes one building, the target transit map is a transit map selected from multiple original maps of the building. When the target building includes multiple buildings, the target transit map is a transit map selected from multiple original maps of the multiple buildings.
[0048] Step 208, determining the target transfer point from the starting point map, the end point map and the target transfer map respectively.
[0049] Specifically, the computer device determines the target transfer point from the starting point map, the end point map and the target transfer map respectively.
[0050] In one embodiment, the computer device determines the transfer points with the same identification in the starting point map and the target transfer map, and uses the transfer points with the same identification in the starting point map and the target transfer map as the target transfer points. The computer device determines the transfer points with the same identification in each target transfer map, and uses the transfer points with the same identification in each target transfer map as the target transfer point. The computer device determines the transfer points with the same identification in the target transfer map and the destination map, and uses the transfer points with the same identification in the target transfer map and the destination map as the target transfer point.
[0051] It is understandable that when there is no target transfer map, the target transfer point is directly determined through the starting point map and the end point map, and the transfer point with the same identification in the starting point map and the end point map is used as the target transfer point.
[0052] Step 210, generating a target path for the robot's mobile task in the target building based on the starting point, the end point and the target transfer point.
[0053] Specifically, the computer device generates a target path for the robot to move in the target building according to the starting point, the end point and the target transfer point. In the target building, the robot performs the moving task according to the target path to move from the starting point to the end point.
[0054] In this embodiment, the moving task includes at least one of a same-floor moving task or a cross-floor moving task, the target transfer map includes at least one of a same-floor transfer map or a cross-floor transfer map, the target transfer point includes at least one of a same-building transfer point or a cross-floor transfer point, and the target path includes at least one of a same-floor moving path for a same-floor moving task or a cross-floor moving path for a cross-floor moving task.
[0055] In the above robot path planning method, by obtaining the robot's mobile task in the target building, and obtaining multiple original maps for the target building, the multiple original maps correspond to multiple different areas of the target building, and the adjacent original maps include transfer points with the same identification, so that the reachable path between the two original maps can be determined through the transfer points with the same identification, so that the robot can switch between the two original maps through the transfer points with the same identification. Determine the starting point and the end point of the mobile task, and determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps. Based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, select the target transfer map from the multiple original maps, so that the target transfer map with the least transfer times can be selected. Determine the target transfer point from the starting point map, the end point map and the target transfer map respectively, and generate the target path of the robot for the mobile task in the target building according to the starting point, the end point and the target transfer point, thereby improving the accuracy and efficiency of the robot path planning.
[0056] Moreover, this solution realizes the association between the two maps through the transfer points with the same identification, and can be applied to any cross-floor movement tasks and same-floor movement tasks, so that the robot can perform complex cross-floor movement and same-floor movement tasks efficiently and accurately.
[0057] In one embodiment, the moving task includes at least one of a same-floor moving task or a cross-floor moving task, the target transfer map includes at least one of a same-floor transfer map or a cross-floor transfer map, the target transfer point includes at least one of a same-floor transfer point or a cross-floor transfer point, and the target path includes at least one of a same-floor moving path for the same-floor moving task or a cross-floor moving path for the cross-floor moving task.
[0058] In this embodiment, the target building can be one building or multiple buildings; the same-floor moving task includes at least one of the same-floor moving task of the same building or the same-floor moving task across buildings. The target transfer map includes at least one of the same-floor transfer map of the same building or the same-floor transfer map across buildings. The target transfer point includes at least one of the same-floor transfer point of the same building or the same-floor transfer point across buildings, and the target path includes at least one of the moving path for the same-floor moving task of the same building or the moving path for the same-floor moving task across buildings.
[0059] In this embodiment, the target building can be a building or multiple buildings, and the cross-floor movement task includes at least one of the cross-floor movement task of the same building and the cross-floor movement task of cross-buildings. The target transfer map includes at least one of the following: the same-floor transfer map of each building in the multiple buildings, the cross-floor transfer map of each building in the multiple buildings, and the transfer map between every two buildings in the multiple buildings. The target transfer point includes at least one of the following: the same-floor transfer point of each building in the multiple buildings, the cross-floor transfer point of each building in the multiple buildings, and the transfer point between every two buildings in the multiple buildings. The target path includes a cross-floor movement task for the same building and a cross-floor movement path for the cross-floor movement task across buildings. It can be understood that the cross-floor movement task of the same building may not include the transfer point between every two buildings in the multiple buildings.
[0060] In this embodiment, the cross-floor movement task across buildings includes at least one of the following: a same-floor movement task for each of the multiple buildings, a cross-floor movement task for each of the multiple buildings, and a movement task between every two buildings in the multiple buildings. The cross-floor movement path for the cross-floor movement task across buildings may specifically include at least one of the following: a same-floor movement path for each of the multiple buildings, a cross-floor movement path for each of the multiple buildings, and a movement path between every two buildings in the multiple buildings.
[0061] In this embodiment, when the starting point and the end point are on the same floor of the same building, the moving task is a moving task on the same floor of the same building. The same floor of a building may correspond to one original map or to multiple original maps. When the same floor corresponds to multiple original maps, each original map corresponds to an area on the floor, and two adjacent original maps include transfer points with the same identification.
[0062] The same floor where the starting point and the end point are located can be determined as the target floor. When the target floor corresponds to multiple original maps, the computer device can determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps. Based on the starting point map and the end point map, and the transfer points with the same identification in the original maps adjacent to the target floor, the computer device selects the same-floor transfer map from the multiple original maps of the building, determines the same-floor transfer points from the starting point map, the end point map and the same-floor transfer map respectively, and generates the same-floor movement path of the robot in the building for the same-floor movement task according to the starting point, the end point and the same-floor transfer points.
[0063] In this embodiment, when the starting point and the end point are on different floors of the same building, the movement task is a cross-floor movement task of the same building. The same floor can correspond to one original map or multiple original maps. When the same floor corresponds to multiple original maps, each original map corresponds to an area in the floor, and two adjacent original maps include transfer points with the same identification.
[0064] When the starting point and the end point are on different floors of the same building, the computer device can determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from multiple original maps. Based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, the computer device selects a cross-floor transfer map from the multiple original maps of the building, determines the cross-floor transfer points from the starting point map, the end point map and the cross-floor transfer map respectively, and generates a cross-floor movement path for the robot in the building for the cross-floor movement task according to the starting point, the end point and the cross-floor transfer points.
[0065] In this embodiment, the inter-floor transfer point may be a boarding point, and the boarding point may be, for example, an elevator entrance. Elevator entrances on different floors may have the same logo.
[0066] In some embodiments, the target building includes a plurality of units, the target building has a plurality of floors, and each of the plurality of units includes a different area on the same floor. Each floor is divided into a plurality of areas. Figure 3As shown, the target building has four floors, namely, the first floor, the second floor, and the third floor, and is divided into three units, so that the target building is divided into 12 areas, namely, the first floor of the first unit, the first floor of the first unit, the second floor of the first unit, and the third floor of the first unit. One area may correspond to one original map, and one area may correspond to two original maps. For example, the first floor of the first unit corresponds to two original maps, and the first floor of the second unit corresponds to one original map.
[0067] When the starting point and the end point are on different floors of different units, the moving task includes a same-floor moving task and a cross-floor moving task. The computer device can determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from multiple original maps. Based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, the computer device filters out the target transfer map from the multiple original maps, and the target transfer map includes a same-floor transfer map and a cross-floor transfer map. The same-floor transfer points and the cross-floor transfer points are determined from the starting point map, the end point map, the same-floor transfer map, and the cross-floor transfer map respectively, and according to the starting point, the end point, the same-floor transfer points, and the cross-floor transfer points, the same-floor moving path for the same-floor moving task and the cross-floor moving path for the cross-floor moving task of the robot in the target building are generated.
[0068] like Figure 3 As shown in the figure, each rectangle represents an original map, and a circle (hollow circle) in the rectangle represents a transfer point in the original map. The two circles are connected by a double-arrow connecting line, indicating that the two circles serve as transfer points between the two original maps. The robot can move between the two original maps through the two circles pointed to by the double-arrow connecting line.
[0069] In this embodiment, the target building can be a building, which includes unit 1, unit 2 and unit 3. If the current robot is at the starting point (solid dot) marked in the original map of the first floor of unit 2, the original map corresponding to the first floor of unit 2 is the starting point map. The end point is end point 1 (solid dot) marked in the original map of the third floor of unit 2, then the end point map is the original map corresponding to the third floor of unit 2. The robot's current mobile task is a cross-floor elevator control task, that is, a cross-floor movement task in the same building. After the robot performs the elevator task through the elevator room between a longitudinal connecting line corresponding to the current starting point map, when it arrives at the corresponding floor, it is converted into a map of the corresponding floor. Each point between the entire longitudinal connecting line represents a corresponding elevator point with the same identification. The elevator point is used as a transfer point in the cross-floor movement task of the same building, also known as a cross-floor transfer point in the same building.
[0070] For example, Figure 3In the four floors of the middle unit 2, the four transfer points in the original map connected by three vertical double-arrow connecting lines have the same logo, that is, in the second unit, the four elevator points on the negative first floor, the elevator point on the first floor, the elevator point on the second floor, and the elevator point on the third floor have the same logo. The robot can directly switch from the elevator point on the negative first floor to any of the elevator points on the first floor, the elevator point on the second floor, or the elevator point on the third floor.
[0071] If the task is to move on the same floor of the same building, the two original maps have transfer points with the same mark at both ends of the horizontal double-arrow connecting line, so that the robot can switch from the transfer point of one original map to another original map. The two original maps are connected by the transfer points with the same mark so that the original maps of the same floor of the same building can be reached from each other, thereby realizing the movement of the robot on the same floor of the same building.
[0072] Therefore, as long as the starting point and the end point are determined, all the transfer points that need to be passed from the starting point to the end point can be quickly found through the elevator point or the transfer point on the same floor. Then, according to the original map, the starting map and the end point map to which each transfer point belongs, the target transfer map with the least transfer times can be selected, and a path from the starting point to the end point through the target transfer point can be determined. In addition, according to the path segments split out according to the types of different transfer points, the cross-floor movement tasks in the same building and the same-floor movement tasks in the same building can be performed in segments.
[0073] In one embodiment, the target building includes building A and building B. For example, building A may include unit 1, and building B may include unit 2 and unit 3. If the current robot is at the starting point (solid dot) marked in the original map of the first floor of unit 2 in building B, then the original map corresponding to the first floor of unit 2 is the starting point map. The end point is end point 2 (solid dot) marked in the original map of the second floor of unit 1 in building A, then the end point map is the original map where end point 2 is located, and the current movement task of the robot is a cross-building and cross-floor movement task. The starting point map of the first floor of unit 2 in building B and the end point map of the second floor of unit 1 in building A need to be transferred once through the original map of the first floor of unit 1 in building A, that is, the transfer map. The robot can move from the starting point map to the transfer map of the first floor of unit 1 in building A based on the transfer point connected by the horizontal double-arrow connecting line between the starting point map and the transfer map of the first floor of unit 1 in building A. Since there may be multiple transfer maps between the starting point map and the end point map, the transfer method with the least number of transfers is selected, that is, Figure 3From the transfer point below the starting point map, reach the transfer map on the left side of the first floor of unit one through the horizontal double arrow; after excluding the transfer map on the right side of the first floor of unit one from the transfer point above the starting point map, reach the transfer map on the left side of the first floor of unit one based on the same transfer point; in this way, the target path with the least transfer times is selected, and after reaching the transfer map on the first floor of unit one of building A, based on the transfer point connected by the vertical connecting line between the transfer map on the first floor of unit one of building A and the destination map, move from the transfer map to the destination map on the second floor of unit one, so that the robot moves from the starting point on the first floor of unit two in building B to the destination 2 on the second floor of unit one in building A, thereby realizing the robot's cross-building and cross-floor movement task.
[0074] If the current robot is at the starting point marked in the original map of the first floor of the second unit in building B, and the end point is the end point 3 marked in the original map of the first floor of the first unit in building A, then the end point map is the original map where the end point 3 is located, and the current movement task of the robot is a cross-building same-floor movement task. There is a transfer point connected by a horizontal double-arrow connecting line between the starting point map of the first floor of the second unit in building B and the end point map of the first floor of the first unit in building A, indicating that the starting point map and the end point map are adjacent maps, and no transfer map is required. The robot moves directly from the starting point map of the first floor of the second unit in building B to the end point map of the first floor of the first unit in building A through the transfer point between the starting point map and the end point map, so that the robot moves from the starting point of the first floor of the second unit in building B to the end point 3 of the first floor of the first unit in building A, thereby realizing the robot's cross-building same-floor movement task. Instead of choosing to transfer through the transfer map on the right side of the first floor of the first unit before reaching the end point 3, the number of transfers is reduced and the efficiency of path planning is improved.
[0075] In this embodiment, the moving task includes at least one of the same-floor moving task or the cross-floor moving task, the target transfer map includes at least one of the same-floor transfer map or the cross-floor transfer map, the target transfer point includes at least one of the same-floor transfer point or the cross-floor transfer point, and the target path includes at least one of the same-floor moving path for the same-floor moving task or the cross-floor moving path for the cross-floor moving task, so that the robot can realize the optimal path search for the same-floor multi-map moving task and the cross-floor multi-map moving task, and split the robot's path task according to the transfer point information and the end point position, so as to realize the robot's cross-floor and same-floor moving tasks in the same building, and can also realize the robot's cross-floor moving tasks in multiple buildings.
[0076] In one embodiment, based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, a target transfer map is screened out from multiple original maps, including:
[0077] For the same-floor moving task in the same building, determine the starting floor to which the starting point belongs and the terminal floor to which the terminal belongs in the building, and determine the original map corresponding to the starting floor and the original map corresponding to the terminal floor; based on the starting point map and the original map corresponding to the starting floor, determine the same-floor transfer map corresponding to the starting point map from the original map corresponding to the starting floor; based on the terminal map and the original map corresponding to the terminal floor, determine the same-floor transfer map corresponding to the terminal map from the original map corresponding to the terminal floor; for the cross-floor moving task in the same building, determine the original map corresponding to each floor passed from the starting floor to the terminal floor in the building; based on the same-floor transfer map corresponding to the starting point map and the same-floor transfer map corresponding to the terminal map, determine the cross-floor transfer map from the starting floor to the terminal floor from the original map corresponding to each passed floor.
[0078] In one embodiment, based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, a target transfer map is screened out from multiple original maps, including:
[0079] Based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, candidate transfer maps are screened out from the multiple original maps; the attribute information corresponding to the transfer points in each candidate transfer map is determined; based on the starting point map, the end point map, and the attribute information of the transfer points, a target transfer map that meets the preset switching conditions is screened out from the candidate transfer maps.
[0080] The attribute information of the transfer point includes the identifier of the transfer point, the map name of the map where the transfer point is located, and the location information of the destination. The candidate transfer map refers to the map that can be passed from the starting point map to the destination map.
[0081] The attribute information of the transfer point can be the data structure of the transfer point, including the transfer point identifier, the name of the map where the transfer point is located, the location information of the end point and other related information. For the elevator point, it can also be regarded as a special transfer point that needs to perform cross-floor tasks. Therefore, the elevator point can inherit the transfer point.
[0082] Specifically, the computer device selects candidate transit maps from the plurality of original maps based on the starting point map and the destination map, and transit points with the same identification included in adjacent maps in each original map.
[0083] The computer device determines the attribute information corresponding to each transfer point in each candidate transfer map, and based on the starting point map, the end point map, and the attribute information of each transfer point, selects a target transfer map that meets the preset switching conditions from the candidate transfer maps.
[0084] In this embodiment, the transfer point map that meets the preset switching conditions can be specifically a map with the least number of switches on the same floor and a map with the least number of switches across floors. For example, a map that only needs to be switched once on the same floor and a map that only needs to be switched once across floors. The specific determination of how many times to switch is required is related to the attribute information of the transfer point. That is, the number of times to switch can be determined based on the identifier of each transfer point and the map name of the map where the transfer point is located.
[0085] For example, among the three original maps A, B, and C on the same floor, original map A and original map B have the same transfer point with identification 1, and original map B and original map C have the same transfer point with identification 2. The robot needs to switch from original map A to original map B through the transfer point with identification 1, and then switch from original map B to original map C through the transfer point with identification 2, which requires two switches. If among the three original maps A, B, and C on the same floor, original map A and original map C have the same transfer point with identification, the robot can directly switch from original map A to original map C through the transfer point with identification, which requires only one switch, without passing through original map B. At this time, original map C can be selected as the target transfer map.
[0086] In this embodiment, based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, candidate transfer maps are screened out from multiple original maps, thereby preliminarily screening out all transfer maps that can be from the starting point map to the destination map. Determine the attribute information corresponding to the transfer point in each candidate transfer map, and based on the starting point map, the destination map, and the attribute information of the transfer point, accurately screen out the target transfer map that meets the preset switching conditions from the candidate transfer maps, so that the selected target transfer map is the map with the least transfer points to pass from the starting point to the destination, thereby generating the shortest path from the starting point to the destination.
[0087] In one embodiment, based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, a candidate transfer map is screened out from the multiple original maps, including:
[0088] Add the starting map to the map queue, and select a map from the map queue as the current map; when the current map is not the destination map, determine each associated map of the current map from multiple original maps; the current map and the associated maps include transfer points with the same identifier; add each associated map of the current map to the map queue, delete the current map from the map queue, return to the step of selecting a map from the map queue as the current map and continue executing until the map queue is empty, and obtain the candidate transfer maps from the starting map to the destination map.
[0089] Specifically, the computer device pre-sets a map queue, which is used to store maps to be searched. For example, a starting point map is added to the map queue, and the starting point map is the map to be searched in the map queue, and a related map is added to the map queue, and the related map is the map to be searched in the map queue.
[0090] The computer device adds the starting point map to the map queue, and selects a map from the map queue as the current map. The current map can be selected from the map queue in sequence or randomly. The map selected from the map queue is the current map. For example, when the selected starting point is the starting point map, the starting point map is the current map.
[0091] It is determined whether the selected current map is a destination map. When the current map is not a destination map, each associated map of the current map is determined from multiple original maps according to the transfer points with the same identification in each original map, and the current map and the associated map include the transfer points with the same identification. That is, the computer device can select the original map with the transfer points with the same identification as the current map from the multiple original maps as the associated map of the current map.
[0092] After the computer device determines each associated map of the current map, the search for the current map is completed, and each associated map of the current map is added to the map queue, and the current map is deleted from the map queue, and the step of selecting a map from the map queue as the current map is returned and continued until the map queue is empty, and the candidate transit maps from the starting map to the end map are obtained.
[0093] In this embodiment, when the current map is the destination map and the map queue is not empty, the current map is deleted from the map queue, and the step of selecting a map from the map queue as the current map is returned and continued until the map queue is empty, thereby obtaining a candidate transit map from the starting map to the destination map.
[0094] In this embodiment, when the current map is the destination map and the map queue is empty, the loop is stopped to obtain the candidate transit maps from the starting point map to the destination map.
[0095] In this embodiment, the starting point map is added to the map queue, and a map is selected from the map queue as the current map. When the current map is not the destination map, each associated map of the current map is determined from multiple original maps, and the current map and the associated maps include transfer points with the same identification. Each associated map of the current map is added to the map queue, and the current map is deleted from the map queue, so that the map to be searched is always saved in the map queue, and the step of selecting a map from the map queue as the current map is returned and continued. In this way, each map in the map queue can be automatically traversed to search for the next map that can be reached by each map in the map queue until the map queue is empty. In this way, all candidate transfer maps that can be used for transfer in the planning process from the starting point to the end point can be accurately searched from multiple original maps by means of a global search.
[0096] In one embodiment, when the current map is not a destination map, each associated map of the current map is determined from a plurality of original maps, including:
[0097] When the current map is not the destination map and is not in the visited set, each associated map of the current map is determined from multiple original maps, and the visited set is used to store the selected maps in the map queue;
[0098] In this embodiment, the method further includes:
[0099] When the current map is not the destination map and the current map is in the visited set, return to the step of selecting a map from the map queue as the current map and continue execution.
[0100] Specifically, the computer device may pre-set a map queue and a visited collection. The visited collection is used to store the searched maps.
[0101] The computer device adds the starting point map to the map queue and selects a map from the map queue as the current map. It determines whether the selected current map is the destination map. When the current map is not the destination map, the computer device determines whether the current map is in the visited set. If the current map is not in the visited set, it means that the current map has not been visited. Then, according to the transfer points with the same identification in each original map, each associated map of the current map is determined from multiple original maps. Each associated map of the current map is added to the map queue, and the current map is deleted from the map queue. The step of selecting a map from the map queue as the current map is returned and continued until the map queue is empty.
[0102] In this embodiment, when the current map is not the destination map and the current map is in the visited set, it means that the current map has been searched, that is, the current map has determined the associated map, then the current map is deleted from the map queue, and the step of selecting a map from the map queue as the current map is returned and continued.
[0103] In this embodiment, when the current map is not the destination map and the current map is not in the visited set, it means that the current map has not been visited, then each associated map of the current map is determined from multiple original maps to search for the next reachable map for the current map. When the current map is not the destination map and the current map is in the visited set, it means that the current map has been searched, and there is no need to search again, so as to reduce the search amount and improve the search efficiency. Return to the step of selecting a map from the map queue as the current map and continue to execute until the map queue is empty, so that all candidate transit maps that can achieve transit can be accurately searched from multiple original maps by global search.
[0104] In one embodiment, the method further includes: when the current map is not the destination map and there is no associated map with the current map, returning to the step of selecting a map from the map queue as the current map and continuing to execute.
[0105] Specifically, when the current map is not the destination map, the computer device can determine the associated map of the current map. When the current map does not have an associated map, indicating that the current map cannot be switched to the next map, the process returns to the step of selecting a map from the map queue as the current map and continues to execute until the map queue is empty.
[0106] Furthermore, when the current map is not the destination map and there is no associated map for the current map, the current map can be deleted from the map queue and added to the visited set. Then, the process returns to the step of selecting a map from the map queue as the current map and continues to execute.
[0107] In one embodiment, when the current map is not the destination map, the current map is not in the visited set, and the current map has no associated map, the process returns to the step of selecting a map from the map queue as the current map and continues execution.
[0108] Furthermore, when the current map is not the destination map, and the current map is not in the visited set, and the current map has no associated map, the current map can be deleted from the map queue and added to the visited set. Then, return to the step of selecting a map from the map queue as the current map and continue to execute.
[0109] In this embodiment, when the current map is not the destination map and there is no associated map with the current map, it means that the current map cannot be switched to the next map, then the process returns to the step of selecting a map from the map queue as the current map and continues to execute, so as to search for the next transit map for each map in the map queue based on the transit point with the same identifier, so as to realize the map switching.
[0110] In one embodiment, the method further includes: when the current map is the destination map and the map queue is not empty, deleting the current map from the map queue, returning to the step of selecting a map from the map queue as the current map and continuing execution.
[0111] Specifically, when the current map is the destination map and the map queue is not empty, the current map is deleted from the map queue, and the step of selecting a map from the map queue as the current map is returned and continued until the map queue is empty, and a candidate transit map from the starting point map to the destination map is obtained.
[0112] In this embodiment, when the current map is the destination map, it means that there is no need to determine the next map of the destination map, and the destination map can be directly deleted from the map queue. If the map queue is not empty at this time, it means that there are still maps to be searched in the map queue, and then the step of selecting a map from the map queue as the current map is returned and continued, so that each map in the map queue can be automatically traversed to search for the next map that can be reached by each map in the map queue until the map queue is empty. In this way, all candidate transfer maps that can be transferred in the planning process from the starting point to the destination can be accurately searched from multiple original maps by global search.
[0113] In one embodiment, when the current map is the destination map and the map queue is empty, the loop is stopped to obtain candidate transit maps from the starting map to the destination map.
[0114] When the current map is the destination map, it means that there is no need to determine the next map of the destination map, and the destination map can be directly deleted from the map queue. If the map queue is empty at this time, it means that there is no map to be searched in the map queue, and all candidate transit maps have been obtained through global search.
[0115] In one embodiment, after determining the data structure of the transfer point, the answer to whether the two maps are accessible can be simplified to whether a path can be established between the starting map and the end map through the transfer point. If so, it can be said that the two maps can access each other. According to the actual situation of the existing scenario, it is assumed that if the fewer transfer points can be accessed to reach the end map, it means that this is a shortest path map to the destination. Because there is no need to consider the weighted length of each path, but the length of each path is regarded as 1, the BFS (breadth-first search algorithm) can be used directly to obtain the shortest map access path. In the actual use of the algorithm, only the starting map information, the end map information, and all transfer points (including the elevator point) need to be passed in. Among them, all transfer points can be obtained by traversing all maps of the robot.
[0116] like Figure 4 As shown, a shortest path search process is provided. The following information is predefined:
[0117] First, initialize an empty visited set to record the maps that have been visited in the map queue.
[0118] Initialize an empty map queue to save the maps to be searched.
[0119] Add the starting map to the map queue. Determine whether the map queue is empty. If not, select a map from the map queue in order as the current map. The first selected map is the starting map.
[0120] Determine whether the current map is the destination map. If not, further determine whether the current map is in the visited set. If so, return to the step of determining whether the map queue is empty and continue execution. If not, determine the map with the same transfer point identifier as the current map as the associated map, that is, determine the associated map of the current map.
[0121] Add each associated map of the current map to the map queue, delete the current map from the map queue, add the current map to the visited set, and return to the step of determining whether the map queue is empty to continue execution;
[0122] If the current map is a destination map, a candidate queue pointing from the starting map to the destination map can be obtained; the candidate queue includes the starting map, at least one candidate transit map and the destination map; then, the step of determining whether the map queue is empty is returned to continue the execution;
[0123] If the map queue is empty, multiple candidate queues may be obtained; from the multiple candidate queues, a candidate queue with the least number of candidate transfer maps is selected;
[0124] Create an empty mutable list, traverse each map in the selected candidate queue, and when the traversed map has a transfer point with the same identifier as the next map in the candidate queue, add the transfer point as the target transfer point to the mutable list.
[0125] A variable list is returned as a list of transit points with the least number of transits, and a target path is generated based on the starting point, the end point, and the target transit point in the variable list. The target path is the path with the least number of transits.
[0126] In one embodiment, a robot path planning method is provided, which is applied to a computer device, comprising:
[0127] Obtaining the robot's mobile task in the target building, and obtaining multiple original maps for the target building, the multiple original maps corresponding to multiple different areas of the target building, and adjacent original maps including transfer points with the same identification;
[0128] Determine a starting point and an end point of the moving task, and determine a starting point map to which the starting point belongs and an end point map to which the end point belongs from a plurality of original maps;
[0129] Add the starting map to the map queue, and select a map from the map queue in order as the current map. The first selected map is the starting map.
[0130] Determine whether the current map is the destination map. If the current map is not the destination map, further determine whether the current map is in the visited set. If so, return to the step of selecting a map from the map queue in order as the current map and continue execution;
[0131] If the current map is not the destination map and is not in the visited set, a map with the same transfer point identifier as the current map is determined as the associated map;
[0132] Add each associated map of the current map to the map queue, and remove the current map from the map queue and add the current map to the visited set;
[0133] Returns the step of selecting a map from the map queue as the current map in order and continues to execute until the map queue is empty.
[0134] If the current map does not have an associated map, return to the step of selecting a map from the map queue in order as the current map and continue executing until the map queue is empty.
[0135] When the map queue is empty, multiple candidate queues pointing from the starting map to the destination map can be obtained; each queue includes the starting map, at least one candidate transfer map and the destination map;
[0136] From multiple candidate queues, select a candidate queue with the least number of candidate transfer maps;
[0137] Traverse each map in the selected candidate queue. When the traversed map has a transfer point with the same identifier as the next map in the candidate queue, use the transfer point as the target transfer point. Traverse until the last map in the candidate queue is reached and stop to obtain each target transfer point.
[0138] Based on the starting point, each target transfer point and the end point, a target path is generated, which is the path with the least number of transfers.
[0139] The robot can move from the starting point to the end point according to the target path.
[0140] If the target path has not been found when the map queue is empty, an empty list is returned.
[0141] In this embodiment, through the breadth-first search algorithm, after all the transfer point information and the starting point and end point maps are input, all the transfer points that need to be passed through and the attribute information corresponding to the transfer points can be screened out. According to the attribute information carried by these transfer points and the end point position, the target path from the start point to the end point is generated. According to the types of different transfer points, the target path can also be divided into the same-floor path and the cross-floor path, and according to the maps corresponding to the cross-floor path and the same-floor path, the cross-floor elevator control task and the same-floor map switching task are executed in sections to move to the end point, effectively realizing the optimal path search solution for the robot's cross-floor set and the same-floor multi-map tasks.
[0142] In this embodiment, the same-floor transfer points and cross-floor elevator points of the traditional map are unified and integrated into an abstract point information, namely, a transfer point carrying attribute information, so that different types of map tasks can be processed in a unified manner.
[0143] A three-dimensional 3D multi-type topological map scene is opened up and constructed, so that the robot can not only perform single-floor cross-map tasks, but also perform more complex multi-floor integrated multi-map tasks.
[0144] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0145] Based on the same inventive concept, the embodiment of the present application also provides a robot path planning device for implementing the robot path planning method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more robot path planning device embodiments provided below can refer to the limitations of the robot path planning method above, and will not be repeated here.
[0146] In one embodiment, Figure 5 As shown, a robot path planning device 500 is provided, comprising:
[0147] The acquisition module 502 is used to acquire the movement task of the robot in the target building and acquire multiple original maps for the target building. The multiple original maps correspond to multiple different areas of the target building, and adjacent original maps include transfer points with the same identification.
[0148] The first determination module 504 is used to determine the starting point and the end point of the moving task, and determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps.
[0149] The screening module 506 is used to screen out a target transfer map from a plurality of original maps based on the start point map and the end point map, and transfer points with the same identification in adjacent original maps.
[0150] The second determination module 508 is used to determine the target transfer point from the starting point map, the end point map and the target transfer map respectively.
[0151] The generation module 510 is used to generate a target path for the robot's mobile task in the target building according to the starting point, the end point and the target transfer point.
[0152] In this embodiment, by obtaining the mobile task of the robot in the target building, and obtaining multiple original maps for the target building, the multiple original maps correspond to multiple different areas of the target building, and the adjacent original maps include transfer points with the same identification, so that the reachable path between the two maps can be determined through the transfer points with the same identification, so that the robot can switch between the two maps through the transfer points with the same identification. Determine the starting point and the end point of the mobile task, and determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps. Based on the starting point map and the end point map, and the transfer points with the same identification in the adjacent original maps, select the target transfer map from the multiple original maps, so that the transfer map with the least transfer times can be selected. Determine the target transfer point from the starting point map, the end point map and the target transfer map respectively, and generate the target path of the robot for the mobile task in the target building according to the starting point, the end point and the target transfer point, thereby improving the accuracy of the robot's path planning. In addition, this solution realizes the association between the two maps through the transfer points with the same identification, which can split the robot's movement task into different movement subtasks, so that the robot can perform complex cross-floor movement and same-floor movement tasks.
[0153] In one embodiment, the moving task includes at least one of a same-floor moving task or a cross-floor moving task, the target transfer map includes at least one of a same-floor transfer map or a cross-floor transfer map, the target transfer point includes a same-floor transfer point or includes at least one of a same-floor transfer point, and the target path includes a same-floor moving path for the same-floor moving task or at least one of a cross-floor moving path for the cross-floor moving task.
[0154] In this embodiment, the moving task includes at least one of the same-floor moving task or the cross-floor moving task, the target transfer map includes at least one of the same-floor transfer map or the cross-floor transfer map, the target transfer point includes at least one of the same-floor transfer point or the cross-floor transfer point, and the target path includes at least one of the same-floor moving path for the same-floor moving task or the cross-floor moving path for the cross-floor moving task, so that the robot can realize the optimal path search for the same-floor multi-map moving task and the cross-floor multi-map moving task, and split the robot's path task according to the transfer point information and the end point position, so as to realize the execution of cross-floor and same-floor multi-map tasks.
[0155] In one of the embodiments, the screening module 506 is also used to determine, for a same-floor moving task, the starting floor to which the starting point belongs and the terminal floor to which the terminal belongs, and determine the original map corresponding to the starting floor and the original map corresponding to the terminal floor; based on the starting point map and the original map corresponding to the starting floor, determine the same-floor transfer map corresponding to the starting point map from the original map corresponding to the starting floor; based on the terminal map and the original map corresponding to the terminal floor, determine the same-floor transfer map corresponding to the terminal map from the original map corresponding to the terminal floor; for a cross-floor moving task, determine the original map corresponding to each floor passed from the starting floor to the terminal floor; based on the same-floor transfer map corresponding to the starting point map and the same-floor transfer map corresponding to the terminal map, determine the cross-floor transfer map from the starting floor to the terminal floor from the original map corresponding to each floor passed.
[0156] In one embodiment, the screening module 506 is further used to screen candidate transit maps from the plurality of original maps based on the starting point map and the destination map, and the transit points with the same identification in the adjacent original maps; and determine the attribute information corresponding to the transit point in each candidate transit map;
[0157] Based on the attribute information of the starting point map, the end point map, and the transfer point, a target transfer map that meets the preset switching conditions is screened out from the candidate transfer maps.
[0158] In this embodiment, based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, candidate transfer maps are screened out from multiple original maps, thereby preliminarily screening out all transfer maps that can be from the starting point map to the destination map. Determine the attribute information corresponding to the transfer point in each candidate transfer map, and based on the starting point map, the destination map, and the attribute information of the transfer point, accurately screen out the target transfer map that meets the preset switching conditions from the candidate transfer maps, so that the selected target transfer map is the map with the least transfer points to pass from the starting point to the destination, thereby generating the shortest path from the starting point to the destination.
[0159] In one embodiment, the screening module 506 is further used to add the starting map to the map queue, and select a map from the map queue as the current map; when the current map is not the destination map, determine each associated map of the current map from multiple original maps; the current map and the associated maps include transfer points with the same identifier; add each associated map of the current map to the map queue, delete the current map from the map queue, and return to the step of selecting a map from the map queue as the current map and continue to execute until the map queue is empty, thereby obtaining a candidate transfer map from the starting map to the destination map.
[0160] In this embodiment, the starting point map is added to the map queue, and a map is selected from the map queue as the current map. When the current map is not the destination map, each associated map of the current map is determined from multiple original maps, and the current map and the associated maps include transfer points with the same identification. Each associated map of the current map is added to the map queue, and the current map is deleted from the map queue, so that the map to be searched is always saved in the map queue, and the step of selecting a map from the map queue as the current map is returned and continued. In this way, each map in the map queue can be automatically traversed to search for the next map that can be reached by each map in the map queue until the map queue is empty. In this way, all candidate transfer maps that can be used for transfer in the planning process from the starting point to the end point can be accurately searched from multiple original maps by means of a global search.
[0161] In one embodiment, the filtering module 506 is also used to determine each associated map of the current map from multiple original maps when the current map is not the destination map and the current map is not in the visited set, and the visited set is used to store the maps selected in the map queue; when the current map is not the destination map and the current map is in the visited set, return to the step of selecting a map from the map queue as the current map and continue execution.
[0162] In this embodiment, when the current map is not the destination map and the current map is not in the visited set, it means that the current map has not been visited, then each associated map of the current map is determined from multiple original maps to search for the next reachable map for the current map. When the current map is not the destination map and the current map is in the visited set, it means that the current map has been searched, and there is no need to search again, so as to reduce the search amount and improve the search efficiency. Return to the step of selecting a map from the map queue as the current map and continue to execute until the map queue is empty, so that all candidate transit maps that can achieve transit can be accurately searched from multiple original maps by global search.
[0163] In one embodiment, the filtering module 506 is further used to return to the step of selecting a map from the map queue as the current map and continue execution when the current map is not the destination map and there is no associated map with the current map.
[0164] In one embodiment, the second determination module 508 is also used to use the transfer points with the same mark in the starting point map and the target transfer map as the target transfer points; use the transfer points with the same mark in each target transfer map as the target transfer points; use the transfer points with the same mark in the target transfer map and the destination map as the target transfer points.
[0165] In this embodiment, when the current map is not the destination map and there is no associated map with the current map, it means that the current map cannot be switched to the next map, then the process returns to the step of selecting a map from the map queue as the current map and continues to execute, so as to search for the next transit map for each map in the map queue based on the transit point with the same identifier, so as to realize the map switching.
[0166] In one embodiment, the filtering module 506 is further used to delete the current map from the map queue when the current map is the destination map and the map queue is not empty, and return to the step of selecting a map from the map queue as the current map and continue execution.
[0167] Each module in the above robot path planning device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0168] In one embodiment, a computer device is provided. The computer device may be a server or a robot. The internal structure diagram thereof may be as follows: Figure 6 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store relevant data for path planning. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a robot path planning method is implemented.
[0169] Those skilled in the art will understand that Figure 6 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0170] The embodiments of the present application also provide a computer-readable storage medium, one or more non-volatile computer-readable storage media containing computer-executable instructions, which, when executed by one or more processors, cause the processors to execute the steps of the above embodiments.
[0171] The embodiments of the present application also provide a computer program product including instructions, which, when executed on a computer, enables the computer to execute the methods of the above embodiments.
[0172] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.
[0173] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0174] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0175] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A robot path planning method, characterized in that: include: Acquire a movement task of the robot in a target building, and acquire a plurality of original maps for the target building, wherein the plurality of original maps correspond to a plurality of different areas of the target building, and adjacent original maps include transfer points with the same identification; Determine a starting point and an end point of the moving task, and determine a starting point map to which the starting point belongs and an end point map to which the end point belongs from the multiple original maps; Based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, a target transfer map is selected from the multiple original maps; Determine a target transfer point from the starting point map, the end point map and the target transfer map respectively; A target path for the robot to perform the moving task in the target building is generated according to the starting point, the end point and the target transfer point.
2. The method according to claim 1, characterized in that: The moving task includes at least one of a same-floor moving task or a cross-floor moving task, the target transfer map includes at least one of a same-floor transfer map or a cross-floor transfer map, the target transfer point includes at least one of a same-floor transfer point or a cross-floor transfer point, and the target path includes at least one of a same-floor moving path for a same-floor moving task or a cross-floor moving path for a cross-floor moving task.
3. The method according to claim 1, characterized in that The step of selecting a target transfer map from the plurality of original maps based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, includes: Based on the starting point map and the destination map, and the transfer points with the same identification in the adjacent original maps, screening out candidate transfer maps from the multiple original maps; Determining attribute information corresponding to each transfer point in the candidate transfer map; Based on the starting point map, the end point map, and the attribute information of the transfer point, a target transfer map that meets the preset switching condition is screened out from the candidate transfer maps.
4. The method according to claim 3, characterized in that: The selecting a candidate transit map from the plurality of original maps based on the starting point map and the destination map, and the transit points with the same identification in the adjacent original maps, includes: Adding the starting point map to a map queue, and selecting a map from the map queue as the current map; When the current map is not a destination map, determining each associated map of the current map from the multiple original maps; the current map and the associated maps include transfer points with the same identification; Add each associated map of the current map to a map queue, delete the current map from the map queue, return to the step of selecting a map from the map queue as the current map and continue executing until the map queue is empty, and obtain candidate transit maps from the starting map to the destination map.
5. The method according to claim 4, characterized in that When the current map is not a destination map, determining each associated map of the current map from the multiple original maps includes: When the current map is not the destination map and the current map is not in the visited set, each associated map of the current map is determined from the multiple original maps, and the visited set is used to store the maps selected in the map queue; The method further comprises: When the current map is not the destination map and the current map is in the visited set, return to the step of selecting a map from the map queue as the current map and continue executing.
6. The method according to claim 4, characterized in that The method further comprises: When the current map is not the destination map and there is no associated map for the current map, the process returns to the step of selecting a map from the map queue as the current map and continues to execute.
7. The method according to claim 4, characterized in that The method further comprises: When the current map is the destination map and the map queue is not empty, the current map is deleted from the map queue, and the process returns to the step of selecting a map from the map queue as the current map and continues to execute.
8. A robot path planning device, characterized in that: include: An acquisition module, used to acquire the movement task of the robot in the target building, and acquire multiple original maps for the target building, wherein the multiple original maps correspond to multiple different areas of the target building, and adjacent original maps include transfer points with the same identification; A first determination module is used to determine the starting point and the end point of the movement task, and determine the starting point map to which the starting point belongs and the end point map to which the end point belongs from the multiple original maps; A screening module, configured to screen out a target transfer map from the plurality of original maps based on the starting point map and the destination map, and transfer points with the same identification in the adjacent original maps; A second determination module is used to determine a target transfer point from the starting point map, the end point map and the target transfer map respectively; A generation module is used to generate a target path for the robot to perform the moving task in the target building according to the starting point, the end point and the target transfer point.
9. A computer device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the computer program is executed by the processor, the processor is caused to perform the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Cited By
Robot path planning method and apparatus, computer device, and readable storage medium
WO2026118781A1