CN113253713A - Task execution method and device - Google Patents
Task execution method and device Download PDFInfo
- Publication number
- CN113253713A CN113253713A CN202010082792.7A CN202010082792A CN113253713A CN 113253713 A CN113253713 A CN 113253713A CN 202010082792 A CN202010082792 A CN 202010082792A CN 113253713 A CN113253713 A CN 113253713A
- Authority
- CN
- China
- Prior art keywords
- locking
- points
- point
- path
- locked
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007599 discharging Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
The invention discloses a task execution method and a task execution device, and relates to the technical field of warehouse logistics. One embodiment of the method comprises: dividing path points in the narrow roadway, and determining locking points in the path points; determining a first sequence number of each locking point, and generating a locking point set; determining a second sequence number of each path point in the picking task path; when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, and driving the trolley to run under the condition of locking all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set so as to execute the picking task; after the trolley passes through the locked locking point, the locking of the locking point is released. The method improves the concurrency of the AGV trolleys, and further improves the sorting efficiency; the deadlock is avoided by sequentially locking.
Description
Technical Field
The invention relates to the technical field of warehouse logistics, in particular to a task execution method and a task execution device.
Background
With the development of automation technology, AGVs (Automated Guided vehicles) are increasingly used in warehouse logistics. In some special scenarios, the special conditions of the production environment may not provide enough space for AGVs, such as a narrow roadway through which only one AGV can pass at a time. Because the path of the narrow lane is a bidirectional path, the deadlock problem when a plurality of trolleys run simultaneously needs to be considered. How to enable more AGVs to work simultaneously in a narrow roadway becomes a problem to be solved for improving the carrying efficiency under the special scene.
In the process of implementing the invention, the inventor finds that at least the following problems exist in the prior art: the prior art directly sets up whole tunnel into a mutual exclusion district, leads to AGV's concurrency degree to be low, very big influence the efficiency of picking up goods.
Disclosure of Invention
In view of this, embodiments of the present invention provide a task execution method and apparatus, which can improve the concurrency of AGV carts, further improve the sorting efficiency, and avoid deadlock by sequentially locking.
To achieve the above object, according to an aspect of an embodiment of the present invention, there is provided a task execution method including:
dividing path points in a narrow tunnel, determining the path points needing to be locked in the path points, and taking the path points needing to be locked as locking points, wherein the narrow tunnel can only accommodate one trolley to pass through;
determining a first sequence number of each locking point, and generating a locking point set;
determining a second sequence number of each path point in the picking task path;
when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, and determining whether all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked or not;
if so, locking all locking points of which the first sequence numbers are not more than the first sequence number of the target locking point in the locking point set, and driving a trolley to run so as to execute a picking task; and after the trolley passes through the locked locking point, unlocking the locking point.
Optionally, the method further comprises: and after the locking points are unlocked, determining a new target locking point and determining whether all locking points with the first sequence numbers not larger than the first sequence number of the new target locking point in the locking point set can be locked until the trolley finishes a picking task.
Optionally, determining a new target locking point comprises:
determining whether the unlocked locking point is the locking point with the smallest first sequence number in the locked locking points;
if yes, determining a new target locking point.
Optionally, dividing path points in the narrow lane, determining a path point that needs to be locked in the path points, and taking the path point that needs to be locked as a locking point includes: and determining a starting point, an end point and an intersection point of the narrow roadway, and taking the starting point, the end point and the intersection point as locking points.
Optionally, determining whether all locking points in the set of locking points whose first sequence number is not greater than the first sequence number of the target locking point can be locked includes:
determining whether all locking points in the set of locking points with a first sequence number not greater than the target locking point are locked;
if a locked locking point exists, determining whether the direction of the locked locking point when locked is consistent with the direction of the picking task path.
Optionally, determining the first sequence number of each locking point includes: sorting according to the direction of a path from a picking point to a discharging point or sorting according to the direction of a path from the discharging point to the picking point;
determining a second sequence number for each path point in the picking task path comprises: and sequencing all path points in the picking task path according to the driving direction of the picking task path.
Optionally, dividing the path points in the narrow lane includes: determining unloading points and picking points in a narrow roadway, and taking the unloading points and the picking points as resource points;
before determining whether all locking points in the set of locking points having a first sequence number not greater than the first sequence number of the target locking point can be locked, the method further comprises:
when the end point of the picking task path is a resource point, determining whether the end point can stop;
if yes, determining whether all locking points of which the first sequence numbers are not larger than the first sequence number of the target locking point in the locking point set can be locked.
To achieve the above object, according to another aspect of an embodiment of the present invention, there is provided a task execution device including:
the device comprises a dividing module, a locking module and a locking module, wherein the dividing module is used for dividing path points in a narrow tunnel, determining the path points needing to be locked in the path points and taking the path points needing to be locked as locking points, and the narrow tunnel can only accommodate one trolley to pass through;
the first sequencing module is used for determining a first sequence number of each locking point, generating a locking point set and sequencing the locking points to obtain a locking point set;
the second sorting module is used for determining a second sequence number of each path point in the picking task path;
a locking judgment module, configured to, when the picking task path includes the locking point, use the locking point that does not pass through the picking task path and has the smallest second sequence number as a target locking point, and determine whether all locking points in the locking point set having a first sequence number not greater than a first sequence number of the target locking point can be locked;
the locking module is used for locking all locking points of which the first sequence numbers are not more than the first sequence numbers of the target locking points in the locking point set and driving the trolley to run so as to execute a picking task;
and the locking releasing module is used for releasing the locking of the locking points after the trolley passes through the occupied locking points.
Optionally, the locking determining module is further configured to: after the locking of the locking points is released, determining a new target locking point and determining whether all the locking points of which the first sequence numbers are not greater than the first sequence number of the new target locking point in the locking point set can be locked.
Optionally, the locking determining module is further configured to: determining whether the unlocked locking point is the locking point with the smallest first sequence number in the locked locking points; if yes, determining a new target locking point.
Optionally, the dividing module is further configured to: and determining a starting point, an end point and an intersection point of the narrow roadway, and taking the starting point, the end point and the intersection point as locking points.
Optionally, the locking determining module is further configured to:
determining whether all locking points in the set of locking points with a first sequence number not greater than the target locking point are locked;
if a locked locking point exists, determining whether the direction of the locked locking point when locked is consistent with the direction of the picking task path.
Optionally, the first ordering module is further configured to: sorting according to the direction of a path from a picking point to a discharging point or sorting according to the direction of a path from the discharging point to the picking point;
the second ordering module is further to: and sequencing all path points in the picking task path according to the driving direction of the picking task path.
Optionally, the dividing module is further configured to: determining unloading points and picking points in a narrow roadway, and taking the unloading points and the picking points as resource points;
the locking judgment module is further configured to:
when the end point of the picking task path is a resource point, determining whether the end point can stop;
if yes, determining whether all locking points of which the first sequence numbers are not larger than the first sequence number of the target locking point in the locking point set can be locked.
To achieve the above object, according to still another aspect of an embodiment of the present invention, there is provided an electronic apparatus including: one or more processors; a storage device, configured to store one or more programs, which when executed by the one or more processors, cause the one or more processors to implement the task execution method according to the embodiment of the present invention.
To achieve the above object, according to still another aspect of an embodiment of the present invention, there is provided a computer-readable medium on which a computer program is stored, the program implementing a task execution method of an embodiment of the present invention when executed by a processor.
One embodiment of the above invention has the following advantages or benefits: the path points in the narrow roadway are divided, the path points needing to be locked in the path points are determined, and the path points needing to be locked are used as locking points; determining a first sequence number of each locking point, and generating a locking point set; determining a second sequence number of each path point in the picking task path; when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, locking all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set under the condition that all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked, and driving a trolley to run so as to execute the picking task; after the dolly passes through the locking point that is locked, remove right the technical scheme of locking point, so do not need every to select the task and all occupy once only locking point, consequently improve the concurrency of AGV dolly, improve the quantity that the same time allows to get into the dolly in the same tunnel promptly, and then improve and select efficiency, avoided the emergence of deadlock through the mode of locking in order simultaneously.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of a main flow of a task execution method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a narrow roadway area in a task execution method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of the main flow of a task execution method according to another embodiment of the present invention;
FIG. 4 is a schematic diagram of a main flow of a task execution method of a further embodiment of the present invention;
FIG. 5 is a schematic diagram of the main blocks of a task performing device according to an embodiment of the present invention;
FIG. 6 is an exemplary system architecture diagram in which embodiments of the present invention may be employed;
fig. 7 is a schematic block diagram of a computer system suitable for use in implementing a terminal device or server of an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a schematic diagram of a main flow of a task execution method according to an embodiment of the present invention, and as shown in fig. 1, the method includes:
step S101: dividing path points in a narrow tunnel, determining the path points needing to be locked in the path points, and taking the path points needing to be locked as locking points, wherein the narrow tunnel can only accommodate one trolley to pass through.
In this embodiment, the path points in the narrow roadway may be divided into three types: the waypoints that need to be locked (i.e., the lock points), the resource points (the drop points or pick points that are parked in the middle), and the waypoints other than the lock points and the resource points. More specifically, the start point, the end point, and the intersection point in the narrow lane may be taken as the locking points.
As an example, as shown in FIG. 2, the paths shown are all narrow lanes, i.e., only one AGV can pass through at a time. As can be seen from the above division of the path points in the narrow lanes, the path points A, B, C, D, E, F, G, H in the diagram are all locking points, the path points J, L, N are all resource points, and the path points I, K, M are path points excluding the locking points and the resource points.
Step S102: and determining the first sequence number of each locking point, and generating a locking point set.
In this embodiment, the sequence of locking points is determined based on the common travel path for the vehicle, which is typically the path from the pick-up point to the drop-off point. Thus, in this step, sorting may be performed according to the direction of the path from the pick-up point to the drop-off point. In other alternative embodiments, sorting may also be performed according to the direction of the path from the drop off point to the picking point. As an example, as shown in fig. 2, the locking points A, B, C, D, E, F, G, H may be sorted in order from a to H, i.e. the first sequence number of the locking point a is 1, and the first sequence number of the locking point H is 8, and the resulting locking point set is shown in table 1 below:
table 1:
numbering | First serial number |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
E | 5 |
F | 6 |
G | 7 |
H | 8 |
In other alternative embodiments, the sorting may also be performed in the order from H to a, that is, the first sequence number of the locking point a is 8, and the first sequence number of the locking point H is 1.
Step S103: a second sequence number is determined for each path point in the picking task path. Specifically, the path points in the picking task path may be sorted according to the traveling direction of the picking task path.
As an example, if the picking task path is a → B → I → J, the second sequence number of each path point in the picking task path is as shown in table 2:
table 2:
step S104: and when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, and determining whether all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked.
In this step, it may be determined whether there is an additional locking point in the additional locking point set in the picking task path, and if not, it indicates that the path point in the picking task path does not pass through the narrow roadway area, or passes through the narrow roadway area but does not need to be locked (i.e., the picking task path of the car passes through the narrow roadway area but does not have a mutual exclusion problem, and there is no possibility of a collision); if the first sequence number of the target locking point is not greater than the first sequence number of the target locking point, locking points in the picking task path in advance are required, all the locking points are not required to be locked at one time during locking, and all the locking points with the first sequence number not greater than the first sequence number of the target locking point in the locking point set are required to be locked.
In an optional embodiment, before determining whether all locking points in the set of locking points having a first sequence number not greater than the first sequence number of the target locking point can be locked, the method further comprises:
when the end point of the picking task path is a resource point, determining whether the end point can stop;
if yes, determining whether all locking points of which the first sequence numbers are not larger than the first sequence number of the target locking point in the locking point set can be locked.
Wherein the resource point can be preconfigured to be occupied by several vehicles at the same time, i.e. to park several vehicles at the same time. If a certain resource point can stop 5 cars at the same time, and the resource point currently stops 4 cars, the resource point can also stop one car, and the following steps can be continuously executed. If the resource point currently stops 5 vehicles, the resource point can not stop other vehicles, and the resource point waits circularly until the resource point can stop the vehicles.
As an example, if the picking task path is a → B → I → J, and the end point J of the picking task path is a resource point, it is determined first whether the resource point J is likely to stop, and if so, the target locking point is determined. The target locking point is locking point a in this embodiment. Then, all locking points before the target locking point a in the set of locking points as shown in table 1 are locking points a. Then, it is determined whether the locking point a can be locked.
As another example, if the picking task path is L → E → D → C → B → a, and the end point of the picking task path is not a resource point, it is not necessary to determine whether the end point can stop, and the target locking point is directly determined. The target locking point in this embodiment is locking point E (the order of the path points in the picking task path is shown in table 3 below). Then all locking points in the set of locking points shown in table 1 that precede the target locking point E are locking points D, C, B, A. Then, it is determined whether these locking points D, C, B, A can be locked.
Table 3:
point | order |
L | 1 |
E | 2 |
D | 3 |
C | 4 |
B | 7 |
A | 8 |
in an optional embodiment, determining whether all locking points in the set of locking points whose first sequence number is not greater than the first sequence number of the target locking point can be locked may further include:
determining whether all locking points in the set of locking points with a first sequence number not greater than the target locking point are locked;
if a locked locking point exists, determining whether the direction of the locked locking point when locked is consistent with the direction of the picking task path.
More specifically, as shown in fig. 3, the locking may be performed according to the following procedure:
step S301: determining whether all locking points in the set of locking points before the target locking point are locked or not, namely determining whether all locking points in the set of locking points before the target locking point are locked or not;
step S302: if the locked locking point exists, determining whether the direction of the locked locking point is consistent with the direction of the picking task path or not when the locked locking point is locked;
step S303: if the locked locking point does not exist or the direction of the locked locking point is consistent with the direction of the picking task path, determining that all locking points in the locking point set before the target locking point can be locked;
step S304: and if the locking points with inconsistent directions exist, determining that all the locking points in the locking point set before the target locking point cannot be locked.
As an example, it is assumed that there are two picking tasks, i.e. there are two picking task paths, respectively a first picking task path a → B → I → J and a second picking task path a → B → C → D → K → L. If the locking point A is already locked by the first picking path and the direction when locking is from A to B. When the locking point A is locked, the direction of the locking point A is required to be judged to be consistent with the direction of the second picking task path. In this embodiment, the direction in which the locking point a is locked coincides with the direction of the second picking task path, for which the locking point a can be locked.
In an embodiment of the present invention, the status of each locked point (which includes unlocked and locked) and the direction of locking if locked (i.e., the direction of the cart entering the locked point) may be determined when sorting the locked points. As a specific example, the set of lockpoints can be written as pointLockList ═ pli|<pointi,statusi,orderi,directioni,counti>, < i > n </i >, < 0 > n </i >, where point represents a path point number; status represents the status of the current locked point, 0 represents unlocked, 1 represents locked; order indicates the sequence of locking points in the narrow roadway area; direction represents the direction of the lock in the locked state, the direction is the direction in which the AGV enters the point, the initial value is 0 representing no direction, and the other directions can be numbered according to a certain sequence, for example, in fig. 2, the locking points can be numbered according to the counterclockwise sequence, 1 represents north, 2 represents west, 3 represents south, and 4 represents east; count represents the number of locks.
In this step, the sequential locking of the locking points is realized by judging whether all the locking points in the locking point set before the target locking point can be locked, so as to avoid the occurrence of deadlock.
Step S105: if the picking task can be carried out, all the locking points with the first sequence numbers not larger than the first sequence number of the target locking point in the locking point set are locked, and the trolley is driven to run so as to execute the picking task; and after the trolley passes through the locked locking point, unlocking the locking point.
If the lock cannot be obtained, the process repeats step S104.
The task execution method of the embodiment of the invention determines the path points needing to be locked in the path points by dividing the path points in the narrow roadway, and takes the path points needing to be locked as locking points; determining a first sequence number of each locking point, and generating a locking point set; determining a second sequence number of each path point in the picking task path; when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, locking all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set under the condition that all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked, and driving a trolley to run so as to execute the picking task; after the dolly passes through the locking point that is locked, remove right the technical scheme of locking point, so do not need every to select the task and all occupy once only locking point, consequently improve the concurrency of AGV dolly, improve the quantity that the same time allows to get into the dolly in the same tunnel promptly, and then improve and select efficiency, avoided the emergence of deadlock through the mode of locking in order simultaneously.
In an optional embodiment, the task execution method further includes: and after the locking points are unlocked, determining a new target locking point and determining whether all locking points with the first sequence numbers not larger than the first sequence number of the new target locking point in the locking point set can be locked until the trolley finishes a picking task.
Specifically, in the example shown in table 2, after the car passes through the locking point a, the locking of the locking point a is released, a new target locking point B is determined, and all locking points before the new target locking point in the locking point set are the locking points B, so that the locking points B are locked and the car is driven to travel. And repeating the process until the trolley walks the picking task path to finish the picking task.
In an alternative embodiment, determining a new target locking point comprises:
determining whether the unlocked locking point is the locking point with the smallest first sequence number in the locked locking points;
if yes, determining a new target locking point.
Specifically, in the example shown in table 3, after the cart passes through the locking point E, the locking of the locking point E is released, and it is determined whether or not the locking point E that is released is the locking point with the smallest first serial number among the locking points that are locked. In this example, the locked locking points include locking point E, D, C, B, A, and locking point D, C, B, A precedes locking point E in the set of locking points in the order in which the first sequence number of locking point D, C, B, A is less than the first sequence number of locking point E (the locking point with the smallest first sequence number is locking point a), and the vehicle continues to be driven. And when the trolley passes through the locking point A and the locking of the locking point A is released, determining a new target locking point.
Fig. 4 is a schematic diagram of a main flow of a task execution method according to an embodiment of the present invention, which takes the narrow lane shown in fig. 2 as an example. As shown in fig. 4, the method includes:
step S401: dividing path points in the narrow roadway, determining the path points needing to be locked in the path points, and taking the path points needing to be locked as locking points.
After dividing the path points in the narrow roadway, obtaining a set pointList: pointList [ { p | < point, type, cache > ] }, where point represents the number of a path point; type represents the type of point, 1 represents a locking point, namely a path point needing to be locked, 2 represents a path point, namely other points except the locking point and a resource point, and 3 represents a resource point, namely an end point (unloading point) or an intermediate stop point (picking point) of a picking path; cache means that at most several vehicles can be occupied at the same time, for example, the resource points in fig. 2 can stop 5 AGVs at the same time. Specific details are shown in table 4 below:
table 4:
step S402: initializing the locking point to obtain a locking point set pointLockList ═ pli|<pointi,statusi,order1i,directioni,counti>, < 0 > i.ltoreq.n }, where point denotes plusNumbering the lock points; status represents the status of the current locked point, 0 represents unlocked, 1 represents locked; order1 denotes a first order of locking points within a given region; direction represents the direction of the lock in the locked state, the direction is the direction of the AGV entering the point, the initial value is 0 representing no direction, other directions can be numbered according to a certain sequence, for example, locking points in FIG. 2 can be numbered according to a counterclockwise sequence, 1 represents north, 2 represents west, 3 represents south, and 4 represents east; count represents the number of locks. Specifically, as shown in table 5 below:
table 5:
point | status | Order1 | direction | count |
A | 0 | 1 | 0 | 0 |
B | 0 | 2 | 0 | 0 |
C | 0 | 3 | 0 | 0 |
D | 0 | 4 | 0 | 0 |
E | 0 | 5 | 0 | 0 |
F | 0 | 6 | 0 | 0 |
G | 0 | 7 | 0 | 0 |
H | 0 | 8 | 0 | 0 |
step S403: initializing the path points in the picking task path to obtain a picking task path point set taskipointList ═ { tp | < point, direction, order > }. Specifically, as shown in table 3.
Step S404: and judging whether the picking task path comprises the locking point, namely judging whether the locking point in a locking point set pointLockList exists in a picking task path point set taskPointList. If not, step S408 is executed to end the flow, and if yes, step S405 is executed.
Step S405: and if so, taking the locking point which does not pass through the picking task path and has the smallest second sequence number as a target locking point, and determining whether all locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked. Specifically, the smallest locking point pl in pl.order in the target locking point set realPointLockList is determined and recorded as index. Then, taking all locking points pl in the pointLockList before the index as parameters (namely taking all the locking points A, B, C, D, E in the pointLockList as parameters), calling an occupyy method of the fine-grained lock, and if the occupyy method is successful, driving the trolley to run; otherwise, repeating the cycle again;
the principle of occupying the ocupy method is as follows:
determining whether all locking points in the set of locking points that precede the target locking point are locked;
if the locked locking point does not exist, determining that all locking points in the locking point set before the target locking point can be locked;
if the locked locking point exists, determining whether the direction of the locked locking point is consistent with the direction of the picking task path or not when the locked locking point is locked;
if the directions are consistent, determining that all locking points in the locking point set before the target locking point can be locked;
and if the locking points with inconsistent directions exist, determining that all the locking points in the locking point set before the target locking point cannot be locked.
More specifically, the input parameters of the occupancy ocupy method are: the set of points that need to be occupied, ocuppyintlist ═ op | < point, direction, order >; the return parameters are: if the occupation is successful, true is returned, otherwise false is returned.
The occupancy ocupy method is described as: occupying locking points pl corresponding to the op.point in the sequence from small to large according to the op.order in the octapypointlist, that is, if the current locking point pl.status is 0, the current locking point pl.status is 1, the current direction is op.direction, and the current locking point pl is pl.count +1, which indicates that the current locking point pl is successfully locked; if the current lock pl.status is equal to 1, judging whether pl.direction is true or not, if true, making pl.count equal to pl.count +1, indicating that the current locking point pl is successfully occupied, otherwise, the current locking point locking fails. If the pls corresponding to all the ops in the ocupyPointList are successfully occupied, returning true by the occupy method, otherwise, rolling back all the locking points pls successfully locked, and returning false by the occupy method.
Step S406: if yes, all locking points with the first sequence numbers not larger than the first sequence numbers of the target locking points in the locking point set are locked, and the trolley is driven to run so as to execute the picking task.
Step S407: and after the trolley passes through the occupied locking point, unlocking the locking point, and circularly executing the step S405.
And releasing the locking of the locking point comprises deleting the locking point pl from realPointLockList and calling a release method.
The input parameters of the release method are as follows: the point number poin of pl needs to be released, and the return parameters are: releasing successfully and returning true, otherwise, returning false; the method is described as follows: when releasing the lock pl, firstly determining whether pl.status is 1, if not, directly false by the release method, if so, checking whether pl.count-1 is 0, if so, making pl.status be 0, if so, making pl.count be 0, and returning the release method to true; otherwise, let pl.count equal to pl.count-1, the release method return true.
Fig. 5 is a schematic diagram of main blocks of a task performing apparatus 500 according to an embodiment of the present invention, and as shown in fig. 5, the task performing apparatus 500 includes:
the dividing module 501 is configured to divide waypoints in a narrow roadway, determine waypoints needing to be locked in the waypoints, and use the waypoints needing to be locked as locking points, where the narrow roadway can only accommodate one car to pass through at the same time;
a first sequencing module 502, configured to determine a first sequence number of each locking point, and generate a locking point set;
a second sorting module 503, configured to determine a second sequence number of each path point in the picking task path;
a locking judgment module 504, configured to, when the picking task path includes the locking point, use the locking point that does not pass through in the picking task path and has the smallest second sequence number as a target locking point, and determine whether all locking points in the locking point set having a first sequence number not greater than the first sequence number of the target locking point can be locked;
a locking module 504, configured to lock all locking points in the locking point set, where a first sequence number of the locking point set is not greater than a first sequence number of the target locking point, and drive a trolley to travel to execute a picking task;
and the unlocking module 505 is used for unlocking the locked locking point after the trolley passes through the locked locking point.
Optionally, the locking determining module is further configured to: and after the locking points are unlocked, determining a new target locking point and determining whether all the locking points with the first sequence numbers not larger than the first sequence number of the new target locking point in the locking point set can be locked until the trolley finishes a picking task.
Optionally, the locking determining module is further configured to: determining whether the unlocked locking point is the locking point with the smallest first sequence number in the locked locking points; if yes, determining a new target locking point.
Optionally, the dividing module is further configured to: and determining a starting point, an end point and an intersection point of the narrow roadway, and taking the starting point, the end point and the intersection point as locking points.
Optionally, the locking determining module is further configured to:
determining whether all locking points in the set of locking points with a first sequence number not greater than the target locking point are locked;
if a locked locking point exists, determining whether the direction of the locked locking point when locked is consistent with the direction of the picking task path.
Optionally, the first ordering module is further configured to: sorting according to the direction of a path from a picking point to a discharging point or sorting according to the direction of a path from the discharging point to the picking point;
the second ordering module is further to: and sequencing all path points in the picking task path according to the driving direction of the picking task path.
Optionally, the dividing module is further configured to: determining unloading points and picking points in a narrow roadway, and taking the unloading points and the picking points as resource points;
the locking judgment module is further configured to:
when the end point of the picking task path is a resource point, determining whether the end point can stop;
if yes, determining whether all locking points of which the first sequence numbers are not larger than the first sequence number of the target locking point in the locking point set can be locked.
The task execution device of the embodiment of the invention determines the path points needing to be locked in the path points by dividing the path points in the narrow roadway, and takes the path points needing to be locked as locking points; determining a first sequence number of each locking point, and generating a locking point set; determining a second sequence number of each path point in the picking task path; when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, locking all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set under the condition that all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked, and driving a trolley to run so as to execute the picking task; after the trolleys pass through the locked locking points, the locking of the locking points is released, so that each picking task does not need to occupy all the locking points at one time, the concurrency of the AGV trolleys is improved, namely the number of the trolleys allowed to enter the same roadway at the same time is increased, the picking efficiency is improved, and the deadlock is avoided by a sequential locking mode.
The device can execute the method provided by the embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the method provided by the embodiment of the present invention.
Fig. 6 illustrates an exemplary system architecture 600 to which a task execution method or a task execution device of an embodiment of the present invention may be applied.
As shown in fig. 6, the system architecture 600 may include terminal devices 601, 602, 603, a network 604, and a server 605. The network 604 serves to provide a medium for communication links between the terminal devices 601, 602, 603 and the server 605. Network 604 may include various types of connections, such as wire, wireless communication links, or fiber optic cables, to name a few.
A user may use the terminal devices 601, 602, 603 to interact with the server 605 via the network 604 to receive or send messages or the like. Various communication client applications, such as shopping applications, web browser applications, search applications, instant messaging tools, mailbox clients, social platform software, and the like, may be installed on the terminal devices 601, 602, and 603.
The terminal devices 601, 602, 603 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 605 may be a server that provides various services, such as a background management server that supports shopping websites browsed by users using the terminal devices 601, 602, and 603. The background management server may analyze and perform other processing on the received data such as the product information query request, and feed back a processing result (e.g., target push information and product information) to the terminal device.
It should be noted that the task execution method provided by the embodiment of the present invention is generally executed by the server 605, and accordingly, the task execution device is generally disposed in the server 605.
It should be understood that the number of terminal devices, networks, and servers in fig. 6 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 7, shown is a block diagram of a computer system 700 suitable for use with a terminal device implementing an embodiment of the present invention. The terminal device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 7, the computer system 700 includes a Central Processing Unit (CPU)701, which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data necessary for the operation of the system 700 are also stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
The following components are connected to the I/O interface 705: an input portion 706 including a keyboard, a mouse, and the like; an output section 707 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 708 including a hard disk and the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. A drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read out therefrom is mounted into the storage section 708 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 709, and/or installed from the removable medium 711. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 701.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor includes a sending module, an obtaining module, a determining module, and a first processing module. The names of these modules do not in some cases constitute a limitation on the unit itself, and for example, the sending module may also be described as a "module that sends a picture acquisition request to a connected server".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise:
dividing path points in a narrow tunnel, determining the path points needing to be locked in the path points, and taking the path points needing to be locked as locking points, wherein the narrow tunnel can only accommodate one trolley to pass through;
determining a first sequence number of each locking point, and generating a locking point set;
determining a second sequence number of each path point in the picking task path;
when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, and determining whether all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked or not;
if so, locking all locking points of which the first sequence numbers are not more than the first sequence number of the target locking point in the locking point set, and driving a trolley to run so as to execute a picking task; and after the trolley passes through the locked locking point, unlocking the locking point.
According to the technical scheme of the embodiment of the invention, path points in a narrow roadway are divided, the path points needing to be locked in the path points are determined, and the path points needing to be locked are taken as locking points; determining a first sequence number of each locking point, and generating a locking point set; determining a second sequence number of each path point in the picking task path; when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, locking all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set under the condition that all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked, and driving a trolley to run so as to execute the picking task; after the dolly passes through the locking point that is locked, remove the locking so do not need every to select the task and all occupy the locking point once only of locking point, consequently improve the concurrency of AGV dolly, improve the quantity that the dolly that allows to get into in the same tunnel at the same time promptly, and then improve and select efficiency, avoided the emergence of deadlock through the mode of locking in order simultaneously.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (10)
1. A method of task execution, comprising:
dividing path points in a narrow tunnel, determining the path points needing to be locked in the path points, and taking the path points needing to be locked as locking points, wherein the narrow tunnel can only accommodate one trolley to pass through;
determining a first sequence number of each locking point, and generating a locking point set;
determining a second sequence number of each path point in the picking task path;
when the picking task path comprises the locking points, taking the locking points which do not pass through the picking task path and have the smallest second sequence number as target locking points, and determining whether all the locking points of which the first sequence numbers are not larger than the first sequence numbers of the target locking points in the locking point set can be locked or not;
if so, locking all locking points of which the first sequence numbers are not more than the first sequence number of the target locking point in the locking point set, and driving a trolley to run so as to execute a picking task; and after the trolley passes through the locked locking point, unlocking the locking point.
2. The method of claim 1, further comprising:
and after the locking points are unlocked, determining a new target locking point and determining whether all locking points with the first sequence numbers not larger than the first sequence number of the new target locking point in the locking point set can be locked until the trolley finishes a picking task.
3. The method of claim 2, wherein determining a new target locking point comprises:
determining whether the unlocked locking point is the locking point with the smallest first sequence number in the locked locking points;
if yes, determining a new target locking point.
4. The method of claim 1, wherein path points in a narrow lane are divided, and path points needing to be locked in the path points are determined, and taking the path points needing to be locked as locking points comprises:
and determining a starting point, an end point and an intersection point of the narrow roadway, and taking the starting point, the end point and the intersection point as locking points.
5. The method of claim 1, wherein determining whether all locking points in the set of locking points having a first sequence number not greater than the first sequence number of the target locking point can be locked comprises:
determining whether all locking points in the locking point set, of which the first sequence numbers are not greater than the target locking point, are locked;
if a locked locking point exists, determining whether the direction of the locked locking point when locked is consistent with the direction of the picking task path.
6. The method of any of claims 1-5, wherein determining the first sequence number for each locking point comprises: sorting according to the direction of a path from a picking point to a discharging point or sorting according to the direction of a path from the discharging point to the picking point;
determining a second sequence number for each path point in the picking task path comprises: and sequencing all path points in the picking task path according to the driving direction of the picking task path.
7. The method of claim 1, wherein dividing waypoints in a narrow lane comprises: determining unloading points and picking points in a narrow roadway, and taking the unloading points and the picking points as resource points;
before determining whether all locking points in the set of locking points having a first sequence number not greater than the first sequence number of the target locking point can be locked, the method further comprises:
when the end point of the picking task path is a resource point, determining whether the end point can stop;
if yes, determining whether all locking points of which the first sequence numbers are not larger than the first sequence number of the target locking point in the locking point set can be locked.
8. A task execution apparatus, comprising:
the device comprises a dividing module, a locking module and a locking module, wherein the dividing module is used for dividing path points in a narrow tunnel, determining the path points needing to be locked in the path points and taking the path points needing to be locked as locking points, and the narrow tunnel can only accommodate one trolley to pass through;
the first sequencing module is used for determining a first sequence number of each locking point and generating a locking point set;
the second sorting module is used for determining a second sequence number of each path point in the picking task path;
a locking judgment module, configured to, when the picking task path includes the locking point, use the locking point that does not pass through the picking task path and has the smallest second sequence number as a target locking point, and determine whether all locking points in the locking point set having a first sequence number not greater than a first sequence number of the target locking point can be locked;
the locking module is used for locking all locking points of which the first sequence numbers are not more than the first sequence numbers of the target locking points in the locking point set and driving the trolley to run so as to execute a picking task;
and the locking and unlocking module is used for unlocking the locking point after the trolley passes through the locked locking point.
9. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-7.
10. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010082792.7A CN113253713A (en) | 2020-02-07 | 2020-02-07 | Task execution method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010082792.7A CN113253713A (en) | 2020-02-07 | 2020-02-07 | Task execution method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113253713A true CN113253713A (en) | 2021-08-13 |
Family
ID=77219287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010082792.7A Pending CN113253713A (en) | 2020-02-07 | 2020-02-07 | Task execution method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113253713A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113970928A (en) * | 2021-10-22 | 2022-01-25 | 北京京东乾石科技有限公司 | Dynamic locking point method for marking navigation robot |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009003772A (en) * | 2007-06-22 | 2009-01-08 | Asyst Technologies Japan Inc | Path planning system and method, conveyance system, and computer program |
JP2010176607A (en) * | 2009-02-02 | 2010-08-12 | Toyohashi Univ Of Technology | Mobile body system and method of recovering from deadlock thereof |
CN106779531A (en) * | 2016-11-25 | 2017-05-31 | 慈溪太平鸟物流有限公司 | A kind of picking path generating method and device |
EP3483031A1 (en) * | 2017-11-14 | 2019-05-15 | Traffic Control Technology Co., Ltd. | Route resource controlling method, intelligent vehicle on-board controller and object controller |
CN110244711A (en) * | 2019-05-16 | 2019-09-17 | 芜湖智久机器人有限公司 | Robot path planning's system and method, computer readable storage medium, device |
CN110274604A (en) * | 2018-11-06 | 2019-09-24 | 北京京东尚科信息技术有限公司 | Method and apparatus for generating routing information |
CN110580593A (en) * | 2018-06-08 | 2019-12-17 | 北京京东尚科信息技术有限公司 | goods sorting method, control system and goods sorting system |
-
2020
- 2020-02-07 CN CN202010082792.7A patent/CN113253713A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009003772A (en) * | 2007-06-22 | 2009-01-08 | Asyst Technologies Japan Inc | Path planning system and method, conveyance system, and computer program |
JP2010176607A (en) * | 2009-02-02 | 2010-08-12 | Toyohashi Univ Of Technology | Mobile body system and method of recovering from deadlock thereof |
CN106779531A (en) * | 2016-11-25 | 2017-05-31 | 慈溪太平鸟物流有限公司 | A kind of picking path generating method and device |
EP3483031A1 (en) * | 2017-11-14 | 2019-05-15 | Traffic Control Technology Co., Ltd. | Route resource controlling method, intelligent vehicle on-board controller and object controller |
CN110580593A (en) * | 2018-06-08 | 2019-12-17 | 北京京东尚科信息技术有限公司 | goods sorting method, control system and goods sorting system |
CN110274604A (en) * | 2018-11-06 | 2019-09-24 | 北京京东尚科信息技术有限公司 | Method and apparatus for generating routing information |
CN110244711A (en) * | 2019-05-16 | 2019-09-17 | 芜湖智久机器人有限公司 | Robot path planning's system and method, computer readable storage medium, device |
Non-Patent Citations (1)
Title |
---|
房殿军;彭一凡;: "含多条横向巷道的仓库拣选路径优化研究", 物流技术, no. 05, 25 May 2016 (2016-05-25) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113970928A (en) * | 2021-10-22 | 2022-01-25 | 北京京东乾石科技有限公司 | Dynamic locking point method for marking navigation robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7136921B2 (en) | Method and apparatus for conveying merchandise shelves | |
US12039472B2 (en) | Method and device for scheduling automated guided vehicle | |
CN111553548B (en) | Goods picking method and device | |
CN112650790A (en) | Target point cloud plane determining method and device, electronic equipment and storage medium | |
CN112918487B (en) | Unmanned vehicle starting method and device, electronic equipment and computer readable medium | |
CN113222205B (en) | Path planning method and device | |
CN112597126A (en) | Data migration method and device | |
CN113205300B (en) | Distribution vehicle scheduling method and device, electronic equipment and computer readable medium | |
CN112906081A (en) | Method and device for planning warehouse layout | |
CN113128743A (en) | Goods picking path planning method and device | |
CN113253713A (en) | Task execution method and device | |
CN111459100A (en) | Dispatching method and system for automatic guided transport vehicle | |
CN111517060A (en) | Scheduling method and device based on two-side outbound and inbound platform port | |
CN112551015B (en) | Method and device for rotating goods shelf in carrying process | |
CN112990806A (en) | Method and system for dispatch control of transportation equipment | |
CN112785212A (en) | Transportation equipment management method and device | |
CN113626472B (en) | Method and device for processing order data | |
CN111767351B (en) | Method and device for determining parking spot of transfer robot | |
CN112180909B (en) | Method and device for determining lock point priority in vehicle operation | |
CN112474368B (en) | Goods picking method, device, equipment and computer readable medium | |
CN110377019B (en) | Route generation method and device | |
CN113554373A (en) | Method and device for managing ex-warehouse of three-dimensional warehouse | |
CN112486033A (en) | Simulation test method and device for equipment | |
CN113804196A (en) | Unmanned vehicle path planning method and related equipment | |
CN110633933A (en) | Method and device for planning ambiguous line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |