AMR scheduling method and system based on single-channel model and branch-bound method

By using a single-channel model and an improved branch-bound method, the problems of complex modeling and inefficient conflict resolution in single-channel AMR scheduling are solved, realizing an efficient and safe AMR scheduling scheme, improving task allocation efficiency and conflict resolution success rate.

CN121809898APending Publication Date: 2026-04-07YEE FUNG TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-01
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing AMR scheduling technology suffers from problems such as high modeling complexity, rigid task allocation, inefficient conflict resolution, and ambiguous timing constraints in single-channel scenarios, leading to increased scheduling delays and higher collision risks.

Method used

By adopting a single-channel model and an improved branch-bound method, and through one-dimensional modeling, dynamic task allocation, dual-branch conflict resolution, and precise timing constraint mechanisms, we can achieve efficient collaboration and low-latency operation of multiple AMRs.

Benefits of technology

It reduces the computational complexity of conflict detection, improves task allocation efficiency and conflict resolution success rate, reduces collision risk, and ensures the safety and efficiency of AMR operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121809898A_ABST
    Figure CN121809898A_ABST
Patent Text Reader

Abstract

The invention provides an AMR scheduling method and system based on a single-channel model and a branch-bound method.The method comprises the steps that firstly, the single-channel model is built, a single-channel coordinate system is built, a two-dimensional space of AMR occupies and is projected to be a one-dimensional interval on the X axis of the coordinate system, and on the basis of the single-channel model, the AMR is scheduled; multi-AMR task allocation and task execution time sequence planning are carried out by adopting a branch-bound method, waiting branches and cart branches are generated for conflicts and non-homodromous conflicts detected in time sequence planning, a scheduling strategy is generated, an optimal time sequence solution is solved based on the branch-bound method, time sequence hard constraints between adjacent AMRs are established, and task execution time sequence planning is carried out based on the optimal time sequence solution. According to a scheduling strategy, a segment table is distributed and a control signal is triggered, a sub-task state and an adjacent AMR operation state are monitored in an execution process, a mobile sub-task is started when a time sequence hard constraint is satisfied, and efficient cooperation, low-delay and zero-collision operation of multiple AMRs is realized through the mode.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and in particular to an AMR scheduling method and system based on a single-channel model and a branch bound method. BACKGROUND

[0002] With the rapid development of intelligent manufacturing and smart warehousing industry, as the core equipment of material handling, the scheduling efficiency of AMR (Autonomous Mobile Robot) directly affects the operation efficiency of the whole production or warehousing system. In the existing multi-AMR scheduling technology, a two-dimensional space modeling method is mostly used for conflict detection and path planning. This method has the problems of high modeling complexity and conflict detection lag in single-channel (such as warehouse main road, production line bypass channel) scenarios.

[0003] In terms of task allocation and timing planning, although the traditional branch bound method can achieve optimization solution, it is not adapted to single-channel scenarios, and has the defects of insufficient dynamic task allocation and single conflict resolution strategy. For example, when multiple AMRs have non-same direction conflicts in a single channel, only using the waiting strategy will cause scheduling delay to increase; and lack of precise space occupation modeling will cause collision risk to increase. Therefore, there is an urgent need for an AMR scheduling scheme that is adapted to single-channel scenarios and takes into account efficiency and safety. SUMMARY

[0004] The embodiment of the present application provides an AMR scheduling method based on a single-channel model and a branch bound method, which aims to solve the problems of complex modeling, rigid task allocation, inefficient conflict resolution and fuzzy timing constraints in the existing single-channel AMR scheduling. By constructing a single-channel one-dimensional modeling, improving the branch bound method task scheduling, double-branch conflict resolution and precise timing constraint mechanism, efficient cooperation, low delay and zero collision operation of multiple AMRs are realized.

[0005] In order to achieve the above purpose, the present application provides an AMR scheduling method based on a single-channel model and a branch bound method, comprising the following steps:

[0006] S1: establishing a single-channel model, constructing a single-channel coordinate system and projecting the two-dimensional space occupation of the AMR into a one-dimensional interval on the X-axis of the coordinate system, defining the constraint conditions and running channel parameters of the AMR, the running channel parameters including running direction, attitude angle, discrete point sequence and discrete edge sequence;

[0007] S2: task decision, based on the single-channel model, using the branch bound method for multi-AMR task allocation and task execution timing planning, the task allocation aiming to minimize the total time penalty or space conflict amount, and detecting and resolving the running conflicts between AMRs in the timing planning process;

[0008] S3: Conflict resolution, for the conflict detected in the timing planning, a waiting branch and a pushing branch are generated for the non-same direction conflict, a waiting branch is generated for the same direction conflict, and the pushing branch is an additional pushing subtask inserted for one of the AMRs to avoid the other;

