Method, system, electronic equipment, medium and program product for adjusting warehouse during idle time of smart cabinet
By implementing idle warehouse adjustment method in smart cabinets, the problem that robots cannot effectively complete multiple tasks in building scenarios is solved, and the effect of improving resource utilization and reducing waste is achieved.
Patent Information
- Application Number
- CN202111437365.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-29
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-11-29
AI Technical Summary
In building scenarios, a single form of robot cannot effectively complete multiple tasks, resulting in low resource utilization, flooding of machines and waste in iteration.
By introducing an idle bin adjustment method in the smart cabinet, the robotic arm changes the relative position of the storage during idle time, optimizes the combination and exchange of unit boxes, and improves the efficiency of subsequent assembly and task execution.
It realizes adjusting the storage position when idle, improves the replacement efficiency of robot equipment modules and task execution efficiency, and reduces the actual operation time of the robot arm.
Smart Images

Figure CN114091777B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of smart device technology, and in particular, to a method, system, electronic device, medium and program product for adjusting inventory in a smart cabinet during idle time. Background Art
[0002] With the continuous development and innovation of technology, robots can provide more and more help to people. In terms of building scenarios, robots are already capable of a series of tasks such as delivery of takeout and express delivery, recycling of designated materials, indoor tour guide inspections and regular disinfection. I believe that in the foreseeable future, robots will be able to complete more and more types of tasks in more scenarios.
[0003] Faced with a variety of different tasks, a single type of robot is obviously not enough, and creating professional robots for each type will inevitably lead to problems such as low resource utilization, machine proliferation, and a lot of waste during iterations. Summary of the invention
[0004] The present invention provides a method, system, electronic equipment, medium and program product for adjusting the storage space of a robot intelligent cabinet during idle time in a building scenario, which can change the relative position of storage during idle time to improve the efficiency of subsequent assembly and task execution.
[0005] In the first aspect, an embodiment of the present invention provides a method for adjusting warehouses of a robot smart cabinet in a building scenario during idle time, wherein the smart cabinet comprises a shelf and a plurality of unit boxes, wherein the plurality of unit boxes are respectively placed on the shelf, and a plurality of adjacent unit boxes form a unit group, wherein the reserved unit box is an independent unit box; and further comprises a robotic arm, wherein the robotic arm is used to move and grab the to-be-dispatched box, i.e., the unit group and / or the independent unit box, to exchange the unit group and / or the independent unit box on the smart cabinet; the method comprises:
[0006] Step S1, traverse the storage-related tasks in the to-be-scheduled box, and determine the priority value of each to-be-scheduled box according to the immediacy of the storage-related tasks;
[0007] Step S2, sorting the boxes to be dispatched from high to low according to the priority values, excluding empty boxes to be dispatched, their own unit groups or their own unit boxes, and boxes to be dispatched whose space specifications are smaller than the specifications occupied by storage-related tasks in their own unit groups or their own unit boxes, so as to generate a comparison queue;
[0008] Step S3, traverse the comparison queue, exchange the storage-related tasks of the own unit group or the own unit box with the boxes to be scheduled in the comparison queue in turn, and generate an exchange queue; determine each exchange in the exchange queue, and take the minimum value dv of the difference between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange. min And the corresponding exchange information, if it is determined that dvmin <DV, then assign DV=dv, position adjustment information=exchange information, until the comparison queue is traversed, where the initial value of DV is, if DV<0, then actually exchange 0 according to the position adjustment information.
[0009] Preferably, the method further comprises:
[0010] According to the specifications of the horizontal or vertical unit boxes in the equipment module of the robot, the unit groups are set, and the compartments of the smart cabinet are divided into groups; wherein each compartment in the smart cabinet can accommodate one unit box;
[0011] If it is determined that there are still independent cells after the longitudinal cells are divided into multiple unit groups, the cells in the middle row are reserved to accommodate the independent unit boxes. If it is determined that there are still independent cells after the transverse cells are divided into multiple unit groups, the cells close to the robot entry and exit position are reserved to accommodate the independent unit boxes.
[0012] Preferably, the storage-related tasks include high-immediate tasks and non-immediate tasks; during the peak delivery period, if high-immediate tasks already exist in the current unit group and / or independent unit box, non-immediate tasks are not allowed to be placed in, and if non-immediate tasks already exist in the current unit group and / or independent unit box, high-immediate tasks are not allowed to be placed in.
[0013] Preferably, the step S1 specifically includes:
[0014] Get the storage-related tasks in the to-be-scheduled box as high-immediate tasks or non-immediate tasks, and determine the expected task duration, the latest task start time, and the earliest task start time to determine the priority value V of each to-be-scheduled box:
[0015] V 高即时 = expected task duration + γ (latest task start time - earliest task start time)
[0016] V 非即时 ==Expected task duration
[0017] In the above formula, γ is a parameter between 0 and 1.
[0018] Preferably, the step S2 specifically includes:
[0019] Step S21, traverse the storage-related tasks in the box to be scheduled, and read the storage specifications and task information occupying the box to be scheduled;
[0020] Step S22: If it is not during the peak delivery period, the boxes to be dispatched are sorted from high to low according to the priority values, and empty boxes to be dispatched, their own unit groups or their own unit boxes, and boxes to be dispatched whose space specifications are smaller than the specifications occupied by the storage-related tasks in their own unit groups or their own unit boxes are excluded to form a comparison queue;
[0021] If it is during the peak delivery period and the task is of high immediacy, then the empty boxes to be dispatched, the unit group or the unit box itself, and the boxes to be dispatched whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit group or the unit box itself are excluded, and the boxes to be dispatched are sorted according to the earliest task start time in each box to form a comparison queue;
[0022] If it is during the peak delivery period and it is a non-immediate task, the boxes to be dispatched are sorted from high to low according to the priority value, excluding empty boxes to be dispatched, their own unit groups or their own unit boxes, boxes to be dispatched containing high-immediate tasks, and boxes to be dispatched whose space specifications are smaller than the specifications occupied by storage-related tasks in their own unit groups or their own unit boxes, so as to form a comparison queue.
[0023] Preferably, in step S3, the own unit group or the own unit box sequentially exchanges storage-related tasks with the boxes to be scheduled in the comparison queue, specifically including:
[0024] The specifications occupied by the storage in its own unit group or independent cell are used to try to occupy the space of the remaining target boxes to be scheduled in the comparison queue in turn. When the occupation involves existing storage, the existing storage is used as the exchange object, and all the boxes to be scheduled in the comparison queue are traversed to form an exchange queue, and the exchange queue is deduplicated.
[0025] Preferably, in step S3, dv=the sum of the priority values of the two parties after the exchange-the sum of the priority values of the two parties before the exchange.
[0026] In a second aspect, an embodiment of the present invention provides an idle warehouse adjustment system for a robot smart cabinet in a building scenario, wherein the smart cabinet comprises a shelf and a plurality of unit boxes, wherein the plurality of unit boxes are respectively placed on the shelf, and a plurality of adjacent unit boxes form a unit group, wherein the reserved unit box is an independent unit box; and further comprises a robotic arm, wherein the robotic arm is used to move and grab the to-be-dispatched box, i.e., the unit group and / or the independent unit box, to exchange the unit group and / or the independent unit box on the smart cabinet; the system comprises:
[0027] The priority module traverses the storage-related tasks in the to-be-scheduled box and determines the priority value of each to-be-scheduled box according to the immediacy of the storage-related tasks;
[0028] A comparison queue generation module is used to sort the boxes to be scheduled from high to low according to the priority value, and exclude empty boxes to be scheduled, their own unit groups or their own unit boxes, and boxes to be scheduled whose space specifications are smaller than the specifications occupied by storage-related tasks in their own unit groups or their own unit boxes, so as to generate a comparison queue;
[0029] The warehouse adjustment determination module traverses the comparison queue, exchanges the storage-related tasks of its own unit group or unit box with the unit groups or unit boxes in the comparison queue in turn, and generates an exchange queue; determines each exchange in the exchange queue, and takes the minimum value dv of the difference between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange. min And the corresponding exchange information, if it is determined that dv min <DV, then assign DV=dv, and the position adjustment information=exchange information, until the comparison queue is traversed. The initial value of DV is 0. If DV<0, the actual exchange is performed according to the position adjustment information.
[0030] In a third aspect, an embodiment of the present invention provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of the method for adjusting warehouses during idle time of a robot smart cabinet in a building scenario as described in the embodiment of the first aspect of the present invention are implemented.
[0031] In a fourth aspect, an embodiment of the present invention provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the method for adjusting warehouses during idle time of a robot smart cabinet in a building scenario as described in the embodiment of the first aspect of the present invention are implemented.
[0032] In a fifth aspect, the present invention provides a computer program product, comprising a computer program or instructions, which, when executed by a processor, implement the steps of the method described in the first aspect of the present invention.
[0033] The embodiments of the present invention provide a method, system, electronic device, medium and program product for adjusting warehouses of a robot smart cabinet in a building scenario during idle time. The unit box of the smart cabinet is set to be replaceable with the equipment module of the robot. The entire equipment module or part of the unit box of the robot can be replaced through the smart cabinet. At the same time, in order to ensure the efficiency of adjusting goods in the smart cabinet, the unit box structure of the smart cabinet is adjusted to form a unit group composed of multiple adjacent unit boxes, as well as an independent unit box. Based on the principle of "first come, first served", the task start time difference is used as one of the factors to be considered when adjusting warehouses for high-immediacy tasks. The unit group or independent unit box in the smart cabinet is adjusted to reduce the actual operation time of the smart cabinet robotic arm. The relative position of the storage can be changed during idle time to improve the efficiency of subsequent assembly and task execution. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0035] Figure 1 It is a flowchart of a method for adjusting warehouses during off-peak hours of a robot smart cabinet in a building scenario according to an embodiment of the present invention;
[0036] Figure 2 A topological diagram of a smart cabinet according to an embodiment of the present invention;
[0037] Figure 3 This is a specific flow chart of the position adjustment method according to an embodiment of the present invention;
[0038] Figure 4 FIG. 4 is a schematic diagram of a physical structure according to an embodiment of the present invention. DETAILED DESCRIPTION
[0039] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0040] In the embodiments of the present application, the term "and / or" is merely a description of the association relationship between associated objects, indicating that three relationships may exist. For example, A and / or B may represent three situations: A exists alone, A and B exist at the same time, and B exists alone.
[0041] The terms "first" and "second" in the embodiments of the present application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first" and "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a system, product or device comprising a series of parts or units is not limited to the listed parts or units, but optionally also includes parts or units that are not listed, or optionally also includes other parts or units inherent to these products or devices. In the description of the present application, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0042] Reference to "embodiment" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments. The following will be described and introduced through multiple embodiments.
[0043] In the following embodiments: the robot is a robot that can change equipment modules, the basic structure of the equipment module is a unit box, and the entire module or part of the unit box can be replaced through the smart cabinet. The unit box may be further divided into unit warehouses according to business needs, for example, the distribution unit box may be divided into two unit warehouses on the left and right; the smart cabinet is an intelligent facility that can be used to change robot equipment and store and retrieve goods.
[0044] It should also be noted that the to-be-dispatched box in the present invention, as a box for exchange, can have multiple forms of existence and exchange, for example, both the unit group and the independent unit box are to-be-dispatched boxes, and exist at the same time; the basic structure of the equipment module on the corresponding robot is a unit box, and the replacement of the entire module or part of the unit box on the robot can be achieved through the smart cabinet. The self-unit group and self-unit box in the following embodiments are all equipment modules of the robot, which can be replaced or exchanged with the unit group and independent unit box on the smart cabinet. The present invention is illustrated below using this as an example.
[0045] Figure 1 An embodiment of the present invention provides a method for adjusting warehouses of a robot smart cabinet in a building scenario during idle time. The smart cabinet includes a shelf and a plurality of unit boxes, wherein the plurality of unit boxes are placed on the shelf respectively, and a plurality of adjacent unit boxes form a unit group, wherein the reserved unit box is an independent unit box; and further includes a robotic arm, wherein the robotic arm is used to move and grab the unit group and / or the independent unit box to exchange the unit group and / or the independent unit box on the smart cabinet; the method includes:
[0046] Step S1, traverse the storage-related tasks in the unit group and the independent unit box, and determine the priority value of each unit group and the independent unit box according to the immediacy of the storage-related tasks;
[0047] Optionally, the unit groups are combined in order of priority, and the robotic arm in the smart cabinet sorts the unit groups and independent unit boxes for exchange with the equipment module of the robot.
[0048] Specifically, in this embodiment, the robot can sense the physical location. The basic information of a point consists of location information and description information, where the location information is the map where it is located and the coordinates in the map. The robot's task types include charging, delivering meals, picking up goods, guiding, patrolling, etc. Depending on the type, the specific description information of the task will be different (for example, a delivery task will include recipient information), but generally includes at least the type of task, start time, and the points passed.
[0049] In this embodiment, the smart cabinet refers to an intelligent facility that can be used to change robot equipment and store and retrieve goods. The basic structure of the smart cabinet is a metal shelf equipped with at least one robotic arm. The vertical and horizontal directions of the metal shelf are divided into cells corresponding to the height and length of the robot unit box respectively. The cell may contain a unit box or may be empty. For easy distinction, this embodiment marks the cells in the order from left to right and from top to bottom as corresponding (horizontal coordinate, vertical coordinate).
[0050] like Figure 2 As shown in the figure, the smart cabinet status refers to the smart cabinet's cell and storage information. According to the size of the robot entering and exiting, the size of the goods stored and retrieved by the user, and some customized requirements, the metal shelves of the smart cabinet will make corresponding structural adjustments, and the actual available cells may be different from the theoretical values. Storage information includes the cell location occupied by the item, the storage time, and related task information.
[0051] According to the specifications of the horizontal or vertical unit boxes in the equipment module of the robot, the unit groups are set, and the compartments of the smart cabinet are divided into groups; wherein each compartment in the smart cabinet can accommodate one unit box;
[0052] If it is determined that there are still independent cells after the longitudinal cells are divided into multiple unit groups, the cells in the middle row are reserved to accommodate the independent unit boxes. If it is determined that there are still independent cells after the transverse cells are divided into multiple unit groups, the cells (i.e., cells) close to the robot entry and exit position are reserved to accommodate the independent unit boxes.
[0053] In this embodiment, Figure 2 As shown in , the unit group needs to be set according to the specifications of the robot, and the cells (bins) of the smart cabinet need to be divided into groups. When the number of vertical cells cannot be divided exactly, leave the cells in the middle row to accommodate independent unit boxes; when the number of horizontal cells cannot be divided exactly, leave the cells close to the robot position. For example: Assuming that the robot entry and exit position is on the far left, the specifications of the smart cabinet are n×m, and the specifications of the robot are r×s, then the upper left coordinates of each unit group belong to the set:
[0054]
[0055] The unit group corresponding to each coordinate (u, v) is:
[0056] {(u+i,v+j);0≤i<r,0≤j<s}
[0057] The above upper left coordinate set may contain duplicate items, and because the actual available slots of the smart cabinet are different from the theoretical values, the operation is based on this set to eliminate duplicate and non-existent unit groups.
[0058] In order to ensure the general efficiency of the robot when changing its outfit (replacing unit boxes or unit groups to achieve loading), it is necessary to make each unit group completely replaceable with the robot's current assembly module. By exchanging storage in different unit groups, this embodiment optimizes the task queues performed by subsequent single robots to improve overall efficiency; independent unit boxes are in the middle or close to the robot position for the placement of scattered goods. When the robot is partially replaced, it may involve multiple scattered goods, that is, the robot arm will move between the robot and the corresponding cells many times. Such an arrangement shortens the distance the robot arm moves between them as much as possible, thereby reducing time loss; when the robot is completely replaced, it may involve unit groups that are far away from the robot position, but because it is a complete replacement, it can be completed with one back and forth movement, and the overall efficiency is still high.
[0059] According to the task type, the occupancy of cells by storage is divided into high-immediate task occupancy and non-immediate task occupancy. High-immediate tasks refer to tasks such as takeout and express delivery that users expect to be completed as soon as possible; non-immediate tasks refer to tasks such as express delivery, magazines and journals that can wait until non-peak hours to be completed. During peak hours, the occupancy of unit groups or independent cells by high-immediate tasks is mutually exclusive with non-immediate tasks, that is, when a high-immediate task already exists in a unit group or independent cell, storage related to non-immediate tasks is not allowed to be placed in it, and vice versa. During peak hours, the robot will only consider unit groups or independent unit boxes containing high-immediate tasks, but because the robot will have sufficient transportation capacity during non-peak hours, non-immediate tasks generally do not appear in large quantities in the smart cabinet (unless it is the moment when the batch arrives, but it will also be quickly digested).
[0060] The storage-related tasks in the unit group and independent unit box are obtained as high-immediate tasks or non-immediate tasks, and the expected task duration, the latest task start time and the earliest task start time are determined to determine the priority value V of each unit group and independent unit box:
[0061] V 高即时 = expected task duration + γ (latest task start time - earliest task start time);
[0062] V 非即时 ==Expected task duration;
[0063] In the above formula, γ is a parameter between 0 and 1, which is used to adjust the optimization weight of the task start time difference. Taking the task start time difference as part of the optimization target of high-immediacy task occupancy is to put tasks with similar start times together. When robots obtain tasks, they will follow the principle of "first come, first served" to a certain extent, rather than only considering completion efficiency. This is a reflection of values. Therefore, in order to uphold such values, this embodiment will also consider this factor when merging high-immediacy tasks.
[0064] Step S2, sorting the unit groups and independent unit boxes from high to low according to the priority values, excluding empty unit groups and independent unit boxes, the unit groups or unit boxes themselves, and the unit groups and unit boxes whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit groups or unit boxes themselves, so as to generate a comparison queue;
[0065] The step S2 specifically includes:
[0066] Step S21, traverse the storage-related tasks in the unit group and the independent unit box, and read the storage specifications and task information of the occupied unit group or the independent unit box;
[0067] Since the tasks in the unit box are constantly changing and new tasks are constantly added, it is necessary to re-traverse and obtain the task information in the unit box in order to sort the priority values in the next step;
[0068] Step S22: If it is not during the peak period of delivery, the unit groups and independent unit boxes are sorted from high to low according to the priority values, and empty unit groups and independent unit boxes, the unit groups or unit boxes themselves, and the unit groups and independent unit boxes whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit groups or unit boxes themselves are excluded to form a comparison queue;
[0069] If it is during the peak delivery period and the task is of high immediacy, then the empty unit groups and independent unit boxes, the unit groups or unit boxes themselves, and the unit groups and independent unit boxes whose space specifications are smaller than the specifications occupied by the storage-related tasks in their unit groups or unit boxes are excluded, and the tasks are sorted according to the earliest task start time in each unit group or independent unit box to form a comparison queue;
[0070] If it is during the peak delivery period and the task is not immediate, the unit groups and independent unit boxes will be sorted from high to low according to the priority value, excluding empty unit groups and independent unit boxes, the unit group or the unit box itself, the unit group or the independent unit box containing high immediate tasks, and the unit group and the independent unit box whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit group or the unit box itself, so as to form a comparison queue.
[0071] In this embodiment, the time consumption of the robot task is mainly composed of movement time, waiting time and interaction time. The movement of the robot is divided into horizontal movement and longitudinal movement. The time consumption of horizontal movement can be estimated based on the path distance of point planning and the average speed of the robot. However, in terms of time and energy consumption, the longitudinal movement in the current building is more efficient by relying on the elevator. At this time, the estimation becomes the estimation of the time to wait for the elevator and take the elevator. When the tasks in the unit group involve multiple floors, the order of floor selection will affect the overall time consumption. Although the robot will adjust the elevator strategy according to the current state of the elevator in actual movement, the future state of the elevator is affected by the human button pressing time and is unpredictable to a certain extent. Therefore, this embodiment here uniformly estimates the floors in order from high to low.
[0072] The waiting and interaction time are generally related to the type of task and may fluctuate. This embodiment estimates the waiting and interaction time of similar tasks of the same type by applying half-life weighting to historical data.
[0073] Traverse the cell groups and independent cell boxes in descending order according to the V value, and optimize the traversed cell groups or cell boxes according to the following process, such as Figure 3 As shown in, including:
[0074] Initialize the warehouse adjustment information and set DV = 0. Traverse the storage information in the unit group or unit box.
[0075] According to whether it is a peak period and whether the storage-related task is a high-immediacy task, the unit groups or unit boxes in the smart cabinet other than the cabinet itself and the empty ones are filtered to generate a comparison queue. The reason why empty unit groups and unit boxes can be excluded is that placing existing storage in them will obviously only increase the overall task time consumption, and the gains and losses caused by the difference in task start time have been compared as early as when the storage is placed in the unit group.
[0076] Further determine whether to exclude the unit box in the comparison queue based on the storage size.
[0077] Step S3, traversing the comparison queue: When it is at the peak period and the storage-related tasks are high-immediate tasks, the comparison queue is sorted according to the earliest task start time in the unit group or unit box.
[0078] like Figure 3 As shown in , the storage-related tasks of the own unit group or unit box are exchanged with the unit groups or unit boxes in the comparison queue in turn to generate an exchange queue; according to the storage occupation specification, the space of the remaining target unit groups or unit boxes in the comparison queue is attempted to be occupied in sequence, and when the occupation involves existing storage, the storage is used as the exchange object, that is, the items to be placed in the original unit group or unit box. The exchange queue obtained after such attempts is deduplicated.
[0079] Determine for each exchange in the exchange queue, the difference dv between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange (the sum of the priority values of the two parties after the exchange - the sum of the priority values of the two parties before the exchange), and take the minimum value dv min And the corresponding exchange information, if it is determined that dv min <DV, then assign DV=dv, and the position adjustment information=exchange information, until the comparison queue is traversed. The initial value of DV is 0. When the DV value is less than 0, the actual exchange is performed according to the position adjustment information.
[0080] In step S3, the own unit group or the own unit box sequentially exchanges storage-related tasks with the unit groups or unit boxes in the comparison queue, specifically including:
[0081] The specifications occupied by the storage in its own cell group or independent cell are tried to occupy the space of the target cell group or independent cell in the comparison queue in order from left to right and from top to bottom. When the occupation involves existing storage, the existing storage is used as the exchange object and the exchange queue is deduplicated.
[0082] Although the above process involves many loops and seems to have a high computational complexity, the swapping of tasks often only involves the reduction of horizontal movement and floor switching. By caching the step-by-step time of these tasks, most calculations can be simplified to addition and subtraction, so the overall time consumption is still significantly less than the actual operation time of the robot arm, so it is cost-effective.
[0083] An embodiment of the present invention further provides a system for adjusting warehouses during idle time of a robot smart cabinet in a building scenario. Based on the method for adjusting warehouses during idle time of a robot smart cabinet in a building scenario in the above embodiments, the smart cabinet comprises a shelf and a plurality of unit boxes, wherein the plurality of unit boxes are respectively placed on the shelf, and a plurality of adjacent unit boxes form a unit group, wherein the reserved unit box is an independent unit box; and further comprises a robotic arm, wherein the robotic arm is used to move and grab the unit group and / or the independent unit box to exchange the unit group and / or the independent unit box on the smart cabinet; the system comprises:
[0084] The priority module traverses the storage-related tasks in the unit group and the independent unit box, and determines the priority value of each unit group and the independent unit box according to the immediacy of the storage-related tasks;
[0085] A comparison queue generation module is used to sort the unit groups and independent unit boxes from high to low according to the priority values, and exclude empty unit groups and independent unit boxes, the unit groups or unit boxes themselves, and unit groups and unit boxes whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit groups or unit boxes themselves, so as to generate a comparison queue;
[0086] The warehouse adjustment determination module traverses the comparison queue, exchanges the storage-related tasks of its own unit group or unit box with the unit groups or unit boxes in the comparison queue in turn, and generates an exchange queue; determines each exchange in the exchange queue, and takes the minimum value dv of the difference between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange. min And the corresponding exchange information, if it is determined that dv min <DV, then assign DV=dv, position adjustment information=exchange information, until the comparison queue is traversed, where the initial value of DV is 0.
[0087] Based on the same concept, the embodiment of the present invention also provides a schematic diagram of an entity structure, such as Figure 4 As shown, the server may include: a processor 810, a communication interface 820, a memory 830 and a communication bus 840, wherein the processor 810, the communication interface 820 and the memory 830 communicate with each other through the communication bus 840. The processor 810 may call the logic instructions in the memory 830 to execute the steps of the idle time adjustment method of the robot smart cabinet in the building scenario as described in the above embodiments. For example, it includes:
[0088] Step S1, traverse the storage-related tasks in the unit group and the independent unit box, and determine the priority value of each unit group and the independent unit box according to the immediacy of the storage-related tasks;
[0089] Step S2, sorting the unit groups and independent unit boxes from high to low according to the priority values, excluding empty unit groups and independent unit boxes, the unit groups or unit boxes themselves, and the unit groups and unit boxes whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit groups or unit boxes themselves, so as to generate a comparison queue;
[0090] Step S3, traverse the comparison queue, exchange the storage-related tasks of the own unit group or unit box with the unit groups or unit boxes in the comparison queue in turn, and generate an exchange queue; determine each exchange in the exchange queue, and take the minimum value dv of the difference between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange. min And the corresponding exchange information, if it is determined that dv min <DV, then assign DV=dv, and the position adjustment information=exchange information, until the comparison queue is traversed. The initial value of DV is 0. If DV<0, the actual exchange is performed according to the position adjustment information.
[0091] In addition, the logic instructions in the above-mentioned memory 830 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0092] Based on the same concept, an embodiment of the present invention further provides a non-transitory computer-readable storage medium, which stores a computer program, which includes at least one code segment, which can be executed by a main control device to control the main control device to implement the steps of the idle time adjustment method of the robot smart cabinet in the building scenario as described in the above embodiments. For example, it includes:
[0093] Step S1, traverse the storage-related tasks in the unit group and the independent unit box, and determine the priority value of each unit group and the independent unit box according to the immediacy of the storage-related tasks;
[0094] Step S2, sorting the unit groups and independent unit boxes from high to low according to the priority values, excluding empty unit groups and independent unit boxes, the unit groups or unit boxes themselves, and the unit groups and unit boxes whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit groups or unit boxes themselves, so as to generate a comparison queue;
[0095] Step S3, traverse the comparison queue, exchange the storage-related tasks of the own unit group or unit box with the unit groups or unit boxes in the comparison queue in turn, and generate an exchange queue; determine each exchange in the exchange queue, and take the minimum value dv of the difference between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange. min And the corresponding exchange information, if it is determined that dv min <DV, then assign DV=dv, position adjustment information=exchange information, until the comparison queue is traversed, where the initial value of DV is 0.
[0096] Based on the same technical concept, an embodiment of the present application also provides a computer program, which, when executed by a main control device, is used to implement the above method embodiment.
[0097] The program may be stored in whole or in part on a storage medium packaged together with the processor, or may be stored in whole or in part on a memory not packaged together with the processor.
[0098] Based on the same technical concept, the embodiment of the present application further provides a processor, which is used to implement the above method embodiment. The above processor can be a chip.
[0099] Based on the same technical concept, an embodiment of the present application further provides a computer program product, including a computer program or instructions, which implement the steps of the method in the above embodiment when executed by a processor.
[0100] In summary, the embodiments of the present invention provide a method, system, electronic device, medium and program product for adjusting warehouses during idle time of a robot smart cabinet in a building scenario. The unit box of the smart cabinet is set to be replaceable with the equipment module of the robot. The entire equipment module or part of the unit box of the robot can be replaced through the smart cabinet. At the same time, in order to ensure the efficiency of adjusting goods in the smart cabinet, the unit box structure of the smart cabinet is adjusted to form a unit group composed of multiple adjacent unit boxes, as well as an independent unit box. Based on the principle of "first come, first served", the task start time difference is used as one of the factors to be considered when adjusting warehouses for high-immediacy tasks. The unit group or independent unit box in the smart cabinet is adjusted to reduce the actual operation time of the smart cabinet robotic arm. The relative position of the storage can be changed during idle time to improve the efficiency of subsequent assembly and task execution.
[0101] The various embodiments of the present invention can be combined arbitrarily to achieve different technical effects.
[0102] In the present invention, as a box for exchange, that is, a box to be dispatched, when exchanged, only the unit group can be exchanged (at this time, only the unit group is available for exchange in the smart cabinet), or only the independent unit box can be exchanged (at this time, only the independent unit box is available for exchange in the smart cabinet), or both the unit group and the independent unit box in the above embodiment can be exchanged (at this time, the box to be dispatched in the smart cabinet has both the unit group and the independent unit box). When the box to be dispatched is a unit group and an independent unit box, the unit group and the independent unit box are respectively used as independent boxes to be dispatched and the method in the above embodiment is used to adjust the warehouse. When the box to be dispatched is a unit group or an independent unit box, the above embodiment can also be used to complete the implementation, and it will not be explained one by one here. For boxes to be dispatched of different specifications or exchange forms, the method described in the above embodiment can be used.
[0103] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in this application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk SolidStateDisk), etc.
[0104] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
[0105] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for adjusting warehouses in idle time of a robot smart cabinet in a building scenario, wherein the smart cabinet comprises a shelf and a plurality of unit boxes, wherein the plurality of unit boxes are respectively placed on the shelf, and a plurality of adjacent unit boxes form a unit group, wherein: The reserved unit box is an independent unit box; further comprising a mechanical arm, the mechanical arm is used to move and grab the to-be-dispatched box, i.e., the unit group and / or the independent unit box, to exchange the unit group and / or the independent unit box on the intelligent cabinet; characterized in that the method comprises: Step S1, traverse the storage-related tasks in the to-be-scheduled box, and determine the priority value of each to-be-scheduled box according to the immediacy of the storage-related tasks; Step S2, sorting the boxes to be dispatched from high to low according to the priority values, excluding empty boxes to be dispatched, their own unit groups or their own unit boxes, and boxes to be dispatched whose space specifications are smaller than the specifications occupied by storage-related tasks in their own unit groups or their own unit boxes, so as to generate a comparison queue; Step S3, traverse the comparison queue, exchange the storage-related tasks with the boxes to be dispatched in the comparison queue in turn by the unit group or the unit box itself, and generate an exchange queue; determine each exchange in the exchange queue, the difference dv between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange, take the minimum value dv min and the corresponding exchange information, if it is judged that dv min <DV, then assign DV=dv, the warehouse adjustment information=exchange information, until the comparison queue is traversed, wherein the initial value of DV is 0, if DV<0, then the actual exchange is performed according to the warehouse adjustment information, the storage-related tasks include high-immediate tasks and non-immediate tasks; during the peak period of distribution, if there are already high-immediate tasks in the current box to be dispatched, non-immediate tasks are not allowed to be placed, and if there are already non-immediate tasks in the current box to be dispatched, high-immediate tasks are not allowed to be placed, the step S1 specifically includes: Get the storage-related tasks in the to-be-scheduled box, distinguish between high-immediate tasks and non-immediate tasks, and determine the expected task duration, the latest task start time, and the earliest task start time to determine the priority value V of each to-be-scheduled box: V high immediacy = expected task duration + γ (latest task start time - earliest task start time); V Non-instantaneous == expected task duration; In the above formula, γ is a parameter between 0 and 1.
2. The idle time adjustment method of the robot intelligent cabinet in the building scene according to claim 1 is characterized in that: The step S2 specifically includes: Step S21, traverse the storage-related tasks in the box to be scheduled, and read the storage specifications and task information occupying the box to be scheduled; Step S22: If it is not during the peak delivery period, the boxes to be dispatched are sorted from high to low according to the priority values, and empty unit groups and / or independent unit boxes, their own unit groups or their own unit boxes, and boxes to be dispatched whose space specifications are smaller than the specifications occupied by the storage-related tasks in their own unit groups or their own unit boxes are excluded, so as to form a comparison queue; If it is during the peak delivery period and the task is of high immediacy, then the empty boxes to be dispatched, the unit group or the unit box itself, and the boxes to be dispatched whose space specifications are smaller than the specifications occupied by the storage-related tasks in the unit group or the unit box itself are excluded, and the boxes to be dispatched are sorted according to the earliest task start time in each box to form a comparison queue; If it is during the peak delivery period and it is a non-immediate task, the boxes to be dispatched are sorted from high to low according to the priority value, excluding empty boxes to be dispatched, their own unit groups or their own unit boxes, boxes to be dispatched containing high-immediate tasks, and boxes to be dispatched whose space specifications are smaller than the specifications occupied by storage-related tasks in their own unit groups or their own unit boxes, so as to form a comparison queue.
3. The idle time adjustment method of the robot intelligent cabinet in the building scene according to claim 1 is characterized in that: In step S3, the own unit group or the own unit box sequentially exchanges storage-related tasks with the boxes to be scheduled in the comparison queue, specifically including: The specifications occupied by the storage in its own cell group or independent cell are used to try to occupy the space of the remaining target cell groups and / or independent cells in the comparison queue in turn. When the occupation involves existing storage, the existing storage is used as the exchange object, all cell groups and / or independent cells in the comparison queue are traversed to form an exchange queue, and the exchange queue is deduplicated.
4. The idle time adjustment method of the robot intelligent cabinet in the building scene according to claim 1 is characterized in that: In step S3, dv=the sum of the priority values of the two parties after the exchange-the sum of the priority values of the two parties before the exchange.
5. A system for adjusting warehouses during off-peak hours of a robot smart cabinet in a building scenario using the method for adjusting warehouses during off-peak hours of a robot smart cabinet in a building scenario as described in any one of claims 1 to 4, wherein the smart cabinet comprises a shelf and a plurality of unit boxes, wherein the plurality of unit boxes are respectively placed on the shelf, and a plurality of adjacent unit boxes form a unit group, wherein: The reserved unit box is an independent unit box; further comprising a mechanical arm, the mechanical arm is used to move and grab the to-be-dispatched box, i.e., the unit group and / or the independent unit box, to exchange the unit group and / or the independent unit box on the intelligent cabinet; characterized in that the system comprises: The priority module traverses the storage-related tasks in the to-be-scheduled box and determines the priority value of each to-be-scheduled box according to the immediacy of the storage-related tasks; A comparison queue generation module is used to sort the boxes to be scheduled from high to low according to the priority value, and exclude empty boxes to be scheduled, their own unit groups or their own unit boxes, and boxes to be scheduled whose space specifications are smaller than the specifications occupied by storage-related tasks in their own unit groups or their own unit boxes, so as to generate a comparison queue; The warehouse adjustment determination module traverses the comparison queue, exchanges its own unit group or unit box with the unit groups or unit boxes in the comparison queue for storage-related tasks in turn, and generates an exchange queue; determines each exchange in the exchange queue, and takes the minimum value dv min and the corresponding exchange information of the difference dv between the priority values of the two parties before the exchange and the priority values of the two parties after the exchange. If it is judged that dv min <DV, then DV=dv is assigned, and the warehouse adjustment information=exchange information, until the comparison queue is traversed, where the initial value of DV is 0. If DV<0, the actual exchange is performed according to the warehouse adjustment information.
6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of the method for adjusting warehouses during off-peak hours of the robot smart cabinet in the building scenario as described in any one of claims 1 to 4 are implemented.
7. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method for adjusting warehouses during off-peak hours of a robot smart cabinet in a building scenario as described in any one of claims 1 to 4 are implemented.
8. A computer program product, characterized in that The method comprises a computer program or an instruction, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Scheduling method of intelligent distribution system, server and storage medium
CN112184098A
Intelligent task scheduling method, device and apparatus and storage medium
WO2020186787A1