Task processing method, electronic device, and computer-readable medium
By automatically querying conflicting road segments and their location relationships, the problem of task conflicts in intelligent warehousing is solved, and efficient task processing without human intervention is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- YUANLI JUHE (CHONGQING) ROBOTICS TECHNOLOGY CO LTD
- Filing Date
- 2022-07-13
- Publication Date
- 2026-06-02
AI Technical Summary
In smart warehousing scenarios, task conflicts can occur when multiple operating devices perform tasks simultaneously. Existing technologies require manual resolution, resulting in high labor costs and low task processing efficiency.
By acquiring the current tasks being executed by the conveyor line and the target tasks to be issued, the system can query conflicting road segments and automatically determine the timing of issuing the target tasks based on the positional relationship between the object and the conflicting road segments, thus avoiding manual operation.
It reduces labor costs, improves task processing efficiency, avoids the waiting time of issuing target tasks only after the task has been completed, and improves parallelism and overall processing efficiency.
Smart Images

Figure CN115293678B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, specifically to task processing methods, electronic devices, and computer-readable media. Background Technology
[0002] In smart warehousing scenarios, task conflicts often occur when multiple devices are performing tasks simultaneously. For example, a conveyor line can handle both inbound and outbound functions at the same time. If inbound and outbound tasks are issued simultaneously, it will lead to a conflict in the flow of the conveyor line.
[0003] In existing technologies, task conflicts are typically resolved manually. For example, this involves manually switching the inbound and outbound modes of conveyor line equipment, and issuing tasks for another flow direction after the tasks in one flow direction have been completed. This method has high labor costs and low task processing efficiency. Summary of the Invention
[0004] This application provides a task processing method, an electronic device, and a computer-readable medium to address the technical problems of high labor costs and low task processing efficiency in the prior art.
[0005] In a first aspect, embodiments of this application provide a task processing method, the method comprising: obtaining a current task being executed by a conveyor line and a target task to be sent to the conveyor line, wherein the current task instructs a first object in the conveyor line to move along a first path, and the target task instructs a second object in the conveyor line to move along a second path; querying conflicting segments between the first path and the second path; and determining whether to send the target task to the conveyor line based on the positional relationship between the first object and the conflicting segments.
[0006] In a second aspect, embodiments of this application provide an electronic device, including: one or more processors; and a storage device having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in the first aspect.
[0007] Thirdly, embodiments of this application provide a computer-readable medium having a computer program stored thereon that, when executed by a processor, implements the method described in the first aspect.
[0008] Fourthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect.
[0009] The task processing method, electronic device, and computer-readable medium provided in this application, by acquiring the current task being executed on the conveyor line and the target task to be sent to the conveyor line, can obtain the first path of the first object moving on the conveyor line and the second path of the second object moving on the conveyor line. Then, it queries the conflicting segments between the first and second paths, thereby determining whether to send the target task to the conveyor line based on the positional relationship between the first object moving along the first path and the conflicting segments. Thus, on the one hand, the timing of target task sending can be automatically determined without manual operation, reducing labor costs. On the other hand, whether the target task is sent is determined based on the positional relationship between the currently operating equipment and the conflicting segments, and does not need to be sent after the current task is completed, improving task processing efficiency. Attached Figure Description
[0010] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0011] Figure 1 This is a flowchart of an embodiment of the task processing method according to this application;
[0012] Figure 2 This is a schematic diagram of an application scenario of the task processing method according to this application;
[0013] Figure 3 This is a flowchart illustrating the process of generating conflict segment description information for multiple path pairs according to the task processing method of this application;
[0014] Figure 4 This is a schematic diagram of the structure of one embodiment of the task processing apparatus according to this application;
[0015] Figure 5 This is a schematic diagram of the structure of a computer system used to implement the electronic device of the present application. Detailed Implementation
[0016] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0017] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0018] It should be noted that all actions involving the acquisition of signals, information, or data in this application are carried out in compliance with the relevant data protection laws and policies of the country where the application is located, and with the authorization granted by the owner of the relevant device.
[0019] In recent years, with the development of intelligent technologies such as the Internet of Things (IoT), artificial intelligence (AI), and big data, the demand for transforming and upgrading the traditional logistics industry using these technologies has become increasingly strong, making intelligent logistics a research hotspot in the logistics field. Intelligent logistics utilizes AI, big data, and various information sensors, RFID technology, GPS, and other IoT devices and technologies, widely applying them to basic activities such as material transportation, warehousing, distribution, packaging, loading and unloading, and information services. This enables intelligent analysis and decision-making, automated operation, and high-efficiency optimization management of the material management process. IoT technologies include sensing devices, RFID technology, laser infrared scanning, and infrared sensing identification. The IoT effectively connects materials in logistics to the network, enabling real-time monitoring of materials and sensing environmental data such as humidity and temperature in warehouses to ensure proper storage conditions. Big data technology can sense and collect all data in logistics, uploading it to the information platform's data layer for filtering, mining, and analysis. Ultimately, this provides precise data support for business processes (such as transportation, warehousing, storage, picking, packaging, sorting, outbound, inventory, and distribution). The application of artificial intelligence in logistics can be broadly divided into two categories: 1) AI-powered intelligent equipment such as unmanned trucks, AGVs, AMRs, forklifts, shuttles, stacker cranes, unmanned delivery vehicles, drones, service robots, robotic arms, and smart terminals replace some manual labor; 2) Software systems driven by computer vision, machine learning, operations research, and other technologies or algorithms, such as transportation equipment management systems, warehouse management systems, equipment scheduling systems, and order allocation systems, improve manual efficiency. With the research and advancement of smart logistics, this technology has been applied in numerous fields, including retail and e-commerce, electronics, tobacco, pharmaceuticals, industrial manufacturing, footwear and apparel, textiles, and food.
[0020] In smart warehousing scenarios, task conflicts often arise when multiple devices perform tasks simultaneously. For example, a conveyor line can handle both inbound and outbound functions. If inbound and outbound tasks are issued simultaneously, it will lead to conflicts in the flow of the pallet line. Existing technologies typically require manual resolution of these conflicts, such as manually switching the inbound / outbound modes of the pallet line equipment, issuing tasks for the other flow direction after the task in one direction is completed. This method is labor-intensive and has low task processing efficiency. This application provides a task processing method that can reduce labor costs while improving task processing efficiency.
[0021] Please refer to Figure 1This document illustrates a flow 100 of an embodiment of a task processing method according to this application. This task processing method can be applied to various electronic devices such as servers, desktop computers, smartphones, and tablets. The task processing method includes the following steps:
[0022] Step 101: Obtain the current task being executed by the conveyor line and the target task to be sent to the conveyor line.
[0023] In this embodiment, the execution entity of the task processing method can obtain the current task being executed by the conveyor line and the target task to be sent to the conveyor line. In practice, the execution entity can communicate with the conveyor line to send tasks to the conveyor line. The conveyor line may be equipped with a controller, and the execution entity can send tasks to the controller in the conveyor line to control the operation of various mechanisms in the conveyor line through the controller.
[0024] In this embodiment, the current task may instruct a first object (e.g., pallet A) in the conveyor line to move along a first path. The target task instructs a second object (e.g., pallet B) in the conveyor line to move along a second path. Objects in the conveyor line can be used to carry items to be conveyed. As an example, the conveyor line may include, but is not limited to, a pallet conveyor line (referred to as a pallet line). Objects in the conveyor line may be pallets located on the pallet conveyor line. The first object and the second object may be different pallets in the pallet conveyor line.
[0025] Step 102: Query the conflicting road segments between the first path and the second path.
[0026] In this embodiment, conflicting road segments can be identified and recorded for each pair of multiple paths in the conveyor line. Therefore, during task processing, the conflicting paths between the first and second paths can be queried from the recorded conflicting road segments based on their identifiers, thereby reducing the time complexity of the conflicting road segment identification process and improving processing efficiency.
[0027] In this embodiment, if the first path and the second path both include a certain road segment, and the first object and the second object are transported in opposite directions within that road segment, then that road segment can be designated as a conflict road segment. As an example, Figure 2This diagram illustrates an application scenario of the task processing method. The conveyor line includes several conveyor units, labeled 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12. If the first path is the shortest path from conveyor unit 1 to conveyor unit 8, then the first path can be represented as the conveyor unit sequence <1, 2, 3, 4, 5, 8>. If the second path is the shortest path from conveyor unit 12 to conveyor unit 1, then the second path can be represented as <12, 10, 5, 4, 3, 2, 1>. Since both the conveyor unit sequences <1, 2, 3, 4, 5, 8> and <12, 10, 5, 4, 3, 2, 1> contain conveyor units 1, 2, 3, 4, and 5, and their conveying directions are opposite, the segment from conveyor unit 1 to conveyor unit 5 can be considered a conflict segment.
[0028] It should be noted that a conveyor line may include several conveying units, for example, it may be formed by connecting several conveying units together. A conveying unit may be a conveying mechanism for transporting items, and may include, but is not limited to, conveyor belts, roller conveyors, etc.
[0029] Step 103: Based on the positional relationship between the first object and the conflicting road segment, determine whether to send the target task to the delivery line.
[0030] In this embodiment, the executing entity can obtain the current location of the first object to determine its positional relationship with the conflict road segment. This positional relationship may include, but is not limited to: not having reached the conflict road segment, being at the end of the conflict road segment, or having already passed the conflict road segment. After determining the positional relationship between the first object and the conflict road segment, the executing entity can determine whether to send the target task to the delivery line based on this relationship.
[0031] It is understandable that if the first object has not reached the conflict section or is located in a position other than the endpoint within the conflict section, issuing a target task at this time may result in both the first and second objects being located in the conflict section simultaneously. Since the first and second objects need to move in opposite directions within the conflict section, this may cause a conflict in the transport direction within the conflict section, leading to a deadlock in the transport line. Therefore, if the first object has not reached the aforementioned conflict section or is located within the aforementioned conflict section, the executing entity may suspend issuing target tasks along the transport line.
[0032] Conversely, if the target task is issued after the first object has passed the conflict section or is at the end of the conflict section, the first and second objects will not be simultaneously located in the conflict section, thus avoiding a conflict in the transport direction within the conflict section. Therefore, if the first object has passed the conflict section or is at the end of the conflict section, the aforementioned executing entity can issue the target task to the transport line.
[0033] It should be noted that if the aforementioned executing entity suspends the delivery of target tasks via the transmission line, step 103 can be re-executed every target duration to ensure that the target task is delivered in a timely manner after the first object has passed the conflict section, thereby improving the parallelism of task processing and reducing the total processing time.
[0034] The task processing method provided in this application, by acquiring the current task being executed on the conveyor line and the target task to be assigned to the conveyor line, can obtain the first path of the first object moving on the conveyor line and the second path of the second object moving on the conveyor line. Then, it queries the conflicting segments between the first and second paths, thereby determining whether to assign the target task to the conveyor line based on the positional relationship between the first object moving along the first path and the conflicting segments. Thus, on the one hand, the timing of assigning the target task can be automatically determined without manual operation, reducing labor costs. On the other hand, whether the target task is assigned is determined based on the positional relationship between the current working equipment and the conflicting segments, and does not need to be assigned after the current task is completed, improving task processing efficiency.
[0035] In some optional embodiments, the execution entity can pre-store conflict segment description information for multiple path pairs. Each path pair may contain two paths in the conveyor line with different starting points and ending points. These two paths can be the movement paths of historical objects in the conveyor line indicated by historical tasks, or they can be conveyor paths from loading point to unloading point or from unloading point to loading point; no limitation is made here. Conflict segment description information can be used to describe the location of conflict segments in the path. In step 102, the execution entity can query the conflict segments between the first path and the second path through the following steps: First, taking the path pair containing the first path and the second path as the target path pair, query the target conflict segment description information of the target path pair from the pre-generated conflict segment description information of multiple path pairs. Then, based on the target conflict segment description information, determine the conflict segments between the first path and the second path.
[0036] Among them, see Figure 3 The description information of conflicting road segments for multiple path pairs can be generated through the following sub-steps S11 to S13:
[0037] Sub-step S11: Determine the loading and unloading points of the conveyor line.
[0038] If a conveyor unit in a conveyor line is adjacent to only one other conveyor unit, then that conveyor unit can be used as either a loading point or a unloading point. It should be noted that a conveyor line can be used to connect two sub-warehouses or storage areas, and it can handle both inbound and outbound functions. Therefore, loading and unloading points can be interchanged. That is, a loading point can also be a loading point, and vice versa.
[0039] In some optional implementations, a conveyor line map can be obtained first. The conveyor line map includes nodes and the connections between them. As an example, the conveyor line map can be defined as a binary tuple G = (V, E), where V represents the set of nodes and E represents the set of connections between nodes. Nodes indicate conveying units in the conveyor line, and connections indicate the adjacency relationships between conveying units. Connections can have a direction to indicate the conveying direction. In the conveyor line map, a target node with a unique connection corresponds to a conveying unit that is adjacent to only one other conveying unit. Therefore, after obtaining the conveyor line map, the target node with a unique connection can be identified, and the conveying unit indicated by the target node can be determined as the loading or unloading point of the conveyor line. The loading and unloading points of the conveyor line can be conveniently and quickly determined using a conveyor line map in binary form.
[0040] Sub-step S12: Using the loading point and unloading point as target points, determine the path between each pair of target points to obtain a path set.
[0041] Specifically, for every two target points i and j, a path search algorithm can be used to search for reachable paths between these two target points, constructing a path set. The aforementioned path search algorithm may include, but is not limited to, breadth-first search and depth-first search algorithms.
[0042] Sub-step S13: Combine two paths with different starting points and different ending points into path pairs, and determine the conflict segments of each path pair.
[0043] It is understandable that if two paths have the same starting point or the same ending point, then there will be no identical segments with opposite transport directions within these two paths, and therefore no conflicting segments. Thus, two paths with different starting points and ending points can be combined into a path pair, and the conflicting segments of each path pair can be determined.
[0044] In some alternative implementations, for each path pair (e.g., path A and path B), either path in the pair (e.g., path A) can be used as the target path, and the reverse path (denoted as path A') can be determined. The reverse path is the path that travels in the opposite direction to the target path and passes through the same transport units. The starting point of the reverse path is the ending point of the target path, and vice versa. Then, the longest common sub-path between the reverse path (path A') and the other path in the pair (e.g., path B) is determined. The longest common sub-path is the longest shared segment between the two paths. In practice, a path can be represented as a sequence of transport units. The reverse path of the target path is the reverse sequence of the transport unit sequence corresponding to the target path (path A). The longest common sub-path is the longest common subsequence between the transport unit sequence corresponding to the other path in the pair (path B) and the aforementioned reverse sequence. Each sequence can be represented as a string, and the longest common subsequence is the longest common substring (LCS). The length of the longest common subpath can be the length of the longest common substring. If the length of the longest common subpath is greater than or equal to the target value (e.g., 2), then the segment corresponding to the longest common subpath can be identified as the conflict segment of that path pair.
[0045] As an example, see Figure 2 A certain path pair includes the shortest path from conveyor unit 1 to conveyor unit 8 (which can be denoted as Path). 1,8 And the shortest path from conveyor unit 12 to conveyor unit 1 (which can be denoted as Path) 12,1 ). Path 1,8 This can be represented as a transport unit sequence <1, 2, 3, 4, 5, 8>. Path 12,1 This can be represented as a transport unit sequence <12, 10, 5, 4, 3, 2, 1>. If Path... 12,1 As the target path, its reverse path can be determined first, represented as <1, 2, 3, 4, 5, 10, 12>. Then, the longest common sub-path <1, 2, 3, 4, 5, 8> and <1, 2, 3, 4, 5, 10, 12> is determined, specifically the sub-path <1, 2, 3, 4, 5>. Finally, the road segment corresponding to this longest common sub-path is taken as the Path. 1,8 and Path 12,1 The conflict section of the road.
[0046] Sub-step S14: For each path pair with conflicting road segments, generate conflicting road segment description information for that path pair based on the location of the conflicting road segments.
[0047] Here, for each path pair with conflicting road segments, the location of the conflicting road segments within each path of the path pair can be identified. The aforementioned execution entity can then generate conflicting road segment description information for that path pair based on this identification. This conflicting road segment description information can be used to describe the location of the conflicting road segments within each path of the path pair.
[0048] In some alternative implementations, for each path pair with conflicting road segments, the aforementioned execution entity can generate conflicting road segment description information for that path pair according to the following steps:
[0049] The first step is to designate the conflicting road segments of the path pair as conflicting road segments to be marked. Based on the position of the conflicting road segments to be marked in each path of the path pair, the starting point identifier and ending point identifier of the conflicting road segments for each path in the path pair are generated.
[0050] As an example, each path can be represented as a sequence of transport units. A conflict segment start identifier can be used to indicate the order of the transport unit corresponding to the start of the conflict segment within the transport unit sequence corresponding to the path. A conflict segment end identifier can be used to indicate the order of the transport unit corresponding to the end of the conflict segment within the transport unit sequence corresponding to the path. Continuing the example above, the order of the transport unit sequence can be calculated starting from 0. Path 1,8 and Path 12,1 The conflicting road segments can be represented as <1, 2, 3, 4, 5>. The endpoints of <1, 2, 3, 4, 5> are "1" and "5" respectively. For Path 1,8 In this context, "1" represents the starting point of the conflict segment, and "5" represents the ending point. Since "1" is 0 in the sequence <1, 2, 3, 4, 5, 8>, and "5" is 4 in the sequence <1, 2, 3, 4, 5, 8>, the Path... 1,8 The starting point identifier for a conflict segment can be 0, or it can be 4. Similarly, for Path... 12,1 In this context, "1" represents the end point of the conflict segment, and "5" represents the beginning point. "1" corresponds to the sequence number 6 in the transport unit sequence <12, 10, 5, 4, 3, 2, 1>. "5" corresponds to the sequence number 2 in the transport unit sequence <12, 10, 5, 4, 3, 2, 1>. Therefore, Path... 12,1 The starting point of a conflict section can be marked as 2, or it can be marked as 6.
[0051] The second step is to generate conflict segment description information for the path pair based on the conflict segment start-point and conflict segment end-point identifiers.
[0052] In practice, conflict segment description information can be generated for each path in a path pair. Continuing the example above, for each path... 1,8The description information of conflicting road segments can be denoted as Conflict(Path) 12,1 Path 1,8 = {<1, 2, 3, 4, 5, 8>, [0, 4]}. This is for the path. 12,1 The description information of conflicting road segments can be denoted as Conflict(Path) 1,8 Path 12,1 = {<12, 10, 5, 4, 3, 2, 1>, [2, 6]}. Based on the conflict segment description information, the positional relationship between the first transport object and the conflict segment in the current task execution process can be conveniently and quickly determined.
[0053] It should be noted that sub-steps S11 to S14 described above can be used as a preprocessing procedure and only need to be executed once. During the task conflict detection process, the target conflict segment description information of the target path pair can be directly queried from the generated conflict segment description information, thereby improving the efficiency of task conflict detection and thus improving the overall task processing efficiency.
[0054] Furthermore, since each path in the path set can be represented as a sequence of transport units, and the endpoint identifier of the conflict segment is used to indicate the order of the transport unit corresponding to the endpoint of the conflict segment in the transport unit sequence, in some optional implementations, the positional relationship between the first object and the conflict segment can be determined based on order comparison, thereby determining whether to send the target task to the transport line. Specifically, this includes:
[0055] The first step is to take the conflicting road segment between the first path and the second path as the target conflicting road segment, and the transport unit sequence corresponding to the first path as the target transport unit sequence. Based on the description information of the target conflicting road segment, the target order of the transport unit corresponding to the end point of the target conflicting road segment in the target transport unit sequence is determined.
[0056] Continuing with the example above, if the first path is the Path described above... 1,8 The second path is the Path mentioned above. 12,1 Then the target conflict road segment is <1, 2, 3, 4, 5>, and the target transport unit sequence is <1, 2, 3, 4, 5, 8>. The target conflict road segment description information may include Conflict(Path) 12,1 Path 1,8 = {<1, 2, 3, 4, 5, 8>, [0, 4]}. Based on the description information of the target conflict road segment, it can be determined that the target order of the transport unit corresponding to the end point of the target conflict road segment in the target transport unit sequence is 4.
[0057] The second step is to pause sending the target task to the conveyor line if the order of the conveyor unit where the first object is currently located in the target conveyor unit sequence is less than the target order; if the order of the conveyor unit where the first object is currently located in the target conveyor unit sequence is greater than or equal to the target order, then send the target task to the conveyor line.
[0058] Continuing with the example above, starting from 0, if the first object is currently in transport unit "2", then its order in the target transport unit sequence <1, 2, 3, 4, 5> is 1, which is less than the target order 4. This means that the first object has not yet reached the conflict section, so the target task is suspended from being sent to the transport line. If the first object is currently in transport unit "5", then its order in the target transport unit sequence <1, 2, 3, 4, 5> is 4, which is equal to the target order 4. This means that the first object is at the end of the conflict section, so the target task can be sent to the transport line.
[0059] By using the sequence of transport units corresponding to the first path as the target sequence of transport units, the target order of the transport unit corresponding to the end point of the conflict segment within the target sequence is determined. Then, based on a comparison between the order of the transport unit currently occupied by the first object in the target sequence and the target order, it is determined whether to issue a target task. This makes the time complexity of the task conflict detection process equal to the time complexity of finding the end point identifier of the conflict segment. This process requires no other operations, thus improving the efficiency of task conflict detection and the overall task processing efficiency.
[0060] Further reference Figure 4 As an implementation of the methods shown in the above figures, this application provides an embodiment of a task processing device, which is similar to... Figure 1 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0061] like Figure 4 As shown, the task processing device 400 of this embodiment includes: a first determining unit 401, used to obtain the current task being executed by the conveyor line and the target task to be sent to the conveyor line, wherein the current task instructs a first object in the conveyor line to move along a first path, and the target task instructs a second object in the conveyor line to move along a second path; a querying unit 402, used to query the conflicting segments between the first path and the second path; and a second determining unit 403, used to determine whether to send the target task to the conveyor line based on the positional relationship between the first object and the conflicting segments.
[0062] In some optional implementations of this embodiment, the second determining unit 403 is further configured to suspend sending the target task to the transmission line if the first object has not reached the conflict section or is located at a location other than the endpoint of the conflict section; and to send the target task to the transmission line if the first object has passed the conflict section or is located at the endpoint of the conflict section.
[0063] In some optional implementations of this embodiment, the query unit 402 is further configured to take the path pair containing the first path and the second path as the target path pair, query the target conflict segment description information of the target path pair from the conflict segment description information of the pre-generated multiple path pairs; and determine the conflict segment between the first path and the second path based on the target conflict segment description information.
[0064] In some optional implementations of this embodiment, the conflict segment description information of the above-mentioned multiple path pairs is generated through the following steps: determining the loading point and unloading point of the above-mentioned conveyor line; taking the loading point and the unloading point as target points, determining the path between each pair of target points to obtain a path set; combining two paths with different starting points and different ending points in the above-mentioned path set into path pairs, and determining the conflict segments of each path pair; for each path pair with conflict segments, generating conflict segment description information of the path pair based on the location of the conflict segments of the path pair.
[0065] In some optional implementations of this embodiment, determining the loading and unloading points of the conveyor line includes: obtaining a conveyor line map, which includes nodes and lines connecting the nodes, where the nodes indicate conveying units in the conveyor line and the lines indicate the adjacency relationship between the conveying units; determining a target node with a unique line in the conveyor line map, and determining the conveying unit indicated by the target node as the loading or unloading point of the conveyor line.
[0066] In some optional implementations of this embodiment, the determination of conflicting road segments for each path pair includes: for each path pair, taking any path in the path pair as the target path, determining the longest common sub-path between the reverse path of the target path and another path in the path pair, and if the length of the longest common sub-path is greater than or equal to the target value, then determining the road segment corresponding to the longest common sub-path as the conflicting road segment of the path pair.
[0067] In some optional implementations of this embodiment, the above-mentioned generation of conflict segment description information for each path pair with conflicting road segments based on the location of the conflicting road segments in the path pair includes: for each path pair with conflicting road segments, performing the following steps: taking the conflicting road segments of the path pair as conflicting road segments to be marked, generating conflicting road segment start-point identifiers and conflicting road segment end-point identifiers for each path in the path pair based on the location of the conflicting road segments to be marked in each path in the path pair; and generating conflicting road segment description information for the path pair based on the conflicting road segment start-point identifiers and conflicting road segment end-point identifiers.
[0068] In some optional implementations of this embodiment, each path in the path set is represented as a sequence of transport units, and the endpoint identifier of the conflict segment is used to indicate the order of the transport unit corresponding to the endpoint of the conflict segment in the sequence of transport units; the second determining unit 403 is further used to take the conflict segment between the first path and the second path as the target conflict segment, take the sequence of transport units corresponding to the first path as the target sequence of transport units, and determine the target order of the transport unit corresponding to the endpoint of the target conflict segment in the target sequence of transport units based on the description information of the target conflict segment; if the order of the transport unit where the first object is currently located in the target sequence of transport units is less than the target order, then the transmission of the target task to the transport line is suspended; if the order of the transport unit where the first object is currently located in the target sequence of transport units is greater than or equal to the target order, then the target task is transmitted to the transport line.
[0069] The apparatus provided in the above embodiments of this application, by acquiring the current task being executed by the conveyor line and the target task to be assigned to the conveyor line, can obtain the first path of the first object moving and the second path of the second object moving in the conveyor line. Then, it queries the conflicting segments between the first and second paths, thereby determining whether to assign the target task to the conveyor line based on the positional relationship between the first object moving along the first path and the conflicting segments. Thus, on the one hand, the timing of assigning the target task can be automatically determined without manual operation, reducing labor costs. On the other hand, whether the target task is assigned is determined based on the positional relationship between the currently operating equipment and the conflicting segments, and does not need to be assigned after the current task is completed, improving task processing efficiency.
[0070] This application also provides an electronic device, including one or more processors and a storage device storing one or more programs thereon. When the one or more programs are executed by the one or more processors, the one or more processors implement the above-described task processing method.
[0071] The following is for reference. Figure 5It shows a schematic diagram of the structure of an electronic device used to implement some embodiments of this application. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this application.
[0072] like Figure 5 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0073] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, disks, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively. Figure 5 Each box shown can represent a device or multiple devices as needed.
[0074] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described task processing method.
[0075] In particular, according to some embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 509, or installed from storage device 508, or installed from ROM 502. When the computer program is executed by processing device 501, it performs the functions defined in the methods of some embodiments of this application.
[0076] This application also provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the above-described task processing method.
[0077] It should be noted that the computer-readable medium described in some embodiments of this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In some embodiments of this application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In some embodiments of this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0078] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol, such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0079] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device. The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: acquire the current task being executed by the conveyor line and the target task to be sent to the conveyor line, wherein the current task instructs a first object in the conveyor line to move along a first path, and the target task instructs a second object in the conveyor line to move along a second path; query for conflicting segments between the first and second paths; and, based on the positional relationship between the first object and the conflicting segments, determine whether to send the target task to the conveyor line.
[0080] Computer program code for performing operations of some embodiments of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++; and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, or it can be connected to an external computer (e.g., via the Internet using an Internet service provider), including local area networks (LANs) or wide area networks (WANs).
[0081] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0082] The units described in some embodiments of this application can be implemented in software or hardware. The described units can also be housed in a processor; for example, a processor may be described as including a first determining unit, a second determining unit, a selecting unit, and a third determining unit. The names of these units do not necessarily limit the specific unit itself.
[0083] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0084] The above description is merely a selection of preferred embodiments of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of this application.
Claims
1. A task processing method, characterized in that, The method includes: The system obtains the current task being executed by the conveyor line and the target task to be sent to the conveyor line. The current task instructs a first object in the conveyor line to move along a first path, and the target task instructs a second object in the conveyor line to move along a second path. Query the conflicting road segments between the first path and the second path; Based on the positional relationship between the first object and the conflicting road segment, determine whether to send the target task to the delivery line; The step of querying the conflict segments between the first path and the second path includes: The path pair containing the first path and the second path is taken as the target path pair. The target conflict segment description information of the target path pair is queried from the conflict segment description information of multiple pre-generated path pairs. Based on the target conflict section description information, the conflict section between the first path and the second path is determined. The conflict section is a common sub-section of the first path and the second path, and the transport directions of the first object and the second object on the conflict section are opposite. The conflict segment description information of the multiple path pairs is generated through the following steps: Determine the loading and unloading points of the conveyor line; By taking the loading point and the unloading point as target points, the path between every two target points is determined to obtain a path set; The two paths with different starting points and different ending points in the path set are combined into path pairs, and the conflict segments of each path pair are determined. For each path pair with conflicting road segments, generate conflicting road segment description information for that path pair based on the location of the conflicting road segments. The step of determining whether to send the target task to the delivery line based on the positional relationship between the first object and the conflicting road segment includes: If the first object does not reach the conflict section or is located in a location other than the destination within the conflict section, the transmission of the target task to the delivery line is suspended.
2. The method according to claim 1, characterized in that, The step of determining whether to send the target task to the delivery line based on the positional relationship between the first object and the conflicting road segment includes: If the first object has already passed the conflict section or is at the end of the conflict section, then the target task is sent to the delivery line.
3. The method according to claim 1, characterized in that, Determining the loading and unloading points of the conveyor line includes: Obtain a conveyor line map, which includes nodes and lines connecting the nodes. The nodes are used to indicate conveying units in the conveyor line, and the lines are used to indicate the adjacency relationship between conveying units. Identify a target node with a unique connection in the conveyor line map, and determine the conveyor unit indicated by the target node as the loading point or unloading point of the conveyor line.
4. The method according to claim 1, characterized in that, The determination of conflicting road segments for each path pair includes: For each path pair, any path in the path pair is taken as the target path. The longest common sub-path between the reverse path of the target path and the other path in the path pair is determined. If the length of the longest common sub-path is greater than or equal to the target value, the road segment corresponding to the longest common sub-path is determined as the conflicting road segment of the path pair.
5. The method according to claim 1, characterized in that, For each path pair with conflicting road segments, based on the location of the conflicting road segments, conflicting road segment description information for that path pair is generated, including: For each path pair with conflicting road segments, perform the following steps: The conflicting segments of the path pair are taken as conflicting segments to be marked. Based on the position of the conflicting segments to be marked in each path of the path pair, the starting point identifier and ending point identifier of the conflicting segments of each path in the path pair are generated. Based on the starting point identifier and ending point identifier of the conflicting road segment, generate the conflicting road segment description information for the path pair.
6. The method according to claim 5, characterized in that, Each path in the path set is represented as a sequence of transport units, and the conflict segment endpoint identifier is used to indicate the order of the transport unit corresponding to the endpoint of the conflict segment in the sequence of transport units. The step of determining whether to send the target task to the delivery line based on the positional relationship between the first object and the conflicting road segment includes: The conflicting road segment between the first path and the second path is taken as the target conflicting road segment, and the sequence of transport units corresponding to the first path is taken as the target transport unit sequence. Based on the description information of the target conflicting road segment, the target order of the transport unit corresponding to the end point of the target conflicting road segment in the target transport unit sequence is determined. If the current delivery unit of the first object is located in a position less than the target order in the target delivery unit sequence, then the delivery of the target task to the delivery line is paused. If the current delivery unit of the first object is in a position in the target delivery unit sequence that is greater than or equal to the target order, then the target task is sent to the delivery line.
7. An electronic device, characterized in that, include: One or more processors; Storage device, on which one or more programs are stored, When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.
8. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-6.