This disclosure relates to mobile body systems, picking systems, and route determination methods for determining routes along which a plurality of mobile bodies move.
Conventionally, in a mobile body system including a plurality of mobile bodies that move in a predetermined area, routes of the mobile bodies can intersect or partially overlap. Thus, a problem is that if two or more mobile bodies simultaneously enter a location with the risk of interference or overlap, a contact or a collision, for instance, occurs. Japanese Unexamined Patent Application Publication No. H10-312217 describes techniques of avoiding contacts or collisions by eliminating interferences and overlaps from routes of a plurality of mobile bodies.
In a conventional mobile body system, however, after each of routes of a plurality of mobile bodies is determined, presence or absence of interference is determined based on the moving time of each of the mobile bodies and one of two routes is changed. Thus, it takes a long time to determine routes for all of the mobile bodies if the number of mobile bodies increases.
It could therefore be helpful to provide a mobile body system, a picking system, and a route determination method capable of efficiently determining routes along which a plurality of mobile bodies move in a predetermined moving area.
A mobile body system may include: a mobile body that moves in a predetermined moving area; and a time route calculation system that calculates a time route from a starting position to a target position of the mobile body in the predetermined moving area, where the time route includes points on a route along which the mobile body moves and times when the mobile body is present at the points. The time route calculation system includes: a node information set obtainer that obtains a node information set of a plurality of node information items each of which includes point information and time information, where the point information indicates, in an identifiable manner, a plurality of points arranged in a virtual area including the predetermined moving area for a corresponding one of times at predetermined intervals, and the time information indicates the corresponding one of the times; a search space creator that obtains link information linking two of the plurality of node information items included in the node information set, to create a search space; a search space updater that changes the link information to an impossible value to update the search space, where the link information determines, based on a time route of a given mobile body, that the given mobile body will come in contact with the mobile body, and the impossible value indicates that moving is impossible; and a route determiner that determines a time route of the next mobile body based on the search space updated.
A route determination method may be a route determination method for a mobile body system including: a mobile body that moves in a predetermined moving area; and a time route calculation system that calculates a time route including (i) points on a route from a starting position to a target position of the mobile body in the predetermined moving area, and (ii) times when the mobile body is present at the points. The route determination method includes: obtaining, by a node information set obtainer, a node information set of a plurality of node information items each of which includes point information and time information, where the point information indicates, in an identifiable manner, a plurality of points arranged in a virtual area including the predetermined moving area for a corresponding one of times at predetermined intervals, and time information indicates the corresponding one of the times; obtaining, by a search space creator, link information linking two of the plurality of node information items included in the node information set, to create a search space; changing, by a search space updater, the link information to an impossible value to update the search space, where the link information determines, based on a time route of a given mobile body, that the given mobile body will come in contact with the mobile body, and the impossible value indicates that moving is impossible; and determining, by a route determiner, a time route of the next mobile body based on the search space updated.
It is thus possible to efficiently search for and determine routes along which a plurality of mobile bodies can move without any interference in a predetermined moving area.
Hereinafter, a mobile body system, a picking system, and a route determination method will be described with reference to the drawings. An example described below is one example and is not intended to limit this disclosure. For example, shapes, structures, materials, elements, relative positional relationships, connection statuses, numerical values, mathematical expressions, a process in each of steps in a method, an order of the steps or the like indicated in the configuration below are mere examples and may include those not recited in the following description. Although geometric expressions such as “parallel” and “orthogonal” may be used, these expressions each do not express mathematical strictness and may include, for instance, a difference or deviation that is substantially allowed. Moreover, an expression such as “simultaneous” or “same” also includes a range that is substantially allowed.
The drawings are schematic diagrams in each of which emphasis, omission, or ratio adjustment is made where necessary so that shapes, positional relationships, and ratios of elements are different from the actual shapes, positional relationships, and ratios of the elements.
The following may generally describe plural aspects of my structures as one example. Part of the description below is provided as the description of related optional elements.
Mobile body 110 is a device that moves in moving area 210 that is predetermined, and moves from a starting position to a target position based on a time route obtained from time route calculation system 120. The type of mobile body 110 is not specifically limited, and can be exemplified by the following: an autonomous mobile trackless vehicle that autonomously and freely moves on a floor surface based on a time route while recognizing its own position; a tracked vehicle that moves along a net-like track based on a time route and can change its direction at an intersection; a mobile body equipped with a lifting function that moves in a three-dimensional space as a moving area; and a drone that can freely move in a three-dimensional space. Mobile body 110 may be a transport vehicle or transport drone that transports, for instance, a person or a load. Devices such as a transfer device that transfers a load and a sensor that obtains information may be mounted on mobile body 110.
In this example, mobile body 110 is a transport vehicle that moves while holding a load and is capable of making a so-called spin turn of changing its direction on site without changing its position in moving area 210.
Moving area 210 is an area in which mobile body 110 can move. The shape of moving area 210 is not specifically limited. Moving area 210 may be a quadrilateral area, on a floor surface, surrounded by carrying-out stations 201, carrying-in stations 202, and picking stations 203. Each of squares sectioned by vertical lines and horizontal lines illustrated in
Carrying-out station 201 is a facility which stores loads to be carried out from, for instance, an automated storage and transferred to mobile bodies 110, and in which a load is transferred to mobile body 110 that arrives. The functions, structure, and shape of carrying-out station 201 are not specifically limited. For example, carrying-out station 201 is connected to the automated storage via a conveyor, and the loads are sequentially transported from the automated storage based on orders. Carrying-out station 201 may include a transfer device that transfers a load to mobile body 110 or may not include a transfer device where mobile body 110 includes a transfer device.
Carrying-in station 202 is a facility in which a load is received from mobile body 110 that arrives and the load is transported to, for instance, an automated storage. The functions, structure, and shape of carrying-in station 202 are not specifically limited. For example, carrying-in station 202 is connected to the automated storage via a conveyor, as in carrying-out station 201, and loads are sequentially transported to the automated storage. Carrying-in station 202 may include a transfer device that transfers a load from mobile body 110 or may not include a transfer device where mobile body 110 includes a transfer device.
Picking station 203 is a facility in which a worker who picks up or a picking robot takes out a predetermined number of articles from a load transported by mobile body 110 and puts the articles into another container, and the load from which the articles are taken out is transferred to mobile body 110.
Node information set obtainer 121 obtains a node information set of a plurality of node information items.
A node information item includes point information, time information, and orientation information. The format of the node information item is not limited to a specific format as long as each of node information items is identifiable. For example, node information item n corresponding to mobile body 110 located on point 5 with the orientation of the X-axis positive direction at time t=3 can be expressed by n=(5, 3, 1) (point information, time information, orientation information). In this example, point information is denoted by p (from 0 to 8 in the examples illustrated in
A node information set includes at least a node information item that can identify a combination of point information in virtual area 220 and corresponding time information in a predetermined time period. A node information set may include a node information item that can identify a combination of point information, time information, and orientation information.
Node information set obtainer 121 may obtain a node information set from node information set creation device 205, but time route calculation system 120 may include node information set creation device 205 as a device or a processing unit.
Search space creator 122 obtains link information linking two node information items included in a node information set obtained by node information set obtainer 121, to create a search space. Search space creator 122 may obtain link information from link information generator 125 that generates link information. A search space created by search space creator 122 is stored in a storage device (not shown) included in time route calculation system 120. Link information will be described later.
Search space creator 122 may use a two-dimensional array indexed by (i) sequential numbers with rules which are information that can identify each of node information items included in a node information set and are defined as source indices corresponding to transition sources, and (ii) the same sequential numbers which are defined as destination indices corresponding to transition destinations, and obtains, as link information, the element value of each of array variables in the two-dimensional array to create a search space.
Link information generator 125 generates link information which is a weight used in selecting part of a time route along which mobile body 110 moves from the node information item of a transition source to the node information item of a transition destination. The description is provided assuming that a stop state is also included in the concept of moving.
When time information included in the node information item of a transition destination indicates a time before the time indicated by the node information item of a transition source, since time cannot be reversed, link information generator 125 generates, as link information, an impossible value indicating that moving of mobile body 110 is not possible. Accordingly, in this example, a matrix indicating a search space forms an upper triangular matrix (or a lower triangular matrix), as illustrated in
When mobile body 110 cannot move from the node information item of a transition source to the node information item of a transition destination with the speed of mobile body 110 (acceleration may be taken into consideration), as calculated based on the node information item of a transition source and the node information item of a transition destination, link information generator 125 generates an impossible value as link information. In this way, a search space is formed by array variables whose number is the square of the number of node information items, but most of element values of the array variables are impossible values and a sparse matrix as illustrated in
A specific example of link information generation that takes the speed of mobile body 110 into consideration when the interval between times t is equally three seconds and it takes nine seconds for mobile body 110 to move straight along three squares (e.g., from square 0 to square 6 in
Examples of an impossible value are not specifically limited, and 0 may be exemplified as an impossible value, for example. An impossible value may be, for instance, null in a programming language or may be a weight that is set so that the weight will not be selected in reality. Plural values may be set for impossible values. For example, different values may be set for an impossible value indicating that moving is impossible and an impossible value in the case of cutting a link for avoiding contacts between mobile bodies.
In a short time mode that allows mobile body 110 to arrive at a target position as early as possible, link information generator 125 sets a lighter weight, than the weight of other link information, for link information that links node information items each including point information indicating a target position.
In a scheduled time mode in which mobile body 110 arrives at a target position at a scheduled time, link information generator 125 sets the weight of link information linking node information items each including point information indicating a target position as follows: link information generator 125 sets (i) a heavy weight for link information by which a node information item that includes point information indicating a target position and time information indicating a time before a scheduled arrival time is linked as one of the node information items linked by the link information, and (ii) a light weight for link information by which a node information item that includes point information indicating a target position and time information indicating a time after a scheduled arrival time is linked as one of the node information items linked by the link information. In the case where a stand-by position is preset, link information generator 125 may set the weight of link information linking node information items each including point information indicating the stand-by position to be (i) heavier than the weight of link information by which a node information item that includes time information indicating a time after a scheduled arrival time is linked as one of node information items linked by the link information, and (ii) lighter than the weight of link information by which a node information item that includes point information indicating a target position and time information indicating a time before a scheduled arrival time is linked as one of node information items linked by the link information.
For example, scheduled time obtainer 126 obtains a moving instruction from, for instance, host computer 206 that outputs a moving instruction to mobile body 110, and obtains a scheduled time included in the moving instruction.
Search space updater 123 changes link information that determines, based on the time route of given mobile body 110, that given mobile body 110 will come in contact with mobile body 110 to an impossible value indicating that moving is impossible, to update a search space. Specifically, a time route determined by route determiner 124 to be described later includes: point information items indicating points on a route from a starting position to a target position of mobile body 110; and times when mobile body 110 is present at the points corresponding to the point information items. Since a time route corresponds to node information items of a search space, search space updater 123 changes, to an impossible value, at least link information by which any one of the node information items corresponding to the time route is linked as a transition destination, to update the search space. Search space updater 123 may change, to an impossible value, link information by which any one of the node information items corresponding to the time route is linked as one of node information items linked by the link information, to update the search space.
Route determiner 124 determines the time route of the next mobile body 110 based on a search space updated by search space updater 123. A method of determining a time route employed by route determiner 124 is not specifically limited, and route determiner 124 may apply, for instance, a general optimization method such as a slime mold algorithm or Dijkstra's algorithm to a search space to determine a time route. Although a search space is an extensive space including link information items whose number is the square of the number of node information items, most of array variables in the search space are impossible values and a sparse matrix is formed. Accordingly, even in a situation where moving instructions are output one by one to each of mobile bodies 110, matrix calculation such as a slime mold algorithm can be executed within a predetermined time.
Route determiner 124 may determine, based on an updated search space, a time route in which the number of brief stops for changing a moving direction is smallest. Accordingly, the degree of flexibility for possible time routes (the number of search candidates) is reduced, and this enables generating a time route at a higher speed than the case of using a general optimization method. In this example, the number of brief stops for changing a moving direction is the number of spin turns, and route determiner 124 calculates the smallest number of spin turns based on the positional relationship between a starting position and a target position, and the status of impossible values between the starting position and the target position in the search space.
Priority determiner 127 determines priority in determining the time route of mobile body 110 based on moving instructions given to mobile bodies 110. As a general rule, route determiner 124 determines the time route of mobile body 110 based on the output order of moving instructions output from, for instance, host computer 206. When priority determiner 127 determines the priority based on moving instructions output in a predetermined time period, for example, route determiner 124 determines the time route of mobile body 110 in the descending order of priority determined by priority determiner 127.
When route determiner 124 determines a plurality of time routes for mobile body 110 with low priority using a search space updated by search space updater 123 based on a time route determined for mobile body 110 with high priority and route selector 128 obtains, from host computer 206 for example, information that the actual movement of mobile body 110 with high priority deviates from the corresponding time route, route selector 128 may select, from among the plurality of time routes, a time route to be output to mobile body 110 with low priority.
The priority determination method employed by priority determiner 127 is not specifically limited, but in obtaining, from host computer 206, for example, a moving instruction that sets a target position at which a load is transferred to and from mobile body 110 less frequently (e.g., any one of carrying-in stations 202), priority determiner 127 may give higher priority to the time route of mobile body 110 having obtained the moving instruction over the time route of other mobile body 110 provided with a moving instruction that sets a target position at which a load is transferred to and from mobile body 110 more frequently. Accordingly, it is possible to inhibit an increase in the idle time of a crane in an automated storage, which is caused by the delayed arrival of mobile body 110 at carrying-in station 202 at which a load arrives less frequently.
Priority determiner 127 may give higher priority, over mobile body 110 provided with a different moving instruction, to mobile body 110 provided with a moving instruction that sets, as a starting position, a transfer station such as carrying-out station 201 or carrying-in station 202 at which mobile body 110 arrives very frequently. Accordingly, it is possible to reduce the numbers of loads and mobile bodies 110 remaining at a transfer station, and thus enhance load transport efficiency. When a new moving instruction is generated, the next time route of mobile body 110 whose time route has already been determined may be searched for. If the new moving instruction is to be prioritized, the already determined time route may be canceled and mobile body 110 may move along a newly searched time route.
With mobile body system 100, link information, of a search space, that indicates the risk of interference between mobile body 110 that moves along a prescribed time route and other mobile body 110 is changed to an impossible value based on the prescribed time route, to update the search space. With this, if a time route is calculated in the updated search space and the next mobile body 110 moves along the calculated time route, the next mobile body 110 will not interfere with mobile body 110 that moves along the prescribed time route. Accordingly, even when a plurality of mobile bodies 110 move in the same moving area 210, it is possible to generate, in a relatively short time, time routes that avoid mutual interference among the plurality of mobile bodies 110.
Moreover, discretionarily changing link information items related to predetermined points enables generating a time route with which mobile body 110 arrives at a target position early, and also enables generating a time route with which mobile body 110 arrives at a target position at a scheduled time.
This disclosure is not limited to examples described above. Another example achieved by discretionarily combining elements described herein or excluding some of the elements may be also considered as an example. Variations obtained by applying various modifications conceived by those skilled in the art to the examples are also included in this disclosure so long as they do not depart from the spirit of the appended claims, i.e., meaning indicated by wording used in the claims.
For example: time route calculation system 120 may calculate a time route using a search space created by reducing the density of points in virtual area 220 illustrated in the upper part of
Even when moving area 210 is not quadrilateral, as illustrated in
Although node information set creation device 205 is described as being separate from time route calculation system 120, the functions of node information set creation device 205 may be implemented as a node information set creator by time route calculation system 120.
Time route calculation system 120 may be implemented by a single device or a plurality of devices capable of transmitting and receiving information through communication.
When mobile body 110 is a transport vehicle that transports, for instance, a load, and the moving speed and spin turn speed of mobile body 110 in a loaded state in which a load is held by mobile body 110 are different from the moving speed and spin turn speed of mobile body 110 in an unloaded state in which no load is held by mobile body 110, a search space for mobile body 110 in the loaded state and a search space for mobile body 110 in the unloaded state may be separately prepared and each of the search spaces may be selected based on, for instance, a moving instruction provided for mobile body 110.
A load may not be transferred from mobile body 110 at picking station 203. For example, mobile body 110 holding a load may stop at picking station 203, a picking operation may be performed while mobile body 110 holds the load, and after the picking operation is completed, mobile body 110 may move while holding the load.
According to the priority determination method employed by priority determiner 127, in the case of obtaining a moving instruction that sets a target position at which mobile body 110 arrives less frequently (e.g., any one of picking stations 203), higher priority may be given to the time route of mobile body 110 provided with the moving instruction over the time route of mobile body 110 provided with a moving instruction that sets a target position at which mobile body 110 arrives more frequently. Accordingly, it is possible to inhibit an increase in the idle time of a worker who picks up, which is caused by the delayed arrival of mobile body 110 at picking station 203 at which mobile body 110 arrives less frequently.
Priority determiner 127 may give higher priority, over mobile body 110 provided with a different moving instruction, to mobile body 110 provided with a moving instruction that sets, as a starting position, picking station 203 at which mobile body 110 arrives very frequently. Accordingly, it is possible to reduce the numbers of loads and mobile bodies 110 remaining at picking station 203, and thus enhance load transport efficiency.
My systems and methods can be applied to mobile body systems in which a plurality of mobile bodies having the risk of interference move.
Number | Date | Country | Kind |
---|---|---|---|
2020-196865 | Nov 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/042955 | 11/24/2021 | WO |