Dr. Zdenko Kovacic

Download Report

Transcript Dr. Zdenko Kovacic

University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
String Algebra-based Approach to Dynamic
Routing in Multi-LGV Automated Warehouse
Systems
Presented by Zdenko Kovačić
Faculty of Electrical Engineering and Computing
University of Zagreb
Unska 3, 10000 Zagreb, CROATIA
http://flrcg.rasip.fer.hr
Laboratory for Robotics and Intelligent Control Systems
1
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Presentation outline
I. Introduction
II. A multi-LGV plant layout representation
III. The shortest path determination
IV. Implementation examples
Laboratory for Robotics and Intelligent Control Systems
2
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
I. Introduction
• laser guided vehicles (LGVs) in flexible manufacturing systems:
=> increased system throughput,
=> reduced operational costs,
=> consistent execution of predetermined tasks,
=> …
• requirement - the use of effective supervisory control strategies which
are able to solve conflict and deadlock problems in the system layout
on-line (NP - hard).
• two approaches to routing are prevailing in the literature:
- static routing - concerned only with the spatial dimension of the routing
problem (determination of paths in the space domain),
- dynamic routing - treats routing as a time-space problem dealing with
determination of paths feasible both in space and time (in some cases a
time-space approach could be seen also as static routing).
Laboratory for Robotics and Intelligent Control Systems
3
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
The aim of the proposed dynamic routing method:
Determination of the shortest path (in terms of a traveling time) by
solving a shortest path problem with time windows (SPPTW) and by using
a string matrix composition.
Dynamic routing  the number of active vehicles and the corresponding
missions change in time  determined shortest path should be feasible 
time windows elongation provides conflict-free and deadlock-free paths for
all active vehicles.
Laboratory for Robotics and Intelligent Control Systems
4
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
A multi-LGV plant layout representation
• layout of a multi-LGV plant can be represented by a graph whose
intersections and ends of paths are referred to as graph nodes, while
paths themselves are represented by weighted arcs.
directed graph
G   N , A
N  n1 , n2 ...nn 
A  a1 , a2 ...am 
• a nominal arc weight  minimal traverse time of arc aj for vehicle ri,
wˆ ij 
lj
vij
because time windows are used
for shortest path calculation
where lj is the length of arc aj, and vij is the maximal admissible speed for
vehicle ri on arc aj.
Note: in other cases arc weights could correspond to the lengths of the
arcs, to the energy needed to pass the arcs etc.
Laboratory for Robotics and Intelligent Control Systems
5
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
An example of a real multi-LGV plant layout
Laboratory for Robotics and Intelligent Control Systems
6
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
• a set of active vehicles (vehicles with assigned missions)
Ra  ri : ri  R
• a set of active missions
M a  mi : mi  M 
• a path .– set of arcs
  a j : a j  A
• the weight of the path σ is equal to the release time of its destination arc di
out
W(σ) = td
Laboratory for Robotics and Intelligent Control Systems
7
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Representation of LGV mission
• a mission
both can be changed
during mission execution

i
mi  t   oi , di , ˆ  t  , Pi  t  , ri
the shortest path
between oi and di

mission priority
• a set of all paths that connect origin arc oi and destination
arc di of mission mi is

i   1 ,  2 ...  q
• we have to find whether
i
ˆ  t 
i
i
i

is feasible
Laboratory for Robotics and Intelligent Control Systems
8
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Definition of mission priority
• a mission priority Pi(t) is calculated according to the relation:
  tdi  t

, Pi 0 
min  i
P t   
 W ( ˆ )  t




for
W ( iˆ )  
for
W ( iˆ )  
i
where tdi is a due time of mission mi, and Pi0 is an initial mission priority (the
mission with the highest priority has the lowest value of Pi0).
• the priority of the mission of the vehicle that is far from its destination is
higher than the priority of the mission of the vehicle that is already close to
its goal.
• the mission whose due time is expiring has a higher priority than the
mission with a larger time reserve.
Laboratory for Robotics and Intelligent Control Systems
9
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
More about mission priorities
•
•
•
•
•
Each time the request for a new mission arrives or current paths become
unviable, initially assigned missions’ priorities are recalculated by the
dispatching system  the missions with low initial priorities do not wait
infinitely in a queue  the influence of livelock is thus significantly reduced.
A care should be taken as more than one mission might have priority -∞. In
that case, the mission that requests the vehicle first gets a higher
priority.
When mi is finished without new mission assignments, an idle positioning
mission is activated and vehicle ri is driven to the nearest idle positioning
arc (a dead-end arc which is treated only as oi or di).
Being on the idle positioning arc, the vehicle is waiting for a new mission
assignment.
We assume that:
• a vehicle can reside only on arcs
• only one vehicle at the time is allowed to occupy one arc
Laboratory for Robotics and Intelligent Control Systems
10
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Definition of a time window
• Assigned to mission mi, vehicle ri occupies particular arc aj during a time
out
tij
window defined as
out
in
wij 
vehicle r3 first occupied arc a
during time window w3a
out
t3 a
t3 a
in
in
where
is a release time of arc
tij aj
from mission mi, and
is a time
of entry on arc aj by mission mi.
etc.
out
Arc a
in
ˆ ij
tij  tij , wij  w
out
t1a
in
t1a
out
t7 a
in
t7 a
t2 a
t2 a
t
then vehicle r1 occupied arc a
during time window w1a
w j   wij  ,
in
t j   in tij  ,
out
t j   out tij 
These are vectors with the 1st component corresponding to the highest priority
mission, nth component to the lowest priority mission and n=│Ma│, i.e., the
dimension of all three vectors is equal to the number of active missions (variable)
Laboratory for Robotics and Intelligent Control Systems
11
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
More about characteristics of time windows
• In case of moving on a circular path, a vehicle may visit an arc aj more than once,
hence, more than one component of time vector wj would correspond to the same
mission, i.e. n≠│Ma│ index iυj corresponds to the υth time window of mission mi on
arc aj.
• The components of vector wj, related to active missions which do not use arc aj, are set to
zero, while the related components of vectors and are set to ∞.
• From defined time vectors we know which missions visit which arcs, but we cannot tell
directly in which order  for the purpose of time windows insertion, we must sort
components of time vectors in a chronological order.
• In this way, vector x = [xi] can be converted into a sorted vector
x
i
 xi  x
i 1
x
= [xi], where
 xi 1
Laboratory for Robotics and Intelligent Control Systems
12
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
• In the example shown below, missions m1 and m2 have the highest and the lowest
priority, respectively
•Time vectors of a given arc aa are the following
w a   w1a
w7 a
t a   t1a
out
t a   out t1a
in
in
in
w3 a
in
t7 a
out
0
0

t3 a
out
t7 a
w2 a 
T
0


t3 a


in
t2 a 

out
T
t2 a 
T
• Sorted time vectors for arc aa are written as (it should be noted that, although seven
missions are active, only four of them are using arc aa).
w a   w3 a
w1a
t a   t3 a
out
t a   out t3 a
in
in
in
w7 a
in
t1a
out
out
out
t3 a
out
t3 a
in
t1a
0
in
t7 a
t1a
Arc a
in
w2 a
t2 a
out
t7 a
0

t2 a
out
t1a
in
0
T

 


T
 
out
t7 a
t7 a
Laboratory for Robotics and Intelligent Control Systems
T
in
t2 a
t2 a
t
13
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
The shortest path determination
The method solves the Shortest Path Problem with Time Windows (SPPTW).
The method finds the mission candidate paths by string matrix composition
A string matrix S, associated with graph G = (N, A) and its arc adjacency matrix G, is an
nxn matrix with string entry sij obtained as follows:
For each gij which has entry 1, sij=Ai-Aj, where Ai is a word identifying arc ai and Aj is a
word identifying arc aj. If gij = 0, sij= 0, that is, if there is no node between arcs, the entry
is an empty string.
Powers of string matrix S are calculated as follows:

S S
 1
S ,
i.e. an entry of Sρ is found as:
sij   sik 1  skj , i, j , k  1, 2,..., n ,
k
where n is a number of arcs in the corresponding graph.
Laboratory for Robotics and Intelligent Control Systems
14
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
The shortest path determination

 1
Standard multiplication in S  S
 Sshould
, be replaced with series string
composition, while standard addition should be replaced with parallel string
composition.
Then, component comprises all paths from arc i to arc j that include ρ nodes; these paths
are accordingly called ρth order paths (the components of string matrix S represent the 1st
order paths). A set contains all paths of the corresponding graph.
When a new mission mm is requested at the moment tm, the supervisor is looking for an
idle vehicle rm to assign it to that mission (with initial mission priority). As a goal of
dynamic routing is to determine the shortest path for mission mm, only powers of vector
(i.e., the row of matrix S that corresponds to the origin arc om) must be calculated by
using a string composition

 1