[0009] S4: Generating a scheduling strategy, based on the optimal timing solution obtained by the branch and bound method, establishing timing hard constraints between adjacent AMRs, which limit the task completion conditions of adjacent AMRs before the start of the moving subtask;

[0010] S5: Strategy execution, according to the scheduling strategy, the segment table is allocated and the control signal is triggered, and the subtask state and the adjacent AMR running state are monitored during the execution, and the moving subtask is started when the timing hard constraint is met.

[0011] Further, the establishment of the single-channel model in step S1 includes: establishing a coordinate system with the Y-direction minimum point as the origin and the X-axis as the main road direction; projecting the AMR local path bounding box as the occupancy interval [x1, x2] on the X-axis, and the necessary and sufficient condition for the collision-free of two AMRs is x3>x2 or x4<x1, where [x3, x4] is the occupancy interval of the other AMR; the occupancy interval of the AMR when spinning is [x-r, x+r], x is the spin center horizontal coordinate, and r is the spin radius.

[0012] Further, the specific process of the task allocation in step S2 includes:

[0013] S21: Calculate the dynamic task allocation number l = min(2m-n, m+2), where m is the number of executable task AMRs, and n is the number of locked task AMRs;

[0014] S22: Initialize the idle time and pose of each AMR, construct an incomplete initial solution and put it into the to-be-improved solution list;

[0015] S23: Loop to take out the solution with the smallest penalty value from the to-be-improved solution list, assign the highest priority task to be allocated to the qualified AMR, generate a new solution and calculate the penalty value, until a complete and feasible solution is obtained.

[0016] Further, the timing planning in step S2 uses ST graph to represent the task process, the horizontal axis is time, and the vertical axis is the horizontal coordinate of the AMR in the single-channel coordinate system; the boundary function of the branch and bound method is B k =Σf j (t ij ^end, t j ^start), where t ij ^end is the jth task completion time of AMRi, t j ^start is the jth task generation time, and f j is the penalty function.

[0017] Further, the generating of the cart branch in step S3 comprises: calculating a discrete point of the cart for the opposite conflict AMR according to the main vehicle sub-task end point, inserting a cart sub-task for the opposite conflict AMR, and setting the running parameters of the main vehicle to the conflict-free discrete point and the cart information.

[0018] Further, the time sequence hard constraint in step S4 comprises: the stationary sub-task can directly execute the subsequent sub-task; and the moving sub-task can be executed only after the adjacent AMR completes all the sub-tasks before the start time of the task.

[0019] Further, the strategy execution in step S5 further comprises: when waiting for the sub-task execution, if it is detected that the adjacent AMR completes all the sub-tasks before the end time of the waiting task of the vehicle, the waiting sub-task is ended.

[0020] Further, the AMR running constraint condition in step S1 comprises: the relative positions of multiple AMRs are fixed when the system is inserted; the spinning in the specific area of the channel is prohibited by the PLC bit setting; the AMR movement comprises the lateral translation, the in-place spinning and the longitudinal translation; the parking spaces on both sides of the main road are reversed, and four moving modes are supported.

[0021] The embodiment of the application also provides an AMR scheduling system based on a single-channel model and a branch bound method, comprising:

[0022] The establishing module is used for establishing the single-channel model, constructing a single-channel coordinate system, projecting the two-dimensional space occupation of the AMR into a one-dimensional interval on the X-axis of the coordinate system, and defining the constraint condition of the AMR running and the running channel parameters, wherein the running channel parameters comprise the running direction, the attitude angle, the discrete point sequence and the discrete edge sequence.

[0023] The decision module is used for task decision, and based on the single-channel model, the branch bound method is used for multi-AMR task allocation and task timing planning, wherein the task allocation takes the minimization of the total time penalty or the space conflict amount as the target, and the running conflicts between the AMRs are detected and eliminated in the timing planning process.

[0024] The processing module is used for conflict elimination, and for the detected conflicts in the timing planning, the waiting branch and the cart branch are generated when the conflicts are not in the same direction, the waiting branch is generated when the conflicts are in the same direction, and the cart branch is an additional cart sub-task inserted for one of the AMRs to avoid the other.

[0025] The generating module is used for generating a scheduling strategy, and based on the optimal timing solution obtained by the branch bound method, the time sequence hard constraint between the adjacent AMRs is established, wherein the time sequence hard constraint limits the task completion conditions of the adjacent AMRs before the start of the moving sub-task.

[0026] An execution module is used for policy execution, segment table is distributed according to a scheduling policy, and a control signal is triggered, subtask state and adjacent AMR running state are monitored during execution, and a mobile subtask is started when a timing hard constraint is met.

[0027] The beneficial effects of the present application are as follows:

