Multi-device path scheduling method, electronic device and storage medium
By detecting and updating the pre-driving path of mobile devices, the problem of multi-device path conflict is solved, the operation efficiency and safety of the equipment are improved, and long-term waiting caused by path conflict is avoided.
Patent Information
- Application Number
- CN202411642655.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-03-28
AI Technical Summary
In complex environments, path conflicts between multiple mobile devices are serious, resulting in inefficient equipment transportation and affecting system operation efficiency.
By obtaining the pre-driving path of the current mobile device, it detects whether the path node has a spatial conflict with other devices. If it exists, a new path end point is selected from the pre-driving path node of the conflicting node and the pre-driving path is updated to avoid conflict.
It effectively reduces path conflicts between multiple mobile devices, improves the operating efficiency of equipment, ensures safe and efficient driving of mobile devices, and avoids long-term waiting caused by path conflicts.
Smart Images

Figure CN119717703A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of mobile device path planning, and in particular to a path scheduling method for multiple devices, an electronic device, and a storage medium. Background Art
[0002] At present, more and more scenarios are applied to unsupervised mobile devices, such as automated guided vehicles (AGVs), sweeping robots, driverless vehicles, etc. How to quickly and accurately plan a safe and efficient optimal path in a complex environment is the key to whether these mobile devices can effectively perform tasks.
[0003] For example, an automated guided vehicle is a vehicle that is responsible for towing or carrying goods in industrial operations. It generally plans the path from the starting point to the end point according to the set topological map, and automatically drives from the starting point to the end point according to the planned path. It is a widely used transportation equipment in automated workshops, warehouses, and docks. With the improvement of industrial level, the number of AGVs equipped in automated industrial scenes and the average daily workload have increased significantly, and AGV path conflicts have become more serious. Whether AGV equipment can transport efficiently has become a key factor in determining the efficiency of system operation.
[0004] Therefore, how to reduce the path conflicts of multiple mobile devices and improve the operation efficiency is an urgent problem to be solved by those skilled in the art. Summary of the invention
[0005] In order to solve the above technical problems, the present application at least provides a path scheduling method for multiple devices, an electronic device and a storage medium.
[0006] In a first aspect, the present application provides a path scheduling method for multiple devices, the method comprising: obtaining a pre-driving path of a current mobile device, the pre-driving path being composed of a plurality of interconnected path nodes; for the path nodes of the pre-driving path, detecting whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices, and treating the path nodes with space conflicts as conflicting nodes; selecting a path node from the preceding path nodes of the conflicting node as a new path end point of the pre-driving path, to obtain an updated pre-driving path; wherein the preceding path node of the conflicting node refers to a path node in the pre-driving path whose driving order is before the conflicting node; and controlling the current mobile device to move according to the updated pre-driving path.
[0007] In one embodiment, for a path node of a pre-driving path, it is detected whether the space required for the current movement of the mobile device conflicts with the space required for the movement of other mobile devices, and the path node with the space conflict is regarded as a conflict node, including: taking the path starting point of the pre-driving path as the traversal starting point, and traversing the path nodes in the pre-driving path in sequence; for a currently traversed path node, it is detected whether the space required for the current movement of the mobile device conflicts with the space required for the movement of other mobile devices; if there is a space conflict, the currently traversed path node is regarded as a conflict node, and the traversal of the pre-driving path is terminated.
[0008] In one embodiment, before detecting whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices, the method further includes: obtaining the running actions of the current mobile device and other mobile devices at the path node, and obtaining the device sizes of the current mobile device and other mobile devices; calculating the space required for the movement of the current mobile device based on the running actions and device size of the current mobile device at the path node; and calculating the space required for the movement of other mobile devices based on the running actions and device sizes of other mobile devices at the path node.
[0009] In one embodiment, the running action includes a straight-line action and a rotational action; based on the running action and device size of the current mobile device at the path node, the space required for the movement of the current mobile device is calculated; and, based on the running actions and device sizes of other mobile devices at the path node, the space required for the movement of other mobile devices is calculated, including: based on the device size of the current mobile device and the straight-line action and / or rotational action at the path node, the rectangular space required for the straight-line action of the current mobile device at the path node and / or the rotational space required for the rotational action of the current mobile device at the path node is calculated to obtain the space required for the movement of the current mobile device; and, based on the device size of other mobile devices and the straight-line action and / or rotational action at the path node, the rectangular space and / or rotational space required for the movement of other mobile devices at the path node is calculated to obtain the space required for the movement of other mobile devices.
[0010] In one embodiment, a path node is selected from the preceding path node of the conflicting node as a new path end point of the pre-driving path to obtain an updated pre-driving path, including: taking the preceding path node of the conflicting node as the new path end point to generate an updated pre-driving path.
[0011] In one embodiment, a path node is selected from the preceding path nodes of the conflicting node as a new path end point of the pre-driving path to obtain an updated pre-driving path, including: taking the preceding path node of the conflicting node as the initial end point of the pre-driving path to generate a pre-driving path to be verified; and taking other mobile devices that have a spatial conflict with the current mobile device as conflicting devices; obtaining the driving path of the conflicting device, and calculating the path overlap between the driving path of the conflicting device and the pre-driving path to be verified; based on the path overlap, adjusting the path length of the pre-driving path to be verified to generate an updated pre-driving path.
[0012] In one embodiment, based on the path overlap, the path length of the pre-driving path to be verified is adjusted to generate an updated pre-driving path, including: if the path overlap exceeds a preset overlap threshold, the path length of the pre-driving path to be verified is reduced, and a new path endpoint is determined based on the reduced path length to obtain an updated pre-driving path.
[0013] In one embodiment, a path node is selected from a preceding path node of a conflicting node as a new path endpoint of a pre-driving path to obtain an updated pre-driving path, including: taking the currently selected new path endpoint as an initial endpoint, detecting whether the initial endpoint belongs to a rotatable node; and taking other mobile devices that have a spatial conflict with the current mobile device as conflicting devices; if the initial endpoint belongs to a rotatable node, then based on the device size of the current mobile device and the action parameters of the rotation action, calculating the rotation space required for the current mobile device to rotate at the initial endpoint; detecting whether the rotation space corresponding to the initial endpoint conflicts with the space required for the conflicting device to move, if there is a spatial conflict, selecting a new path endpoint from the preceding path node of the initial endpoint to obtain an updated pre-driving path.
[0014] According to a second aspect of the present application, there is provided a path scheduling device for multiple devices, the device comprising: a path acquisition module, used to acquire a pre-driving path of a current mobile device, the pre-driving path being composed of a plurality of interconnected path nodes; a conflict detection module, used to detect, with respect to the path nodes of the pre-driving path, whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices, and to treat the path nodes with space conflicts as conflict nodes; a path update module, used to select a path node from the preceding path nodes of the conflict node as a new path end point of the pre-driving path, to obtain an updated pre-driving path; wherein the preceding path node of the conflict node refers to a path node in the pre-driving path whose driving order is before the conflict node; and a path use module, used to control the movement of the current mobile device according to the updated pre-driving path.
[0015] A third aspect of the present application provides an electronic device, including a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the above-mentioned path scheduling method for multiple devices.
[0016] A fourth aspect of the present application provides a computer-readable storage medium on which program instructions are stored. When the program instructions are executed by a processor, the above-mentioned path scheduling method for multiple devices is implemented.
[0017] The above scheme obtains the pre-driving path of the current mobile device, detects whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices for the path nodes of the pre-driving path, and regards the path nodes with space conflicts as conflicting nodes, and selects path nodes from the preceding path nodes of the conflicting nodes as the new path end points of the pre-driving path to obtain an updated pre-driving path, and controls the movement of the current mobile device according to the updated pre-driving path. It can detect in advance the path nodes with collision risks according to the space required for the movement of the mobile device, and modify the pre-driving path in time to ensure that the mobile device can achieve safe and efficient driving without conflicts and collisions, and avoid long waiting times between multiple mobile devices due to path conflicts.
[0018] 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
[0019] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.
[0020] Figure 1 It is a schematic diagram of an implementation environment of a solution provided by an embodiment of the present application;
[0021] Figure 2 is a flow chart of a multi-device path scheduling method shown in an exemplary embodiment of the present application;
[0022] Figure 3 is a schematic diagram of a spatial conflict scenario shown in an exemplary embodiment of the present application
[0023] Figure 4 is a schematic diagram of an action path shown in an exemplary embodiment of the present application;
[0024] Figure 5 is a block diagram of a path scheduling apparatus for multiple devices shown in an exemplary embodiment of the present application;
[0025] Figure 6 is a schematic structural diagram of an electronic device shown in an exemplary embodiment of the present application;
[0026] Figure 7 It is a schematic diagram of the structure of a computer-readable storage medium shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0027] The scheme of the embodiment of the present application is described in detail below in conjunction with the drawings of the specification.
[0028] In the following description, for the purpose of explanation rather than limitation, specific details such as specific system structures, interfaces, and technologies are provided to facilitate a thorough understanding of the present application.
[0029] The term "and / or" in this article is only an association information describing the 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 previous and next associated objects 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.
[0030] The following is a description of the path scheduling method for multiple devices provided in an embodiment of the present application.
[0031] Please refer to Figure 1 , which shows a schematic diagram of a solution implementation environment provided by an embodiment of the present application. The solution implementation environment may include a mobile device 110 and a server 120, and the mobile device 110 and the server 120 are connected to each other for communication.
[0032] The mobile device 110 may be an automatic guided vehicle, a freight robot, a sweeping robot, a drone, an unmanned vehicle, etc., and the present application does not limit the type of the mobile device. The mobile device 110 performs corresponding tasks in the path planning scenario.
[0033] Server 120 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), as well as big data and artificial intelligence platforms.
[0034] Exemplarily, the mobile device 110 pre-stores a scene map of the path planning scene, and the mobile device 110 needs to start from the task starting point and drive to the task end point to perform the corresponding task. Specifically, the mobile device 110 generates the current pre-driving path according to the scene map, and performs collision detection on each path node of the pre-driving path to modify and update the pre-driving path, and moves according to the updated pre-driving path.
[0035] Exemplarily, the scene map of the path planning scene can also be stored in the server 120. The server 120 generates the current pre-driving path according to the scene map, and performs collision detection on each path node of the pre-driving path to modify and update the pre-driving path to obtain a safe and operable pre-driving path, and sends the safe and operable pre-driving path to the mobile device 110 so that the mobile device 110 moves according to the pre-driving path.
[0036] In the path scheduling method for multiple devices provided in the embodiment of the present application, the execution subject of each step can be the mobile device 110, or the server 120, or the mobile device 110 and the server 120 can cooperate with each other to execute, that is, part of the steps of the method are executed by the mobile device 110 and the other steps are executed by the server 120.
[0037] See also Figure 2 , Figure 2 is a flowchart of a multi-device path scheduling method shown in an exemplary embodiment of the present application. The multi-device path scheduling method can be applied to Figure 1 It should be understood that the method can also be applied to other exemplary implementation environments and be specifically executed by devices in other implementation environments, and this embodiment does not limit the implementation environment to which the method is applicable.
[0038] like Figure 2 As shown, the path scheduling method for multiple devices includes at least steps S210 to S240, which are described in detail as follows:
[0039] Step S210: obtaining a pre-travel path of the current mobile device, where the pre-travel path consists of a plurality of interconnected path nodes.
[0040] It should be noted that the pre-travel path of the present application may be a global path from the mission start point to the mission end point of the current mobile device, or may be a local path from the mission start point to the mission end point of the current mobile device.
[0041] Take the pre-travel path as a local path as an example: plan the global path from the task start point to the task end point according to the scenario map. For example, the scenario map is a grid map. According to the node attributes (workbench, shelf area, operation area, etc.), node location, node connectivity, real-time tasks of other mobile devices, locations of other mobile devices and paths of other mobile devices of each grid node in the scenario map, use the A* algorithm (a heuristic search algorithm used to find the optimal path between a given start point and end point) to plan a global path from the task start point to the task end point for the current mobile device. Then, according to the global path and the real-time tasks, locations and paths of other mobile devices, the local path of the next local movement of the current mobile device is calculated, and the local path is used as the pre-travel path. At this time, the current mobile device may have multiple local paths in the process of moving from the task start point to the task end point. The path start point of the local path of the i-th local movement should be the path end point of the local path of the i-1th local movement.
[0042] Specifically, when calculating the local path of the next local movement of the current mobile device, the local path is selected from the global path according to preset rules, such as the preset rules at least including: determining the longest length and the shortest length of the local path according to the device spacing threshold, determining whether to truncate the path according to the operation type of the path node (such as because the path node with a rotating action needs to slow down and stop moving and then rotate in place, so the local path needs to be truncate), and the last path node of the local path must be allowed to stop and wait. One or more of the above, the present application does not limit this.
[0043] Step S220: for the path nodes of the pre-driving path, detect whether the space required for the current mobile device to move conflicts with the space required for other mobile devices to move, and treat the path nodes with space conflicts as conflicting nodes.
[0044] If the space required for the current mobile device to move conflicts with the space required for the movement of other mobile devices, it means that there is a risk of collision between the current mobile device and other mobile devices during movement.
[0045] See also Figure 3 , Figure 3 A schematic diagram of a space conflict scenario is shown as an exemplary embodiment of the present application. Figure 3As shown, after mobile device 1 moves from path node a1 to path node a2, path node a3 is occupied by mobile device 2, and mobile device 2 cannot continue to move away from path node a3 due to a failure of mobile device 2 or congestion in the forward direction. At this time, if mobile device 1 rotates to change routes, there will be a conflict between the space required for the rotational movement and the space currently occupied by mobile device 2, causing mobile device 1 to collide with mobile device 2 during the rotation process. If the road from path node a1 to path node a2 is a one-way road and cannot retreat, or a new mobile device re-enters path node a1, mobile device 1 at path node a2 can only wait in place for a long time, reducing the path scheduling efficiency of each mobile device.
[0046] Therefore, in order to avoid Figure 3 In the scenario shown, when issuing the pre-driving path, the present application detects for the path nodes of the pre-driving path whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices, and treats the path nodes with space conflicts as conflicting nodes.
[0047] For example, before sending the pre-travel path to the mobile device 1, the space required for the movement of other mobile devices on the travel path and the space required for the movement of the mobile device 1 on the pre-travel path are combined to pre-detect the path nodes with space conflicts, and obtain the conflicting nodes. Figure 3 It can be found that the path node a2 of the mobile device 1 in the pre-driving path will conflict with the mobile device 2 in occupying space, and the path node a2 is regarded as the conflicting node.
[0048] Compared with the prior art which only determines whether there are other mobile devices in the corresponding path node, the present application can more accurately analyze the operation scenarios of multiple mobile devices according to the space occupied by the mobile devices, and effectively discover path nodes with collision risks in advance.
[0049] Step S230: Select a path node from the preceding path nodes of the conflict node as the new path end point of the pre-driving path to obtain an updated pre-driving path; wherein the preceding path node of the conflict node refers to a path node in the pre-driving path that has a driving order before the conflict node.
[0050] After determining that there are conflicting nodes in the pre-travel path, a new path end point is reselected from the preceding path nodes of the conflicting nodes, the path nodes between the path start point and the selected new path end point in the pre-travel path are retained, and other path nodes are deleted to obtain an updated pre-travel path.
[0051] For example, the pre-driving path includes path node a1, path node a2, path node a3, path node a4 and path node a5 in order of driving, path node a1 and path node a5 are the path starting point and path end point respectively, and according to step S220, path node a4 is detected to be a conflicting node, then the preceding path nodes of the conflicting node include path node a1, path node a2 and path node a3, and a new path end point is selected from path node a1, path node a2 and path node a3. For example, path node a3 is selected as the new path end point, and the updated pre-driving path includes path node a1, path node a2 and path node a3 in order.
[0052] Of course, in actual application scenarios, the pre-driving path may contain more path nodes, and other preceding path nodes may be selected as new path endpoints, which is not limited in this application.
[0053] Exemplarily, a preceding path node that is N path nodes away from the conflicting node may be selected as the new path endpoint, wherein the value of N may be preset based on experience, such as 0, 1, 2, etc.; the value of N may also be flexibly calculated, such as calculating the value of N based on one or more of the path length of the original pre-driving path, the device spacing threshold between mobile devices, and the urgency of the current mobile device to perform the task. Specifically, the longer the path length of the original pre-driving path, and / or the larger the device spacing threshold, and / or the lower the urgency of performing the task, the larger the value of N; conversely, the shorter the path length of the original pre-driving path, and / or the smaller the device spacing threshold, and / or the higher the urgency of performing the task, the smaller the value of N.
[0054] Exemplarily, the probability of the current mobile device colliding with other mobile devices while traveling in each preceding path node can be predicted by combining one or more of the node attributes of each preceding path node (node type, mode of travel (one-way travel, two-way communication), whether rotation is supported), the frequency of each preceding path node being detected as a conflict node in the historical records, the moving paths of other mobile devices, etc., and selecting the preceding path node with the smallest probability value as the new path end point.
[0055] Exemplarily, after predicting the probability value of the current mobile device colliding with other mobile devices during the driving process in each predecessor path node, an order index can be assigned to each predecessor node in combination with the driving order of each predecessor node in the original pre-driving path. The later the driving order, the smaller the order index. Then, a weighted calculation is performed on the probability value of the collision and the order index to obtain the final selection index value of each predecessor node, and the predecessor path node with the smallest selection index value is selected as the new path end point.
[0056] Among them, the weight value of the above-mentioned weighted calculation can be preset based on experience, or the weight value can be calculated based on one or more of the path length of the original pre-driving path, the device spacing threshold between mobile devices, the urgency of the current mobile device to perform the task, and the anti-collision accuracy of the current mobile device. For example, the shorter the path length of the original pre-driving path, and / or the larger the device spacing threshold between mobile devices, and / or the smaller the urgency of the current mobile device to perform the task, and / or the higher the anti-collision accuracy of the current mobile device, the larger the weight value corresponding to the probability value of collision, and the smaller the weight value of the order index; conversely, the longer the path length of the original pre-driving path, and / or the smaller the device spacing threshold between mobile devices, and / or the greater the urgency of the current mobile device to perform the task, and / or the lower the anti-collision accuracy of the current mobile device, the smaller the weight value corresponding to the probability value of collision, and the larger the weight value of the order index.
[0057] Of course, other methods may also be used to select a path node from the previous path node as the new path end point of the pre-travel path. For details, please refer to the following further embodiment examples, which are not limited in this application.
[0058] Step S240: Control the current mobile device to move according to the updated pre-travel path.
[0059] After obtaining the new path endpoint, the pre-travel path is updated, and the updated pre-travel path is sent to the current mobile device, so that the current mobile device subsequently moves according to the updated pre-travel path.
[0060] In some embodiments, before controlling the current mobile device to move according to the updated pre-driving path, each path node in the updated pre-driving path is first locked so that only the current mobile device can pass through each path node in the updated pre-driving path, until the current mobile device completes the updated pre-driving path, and then the lock on each path node in the updated pre-driving path is released.
[0061] Among them, the space occupied by the current mobile device on the scene map can be locked according to the space required for the current mobile device to move at each path node, until the current mobile device completes the updated pre-driving path, and then the space occupied by the current mobile device is unlocked to avoid device collision.
[0062] Next, some embodiments of the present application are described in detail.
[0063] In some implementations, before step S220 detects whether the space required for the current mobile device to be occupied conflicts with the space required for the movement of other mobile devices, the method further includes:
[0064] Step S211: Obtain the running actions of the current mobile device and other mobile devices at the path nodes, and obtain the device sizes of the current mobile device and other mobile devices.
[0065] The device size includes the length, width, height, etc. of the device.
[0066] Exemplarily, the device sizes of the current mobile device and other mobile devices may be pre-stored, such as a pre-stored device size mapping table, which stores device sizes corresponding to various types of mobile devices. The device sizes of the current mobile device and other mobile devices may be obtained by querying the device size mapping table according to the device types corresponding to the current mobile device and other mobile devices.
[0067] For example, an environmental perception device such as an image acquisition device or a lidar may be deployed in the path planning scenario, and the perception data of the current mobile device and other mobile devices may be collected by the environmental perception device. The device sizes of the current mobile device and other mobile devices may be obtained by analyzing the perception data.
[0068] The running motion of the mobile device at each path node is used to limit the movement mode of the mobile device, such as straight motion and rotation motion.
[0069] When performing path planning, for each path node in the planned path, a corresponding movement method between adjacent path nodes is set. The path containing the movement method is called an action path. For example, see Figure 4 , Figure 4 A schematic diagram of an action path shown in an exemplary embodiment of the present application is shown in FIG. Figure 4 As shown, the actions of the current mobile device moving from path node a0, path node a1, path node a2, and path node a3 in sequence include: action 1: go straight from path node a0 to path node a1; action 2: turn left 90 degrees on the spot at path node a1; action 3: follow a Bezier curve from path node a1 to path node a2; action 4: turn right 180 degrees on the spot at path node a2; action 5: retreat from path node a2 to path node a3.
[0070] Based on the action paths corresponding to the current mobile device and other mobile devices, the running actions of the current mobile device and other mobile devices at the path nodes are obtained, such as Figure 4 As shown, the current running action of the mobile device at the path node a0 includes running action 1, and the running action at the path node a1 includes running action 2 and running action 3.
[0071] Step S212: Based on the running action and device size of the current mobile device at the path node, calculate the space required for the movement of the current mobile device; and, based on the running action and device size of other mobile devices at the path node, calculate the space required for the movement of other mobile devices.
[0072] Based on the device size of the current mobile device, the space required for the current mobile device to perform corresponding running actions at the path node can be calculated. Based on the device sizes of other mobile devices, the space required for other mobile devices to perform corresponding running actions at the path node can be calculated.
[0073] Exemplarily, the running action includes a straight-line action and a rotational action; based on the running action and device size of the current mobile device at the path node, the space required for the movement of the current mobile device is calculated; and, based on the running actions and device sizes of other mobile devices at the path node, the space required for the movement of other mobile devices is calculated, including: based on the device size of the current mobile device and the straight-line action and / or rotational action at the path node, the rectangular space required for the straight-line action of the current mobile device at the path node and / or the rotational space required for the rotational action of the current mobile device at the path node is calculated, to obtain the space required for the movement of the current mobile device; and, based on the device size of other mobile devices and the straight-line action and / or rotational action at the path node, the rectangular space and / or rotational space required for the movement of other mobile devices at the path node is calculated, to obtain the space required for the movement of other mobile devices.
[0074] For example, Figure 4 Action 1 in the middle: Go straight from path node a0 to path node a1. This is a straight action. The rectangular space required to execute the straight motion is obtained directly according to the device size of the current mobile device and the route of the straight action. Figure 4 Action 2 in the middle: Turn left 90 degrees at the path node a1. This is a rotation action. According to the device size of the current mobile device and the angle of the rotation action, the rotation space required to perform the rotation motion is obtained.
[0075] Similarly, based on the device size of other mobile devices and the linear motion and / or rotational motion at the path node, the rectangular space and / or rotational space required for the movement of other mobile devices at the path node is calculated to obtain the space required for the movement of other mobile devices.
[0076] According to the space required for the current movement of the mobile device and the space required for the movement of other mobile devices, detect whether the space required for the current movement of the mobile device corresponding to the path node of the pre-driving path conflicts with the space required for the movement of other mobile devices, and treat the path node with space conflict as a conflict node.
[0077] In some embodiments, the path starting point of the pre-driving path is used as the traversal starting point, and the path nodes in the pre-driving path are traversed in sequence; for the current traversal path node, it is detected whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices; if there is a space conflict, the current traversal path node is used as the conflict node, and the traversal of the pre-driving path is terminated.
[0078] Starting from the starting point of the path, each path node is checked in turn to see if there is a spatial conflict. The path node where the spatial conflict is first detected is regarded as the conflict node, and the traversal of the pre-driving path is ended to quickly locate the conflict node.
[0079] In some embodiments, spatial conflict detection can also be performed on each path node of the pre-driving path. If a spatial conflict exists, the overlapping area between the space required for the movement of the current mobile device and the space required for the movement of other mobile devices is determined, and the path node with an overlapping area greater than a preset area threshold is selected as the conflict node.
[0080] In some embodiments, if a spatial conflict is detected in a path node, the path node is regarded as a potential dangerous node, and other mobile devices corresponding to the spatial conflict are regarded as potential dangerous devices. The operation actions corresponding to each path node between the current position and the potential dangerous node in the operation path of the current mobile device and the operation actions corresponding to each path node between the current position and the potential dangerous node in the operation path of the potential dangerous device are obtained to predict the probability that the current mobile device and the potential dangerous device simultaneously enter the preset range of the potential dangerous node, wherein the preset range of the potential dangerous node refers to the range in which the current mobile device and the potential dangerous device will collide, which can be determined according to the device size of the current mobile device and the potential dangerous device, or the device spacing threshold and other parameters. If the probability that the current mobile device and the potential dangerous device simultaneously enter the preset range of the potential dangerous node is greater than the preset probability threshold, the potential dangerous node is judged to be a conflict node, otherwise, the next potential dangerous node is continuously checked.
[0081] The appropriate conflict node determination method can be flexibly selected according to different actual application scenarios, and this application does not limit it here.
[0082] Of course, when detecting whether the space required for the current movement of a mobile device conflicts with the space required for the movement of other mobile devices, the space required for the movement of each other mobile device can be compared with the space required for the movement of the current mobile device to determine whether there is a space conflict; the space required for the movement of other mobile devices containing overlapping path nodes in the driving path and the pre-driving path can also be compared with the space required for the movement of the current mobile device to determine whether there is a space conflict; it can also be detected whether the node interval between each path node in the driving path of other mobile devices and each path node in the pre-driving path is less than a preset interval threshold. If so, the space required for the movement of the other mobile device is calculated and compared with the space required for the movement of the current mobile device to determine whether there is a space conflict. This application does not limit this.
[0083] After the conflict node is obtained, a path node is selected from the preceding path nodes of the conflict node as a new path end point of the pre-travel path to obtain an updated pre-travel path.
[0084] Some possible ways to select a new path endpoint are described below:
[0085] Method 1: The previous path node of the conflicting node can be directly used as the new path end point to generate an updated pre-travel path.
[0086] Method 2, taking the previous path node of the conflicting node as the initial end point of the pre-driving path to generate the pre-driving path to be verified; and taking other mobile devices that have spatial conflicts with the current mobile device as conflicting devices; obtaining the driving path of the conflicting device, and calculating the path overlap between the driving path of the conflicting device and the pre-driving path to be verified; based on the path overlap, adjusting the path length of the pre-driving path to be verified, and generating an updated pre-driving path.
[0087] According to the path overlap between the driving path of the conflicting device and the pre-driving path to be verified, the probability of deadlock between the conflicting device and the current mobile device can be identified. The higher the path overlap, the greater the probability of deadlock.
[0088] Specifically, if the path overlap exceeds a preset overlap threshold, the path length of the pre-driving path to be verified is reduced, and a new path end point is determined based on the reduced path length to obtain an updated pre-driving path.
[0089] That is, a new path endpoint is continuously selected from the preceding path node corresponding to the initial endpoint, and the path overlap between the updated pre-driving path obtained by reselecting the new path endpoint and the driving path of the conflicting device does not exceed the preset overlap threshold.
[0090] The path length that needs to be reduced for the pre-driving path to be verified can be determined based on the degree of path overlap. The greater the path overlap, the longer the path length that needs to be reduced. Alternatively, the path length of the pre-driving path to be verified can be reduced according to a preset path length, which is not limited in this application.
[0091] Method 3, taking the currently selected new path endpoint as the initial endpoint, detecting whether the initial endpoint is a rotatable node; and taking other mobile devices that have a spatial conflict with the current mobile device as conflicting devices; if the initial endpoint is a rotatable node, then based on the device size of the current mobile device and the action parameters of the rotation action, calculate the rotation space that the current mobile device needs to occupy for the rotation movement at the initial endpoint; detect whether the rotation space corresponding to the initial endpoint conflicts with the space occupied by the conflicting device movement, if there is a spatial conflict, select a new path endpoint from the preceding path node of the initial endpoint to obtain an updated pre-driving path.
[0092] In order to ensure that the current mobile device can rotate and change routes at the end point of the path, if the initial end point is a rotatable node, it is detected whether there is a spatial conflict between the current mobile device and other mobile devices when the initial end point is rotated. If there is a spatial conflict, a new path end point is reselected from the preceding path node of the initial end point to obtain an updated pre-travel path.
[0093] Of course, in addition to the above implementation, the path endpoint may be selected according to other embodiments exemplified in the aforementioned step S230, or a plurality of implementations may be combined to select the path endpoint, which is not limited in the present application.
[0094] For example, the path scheduling method for multiple devices includes:
[0095] Step S01: planning a global path from the task start point to the task end point according to the scenario map, and generating a global action path corresponding to the global path in combination with the movement mode of the mobile device at each path node;
[0096] Step S02: determining the rectangular space and / or rotation space that the mobile device needs to occupy according to the global motion path, device size, operation accuracy and device spacing threshold of each mobile device;
[0097] Step S03: extracting the pre-driving path that needs to be issued currently from the global path, taking the path starting point of the pre-driving path as the traversal starting point, and traversing the path nodes in the pre-driving path in sequence;
[0098] Step S04: adding other mobile devices whose travel paths contain or are adjacent to the currently traversed path node to the set of devices to be detected;
[0099] Step S05: selecting an undetected device to be detected in the set of devices to be detected;
[0100] Step S06: for the current traversal path node, comparing the rectangular space and / or rotational space occupied by the current mobile device movement with the rectangular space and / or rotational space occupied by the to-be-detected device movement;
[0101] Step S07: Determine whether there is a space conflict, if not, execute step S08, if yes, execute step S11;
[0102] Step S08: Determine whether there is an undetected device in the set of devices to be detected. If yes, execute step S05; if no, execute step S09;
[0103] Step S09: determining whether there are any untraversed path nodes in the pre-travel path, if yes, executing step S10, if no, executing step S20;
[0104] Step S10: traverse the next path node and continue to execute step S04;
[0105] Step S11: taking the previous path node of the currently traversed path node as the initial end point, generating a pre-travel path to be verified, and ending the traversal of the pre-travel path;
[0106] Step S12: calculating the path overlap between the driving path of the conflicting device and the pre-driving path to be verified, adjusting the path length of the pre-driving path to be verified according to the path overlap, and obtaining an adjusted path end point;
[0107] Step S13: Determine whether the adjusted path endpoint is a rotatable node, if so, execute steps S14 to S15, if not, execute step S17;
[0108] Step S14: Calculate the rotation space that the current mobile device needs to occupy when rotating at the end point of the adjusted path;
[0109] Step S15: determine whether the rotating space conflicts with the space required for the conflicting device to move, if so, execute step S16, if not, execute step S17;
[0110] Step S16: taking the previous path node of the adjusted path end point as the new path end point, and returning to execute step S13;
[0111] Step S17: Determine whether the driving order of the currently selected path end point is after the driving order of the path start point. If not, execute steps S18 to S19. If yes, execute step S20.
[0112] Step S18: Control the current mobile device to wait at the location after completing the current path;
[0113] Step S19: Determine whether it is necessary to issue a subsequent pre-driving route, if yes, execute step S03, if no, execute step S21;
[0114] For example, it is detected whether the path length between the current position of the current mobile device and the end point of the path that has been sent is less than a preset length threshold. If so, it is necessary to send the subsequent pre-driving path, otherwise, it is not necessary to send the subsequent pre-driving path; or, it is determined whether the path node ahead is idle. If so, it is necessary to send the subsequent pre-driving path, otherwise, it is not necessary to send the subsequent pre-driving path; or, it is determined whether the waiting time of the current mobile device in place exceeds a preset time threshold. If so, it is necessary to send the subsequent pre-driving path, otherwise, it is not necessary to send the subsequent pre-driving path.
[0115] Step S20: retain the path nodes between the path starting point and the currently selected path end point in the pre-travel path, delete other path nodes, obtain an updated pre-travel path, send the updated pre-travel path to the current mobile device, and execute step S21;
[0116] Step S21: the current mobile device travels according to the currently received path;
[0117] Step S22: Determine whether the current mobile device has reached the task end point. If not, execute step S19. If yes, end.
[0118] The path scheduling method for multiple devices provided by the present application obtains a pre-driving path of the current mobile device, detects, for the path nodes of the pre-driving path, whether the space required for the movement of the current mobile device conflicts with the space required for the movement of other mobile devices, and regards the path nodes with space conflicts as conflicting nodes, selects path nodes from the preceding path nodes of the conflicting nodes as the new path end points of the pre-driving path, obtains an updated pre-driving path, controls the movement of the current mobile device according to the updated pre-driving path, can more accurately analyze the operation scenarios of multiple mobile devices according to the space required for the movement of the mobile device, effectively discovers path nodes with collision risks in advance, and modifies the pre-driving path in time, so as to ensure that the mobile device can achieve safe and efficient driving without conflicts and collisions, and avoid long waiting times between multiple mobile devices due to path conflicts.
[0119] Figure 5 FIG. 1 is a block diagram of a path scheduling apparatus for multiple devices shown in an exemplary embodiment of the present application. Figure 5As shown, the exemplary multi-device path scheduling apparatus 500 includes: a path acquisition module 510 , a conflict detection module 520 , a path update module 530 and a path use module 540 .
[0120] Specific:
[0121] A path acquisition module 510 is used to acquire a pre-travel path of the current mobile device, where the pre-travel path is composed of a plurality of interconnected path nodes;
[0122] The conflict detection module 520 is used to detect, for the path nodes of the pre-travel path, whether the space required for the current mobile device to move conflicts with the space required for the movement of other mobile devices, and to treat the path nodes with space conflicts as conflicting nodes;
[0123] A path updating module 530 is used to select a path node from the preceding path node of the conflicting node as a new path end point of the pre-traveling path, and obtain an updated pre-traveling path; wherein the preceding path node of the conflicting node refers to a path node in the pre-traveling path that precedes the conflicting node in a driving order;
[0124] The path using module 540 is used to control the current mobile device to move according to the updated pre-travel path.
[0125] It should be noted that the path scheduling device for multiple devices provided in the above embodiment and the path scheduling method for multiple devices provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment and will not be repeated here. In practical applications, the path scheduling device for multiple devices 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] See also Figure 6 , Figure 6 6 is a schematic diagram of the structure of an embodiment of an electronic device of the present application. The electronic device 600 includes a memory 601 and a processor 602, and the processor 602 is used to execute program instructions stored in the memory 601 to implement the steps in any of the above-mentioned multi-device path scheduling method embodiments. In a specific implementation scenario, the electronic device 600 may include but is not limited to: a microcomputer, a server, and in addition, the electronic device 600 may also include a mobile device such as a laptop computer and a tablet computer, which is not limited here.
[0127] Specifically, the processor 602 is used to control itself and the memory 601 to implement the steps in any of the above-mentioned multi-device path scheduling method embodiments. The processor 602 can also be called a central processing unit (CPU). The processor 602 may be an integrated circuit chip with signal processing capabilities. The processor 602 can 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, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 602 can be implemented by an integrated circuit chip.
[0128] See also Figure 7 , Figure 7 The computer-readable storage medium 700 stores program instructions 710 that can be executed by a processor, and the program instructions 710 are used to implement the steps in any of the above-mentioned multi-device path scheduling method embodiments.
[0129] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure 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, and for the sake of brevity, it will not be repeated here.
[0130] 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.
[0131] 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, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that 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.
[0132] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. 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. Based on this understanding, the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program code.
Claims
1. A multi-device path scheduling method, characterized in that: include: Acquire a pre-travel path of the current mobile device, wherein the pre-travel path is composed of a plurality of interconnected path nodes; For the path nodes of the pre-travel path, detecting whether the space required for the current mobile device to move conflicts with the space required for other mobile devices to move, and treating the path nodes with space conflicts as conflicting nodes; Select a path node from the preceding path nodes of the conflicting node as a new path end point of the pre-travel path to obtain an updated pre-travel path; wherein the preceding path node of the conflicting node refers to a path node in the pre-travel path that precedes the conflicting node in the travel order; The current mobile device is controlled to move according to the updated pre-travel path.
2. The method according to claim 1, characterized in that The method of detecting, for the path node of the pre-travel path, whether the space required for the current mobile device to move conflicts with the space required for other mobile devices to move, and treating the path node with space conflict as a conflict node, includes: Taking the path starting point of the pre-travel path as the traversal starting point, traversing the path nodes in the pre-travel path in sequence; For the current traversal path node, detecting whether the space required for the current mobile device to move conflicts with the space required for other mobile devices to move; If there is a spatial conflict, the current traversal path node is used as a conflict node, and the traversal of the pre-travel path is terminated.
3. The method according to claim 1, characterized in that Before detecting whether the space required for the current mobile device to be occupied conflicts with the space required for the movement of other mobile devices, the method further includes: Acquire the running actions of the current mobile device and the other mobile devices at the path node, and acquire the device sizes of the current mobile device and the other mobile devices; Based on the running actions and device size of the current mobile device at the path node, the space required for the movement of the current mobile device is calculated; and based on the running actions and device size of the other mobile devices at the path node, the space required for the movement of the other mobile devices is calculated.
4. The method according to claim 3, characterized in that The running action includes a straight-line action and a rotation action; the space required for the movement of the current mobile device is calculated based on the running action of the current mobile device at the path node and the device size; And, based on the running action and device size of the other mobile device at the path node, calculating the space required to be occupied by the other mobile device for movement, including: Based on the device size of the current mobile device and the straight motion and / or rotational motion at the path node, the rectangular space required for the current mobile device to move straight at the path node and / or the rotational space required for the current mobile device to move rotationally at the path node are calculated to obtain the space required for the movement of the current mobile device; and Based on the device size of the other mobile device and the linear motion and / or rotational motion at the path node, the rectangular space and / or rotational space required for the other mobile device to move at the path node is calculated to obtain the space required for the other mobile device to move.
5. The method according to claim 1, characterized in that The step of selecting a path node from the preceding path node of the conflicting node as a new path end point of the pre-travel path to obtain an updated pre-travel path includes: The previous path node of the conflicting node is used as a new path end point to generate an updated pre-travel path.
6. The method according to claim 1, characterized in that The step of selecting a path node from the preceding path node of the conflicting node as a new path end point of the pre-travel path to obtain an updated pre-travel path includes: Taking the path node before the conflicting node as the initial end point of the pre-travel path to generate the pre-travel path to be verified; and taking other mobile devices that have spatial conflicts with the current mobile device as conflicting devices; Acquire the driving path of the conflicting device, and calculate the path overlap between the driving path of the conflicting device and the pre-driving path to be verified; Based on the path overlap, the path length of the pre-driving path to be verified is adjusted to generate an updated pre-driving path.
7. The method according to claim 6, characterized in that The step of adjusting the path length of the pre-driving path to be verified based on the path overlap to generate an updated pre-driving path includes: If the path overlap exceeds a preset overlap threshold, the path length of the pre-driving path to be verified is reduced, and a new path end point is determined based on the reduced path length to obtain an updated pre-driving path.
8. The method according to claim 1, characterized in that: The step of selecting a path node from the preceding path node of the conflicting node as a new path end point of the pre-travel path to obtain an updated pre-travel path includes: Taking the currently selected new path endpoint as the initial endpoint, detecting whether the initial endpoint is a rotatable node; and taking other mobile devices that have spatial conflicts with the current mobile device as conflicting devices; If the initial end point is a rotatable node, then based on the device size of the current mobile device and the action parameters of the rotation action, calculating the rotation space that the current mobile device needs to occupy when rotating at the initial end point; It is detected whether the rotation space corresponding to the initial end point conflicts with the space required for the movement of the conflicting device. If there is a space conflict, a new path end point is selected from the preceding path node of the initial end point to obtain an updated pre-travel path.
9. An electronic device, characterized in that: The electronic device comprises a memory and a processor, wherein the processor is configured to execute program instructions stored in the memory to implement the steps in the method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program instructions, and the program instructions can be executed by a processor to implement the steps in the method according to any one of claims 1 to 8.
Citation Information
Cited By
Path planning method, electronic equipment and storage medium
CN120084351A