Large-scale robot task allocation and path planning system based on reinforcement learning
Patent Information
- Application Number
- CN202611196420.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-07
- Publication Date
- 2026-10-13
AI Technical Summary
[0003]现有大规模机器人任务分配与路径规划在实际运行中通常将机器人状态、任务状态和环境状态编码后交由奖励反馈进行策略更新,任务完成收益、移动代价、碰撞惩罚和等待惩罚多集中在同一奖励表达中,载荷余量、电量余量、路径段能耗变化、避让口停靠空间和任务到达时限常被压缩为状态特征或统一惩罚项,实际执行中容易出现动作可选但物理余量不足的情况,例如某搬运机器人因位置距离任务点较近而被分配重载任务,但当前载荷占用较大,后续路径阶段才暴露载荷余量不足,调度链发生回退,路径选择环节也常按整体移动代价评价路线,某一候选节点因距离增幅、坡度耗电和转角耗电叠加产生的局部能耗突变不易在节点级被单独截断,狭窄通道会车时,等待惩罚若仅以通用时间代价登记,避让口长度不足、重新并道耗电和任务最晚到达时刻之间的冲突难以及时区分,易形成车辆进入通道后再等待、重排或折返的情况,多轮策略迭代依赖历史交互样本,动态仓储场景中任务批次、拥堵边段和电池衰减变化频繁时,奖励反馈滞后于单次动作执行,导致不可执行动作、高耗路径和会车阻塞在局部作业周期内重复出现
本发明中,围绕动作编号建立从任务准入、路径延展、能耗判别、通道避让至奖励回写的连续数值链,先以载荷许可率和电量许可率合成作业许可值,将额定能力、当前占用和任务消耗转化为同一动作编号下的可比较量,减少不可执行动作进入后续路径选择,再以动作准入阈值、相邻路径段距离差值和路径段增幅阈值形成节点惩罚率,使路径候选节点不再仅依赖距离远近排序,而是同步承接前序准入结果,继续结合单位耗电、附加耗电、上段实际耗电、剩余路径长度和续航阈值,形成候选段耗电值、耗电变化量和续航缺口值,路径段距离突增、转角耗电增加、坡度耗电增加、续航边界逼近均可进入同一续航惩罚率,再依据路径边号、运动方向、避让口长度、车体长度、避让移动距离、等待耗电和任务时限,形成让行排序值,使会车避让不局限于到达顺序,而能同步衡量停靠空间、电量消耗和时限占用,执行后再以电量保留率、时长占用率和让行排序值扣减形成奖励更新率,任务动作、路径动作、避让动作和反馈数值沿同一编号闭合,获得更稳定的动作准入、更细粒度的高耗节点识别、更可量化的避让排序和更连续的执行反馈。
Smart Images