[0028] 1. The single-channel model simplifies two-dimensional modeling to one-dimensional interval analysis, reduces the computational complexity of conflict detection, and improves the accuracy of collision judgment by more than 30%;

[0029] 2. The improved branch bound method improves the efficiency of task allocation by 25% through dynamic task allocation quantity and boundary function control, and reduces the overall scheduling delay by 20%;

[0030] 3. The push cart + waiting double branch strategy of non-co-directional conflict improves the success rate of conflict resolution by 40% compared with the single waiting strategy, and is especially suitable for high-load single-channel scenarios;

[0031] 4. The combination of timing hard constraints and real-time state monitoring ensures the safety of AMR operation, and reduces the collision risk by more than 90%. BRIEF DESCRIPTION OF DRAWINGS

[0032] The technical solutions of the present application and its beneficial effects will become apparent through the following detailed description of the specific embodiments of the present application combined with the accompanying drawings.

[0033] Figure 1 is a flowchart of the AMR scheduling method of the present application based on the single-channel model and the branch bound method;

[0034] Figure 2 is a structural diagram of the AMR scheduling system of the present application based on the single-channel model and the branch bound method. DETAILED DESCRIPTION

[0035] Please refer to the drawings, wherein the same component symbols represent the same components, and the principles of the present application are exemplified by being implemented in a suitable operating environment. The following description is based on the exemplified specific embodiments of the present application, which should not be regarded as limiting other specific embodiments of the present application not described in detail herein.

[0036] Referring to Figure 1 , the present application embodiment provides an AMR scheduling method based on a single-channel model and a branch bound method, comprising the following steps:

[0037] Step S1: Establish a single-channel model, construct a single-channel coordinate system, and project the two-dimensional space occupation of the AMR into a one-dimensional interval on the X-axis of the coordinate system, define the constraint conditions and running channel parameters of the AMR operation, and the running channel parameters include running direction, attitude angle, discrete point sequence and discrete edge sequence.

[0038] Specifically, the establishment of the single-channel model includes: establishing a coordinate system with the minimum point in the Y direction as the origin, and the X-axis in the direction of the main road; projecting the local path bounding box of the AMR into the occupied interval [x1, x2] on the X-axis. The necessary and sufficient condition for no collision between two AMRs is x3 > x2 or x4 < x1, where [x3, x4] is the occupied interval of another AMR; the occupied interval during the spin of the AMR is [x - r, x + r], where x is the abscissa of the spin center and r is the spin radius.

[0039] Furthermore, the establishment of the single-channel model can be achieved through the following steps:

[0040] Coordinate system construction: Call an industrial-grade laser rangefinder to scan the channel boundary, obtain the minimum point in the Y direction (the leftmost endpoint of one side edge of the channel) as the origin (0, 0), the X-axis is parallel to the extension direction of the main road (gyroscope calibration deviation ≤ ±1°), and the Y-axis is perpendicular to the other side of the channel. For example, in a warehousing scenario where the main road is L = 100m and W = 3m, the X-axis of the coordinate system is 0 - 100m and the Y-axis is 0 - 3m, covering the entire channel.

[0041] Spatial occupancy projection: Receive the contour data scanned by the on-vehicle lidar of the AMR (AMR size 1.2m × 0.8m), generate a local path bounding box, project the four vertices of the bounding box onto the X-axis through a coordinate system conversion algorithm, and obtain the one-dimensional occupied interval [x1, x2] by taking the extreme values. The collision judgment logic is implemented by the built-in algorithm of the unit: compare the intervals of two AMRs, and if x3 > x2 or x4 < x1, there is no collision. The computational amount is 1 / 5 of the two-dimensional judgment, and the detection delay ≤ 0.1s.

[0042] Spin scenario processing: According to the spin center x uploaded by the AMR gyroscope, calculate the radius r = 0.72m (including a safety redundancy of 0.02m) in combination with the diagonal length of the AMR, generate the occupied interval [x - r, x + r], and联动 the PLC module to set the PLC bits (0x0001, 0x0002) in the 5m areas at both ends of the channel to 1, locking the spin function in this area.

[0043] Parameter and constraint definition: Read the RFID tag data of the main road, generate a discrete point sequence [10m, 20m,..., 100m] and a discrete edge sequence; define the running direction (positive / negative direction of the X-axis), the attitude angle (90° / -90° corresponding to vertical docking); solidify the initial position of the AMR through the system initialization "partition docking" (5 AMRs are respectively docked at X = 10 - 50m, with a spacing of 10m), and realize four moving modes in combination with the reverse design of the parking space.

[0044] In addition, the AMR operation constraints include: the relative positions of multiple AMRs are fixed when they are inserted into the system; spin is prohibited in specific areas of the channel by setting PLC positions; AMR movement includes lateral translation, in-situ spin, and longitudinal translation; parking spaces on both sides of the main road are reversed, supporting four movement modes.

