Path planning method of mobile equipment, computer equipment and storage medium
By responsive to the driving distance conditions of the mobile device, and obtaining and unlocking the locked area that has not passed through the node, the problem of inaccurate unlocking in the prior art is solved, and the operation efficiency and resource utilization of the mobile device are improved.
Patent Information
- Application Number
- CN202411120855.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-14
- Publication Date
- 2024-12-24
AI Technical Summary
There is a problem of inaccurate unlocking in the path planning of existing mobile devices, which affects its operating efficiency.
By responding that the driving distance of the mobile device does not meet the node distance condition, the locked area that has not passed through the node is obtained, and the target grid area is determined to be the locked grid area that has passed, so as to unlock it accurately and in a timely manner.
It improves the operating efficiency of mobile devices, ensures that the area that has passed can be accurately identified and unlocked when the driving distance is small, releases locked resources, and improves operating efficiency and resource utilization.
Smart Images

Figure CN119178435A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of mobile device, and in particular to a path planning method for a mobile device, a computer device and a storage medium. Background Art
[0002] Mobile devices such as automatic guided devices have functions such as task execution, positioning and navigation control, path planning, autonomous obstacle avoidance and power management. Therefore, they can be widely used in manufacturing scenarios, logistics scenarios, etc.
[0003] At present, in order to ensure the safety and efficiency of mobile devices during driving, it is necessary to lock the locked area of the mobile device's path to be executed, and unlock the locked area when the mobile device passes through the path to be executed to the next section of the path to be executed. The current path planning of mobile devices has the problem of inaccurate unlocking, which easily affects the operating efficiency of the mobile device. Summary of the invention
[0004] The main technical problem solved by the present application is to provide a path planning method for a mobile device, a computer device and a storage medium, which can unlock the locked area more accurately and timely, thereby improving the operating efficiency of the mobile device.
[0005] In order to solve the above problems, the first aspect of the present application provides a path planning method for a mobile device, the method comprising: in response to the driving distance of the mobile device not satisfying the node distance condition, obtaining a locking area of the mobile device in the node that has not been passed, wherein the locking area includes multiple locking grid areas corresponding to the nodes that have not been passed; determining a target grid area of the mobile device, wherein the target grid area is a locking grid area that the mobile device has passed; and unlocking the target grid area of the locking area.
[0006] In order to solve the above problems, the second aspect of the present application provides a computer device, which includes a memory and a processor coupled to each other, the memory stores program data, and the processor is used to execute the program data to implement any step of the path planning method for the above mobile device.
[0007] In order to solve the above-mentioned problem, the third aspect of the present application provides a computer-readable storage medium, which stores program data that can be executed by a processor, and the program data is used to implement any step of the path planning method for the above-mentioned mobile device.
[0008] The above scheme, in response to the driving distance of the mobile device not meeting the node distance condition, obtains the locked area of the mobile device in the node that has not been passed, wherein the locked area includes multiple locked grid areas corresponding to the nodes that have not been passed, determines the target grid area of the mobile device, wherein the target grid area is the locked grid area that the mobile device has passed; and unlocks the target grid area of the locked area. The above scheme can unlock the locked area more accurately and timely. Since the locked area is released when the driving distance of the mobile device does not meet the node distance condition, when the driving distance of the mobile device is small, such as when it does not meet the condition of driving to the next node or passing the next node, it can also more accurately identify the locked grid area that has been passed, and unlock the locked grid area that has been passed in time, and can accurately identify the area that the mobile device has passed in real time, and unlock and release it in time, thereby improving the operation efficiency of the mobile device.
[0009] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the technical solutions in this application, the following briefly introduces the drawings required in the description of the embodiments. Obviously, the drawings described below are only some embodiments of this application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. Among them:
[0011] Figure 1 It is a flowchart of an embodiment of a path planning method for a mobile device of the present application;
[0012] Figure 2 This is an exemplary schematic diagram of an embodiment of a locking area of the present application;
[0013] Figure 3 This application Figure 1 A schematic diagram of a flow chart of an embodiment of step S11;
[0014] Figure 4 A schematic diagram of an operation path of a mobile device according to an embodiment of the present application;
[0015] Figure 5 This application Figure 1 A schematic diagram of a flow chart of an embodiment of step S12;
[0016] Figure 6 It is a structural schematic diagram of an embodiment of a path planning device for a mobile device of the present application;
[0017] Figure 7 It is a structural schematic diagram of an embodiment of a computer device of the present application;
[0018] Figure 8 It is a structural diagram of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION
[0019] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0020] The terms "first" and "second" in this application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first" and "second" can explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally also includes steps or units that are not listed, or optionally also includes other steps or units inherent to these processes, methods, products or devices.
[0021] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0022] The term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the objects associated before and after are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of, for example, including at least one of A, B, and C, can mean including any one or more elements selected from the set consisting of A, B, and C.
[0023] The present application provides the following embodiments, and each embodiment is described in detail below.
[0024] It is understandable that the path planning method for a mobile device in the present application can be executed by a computer device, and the computer device can be any device with processing capabilities, such as a mobile phone, a computer, a server, etc., and the present application does not limit this. Exemplarily, when the execution subject is the above-mentioned computer device, the driving of the mobile device can be controlled by means of a device management system, such as sending a control instruction to the mobile device to plan a path for the mobile device. Exemplarily, when the computer device is a mobile device, the mobile device can autonomously plan a path for the mobile device. The present application does not limit this. In some possible implementations, the path planning method for the mobile device can be implemented by a processor calling program data stored in a memory.
[0025] See also Figure 1 , Figure 1 1 is a flow chart of an embodiment of a path planning method for a mobile device of the present application. The method may include the following steps:
[0026] S11: In response to the travel distance of the mobile device not satisfying the node distance condition, obtaining a locking area of the mobile device in which the node has not been passed, wherein the locking area includes a plurality of locking grids corresponding to the node has not been passed.
[0027] The mobile device may be an AGV (Automated Guided Vehicle), an AMR (Autonomous Mobile Robot), an intelligent robot, a vehicle, etc., but the present application is not limited thereto. The present application will be described below using the mobile device as an example.
[0028] The device management system can send the path to be executed to the mobile device, obtain the locked area of the mobile device on the path to be executed, lock and occupy the locked area, and the mobile device moves forward along the path to be executed.
[0029] Determine whether the driving distance of the mobile device meets the node distance condition. The driving distance not meeting the node distance condition may indicate that the driving distance is less than or equal to the node distance threshold, and / or that the driving distance has not reached the next node. Among them, the node distance threshold may be less than or equal to the distance between adjacent nodes. The driving distance of the mobile device may be the distance traveled by the mobile device from the current node to the next node. The driving distance of the mobile device is less than or equal to the node distance threshold, which may indicate that the distance traveled by the mobile device is short, so that when the mobile device travels a short distance, the locked area that has been passed can also be unlocked and released. For the node distance threshold, the node distance threshold can be determined according to the specific application scenario or the nodes of the planned path. For example, the node distance threshold can be determined according to the distance between adjacent nodes. For example, the node distance threshold can be determined according to the driving condition or size of the mobile device. This application does not limit the method for determining the node distance threshold.
[0030] In some embodiments, the step of determining whether the driving distance of the mobile device meets the node distance condition and the subsequent steps are triggered by the distance cycle or time cycle. For example, the driving distance of the mobile device reaches the distance length of the distance cycle, such as 0.1 meters, 0.2 meters, etc., which is not limited by this application; or the driving time of the mobile device reaches the duration of the time cycle, such as 0.1 seconds, 1 second, etc., which is not limited by this application; the step of determining whether the driving distance of the mobile device meets the node distance condition and the subsequent steps can be triggered to unlock and release the locked area that has been passed.
[0031] In some embodiments, in response to the driving distance of the mobile device not satisfying the node distance condition, the locked area of the mobile device at the node not passed can be obtained. The locked area of the node not passed means that the mobile device drives to the locked area corresponding to the node not passed. The locked area includes multiple locked grids corresponding to the node not passed.
[0032] For example, see Figure 2 , when the mobile device travels from the first node to the second node and the mobile device does not pass the second node, the travel distance of the mobile device does not meet the node distance condition. The second node can be regarded as a non-passed node, and the locking area corresponding to the path between the first node and the second node can be regarded as a locking area of the non-passed node, and the locking area includes multiple locking grids corresponding to the non-passed nodes.
[0033] In some embodiments, see Figure 3 , the step S11 of the above embodiment can be further expanded. Before obtaining the locked area of the mobile device before passing through the node, this embodiment may include the following steps:
[0034] S111: Acquire a target node of the mobile device on the planned path, where the target node is a preset locked node unlocked by the locked node set.
[0035] Before step S111, information such as the planned path, the path to be executed, and the locked area of the mobile device may be obtained. The specific method includes:
[0036] Get the planned path corresponding to the current task of the mobile device. The planned path can be the optimal global path. Specifically, the current location of the mobile device can be used as the starting point and the task end point of the current task, and an optimal global operation path from the starting point to the end point can be planned for the mobile device according to the constraints, that is, the planned path is obtained. Among them. Constraints such as shortest running time, shortest driving route, minimum driving cost, etc. are not limited in this application.
[0037] For example, taking AGV as an example, based on the attributes (such as workbenches, shelf areas, operating areas, etc.), location and connectivity information of each node (also known as path points) in the map network, as well as the current operating tasks, equipment locations and operating paths of each AGV device in the equipment management system, a shortest path planning algorithm such as A* (direct search method) can be used to plan an optimal global operating path from the starting position to the end position for the AGV device. This path can be called an A* path, or a planned path.
[0038] According to the information such as the directions of each node and the connectivity information of the path points contained in the planned path, a global action path containing the AGV action information is generated.
[0039] See also Figure 4 For example, taking the mobile device as AGV, the starting position of the current task is from node 0 (0,0) to node 3 (2,1). The global action path is as follows: ① AGV moves forward from node 0 (0,0) to node 1 (0,1); ② turns left 90 degrees at node 1 (0,1); ③ moves from node 1 (0,1) along the Bezier curve to node 2 (2,2); ④ moves backward from node 2 (2,2) to node 3 (2,1).
[0040] Get the path to be executed of the mobile device. The path to be executed can be a local path or a segment path of the planned path. Exemplarily, taking AGV as an example, the "segment path" in the embodiment of the present application refers to the global running path from the starting point to the end point of the current task planned for the AGV, and according to the running paths of other AGVs, through a certain multi-vehicle scheduling strategy (avoiding collisions or deadlocks between AGVs and other AGVs), the length of the local running path without risks such as duplication and collision, which contains a certain number of path points, is calculated for the AGV. This local running path is the segment path.
[0041] In some implementations, the length of the path to be executed pre-issued by the mobile device may be determined according to a preset rule. For example, the length information of the path to be executed by the AGV may be determined according to a distance threshold, and the length information includes the longest and shortest lengths.
[0042] Exemplarily, the shortest length threshold of the AGV's path to be executed can be determined based on the minimum deceleration and parking function attribute of the AGV device itself. The longest length threshold of the AGV's path to be executed is determined based on the map size and the upper limit of the length of the local running path occupied by the AGV device specified by the operating efficiency requirements. Among the nodes on the path to be executed that are not less than the shortest length threshold and not more than the longest length threshold, the node closest to the shortest length threshold is selected as the node of the path to be executed that is preliminarily determined. Then adjust the length of the preliminarily determined path to be executed according to the attributes of each node. For example: if the action information of the preliminarily obtained path to be executed contains a rotation action point, it means that the mobile device needs to decelerate and stop at this rotation action point and then rotate in place, and the preliminarily determined path to be executed needs to be truncated forward to the rotation action point; if the attribute of the last node of the preliminarily obtained path to be executed is that parking and waiting are not allowed (such as anti-congestion at the intersection does not allow parking), then continue to append forward to the node where parking and waiting can be allowed.
[0043] In some implementations, the length of the path to be executed can be adjusted through a deadlock detection algorithm, and a segment path (i.e., the path to be executed) that is free of duplication or collision and can be safely driven is sent to the mobile device. Exemplarily, the "deadlock" in the embodiment of the present application refers to multiple AGV devices applying for areas that have been occupied (i.e., locked) by each other, forming a mutual blocking relationship. This state of mutual blocking is called a deadlock.
[0044] Then, the path to be executed can be used to determine the locking area of the mobile device. The locking area includes a locking node and a locking grid area, such as including multiple locking nodes and multiple locking grid areas. The locking grid area can represent a non-node area, and each node can correspond to multiple locking grid areas.
[0045] In some embodiments, after determining the path to be executed of the mobile device, the locked set of the mobile device can be determined based on the action information of the path to be executed, device-related information, following distance, and other information. Device-related information includes device size, running deviation, and the like. Exemplarily, each locked node of the AGV on the path to be executed and the locked area between adjacent nodes can be determined based on the action information, device size, running deviation, following distance, and other information of the path to be executed of the AGV.
[0046] In some embodiments, in order to accurately control the position of a mobile device between nodes, interpolation can be performed between nodes according to a preset distance interval between nodes, thereby determining an interpolation lock area of the mobile device at the interpolation point, wherein the preset distance interval is determined by the braking performance of the mobile device, and the preset distance interval can be greater than the minimum moving distance supported by the mobile device's capabilities, and the number of interpolations between nodes with different distances is different.
[0047] In some embodiments, the locked set area of the mobile device in a stationary state or in a moving state may be determined. According to the type of the mobile device, the movement mode of the mobile device and / or the load of the mobile device on the path to be executed is determined. Based on the movement mode and the locked area of the mobile device in a stationary state or in a moving state, the locked area and / or the load of the locked area are determined at each node preset on the path to be executed and the locked area between the nodes.
[0048] Exemplarily, the "locked area" of the embodiment of the present application refers to locking at least one circular or rectangular area on the map for the AGV device based on the nodes and action information contained in the segment path, combined with information such as the AGV device's own size, load size, operating deviation, and following distance. That is, it can represent the area covered by the AGV / AGV's load, including point lock grids (that is, locked nodes), interpolation lock grids (that is, locked grid areas), and real-time lock grids (that is, locked areas at the current position).
[0049] Exemplarily, a point lock grid refers to the area covered when the center position of an unloaded AGV or a loaded AGV device is located at a certain node. An interpolation lock grid refers to when the distance between two sequentially adjacent nodes specifies a distance threshold, in order to ensure that the AGV can accurately occupy and release part of the area between the two nodes when running between the two nodes, a certain number of areas are evenly inserted between the point lock grids of the two nodes, so that multiple evenly distributed interval areas are formed between the point lock grids of the two nodes. Such an area is an interpolation lock grid. A real-time lock grid refers to the area covered by the current position of the AGV during operation, such as a point lock grid or an interpolation lock grid.
[0050] In some embodiments, the interpolation spacing, size, etc. of each locking grid area of the locking area can be set according to the specific application scenario. For example, the interpolation spacing of the interpolation lock grid can be a preset distance interval. The preset distance interval can be less than the length of the mobile device, or greater than or equal to the length of the mobile device. Exemplarily, the interpolation spacing of the interpolation lock grid can be less than the length of the mobile device. For example, the interpolation spacing of the interpolation lock grid is set to 0.1 meters, that is, interpolation is performed every 0.1 meters between adjacent nodes, so that the mobile device can lock a feasible interval of 0.1 meters, that is, an interpolation lock grid. Alternatively, after the mobile device travels 0.1 meters, this 0.1-meter interpolation lock grid can be unlocked and released more promptly according to the embodiments of the present application.
[0051] In some embodiments, the running segment paths of other AGVs can be obtained to determine whether the AGV's path to be executed overlaps with or collides with the running segment paths of other AGVs (such as whether the AGV has a safety risk of collision or deadlock with other AGVs). Specifically, it can be checked whether the locked area on the AGV's path to be executed overlaps with the locked area on the running segment paths of other AGVs. If so, it can be determined that the AGV's path to be executed overlaps with or collides with the running segment paths of other AGVs, etc., and the number of path points on the AGV's path to be executed can be reduced in turn, and the length of the path to be executed can be modified until it is determined that there is no safety risk in the path to be executed. Then, based on the newly obtained path to be executed, the above method is used to re-determine the various path points of the AGV on the new path to be executed and the locked area between the path points; if it is safe, the path to be executed is sent to the AGV.
[0052] It should be noted that other methods may also be used to determine whether the AGV's to-be-executed path overlaps with the running segment paths of other AGVs, and the embodiments of the present application do not limit this. The to-be-executed path may be the AGV in the initialization state, that is, before entering the running state, or it may be the next segment of the path to be run planned by the equipment management system when the AGV is running on the current segment path. The present application does not limit this.
[0053] Then, the path to be executed is sent to the mobile device, and the locked area can be pre-occupied, that is, each locked node on the path to be executed and the locked grid area between nodes. The locked nodes and the locked grid area between nodes in the locked area are in the locked state and can be pre-occupied exclusively. The locked area cannot be used by other mobile devices, so the mobile device can exclusively use the path to be executed to achieve safe operation of the mobile device.
[0054] The mobile device receives relevant information of the path to be executed so as to control the forward travel according to the path to be executed.
[0055] In some implementations, the mobile device may execute the steps of this embodiment according to a preset period, such as 0.05 seconds, 0.1 seconds, 0.5 seconds, etc., and this application does not impose any limitation on this.
[0056] For the above step S111, the target node of the mobile device in the planned path is obtained, and the target node is a preset locked node unlocked by the locked node set, such as the preset locked node being the last locked node to be unlocked or unlocked in the unlocked area of the to-be-executed path.
[0057] In some embodiments, the nearest point of the mobile device is obtained, such as the nearest point of the planned path. The current position of the mobile device and the global path information (i.e., the planned path) can be used to obtain the node closest to the mobile device as the nearest point, which is recorded as nearestNode. In addition, the target node can be initialized. For example, the target node that needs to be released among the multiple locked nodes in the initialized locked area can be recorded as lockClearIdx=0, where lockClearIdx=0 indicates that the index of the initialized target node is 0.
[0058] Determine whether the mobile device has passed the nearest point. Specifically, the point relationship between the current position of the mobile device, the position of the previous node, and the position of the nearest point can be used to determine whether the mobile device has passed the nearest point. In some application scenarios, before this, each node of the path to be executed can be traversed to determine whether the nearest point is a node of the path to be executed. If so, determine whether the mobile device has passed the nearest point. If not, it is determined that the target node does not need to be modified, that is, the target node is lockClearIdx=0.
[0059] Optionally, in response to the mobile device not passing the nearest point, the preceding node of the nearest point is determined to be the target node. The preceding node can be represented as a node before the nearest point, such as a preset number of nodes. Exemplarily, if the nearest point index is idx, the target node is the previous node idx-1. The locked node (i.e., the target node) lockClearIdx that needs to be unlocked in the locked area is updated to idx-1 of the nearest point.
[0060] Optionally, in response to the mobile device having passed the nearest point, the nearest point is determined to be the target node. The lockClearIdx of the locked node (i.e., the target node) that needs to be unlocked in the locked area is updated to the idx of the nearest point. The above-mentioned target node represents the last index of the locked node that needs to be unlocked in the locked area, i.e., the last locked node that needs to be unlocked.
[0061] Then, the target node in the locked area and the locked area corresponding to the locked node before the target node (including the locked node and the locked grid area) may be unlocked.
[0062] The above method can more accurately determine the nodes that the mobile device has passed, and promptly unlock the locked areas corresponding to the passed nodes and previous nodes, thereby improving the operating efficiency of the mobile device.
[0063] S112: Determine that the subsequent node of the target node is a node that has not been passed.
[0064] The subsequent nodes of the target node are regarded as the unpassed nodes. The subsequent nodes are the nodes after the target node by a preset number. For example, if the target node is lockClearIdx, the unpassed nodes are the nodes after the target node, which are recorded as lockClearIdx+1.
[0065] The above method can more accurately obtain the node that is closest to the mobile device and has not been passed.
[0066] Please continue reading Figure 1 After the above step S11, the following steps are also included:
[0067] S12: Determine a target grid area of the mobile device, wherein the target grid area is a locked grid area that the mobile device has passed.
[0068] The target grid area may be initialized. For example, the index of the last locked grid area to be unlocked in the initial locked area is eraseRecId=0.
[0069] Each locking grid area in the locking grid region can be traversed to determine whether the mobile device has passed through the locking grid area according to the current posture of the mobile device, thereby determining the locking grid area that the mobile device has passed through as the target grid area. The current posture includes the current position and the current angle.
[0070] In some implementations, the target grid area of the mobile device can be determined based on the current position of the mobile device and the positions of each locking grid area. For example, the relative position relationship between the current position of the mobile device and the position of the locking grid area is used to determine whether the mobile device has passed through the locking grid area based on the relative position relationship, so that the locking grid area that the mobile device has passed through is regarded as the target grid area.
[0071] In some embodiments, the target grid area of the mobile device can be determined based on the current position of the mobile device, the positions of each locking grid area, and the driving direction of the mobile device. For example, the relative position relationship between the current position of the mobile device and the position of the locking grid area is used to determine whether the mobile device has passed through the locking grid area based on the relative position relationship and the driving direction of the mobile device, so that the locking grid area that the mobile device has passed through is regarded as the target grid area.
[0072] In some embodiments, the target grid area of the mobile device is determined by using the positional relationship between the current position of the mobile device, the position of the node that has not been passed, and the preset position of the locked grid area. For example, the positional relationship between the current position of the mobile device and the preset position of the locked grid area, as well as the positional relationship between the mobile device and the position of the node that has not been passed can be obtained, and the target grid area of the mobile device is determined based on the positional relationship between the two. For example, the positional relationship or line segment between any two of the current position of the mobile device, the position of the node that has not been passed, and the preset position of the locked grid area is obtained, and the target grid area of the mobile device is determined based on the positional relationship or line segment between any two. For example, the reference line segment between the current position of the mobile device and the position of the node that has not been passed can be obtained, and the target grid area of the mobile device is determined based on the positional relationship between the preset position of the locked grid area and this reference line segment.
[0073] In some implementations, the reference line segment where the current position of the mobile device and the position that has not passed through the node are located can be obtained, and the projection point of the preset position of the locked grid area on the reference line segment can be obtained to determine the positional relationship between the projection point and the reference line segment, that is, the projection position relationship. The target grid area of the mobile device is determined according to the projection position relationship.
[0074] It is understandable that the present application may also adopt other methods to determine the target grid area of the mobile device, and the present application is not limited to this method for determining the target grid area of the mobile device.
[0075] In some embodiments, see Figure 5 , step S12 of the above embodiment can be further expanded. By using the positional relationship between the current position of the mobile device, the position of the node that has not been passed, and the preset position of the locked grid area, the target grid area of the mobile device is determined. This embodiment may include the following steps:
[0076] S121: Obtain a reference line segment where the current position of the mobile device and the position that has not passed through the node are located.
[0077] The reference line segment L where the current position of the mobile device and the position of the node not passed through are located is determined using the current position of the mobile device (vehiclePosition_x, vehiclePosition_y) and the position of the node not passed through (lock_x, lock_y).
[0078] In some embodiments, the reference line segment can be obtained by using the first position difference between the current position of the mobile device and the position of the node that has not been passed. Exemplarily, the coordinate difference between the current position of the mobile device (vehiclePosition_x, vehiclePosition_y) and the position of the node that has not been passed (lock_x, lock_y) can be calculated to obtain the coordinate difference of the reference line segment, that is, the first position difference (Δx1, Δy1). As follows:
[0079] Δx1=lock_x-vehiclePosition_x;
[0080] Δy1=lock_y-vehiclePosition_y.
[0081] S122: Obtain the projection position relationship between the preset position of the locking grid area and the reference line segment, wherein the projection position relationship is used to represent the position relationship between the projection point and the reference line segment, and the projection point is the projection point of the preset position of the locking grid area on the reference line segment.
[0082] In some embodiments, the projection of the preset position of the locking grid area on the reference line segment can be obtained through the geometric relationship to obtain the projection point. For example, the preset position of the locking grid area is projected onto the reference line segment according to the geometric relationship to obtain the projection point of the preset position on the reference line segment. For example, the component of the preset position of the locking grid area along the reference line segment is obtained to obtain the projection point. Then the positional relationship between the projection point and the reference line segment is obtained to obtain the projection position relationship.
[0083] In some implementations, the locking grid area may be a rectangular area or a circular area, etc., and the preset position of the locking grid area is the center point of the locking grid area, so that the position of the locking grid area can be expressed more accurately.
[0084] In some embodiments, according to the driving direction of the mobile device, the center of the side of the locking grid area that is consistent with the driving direction or the point closest to the side can be determined as the preset position of the locking grid area. For example, if the driving direction is right, if the locking grid area is rectangular, the preset position of the locking grid area can be the center of the right side of the locking grid area. If the locking grid area is circular or other shapes, the preset position of the locking grid area can be the rightmost point of the locking grid area. In this way, it can be more accurately determined whether the mobile device has passed the side position of the locking grid area, so that the target grid area can be determined more accurately later.
[0085] In some implementations, the current position of the mobile device and the preset position of the locking grid area may be used to determine the positional relationship between the projection point of the preset position of the locking grid area on the reference line segment and the reference line segment to obtain a projection positional relationship.
[0086] The coordinate difference between the current position (vehiclePosition_x, vehiclePosition_y) of the mobile device and the preset position (rec_x, rec_y) of the locked grid area can be obtained, that is, the second position difference (Δx2, Δy2) can be obtained. As follows:
[0087] Δx2=rec_x-vehiclePosition_x;
[0088] Δy2=rec_y-vehiclePosition_y.
[0089] Then, the first position difference and the second position difference are processed by a preset operation to obtain a first reference value, and the projection position relationship is determined by using the first reference value. The preset operation is such as a dot product operation. The first position difference and the second position difference are processed by a dot product operation to obtain a first reference value t, which can represent the first reference value t of the line segment from the current position of the mobile device to the position that does not pass through the node lockClearIdx+1 and the line segment from the current position of the mobile device to the preset position of the locked grid area. As follows:
[0090] t=Δx1*Δx2+Δy1*Δy2.
[0091] The projection position relationship can be determined using the first reference value t. That is, the first reference value t can be used to represent the position relationship between the projection point and the reference line segment.
[0092] In some embodiments, before using the first reference value t to determine the projection position relationship, the first position difference can be used to obtain the second reference value of the reference line segment. For example, the first position difference (Δx1, Δy1) can be squared, that is, the square of the length of the reference line segment between the current position of the mobile device and the position that does not pass through the node lockClearIdx+1 can be obtained as the second reference value dis_abs of the reference line segment. As follows:
[0093] dis_abs=Δx1*Δx1+Δy1*Δy1.
[0094] Determine whether the second reference value dis_abs is greater than a preset value. If the preset value is 0, if the second reference value dis_abs is greater than 0, in this case, it can be indicated that the mobile device has not reached the position without passing the node lockClearIdx+1. If the second reference value dis_abs is not greater than 0, for example, the second reference value dis_abs is equal to 0, in this case, it can be indicated that the mobile device has reached the position without passing the node lockClearIdx+1.
[0095] In some embodiments, in response to the second reference value being greater than a preset value, for example, the second reference value dis_abs being greater than 0, the first reference value t is adjusted using the second reference value dis_abs to obtain a projection reference value p. For example, the ratio of the first reference value t to the second reference value dis_abs may be obtained to obtain the projection reference value p. As follows:
[0096] p = t / dis_abs.
[0097] Then, the projection position relationship can be determined using the projection reference value p. That is, the projection reference value p can be used to represent the position relationship between the projection point and the reference line segment.
[0098] In some implementations, after obtaining the projection points, it is determined whether the projection position relationship satisfies the position relationship condition. If the projection position relationship satisfies the position relationship condition, the following step S123 is executed. If the projection position relationship does not satisfy the position relationship condition, the following step S124 is executed.
[0099] In some embodiments, the position relationship condition is that the projection point is outside the reference line segment. If the projection point is outside the reference line segment, it means that the locking grid area is not between the current position of the mobile device and the position of the node that has not been passed, that is, it means that the mobile device has passed the locking grid area, and it is determined that the projection position relationship meets the position relationship condition. If the projection point is within the reference line segment, it means that the locking grid area is between the current position of the mobile device and the position of the node that has not been passed, that is, it means that the mobile device has not passed the locking grid area, and it is determined that the projection position relationship does not meet the position relationship condition.
[0100] In some implementations, the projection position relationship is represented by a projection reference value p. The projection reference value p can be used to represent the position relationship between the projection point and the reference line segment.
[0101] Optionally, in response to the projection reference value p not meeting a preset value range, it is determined that the projection point is outside the reference line segment and the projection position relationship meets the position relationship condition, wherein, for example, the preset value range is 0<=p<=1.
[0102] Optionally, in response to the projection reference value p being within a preset value range, it is determined that the projection point is within the reference line segment, and the projection position relationship does not satisfy the position relationship condition.
[0103] Optionally, in response to the second reference value dis_abs being a preset value, it is determined that the projection point is outside the reference line segment and the projection position relationship satisfies the position relationship condition, wherein the preset value is 0, for example.
[0104] Exemplarily, if the second reference value dis_abs=0 or the projection reference value p<0 or p>1, it means that the preset position of the locked grid area is not between the current position of the mobile device and the position lockClearIdx+1 of the node that has not been passed, which means that the mobile device has passed the locked grid area, and it is determined that the projection position relationship meets the position relationship condition.
[0105] Exemplarily, if the second reference value dis_abs>0 and 0<=p<=1, it means that the preset position of the locked grid is between the current position of the mobile device and the position lockClearIdx+1 of the node that has not been passed, which means that the mobile device has not passed the locked grid, and it is determined that the projection position relationship does not meet the position relationship condition.
[0106] S123: In response to the projection position relationship satisfying the position relationship condition, determining the locked grid area as the target grid area.
[0107] The projection position relationship satisfies the position relationship condition, which means that the mobile device has passed the locked cell area, and the locked cell area can be unlocked, and the locked cell area is determined to be the target cell area. The index eraseRecId of the initialized target cell area is updated to the index of the current locked cell area.
[0108] S124: In response to the projection position relationship not satisfying the position relationship condition, determining a preceding locked grid area of the locked grid area as a target grid area.
[0109] The projection position relationship does not meet the position relationship condition, which means that the mobile device has not passed the locked grid area, and needs to continue to lock and occupy the locked grid area, and determine the previous locked grid area of the locked grid area as the target grid area. Update the index eraseRecId of the initialized target grid area to the index of the previous locked grid area. Among them, the previous locked grid area is the locked grid area before the locked grid area, such as the previous locked grid area.
[0110] Optionally, the target grid area is represented as the last locked grid area that needs to be unlocked.
[0111] In the above manner, each locked grid area in the locked area is traversed to obtain the index value of the target grid area through traversal inspection. If it is determined that the previous locked grid area of the currently traversed locked grid area is the target grid area, the traversal can be ended and the following step 13 is executed. Alternatively, if the traversal of each locked grid area in the locked area is completed, the traversal can be ended and the following step 13 is executed.
[0112] Please continue reading Figure 1 After the above step S12, the following steps are also included:
[0113] S13: Unlock the target grid area in the locked area.
[0114] The target grid area of the locked area can be unlocked to release the occupation of the target grid area. After the target grid area is unlocked and released, other mobile devices and the like can use the unlocked target grid area.
[0115] Optionally, the target grid area and the locked grid area before the target grid area may be unlocked to release the occupation of the target grid area and the locked grid area before the target grid area.
[0116] In some embodiments, after the above step S13, it is determined whether the mobile device has reached the task end point of the current task. If it has reached the task end point, the current process is terminated. If it has not reached the task end point, it is determined whether it is necessary to send the next section of the path to be executed during the driving process of the mobile device. If so, the next section of the path to be executed is sent to the mobile device, the locked area corresponding to the next section of the path to be executed is obtained, the locked area is occupied, and the above step S11 and subsequent steps are continued. If it is not necessary to send the next section of the path to be executed, the mobile device is controlled to continue to move forward, and the above step S11 and subsequent steps are continued.
[0117] The above scheme, in response to the driving distance of the mobile device not meeting the node distance condition, obtains the locked area of the mobile device in the node that has not been passed, wherein the locked area includes multiple locked grid areas corresponding to the nodes that have not been passed, determines the target grid area of the mobile device, wherein the target grid area is the locked grid area that the mobile device has passed; and unlocks the target grid area of the locked area. The above scheme can unlock the locked area more accurately and timely. Since the locked area is released when the driving distance of the mobile device does not meet the node distance condition, when the driving distance of the mobile device is small, such as when it does not meet the condition of driving to the next node or passing the next node, it can also more accurately identify the locked grid area that has been passed, and unlock the locked grid area that has been passed in time, and can accurately identify the area that the mobile device has passed in real time, and unlock and release it in time, thereby improving the operation efficiency of the mobile device.
[0118] In addition, the present application can timely unlock and release the occupancy of the non-node area that has been passed, so that the locked grid area that has been passed without passing the node can be unlocked and cleared, and the lock of the area that the mobile device has passed can be released in a timely and accurate manner. Therefore, limited map resources can be fully utilized, and the timeliness of other mobile devices such as the following vehicles can be improved, which can effectively improve the operating efficiency of the mobile device.
[0119] It is understandable that in the above method of the specific implementation mode, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0120] For the above-mentioned embodiments, the present application also provides a path planning device for a mobile device, which is used to implement the above-mentioned path planning method for a mobile device.
[0121] See also Figure 6 , Figure 6 1 is a schematic diagram of a structure of an embodiment of a path planning device for a mobile device of the present application. The path planning device 20 for a mobile device comprises an acquisition module 21, a determination module 22 and an unlocking module 23.
[0122] The acquisition module 21 is used for acquiring a locking area of the mobile device in which the mobile device has not passed the node in response to the travel distance of the mobile device not satisfying the node distance condition, wherein the locking area includes a plurality of locking grids corresponding to the node not passed.
[0123] The determination module 22 is used to determine a target grid area of the mobile device, wherein the target grid area is a locked grid area that the mobile device has passed.
[0124] The unlocking module 23 is used to unlock the target grid area of the locked area.
[0125] It should be noted that the path planning device for a mobile device provided in the above embodiment and the path planning method for a mobile device provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs operations has been described in detail in the method embodiment and will not be repeated here. In actual applications, the path planning device for a mobile device provided in the above embodiment can allocate the above functions to different functional modules as needed, that is, divide the internal structure of the device into different functional modules to complete all or part of the functions described above, and this is not limited here.
[0126] For the above embodiment, the present application provides a computer device, see Figure 7 , Figure 7 1 is a schematic diagram of the structure of an embodiment of a computer device of the present application. The computer device 30 includes a memory 31 and a processor 32, wherein the memory 31 and the processor 32 are coupled to each other, the memory 31 stores program data, and the processor 32 is used to execute the program data to implement the steps of any embodiment of the path planning method for the mobile device described above.
[0127] In this embodiment, the processor 32 may also be referred to as a CPU (Central Processing Unit). The processor 32 may be an integrated circuit chip having signal processing capabilities. The processor 32 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or the processor 32 may also be any conventional processor, etc.
[0128] The method of the above embodiment can be implemented in the form of a computer program, so the present application proposes a computer readable storage medium, see Figure 8 , Figure 8 The computer-readable storage medium 40 stores program data 41 that can be run by a processor, and the program data 41 can be executed by the processor to implement the steps of any embodiment of the path planning method for a mobile device.
[0129] The computer-readable storage medium 40 of this embodiment can be a medium that can store program data 41, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, or it can also be a server that stores the program data 41. The server can send the stored program data 41 to other devices for execution, or it can also execute the stored program data 41 by itself.
[0130] In some embodiments, the functions or modules included in the device provided in the above embodiments of the present application can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.
[0131] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0132] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0133] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0134] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0135] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium, which is a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a computer, server, or network device, etc.) or a processor to perform all or part of the steps of each implementation method of the present application.
[0136] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a computer-readable storage medium and executed by a computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the present application is not limited to any specific combination of hardware and software.
[0137] The above descriptions are merely embodiments of the present application and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A path planning method for a mobile device, characterized in that: include: In response to the travel distance of the mobile device not satisfying the node distance condition, obtaining a locking area of the mobile device in the node not passed, wherein the locking area includes a plurality of locking grid areas corresponding to the node not passed; Determine a target grid area of the mobile device, wherein the target grid area is a locked grid area that the mobile device has passed; Unlock the target grid area of the locked area.
2. The method according to claim 1, characterized in that: The determining of the target grid area of the mobile device includes: The target grid area of the mobile device is determined by using the positional relationship among the current position of the mobile device, the position of the node not passed through, and the preset position of the locked grid area.
3. The method according to claim 2, characterized in that The determining of the target grid area of the mobile device by using the positional relationship among the current position of the mobile device, the position of the node not passed through, and the preset position of the locked grid area comprises: Acquire a reference line segment where the current position of the mobile device and the position of the node not passed through are located; and, Acquire a projection position relationship between a preset position of the locking grid area and the reference line segment, wherein the projection position relationship is used to represent a position relationship between a projection point and the reference line segment, and the projection point is a projection point of the preset position of the locking grid area on the reference line segment; In response to the projection position relationship satisfying a position relationship condition, the locked grid area is determined to be the target grid area.
4. The method according to claim 3, characterized in that The obtaining of the reference line segment where the current position of the mobile device and the position of the node not passed through are located includes: Obtaining the reference line segment using a first position difference between the current position of the mobile device and the position of the node not passed through; The acquiring of the relationship between the preset position of the locking grid area and the projection position of the reference line segment includes: Acquire a second position difference between the current position of the mobile device and the preset position of the locking grid area; The first position difference and the second position difference are processed by a preset operation to obtain a first reference value, and the projection position relationship is determined using the first reference value.
5. The method according to claim 4, characterized in that Before determining the projection position relationship by using the first reference value, the method further includes: Using the first position difference, obtaining a second reference value of the reference line segment; In response to the second reference value being greater than a preset value, adjusting the first reference value using the second reference value to obtain a projection reference value; The determining the projection position relationship by using the first reference value includes: The projection position relationship is determined using the projection reference value.
6. The method according to claim 3, characterized in that The preset position of the locking grid area is the center point of the locking grid area; and / or the position relationship condition is that the projection point is outside the reference line segment; And / or, the projection position relationship is represented by a projection reference value; Before determining that the locked grid area is the target grid area in response to the projection position relationship satisfying the position relationship condition, the method includes: In response to the projection reference value not meeting the preset value range, it is determined that the projection point is outside the reference line segment and the projection position relationship meets the position relationship condition.
7. The method according to claim 3, characterized in that After obtaining the relationship between the preset position of the locking grid area and the projection position of the reference line segment, the method further includes: In response to the projection position relationship not satisfying the position relationship condition, a preceding locking grid area of the locking grid area is determined as the target grid area.
8. The method according to claim 1, characterized in that In response to the driving distance of the mobile device not satisfying the node distance condition, obtaining the mobile device before passing through the locking area of the node, comprises: Acquire a target node of the mobile device on the planned path, wherein the target node is a preset locked node unlocked by the locked node set; Determine that the subsequent node of the target node is the node not passed through.
9. A computer device, characterized in that: The invention comprises a memory and a processor coupled to each other, wherein the memory stores program data, and the processor is used to execute the program data to implement the steps of the method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: Program data that can be executed by a processor are stored, and the program data is used to implement the steps of the method according to any one of claims 1 to 8.