Σm  Σm  S .
Laboratory for Robotics and Intelligent Control Systems
15
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
The shortest path determination


,represented
by a string in
,
i
is formed inΣthe
following way: if there exist
m
Σ m , the weight of each path
Having vector

hasΣ
to be determined and then vector
m
ρth order paths that connect om and dm, then
W ( ˆ )  min W (  i )  .
i

m

m

ˆ the string that stood for
ˆ the
Furthermore, if W(
)ˆ< W(
), then
is replacedby

m 
m
m 
string representing
. In the case W( ˆ ) ≥ W(
), the path
in vector
is
ˆ
ˆ
m 

replacedˆby the null string,Σotherwise the path remains the component of the vector. Initially,
m
when mission mm is requested
m
m
ˆ ) = ∞.
and
W(
ˆ
  
m
m
m
 
Further step in algorithm is testing of the path feasibility
Laboratory for Robotics and Intelligent Control Systems
16
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
1. Initialization of time vectors

 i  .Σ m
Let us choose a candidate path
For each arc aj , its time vectors are initialized as
w j   w1 j w2 j
in
t j   in t1 j in t2 j
out
t j   out t1 j
out
... wˆ mj
in
...
t2 j
0 
0
tmj
out
...


tmj
T
 

T
 
T
missions with lower priority than
a new mission and missions
which released the arc before
new mission request
unknown  intmj = tm
Initialization of the origin arc om
t o   in t1o
out
t o   out t1o
in
m
m
m
wmo  lom / vmom
m
in
t2 o
... tm
m
out
m
t2 o
m
vmom
lom

 
... tm  wmo
m
T

 
T
the average vehicle speed
the remaining length of the arc at the moment of request
Laboratory for Robotics and Intelligent Control Systems
17
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
2. Insertion of time windows
Having time windows of all arcs that belong to the candidate path initialized, starting
from the second arc on the path, we are looking on each arc for the first available
time window that fulfils two requirements:
a) it is wide enough
to accommodate vehicle rm for a predetermined period,
in
out
tmi upstream arc, i → j.
b) its entry time tmj is set after the release time
of the
out
t3 a
out
Arc a
in
in
t3 a
out
t1a
in
t1a
out
Arc b
in
 mb
t7 a
out
t7 b
in
t7 b
out
Arc c
in
t1c
out
t1c
in
tmc
out
t7 a
out
tmb
tmb
in
in
in
t2 a
tma
t
t2b
in
t2b
out
tmc
t7 c
request for new mission
Laboratory for Robotics and Intelligent Control Systems
tma
out
in
tm
out
t2 a
t4b
t4b
t
t7 c
t
18
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
3. Time windows elongation and overlaps
out
out
t3 a
Arc a
in
in
t3 a
out
t1a
in
t1a
out
Arc b
in
Arc c
out
t1c
in
t1c
out
t3 a
out
Arc a
in
in
t3 a
tmc t
m
t1a
in
t1a
out
Arc b
tmb
in
t1c
t2b
out
t2 a
in
out
in
t7 a
out
t7 b
t2b
out
in
out
t1c
out
out
tm tmc
t4b
t
t7 c
t
out
t2 a
in
t2 a
out
t
out
tmb
in
out
tmc
t7 c
tma
tma
tmb
in
in
t4b
t7 c
t2b
in
t
tmb
tmc
request for new mission
out
t7 a
tma
tma
t2b conflict
in
in
t2 a
in
t7 b
out
Arc c
out
t7 b
in
in
in
in
t7 a
t7 b
out
out
t7 a
t4b
t4b
t
t7 c
t
resolution of conflict by window elongation
Laboratory for Robotics and Intelligent Control Systems
19
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Installation in Cavi Triveneta - Simulator
Laboratory for Robotics and Intelligent Control Systems
20
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Pre-installation testing in Euroimpianti Vicenza
Laboratory for Robotics and Intelligent Control Systems
21
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Installation Cavi Triveneta, Italy
Laboratory for Robotics and Intelligent Control Systems
22
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Installation Haribo Linz, Austria
Laboratory for Robotics and Intelligent Control Systems
23
University of Zagreb, Faculty of EE & C
Department of Control and Computer Engineering
SWAN'06
Arlington, USA, Decembe 7-9, 2006
Q&A
Laboratory for Robotics and Intelligent Control Systems
24