[0045] Step S2: Task decision-making. Based on the single-channel model, the branch and bound method is used to allocate multiple AMR tasks and plan the execution time sequence. The task allocation aims to minimize the overall time penalty or spatial conflict. During the time sequence planning process, the running conflicts between AMRs are detected and resolved.

[0046] The specific process of task allocation in step S2 includes the following sub-steps:

[0047] S21: Calculate the number of dynamic task allocations l=min(2m-n, m+2), where m is the number of executable task AMRs and n is the number of locked task AMRs.

[0048] The scheduling system's AMR status monitoring module collects m (number of AMRs with executable tasks) and n (number of AMRs with locked tasks) in real time. A calculation formula, l=min(2*mn, m+2), is written in C language and embedded in the task allocation subunit of the decision module. For example, when m=5 (all 5 AMRs are fault-free and idle) and n=2 (2 AMRs are performing loading / unloading tasks and cannot be interrupted), the calculated l=min(10-2,5+2)=min(8,7)=7, meaning 7 tasks are allocated this time. This ensures AMR load balancing (7 tasks for 5 AMRs, averaging 1.4 tasks / AMR) while reserving 2 tasks for redundancy to handle unforeseen circumstances.

[0049] S22: Initialize the idle time and pose of each AMR, construct an incomplete initial solution and add it to the list of solutions to be improved.

[0050] The system reads the historical operation records of each AMR from the system database to obtain idle time (initially all are 0s, updated to the task completion time after task execution); it collects the current pose (X coordinate error ≤ ±5cm, attitude angle error ≤ ±1°) through the AMR's GPS positioning module and gyroscope, such as AMR1: X=10m, attitude angle 0°, AMR2: X=20m, attitude angle 0°, etc.; when constructing an incomplete initial solution, it prioritizes the first two highest priority tasks (task priority is set by the system according to "urgency + distance", with urgent orders having a priority of 10 and ordinary orders having a priority of 5), and assigns them to the two AMRs with the earliest idle time. This allocation scheme is stored as the initial solution in the solution to be improved list (using a linked list structure for storage, supporting fast insertion and deletion).

[0051] S23: Loop through the solution with the smallest penalty value in the list of solutions to be improved, assign the highest priority task to the qualified AMR, generate a new solution and calculate the penalty value, until a complete feasible solution is obtained.

[0052] An iterative "greedy + pruning" strategy is adopted. First, the solutions in the list of available solutions are sorted in ascending order of total penalty value using the bubble sort algorithm, and the first solution (with the smallest penalty value) is retrieved iteratively. Then, the highest priority task is selected from the tasks to be assigned, and all executable Action Reference Modules (AMRs) are traversed to select the qualified AMRs that have the earliest idle time and the closest pose to the task start point (distance is calculated using the Euclidean distance formula: d = |X_AMR - X_task|). After assigning the task to the AMR, a new solution is generated and the total penalty value is calculated (by summing the penalty values ​​of each task). If the penalty value of the new solution is less than that of the current best solution, the best solution is updated. The above process is repeated until all 7 tasks are assigned, resulting in a complete feasible solution. The entire iterative process is optimized using Python's NumPy library, with ≤20 iterations and task assignment time ≤0.5s.

[0053] In step S2, the timing planning uses an ST diagram to represent the task process, with the horizontal axis representing time and the vertical axis representing the horizontal coordinate of AMR in a single-channel coordinate system; the boundary function of the branch and bound method is B. k =Σf j (t ij ^end, t j ^start), where t ij ^end represents the completion time of the j-th task in AMRi, t j ^start represents the time when the j-th task is generated, f j This is the penalty function.

[0054] Furthermore, the timing planning sub-steps are implemented as follows:

[0055] ST plot construction implementation: The ST plot is drawn using MATLAB's plot function. The horizontal axis time t range is set according to the total task duration (e.g., 0-100s, 1s interval), and the vertical axis X coordinate range is consistent with the single-channel coordinate system (0-100m, 1m interval). The task process of each AMR is represented by a continuous line segment of different colors. The starting point of the line segment is (t_start, X_start), and the ending point is (t_end, X_end). The slope of the line segment k = (X_end - X_start) / (t_end - t_start), corresponding to the AMR running speed (a positive slope indicates forward running, and a negative slope indicates reverse running). For example, AMR1 executes the task "X=10m→30m", which takes 10s (t=5-15s). The starting point of the line segment is (5,10), the ending point is (15,30), the slope is 2, and the corresponding speed is 2m / s, which intuitively reflects the task execution process.

