Path Planning Method, Device, Mobile Robot, and Storage Medium
By generating driving maps and receiving reference object location information, determining path weights and selecting avoidance paths, the practicality and reliability of path planning schemes during collaborative driving of multiple autonomous mobile robots is solved, and real-time path planning and conflict avoidance are achieved.
Patent Information
- Application Number
- CN202110216905.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-26
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2041-02-26
AI Technical Summary
In the prior art, due to the complex computing process, the path planning scheme of multiple autonomous mobile robots is less practical and reliable when traveling in a coordinated manner, and there is a risk of conflict and deadlock.
By generating a driving map, receiving the location information of the reference object, determining the path weight of each planned path, selecting the avoidance weight to match the avoidance path, and performing movement operations based on the avoidance path to realize real-time path planning and avoidance.
The calculation process is simplified, real-time response to reference object position information is achieved, the practicality and reliability of path planning is improved, and conflict avoidance between multiple mobile robots is ensured.
Smart Images

Figure CN115047858B_ABST
Abstract
Description
Background Art
[0002] An autonomous mobile robot refers to a machine with the ability of see - think - act. There is a certain probability of conflict during the collaborative driving of multiple autonomous mobile robots.
[0003] In related technologies, by sharing the planned paths between multiple mobile robots and detecting conflicts in the planned paths between adjacent robots, a feasible path without conflict and deadlock between multiple mobile robots is negotiated through a series of complex calculation processes. However, this method has relatively low practicability and reliability due to the complex calculation process.
[0004] It should be noted that the information disclosed in the above background art section is only used to strengthen the understanding of the background of the present disclosure. Therefore, it may include information that does not constitute the prior art known to those of ordinary skill in the art. Summary of the Invention
[0005] The purpose of the present disclosure is to provide a path planning method, device, mobile robot, and computer - readable storage medium, which can at least to some extent improve the problem in related technologies that the practicability and reliability of the robot's moving path planning scheme are relatively low due to the complex calculation process.
[0006] Other features and advantages of the present disclosure will become apparent through the following detailed description, or be learned in part through the practice of the present disclosure.
[0007] According to one aspect of the present disclosure, there is provided a path planning method, including: generating a driving map based on the end position sent by a server, where the driving map includes multiple planned paths; receiving the position information of the reference objects in the driving map; determining the path weight of each of the planned paths based on the position information; determining an avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight from the multiple planned paths; and performing a moving operation based on the avoidance path.
[0008] In one embodiment, each of the planned paths is configured with an initial weight, and the determining the path weight of each of the planned paths based on the position information includes: updating the initial weight based on the position information and determining the updated initial weight as the path weight.
[0009] In one embodiment, updating the initial weight based on the position information to determine the updated initial weight as the path weight includes: detecting the relative position relationship between the reference object and the multiple planned paths based on the position information; designating the planned path with the reference object as the first planned path, determining the number of reference objects on the first planned path and the preset weight value of each reference object; updating the initial weight based on the number of reference objects and the preset weight value of each reference object to obtain the path weight; designating the planned path without the reference object as the second planned path, and determining the initial weight of the second planned path as the path weight of the second planned path.
[0010] In one embodiment, before determining the avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight among the multiple planned paths, it further includes: in response to a movement instruction, selecting an initial driving path among the multiple planned paths based on a preset path selection model; performing a movement operation based on the initial driving path to receive the position information of the reference object during the movement.
[0011] In one embodiment, selecting an initial driving path among the multiple planned paths based on a preset path selection model includes: traversing the multiple planned paths based on the A* algorithm to obtain the shortest path among the multiple planned paths, and designating the shortest path as the initial driving path.
[0012] In one embodiment, determining the avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight among the multiple planned paths includes: when it is detected that the reference object exists on the initial driving path based on the position information of the reference object, determining the minimum value among the multiple avoidance weights as the avoidance weight; designating the planned path corresponding to the avoidance weight as the avoidance path.
[0013] In one embodiment, it further includes: obtaining the starting position and the ending position of the mobile robot; obtaining the passable sections between the starting position and the ending position to generate the multiple planned paths based on the passable sections; extracting the Voronoi diagram of the environment map of the mobile robot based on the passable sections, and designating the Voronoi diagram as the driving map.
[0014] According to another aspect of the present disclosure, there is provided a path planning device, including: a generation module configured to generate a driving map based on an end position sent by a server, where the driving map includes multiple planned paths; a receiving module configured to receive position information of a reference object in the driving map; a determination module configured to determine a path weight of each of the planned paths based on the position information; a selection module configured to determine an avoidance weight among the multiple path weights to select an avoidance path matching the avoidance weight from the multiple planned paths; and a control module configured to perform a movement operation based on the avoidance path.
[0015] According to one aspect of the present disclosure, there is provided a mobile robot, including: a processor; and a memory configured to store executable instructions of the processor; wherein the processor is configured to execute the path planning method described in the above aspect by executing the executable instructions.
[0016] According to yet another aspect of the present disclosure, there is provided a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the path planning method described in any one of the above is implemented.
[0017] In the path planning solution provided by the embodiments of the present disclosure, the mobile robot determines the path weight of each planned path based on the driving map and the received real-time positions of other mobile robots, selects an avoidance weight from the obtained path weights, determines an avoidance path based on the avoidance weight, realizes real-time planning of the avoidance path, and can avoid reference objects on the forward path in advance, which can ensure with the highest probability that the mobile robot avoids other mobile robots on a certain path during the movement process, thus solving the conflict problem when multiple mobile robots perform tasks and drive in a coordinated manner. This planning process realizes real-time response to the position information of the response reference object through a relatively simplified calculation process to perform real-time path planning. Therefore, it can ensure the practicability and reliability of path planning on the premise of solving the movement conflict between multiple mobile robots.
[0018] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings herein are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and those of ordinary skill in the art can obtain other drawings without creative efforts based on these drawings.
[0020] Figure 1 A schematic diagram showing the structure of a path planning system in an embodiment of the present disclosure;
[0021] Figure 2 A flowchart showing a path planning method in an embodiment of the present disclosure;
[0022] Figure 3 A flowchart showing another path planning method in an embodiment of the present disclosure;
[0023] Figure 4 A flowchart showing yet another path planning method in an embodiment of the present disclosure;
[0024] Figure 5 A flowchart showing yet another path planning method in an embodiment of the present disclosure;
[0025] Figure 6 A flowchart showing yet another path planning method in an embodiment of the present disclosure;
[0026] Figure 7 A schematic diagram showing a path planning device in an embodiment of the present disclosure;
[0027] Figure 8 A schematic diagram showing a mobile robot in an embodiment of the present disclosure. Detailed implementation manners
[0028] Example embodiments will now be described more fully with reference to the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more complete and comprehensive, and will fully convey the concept of the example embodiments to those skilled in the art. The features, structures, or characteristics described may be combined in any suitable manner in one or more embodiments.
[0029] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus repeated descriptions thereof will be omitted. Some of the block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0030] The solution provided by this application realizes real-time response to the position information of the response reference object through a relatively simplified calculation process for real-time path planning. Therefore, it can ensure the practicability and reliability of path planning on the premise of solving the movement conflicts between multiple mobile robots.
[0031] For ease of understanding, several terms related to this application will be explained first below.
[0032] A topological map refers to a statistical map in cartography, an abstract map that maintains the correct relative position relationship between points and lines, but does not necessarily maintain the correct graphic shape, area, distance, and direction.
[0033] Voronoi diagram: Also known as the Thiessen polygon, N distinct points on a plane divide the plane into N regions, each point corresponding to a region, and the distance from each point within the region to that point is the closest.
[0034] A* algorithm: The A* (A-Star) algorithm is an effective direct search method for solving in a static road network and is also an effective algorithm for solving many search problems. The closer the estimated distance value in the algorithm is to the actual value, the faster the search speed.
[0035] The solution provided in the embodiments of this application relates to technologies such as data transmission, and will be specifically described through the following embodiments.
[0036] Figure 1 The structural schematic diagram of a path planning system in an embodiment of the present disclosure is shown, including a plurality of mobile robots 120 and a server cluster 140.
[0037] The mobile robot 120 can be a mobile robot such as a mobile phone, game console, tablet computer, e-book reader, smart glasses, MP4 (Moving Picture Experts Group Audio Layer IV) player, smart home device, AR (Augmented Reality) device, VR (Virtual Reality) device, or the mobile robot 120 can also be a personal computer (PC), such as a laptop computer and a desktop computer, etc.
[0038] Among them, an application program for providing path planning can be installed in the mobile robot 120.
[0039] The mobile robot 120 is connected to the server cluster 140 through a communication network. Optionally, the communication network is a wired network or a wireless network.
[0040] The server cluster 140 is a single server, or consists of several servers, or is a virtualization platform, or is a cloud computing service center. The server cluster 140 is used to provide back-end services for the path planning application. Optionally, the server cluster 140 undertakes the main computing work, and the mobile robot 120 undertakes the secondary computing work; or, the server cluster 140 undertakes the secondary computing work, and the mobile robot 120 undertakes the main computing work; or, a distributed computing architecture is adopted between the mobile robot 120 and the server cluster 140 for collaborative computing.
[0041] In some alternative embodiments, the server cluster 140 is used to store path planning models and the like.
[0042] Optionally, the clients of the applications installed in different mobile robots 120 are the same, or the clients of the applications installed on two mobile robots 120 are clients of the same type of application on different control system platforms. Based on the differences in the mobile robot platforms, the specific forms of the application clients can also be different. For example, the application client can be a mobile phone client, a PC client, or a World Wide Web (Web) client, etc.
[0043] Those skilled in the art can understand that the number of the above-mentioned mobile robots 120 can be more or less. For example, there can be only one of the above-mentioned mobile robots, or there can be dozens or hundreds of the above-mentioned mobile robots, or even more. The embodiments of the present application do not limit the number and device types of the mobile robots.
[0044] Optionally, the system may further include a management device ( Figure 1 (not shown), which is connected to the server cluster 140 through a communication network. The communication network is a wired network or a wireless network.
[0045] Optionally, the above-mentioned wireless network or wired network uses standard communication technologies and / or protocols. The network is usually the Internet, but can also be any network, including but not limited to any combination of a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile, wired or wireless network, a private network or a virtual private network). In some embodiments, technologies and / or formats including Hyper Text Mark-up Language (HTML), Extensible Markup Language (XML), etc. are used to represent data exchanged through the network. In addition, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet Protocol Security (IPsec), etc. can be used to encrypt all or some of the links. In other embodiments, customized and / or dedicated data communication technologies can be used to replace or supplement the above data communication technologies.
[0046] Next, each step in the path planning method in this exemplary embodiment will be described in more detail with reference to the accompanying drawings and embodiments.
[0047] Figure 2 The flowchart of a path planning method in an embodiment of the present disclosure is shown. The method provided by the embodiment of the present disclosure can be executed by any mobile robot with computing and processing capabilities, such as the mobile robot 120 and / or the server cluster 140 in Figure 1 . In the following illustrative examples, the mobile robot 120 is used as the execution subject for illustration.
[0048] As Figure 2 shown, the mobile robot 120 executes the path planning method, including the following steps:
[0049] Step S202, generating a driving map based on the end position sent by the server, where the driving map includes multiple planned paths.
[0050] Among them, the mobile robot is provided with a positioning module. Based on the positioning module, the real-time position of the mobile robot is obtained. Before the mobile robot moves based on the movement instruction, the position where the mobile robot is located is regarded as the starting position. Combining the end position sent by the server and the area map, multiple planned paths between the starting point and the end point are obtained, so that a driving map can be generated based on the multiple planned paths.
[0051] Both ends of each planned path are the starting point and the end point respectively, and each planned path can include a complete section of the road, or can be formed by connecting multiple sections of the road end to end.
[0052] In addition, the end position information can be carried in the control instruction sent by the server to the mobile robot.
[0053] Step S204, receive the position information of the reference object in the driving map.
[0054] Among them, the reference object can be a stationary object or a moving object. In an application scenario described in the present disclosure, the reference object is other mobile robots in the same scene.
[0055] In addition, the position information of the reference object can be directly sent by the reference object to the mobile robot, or the reference object can send its own position information to the server, and the server forwards it to the mobile robot.
[0056] The mobile robot itself also has the ability to upload its own position information to the server and / or other mobile robots.
[0057] Those skilled in the art can understand that in the area map, the sections of the road are fixed. Therefore, if two mobile robots may be on the same section of the road, there is a probability of encounter conflict.
[0058] Step S206, determine the path weight of each planned path based on the position information.
[0059] Among them, by configuring a weight value for each planned path as the path weight, the path weight is used to represent the probability of conflict with the reference object that each planned path appears.
[0060] Step S208, determine the avoidance weight among multiple path weights, so as to select an avoidance path that matches the avoidance weight among multiple planned paths.
[0061] Specifically, determine the avoidance weight among multiple path weights, so as to select the path with the avoidance weight as the avoidance path. The avoidance path is the planned path with the smallest conflict probability.
[0062] Step S210, perform a movement operation based on the avoidance path.
[0063] In this embodiment, in an application scenario where the reference object is also a mobile robot, that is, when multiple robots simultaneously perform tasks through autonomous movement, the mobile robot determines the path weight of each planned path according to the driving map and the real-time positions of other mobile robots received, so as to select an avoidance weight from the obtained path weights, determine an avoidance path based on the avoidance weight, realize real-time planning of the avoidance path, avoid the reference objects on the front path in advance, and ensure that the mobile robot and other mobile robots avoid each other on a certain path with the highest probability, thus solving the conflict problem when multiple mobile robots perform tasks and drive in coordination at the same time. This planning process realizes real-time response to the position information of the reference object through a relatively simplified calculation process for real-time path planning. Therefore, it can ensure the practicability and reliability of path planning on the premise of solving the movement conflict between multiple mobile robots.
[0064] In one embodiment, each planned path is configured with an initial weight. Step S206, a specific implementation manner of determining the path weight of each planned path based on the position information, includes: updating the initial weight based on the position information, and determining the updated initial weight as the path weight.
[0065] As Figure 3 shown, a specific implementation manner of updating the initial weight based on the position information and determining the updated initial weight as the path weight includes:
[0066] Step S302, detecting the relative position relationship between the reference object and multiple planned paths based on the position information.
[0067] Step S304, recording the planned path with a reference object detected as the first planned path, and recording the planned path without a reference object detected as the second planned path.
[0068] Step S306, determining the number of reference objects on the first planned path and the preset weight value of each reference object.
[0069] Step S308, updating the initial weight based on the number of reference objects and the preset weight value of each reference object to obtain the path weight.
[0070] Step S310, determining the initial weight of the second planned path as the path weight of the second planned path.
[0071] In this embodiment, by detecting the relative position relationship between the position information and the planned paths, it is determined which reference objects exist on which planned paths, so as to divide all the planned paths into first planned paths and second planned paths. On the premise that all the planned paths have initial weights, the path weights of the first planned paths are updated, and the path weights of the second planned paths are maintained, so as to reflect which paths have reference objects, that is, which paths have other mobile robots moving, through the update of the path weights. Furthermore, the road conditions in the moving area of the mobile robot are updated through the update of the path weights, which is beneficial to ensuring the reliability of path planning.
[0072] Specifically, an implementation manner of updating the initial weight based on the number of reference objects and the preset weight value of each reference object to obtain the path weight includes:
[0073] When the initial weight is 1, the updated path weight is N×m×1
[0074] Wherein, N is the number of reference objects, and m is the weight ratio of the reference object, and the weight ratio is a value greater than 1.
[0075] In addition, those skilled in the art can understand that when there are multiple different types of reference objects on a certain planned path, the m value takes the average value of the weight ratios of the multiple reference objects.
[0076] In one embodiment, before determining the avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight among multiple planned paths, it further includes: in response to a movement instruction, selecting an initial driving path among multiple planned paths based on a preset path selection model; performing a movement operation based on the initial driving path to receive the position information of the reference object during the movement.
[0077] In this embodiment, when starting to move based on the received movement instruction, an initial driving path is selected from the generated multiple planned paths through a preset path selection model to control the mobile robot to move in the direction of the end point. During the movement, when the position information of the reference object is received, the path weights of each planned path are updated in real time through the position information, so as to determine an avoidance path that can achieve avoidance based on the updated path weights, and ensure the operation efficiency of the mobile robot on the premise of reducing the conflict probability.
[0078] In one embodiment, selecting an initial driving path among multiple planned paths based on a preset path selection model includes: traversing multiple planned paths based on the A* algorithm to obtain the shortest path among the multiple planned paths, and taking the shortest path as the initial driving path.
[0079] In this embodiment, by selecting the A* algorithm model as the path selection model, the initial driving path of the mobile robot is obtained, so as to control the mobile robot to drive along the shortest initial driving path when the position information of the reference object is not received, thereby ensuring the movement efficiency of the mobile robot.
[0080] Specifically, assume that the starting point is A, the intermediate point is B, and the end point is C. There are three parameters in the A* algorithm. Among them, h is the heuristic function, which can ignore all obstacles, that is, the distance from B to C, usually the straight-line distance; g represents the cost, that is, the distance from A to B, and obstacles cannot be ignored. f is the total path f. For B, f = h + g.
[0081] First, add the starting point to the openList, sort the openList, and the sorting rule is the minimum principle, where f takes precedence over h. Find the smallest node and set it as the center point. Then remove this point from the openList and add it to the closeList. Start traversing the reachable points around the center point. In this case, find the adjacent nodes. If the end point is in the openList, the algorithm stops.
[0082] Among them, openList and closeList are two containers.
[0083] In addition, the breadth-first algorithm can also be used to replace the A* algorithm as the path selection model to select the shortest path.
[0084] As Figure 4 shown, in one embodiment, step S208, determining the avoidance weight among multiple path weights to select an avoidance path that matches the avoidance weight among multiple planned paths. A specific implementation method includes:
[0085] Step S402, based on the position information of the reference object, detect whether there is a reference object on the initial driving path. If so, enter step S404; if not, enter step S408.
[0086] Step S404, determine the minimum value among multiple path weights as the avoidance weight.
[0087] Step S406, determine the planned path corresponding to the avoidance weight as the avoidance path.
[0088] Step S408, maintain the movement of the mobile robot on the initial driving path.
[0089] Specifically, the mobile robot calculates whether there are other mobile robots on its initial driving path based on the position information of other mobile robots. If there are, it is possible that the robot will meet other mobile robots at a certain future moment. At this time, based on the principle of maximum possible early avoidance, the mobile robot re-plans the path according to the topological map with the updated path weights. When receiving the position information of the reference object again, it re-executes Figure 3 and Figure 4 the steps in, until the mobile robot moves to the end position.
[0090] In this embodiment, combined with the real-time updated path weights, by judging in real time whether there are other mobile robots on the planned path of the robot itself, it is judged whether it is necessary to re-plan the optimal path, so as to achieve early avoidance of all possible other mobile robots and ensure reliable avoidance of other mobile robots.
[0091] As Figure 5 shown, in one embodiment, in order to assign weight values to the planned path, the conventional navigation map is converted into a topological map with initial weights. One way of representing the topological map is to use a Voronoi diagram. The specific implementation process includes:
[0092] Step S502, obtain the starting position and the ending position of the mobile robot.
[0093] Step S504, obtain the passable sections between the starting position and the ending position, so as to generate multiple planned paths based on the passable sections.
[0094] Step S506, extract the Voronoi diagram of the environment map of the mobile robot based on the passable sections, so as to use the Voronoi diagram as the driving map.
[0095] Specifically, by performing operations such as inflating, shrinking, straightening, and removing invalid edges on all possible passable sections, the actual driving map is converted into a path topological map, i.e., a Voronoi diagram.
[0096] In addition, the initial weight of each path can be initialized to 1.0.
[0097] Those skilled in the art can understand that the process of converting the original conventional map into a Voronoi diagram can be completed on the server side or on the mobile robot side. If it is completed on the server side, the driving map received by the mobile robot is the processed Voronoi diagram. If it is completed on the mobile robot side, the driving map received by the mobile robot is the original conventional map.
[0098] As Figure 6 shown, a path planning method for a mobile robot according to the present disclosure includes:
[0099] Step S602: converting a conventional navigation map into a topological driving map, wherein the driving map includes a plurality of planned paths.
[0100] Step S604: planning a driving route based on a preset route selection model.
[0101] Step S606, driving based on the driving route and uploading one's own location information in real time.
[0102] Step S608, receiving location information of other mobile robots.
[0103] Step S610, modifying the path weight based on the position information of other mobile robots to update the topological driving map.
[0104] Step S612, if traveling according to the driving path, detect whether avoidance is required based on the position information of other mobile robots, if so, proceed to step S614, if not, proceed to step S616.
[0105] Step S614: replan the path based on the modified path weight.
[0106] Step S616, check whether the end point has been reached, if so, proceed to step S618, if not, return to step S606.
[0107] Step S618, completing the journey.
[0108] In this embodiment, the map is converted into a topological map with path weights in advance, and the planned path is updated in real time according to the path planned by the robot and the positions of other mobile robots, so as to avoid other mobile robots as much as possible.
[0109] Specifically, the conventional navigation map is converted into a path topology map. The mobile robot receives the task and plans a pre-driving path based on the task. The mobile robot moves autonomously according to the pre-driving route and uploads its own location information to the background server through the network, and receives the location information of other mobile robots sent by the background server.
[0110] Furthermore, the path weight of the topology map is modified according to the position of the robot, the path topology map is updated, and it is determined whether there are other mobile robots on the pre-travel path, and whether it is necessary to avoid them. If it is necessary to avoid them, the path is replanned according to the updated path topology map. It is determined whether the end point has been reached, and when the end point has been reached, it is confirmed that the task is completed.
[0111] It should be noted that the above-mentioned drawings are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present invention, rather than for restrictive purposes. It is easy to understand that the processes shown in the above-mentioned drawings do not indicate or limit the chronological order of these processes. Additionally, it is also easy to understand that these processes can be executed synchronously or asynchronously in, for example, multiple modules.
[0112] Those skilled in the art can understand that various aspects of the present invention can be implemented as a system, a method, or a program product. Therefore, various aspects of the present invention can be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software aspects, which can be collectively referred to as "circuitry", "module", or "system" here.
[0113] Refer to the following Figure 7 to describe the path planning device 700 according to this embodiment of the present invention. Figure 7 The path planning device 700 shown is merely an example and should not impose any limitations on the functions and usage scope of the embodiments of the present invention.
[0114] The path planning device 700 is presented in the form of a hardware module. The components of the path planning device 700 may include, but are not limited to: a generation module 702, configured to generate a driving map based on the end position sent by the server, where the driving map includes multiple planned paths; a receiving module 704, configured to receive the position information of the reference objects in the driving map; a determination module 706, configured to determine the path weight of each planned path based on the position information; a selection module 708, configured to determine the avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight from the multiple planned paths; and a control module 710, configured to perform a moving operation based on the avoidance path.
[0115] In one embodiment, each of the planned paths is configured with an initial weight, and the determination module 706 is further configured to: update the initial weight based on the position information to determine the updated initial weight as the path weight.
[0116] In one embodiment, the determination module 706 is further configured to: record the planned path detected with reference objects based on the position information as the first planned path, determine the number of reference objects on the first planned path and the preset weight value of each reference object; update the initial weight based on the number of reference objects and the preset weight value of each reference object to obtain the path weight; record the planned path detected without reference objects based on the position information as the second planned path, and determine the initial weight of the second planned path as the path weight of the second planned path.
[0117] In one embodiment, the selection module 708 is further configured to: in response to a movement instruction, select an initial driving path from multiple planned paths based on a preset path selection model; perform a movement operation based on the initial driving path to receive position information of a reference object during the movement.
[0118] In one embodiment, the selection module 708 is further configured to: traverse multiple planned paths based on the A* algorithm to obtain the shortest path among the multiple planned paths, and use the shortest path as the initial driving path.
[0119] In one embodiment, the selection module 708 is further configured to: when it is detected that there is a reference object on the initial driving path based on the position information of the reference object, determine the minimum value among multiple avoidance weights as the avoidance weight; and determine the planned path corresponding to the avoidance weight as the avoidance path.
[0120] In one embodiment, it further includes: an acquisition module 712, configured to acquire the starting position and the ending position of the mobile robot; acquire the passable sections between the starting position and the ending position to generate multiple planned paths based on the passable sections; extract the Voronoi diagram of the environment map of the mobile robot based on the passable sections, and use the Voronoi diagram as the driving map.
[0121] Next, refer to Figure 8 to describe the mobile robot 800 according to this embodiment of the present invention. The mobile robot and the server described in the present disclosure are included. Figure 8 The shown mobile robot 800 is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present invention.
[0122] As Figure 8 shown, the mobile robot 800 is presented in the form of a general-purpose computing device. The components of the mobile robot 800 may include, but are not limited to: at least one of the above-mentioned processing units 810, at least one of the above-mentioned storage units 820, and a bus 830 connecting different system components (including the storage unit 820 and the processing unit 810).
[0123] Among them, the storage unit stores program code, and the program code can be executed by the processing unit 810, so that the processing unit 810 executes the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of this specification. For example, the processing unit 810 can execute steps S202, S204, and S206 as Figure 2 shown, and other steps defined in the path planning method of the present disclosure.
[0124] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory (RAM) 8201 and / or a cache storage unit 8202, and may further include a read-only memory (ROM) 8203.
[0125] The storage unit 820 may also include a program / utilities 8204 having a set (at least one) of program modules 8205. Such program modules 8205 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment.
[0126] The bus 830 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus structures.
[0127] The mobile robot 800 may also communicate with one or more external devices 860 (such as a keyboard, a pointing device, a Bluetooth device, etc.), may also communicate with one or more devices that enable a user to interact with the mobile robot, and / or may communicate with any device that enables the mobile robot 800 to communicate with one or more other computing devices (such as a router, a modem, etc.). Such communication may be through an input / output (I / O) interface 850. Also, the mobile robot 800 may communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 850. As shown in the figure, the network adapter 850 communicates with other modules of the mobile robot 800 through the bus 830. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the mobile robot, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0128] Through the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or can be implemented by a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a mobile robot device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
[0129] In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of this specification. In some possible implementation manners, various aspects of the present invention may also be implemented in the form of a program product, which includes program code. When the program product runs on a mobile robot device, the program code is used to cause the mobile robot device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of this specification.
[0130] The program product for implementing the above method according to an embodiment of the present invention may be a portable compact disc read-only memory (CD-ROM) and includes program code, and may run on a mobile robot device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0131] The computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries the readable program code. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium may also be any readable medium other than the readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0132] The program code contained on the readable medium may be transmitted by any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination of the above.
[0133] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also including conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's device, executed as a stand-alone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., by using an Internet service provider to connect through the Internet).
[0134] It should be noted that although several modules or units of a device for action execution are mentioned in the above detailed description, such a division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more of the above-described modules or units can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0135] In addition, although the steps of the methods in the present disclosure are described in a specific order in the drawings, this does not require or imply that these steps must be performed in that specific order, or that all of the shown steps must be performed to achieve the desired result. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step for execution, and / or one step may be decomposed into multiple steps for execution, etc. Those skilled in the art will readily conceive of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include well-known knowledge or conventional technical means in the technical field not disclosed in the present disclosure. The specification and examples are only to be regarded as exemplary, and the true scope and spirit of the present disclosure are pointed out by the appended claims.
Claims
1. A path planning method, applied to a mobile robot, characterized in that, Including: Generating a driving map based on the end position sent by the server, wherein the driving map includes multiple planned paths, and the initial driving path of the mobile robot is selected from the multiple planned paths based on a preset path selection model; Receiving the position information of the reference object in the driving map; Determining the path weight of each of the planned paths based on the position information, where the path weight is used to characterize the probability of conflict between each of the planned paths and the reference object; Determining an avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight from the multiple planned paths, including: when detecting that the reference object exists on the initial driving path based on the position information of the reference object, determining the minimum value among the multiple path weights as the avoidance weight; and determining the planned path corresponding to the avoidance weight as the avoidance path; Performing a movement operation based on the avoidance path.
2. The path planning method according to claim 1, characterized in that, Each of the planned paths is configured with an initial weight, and the determining the path weight of each of the planned paths based on the position information includes: Updating the initial weight based on the position information to determine the updated initial weight as the path weight.
3. The path planning method according to claim 2, characterized in that, The updating the initial weight based on the position information to determine the updated initial weight as the path weight includes: Detecting the relative position relationship between the reference object and the multiple planned paths based on the position information; Denoting the planned path having the reference object as the first planned path, determining the number of the reference objects on the first planned path and the preset weight value of each reference object; Updating the initial weight based on the number of the reference objects and the preset weight value of each reference object to obtain the path weight; Denoting the planned path without the reference object as the second planned path, and determining the initial weight of the second planned path as the path weight of the second planned path.
4. The path planning method according to claim 1, characterized in that, Before determining the avoidance weight among the multiple path weights to select an avoidance path that matches the avoidance weight from the multiple planned paths, it further includes: Responding to a movement instruction, selecting an initial driving path from the multiple planned paths based on a preset path selection model; Performing a movement operation based on the initial driving path to receive the position information of the reference object during the movement.
5. The path planning method according to claim 4, characterized in that, The selecting an initial driving path from the multiple planned paths based on a preset path selection model includes: Traversing the multiple planned paths based on the A* algorithm to obtain the shortest path among the multiple planned paths, and using the shortest path as the initial driving path.
6. The path planning method according to any one of claims 1 to 5, characterized in that, It also includes: Obtaining the starting position and the end position of the mobile robot; Obtaining the passable sections between the starting position and the end position to generate the multiple planned paths based on the passable sections; Extracting the Voronoi diagram of the environment map of the mobile robot based on the passable sections to use the Voronoi diagram as the driving map.
7. A path planning device, applied to a mobile robot, characterized in that, Including: A generation module, configured to generate a driving map based on an end position sent by a server, wherein the driving map includes multiple planned paths, and an initial driving path of the mobile robot is selected from the multiple planned paths based on a preset path selection model; A receiving module, configured to receive position information of a reference object in the driving map; A determination module, configured to determine a path weight for each of the planned paths based on the position information, where the path weight is used to characterize the probability of a conflict with the reference object occurring in each of the planned paths; A selection module, configured to determine an avoidance weight among multiple path weights to select an avoidance path that matches the avoidance weight from the multiple planned paths, including: when detecting that the reference object exists on the initial driving path based on the position information of the reference object, determining the minimum value among the multiple path weights as the avoidance weight; and determining the planned path corresponding to the avoidance weight as the avoidance path; A control module, configured to perform a movement operation based on the avoidance path.
8. A mobile robot, characterized in that, Comprising: A processor; And A memory, configured to store executable instructions of the processor; Wherein, the processor is configured to execute the path planning method according to any one of claims 1 to 6 by executing the executable instructions.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the path planning method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Path planning method and device with obstacle avoidance weight and electronic equipment
CN110595482A
Mobile robot path planning method and device, mobile robot and storage medium
CN112284389A