Figure CN122902704A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of reinforcement learning technology, and in particular to a large-scale robot task allocation and path planning system based on reinforcement learning. Background Technology
[0002] The field of reinforcement learning technology includes agent state recognition, action selection, reward setting, policy iteration, value evaluation, environmental interaction, and multi-agent collaboration. Its core is to adjust the action policy of the agent based on reward feedback during continuous state transitions, and to model and solve discrete task selection, continuous action decision-making, resource allocation order, and collaborative behavior rules by combining Markov decision processes, Q-value updates, policy gradients, deep Q-networks, actor-critic structures, experience replay, and exploration and utilization mechanisms. Among them, the large-scale robot task allocation and path planning system based on reinforcement learning refers to a task decision-making and path generation system for multiple robots, multiple task points and dynamic working environments. Its technical aspects cover the collection and encoding of robot position status, task priority, task execution time, robot payload capacity, remaining power, path distance, obstacle position and task conflict relationship. It sets the task completion reward, movement cost, collision penalty and waiting penalty through reward function. It adopts multi-agent reinforcement learning, deep Q network, policy gradient, Markov decision process, experience playback and action mask to jointly make decisions on task allocation order, robot task matching relationship, path node selection and obstacle avoidance route.
[0003] In practice, existing large-scale robot task allocation and path planning typically encode the robot state, task state, and environment state, then use reward feedback to update the strategy. Task completion rewards, movement costs, collision penalties, and waiting penalties are often concentrated in the same reward expression. Load margin, battery margin, path segment energy consumption changes, obstacle avoidance space, and task arrival time are often compressed into state features or uniform penalty items. In actual execution, situations can easily arise where actions are available but physical margins are insufficient. For example, a transport robot might be assigned a heavy-load task because its location is close to the task point, but its current load is already high, and the insufficient load margin only becomes apparent in later path stages, causing the scheduling chain to backtrack and creating a path selection loop. The route is often evaluated based on the overall movement cost. The sudden change in local energy consumption caused by the increase in distance, the power consumption of gradient, and the power consumption of turning at a certain candidate node is not easy to be cut off at the node level. When vehicles meet in narrow passages, if the waiting penalty is only registered with the general time cost, it is difficult to distinguish the conflict between the insufficient length of the avoidance passage, the power consumption of re-merging, and the latest arrival time of the task. This can easily lead to situations where vehicles enter the passage and then wait, rearrange, or turn back. Multi-round strategy iterations rely on historical interaction samples. In dynamic warehousing scenarios, when the task batches, congested edges, and battery degradation change frequently, the reward feedback lags behind the execution of a single action, causing unexecutable actions, high-consumption paths, and vehicle congestion to recur in local operation cycles. Summary of the Invention
[0004] The purpose of this invention is to address the shortcomings of existing technologies by proposing a large-scale robot task allocation and path planning system based on reinforcement learning.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: a large-scale robot task allocation and path planning system based on reinforcement learning, wherein the system includes: The access control module obtains the action number, load, power, and task requirements, calculates the load permit rate and power permit rate according to the action number, and generates the work permit value. The node extension module calls the job permission value and associates it with the action number, compares the action admission threshold, calculates the distance difference based on the distance between adjacent segments, and generates the node penalty rate. The energy consumption trimming module, based on the node penalty rate and associated action number, combines path distance, unit power consumption, additional power consumption, actual power consumption of the previous segment, remaining path length and range threshold to calculate the power consumption value of candidate segments, power consumption change and range gap value, and generate the range penalty rate. The time slot avoidance module monitors path edge number, direction of movement, avoidance opening length, vehicle length, avoidance movement distance, waiting time, power consumption and task time limit based on the endurance penalty rate and associated action number. It then calculates channel conflict value, docking blockage rate, total waiting power consumption value and time limit occupancy rate, and generates yielding sorting value. The reward write-back module, based on the yielding sorting value and associated action number, collects the battery power and operation time after execution, calculates the battery power retention rate and time occupancy rate, deducts the yielding sorting value, and generates the reward update rate.
[0006] As a further aspect of the present invention, the access engagement module includes: The margin deduction submodule obtains the rated load value, current load value, remaining power value, task load requirement value, and task minimum power consumption value of the warehouse handling robot, performs deduction calculation, subtracts the rated load value from the current load value and then subtracts the task load requirement value to obtain the allowable load margin, and subtracts the task minimum power consumption value from the remaining power value to obtain the allowable power margin, forming a margin value group. The proportional conversion submodule calls the margin value group, the rated load value of the warehouse handling robot and the rated capacity of the battery, extracts the allowable load margin and the allowable power margin and performs a division operation. The allowable load margin is divided by the rated load value to obtain the allowable load rate, and the allowable power margin is divided by the rated battery capacity to obtain the allowable power rate, generating the allowable ratio group. The permit synthesis submodule, based on the permit ratio group, calls the load permit rate and the power permit rate and performs a summation operation, writes the summed value to the output of the access debit module, and generates the work permit value.
[0007] As a further aspect of the present invention, the node expansion module includes: The threshold discrimination submodule calls the job permission value and action admission threshold to obtain the distance from the previous node to the current node, the distance from the current node to the candidate expansion node, and the path segment increment threshold. It compares the job permission value with the action admission threshold. If the job permission value is less than the action admission threshold, it writes the value 1. If the job permission value is not less than the action admission threshold, it writes the value 0. It generates an admission branch value. The distance difference submodule, based on the admission branch value, calls the distance from the previous node to the current node and the distance from the current node to the candidate expansion node and performs branch judgment. When the admission branch value is one, it writes a zero value. When the admission branch value is zero, it subtracts the distance from the previous node to the current node from the distance from the current node to the candidate expansion node to obtain the distance difference. The normalization rate submodule performs normalization calculations by calling the path segment increment threshold based on the admission branch value and the distance difference. When the admission branch value is 1, it writes the value 1; when the admission branch value is 0 and the distance difference is less than 0, it writes the value 0; when the admission branch value is 0 and the distance difference is not less than 0, it divides the distance difference by the path segment increment threshold to generate the node penalty rate.
[0008] As a further aspect of the present invention, the energy consumption trimming module includes: The electrical parameter calculation module collects the power consumption per unit distance, the power consumption per slope, the power consumption per corner, and the distance from the current node to the candidate expansion node. It performs multiplication and addition calculations, multiplying the power consumption per unit distance by the distance from the current node to the candidate expansion node, and then adding the power consumption per slope and the power consumption per corner to generate the power consumption value of the candidate segment. The difference zeroing submodule calls the power consumption value of the candidate segment and the actual power consumption value of the previous path segment, performs a deduction judgment, subtracts the actual power consumption value of the previous path segment from the power consumption value of the candidate segment, writes the result to zero when the difference is less than zero, and writes the result to the difference when it is greater than zero, thus obtaining the change in power consumption. The margin determination submodule collects the remaining path length, remaining power value, power consumption per unit distance, and lower limit threshold for battery life based on the power consumption value of the candidate segment. It calculates the remaining power value minus the power consumption value of the candidate segment, minus the power consumption value per unit distance, and multiplies it by the remaining path length to obtain the remaining battery life value. When the remaining battery life value is lower than the lower limit threshold, the lower limit threshold minus the remaining battery life value is written; otherwise, zero is written to obtain the battery life gap value. The rate aggregation submodule calls the node penalty rate, power consumption change, and range deficit value, combines the power consumption change threshold and the battery rated capacity to perform rate summation, adds the node penalty rate to the power consumption change, divides it by the power consumption change threshold, adds the range deficit value and divides it by the battery rated capacity to generate the range penalty rate.
[0009] As a further aspect of the present invention, the time slot avoidance module includes: The edge direction determination submodule monitors the path edge number and movement direction based on the endurance penalty rate. If the path edge number is the same and the movement direction is opposite, it writes a value of 1; otherwise, it writes a value of zero and generates a channel conflict value. The parking space calculation submodule calls the channel conflict value, compares the effective length of the avoidance opening with the vehicle length, and writes a zero value when the channel conflict value is zero; writes a value of one when the channel conflict value is one and the effective length of the avoidance opening is less than the vehicle length; and writes a value of one when the channel conflict value is one and the effective length of the avoidance opening is greater than the vehicle length, and divides the vehicle length by the effective length of the avoidance opening to obtain the parking blockage rate. The time consumption calculation submodule calculates the sum of the distance traveled to the bypass and the distance to re-enter the main channel based on the docking blockage rate, multiplies it by the unit movement power consumption value, adds the expected waiting time multiplied by the unit waiting power consumption value, and divides it by the battery rated capacity; it subtracts the expected arrival time of the task from the latest arrival time of the task to obtain the task time limit margin. If the task time limit margin is positive, it is added to the expected channel passage time and divided by the task time limit margin; otherwise, it is added by a value of one to generate the time consumption conversion rate. The sorting-to-value submodule calls the channel conflict value, docking blocking rate, time consumption conversion rate, and endurance penalty rate. It sums the docking blocking rate, time consumption conversion rate, and endurance penalty rate to form the avoidance penalty value, and then multiplies it by the channel conflict value to generate the yielding sorting value.
[0010] As a further aspect of the present invention, the reward write-back module includes: The Remaining Power Rate Submodule receives the yielding sorting value, collects the remaining power value and the battery rated capacity after the path segment is executed, performs a division calculation, divides the remaining power value of the path segment by the battery rated capacity, and generates the power retention rate. The working time occupancy submodule collects the continuous working time value and the robot's rated continuous working time after the power retention rate is generated, performs a division calculation, divides the continuous working time value by the robot's rated continuous working time, and obtains the time occupancy rate. The reward deduction submodule, based on the battery retention rate and time occupancy rate, calls the yielding sorting value, performs the deduction calculation, subtracts the time occupancy rate from the battery retention rate, then subtracts the yielding sorting value, and writes the deduction value to the output of the reward write-back module to generate the reward update rate.
[0011] Compared with the prior art, the advantages and positive effects of the present invention are as follows: In this invention, a continuous numerical chain is established around the action number, from task admission, path extension, energy consumption judgment, channel avoidance to reward write-back. First, the work permission value is synthesized by the load permission rate and the power permission rate, and the rated capacity, current occupancy, and task consumption are converted into comparable quantities under the same action number, reducing the number of unexecutable actions entering subsequent path selection. Then, the node penalty rate is formed by the action admission threshold, the distance difference between adjacent path segments, and the path segment increase threshold, so that the path candidate nodes no longer depend solely on the distance ranking, but simultaneously inherit the previous admission results, and continue to combine the unit power consumption, additional power consumption, the actual power consumption of the previous segment, the remaining path length, and the endurance threshold to form the candidate segment power consumption value, power consumption change, and endurance threshold. The same range penalty rate applies to sudden increases in path segment distance, increased power consumption at corners, increased power consumption due to gradient, and approaching the range limit. Then, based on the path edge number, direction of movement, length of the avoidance point, vehicle length, avoidance movement distance, waiting power consumption, and task time limit, a yielding order value is formed. This allows yielding to other vehicles to be not limited to the order of arrival, but to simultaneously measure stopping space, power consumption, and time limit occupancy. After execution, the reward update rate is formed by deducting from the power retention rate, time occupancy rate, and yielding order value. Task actions, path actions, avoidance actions, and feedback values are closed along the same numbering, resulting in more stable action access, finer-grained high-consumption node identification, more quantifiable avoidance ordering, and more continuous execution feedback. Attached Figure Description
[0012] Figure 1 This is a system flowchart of the present invention. Detailed Implementation
[0013] The technical solution of the present invention will now be described with reference to the accompanying drawings.
[0014] In embodiments of the invention, terms such as "exemplarily," "for example," etc., are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as an example in the invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the invention, the meaning expressed and / or may be both, or either one may be preferred.
[0015] In this embodiment of the invention, the terms "image" and "picture" may sometimes be used interchangeably. It should be noted that, without emphasizing their distinction, their intended meanings are consistent. Similarly, the terms "of," "corresponding," and "relevant" may sometimes be used interchangeably. It should be noted that, without emphasizing their distinction, their intended meanings are consistent.
[0016] In this embodiment of the invention, sometimes a subscript such as W1 may be written in a non-subscript form such as W1. When the difference is not emphasized, the meaning they express is the same.
[0017] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0018] Please see Figure 1 This invention provides a technical solution: a large-scale robot task allocation and path planning system based on reinforcement learning, the system comprising: Access Control Module: Obtains the rated load value, current load value, remaining power value, rated battery capacity, task load requirement value, and minimum power consumption value of the warehouse handling robot. Calculates the load allowance margin by subtracting the current load value from the rated load value and then subtracting the task load requirement value. Calculates the power allowance margin by subtracting the minimum power consumption value from the remaining power value. Calculates the load allowance margin by dividing the rated load value to obtain the load allowance rate. Calculates the power allowance margin by dividing the rated battery capacity to obtain the power allowance rate. Calculates the load allowance rate plus the power allowance rate to generate the operation permit value. Node expansion module: Calls the job permission value, obtains the action admission threshold, the distance from the previous node to the current node, the distance from the current node to the candidate expansion node, and the path segment increment threshold, compares the job permission value with the action admission threshold, writes the value 1 when the job permission value is less than the action admission threshold, calculates the distance difference between the current node and the candidate expansion node and the distance from the previous node to the current node when the job permission value is not less than the action admission threshold, writes the value 0 when the distance difference is less than zero, and calculates the distance difference divided by the path segment increment threshold to generate the node penalty rate; Energy Consumption Trimming Module: Based on the node penalty rate, this module collects the power consumption per unit distance of the inspection robot, the power consumption due to slope, the power consumption due to cornering, the distance from the current node to the candidate expansion node, the actual power consumption of the previous path segment, the remaining path length, the remaining battery capacity, the rated battery capacity, the power consumption change threshold, and the lower limit threshold for battery life. It calculates the power consumption per unit distance by multiplying the power consumption per unit distance by the distance from the current node to the candidate expansion node, plus the power consumption due to slope and cornering, to form the power consumption value for the candidate segment. Finally, it calculates the total power consumption by subtracting the actual power consumption of the previous path segment from the power consumption value for the candidate segment. The power consumption difference is written as zero when it is less than zero, and as a power consumption difference when it is not less than zero. The remaining power consumption value is calculated by subtracting the power consumption value of the candidate segment from the power consumption value of the unit distance and multiplying it by the remaining path length to form the remaining range value. When the remaining range value is less than the lower limit threshold, the remaining range value is calculated by subtracting the remaining range value from the lower limit threshold to form the range gap value. When the remaining range value is not less than the lower limit threshold, it is written as zero. The node penalty rate is calculated by adding the power consumption change value to the power consumption change threshold, adding the range gap value to the battery rated capacity, and generating the range penalty rate. Time-slot avoidance module: Based on the endurance penalty rate, it monitors the path edge number, direction of movement, effective length of the avoidance point, vehicle length, distance traveled to the avoidance point, distance to re-enter the main channel, estimated waiting time, power consumption per unit movement, power consumption per unit waiting time, battery rated capacity, estimated channel travel time, latest arrival time of the task, and estimated arrival time of the task for multi-vehicle cooperative transportation equipment. It writes a value of 1 when the path edge numbers are consistent and the directions of movement are opposite; it writes a value of zero when the path edge numbers are inconsistent or the directions of movement are not opposite, thus creating a channel conflict value. It writes a value of 1 when the effective length of the avoidance point is less than the vehicle length; and it calculates the vehicle length divided by the avoidance point when the effective length of the avoidance point is not less than the vehicle length. The effective length of the passage forms the docking blocking rate. The distance to the avoidance passage plus the distance to re-enter the main channel forms the avoidance movement distance. The avoidance movement distance multiplied by the unit movement power consumption value plus the estimated waiting time multiplied by the unit waiting power consumption value forms the total waiting power consumption value. The latest arrival time of the task minus the estimated arrival time of the task forms the task time limit margin. When the task time limit margin is greater than zero, the estimated channel passage time divided by the task time limit margin forms the time limit occupancy rate. When the task time limit margin is not greater than zero, the value is written as one. The total waiting power consumption value divided by the battery rated capacity plus the time limit occupancy rate plus the docking blocking rate plus the endurance penalty rate forms the avoidance penalty value. The channel conflict value multiplied by the avoidance penalty value generates the yielding order value. Reward write-back module: Based on the yielding sorting value, it collects the remaining power value, rated battery capacity, continuous operation time value, and rated continuous operation time of the assembly robot after the path segment is executed. It calculates the power retention rate by dividing the remaining power value after the path segment is executed by the rated battery capacity, calculates the time occupancy rate by dividing the continuous operation time value by the rated continuous operation time of the robot, and calculates the power retention rate minus the time occupancy rate minus the yielding sorting value to generate the reward update rate.
[0019] Furthermore, the access control module includes: The margin deduction sub-module obtains the rated load value, current load value, remaining power value, rated battery capacity, task load requirement value, and minimum power consumption value of the warehouse handling robot. It performs deduction calculations on the rated load value, current load value, and task load requirement value by subtracting the current load value from the rated load value and then subtracting the task load requirement value from the task load requirement value, and obtaining the margin value group by subtracting the minimum power consumption value from the remaining power value. The margin deduction submodule, based on the fundamental values of the warehouse handling robot and the handling task to be performed, first reads the rated load value, current load value, remaining power value, and rated battery capacity from the robot's operation record. Then, it reads the task load requirement value and minimum power consumption value from the task instruction. During this reading process, the rated load value, current load value, task load requirement value, remaining power value, and minimum power consumption value are all uniformly converted to kilograms (kg / h) or equivalent units of electricity. The battery rated capacity is entered into the record table synchronously in this submodule and is not included in this deduction. Subsequently, the load-side data is deducted sequentially. First, the rated load value is subtracted from the current load value to obtain the remaining load that the robot can continue to carry. Then, the remaining load is subtracted from the task load requirement value to obtain the permissible load margin. For example, consider a warehouse handling robot with a rated load value of 120 kg and a current load value of 35 kg. The weight of the material box to be moved is 40 kg. First, subtract 35 from 120 to get 85 kg, then subtract 40 from 85 to get 45 kg. This 45 kg is recorded as the permissible load margin. Then, deduct from the power data, taking the remaining power value and subtracting the minimum power consumption value for the task. The robot's remaining power value is 72 amp-hours. The minimum power consumption value for the task to be performed is 16 amp-hours. Subtracting 16 from 72 gives 56 amp-hours. This 56 amp-hour is recorded as the permissible load margin. If another robot's rated load value is... If the current load is 50 kg and the task load requirement is 40 kg, then 80 minus 50 minus 40 equals -10 kg. This negative value is still written into the load allowance margin field according to the deduction result. If the remaining power is 18 amp-hours and the minimum power consumption of the task is 22 amp-hours, then 18 minus 22 equals -4 amp-hours. This negative value is written into the power allowance margin field. Each robot is arranged in the same field order with the load allowance margin first and the power allowance margin second to obtain the margin value group.
[0020] The proportional conversion submodule calls the margin value group, the rated load value of the warehouse handling robot, and the rated battery capacity. It extracts the allowable load margin and the allowable power margin from the margin value group, and performs a division operation on the allowable load margin, the rated load value, the allowable power margin, and the rated battery capacity. It divides the allowable load margin by the rated load value and the allowable power margin by the rated battery capacity to generate the allowable proportional group. The proportional conversion submodule receives the margin value group. First, it locates the load allowable margin field and the battery allowable margin field within the margin value group. Then, it retrieves the rated load value and battery rated capacity corresponding to this margin value group from the robot's basic information table. During retrieval, matching is performed using the robot number to avoid cross-conversion between margin data and rated parameters for different robots. Next, a proportional conversion is performed on the load allowable margin by dividing the load allowable margin by the robot's rated load value to obtain the load allowable rate. Using the aforementioned robot data, if the load allowable margin is 45 kg and the rated load value is 120 kg, 45 divided by 120 equals 0.375, which is written into the load allowable rate field. If the load allowable margin is -10 kg and the rated load value is 80 kg, then -10 divided by 80 equals -0.125, which is also written into the load allowable rate field. Finally, a proportional conversion is performed on the battery allowable margin. The calculation involves dividing the permitted power reserve by the rated battery capacity to obtain the permitted power rate. Using the aforementioned power data, the permitted power reserve is 56 amp-hours, and the rated battery capacity is 100 amp-hours. Dividing 56 by 100 yields 0.56, which is written into the permitted power rate field. If another robot has a permitted power reserve of -4 amp-hours and a rated battery capacity of 60 amp-hours, then dividing -4 by 60 yields approximately -0.0667, which is also written into the permitted power rate field. Before performing the division, the rated load value and the rated battery capacity are read and verified. The rated load value is a positive load rating item configured at the robot's factory or system settings, and the rated battery capacity is a positive capacity item registered on the battery nameplate or in the maintenance system. When both rated items are positive, the division conversion is performed. When either rated item is not registered, the robot's record is entered into the pending entry field. After matching the same number for the load permitted rate and the permitted power rate, a permitted ratio group is generated.
[0021] The license synthesis submodule: Based on the license ratio group, it calls the load license rate and power license rate in the license ratio group, performs a summation operation on the load license rate and power license rate, adds the load license rate to the power license rate, and writes the summation value to the output of the access deduction module to generate the work license value; The permission synthesis submodule, based on the permission ratio group, first reads the load permission rate and power permission rate from the permission ratio group according to the robot number. Then, it places both ratio fields into the same synthesis record. The synthesis record does not change the numerical units of the two ratios. The load permission rate is derived from the conversion of the load permission margin relative to the rated load value, and the power permission rate is derived from the conversion of the power permission margin relative to the rated battery capacity. Subsequently, an addition operation is performed, adding the load permission rate and the power permission rate. Using the first warehouse handling robot mentioned above, the load permission rate is 0.375, and the power permission rate is 0.56. The sum is 0.935, which is written into the sum value field and then written to the output of the access deduction module as the operation permission value corresponding to the robot and the current handling task. If the second robot's load permission rate is -0.125 and its power permission rate is -0.0667, the two... The sum of these values is approximately -0.1917. This negative number is also written into the sum value field and entered into the output terminal with the same field name. In a batch task scenario, the load allowance rate of robot A for task one is 0.375, the power allowance rate is 0.56, and the sum value is 0.935. The load allowance rate of robot B for task one is 0.10, the power allowance rate is 0.20, and the sum value is 0.30. The load allowance rate of robot C for task one is -0.05, the power allowance rate is 0.35, and the sum value is 0.30. Each sum value is registered according to the robot number and task number fields. If the same robot faces different tasks, the corresponding task load requirement value and the task minimum power consumption value are read to generate different margins, and then different allowance ratio groups are formed. Finally, the sum value is written to the output terminal of the access deduction module to generate the operation permission value.
[0022] Furthermore, the node extension module includes: Threshold discrimination submodule: Call the job permission value, obtain the action admission threshold, the distance from the previous node to the current node, the distance from the current node to the candidate expansion node, and the path segment increment threshold. Perform a size comparison between the job permission value and the action admission threshold. If the job permission value is less than the action admission threshold, write the value 1. If the job permission value is not less than the action admission threshold, write the value 0. Generate admission branch value. The threshold discrimination submodule, based on the job permission value, first reads the job permission value after the robot and task are paired from the output of the access engagement module. Then, it reads the action access threshold from the scheduling configuration table, and reads the distance from the previous node to the current node, the distance from the current node to the candidate expansion node, and the path segment increment threshold from the path record table. The action access threshold is set according to the median of the job permission values of the last twenty completed tasks by similar warehouse handling robots. If the last twenty records fall between 0.62 and 1.18, with a median of 0.82, the action access threshold is registered as 0.82. If the system is running for the first time and there are no historical records, the sum of the remaining rated load ratio (0.30) and the remaining power ratio (0.40) is registered as 0.70. Values in the range where the job permission value is less than the action access threshold are recorded as the non-access range, and values in the range where the job permission value is not less than the action access threshold are recorded as the access range. The action access threshold of robot R1 is then used. The work permit value is 0.935, and the action admission threshold is 0.82. Compare 0.935 and 0.82 item by item. If 0.935 is not less than 0.82, write the value to zero. Take the work permit value of robot R2 as 0.64 and the action admission threshold as 0.82. Compare 0.64 and 0.82 item by item. If 0.64 is less than 0.82, write the value to one. In this submodule, the distance from the previous node to the current node and the distance from the current node to the candidate extension node are only synchronously read and recorded. The former is the actual distance of the robot moving from node N3 to node N4, which is 8 meters. The latter is the map distance from node N4 to candidate node N5, which is 11 meters. The path segment increment threshold is the 3 meters obtained by multiplying the standard node spacing of 6 meters in the same warehouse area channel by the allowable increment ratio of 0.50. This 3 meters is written into the path segment increment threshold field. After completing the numerical comparison between the work permit value and the action admission threshold, the admission branch value is generated.
[0023] Distance Difference Submodule: Based on the admission branch value, it calls the distance from the previous node to the current node and the distance from the current node to the candidate expansion node. It performs a judgment on the admission branch value. If the admission branch value is one, it writes a zero value. If the admission branch value is zero, it subtracts the distance from the previous node to the current node from the distance from the current node to the candidate expansion node to obtain the distance difference. The distance difference submodule, based on the admission branch value, first reads the admission branch value written by the threshold discrimination submodule. Then, it retrieves the distances from the preceding node to the current node and from the current node to the candidate expansion node, corresponding to the same robot number and candidate node number. During this process, both distances are converted to meters. When the admission branch value is one, zero is directly written to the distance difference field, and the two distances are not used for deduction. For robot R2, with an admission branch value of one, the distance from the preceding node to the current node is 7 meters, and the distance from the current node to the candidate expansion node is 9 meters. The distance difference field is still written as 0. When the admission branch value is zero, distance deduction begins. First, the distance from the current node to the candidate expansion node is retrieved, then the distance from the preceding node to the current node is retrieved, following the order of subtracting the preceding distance from the subsequent distance. The distance difference is obtained sequentially. The admission branch value of robot R1 is set to zero. The distance from the previous node to the current node is 8 meters, and the distance from the current node to the candidate expansion node is 11 meters. Subtracting 8 from 11 gives 3 meters, which is written into the distance difference field. If another candidate node N6 is 5 meters away from the current node, the distance from the previous node to the current node is still 8 meters. Subtracting 8 from 5 gives -3 meters, which is written into the distance difference field. If the two distances are equal, both 8 meters, subtracting 8 from 8 gives 0 meters, which is written into the distance difference field. The interval with a distance difference greater than zero is recorded as the interval where the distance increases. The interval with a distance difference equal to zero is recorded as the interval where the distance remains the same. The interval with a distance difference less than zero is recorded as the interval where the distance decreases. All distance differences are bound and registered with the corresponding admission branch value to obtain the distance difference value.
[0024] Normalization Rate Submodule: Based on the admission branch value and distance difference, call the path segment amplification threshold, perform branch judgment on the admission branch value and distance difference. When the admission branch value is 1, write 1. When the admission branch value is 0 and the distance difference is less than 0, write 0. When the admission branch value is 0 and the distance difference is not less than 0, divide the distance difference by the path segment amplification threshold to generate the node penalty rate. The normalization rate submodule, based on the admission branch value and distance difference, first reads the distance difference output by the distance difference submodule, and then reads the path segment increase threshold from the threshold judgment submodule. The path segment increase threshold is set according to the standard distance between adjacent nodes within the same storage channel and the allowable growth ratio. Taking the standard adjacent node distance in a storage channel as 6 meters and the allowable growth ratio as 0.50, then 6 meters multiplied by 0.50 equals 3 meters, and the path segment increase threshold is registered as 3 meters. If the standard adjacent node distance in a narrow channel area is 4 meters and the allowable growth ratio is 0.40, then 4 meters multiplied by 0.40 equals 1.6 meters, and the path segment increase threshold is registered as 1.6 meters. When performing branch judgment, the admission branch value is checked first. If the admission branch value is one, one is written into the node penalty rate field. Taking robot R2's admission branch value as one, the distance difference as 0 meters, and the path segment increase threshold as 3 meters, the node penalty rate is written into... 1. When the admission branch value is zero, continue to check the distance difference. If the distance difference is less than zero, write zero. Take robot R3 as having an admission branch value of zero and a distance difference of -3 meters, and write 0 for the node penalty rate. When the distance difference is not less than zero, divide the distance difference by the path segment increment threshold. Take robot R1 as having an admission branch value of zero and a distance difference of 3 meters. The path segment increment threshold is 3 meters. Divide 3 by 3 to get 1, and write 1 for the node penalty rate. If the candidate node distance difference is 1.5 meters and the path segment increment threshold is 3 meters, divide 1.5 by 3 to get 0.5, and write 0.5 for the node penalty rate. If the candidate node distance difference is 0 meters, divide 0 by 3 to get 0, and write 0 for the node penalty rate. If the distance difference is 4.5 meters and the path segment increment threshold is 3 meters, divide 4.5 by 3 to get 1.5, and write 1.5 for the node penalty rate. After completing the branch processing of the admission branch value and the distance difference, generate the node penalty rate.
[0025] Furthermore, the energy consumption trimming module includes: The electrical parameter calculation module collects the power consumption per unit distance, the power consumption due to slope, the power consumption due to cornering, and the distance from the current node to the candidate expansion node of the inspection robot. It performs a multiplication and addition calculation on the power consumption per unit distance and the distance from the current node to the candidate expansion node, multiplies the power consumption per unit distance by the distance from the current node to the candidate expansion node, adds the power consumption due to slope, and adds the power consumption due to cornering to generate the power consumption value of the candidate segment. The electrical parameter aggregation module, based on the electrical parameter records of the candidate path segments of the inspection robot, first reads the power consumption per unit distance from the robot's battery management record, then reads the distance from the current position node to the candidate expansion node from the path map record, and reads the additional power consumption per slope from the slope calibration table and the additional power consumption per corner from the corner calibration table. The power consumption per unit distance is recorded according to the power consumption per meter of the same model of inspection robot when traveling at a constant speed on a flat surface. Taking the inspection robot R1 as consuming 25 watt-hours when traveling 50 meters continuously in the warehouse inspection channel, the power consumption per unit distance is recorded as 0.5 watt-hours per meter. The distance from the current position node to the candidate expansion node is calculated according to the map node coordinates. Taking the path distance from the current position node N4 to the candidate expansion node N5 as 18 meters, the additional power consumption per slope is recorded according to the slope range of the candidate path segment: 0 watt-hours when the slope is less than 2 degrees, 2 watt-hours when the slope is not less than 2 degrees and less than 5 degrees, 5 watt-hours when the slope is not less than 5 degrees and less than 8 degrees, and 2 watt-hours when the slope of the candidate path segment is 4 degrees. The power consumption per watt-hour (WWh) for cornering is recorded according to the corner angle range: 0.5 WWh for a corner less than 30 degrees, 1.5 WWh for a corner between 30 and 90 degrees, and 3 WWh for a corner greater than 90 degrees. A candidate path segment with a corner angle of 75 degrees is recorded as 1.5 WWh. Then, the power consumption per unit distance (0.5 WWh per meter) is multiplied by the distance from the current node to the candidate expansion node (18 meters) to obtain the basic movement power consumption of 9 WWh. Finally, the basic movement power consumption of 9 WWh is increased by 2 WWh for slope-related additional power consumption. The watt-hours are 11 watt-hours. Then, the corner additional power consumption value of 1.5 watt-hours is added to the 11 watt-hours to get 12.5 watt-hours. If the distance of candidate expansion node N6 is 10 meters, the slope is 1 degree, and the corner is 20 degrees, then 0.5 multiplied by 10 is 5 watt-hours. The slope additional power consumption value is written as 0 watt-hours, and the corner additional power consumption value is written as 0.5 watt-hours, for a total of 5.5 watt-hours. All candidate nodes are established with corresponding records according to robot number, current position node number, and candidate expansion node number to generate candidate segment power consumption values.
[0026] The differential zeroing submodule calls the power consumption value of the candidate segment, collects the actual power consumption value of the previous path segment, performs a deduction judgment on the power consumption value of the candidate segment and the actual power consumption value of the previous path segment, subtracts the actual power consumption value of the previous path segment from the power consumption value of the candidate segment, writes the value of zero when the result is less than zero, and writes the result value when the result is not less than zero, thus obtaining the change in power consumption. The differential zeroing submodule, based on the candidate segment power consumption value, first reads the candidate segment power consumption value written by the electrical parameter calculation submodule, and then reads the actual power consumption value of the previous path segment from the robot path execution log. The actual power consumption value of the previous path segment is recorded as the difference between the remaining battery power at the start of the robot's previous movement and the remaining battery power at the end of the previous movement. Taking the inspection robot R1's battery power before moving from node N3 to node N4 as 860 Wh and after moving as 849 Wh, the difference is 11 Wh, which is written into the actual power consumption value of the previous path segment. Then, the candidate segment power consumption value is subtracted from the actual power consumption value of the previous path segment. The candidate segment power consumption value corresponding to the candidate extended node N5 is 12.5 Wh, and the actual power consumption value of the previous path segment is 11 Wh. Subtracting 11 from 12.5 gives 1.5 Wh, which is not less than zero, so 1. Write 5 watt-hours into the power consumption change field. If the power consumption value of the candidate segment corresponding to candidate extension node N6 is 5.5 watt-hours, and the actual power consumption value of the previous path segment is still 11 watt-hours, subtracting 11 from 5.5 results in -5.5 watt-hours. Since the obtained value is less than zero, write 0 watt-hours into the power consumption change field. If the power consumption value of the candidate segment corresponding to candidate extension node N7 is 11 watt-hours, and the actual power consumption value of the previous path segment is 11 watt-hours, subtracting 11 from 11 results in 0 watt-hours. Since the obtained value is not less than zero, write 0 watt-hours into the power consumption change field. Records with a power consumption difference greater than zero are classified into the positive change interval, records with a power consumption difference equal to zero are classified into the flat interval, and records with a power consumption difference less than zero are classified into the zeroing interval. Both the power consumption value of the candidate segment and the actual power consumption value of the previous path segment are registered in watt-hour units. Only one deduction result is retained for the same candidate extension node to obtain the power consumption change.
[0027] The margin shortage submodule collects the remaining path length, remaining battery power, power consumption per unit distance, and lower limit threshold for battery life based on the power consumption value of the candidate segment. It performs a deduction judgment on the remaining battery power, power consumption value of the candidate segment, power consumption per unit distance, and remaining path length. If the deduction value is less than the lower limit threshold for battery life, it writes the lower limit threshold for battery life minus the deduction value. If the deduction value is not less than the lower limit threshold for battery life, it writes zero value to obtain the battery life gap value. The remaining capacity determination submodule first reads the power consumption value of the candidate segment, then collects the remaining path length, remaining battery power, power consumption per unit distance, and minimum range threshold. The remaining path length is calculated by accumulating the remaining distance between the candidate expansion node and the task endpoint or inspection endpoint. For example, from candidate expansion node N5 to the inspection endpoint, it needs to pass through three segments: N6, N7, and N8, with distances of 20 meters, 15 meters, and 25 meters respectively, totaling 60 meters. The remaining battery power is calculated from the battery management... The record is read, and the current remaining power is taken as 849 Wh. The power consumption per unit distance is 0.5 Wh per meter. The lower limit threshold for battery life is registered according to a fixed retention ratio of the battery's rated capacity. The rated capacity of the inspection robot's battery is taken as 1000 Wh, and the retention ratio is 15%. 1000 multiplied by 0.15 gives 150 Wh. This 150 Wh is written into the lower limit threshold for battery life. Then, a deduction judgment is performed. First, the remaining power value of 849 Wh is subtracted from the candidate segment power consumption value of 12.5 Wh, resulting in 836. 5 Wh, then take the power consumption per unit distance of 0.5 Wh per meter, multiplied by the remaining path length of 60 meters, to get 30 Wh. Subtract 30 Wh from 836.5 Wh to get 806.5 Wh. This 806.5 Wh is a deduction value. 806.5 Wh is not less than the minimum endurance threshold of 150 Wh. The endurance gap value is written as 0 Wh. If another inspection robot R2 has a remaining power of 170 Wh, a candidate segment power consumption of 35 Wh, a remaining path length of 90 meters, and a power consumption per unit distance... If the value is 0.7 Wh per meter, then 170 minus 35 equals 135 Wh, 0.7 multiplied by 90 equals 63 Wh, and 135 minus 63 equals 72 Wh. Since 72 Wh is less than the lower limit threshold of 150 Wh, we take 150 minus 72 to get 78 Wh. The range gap value is written as 78 Wh. The lower limit threshold can also be registered as 144 Wh based on the battery rated capacity of 1200 Wh and the retention ratio of 12%. After completing the branch registration of the deduction value and the lower limit threshold, the range gap value is obtained.
[0028] The rate summary submodule calls the node penalty rate, power consumption change, and range gap value, collects the power consumption change threshold and battery rated capacity, performs a summation calculation on the node penalty rate, power consumption change, power consumption change threshold, range gap value, and battery rated capacity, adds the node penalty rate to the power consumption change and divides it by the power consumption change threshold, adds the range gap value and divides it by the battery rated capacity, and generates the range penalty rate. The rate aggregation submodule, based on the preceding node penalty rate, power consumption change, and range deficit value, first reads the node penalty rate output by the node expansion module, then reads the power consumption change output by the difference zeroing submodule, and finally reads the range deficit value output by the margin deficit setting submodule. Subsequently, it collects the power consumption change threshold and the battery's rated capacity. The power consumption change threshold is set according to the power consumption difference records of normal path segments within the same inspection area, taking the positive power consumption differences of the last ten normal path segments as 1 Wh, 2 Wh, and 1.5 Wh respectively. The power consumption changes are calculated as follows: 2.5 Wh, 3 Wh, 2 Wh, 1 Wh, 2.5 Wh, 1.5 Wh, and 2 Wh. Adding these ten values together gives 19 Wh, which is then divided by 10 to get 1.9 Wh. The 2 Wh value, which is convenient for system registration, is taken as the power consumption change threshold. The battery rated capacity is read from the robot's battery configuration and set to 1000 Wh. Then, the power consumption change amount and the power consumption change threshold are processed. The power consumption change amount for candidate expansion node N5 is 1.5 Wh, and the power consumption change threshold is 2 Wh. Dividing 1.5 by 2 gives 0. 75. Next, process the range deficit value and the battery rated capacity. The range deficit value is 0 Wh, and the battery rated capacity is 1000 Wh. Divide 0 by 1000 to get 0. If the node penalty rate is 1, add 0.75 to the node penalty rate 1 and then add 0 to get 1.75. This 1.75 is written into the range penalty rate field. If the node penalty rate of candidate expansion node N6 is 0.5, the power consumption change is 0 Wh, the range deficit value is 78 Wh, the power consumption change threshold is 2 Wh, and the battery rated capacity is 100 Wh... 0 watt-hours, 0 divided by 2 equals 0, 78 divided by 1000 equals 0.078, 0.5 plus 0 plus 0.078 equals 0.578. If the node penalty rate of candidate expansion node N7 is 1.5, the power consumption change is 4 watt-hours, and the endurance gap is 120 watt-hours, then 4 divided by 2 equals 2, 120 divided by 1000 equals 0.12, 1.5 plus 2 plus 0.12 equals 3.62. Each candidate node completes the summation calculation of the three values in the same order to generate the endurance penalty rate.
[0029] Furthermore, the time slot avoidance module includes: Edge direction determination submodule: Based on the endurance penalty rate, monitor the path edge number, movement direction, effective length of the avoidance point, vehicle length, movement distance to the avoidance point, re-entry distance to the main channel, estimated waiting time, power consumption per unit movement, power consumption per unit waiting time, battery rated capacity, estimated channel travel time, latest arrival time of the task, and estimated arrival time of the task for the multi-vehicle cooperative transportation equipment. Perform a judgment on the path edge number and movement direction. If the path edge number is the same and the movement direction is opposite, write a value of 1. If the path edge number is different or the movement direction is not opposite, write a value of zero and generate a channel conflict value. The edge determination submodule, based on the endurance penalty rate, first reads the endurance penalty rate written during the energy consumption trimming stage and binds it to the multi-vehicle collaborative transportation equipment number. Then, it extracts the path edge number, direction of movement, effective length of the bypass, vehicle length, distance traveled to the bypass, distance to re-enter the main channel, estimated waiting time, power consumption per unit of movement, power consumption per unit of waiting, battery rated capacity, estimated channel travel time, latest arrival time of the task, and estimated arrival time of the task from the vehicle operation record. The endurance penalty rate is retained as a subsequent sorting parameter in this stage. The path edge number is registered by connecting adjacent nodes in the warehouse channel diagram. The direction of movement is registered according to the order of the vehicle's entry point and destination on the path edge. Taking transportation equipment C1 located on path edge E12 with a direction of movement from N4 to N5, and transportation equipment C2 located on path edge E12 with a direction of movement from N5 to N4, the module first... Check the path edge number E12 of vehicle 1 against the path edge number E12 of vehicle C2. If they match, then check the movement direction N4 to N5 of vehicle C1 against the movement direction N5 to N4 of vehicle C2. If their endpoints are reversed, write the value 1 to the conflict record corresponding to vehicle C1 and vehicle C2. Take vehicle C3 located on path edge E14 with movement direction N7 to N8. Check the path edge number E12 of vehicle C1 against the path edge number E14 of vehicle C3. If they do not match, write the value 0 to the conflict record. Take vehicle C4 located on path edge E12 with movement direction N4 to N5. If the path edge numbers match but the movement directions are not reversed, write the value 0 to the conflict record. Repeat the path edge number check and movement direction check for each pair of vehicles within the same inspection cycle. Write the value 1 only when both conditions are met and the movement directions are reversed on the same side. Write the value 0 to the other combinations. Generate the channel conflict value.
[0030] Parking space calculation submodule: Calls the channel conflict value, monitors the effective length of the avoidance opening and the vehicle length, and performs judgment on the channel conflict value, the effective length of the avoidance opening and the vehicle length. When the channel conflict value is zero, writes a zero value. When the channel conflict value is one and the effective length of the avoidance opening is less than the vehicle length, writes a one value. When the channel conflict value is one and the effective length of the avoidance opening is not less than the vehicle length, divides the vehicle length by the effective length of the avoidance opening to obtain the parking blockage rate. The berth calculation submodule, based on the channel conflict value, first reads the channel conflict value generated by the side-direction determination submodule. Then, it reads the effective length of the avoidance openings on both sides of the corresponding channel from the site facility record, and the vehicle body length from the vehicle size record. The effective length of the avoidance opening is recorded as the length of the straight segment that allows the vehicle to fully stop, and the vehicle body length is recorded as the actual length from the front end to the rear end of the vehicle's outline. Taking the channel conflict value between transport equipment C1 and C2 as a value of one, the effective length of the avoidance opening P3 is 2.4 meters, and the vehicle body length of C1 is 1.8 meters. First, the channel conflict value is checked; since it is a value of one, the effective length of the avoidance opening and the vehicle body length are checked further. Then, 2.4 meters and 1.8 meters are compared; 2.4 meters is not less than 1.8 meters. The vehicle body length of 1.8 meters is divided by the effective length of the avoidance opening of 2.4 meters to obtain the result. The value is 0.75. This 0.75 is written into the docking blocking rate field. The effective length of the bypass P4 is taken as 1.5 meters, and the vehicle body length is still 1.8 meters. The channel conflict value is one. The 1.5 meters and 1.8 meters are compared. 1.5 meters is less than 1.8 meters, so the docking blocking rate is written into the value one. The channel conflict value between transport equipment C1 and C3 is taken as zero. Even if the effective length of the bypass is 2.4 meters and the vehicle body length is 1.8 meters, a zero value is written into the docking blocking rate field. A value one corresponds to a docking record with conflict and insufficient length. A zero value corresponds to a combination of vehicles that have not reversed on the same side. Values between zero and one correspond to docking records with conflict and sufficient length. After completing the branch processing of the three items of channel conflict value, effective length of bypass, and vehicle body length, the docking blocking rate is obtained.
[0031] The time consumption calculation submodule: Based on the docking blocking rate, it collects the distance traveled to the bypass, the distance to re-enter the main channel, the estimated waiting time, the power consumption per unit of movement, the power consumption per unit of waiting, the rated battery capacity, the estimated channel travel time, the latest arrival time of the task, and the estimated arrival time of the task. It multiplies the distance traveled to the bypass plus the distance to re-enter the main channel by the power consumption per unit of movement, adds the estimated waiting time multiplied by the power consumption per unit of waiting, and divides it by the rated battery capacity. It subtracts the estimated arrival time of the task from the latest arrival time of the task. If the difference is greater than zero, it adds the estimated channel travel time and divides it by the difference. If the difference is not greater than zero, it adds a value of one to generate the time consumption conversion rate. The time consumption calculation submodule, based on the parking blockage rate, first reads the parking blockage rate written by the berth conversion submodule and binds it to the vehicle number and the bypass number. Then, it reads the bypass distance traveled, the distance to re-enter the main channel, the estimated waiting time, the power consumption per unit of movement, the power consumption per unit of waiting, the battery rated capacity, the estimated channel passage time, the latest arrival time of the task, and the estimated arrival time of the task. The distance traveled to the bypass is recorded according to the path length from the vehicle's current position to the bypass entrance. The distance to re-enter the main channel is recorded according to the path length from the bypass exit to the main channel. The path length of the flow point is recorded. The estimated waiting time is recorded as the time required for oncoming vehicles to pass through the locked channel section. The distance transport equipment C1 moves from the avoidance point is 6 meters, and the distance to re-enter the main channel is 4 meters. Adding these two together gives 10 meters. The power consumption per unit movement is 0.8 Wh / meter. 10 multiplied by 0.8 equals 8 Wh. The estimated waiting time is 3 minutes, and the power consumption per unit waiting time is 0.4 Wh / minute. 3 multiplied by 0.4 equals 1.2 Wh. Adding 8 Wh to 1.2 Wh gives 9.2 Wh. The battery's rated capacity is 120 kWh. 0 watt-hours, 9.2 divided by 1200 gives approximately 0.0077. The latest arrival time of the mission is 10:25, and the estimated arrival time is 10:19. Subtracting the two gives 6 minutes, which is greater than zero. The estimated passage time is 2 minutes. Dividing 2 by 6 gives approximately 0.3333. Adding 0.0077 to 0.3333 gives approximately 0.3410. This value is entered into the time consumption conversion rate field. Taking the distance another vehicle C2 moves from the exit to the main lane as 3 meters and the distance it re-enters the main lane as 5 meters, the unit movement power consumption value is... The power consumption is 0.9 Wh / meter, the estimated waiting time is 5 minutes, the unit waiting power consumption is 0.5 Wh / minute, the battery rated capacity is 1000 Wh, the power consumption for movement is 7.2 Wh, the power consumption for waiting is 2.5 Wh, totaling 9.7 Wh. 9.7 divided by 1000 gives 0.0097. The latest arrival time of the task is 10:20, the estimated arrival time of the task is 10:21, the difference is negative 1 minute. The value written according to the branch is added to 0.0097 to get 1.0097, generating the time consumption conversion rate.
[0032] The sorting value submodule calls the channel conflict value, docking blocking rate, time consumption conversion rate and endurance penalty rate, performs addition and multiplication calculations on the time consumption conversion rate, docking blocking rate, endurance penalty rate and channel conflict value, adds the time consumption conversion rate to the docking blocking rate and the endurance penalty rate to form the avoidance penalty value, multiplies the channel conflict value by the avoidance penalty value to generate the yielding sorting value; The sorting and value-based submodule is based on channel conflict value, docking interruption rate, time consumption conversion rate, and range penalty rate. It first reads the channel conflict value from the edge-direction determination submodule, the docking interruption rate from the berth conversion submodule, the time consumption conversion rate from the time consumption value-based submodule, and the range penalty rate from the energy consumption trimming module. Then, it groups these four values into the same sorting record according to the same vehicle number, the same channel conflict event number, and the same bypass number, taking the conflict events of transport equipment C1 and C2 as examples. In K1, the channel conflict value of C1 is 1, the docking blocking rate is 0.75, the time consumption conversion rate is 0.3410, and the endurance penalty rate is 0.578. First, add the time consumption conversion rate of 0.3410 to the docking blocking rate of 0.75 to get 1.0910, then add the endurance penalty rate of 0.578 to get 1.6690. This 1.6690 is written into the avoidance penalty value field. Then, multiply the channel conflict value of 1 by the avoidance penalty value of 1.6690 to get 1.6690. The numerical values are written to the yielding sorting value field. Taking the combination of vehicles C3 and C1, the channel conflict value is zero, the docking blocking rate is zero, the time consumption conversion rate can be calculated based on its yielding power consumption and task time limit as 0.2200, and the range penalty rate is 0.4000. Adding 0 to 0.2200 and then adding 0.4000 gives 0.6200. Multiplying the zero channel conflict value by 0.6200 gives 0, and the yielding sorting value is written as 0. Taking vehicle C2 in the same conflict event K1, the docking blocking rate is 1, the time consumption conversion rate is 1.0097, and the range penalty rate is 1.7500. Adding these three values gives 3.7597, and multiplying by the channel conflict value of 1 gives 3.7597. If the sorting record needs to be divided into numerical ranges, a yielding sorting value equal to 0 is recorded as a no-conflict record, greater than 0 and less than 1 is recorded as a low-sorting numerical range, not less than 1 and less than 3 is recorded as a medium-sorting numerical range, and not less than 3 is recorded as a high-sorting numerical range. After completing the addition and multiplication calculations, the yielding sorting value is generated.
[0033] Furthermore, the reward write-back module includes: The Remaining Power Rate Submodule: Based on the yielding sorting value, it collects the remaining power value, battery rated capacity, continuous operation time value, and robot rated continuous operation time after the assembly robot has executed the path segment. It performs a division calculation on the remaining power value after the path segment is executed and the battery rated capacity, and divides the remaining power value after the path segment is executed by the battery rated capacity to generate the power retention rate. The remaining battery percentage submodule, based on the yielding order value, first reads the yielding order value output by the time slot avoidance module and binds it to the assembly robot number, task number, and path segment number. Then, it reads the remaining battery value after the path segment execution from the robot battery record, the rated battery capacity from the battery configuration record, and the continuous operation duration and robot rated continuous operation duration from the operation record. The yielding order value is recorded and bound within this submodule and does not participate in the battery percentage division. The remaining battery value after the path segment execution is recorded according to the battery management record after the assembly robot completes the previous movement. The rated battery capacity is read according to the battery label capacity or the capacity registered in the maintenance system for the assembly robot. For example, after assembly robot A1 completes the path segment from assembly station W2 to W3, the remaining battery value is 720 Wh, and the rated battery capacity is 1000 Wh. First, it checks if both units are in watt-hours, then divides 720 by 1000 to get 0.72. This 0.72 is written into the battery percentage field. After the A2 path segment of the assembly robot is executed, the remaining power value is 465 Wh, and the rated battery capacity is 750 Wh. 465 divided by 750 gives 0.62, which is written into the power retention rate field. After the A3 path segment of the assembly robot is executed, the remaining power value is 180 Wh, and the rated battery capacity is 900 Wh. 180 divided by 900 gives 0.20, which is written into the power retention rate field. A power retention rate that is not less than 0 and less than 0.30 is registered as a low power retention range, not less than 0.30 and less than 0.70 is registered as a medium power retention range, and not less than 0.70 and not greater than 1 is registered as a high power retention range. If the remaining power value after the path segment is executed is greater than the rated battery capacity, it is registered as a battery record exception and the original read value is retained. If the rated battery capacity is not registered or is zero, the record is entered into the capacity supplement field. After completing the division calculation of the remaining power value after the path segment is executed and the rated battery capacity, the power retention rate is generated.
[0034] The working time occupancy submodule calls the power retention rate, collects the continuous working time value and the robot's rated continuous working time, performs a division calculation on the continuous working time value and the robot's rated continuous working time, and divides the continuous working time value by the robot's rated continuous working time to obtain the time occupancy rate; The working time occupancy submodule, based on the power retention rate, first reads the power retention rate obtained from the remaining power rate submodule and binds it to the same assembly robot number, task number, and path segment number. Then, it reads the continuous operation duration value from the robot's operation log and the robot's rated continuous operation duration from the robot parameter table. The continuous operation duration value is recorded based on the cumulative time the robot has spent in moving, positioning, clamping, assembling, and waiting states since the start of this operation. The robot's rated continuous operation duration is read according to the single continuous operation limit registered in the equipment manual or maintenance system. Taking assembly robot A1 as having worked continuously for 180 minutes, with a rated continuous operation duration of 300 minutes, both times are first unified to minutes. Then, 180 is divided by 300 to obtain 0.60, which is written into the time occupancy rate field. Taking assembly robot A2 as having worked continuously for 240 minutes, with a rated continuous operation duration of 360 minutes, 240 is divided by 360 to obtain approximately 0.667, which is written into... The occupancy rate field is calculated as follows: Assuming assembly robot A3 operates continuously for 90 minutes, and the robot's rated continuous operating time is 300 minutes, 90 divided by 300 yields 0.30. This 0.30 is written into the occupancy rate field. A occupancy rate not less than 0 and less than 0.40 is registered as a low occupancy range; not less than 0.40 and less than 0.80 is registered as a medium occupancy range; and not less than 0.80 and not greater than 1 is registered as a high occupancy range. If the continuous operating time exceeds the robot's rated continuous operating time, the actual division result is used for registration. For example, if the continuous operating time is 330 minutes and the robot's rated continuous operating time is 300 minutes, 330 divided by 300 yields 1.10, which is written into the occupancy rate field. If the robot's rated continuous operating time is not registered or is zero, the record is entered into the rated operating time supplement field. After completing the division calculation between the continuous operating time and the robot's rated continuous operating time, the occupancy rate is obtained.
[0035] Reward deduction submodule: Based on the battery retention rate and time occupancy rate, it calls the yielding sorting value, performs deduction calculation on the battery retention rate, time occupancy rate, and yielding sorting value, subtracts the time occupancy rate from the battery retention rate, and then subtracts the yielding sorting value. The deduction value is written to the output of the reward write-back module to generate the reward update rate. The reward deduction submodule, based on the power retention rate and time occupancy rate, first reads the power retention rate written by the remaining power rate submodule, then reads the time occupancy rate written by the time occupancy submodule, and calls the yielding sort value in the same channel event or the same path segment record. It then groups the three values into the same deduction record according to the assembly robot number, task number, and path segment number, and then performs sequential deduction: first, it subtracts the time occupancy rate from the power retention rate, then subtracts the yielding sort value from the resulting value, and finally takes the power retention rate of assembly robot A1. The battery retention rate is 0.72, the time occupancy rate is 0.60, and the yield value is 0.08. First, subtract 0.60 from 0.72 to get 0.12, then subtract 0.08 from 0.12 to get 0.04. This 0.04 is written into the deduction value field. For assembly robot A2, the battery retention rate is 0.62, the time occupancy rate is 0.667, and the yield value is 0.20. First, subtract 0.667 from 0.62 to get approximately -0.047, then subtract 0.20 from -0.047 to get approximately... The value is -0.247, which is written into the deduction value field. The battery retention rate of assembly robot A3 is 0.20, the time occupancy rate is 0.30, and the yield sort value is 1.669. First, subtract 0.30 from 0.20 to get -0.10, then subtract 1.669 from -0.10 to get -1.769. This -1.769 is written into the deduction value field. A yield sort value of 0 indicates that no same-edge reverse conflict has been registered for this path segment; a yield sort value greater than 0 and less than 1 indicates registration. The low-order occupancy range is registered as the medium-order occupancy range when the yielding sorting value is not less than 1 and less than 3, and the high-order occupancy range when the yielding sorting value is not less than 3. When the deduction value is greater than 0, it is registered as a positive value; when the deduction value is equal to 0, it is registered as a zero value; and when the deduction value is less than 0, it is registered as a negative value. All deduction values are not rounded. After completing the deduction calculation of the power retention rate, time occupancy rate and yielding sorting value, the deduction value is written to the output of the reward write-back module to generate the reward update rate.
[0036] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A large-scale robot task allocation and path planning system based on reinforcement learning, characterized in that, The system includes: The access control module obtains the action number, load, power, and task requirements, calculates the load permit rate and power permit rate according to the action number, and generates the work permit value. The node extension module calls the job permission value and associates it with the action number, compares the action admission threshold, calculates the distance difference based on the distance between adjacent segments, and generates the node penalty rate. The energy consumption trimming module, based on the node penalty rate and associated action number, combines path distance, unit power consumption, additional power consumption, actual power consumption of the previous segment, remaining path length and range threshold to calculate the power consumption value of candidate segments, power consumption change and range gap value, and generate the range penalty rate. The time slot avoidance module monitors path edge number, direction of movement, avoidance opening length, vehicle length, avoidance movement distance, waiting time, power consumption and task time limit based on the endurance penalty rate and associated action number. It then calculates channel conflict value, docking blockage rate, total waiting power consumption value and time limit occupancy rate, and generates yielding sorting value. The reward write-back module, based on the yielding sorting value and associated action number, collects the battery power and operation time after execution, calculates the battery power retention rate and time occupancy rate, deducts the yielding sorting value, and generates the reward update rate.
2. The large-scale robot task allocation and path planning system based on reinforcement learning according to claim 1, characterized in that, The access engagement module includes: The margin deduction submodule obtains the rated load value, current load value, remaining power value, task load requirement value, and task minimum power consumption value of the warehouse handling robot, performs deduction calculation, subtracts the rated load value from the current load value and then subtracts the task load requirement value to obtain the allowable load margin, and subtracts the task minimum power consumption value from the remaining power value to obtain the allowable power margin, forming a margin value group. The proportional conversion submodule calls the margin value group, the rated load value of the warehouse handling robot and the rated capacity of the battery, extracts the allowable load margin and the allowable power margin and performs a division operation. The allowable load margin is divided by the rated load value to obtain the allowable load rate, and the allowable power margin is divided by the rated battery capacity to obtain the allowable power rate, generating the allowable ratio group. The permit synthesis submodule, based on the permit ratio group, calls the load permit rate and the power permit rate and performs a summation operation, writes the summation value to the output of the access debit module, and generates the work permit value.
3. The large-scale robot task allocation and path planning system based on reinforcement learning according to claim 1, characterized in that, The node expansion module includes: The threshold discrimination submodule calls the job permission value and action admission threshold to obtain the distance from the previous node to the current node, the distance from the current node to the candidate expansion node, and the path segment increment threshold. It compares the job permission value with the action admission threshold. If the job permission value is less than the action admission threshold, it writes the value 1. If the job permission value is not less than the action admission threshold, it writes the value 0. It generates an admission branch value. The distance difference submodule, based on the admission branch value, calls the distance from the previous node to the current node and the distance from the current node to the candidate expansion node and performs branch judgment. When the admission branch value is one, it writes a zero value. When the admission branch value is zero, it subtracts the distance from the previous node to the current node from the distance from the current node to the candidate expansion node to obtain the distance difference. The normalization rate submodule performs normalization calculations by calling the path segment increment threshold based on the admission branch value and the distance difference. When the admission branch value is 1, it writes the value 1; when the admission branch value is 0 and the distance difference is less than 0, it writes the value 0; when the admission branch value is 0 and the distance difference is not less than 0, it divides the distance difference by the path segment increment threshold to generate the node penalty rate.
4. The large-scale robot task allocation and path planning system based on reinforcement learning according to claim 1, characterized in that, The energy consumption reduction module includes: The electrical parameter calculation module collects the power consumption per unit distance, the power consumption per slope, the power consumption per corner, and the distance from the current node to the candidate expansion node. It performs multiplication and addition calculations, multiplying the power consumption per unit distance by the distance from the current node to the candidate expansion node, and then adding the power consumption per slope and the power consumption per corner to generate the power consumption value of the candidate segment. The difference zeroing submodule calls the power consumption value of the candidate segment and the actual power consumption value of the previous path segment, performs a deduction judgment, subtracts the actual power consumption value of the previous path segment from the power consumption value of the candidate segment, writes the result to zero when the difference is less than zero, and writes the result to the difference when it is greater than zero, thus obtaining the change in power consumption. The margin determination submodule collects the remaining path length, remaining power value, power consumption per unit distance, and lower limit threshold for battery life based on the power consumption value of the candidate segment. It calculates the remaining power value minus the power consumption value of the candidate segment, minus the power consumption value per unit distance, and multiplies it by the remaining path length to obtain the remaining battery life value. When the remaining battery life value is lower than the lower limit threshold, the lower limit threshold minus the remaining battery life value is written; otherwise, zero is written to obtain the battery life gap value. The rate aggregation submodule calls the node penalty rate, power consumption change, and range deficit value, combines the power consumption change threshold and the battery rated capacity to perform rate summation, adds the node penalty rate to the power consumption change, divides it by the power consumption change threshold, adds the range deficit value and divides it by the battery rated capacity to generate the range penalty rate.
5. The large-scale robot task allocation and path planning system based on reinforcement learning according to claim 1, characterized in that, The time slot avoidance module includes: The edge direction determination submodule monitors the path edge number and movement direction based on the endurance penalty rate. If the path edge number is the same and the movement direction is opposite, it writes a value of 1; otherwise, it writes a value of zero and generates a channel conflict value. The parking space calculation submodule calls the channel conflict value, compares the effective length of the avoidance opening with the vehicle length. When the channel conflict value is zero, it writes a zero value. When the channel conflict value is one and the effective length of the avoidance opening is less than the vehicle length, it writes a one value. When the channel conflict value is one and the effective length of the avoidance opening is greater than the vehicle length, it divides the vehicle length by the effective length of the avoidance opening to obtain the parking blockage rate. The time consumption calculation submodule calculates the sum of the distance traveled to the bypass and the distance to re-enter the main channel based on the docking blockage rate, multiplies it by the unit movement power consumption value, adds the expected waiting time multiplied by the unit waiting power consumption value, and divides it by the battery rated capacity; it subtracts the expected arrival time of the task from the latest arrival time of the task to obtain the task time limit margin. If the task time limit margin is positive, it is added to the expected channel passage time and divided by the task time limit margin; otherwise, it is added by a value of one to generate the time consumption conversion rate. The sorting-to-value submodule calls the channel conflict value, docking blocking rate, time consumption conversion rate, and endurance penalty rate. It sums the docking blocking rate, time consumption conversion rate, and endurance penalty rate to form the avoidance penalty value, and then multiplies it by the channel conflict value to generate the yielding sorting value.
6. The large-scale robot task allocation and path planning system based on reinforcement learning according to claim 1, characterized in that, The reward write-back module includes: The Remaining Power Rate Submodule receives the yielding sorting value, collects the remaining power value and the battery rated capacity after the path segment is executed, performs a division calculation, divides the remaining power value of the path segment by the battery rated capacity, and generates the power retention rate. The working time occupancy submodule collects the continuous working time value and the robot's rated continuous working time after the power retention rate is generated, performs a division calculation, divides the continuous working time value by the robot's rated continuous working time, and obtains the time occupancy rate. The reward deduction submodule, based on the battery retention rate and time occupancy rate, calls the yielding sorting value, performs the deduction calculation, subtracts the time occupancy rate from the battery retention rate, then subtracts the yielding sorting value, and writes the deduction value to the output of the reward write-back module to generate the reward update rate.