[0056] Branch and bound optimization implementation: Define the penalty function f j =α×(t ij ^end - t j ^start), where α is the priority coefficient (α=2 for high-priority tasks, α=1 for normal-priority tasks, and α=0.5 for low-priority tasks), t ij ^end is calculated based on AMR running speed and mission distance (t) ij ^end = t j ^start + distance / speed), t j ^start represents the task generation time (system timestamp). Boundary function B k =Σf j This is the sum of the penalty values ​​of all assigned tasks in the current branch. When the B of a certain branch... k When the penalty exceeds 1.2 times the current optimal solution, pruning is triggered (the branch and its subsequent sub-branches are deleted) to reduce unnecessary computation. For example, if the total penalty value of the current optimal solution is 50, and a certain branch B... k =65 (50×1.2=60), so pruning this branch improves computational efficiency by 40%.

[0057] Conflict detection implementation: Conflicts are determined by the intersection of line segments in the ST graph. A line segment intersection algorithm is written: For line segment L1((t1s,X1s)-(t1e,X1e)) of AMR1 and line segment L2((t2s,X2s)-(t2e,X2e)) of AMR2, if there exist t∈[max(t1s,t2s), min(t1e,t2e)] such that X1(t)=X2(t) (X1(t) and X2(t) are linear interpolation functions of the line segments), then a conflict is determined to exist. For example, L1 of AMR1 is (5,10)-(15,30), and L2 of AMR3 is (10,40)-(20,20). When t=12s, X1(12)=24m and X2(12)=24m. It is determined that there is a collision at (12s,24m), and the collision detection accuracy is 100%.

[0058] Step S3: Conflict resolution. For conflicts detected in the timing planning, a waiting branch and a cart branch are generated when the conflict is not in the same direction. A waiting branch is generated when the conflict is in the same direction. The cart branch is where one of the conflicting AMRs inserts an additional cart subtask to avoid the other party.

[0059] The generation of the trolley branch in step S3 includes: calculating the trolley discrete point of the opposing conflict AMR based on the end point of the master vehicle sub-task, inserting the trolley sub-task for the opposing conflict AMR, and setting the running parameters and trolley information of the master vehicle to the conflict-free discrete point.

[0060] The specific implementation is as follows:

[0061] Implementation of the waiting branch for same-direction conflict: Same-direction conflict refers to two AMRs running in the same direction (both forward or both in reverse). In this case, the following AMR is the waiting party, and the preceding AMR is the party being waited for. First, the conflict interval (e.g., X=20-30m) and the passage time of the preceding AMR (e.g., t=10-15s) are determined using the ST diagram. Then, a waiting subtask is inserted for the following AMR, setting the waiting start time to the time when the following AMR arrives at the beginning of the conflict interval (e.g., t=10s) and the waiting end time to the time when the preceding AMR leaves the conflict interval (e.g., t=15s). During the waiting period, the following AMR reduces its speed to 0.1m / s and slowly follows, maintaining a safe distance (≥5m) from the preceding AMR. After the preceding AMR leaves, the following AMR accelerates to 1.5m / s to pass through the conflict interval. For example, if AMR1 (going first, passing through X=10-30m in t=5-15s) and AMR2 (going later, passing through X=15-35m in t=8-20s) are in the same direction and conflict, AMR2 inserts a waiting subtask at t=10-15s and accelerates through after 15s to avoid conflict.

[0062] Implementation of bi-branch generation and selection for non-co-directional conflict: Non-co-directional conflict refers to two AMRs running in opposite directions. In this case, a waiting branch and a trolley branch are generated, and the optimal solution is selected by calculating the total penalty value of the two branches.

[0063] Waiting branch implementation: Select the AMR with lower priority as the waiting party and the AMR with higher priority as the passing party. Determine the conflict passage time of the passing party (e.g., t=10-15s) using the ST diagram. Insert a waiting subtask for the waiting party. During the waiting period, the AMR stops at a safe parking space outside the conflict zone (e.g., at X=40m), and starts after the passing party has passed. For example, if AMR1 (high priority, forward, t=5-15s) conflicts with AMR3 (low priority, reverse, t=10-20s), AMR3 inserts a waiting subtask at t=10-15s and starts after 15s, increasing the total penalty value by 5 (waiting 5s × α=1).

[0064] Cart-based branching implementation (core innovation): Step 1: Determine the master car and the opposing conflicting car. The master car is a high-priority AMR (e.g., AMR1), and the opposing conflicting car is a low-priority AMR (e.g., AMR3). Step 2: Calculate the cart's discrete point. Based on the master car's sub-task endpoint X=30m, a safety distance of 5m is set (to avoid collisions when the master car passes). Therefore, the cart's discrete point X=30+5=35m (the opposing conflicting car needs to be pushed downstream of the master car's endpoint). Step 3: Insert the opposing conflicting car into the cart-based sub-task. The task parameters are: starting point X... =40m, endpoint X=35m, speed 0.5m / s, time taken 2s (t=10-12s); Step 4: Set the main vehicle's operating parameters. The main vehicle starts from X=10m, speed 2m / s, and reaches the conflict-free discrete point X=20m at t=10s (at which point the oncoming conflicting vehicle begins to push). At t=12s, the oncoming conflicting vehicle reaches 35m, and the main vehicle continues to run to 30m (t=15s), completing the task; Step 5: Record the pushing information (pushing time 2s, avoidance distance 5m, pushing direction reversed) and store it in the system log. The total penalty value of this branch only increases by 1 (pushing 2s × α=0.5), which is better than the waiting branch.

[0065] Branch selection implementation: The penalty value calculation sub-unit of the decision module calculates the total penalty value of the waiting branch and the pushing branch respectively, and selects the branch with the smaller total penalty value as the final conflict resolution strategy. If the two vehicles have the same priority, the pushing branch is selected first (to reduce the overall scheduling delay).

[0066] Step S4: Generate scheduling strategy. Based on the optimal timing solution obtained by the branch and bound method, establish timing hard constraints between adjacent AMRs. The timing hard constraints limit the task completion conditions of adjacent AMRs before the start of the mobile subtask.

[0067] The timing hard constraints mentioned in step S4 include: stationary subtasks can directly execute subsequent subtasks; moving subtasks must wait for the adjacent AMR to complete all subtasks before the start time of this task before they can be executed.

[0068] The specific implementation is as follows:

[0069] Optimal Time-Sequence Solution Organization: The optimal solutions obtained by the branch and bound method (task allocation results, execution times, and running parameters for each AMR) are organized into structured data and stored in JSON format, as shown in the example below: {"AMR1":[{"Task ID":"T1","Type":"Move","Start Time X":10,"End Time X":30,"startTime":10,"endTime":15,"speed":2},{"Task ID":"T2","Type":"Stationary","Action":"Loading and Unloading","startTime":15,"endTime":2} The data contains task type, spatiotemporal parameters, and runtime parameters, facilitating subsequent conversion.

[0070] Implementation of temporal hard constraints: Constraint relationships are established using a "task dependency graph," where nodes represent subtasks and directed edges represent dependencies (A→B means B can only start after A is completed). According to the constraint rules in claim 6, the specific establishment logic is as follows:

[0071] Static subtasks (such as loading and unloading): have no dependent edges and can directly execute subsequent subtasks. For example, after AMR1 completes T2 (loading and unloading, 15-25s), it can directly start T3 (moving task, 25s later) without waiting for other AMRs. This is achieved by marking "static task has no pre-constraints" in the scheduling policy.

[0072] For moving subtasks (e.g., running along the X-axis): a dependency edge pointing to an adjacent AMR needs to be added, with the dependency condition being "all subtasks before the adjacent AMR completes its current task's start time". For example, if AMR1's T1 (movement, 10-15s) is a moving subtask, and the adjacent AMR3 has a T3 (cart, 10-12s) 10s ago, then the dependency edge "AMR3_T3→AMR1_T1" is established. That is, AMR1 can only start T1 after AMR3 completes T3. This is achieved by adding the precondition "AMR3_T3.endTime ≤ 10s" to AMR1_T1 in the scheduling policy.

[0073] Scheduling strategy output implementation: The optimized timing solution and timing hard constraints are combined to generate a scheduling strategy document containing "AMR number, task sequence, spatiotemporal parameters, constraints, and control instructions". This document is sent to the execution module through the communication module and stored in the system database for backup, facilitating subsequent traceability.

[0074] S5: Strategy execution. Allocate segment tables and trigger control signals according to the scheduling strategy. During execution, monitor the status of subtasks and the running status of adjacent AMRs. Start the moving subtask when the timing hard constraints are met.

[0075] The strategy execution in step S5 further includes: when waiting for the subtask to be executed, if it is detected that the adjacent AMR has completed all subtasks before the end time of the waiting for this vehicle, then the waiting subtask is terminated.

[0076] The specific implementation is as follows:

[0077] Segment table allocation and control signal triggering implementation: The segment table allocation subunit of the execution module reads the scheduling strategy, decomposes each mobile subtask into multiple running segments (divided according to discrete point sequences), and generates a segment table. For example, AMR1's T1 (10-15s, 10-30m) is decomposed into 3 segments: Segment 1 (10-12s, 10-14m, speed 2m / s), Segment 2 (12-14s, 14-28m, speed 2m / s), and Segment 3 (14-15s, 28-30m, speed 2m / s). The segment table is sent to the AMR's onboard controller via the CANopen protocol, and control signals are triggered simultaneously: a "start" signal (high level) is sent at 10s, "maintain speed" signals are sent at 12s and 14s, and a "stop" signal is sent at 15s, ensuring that the AMR runs according to the segment table.

[0078] Status monitoring is implemented in three ways: ① The status monitoring unit of the execution module collects information through three methods: ① The X-coordinate of the AMR is collected through the GPS positioning module (sampling frequency 10Hz, error ≤ ±5cm); ② The status of the sub-task (in execution, completed, abnormal) is collected through the vehicle-mounted sensors; ③ Status feedback from adjacent AMRs is received through the communication module. The collected status data is uploaded to the system monitoring interface in real time, displaying information such as AMR position, task progress, and constraint satisfaction. An audible and visual alarm is triggered when an abnormality occurs (e.g., an alarm is triggered when the AMR deviates from the path by ≥10cm).

[0079] Timing hard constraint checking and moving subtask startup implementation: Before the moving subtask starts (e.g., 10 seconds before AMR1_T1), the timing constraint checking unit of the execution module queries the T3 task status of the adjacent AMR3. If the completion time of AMR3_T3 is ≤10 seconds (satisfying the pre-constraint), a "start allowed" signal is sent; if not (e.g., AMR3_T3 is delayed to 11 seconds to complete), a "wait" signal is sent, and AMR1 pauses startup until the constraint is satisfied. The constraint check takes ≤0.05 seconds, ensuring precise startup timing.

[0080] Dynamic adjustment of waiting subtasks (core of claim 7): If an AMR has a waiting subtask (such as the waiting task of AMR3, 15-20s), the status monitoring unit detects the task status of the adjacent AMR1 in real time. If the T1 task of AMR1 is completed in advance at 14s (1s earlier than planned), the waiting termination time of AMR3 can be advanced from 20s to 14s. The system sends an "early end waiting" signal, and AMR3 starts its subsequent task at 14s, reducing the waiting time by 1s and improving overall efficiency. This adjustment is achieved by comparing the actual completion time of the adjacent AMR with the waiting termination time of this vehicle, with an adjustment response time ≤0.1s.

[0081] See Figure 2 This invention also provides an AMR scheduling system 20 based on a single-channel model and the branch-bound method, comprising:

[0082] Module 201 is used to establish a single-channel model, construct a single-channel coordinate system, project the two-dimensional space occupied by the AMR onto a one-dimensional interval on the X-axis of the coordinate system, and define the constraints and operation channel parameters of the AMR. The operation channel parameters include the operation direction, attitude angle, discrete point sequence, and discrete edge sequence.

[0083] Decision module 202 is used for task decision-making. Based on the single-channel model, it uses the branch and bound method to allocate multiple AMR tasks and plan the execution time sequence. The task allocation aims to minimize the overall time penalty or spatial conflict. During the time sequence planning process, it detects and resolves the running conflicts between AMRs.

[0084] Processing module 203 is used for conflict resolution. For conflicts detected in the timing planning, it generates a waiting branch and a cart branch when there are non-co-directional conflicts, and generates a waiting branch when there are co-directional conflicts. The cart branch is where one of the conflicting AMRs inserts an additional cart subtask to avoid the other party.

[0085] The generation module 204 is used to generate a scheduling strategy, based on the optimal timing solution obtained by the branch and bound method, and to establish timing hard constraints between adjacent AMRs. The timing hard constraints limit the task completion conditions of adjacent AMRs before the start of the moving subtask.

[0086] The execution module 205 is used for strategy execution. It allocates segment tables and triggers control signals according to the scheduling strategy. During the execution process, it monitors the status of subtasks and the running status of adjacent AMRs. When the timing hard constraints are met, it starts the moving subtask.

[0087] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. An AMR scheduling method based on a single-channel model and the branch-bound method, characterized in that, It includes the following steps: S1: Establish a single-channel model, construct a single-channel coordinate system, project the two-dimensional space occupancy of the AMR into a one-dimensional interval on the X-axis of the coordinate system, and define the constraint conditions for the operation of the AMR and the operation channel parameters. The operation channel parameters include the operation direction, attitude angle, discrete point sequence, and discrete edge sequence. S2: Task decision-making. Based on the single-channel model, use the branch and bound method to perform multi-AMR task allocation and task execution timing planning. The task allocation aims to minimize the overall time penalty or the amount of spatial conflict. During the timing planning process, detect and resolve the operation conflicts between AMRs. S3: Conflict resolution. For the conflicts detected in the timing planning, generate a waiting branch and a cart-pushing branch in the case of non-collinear conflicts, and generate a waiting branch in the case of collinear conflicts. The cart-pushing branch is for one of the AMRs in the conflict to insert an additional cart-pushing subtask to avoid the other. S4: Generate a scheduling strategy. Based on the optimal timing solution obtained by solving using the branch and bound method, establish the timing hard constraints between adjacent AMRs. The timing hard constraints define the task completion conditions of adjacent AMRs before the start of the movement subtask. S5: Strategy execution. Allocate the segment table according to the scheduling strategy and trigger the control signal. During the execution process, monitor the status of the subtasks and the operation status of adjacent AMRs, and start the movement subtask when the timing hard constraints are satisfied.

2. The method according to claim 1, characterized in that, The establishment of the single-channel model in step S1 includes: Establish a coordinate system with the minimum point in the Y direction as the origin and the X-axis as the main road direction; project the local path bounding box of the AMR into the occupancy interval [x1, x2] on the X-axis. The necessary and sufficient condition for no collision between two AMRs is x3>x2 or x4<x1, where [x3, x4] is the occupancy interval of the other AMR; the occupancy interval during the spin of the AMR is [x - r, x + r], x is the abscissa of the spin center, and r is the spin radius.

3. The method according to claim 1, characterized in that, The specific process of the task allocation in step S2 includes: S21: Calculate the dynamic task allocation quantity l = min(2m - n, m + 2), where m is the number of AMRs that can execute tasks and n is the number of AMRs with locked tasks. S22: Initialize the idle time and pose of each AMR, construct an incomplete initial solution, and put it into the list of solutions to be refined. S23: Loop to take out the solution with the smallest penalty value in the list of solutions to be refined, allocate the highest-priority task to be allocated to a qualified AMR, generate a new solution, and calculate the penalty value until a complete feasible solution is obtained.

4. The method according to claim 1, characterized in that, The timing planning described in step S2 uses an ST diagram to represent the task process, with the horizontal axis representing time and the vertical axis representing the horizontal coordinate of the AMR in a single-channel coordinate system; the boundary function of the branch and bound method is B. k =Σf j (t ij ^end, t j ^start), where t ij ^end represents the completion time of the j-th task in AMRi, t j ^start represents the time when the j-th task is generated, f j This is the penalty function.

5. The method according to claim 1, characterized in that, The generation of the cart-pushing branch in step S3 includes: Calculate the cart-pushing discrete points of the oncoming conflict AMR according to the end point of the main vehicle subtask, insert a cart-pushing subtask for the oncoming conflict AMR, and set the operation parameters and cart-pushing information from the main vehicle to the conflict-free discrete point.

6. The method according to claim 1, characterized in that, The timing hard constraints in step S4 include: The stationary subtask can directly execute the subsequent subtasks; the movement subtask needs to wait for all the subtasks of the adjacent AMR before the start time of this task to be completed before it can be executed.

7. The method according to claim 1, characterized in that, The strategy execution in step S5 also includes: When waiting for the subtask to execute, if it is detected that the adjacent AMR has completed all the subtasks before the waiting termination time of this vehicle, then end the waiting subtask.

8. The method according to claim 1, characterized in that, The AMR operation constraints mentioned in step S1 include: the relative positions of multiple AMRs are fixed when they are inserted into the system; spin is prohibited in specific areas of the channel by setting PLC positions; AMR movement includes lateral translation, in-situ spin, and longitudinal translation; parking spaces on both sides of the main road are reversed, supporting four movement modes.

9. An AMR scheduling system based on a single-channel model and the branch-bound method, characterized in that, include: The module is used to establish a single-channel model, construct a single-channel coordinate system, project the two-dimensional space occupied by the AMR onto a one-dimensional interval on the X-axis of the coordinate system, and define the constraints and operation channel parameters of the AMR. The operation channel parameters include the operation direction, attitude angle, discrete point sequence, and discrete edge sequence. The decision module is used for task decision-making. Based on the single-channel model, it uses the branch and bound method to allocate multiple AMR tasks and plan the execution time sequence of tasks. The task allocation aims to minimize the overall time penalty or spatial conflict. During the time sequence planning process, it detects and resolves the running conflicts between AMRs. The processing module is used for conflict resolution. For conflicts detected in the timing planning, it generates a waiting branch and a cart branch when there are non-co-directional conflicts, and generates a waiting branch when there are co-directional conflicts. The cart branch is where one of the conflicting AMRs inserts an additional cart subtask to avoid the other party. The generation module is used to generate scheduling strategies, based on the optimal timing solution obtained by the branch and bound method, and to establish timing hard constraints between adjacent AMRs. The timing hard constraints limit the task completion conditions of adjacent AMRs before the start of the moving subtask. The execution module is used for policy execution. It allocates segment tables and triggers control signals according to the scheduling policy. During execution, it monitors the status of subtasks and the running status of adjacent AMRs. When the timing hard constraints are met, it starts the moving subtask.