1: %
2: % PAPER ON Y-GRAPH
3: %
4: % Last modified by RG on Feb 24 2000
5: %
6: \documentclass[]{article}
7: \usepackage{psfrag,graphicx}
8: \oddsidemargin 0.1in
9: \evensidemargin 0.1in
10: \topmargin 0in
11: \headheight 0.2in
12: \headsep 0.2in
13: \textwidth 6.5in
14: \textheight 8.75in
15: \def\bfE{\mbox{\boldmath$E$}}
16: \def\bfG{\mbox{\boldmath$G$}}
17:
18: \bibliographystyle{abbrv}
19:
20:
21: \begin{document}
22:
23: \title{Safe Cooperative Robot Dynamics on Graphs\thanks{Supported
24: in part by National Science Foundation Grant IRI-9510673 [DK]
25: and by National Science Foundation Grant DMS-9971629 [RG].
26: A sketch of these ideas appeared as a conference proceedings
27: \cite{GK:japan}.}}
28:
29: \author{Robert W. Ghrist\thanks{
30: School of Mathematics,
31: Georgia Institute of Technology,
32: Atlanta, GA 30017, USA. {\tt ghrist@math.gatech.edu}}
33: \and
34: Daniel E. Koditschek\thanks{
35: Department of Electrical Engineering and Computer Science,
36: The University of Michigan,
37: Ann Arbor, MI 48109-2110, USA. {\tt kod@eecs.umich.edu}}
38: }
39:
40: \maketitle
41:
42: \input setups.tex
43:
44: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45:
46: \begin{abstract}
47:
48: This paper initiates the use of vector fields to design, optimize,
49: and implement reactive schedules for safe cooperative robot
50: patterns on planar graphs.
51: We consider Automated Guided Vehicles (AGV's) operating upon
52: a predefined network of pathways. In contrast to the case of
53: locally Euclidean configuration spaces, regularization of
54: collisions is no longer a local procedure, and issues concerning
55: the global topology of configuration spaces must be addressed.
56: The focus of the present inquiry is the achievement of safe, efficient,
57: cooperative patterns in the simplest nontrivial example
58: (a pair of robots on a Y-network) by means of a state-event
59: heirarchical controller.
60:
61:
62: \end{abstract}
63:
64: %\begin{keywords}
65: %configuration spaces, AGV, graph network
66: %\end{keywords}
67:
68: %\begin{AMS}
69: %primary: 93C85, 68T40; secondary: 93C25, 37N35
70: %\end{AMS}
71:
72: \pagestyle{myheadings}
73: \thispagestyle{plain}
74: \markboth{ROBERT W. GHRIST AND DANIEL E. KODITSCHEK}{SAFE ROBOT DYNAMICS}
75:
76: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77:
78: %\input{sec_1.tex}
79: \section{Introduction}
80: \label{sec_1}
81:
82: Recent literature suggests the growing awareness of a need for
83: ``reactive'' scheduling wherein one desires not merely a single
84: deployment of resources but a plan for successive re-deployments
85: against a changing environment \cite{smith.reactive}. But
86: scheduling problems have been traditionally solved by appeal to a
87: discrete representation of the domain at hand. Thus the need for
88: ``tracking'' changing goals introduces a conceptual dilemma: there is
89: no obvious topology by which proximity to the target of a given
90: deployment can be measured. In contrast to problems entailing the
91: management of information alone, problems in many robotics and
92: automation settings involve the management of { \em work } --- the
93: exchange of energy in the presence of geometric constraints. In these
94: settings, it may be desirable to postpone the imposition of a
95: discrete representation long enough to gain the benefit of the natural
96: topology that accompanies the original domain.
97:
98: This paper explores the use of vector fields for
99: reactive scheduling of safe cooperative robot patterns
100: on graphs. The word ``safe'' means that obstacles --- designated
101: illegal portions of the configuration space --- are avoided. The word
102: ``cooperative'' connotes situations wherein physically distributed
103: agents are collectively responsible for executing the schedule. The
104: word ``pattern'' refers to tasks that cannot be encoded simply in terms
105: of a point goal in the configuration space. The word ``reactive''
106: will be interpreted as requiring that the desired pattern
107: reject perturbations: conditions close but slightly removed from
108: those desired remain close and, indeed, converge toward the exactly
109: desired pattern.
110:
111:
112:
113: \subsection{Setting: AGV's on a Guidepath Network of Wires}
114:
115: An automated guided vehicle (AGV) is an unmanned powered cart
116: ``capable of following an external guidance signal to deliver a unit
117: load from destination to destination'' where, in most common
118: applications, the guidepath signal is buried in the floor
119: \cite{agvhandbook}. Thus, the AGV's workspace is a network of wires
120: --- a graph.
121: The motivation to choose AGV based materials handling systems over
122: more conventional fixed conveyors rests not simply in their ease of
123: reconfigurability but in the potential they offer for graceful
124: response to perturbations in normal plant operation. In real
125: production facilities, the flow of work in process fluctuates
126: constantly in the face of unanticipated workstation downtime,
127: variations in process rate, and, indeed, variations in materials
128: transport and delivery rates \cite{gershwin}.
129: Of course, realizing their potential robustness against these
130: fluctuations in work flow remains an only
131: partially fulfilled goal of contemporary AGV systems.
132:
133: Choreographing the interacting routes of multiple AGVs in a
134: non-conflicting manner presents a novel, complicated, and necessarily
135: on-line planning problem. Nominal routes might be designed offline
136: but they can never truly be traversed with the nominal timing, for all
137: the reasons described above. Even under normal operating conditions,
138: no single nominal schedule can suffice to coordinate the workflow as
139: the production volume or product mix changes over time: new vehicles
140: need to be added or deleted and the routing scheme adapted.
141: In any case, abnormal conditions --- unscheduled process down times; blocked
142: work stations; failed vehicles --- continually arise, demanding
143: altered routes.
144:
145: The traffic control schemes deployed in
146: contemporary AGV systems are designed to simplify the real-time
147: route planning and adaptation process by ``blocking zone control''
148: strategies.
149: The workspace is partitioned into a small number of cells and,
150: regardless of the details of their source and destination tasks, no two
151: AGVs are
152: ever allowed into the same cell at the same time \cite{agvhandbook}.
153: Clearly, this simplification results in significant loss of a
154: network's traffic capacity.
155:
156: In this paper, we will consider a centralized approach that employs
157: dynamical systems theory to focus on real-time responsiveness and
158: efficiency as opposed to computational complexity or average
159: throughput. No doubt, beyond a certain maximum number of vehicles,
160: the necessity to compute in the high dimensional configuration
161: space will limit the applicability of any algorithms that arise.
162: However, this point of view seems not to have been carefully explored
163: in the literature. Indeed, we will sketch some ideas about how an
164: approach that starts from the coupled version of the problem may lend
165: sufficient insight to move back and forth between the individuals'
166: and the group's configuration spaces even in real time. For the sake
167: of concreteness we will work in the so-called ``pickup and delivery''
168: (as opposed to the ``stop and go'' \cite{bozer.iie91}) paradigm of
169: assembly or fabrication, and we will not be concerned with
170: warehousing style AGV applications.
171:
172: \subsection{Contributions of the Paper}
173:
174: The paper is organized as follows. In \S\ref{sec_2}, we review
175: fundamental facts about the topology of graphs, with which we
176: define the class of {\em edge point
177: fields} --- locally defined dynamics that realize
178: single letter patterns. These act collectively as a toolbox
179: from which to build a hybrid controller for achieving arbitrary
180: patterns with a single AGV. This represents a slight generalization of
181: the scheme the second author and colleagues have proposed in
182: \cite{kod&burridge.ijrr}.
183:
184: The problem of dynamics and control on non-trivial graphs is then
185: considered in \S\ref{sec_3}, beginning with a detailed discussion of
186: a natural intrinsic coordinate system in which to frame the
187: configuration space. We present a topological analysis of
188: the configuration space for a pair of AGV's on a Y-shaped graph ---
189: the simplest nontrivial situation. Here, a clarification of the
190: configuration space presentation leads easily to a vector field
191: construction that brings all initial conditions of two robots
192: on the graph to any desired pair of goal points while guaranteeing
193: safety (i.e., no collisions along the way). The desire
194: for a more decoupled controller --- the hope of an ``interleaving'' of
195: otherwise independent individual patterns --- impels a revised approach to
196: safe navigation leading to the construction of a vector field that enables
197: the AGV's to ``dance'' about one other at a vertex.
198:
199: The dynamical features of this {\em circulating field} are suggestive
200: of a hybrid construction that would allow multiple independent
201: patterns to be safely interleaved. We proceed in \S\ref{sec_4} to
202: construct a 12-symbol grammar of so-called ``monotone'' cycles: those
203: patterns which exclude multiple robots on a single edge of the graph.
204: The goal of this excursion is to tune limit cycles visiting
205: various docking stations in such a way as to be optimal with
206: respect to certain notions of distance or performance.
207:
208: We complete our treatment of this fundamental example by
209: synthesizing the grammar results into a state-event controlled hybrid
210: system for achieving cooperative patterns.
211: Appendix A is included to place on a rigorous foundation
212: the use of vector fields on graphs and configuration spaces
213: thereof.
214:
215:
216:
217:
218: %\input{sec_2.tex}
219: \section{Notation and Background}
220: \label{sec_2}
221:
222: \subsection{Graph Topology}
223:
224: A {\em graph}, $\Graph$, consists of a finite collection of
225: 0-dimensional vertices $\Vs \ldf \{ v_{i}\}_1^N$,
226: and 1-dimensional edges $\Es \ldf \{ e_{j} \}_1^M$ assembled
227: as follows. Each edge is homeomorphic to the closed interval
228: $[0,1]$ attached to $\Vs$ along its boundary points $\{0\}$
229: and $\{1\}$.\footnote{
230: We will assume away in the sequel the possibility of ``homoclinic''
231: edges whose boundary points are attached to the
232: same vertex.}
233: We place upon $\Graph$ the quotient topology
234: given by the endpoint identifications:
235: Neighborhoods of a point in the interior of $e_j$ are homeomorphic
236: images of interval neighborhoods of the corresponding point in $[0,1]$,
237: and neighborhoods of a vertex $v_i$ consist of the union
238: of homeomorphic images of half-open neighborhoods of the
239: endpoints for all incident edges.
240:
241: The configuration spaces we consider in \S\ref{sec_3} and following
242: are self-products of graphs. The topology of $\Graph\times\Graph$
243: is easily understood in terms of the topology of $\Graph$ as
244: follows \cite{munkres}. Let $(x,y)\in\Graph\times\Graph$ denote
245: an ordered pair in the product. Then any small neighborhood of
246: $(x,y)$ within $\Graph\times\Graph$ is the union of neighborhoods
247: of the form $\Ns(u)\times \Ns(v)$, where $\Ns(\cdot)$
248: denotes neighborhood within $\Graph$. In other words, the
249: products of neighborhoods form a {\em basis} of neighborhoods
250: in the product space.
251:
252: Given a graph, $\Graph$, outfitted with a finite number $N$ of
253: non-colliding AGV's constrained to move on $\Graph$, the
254: (labeled) configuration space of safe motions is defined as
255: \be
256: \Cs\ldf \left(\Graph\times\ldots\times\Graph\right) -
257: \Ns(\Diag),
258: \ee
259: where $\Diag\ldf\{(x_i)\in\Graph\times\ldots\times\Graph :
260: x_j = x_k$ for some $j\neq k\}$ denotes the pairwise
261: diagonal and $\Ns(\cdot)$ denotes (small) neighborhood.
262:
263: For general graphs, the topological features of $\Cs$ can be extremely
264: complicated.
265: We do not treat the general aspects of this problem comprehensively in
266: this paper; rather, we restrict attention to the simplest nontrivial
267: example which illustrates nicely the relevant features present in the
268: more general situation. The topological characteristics
269: of general configuration spaces
270: on graphs is treated in \cite{Ghr:birman,Ghr:homotopytype}.
271: Mathematically, it is usually most interesting to pass to
272: the quotient of $\Cs$ by the action of the permutation group
273: on $N$ elements, thus forgetting the identities of the AGV
274: elements; however, as such spaces are almost completely divorced
275: from any applications involving coordinated transport, we work on the
276: ``full'' configuration space $\Cs$.
277:
278: In order to proceed, it is necessary to clarify what we mean by a
279: vector field on a simplicial complex that fails to be a manifold. This
280: is a nontrivial issue: for example, in the case of a graph, the
281: tangent space to a vertex with incidence number greater than two is
282: not well-defined.
283: We defer a more detailed discussion of these statements to
284: Appendix A. The essential difference is that we construct
285: {\em semiflows}: flows which possess unique forward orbits.
286:
287: % -----------------------------------------------------------
288: \subsection{Edge Point Fields for Single AGV Control}
289: % -----------------------------------------------------------
290:
291: In the context of describing and executing {\em patterns} or periodic
292: motions on a graph, one desires a set of building blocks for moving
293: from one goal to the next. We introduce the terminology and
294: philosophy for constructing patterns by way of the simplest
295: possible examples: a single AGV on a graph. This avoids the
296: additional topological complications present in the context of
297: cooperative motion.
298:
299: We thus introduce the class of {\em edge
300: point fields} as a dynamical toolbox for a hybrid controller.
301: Given a specified goal point $\goal\in e_{j}$ within an edge of
302: $\Graph$, an {\em edge point field} is a locally defined vector field
303: $\EPF_\goal$ on $\Graph$ with the following properties:
304: \begin{description}
305:
306: \item[Locally Defined:] $\EPF_\goal$ is defined on a
307: neighborhood $\Ns(e_j)$ of the goal-edge $e_j$ within the graph
308: topology. Furthermore, forward orbits under $\EPF_\goal$
309: are uniquely defined.
310:
311: \item[Point Attractor:] every forward orbit of $\EPF_\goal$
312: asymptotically approaches the unique fixed point
313: $\goal\in e_j$.\footnote{
314: When it is not clear from the context, we shall denote the
315: goal point achieved by an edge point flow as
316: $\Goal(\EPF_\goal) = \{ \goal \}.$}
317:
318: \item[Navigation-Like:] $X_\goal$ admits a $C^0$ Lyapunov
319: function, $\obj_\goal:\Graph\rightarrow\real$.
320:
321: \end{description}
322:
323:
324: The following existence lemma (whose trivial proof we omit) holds.
325: \llem{EPF}
326: {
327: Given any edge $e_j\subset\Graph$ which is contractible within
328: $\Graph$, there exists an edge point field $\EPF_\goal$ for
329: any desired goal $\goal\in e_j$.
330: }\label{lem_EdgePoint}
331:
332: The only occasion for which an edge $e_j$ is not contractible in
333: $\Graph$ is in the ``homoclinic case'' when both endpoints of $e_j$
334: are attached to the same vertex, forming a loop. In such instances,
335: one may avoid the problem by subdividing the edge to include more
336: vertices, which is very natural in the setting of this paper, since
337: vertices correspond to workstations along a path.
338:
339: % --------------------------------------------------
340: \subsection{Discrete Regulation of Patterns}
341: % --------------------------------------------------
342:
343: We adopt the standard framework of symbolic dynamics
344: \cite{lind&marcus}. By an excursion on a graph is meant a (possibly
345: infinite) sequence of edges from the graph,
346: $E=e_{i_{1}}\ldots e_{i_{N}}\ldots \in \Es^{Z}$,
347: having the property that each pair of contiguous edges, $e_{i_{j}}$
348: and $e_{i_{j+1}}$ share a vertex in common.
349: The set of excursions forms a language, $\Ls$: the
350: so-called {\em subshift} on the alphabet defined by the named edges
351: (we assume each name is unique) \cite{lind&marcus}. The {\em shift
352: operator}, $\sigma$, defines a discrete dynamical system on the set of
353: excursions, mapping the set of infinite sequences into itself by
354: decrementing the time index. An {\em $M$-block extension} of the
355: original language arises in the obvious way from grouping together each
356: successive block of $M$ contiguous letters from an original sequence,
357: and it is clear how $\sigma$ induces a shift operator, $\sigma^{M}$
358: on this derived set of sequences.
359:
360: Given a legal block, $B=e_{i_{1}}\ldots e_{i_{M}}\in \Ls$,
361: we will say that an excursion realizes that pattern if its $M$-block
362: extension eventually reaches the ``goal'' $BBBBB \ldots $ under the
363: iterates of $\sigma^{M}$. In other words, after some finite number of
364: applications of $\sigma$, the excursion consists of repetitions
365: of the block $B$ (terminating possibly with the empty edge).
366:
367: In a previous paper \cite{kod&burridge.ijrr}, the second author and
368: colleagues introduced a very simple but effective discrete event
369: controller for regulating patterns on graphs from all reachable
370: initial edges by pruning the graph back to a tree (imposing an
371: ordering). Of course, this simple idea has a much longer history. In
372: robotics it was introduced in \cite{lmt} as ``pre-image
373: backchaining;'' pursued in \cite{mason.funnel} as a method for
374: building verifiable hardened automation via the metaphor of a
375: funneling; and in \cite{erdmann.sensors} as a means of prescribing
376: sensor specifications from goals and action sets. In the discrete
377: event systems literature an optimal version of this procedure has been
378: introduced in \cite{heyman.is93} and a generalization recently has
379: been proposed in
380: \cite{stephane.opt}.
381:
382:
383: Let $\Es^{0}
384: \ldf B \subset \Es $ denote the edges of $\Graph$ that appear in the
385: block of letters specifying the desired pattern. Denote by
386: \[
387: \Es^{n+1} \subset \Es - \bigcup_{k\leq n}\Es^{k}
388: \]
389: those edges that share a vertex with an edge in $\Es^{n}$ but are not
390: in any of the previously defined subsets. This yields a finite
391: partition of $\Es$ into ``levels,'' $\{ \Es^{p} \}_{p=0}^{P}$,
392: such that for each edge, $e^p_i \in \Es^{p}$, there can be found a
393: legal successor edge, $e^{p-1}_j \in \Es^{p-1}$, such that
394: $e^p_ie^{p-1}_j \in \Ls$ is a legal block in the language. Note
395: that we have implicitly assumed $\Es^{0}$ is reachable from the
396: entire graph --- otherwise, there will be some ``leftover'' component
397: of $\Es$ forming the last cell in the partition starting within which
398: it is not possible to achieve the pattern. Note as well that we impose
399: some ordering of each cell $\Es^{p} = \{ e^p_i \}_{i=1}^{M_{p}}$:
400: the edges of $\Es^{0}=B$ are ordered by their appearance in the block;
401: the ordering of edges in higher level cells is arbitrary.
402:
403:
404: We may now define a ``graph controller'' law, $G \st \Es
405: \rightarrow \Es$ as follows. From the nature of the partition
406: $\{\Es^p\}$ above, it is clear that the least legal successor function,
407: \beq{successor}
408: {
409: \choicetwo{L(e_i^p)}
410: {i+1 \: {\mbox{mod}} \: M}{\, p=0}
411: {\min \{ j \leq M_p \,\st\, e^p_ie^{p-1}_j \in \Ls \}}{\, p>0} ,
412: }
413: is well-defined. From this, we construct the graph controller:
414: \beq{graph_control}
415: {
416: G(e^p_i) \ldf e^{p-1}_{L(p,i)} .
417: }
418: It follows almost directly from the definition of this function that
419: its successive application to any edge leads eventually to a
420: repetition of the desired pattern:
421: \lprop{successor}
422: {
423: The iterates of $G$ on $\Es$ achieve the pattern $B$.
424: }
425:
426:
427:
428: \subsection{Hybrid Edge Point Fields}
429:
430:
431: A semiflow, $(X)^t$, on the graph induces excursions in $\Ls$
432: parametrized by an initial condition as follows. The
433: first letter corresponds to the edge in which the initial condition is
434: located (initial conditions at vertices are assigned to the
435: incident edge along which the semiflow points).
436: The next letter is added to the sequence by motion
437: through a vertex from one edge to the next.
438:
439: We will say of two edge point fields, $\EPF_{1},\EPF_{2}$ on a graph,
440: $\Graph$, that $\EPF_{1}$ { \em prepares } $\EPF_{2}$, denoted
441: $\EPF_{1} \succ \EPF_{2},$ if the goal of the first is in the
442: domain of attraction of the second,
443: $ \Goal(\EPF_{1}) \subset \Ns(\EPF_{2}). $
444: Given any finite collection of edge point fields on
445: $\Graph$, we will choose some $0 < \alpha < 1$ and assume that their
446: associated Lyapunov functions have been scaled in such a
447: fashion that $\EPF_{1} \succ \EPF_{2},$ implies
448: $
449: \inv{\prl{\obj_{1}}}[0,\alpha] \subset \Ns(\EPF_{2}).
450: $
451: In other words, an $\alpha$ crossing of the trajectory
452: $\obj_{1} \circ \prl{\EPF_{1}}^{t}$
453: signals arrival in $\Ns(\EPF_{2})$.
454:
455: Suppose now that for every edge in some pattern block, $e^0_i \in
456: \Es^{0}$, there has been designated a goal point, $\goal^0_i$,
457: along with an edge point field $\EPF^0_i$ taking that goal,
458: $\Goal(\EPF^0_i)=\goal^0_i$.
459: Assume as well that the edge point field associated with each previous
460: edge in the pattern prepares the flow associated with the next edge,
461: in other words, using the successor function \req{successor} we have,
462: \[
463: \Goal \prl{ \EPF^0_{j} } \subset \Ns\prl{\EPF^0_{L(j)}}.
464: \]
465: Now construct edge point fields on all the edges of $\Graph$ such that
466: the tree representation of their $\succ$ relations is exactly the tree
467: pruned from the original graph above --- namely we have
468: \[
469: \Goal \prl{ \EPF^p_{j} } \subset \Ns \prl{\EPF^{p-1}_{L(j)}}.
470: \]
471: % ****************************************************
472:
473:
474: We are finally in a position to construct a hybrid semi-flow on
475: $\Graph$. This feedback controller will run the piece-wise
476: smooth vector field, $\dot x = \EPF$, as follows
477: \beq{hybrid}
478: {
479: \choicetwo{\EPF}
480: {\EPF^p_j}{ x \in e^p_j {\mbox{ and }} \obj^p_j > \alpha }
481: {\EPF^{p-1}_{L(j)} }{x \in e^{p-1}_{L(j)} {\mbox{ or }} \obj^p_j \leq
482: \alpha } .
483: }
484: It is clear from the construction that progress from edge to edge
485: of the state of this flow echoes the graph transition rule $G$,
486: constructed above.
487:
488: \lprop{hybrid}
489: {The edge transitions induced by the hybrid controller \req{hybrid}
490: are precisely the iterates of the graph map, $G$,
491: \req{graph_control} in the language, $\Ls$.
492: }
493:
494:
495:
496:
497:
498: %\input{sec_3.tex}
499: \section{The Y-Graph}
500: \label{sec_3}
501: % *********************************************************
502:
503: We now turn our attention to the safe control of multiple AGV's
504: on a graph work-space via vector fields.
505: For the remainder of this work, we consider the simplest example
506: of a non-trivial configuration space: that associated to
507: the {\em Y-graph}, $\Ygraph$, having four vertices $\{v_i\}_0^3$
508: and three edges $\{e_i\}_1^3$, as illustrated in Figure~\ref{fig_Y}.
509: Although this is a simple scenario compared to what one
510: finds in a typical setting, there are several
511: reasons why this example is in many respects canonical.
512: \begin{enumerate}
513: \item {\bf Simplicity:}
514: Any graph may be constructed by gluing
515: $K$-prong graphs together for various $K$. The
516: $K=3$ model we consider is the simplest nontrivial
517: case and is instructive for understanding the richness
518: and challenges of local cooperative dynamics on graphs.
519: \item {\bf Genericity with respect to graphs:}
520: Graphs which consist of copies of $\Ygraph$ glued
521: together, the {\em trivalent graphs}, are generic in the
522: sense that any nontrivial graph may be perturbed
523: in a neighborhood of the vertex set so as to be trivalent.
524: For example, the 4-valent graph resembling the letter
525: `X' may be perturbed slightly to resemble the letter
526: `H' --- a trivalent graph. An induction argument shows
527: that this is true for all graphs. Hence, the dynamics
528: on an arbitrary graph are approximated by patching
529: together dynamics on copies of $\Ygraph$.
530: \item {\bf Genericity with respect to local dynamics:}
531: Finally, pairwise local AGV interactions on an arbitrary
532: graph restrict precisely to the dynamics of two agents on
533: $\Ygraph$ as follows. Given a vertex $v$ of a graph $\Gamma$,
534: assume that two AGV's, $x$ and $y$, are on different edges
535: $e_1$ and $e_2$ incident to $v$ and moving towards
536: $v$ with the goal of switching positions. A collision is
537: imminent unless one AGV ``moves out of the way'' onto
538: some other edge $e_3$ incident to $v$. The local interactions
539: thus restrict to dynamics of a pair of AGV's on the subgraph
540: defined by $\{v;e_1,e_2,e_3\}$. Hence, the case we treat in
541: this paper is the generic scenario for the local resolution
542: of collision singularities in cooperative dynamics on graphs.
543: \end{enumerate}
544:
545: % *********************************************************
546: \subsection{Intrinsic Coordinates}
547: % *********************************************************
548:
549: The configuration space of $N$ points on $\Ygraph$ is a
550: subset of the $N$-fold cartesian product
551: $\Ygraph\times\Ygraph\times\cdots\times\Ygraph$. Since each
552: graph which is physically relevant to the setting of this paper
553: is embedded in a factory floor or ceiling and thus planar,
554: the configuration space $\Cs^N(\Ygraph)$ embeds
555: naturally in $R^{2N}$. We wish to modify this embedding
556: to facilitate both analysis on and visualization of the configuration
557: space. We will present alternate embeddings in both higher and
558: lower dimensional Euclidean spaces for these purposes.
559:
560: We begin with representing the configuration space within a
561: higher-dimensional Euclidean space via a coordinate system
562: which is {\em intrinsic}: it is independent
563: of how the graph is embedded in space. We illustrate this
564: coordinate system with the Y-graph $\Ygraph$, noting that
565: a few simple modifications yields a coordinate scheme for
566: more general graphs.
567:
568: Let $\{e_i\}_1^3$ denote the three edges in $\Ygraph$, parametrized
569: so that $e_i$ is identified with $[0,1]$ with each $\{0\}$ at the
570: center $v_0$ of $\Ygraph$. Any point in
571: $\Ygraph$ is thus given by a vector $x$ in the
572: $\{e_i\}$ basis whose magnitude $\Value{x}\in[0,1]$ determines the
573: position of the point in the $e_i$ direction. Denote by
574: $\Index{x}$ the value of $i$ so that $x=\Value{x}e_{\Index{x}}$.
575: This parametrization embeds $\Ygraph$
576: as the positive unit axis frame in $R^3$.
577: Likewise, a point in $\Cs$ is given as a pair of distinct vectors
578: $(x,y)$, i.e., as the positive unit axis frame in $R^3$ cross itself
579: sitting inside of $R^3\times R^3\cong R^6$. We have thus embedded
580: the configuration space of two distinct points on $\Ygraph$
581: in the positive orthant of $R^6$. It is clear that one can embed the
582: more general configuration space of $N$ points on $\Ygraph$
583: in $R^{3N}$ in this manner.
584:
585: This coordinate system is particularly well-suited to describing
586: vector fields on $\Cs$ and in implementing numerical simulations
587: of dynamics, as the coordinates explicitly keep track of the
588: physical position of each point on the graph.
589:
590: % *********************************************************
591: \subsection{A Topological Analysis}
592: % *********************************************************
593:
594: More useful for visualization purposes, however, is the following
595: construction which embeds $\Cs$ within $R^3$.
596:
597: % =========================================
598: \begin{figure}[htb]
599: \begin{center}
600: \psfragscanon
601: \psfrag{0}[][]{$v_0$}
602: \psfrag{1}[][]{$v_1$}
603: \psfrag{2}[][]{$v_2$}
604: \psfrag{3}[][]{$v_3$}
605: \psfrag{a}[][]{$e_1$}
606: \psfrag{b}[][]{$e_2$}
607: \psfrag{c}[][]{$e_3$}
608: {%\centerline{
609: \includegraphics[width=1.6in]{{y.eps}}
610: \hspace{0.2in}
611: \includegraphics[width=3.0in]{{pin5.eps}}}
612: \end{center}
613: \vspace{-0.1in}
614:
615: \caption{[left] The $Y$-graph $\Upsilon$; [right] the
616: configuration space $\Cs$ embedded in $R^3$.}
617: \label{fig_pin5}\label{fig_Y}
618: \end{figure}
619: % =========================================
620:
621: \begin{thm}\label{thm_Space}
622: The configuration space $\Cs$ associated to a pair of AGV's
623: restricted to the $Y$-graph $\Ygraph$ is homeomorphic to
624: a punctured disc with six 2-simplices attached as in
625: Figure~\ref{fig_pin5}.
626: \end{thm}
627:
628: \begpf
629: Recall that $\Cs$ consists of pairs of distinct vectors $(x,y)$ in intrinsic
630: coordinates. Restrict attention to the subspace $\Finless\subset\Cs$
631: defined by
632: \be
633: \Finless := \{(x,y)\in\Cs : \Index{x}\neq\Index{y}\} ,
634: \ee
635: where an undefined index is considered to be different than
636: one which is defined. Thus, $\Finless$ consists of those configurations
637: for which both AGV's do not occupy the same edge interior.
638:
639: The set $\Finless$ has a natural cellular decomposition
640: as follows. There are $2$ AGV's and $3$ edges in $\Ygraph$; hence,
641: there are $3\cdot 2 = 6$ cells $\Finless_{i,j}\subset\Finless$ where
642: $i:=\Index{x}\neq\Index{y}=:j$. Since (the closure of)
643: each edge in $\Ygraph$ is homeomorphic to $[0,1]$ (determined by
644: $\Value{\cdot}$), the cell $\Finless_{i,j}$ is homeomorphic to
645: $([0,1]\times[0,1])-\{(0,0)\}$, where, of course, the origin $(0,0)$
646: is removed as it belongs to the diagonal $\Diag$.
647: A path in $\Finless$ can move from cell to cell only along the subsets
648: where the index of one AGV changes: e.g., $\Value{x}=0$ or
649: $\Value{y}=0$. Thus, the edges $\{0\}\times(0,1]$ and
650: $(0,1]\times\{0\}$ of the punctured square $\Finless_{i,j}$
651: are attached respectively to $\Finless_{k,j}$ and $\Finless_{i,k}$,
652: where $k$ is the unique index not equal to $i$ or $j$.
653:
654: Furthermore, each 2-cell $\Finless_{i,j}$ has a product structure
655: as follows: decompose $\Finless_{i,j}$ along lines of constant
656: $\theta := \tan^{-1}\left(\frac{\Value{y}}{\Value{x}}\right)$.
657: It is clear that $\theta$ is the angle in the unit first quadrant in
658: which $\Finless_{i,j}$ sits. Hence, each $\Finless_{i,j}$ is decomposed
659: into a product of a closed interval $S_{i,j}:=\theta\in[0,\pi/2]$
660: (an `angular' coordinate) with the
661: half-open interval $(0,1]$ (a `radial' coordinate). As this product
662: decomposition is respected along the gluing edges, we have a decomposition
663: of all of $\Finless$ into the product of $(0,1]\times S$, where $S$
664: is a cellular complex given by gluing the six segments $S_{i,j}$
665: end-to-end cyclically along their endpoints.
666: The set $S$ is a 1-manifold without boundary since each $S_{i,j}$
667: is a closed interval, each of whose endpoints is glued to precisely one
668: other $S_{i,j}$. Hence, by the classification of 1-manifolds,
669: $S$ is homeomorphic to a circle. We have thus decomposed
670: $\Finless$ as the cross product of a circle with $(0,1]$ ---
671: a punctured unit disc.
672:
673: The complement of $\Finless$ in $\Cs$ consists of those regions
674: where $\Index{x}=\Index{y}$. For each $i=1..3$, the subset of
675: $\Cs$ where $\Index{x}=\Index{y}=i$ is homeomorphic to
676: $((0,1]\times(0,1])-\{\Value{x}=\Value{y}\}$: this consists of
677: two disjoint triangular ``fins.'' A total of six such fins are thus
678: attached to $\Finless$ along the six edges where $\Value{x}$ or
679: $\Value{y}=0$. In the coordinates of the product decomposition
680: for $\Finless$, these fins emanate along the radial lines where
681: $\theta$ equals zero or $\pi/2$, yielding the topological space
682: illustrated in Figure~\ref{fig_pin5}.
683: \endpf
684:
685: The precise drawing of Figure~\ref{fig_pin5} represents this
686: punctured disc $\Finless$ as a hexagon-shaped complex with a
687: punctured center: this follows from the cellular structure of
688: $\Finless$ as being built from six squares sewn together.
689:
690: \lcor{sphereworld}
691: {
692: Given any pair of goals $\goal\ldf(\goal_1,\goal_2)$ where
693: $\goal_1$ and $\goal_2$ live on different branches of $\Ygraph$,
694: there exists a navigation function (of class piecewise real-analytic)
695: generating a semiflow which sends all but a measure-zero set of
696: initial conditions to $\goal$ under the gradient semiflow.
697: }
698:
699: \begpf
700: The subset $\Finless\subset\Cs$ is homeomorphic to a punctured disc
701: $S\times(0,1]$, and may be easily compactified to an annulus
702: $S\times[0,1]$ by removing an open neighborhood of the diagonal. Then,
703: the conditions for the theorems of Koditschek and Rimon
704: \cite{kod&rimon.aam} are met, since an annulus is a {\em sphereworld}.
705: Hence, not only does a navigation function $\Phi$ on this subspace exist,
706: but an explicit procedure for determining $\Phi$ is given
707: \cite{kod&rimon.aam}. One may then
708: extend $\Phi$ to the remainder of $\Cs$ as follows: choose a point
709: $(x,y)$ on the fin and define
710: \be
711: \Phi(x,y) := \left\{
712: \begin{array} {ccc}
713: \frac{\ds 1}{\ds 1-\Value{x}}\Phi(0,y) & ; & \Value{x}<\Value{y} \\
714: \frac{\ds 1}{\ds 1-\Value{y}}\Phi(x,0) & ; & \Value{y}<\Value{x}
715: \end{array} \right.,
716: \ee
717: so that $\Phi$ increases sharply along the fins. This directs the
718: gradient flow to monotonically ``descend'' away from the diagonal
719: and onto $\Finless$.
720: Note that $\Finless$ is forward-invariant under the dynamics, and,
721: that upon prescribing the vector field on the fins to point
722: transversally into $\Finless$, we have
723: defined a semiflow, and hence a well-defined navigational procedure.
724: \endpf
725:
726: This result is very satisfying in the sense that it guarantees a
727: navigation function by applying existing theory to a situation
728: which, from the definition alone, would not appear to
729: be remotely related to a sphereworld. However, a deeper
730: analysis of configuration spaces of graphs \cite{Ghr:homotopytype}
731: reveals that for more than two AGV's, the configuration
732: space is never a sphereworld.\footnote{The configuration space
733: of a graph turns out to be {\em aspherical}: there are no
734: essential closed spheres of dimension larger than one.}
735: Hence, we consider an alternate
736: solution to the problem of realizing compatible goals by means
737: of a vector field on the configuration space. This
738: method is adaptable to more complicated settings.
739:
740:
741: % *********************************************************
742: \subsection{Example: a Circulating Flow}
743: % *********************************************************
744:
745: Before proceeding with a general scheme for controlling two agents
746: on the Y-graph, we present a simple example of a vector field
747: on the configuration space which can be used to regularize
748: collisions about a generic trivalent vertex.
749: Theorem~\ref{thm_Space} and Figure~\ref{fig_pin5} suggest a
750: natural {\em circulating flow} on the configuration
751: space $\Cs$ which has the effect of inducing a ``dance''
752: between the pair of AGV's which cycles through all combinations
753: of distinct point goals.
754:
755: \begin{thm}
756: There exists a piecewise-smooth vector field $X$ on $\Cs$ which
757: has the following properties:
758: \begin{enumerate}
759: \item $X$ defines a nonsingular semiflow on $\Cs$;
760: \item The diagonal $\Diag$ is repelling with respect to $X$; and
761: \item Every orbit of $X$ approaches a unique attracting limit cycle
762: on $\Cs$ which cycles through all possible ordered pairs of
763: distinct edge-states.
764: \end{enumerate}
765: \end{thm}
766: \begpf
767: Denote by $\Finless$ that portion of the configuration space
768: which corresponds to the AGV's being on distinct edges of the
769: graph: as proven earlier, $\Finless$ is homeomorphic to a punctured disc.
770: The intrinsic coordinates on the configuration space $\Cs$ is
771: illustrated in Figure~\ref{fig_Coords}, where only $\Finless$ is shown
772: for illustration purposes. The reader should think of this as
773: a collection of six square coordinate planes, attached together
774: pairwise along axes with the origin removed
775: (this is actually an isometry for the natural product metric). The six
776: triangular fins are then attached as per Figure~\ref{fig_pin5}.
777:
778: % =========================================
779: \begin{figure}[htb]
780: \begin{center}
781: \psfragscanon
782: \psfrag{1}[bl][bl]{$(e_1,0)$}
783: \psfrag{2}[b][b]{$(0,e_3)$}
784: \psfrag{3}[b][b]{$(e_2,0)$}
785: \psfrag{4}[br][br]{$(0,e_1)$}
786: \psfrag{5}[b][]{$(e_3,0)$}
787: \psfrag{6}[b][]{$(0,e_2)$}
788: {%\centerline{
789: \includegraphics[width=2.1in]{{coords.eps}}
790: \hspace{0.3in}
791: \includegraphics[width=2.1in]{{field.eps}}}
792: \end{center}
793: \caption{[left] The coordinate system on the unfinned region $\Finless$ of $\Cs$; [right] The circulating flow with a typical orbit.}
794: \label{fig_Coords}\label{fig_field}
795: \end{figure}
796: % =========================================
797:
798: Recal that any point in the graph is represented as a vector
799: $x=\Value{x}e_i$ for some $i$. Denote by $\hat{e}_i$ the unit tangent
800: vector in each tangent space $T_xe_i$ pointing in the positive
801: (outward) direction towards the endpoint $v_i$.
802: The vector field we propose is the following: given $(x,y)\in\Cs$,
803: \begin{enumerate}
804: \item
805: If $\Index{x}=\Index{y}$ then
806: \bea\label{eq_Dance1}
807: \left\{\begin{array}{l}
808: \dot{x} = -\Value{y}\hat{e}_{\Index{x}} \\
809: \dot{y} = \Value{y}(1-\Value{y})\hat{e}_{\Index{y}}
810: \end{array}\right\}
811: & 0<\Value{x}<\Value{y}
812: \\
813: \left\{\begin{array}{l}
814: \dot{x} = \Value{x}(1-\Value{x})\hat{e}_{\Index{x}} \\
815: \dot{y} = -\Value{x}\hat{e}_{\Index{y}}
816: \end{array}\right\}
817: & 0<\Value{y}<\Value{x}
818: \eea
819: \item
820: If $\Index{x} = \Index{y}+1$ or $\Value{x}=0$ then
821: \bea\label{eq_Dance2}
822: \left\{\begin{array}{l}
823: \dot{x} = \Value{y}\hat{e}_{(\Index{y}+1)} \\
824: \dot{y} = \Value{y}(1-\Value{y})\hat{e}_{\Index{y}}
825: \end{array}\right\}
826: & 0\leq\Value{x}<\Value{y}
827: \\
828: \left\{\begin{array}{l}
829: \dot{x} = \Value{x}(1-\Value{x})\hat{e}_{\Index{x}} \\
830: \dot{y} = -\Value{x}\hat{e}_{\Index{y}}
831: \end{array}\right\}
832: & 0<\Value{y}\leq\Value{x}
833: \eea
834: \item
835: If $\Index{y} = \Index{x}+1$ or $\Value{y}=0$ then
836: \bea\label{eq_Dance3}
837: \left\{\begin{array}{l}
838: \dot{x} = -\Value{y}\hat{e}_{\Index{x}} \\
839: \dot{y} = \Value{y}(1-\Value{y})\hat{e}_{\Index{y}}
840: \end{array}\right\}
841: & 0<\Value{x}\leq\Value{y}
842: \\
843: \left\{\begin{array}{l}
844: \dot{x} = \Value{x}(1-\Value{x})\hat{e}_{\Index{x}} \\
845: \dot{y} = \Value{x}\hat{e}_{(\Index{x}+1)}
846: \end{array}\right\}
847: & 0\leq\Value{y}<\Value{x}
848: \eea
849: \end{enumerate}
850: Note that all addition operations on $\Index{x}$ and $\Index{y}$
851: are performed mod three.
852:
853: The vector field is nonsingular as follows: if $\Value{x}\Value{y}\neq 0$,
854: then the vector field is by inspection nonsingular. If $\Value{x}=0$,
855: then $\Value{y}>0=\Value{x}$ since the points are distinct. It then
856: follows from Equation~(\ref{eq_Dance2}) that the vector field on this
857: region has $d\Value{x}/dt=\Value{y}\neq 0$. A similar argument
858: holds for the case where $\Value{y}=0$.
859:
860: The vector field defines a semiflow as follows: on those
861: regions where $0\neq\Value{x}\neq\Value{y}\neq 0$, the vector
862: field is smooth and hence defines a true flow. Along the lines where
863: $\Value{x}=\Value{y}$, the vector field is only $C^0$,
864: but nevertheless is constructed so as to define unique solution curves;
865: hence the region $\Finless$, where $\Index{x}\neq\Index{y}$, is invariant
866: under the flow. Finally, along the branch line curves where
867: $\Value{x}=0$ or $\Value{y}=0$, the vector field points into the
868: the branch lines from the fins, implying that the dynamics is a semiflow
869: (see the remarks in Appendix A).
870:
871: This vector field admits a $C^0$ Lyapunov function
872: $\obj:\Cs\rightarrow[0,1)$ of the form
873: \be
874: \obj(x,y) \ldf \left\{
875: \begin{array}{rl}
876: 1-\left\vert (\Value{x}-\Value{y}) \right\vert & :\,
877: \Index{x}=\Index{y} \\
878: 1-{\mbox{max}}\left\{\Value{x},\Value{y}\right\} & :\,
879: \Index{x}\neq\Index{y}
880: \end{array}\right. .
881: \ee
882: From Equation~(\ref{eq_Dance1}), one computes that on the fins
883: ($\Index{x}=\Index{y}$),
884: \be
885: \frac{d\obj}{dt} = -\abs{(\frac{d\Value{x}}{dt}-
886: \frac{d\Value{y}}{dt})}<0 ,
887: \ee
888: since here $\Value{x}\neq\Value{y}$. Furthermore, on the disc $\Finless$ ($\Index{x}\neq\Index{y}$), $\obj$ changes as
889: \be
890: \frac{d\obj}{dt} = \obj(\obj-1) .
891: \ee
892: Hence, $\obj$ strictly decreases off of the boundary of the disc
893: \be
894: \del\Finless \ldf \left\{(x,y) : \Value{x}=1 {\mbox{ or }}
895: \Value{y}=1 \right\} = \obj^{-1}(0) .
896: \ee
897: It follows from the computation of $d\obj/dt$
898: that the diagonal set $\Diag$ of $\Ygraph\times\Ygraph$ is repelling,
899: and that the boundary cycle $\del\Finless$ is an attracting limit cycle.
900: \endpf
901:
902: The action of the vector field is to descend off of the ``fins''
903: of $\Cs$ onto the region $\Finless$, and then to circulate about
904: while pushing out to the boundary cycle $\del\Finless$, as in
905: Figure~\ref{fig_field}.
906:
907: This example illustrates how one can use a relatively simple vector
908: field on the configuration space to construct a pattern which is
909: free from collisions. In fact, one could use this circulating flow to
910: regularize potential collisions between AGV's in a general graph setting
911: by localizing the dynamics near a pairwise collision to those on a trivalent
912: subgraph.
913:
914:
915:
916:
917:
918:
919:
920: %\input{sec_5.tex}
921: \section{Patterns and Vector Fields for Monotone Cycles}
922: \label{sec_5}\label{sec_4}
923: % ****************************************************
924:
925: Optimization of patterns in the workspace is deeply entwined with
926: the geometry of the configuration space: in \cite{Ghr:geods},
927: it is shown that various Finsler structures on $\Cs$ can
928: be chosen to optimize total distance traveled or net time
929: elapsed. The net result of this inquiry is that minimizing
930: Euclidean distance (in the product of the graph metric) on
931: the cells of the configuration space yields locally optimal
932: configuration sequences with respect to both distance traversed
933: and elapsed time. In this section, we consider the problem of
934: constructing vector fields which are tuned to trace out specific
935: patterns of cooperative dynamics. We begin with a specification
936: of a suitable language for describing patterns.
937:
938: % ****************************************************
939: \subsection{A Grammar for Patterns}
940: % ****************************************************
941:
942: The setting we envisage is as follows: the three ends of the graph
943: $\Ygraph$ are stations at which an AGV can perform some function.
944: The AGV pair is required to execute an ordered sequence of
945: functions, requiring an interleaved sequence of visitations.
946: In order to proceed with vector field controls for cooperative
947: patterns, it is helpful to construct the appropriate symbolic language,
948: as done in \S\ref{sec_2} for single AGV systems.
949: Denote the pair of AGV states as
950: $x$ and $y$ respectively. Also, denote the three docking stations
951: as vertices $v_1$ through $v_3$ as in Figure~\ref{fig_Y}.
952: The grammar $\Gs$ we use is defined as follows:
953: \begin{itemize}
954: \item
955: $\GramX{i}$: These represent configurations for
956: which the AGV $x$ is docked at the vertex $v_i$, $i=1..3$.
957: The AGV $y$ is at an unspecified undocked position.
958: \item
959: $\GramY{i}$: These represent configurations for
960: which the AGV $y$ is docked at the vertex $v_i$, $i=1..3$.
961: The AGV $x$ is at an unspecified undocked position.
962: \item
963: $\GramXY{i}{j}$: These represent configurations for which
964: the AGV $x$ is docked at vertex $v_i$ while the AGV $y$
965: is simultaneously docked at the vertex $v_j$, $j\neq i$.
966: \end{itemize}
967: For example, the word $\GramX{1}\GramY{2}\GramXY{3}{2}$
968: executes a sequence in which the first AGV docks at Station $v_1$, then
969: undocks while the second AGV docks at Station $v_2$. Finally,
970: the AGV's simultaneously dock at Stations $v_3$ and $v_2$
971: respectively.
972:
973: As we have assumed from the beginning, the one-dimensional
974: nature of the graph-constraints precludes the presence of multiple
975: agents at a single docking station; hence, there are exactly twelve
976: symbols in the grammar $\Gs$.
977: From this assumption, it follows that particular attention is to be
978: paid to those trajectories which do not make excursions onto the
979: ``fins'' of the configuration space. It is obvious from the physical
980: nature of the problem that planning paths which involve traveling
981: on the fins is not a locally optimal trajectory with respect to minimizing
982: distance or elapsed time. Suffice to say that
983: we restrict attention for the moment to trajectories, and limit
984: cycles for patterns in particular, which are constrained
985: to the region $\Finless\subset\Cs$.
986:
987: We identify each symbol with a region of the boundary of the
988: unbranched portion of $\Cs$; namely, $\del\Finless$ is partitioned
989: into twelve {\em docking zones}
990: as in Figure~\ref{fig_Zones}.
991: Note further that there is a cyclic ordering, $\lhd_\del$, on $\Gs$
992: induced by the orientation on the boundary of the disc along
993: which the zones lie. By a cyclic ordering, we mean a way of
994: determining whether a point $q$ lies between any ordered pair
995: of points $(p_1,p_2)$.
996:
997: %FIGURE ZONES
998: % =========================================
999: \begin{figure}[htb]
1000: \begin{center}
1001: \psfragscanon
1002: \psfrag{1}[l][r]{$\GramX{1}$}
1003: \psfrag{2}[b][t]{$\GramXY{1}{2}$}
1004: \psfrag{3}[b][t]{$\GramY{2}$}
1005: \psfrag{4}[b][t]{$\GramXY{3}{2}$}
1006: \psfrag{5}[b][t]{$\GramX{3}$}
1007: \psfrag{6}[b][t]{$\GramXY{3}{1}$}
1008: \psfrag{7}[r][l]{$\GramY{1}$}
1009: \psfrag{8}[t][]{$\GramXY{2}{1}$}
1010: \psfrag{9}[tr][]{$\GramX{2}$}
1011: \psfrag{0}[t][]{$\GramXY{2}{3}$}
1012: \psfrag{a}[tl][]{$\GramY{3}$}
1013: \psfrag{b}[t][]{$\GramXY{1}{3}$}
1014: \includegraphics[width=2.0in\centerline]{{zones.eps}}
1015: \end{center}
1016:
1017:
1018: \caption{The six pairs of contiguous edges in $\del\Finless$
1019: each corresponds to a configuration
1020: where one AGV is docked at an extreme vertex
1021: of the graph. Outermost vertices of $\del\Finless$
1022: are points where both AGV's are docked. Labelling the
1023: edges $\GramX{i}$ and $\GramY{j}$ and the vertices
1024: $\GramXY{i}{j}$ yieldsd the cyclically
1025: ordered grammar $\Gs$.}
1026: \label{fig_Zones}
1027: \end{figure}
1028: % =========================================
1029:
1030: We proceed with the analysis of limit cycles on $\Cs$.
1031: Consider the class of {\em pattern vector fields}, ${\cal X}_P$,
1032: on $\Cs$: for every $X\in{\cal X}_P$,
1033: \begin{enumerate}
1034: \item
1035: $X$ defines a semiflow on $\Cs$ and a genuine flow off of the
1036: non-manifold set of $\Cs$;
1037: \item
1038: There is a unique limit cycle $\gamma$ which is attracting
1039: and which traces out a nonempty word in the grammar $\Gs$;
1040: \item
1041: The diagonal set $\Diag$ is a repellor with respect to $X$;
1042: \item
1043: There are no fixed invariant sets of $X$ which
1044: attract a subset of positive measure save $\gamma$.
1045: \end{enumerate}
1046: Then, the class of {\em monotone vector fields}, ${\cal X}_{M}$,
1047: is that subset of ${\cal X}_P$ for which the limit cycle, $\gamma$,
1048: lies in $\Finless$. A
1049: word ${\bf w}$ composed of elements ${\bf w}=w_1w_2...w_n$
1050: in the grammar $\Gs$ said to be {\em monotone} with respect
1051: to the cyclic ordering $\lhd_\del$ if $w_{i-1}\lhd w_i\lhd w_{i+1}$ for
1052: every $i$ (index operations all mod $n$).
1053: The following result justifies our use of the term {\em monotone}
1054: in describing those limit cycles which lie on the disc.
1055:
1056: \begin{thm}
1057: Within the class of vector fields ${\cal X}_{M}$, the
1058: limit cycles trace out monotone words in the cyclically ordered
1059: grammar $(\Gs,\lhd_\del)$.
1060: \end{thm}
1061:
1062: \begpf
1063: Any limit cycle of the flow
1064: must be embedded (the curve does not intersect itself).
1065: After a small perturbation, one may assume that the boundary zone
1066: $\del\Finless$ is visited by $\gamma$ in a finite number of points,
1067: $Q:=\gamma\cap\del\Finless$. There is a cyclic order $\lhd_t$, defined
1068: via time with respect to the
1069: dynamics of the limit cycle: i.e., the order in which points are
1070: visited by $\gamma$. This is contrasted with the induced cyclic ordering
1071: $\lhd_\del$ on the set $Q$ given by the orientation of the boundary curve
1072: $\del\Finless$, up to a choice between clockwise and
1073: counterclockwise. The theorem follows from showing that
1074: $\lhd_t=\lhd_\del$ up to a cyclic permutation and a choice of
1075: orientation of $\del\Finless$.
1076:
1077: Induct on $J$ the number of points in $Q$. For $J=1$, the theorem
1078: is trivially true, so assume that the orderings are equivalent for all
1079: embedded curves on a disc with less than $J$ boundary-intersections.
1080: Consider two points $p, q\in Q$ which are consecutive in the $\lhd_t$
1081: ordering. There is an embedded sub-arc $\alpha\subset\gamma$ which
1082: connects $p$ to $q$ within the interior of $\Finless$. By the Jordan Curve
1083: Theorem \cite{munkres}, $\alpha$ separates $\Finless$ into two topological
1084: discs; hence, $\gamma$ must lie entirely within the closure of one of
1085: these discs. Consider the open subdisc whose intersection with $\gamma$
1086: is empty and collapse the closure of this disc to a point: this
1087: yields a modified curve $\tilde\gamma$ which
1088: is still embedded in a disc having $J-1$ intersections with the boundary,
1089: as illustrated in Figure~\ref{fig_Collapse}.
1090: By induction, the ordering $\lhd_t$ equals $\lhd_\del$ up
1091: to orientation on this subdisc. Reinserting the distinct points
1092: $p$ and $q$ by ``blowing up'' the crushed disc does not change
1093: the ordering properties, since these were chosen to be adjacent.
1094: \endpf
1095:
1096: %FIGURE COLLAPSE
1097: % =========================================
1098: \begin{figure}[htb]
1099: \begin{center}
1100: \psfragscanon
1101: \psfrag{p}[br][]{$p$}
1102: \psfrag{q}[bl][]{$q$}
1103: \psfrag{s}[tr][]{$x$}
1104: \psfrag{a}[][]{$\alpha$}{%\centerline{
1105: \includegraphics[width=1.4in]{{collapse.eps}}
1106: \hspace{0.15in}
1107: \includegraphics[width=1.4in]{{collaps2.eps}}}
1108: \end{center}
1109: \vspace{-0.1in}
1110:
1111: \caption{The embedded arc $\alpha$ divides $\Finless$ (pictured as a smooth
1112: disc) into two discs, one of which is collapsed to a point $x$.}
1113: \label{fig_Collapse}
1114: \end{figure}
1115: % =========================================
1116:
1117: Hence, the ony admissible words in the grammar $\Gs$ are those
1118: which are monotone.
1119: It is, however, possible to realize many if not all of the non-monotone
1120: cycles as limit cycles for a semiflow on the {\em full} configuration space
1121: $\Cs$; one must design the semiflow so as to utilize the fins for ``jumping''
1122: over regions of $\Finless$ cut off by the limit cycle. Such vector
1123: fields quickly become very convoluted, even for relatively simple
1124: non-monotone limit cycles.
1125:
1126: %_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!
1127: \subsection{Isotopy Classes of Limit Cycles}
1128: %_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!
1129:
1130: Given a limit cycle $\gamma$ which traces out a pattern by visiting
1131: the boundary zone $\del\Finless$ in the ordered set
1132: $Q\subset\del\Finless$, one
1133: wants to know which other limit cycles minimize a given performance
1134: functional while still visiting $Q$ in the proper sequence. The
1135: mathematical framework for dealing with this problem is the notion
1136: of {\em isotopy classes of curves}.
1137:
1138: Two subsets $A_0$ and $A_1$ of a set $B$ are said to be (ambiently)
1139: {\em isotopic rel $C$} (where $C\subset B$) if there exists a continuous
1140: 1-parameter family of homeomorphisms, $f_t:B\ra B$ such that
1141: \begin{enumerate}
1142: \item $f_0$ is the identity map on $B$;
1143: \item $f_1(A_0)=A_1$; and
1144: \item $\rest{f_t}{C}$ is the identity map on $C$ for all $t$.
1145: \end{enumerate}
1146: As $t$ increases, $f_t$ deforms $B$, pushing $A_0$ to $A_1$
1147: without cutting or tearing the spaces and without disturbing $C$.
1148:
1149: There are two ways in which optimization questions relate
1150: to isotopy classes of limit cycles: (1) Given an element of
1151: the grammar $\Gs$,
1152: in which isotopy class (rel the docking zones) of curves does an
1153: optimal limit cycle reside? (2) Within a given isotopy class
1154: of cycles rel $Q$, which particular cycle is optimal?
1155:
1156: For a monotone limit cycle on $\Finless$, the above
1157: question (1) focuses on the location of the cycle with respect to
1158: the central point $(0,0)$, which is deleted from the disc $\Finless$.
1159: It is a standard fact from planar topology that every curve in
1160: the punctured disc has a well-defined {\em winding number}, which
1161: measures how many times the cycle goes about the origin, and,
1162: furthermore, that this number is either -1, 0, or 1 if the cycle is
1163: an embedded curve. This winding number
1164: determines the isotopy class of the curve in $\Finless$.
1165: Hence, the problem presents itself: given an element of the
1166: grammar $\Gs$, which isotopy class rel the docking zones
1167: is optimal (with respect to any/all of the functionals defined)?
1168: Is the winding number zero or nonzero?\footnote{The difference between
1169: +1 and -1 is the orientation of time.}
1170:
1171: To briefly address this question, we define the {\em gap angles}
1172: associated to a limit cycle. Given the docking zones
1173: $Q=\{q_1, q_2, \ldots, q_J\}$ ordered with respect to time,
1174: we define the gap angles to be the successive differences in
1175: the angular coordinates of the $q_j$: thus $ga_j:=P(q_{j+1})-P(q_j)$,
1176: where $P$ denotes projection of points in $\Finless$ onto their
1177: angular coordinates and subtraction is performed with respect to the
1178: orientation on $\partial\Finless$.
1179:
1180: For simplicity, we consider the optimization--isotopy problem
1181: in the case of a discrete cost functional $\DWork$, defined
1182: to be the intersection number of the path with the branch
1183: locus of $\Cs$ --- i.e., the number of times an AGV occupies
1184: the central vertex (the shared resource in the problem).
1185: Similar arguments are possible for other natural
1186: performance metrics \cite{Ghr:geods}.
1187:
1188: \begin{prop}
1189: There is a $\DWork$-minimizing embedded monotone cycle on $\Finless$
1190: (rel a given docking zone $Q$) having
1191: winding number zero with respect to the origin if
1192: there is a gap angle greater than $\pi$. Conversely, if
1193: there are no gap angles greater than $\pi$, then there is
1194: a $\DWork$-minimizing embedded cycle of index $\pm 1$.
1195: \end{prop}
1196:
1197: \begpf
1198: Let $Q$ consist of the points $\{q_j\}_1^J$ on the boundary circle.
1199: The gap angles $\{ga_j\}_1^{J}$ are the differences of the
1200: angles between the points $q_j$ and $q_{j+1}$ (indices mod $J$). Since
1201: $\sum_j{ga}_j=2\pi$, there can be at most one gap angle greater than $\pi$.
1202: To simplify the problem, use a 1-parameter family $P_t$ of
1203: maps from the identity $P_0$ to the projection $P=P_1$
1204: which deforms $\Finless$ to the boundary circle $S:=\del\Finless$
1205: by projecting continuously
1206: along radial lines. The index of a curve on $\Finless$ is invariant
1207: under this deformation, as is the function $\DWork$.
1208:
1209: Denote by $\gamma_j$, the subarc of $\gamma$ between points $q_{j}$
1210: and $q_{j+1}$ (all indices mod $J$). Denote by $\alpha_j$ the subarc
1211: of the boundary $S$ between points $q_j$ and $q_{j+1}$, where the
1212: arc is chosen to subtend the gap angle $ga_j$. Since the boundary
1213: curve $S=\cup_j\alpha_j$ is a curve of index $\pm 1$, the arcs
1214: $\gamma_j$ and $\alpha_j$ are isotopic in $\Finless$ rel their
1215: endpoints for all $j$ if and only if $\gamma$ is a curve of index $\pm 1$.
1216:
1217: Assume first that there is a gap angle $ga_j>\pi$ with $\gamma$
1218: an index $\pm 1$ curve on $S$ which intersects the branch angles
1219: $\Theta=\{n\pi/3 : n\in Z\}$ in a minimal number
1220: of points among all other closed curves on $S$ which visit the points
1221: $Q$ in the specified order.
1222: It follows that the arc $P(\ga_j)$ subtends an angle greater than
1223: $\pi$ and thus increments $\DWork$ by at least three.
1224: One may replace $\ga_j$ by a curve $\ga_j'$ which substitutes for the
1225: arc $\ga_j$ one which wraps around `the other way' monotonically.
1226: This changes the index of $\ga$ from nonzero to zero, since the
1227: arc $\ga_j'$ is no longer isotopic to $\alpha_j$. Also,
1228: it is clear that this either decreases the number of intersections
1229: with $\Theta$ or leaves this number unchanged.
1230:
1231: We must show that the replacement arc $\ga_j'$ can be
1232: chosen in such a way that is does not intersect the remainder of
1233: $\ga$. However, since $\ga$ is a curve of index $\pm 1$, we may
1234: isotope each arc $\ga_i$ to the boundary curve $\alpha_i$ without
1235: changing the value of $\DWork$. Thus, we may remove $\ga_j$ and
1236: replace it with the curve which is, say, a geodesic (in the natural
1237: metric geometry)
1238: from $q_j$ to $q_{j+1}$. As this curve does not approach the
1239: boundary $S$ apart from its ends, the new curve $\ga'$ is an
1240: embedded curve of index zero without an increase in $\DWork$.
1241:
1242: Assume now, on the contrary, that $\gamma$ is a $\DWork$ minimizer
1243: of index zero which has all gap angles strictly less than $\pi$.
1244: Then each arc from $\ga_i$ must intersect the branch set
1245: $\Theta$ in at most three components, since, otherwise, the
1246: subtended arc would be in excess of $4\pi/3$.
1247: In the case where there exists an arc with exactly three
1248: intersections with the branch set, this arc may be replaced
1249: by an arc which goes around the singularity in the other direction
1250: without changing the number of intersections with the branch set
1251: (since there are a total of six branch lines); however, the
1252: index of the curve is toggled between zero and nonzero.
1253:
1254: The final case is that in which each arc intersects the branch
1255: set in at most two places. However, since $\ga$ is a curve of index
1256: zero, some arc $\ga_j$ must not be isotopic to $\alpha_j$. Hence,
1257: the projection deformations $P_t$ must push $\ga_j$ to a curve in
1258: the boundary which $S$ whose subtended gap
1259: angle is $2\pi - ga_j > \pi$. Thus, $\gamma_j$ intersects the branch
1260: set in at least three places, yielding a contradiction. Replacing
1261: $\ga_j$ by the appropriate arc which is isotopic to $\alpha_j$
1262: yields a $\DWork$-minimal cycle of nonzero index.
1263: \endpf
1264:
1265:
1266: % ****************************************************
1267: \subsection{Tuning Cycles}
1268: % ****************************************************
1269:
1270: In order to proceed with the construction of vector fields which
1271: realize monotone cycles, we work with vector fields
1272: on the smooth unit disc in $R^2$ and map these to the annular
1273: region $\Finless$ of the configuration space via the push-forward induced
1274: by the natural homeomorphism. It will be convenient to keep track
1275: of which ``wedge'' of the annular region a point $(r,\theta)$ is.
1276: To do so, we introduce a parity function
1277: \be\label{eq_Parity}
1278: P(\theta) := (-1)^{\left\{ \floor{3\theta/\pi}+
1279: \floor{6\theta/\pi} \right\}}
1280: ,\ee
1281: where $\floor{t}$ is the integer-valued floor function.
1282: Recall the notation for the intrinsic coordinates for a point
1283: $x$ on the graph $\Ygraph$: $x=\Value{x}\hat{e}_{\Index{x}}$,
1284: where $\Value{x}\in[0,1]$ is the distance from $x$ to the
1285: central vertex, and $\hat{e}_{\Index{x}}$ is the unit tangent vector
1286: pointing along the direction of the $\Index{x}$-edge. Here
1287: the index, $\Index{x}$ is an integer (defined modulo 3) and
1288: will be undefined in the case when $\Value{x}=0$, i.e., $x$
1289: is at the central vertex.
1290:
1291: \begin{lem}
1292: The following is a piecewise-linear homeomorphism from the punctured
1293: unit disc in $R^2$ to the subset $\Finless$:
1294: $F(r,\theta) = (x, y)$ where,
1295: \be \label{eq_Homeo}
1296: \begin{array}{rl}
1297: & \Value{x} = \left\{\begin{array}{cl}
1298: r & \Prt{\theta}=+1 \\
1299: r\abs{\cot\frac{\ds 3}{\ds 2}\theta} & \Prt{\theta}=-1
1300: \end{array}\right. \\
1301: & \Value{y} = \left\{\begin{array}{cl}
1302: r\abs{\tan\frac{\ds 3}{\ds 2}\theta} & \Prt{\theta}=+1 \\
1303: r & \Prt{\theta}=-1
1304: \end{array}\right. \\
1305: & \Index{x} = \floor{-\frac{\ds 3}{\ds 2\pi}(\theta-\pi)} \\
1306: & \Index{y} = \floor{-\frac{\ds 3}{\ds 2\pi}\theta}
1307: \end{array} .
1308: \ee
1309: The inverse of this homeomorphism is given by
1310: $F^{-1}(x,y) = (r,\theta)$, where,
1311: \be \label{eq_Inverse}
1312: \begin{array}{l}
1313: \theta = \left\{\begin{array}{cl}
1314: \frac{\ds 2}{\ds 3}\tan^{-1}\frac{\ds\Value{y}}{\ds\Value{x}}
1315: - \frac{\ds 2\pi}{\ds 3}(\Index{y}+1)
1316: & \begin{array}{c}
1317: \Index{y}=\Index{x}+1 \\
1318: {\mbox{ or }} \Value{x}=0
1319: \end{array} \\
1320: -\frac{\ds 2}{\ds 3}\tan^{-1}\frac{\ds\Value{y}}{\ds\Value{x}}
1321: - \frac{\ds 2\pi}{\ds 3}(\Index{x}-1)
1322: & \begin{array}{c}
1323: \Index{x}=\Index{y}+1 \\
1324: {\mbox{ or }} \Value{y}=0
1325: \end{array}
1326: \end{array}\right. \\
1327: r = \left\{\begin{array}{cl}
1328: \Value{x} & \Prt{\theta} = +1 \\
1329: \Value{y} & \Prt{\theta} = -1
1330: \end{array}\right.
1331: \end{array} . \ee
1332: \end{lem}
1333: Note that all $\theta$ values are defined modulo $2\pi$ and
1334: all index values are integers defined modulo $3$.
1335:
1336: \begpf
1337: Begin by working on the region $\Finless_{1,2}\subset
1338: \Finless$ where $\Index{x}=1$ and $\Index{y}=2$. As noted earlier, this
1339: subspace is isometric to the positive unit square in $R^2$ with
1340: the origin removed. We need to map this to the subset
1341: $\{(r,\theta): r\in(0,1], \theta\in[0,\pi/3]\}$. The simplest such
1342: homeomorphism is to first shrink along radial lines, leaving the
1343: angle invariant; hence
1344: \be \label{eq_r}
1345: r = \left\{ \begin{array}{cl}
1346: \Value{x} &: \Value{x}\leq\Value{y} \\
1347: \Value{y} &: \Value{y}\leq\Value{x}
1348: \end{array}
1349: \right.\ee
1350: Next, we squeeze the quarter-circle into a sixth of a circle by
1351: multiplying the angle by $2/3$, leaving the radial coordinate
1352: invariant:
1353: \be\label{eq_theta}
1354: \theta = \frac{\ds 2}{\ds 3}\tan^{-1}\frac{\ds\Value{y}}{\ds\Value{x}} .
1355: \ee
1356: This gives the basic form of $F^{-1}$ as per Equation~(\ref{eq_Inverse}).
1357: To extend this to the remainder of $\Finless$, it is necessary to
1358: carefully keep track of $\Index{x}$ and $\Index{y}$ and subtract
1359: off the appropriate angle from the computation of $\theta$. Also,
1360: the condition of $\Value{x}\leq\Value{y}$, etc., in
1361: Equation~(\ref{eq_r}) is incorrect
1362: on other domains of $\Finless$, since the inequalities flip as one
1363: traverses from square to square: the parity function $\Prt{\theta}$
1364: keeps track of which ``wedge'' one is working on.
1365:
1366: To determine $F$ from $F^{-1}$ is a tedious but unenlightening
1367: calculation, made more unpleasant by the various indices to be
1368: kept track of. Briefly, given $r$ and $\theta$ on the first sixth
1369: of the unit disc, one knows from Equation~(\ref{eq_r}) that either
1370: $\Value{x}=r$ or $\Value{y}=r$, depending on whether $\theta$
1371: is above or below $\pi/4$. To solve for the other magnitude, one
1372: inverts Equation~(\ref{eq_theta}) to obtain $\Value{y} =
1373: r\abs{\tan\frac{\ds 3}{\ds 2}\theta}$ or $\Value{x} =
1374: r\abs{\cot\frac{\ds 3}{\ds 2}\theta}$
1375: respectively. To generalize this to the other
1376: $\Finless_{i,j}$ domains of $\Finless$,
1377: it is necessary to take absolute values and to use the parity
1378: function $\Prt{\theta}$ as before. Finally, the computation of the
1379: index is obtainable from the combinatorics of the coordinate
1380: system as illustrated in Figure~\ref{fig_Coords}.
1381: \endpf
1382:
1383: Hence, by taking the push-forward of a vector field $X=(\dot{r} ,
1384: \dot{\theta})$ with respect to $F$, one obtains the piecewise smooth
1385: vector field,
1386: \be \label{eq_Pushforward}
1387: \left\{\begin{array}{rc}
1388: \left( \begin{array}{l}
1389: \dot{\Value{x}} = \dot{r} \\
1390: \dot{\Value{y}} = \dot{r}\abs{\tan(\frac{\ds 3}{\ds 2}\theta)}
1391: +\frac{\ds 3}{\ds 2}r\dot{\theta}\sec^2(\frac{\ds 3}{\ds 2}\theta)
1392: \end{array}\right) & \Prt{\theta}=+1 \\
1393: \left( \begin{array}{l}
1394: \dot{\Value{x}} = \dot{r}\abs{\cot(\frac{\ds 3}{\ds 2}\theta)}
1395: +\frac{\ds 3}{\ds 2}r\dot{\theta}\csc^2(\frac{\ds 3}{\ds 2}\theta) \\
1396: \dot{\Value{y}} = \dot{r}
1397: \end{array}\right) & \Prt{\theta}=-1
1398: \end{array}\right. ,\ee
1399: which simplifies to:
1400: \be \label{eq_Pushforward2}
1401: \left\{\begin{array}{rc}
1402: \left( \begin{array}{l}
1403: \dot{\Value{x}} = \dot{r} \\
1404: \dot{\Value{y}} = \dot{r}\frac{\ds \Value{y}}{\ds \Value{x}}
1405: +\frac{\ds 3}{\ds 2}\dot{\theta}\frac{\ds \Value{x}}
1406: {\ds 1+\left(\frac{\ds \Value{y}}{\ds \Value{x}}\right)^2}
1407: \end{array}\right) & \Prt{\theta}=+1 \\
1408: \left( \begin{array}{l}
1409: \dot{\Value{x}} = \dot{r}\frac{\ds\Value{x}}{\ds\Value{y}}
1410: +\frac{\ds 3}{\ds 2}\dot{\theta}\frac{\ds \Value{y}}
1411: {\ds 1+\left(\frac{\ds\Value{x}}{\ds\Value{y}}\right)^2} \\
1412: \dot{\Value{y}} = \dot{r}
1413: \end{array}\right) & \Prt{\theta}=-1
1414: \end{array}\right. .\ee
1415:
1416:
1417: Given a simple closed curve $\gamma$ in $R^2$ which has nonzero
1418: winding number with respect to the origin, $\gamma$ may be
1419: parametrized as $\{(r,\theta) : r=f(\theta)\}$ for some periodic
1420: positive function $f$. To construct a vector field on $R^2$
1421: whose limit sets consist of the origin as a source and $\gamma$ as an
1422: attracting limit cycle, it suffices to take the push-forward of
1423: the vector field
1424: $ \dot{r} = r(1-r) \hspace{0.3in} \dot{\theta}=\omega $
1425: under the planar homeomorphism
1426: $ \phi:(r,\theta)\mapsto (f(\theta)r,\theta), $
1427: which rescales linearly in the angular component. The calculations follow:
1428: \be\label{eq_PushCycle}
1429: \begin{array}{rl}
1430: \phi_*\left(\begin{array}{c} \dot{r} \\ \dot{\theta}\end{array}\right)
1431: & = \left. D\phi
1432: \left(\begin{array}{c}\dot{r} \\ \dot{\theta}\end{array}\right)
1433: \right\vert_{r\mapsto\frac{\ds r}{\ds f}}
1434: = \left.\left[\begin{array}{cc}
1435: f & rf' \\ 0 & 1 \end{array}\right]
1436: \left(\begin{array}{c}r(1-r) \\ \omega \end{array}\right)
1437: \right\vert_{r\mapsto\frac{\ds r}{\ds f}} \\
1438: & = \left(\begin{array}{c}
1439: r\left(1-\frac{\ds r-f'\omega}{\ds f}\right) \\
1440: \omega \end{array}\right)
1441: \end{array} .\ee
1442: Hence, given $f(\theta)$, we may tune a vector field to trace out
1443: the desired limit cycle and then use Equations~(\ref{eq_Homeo})
1444: and (\ref{eq_Inverse}) to map it into intrinsic coordinates.
1445:
1446:
1447: % ****************************************************
1448: \subsection{Optimal Chords within a Hybrid Controller}
1449: % ****************************************************
1450:
1451:
1452: To design optimal cycles with winding number zero, then, we
1453: turn to constructing customized portions of limit cycles, or
1454: {\em chords} which can be pieced together via a state-actuated
1455: hybrid controller, much as in \S\ref{sec_2}.
1456: In other words, instead of building a simple fixed
1457: vector field with a limit cycle, we will use a set of vector
1458: fields which vary discretely in time and which may be pieced
1459: together so as to tune a limit cycle to the desired specifications.
1460: There is nothing in this construction which relies on the index-zero
1461: property and thus these chords can be used to generate all
1462: monotone limit cycles on $\Cs$.
1463:
1464: Let $\Goalword$ denote a word representing a desired monotone
1465: limit cycle on the configurations space $\Cs$. Choose points
1466: $\{q_i\}$ on the boundary of $\Finless$ which correspond to the
1467: docking zones for the cycle given by $\Goalword$. Choose
1468: arcs $\alpha_i$ on $\Finless$ which connect $q_i$ to $q_{i+1}$
1469: (using cyclic index notation). The arcs $\alpha_i$ are assumed
1470: given in the intrinsic coordinates on $\Finless$, as would be the
1471: case if one were determining a length-minimizing curve.
1472:
1473: In the case where the limit cycle $\alpha:=\cup_i\alpha_i$ is an
1474: embedded curve of nonzero index, the procedure of the previous subsection
1475: determines a vector field $X_\alpha$ on $\Cs$ which realizes $\alpha$ as an
1476: attracting limit cycle with the appropriate dynamics on the
1477: complementary region. Recall: one translates $\alpha$ to a curve
1478: on the disc model via the homeomorphism of Equation~(\ref{eq_Inverse}).
1479: Then, representing the limit cycle $\alpha$ as a function
1480: $f_\alpha(\theta)$, one takes the vector field of
1481: Equation~(\ref{eq_PushCycle}) and, if desired, takes the
1482: image of this vector field under Equation~(\ref{eq_Pushforward2}).
1483:
1484: If, however, this is not the case, consider
1485: the arc $\alpha_j$ for a fixed $j$ and construct an index $\pm 1$
1486: cycle $\beta^j=\cup_i\beta_i^j$ which has docking zones $\{q_i\}$
1487: such that $\beta_j^j=\alpha_j$. Then the vector field $X^j$
1488: as constructed above has $\beta$ as an attracting
1489: limit cycle. Denote by $\Phi^j$ the Lyapunov function which measures
1490: proximity to $\beta$: $\Phi^j(p) := \norm{p-\beta^j}$
1491: (with distance measured in say the product metric on $\Cs$).
1492: Then, consider the modified Lyapunov function
1493: %\begin{equation}
1494: %\label{eq_ModLyap}
1495: $ \Psi^j(p) := \Phi^j(p) + \norm{p-q_{j+1}},$
1496: %\end{equation}
1497: which measures the distance to the endpoint of the arc $\beta_j^j$
1498: in addition to the proximity to $\beta^j$.
1499:
1500: Repeat this procedure for each $j$, yielding the vector fields
1501: $\{X^j\}$ which attract respectively to limit cycles $\beta^j$.
1502: It follows that $X^j$ prepares $X^{j+1}$
1503: since the goal point of $X^j$, $q_{j+1}$ lies on the attracting
1504: set of $X^{j+1}$. The Lyapunov functions $\{\Psi^j\}$ serve as
1505: a set of funnels which channel the orbit into the sequence of
1506: arcs $\alpha_j$, forming $\alpha$. One scales the $\Psi^j$ so that
1507: a $\Psi^j<\epsilon$ event triggers the switching in the hybrid
1508: controller from $X^j$ to $X^{j+1}$:
1509: \begin{equation}
1510: \label{eq_Controller}
1511: X := \left\{ \begin{array}{ccl}
1512: X^1 &:& \Phi^j>\epsilon \, \forall\, j \\
1513: X^j &:& \Phi^j<\epsilon {\mbox{ and }} \Psi^j>\eps
1514: \end{array}\right.
1515: \end{equation}
1516:
1517: By construction, the hybrid controller (\ref{eq_Controller})
1518: realizes a limit cycle within $\epsilon$ of
1519: $\alpha$ as the attracting set.
1520:
1521:
1522:
1523:
1524:
1525: %\input{conclusion.tex}
1526: \section{Future Directions}
1527: \label{sec_6}
1528:
1529: A point of primary concern is the adaptability of the global
1530: topological approach to systems which increase in complexity,
1531: either through more intricate graphs or through increased
1532: numbers of AGV's. The latter is of greater difficulty than the
1533: former, since the dimension of the resulting configuration
1534: space is equal to the number of AGV's. Hence, no matter how
1535: simple the underlying graph is, a system with ten independent
1536: AGV's will require a dynamical controller on a (topologically
1537: complicated) ten-dimensional space: a formidable problem
1538: both from the topological, dynamical, and computational
1539: viewpoints.
1540:
1541: However, there are some approaches which may facilitate working
1542: with such spaces. Consider the model space $\Cs$ with which this
1543: paper is concerned: although a two-dimensional space, $\Cs$
1544: can be realized as the product of a graph (a circle with six
1545: radial edges attached) with the interval $(0,1]$. In fact, if we consider
1546: the circulating flow of Equations~(\ref{eq_Dance1})-(\ref{eq_Dance3}),
1547: one can view this as a product field of a semiflow on the graph
1548: (which ``circulates'') with a vector field on the factor $(0,1]$
1549: (which ``pushes out'' to the boundary).
1550:
1551: A similar approach is feasible for arbitrary graphs.
1552: The following result has recently been proven \cite{Ghr:birman}:
1553: %
1554: \begin{thm}
1555: Given a graph $\Gamma$, the configuration space of $N$ distinct
1556: points on $\Gamma$ can be deformation retracted to a subcomplex
1557: whose dimension is bounded above by the number of vertices of
1558: $\Gamma$ of valency greater than two.\footnote{We have since
1559: learned of two others who have independently proved this result:
1560: \cite{MK99}, having learned of these spaces fron \cite{GK:japan};
1561: and \cite{AA99}, who discovered these spaces while working on
1562: the topology of Brownian motion on graphs.}
1563: \end{thm}
1564: %
1565:
1566: This theorem implies the existence of low-dimensional {\em spines}
1567: which carry all of the topology of the configuration space.
1568: For example, the above theorem implies that the configuration
1569: space of $N$ points on the Y-graph can be continuously deformed
1570: to a one-dimensional graph, regardless of the size of $N$. Since
1571: the full space can be deformation retracted onto the spine,
1572: a vector field defined on the spine can be pulled
1573: back continuously to the full configuration space, thus opening
1574: up the possibility of reducing the control problem to that
1575: on a simpler space. Addtional results about the topology of
1576: configuration spaces on graphs may yield computationally
1577: tractible means of dealing with complex path planning: for
1578: example, having a presentation for the fundamental
1579: group of a configuration space of a graph in terms of
1580: a suitably simple set of cycles would be extremely well-suited
1581: to a hybrid control algorithm based on ``localized''
1582: vector fields supported on small portions of the full
1583: configuration space.
1584:
1585: The optimization problem is another avenue for inquiry. The
1586: fact that a dynamical approach allows for increased density
1587: of AGV's on a graph (as compared with blocking-zone strategies)
1588: would indicate an increased efficiency with respect to, say,
1589: elapsed time-of-flight. However, a more careful investigation
1590: of the tuning of optimal cycles is warranted.
1591:
1592: We believe that the benefits associated with using the
1593: full configuration space to tune optimal dynamical cycles
1594: justifies a careful exploration of these challenging spaces.
1595:
1596:
1597:
1598:
1599:
1600:
1601:
1602: \appendix
1603:
1604: %\input{app_a.tex}
1605: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1606: \section{The Topology and Dynamics of Graphs}
1607: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1608:
1609: In this appendix, we provide a careful basis for the
1610: use of vector fields on configuration spaces of graphs.
1611: In the setting of manifolds, all of the constructions
1612: used in this paper are entirely natural and well-defined.
1613: However, on spaces like $\Cs$, the most fundamental of
1614: notions (like the Existence and Uniqueness Theorems for
1615: ODEs) are not in general valid.
1616:
1617:
1618: We begin by defining vector fields on graphs.
1619: For present purposes, we find it convenient to work with an intrinsic
1620: formulation (i.e., directly in the graph rather than via an embedding in a
1621: Euclidean space) of these objects. To this end, denote by
1622: $v$ a vertex with $K$ incident edges $\{e_i\}_1^K$, and by
1623: $\{X_i\}_1^K$ a collection of nonsingular vector fields locally
1624: defined on a neighborhood of the endpoint of each $e_i$ (homeomorphic
1625: to $[0,1)$).
1626:
1627: \begin{lem}\label{lem_Semiflow}
1628: A set of nonsingular vector fields $\{X_i\}$ on the
1629: local edge set of a graph $\Gamma$
1630: generates a well-defined semiflow on $\Gamma$ if
1631: \begin{enumerate}
1632: \item Each edge field $X_i$ generates a well-defined local semiflow
1633: on (0,1); and
1634: \item The magnitude of the endpoint vectors $\norm{X_i(0)}$ (taken with
1635: respect to the attaching homeomorphisms) are all identical; and
1636: \item Among the {\em signs} of the endpoint vectors $X_i(0)$
1637: (either positive if pointing into $[0,\epsilon)$ or negative if
1638: pointing out) there is a single positive sign.
1639: \end{enumerate}
1640: \end{lem}
1641:
1642: \begpf
1643: Since the vector field is well-defined away from the vertex,
1644: it is only necessary to have the magnitudes $\norm{X_i(0)}$ agree
1645: in order to have a well-defined function $\norm{X}$ on $\Gamma$.
1646: In order to make this a well-defined field of directions, we
1647: must also consider in which direction the vector is pointing.
1648: Again, this is determined off of the vertex by (1). Condition
1649: (3) means that at the vertex, there is a unique direction
1650: along which the vector field is pointing out: all other
1651: edges point in. Hence, the direction field, as well as the magnitude
1652: field, is well-defined.
1653:
1654: The semiflow property follows naturally from this. Assume that
1655: the $N^{th}$ edge of $\Gamma$ has the positive sign. Then, given an initial
1656: point $x\in\Gamma$, if $x\in e_N$, then the orbit of $x$ under the
1657: local field $X_N$ remains in $e_N$ and is well-defined. If
1658: $x\in e_j$ for some $j\neq N$, then the union of the edges
1659: $e_j\cup e_N$ is a manifold homeomorphic to $R$ on which the
1660: vector fields $X_j$ and $X_N$ combine to yield a well-defined
1661: vector field, since the directions are ``opposite.''
1662: As we are now on a manifold, the standard Existence
1663: Theorem implies that $x$ has a forward orbit (which passes through the
1664: vertex and continues into $e_N$). Thus every point on $\Gamma$
1665: has a well-defined forward orbit.
1666: \endpf
1667:
1668: In the case where the vector fields have singularities, it is a
1669: simpler matter. If the singularities are not at the vertex, then
1670: there is no difference. If there is a singularity at the vertex,
1671: then condition (3) in Lemma~\ref{lem_Semiflow} is void ---
1672: all such vector fields are well-defined.
1673:
1674: In order to extend these results to the configuration space of
1675: this paper, consider the space $\Cs=\Ygraph\times\Ygraph-\Diag$ and
1676: let $(x,y)\in\Cs$ denote a point on the branch set of $\Cs$.
1677: Because of the structure of $\Ygraph$ and the fact that the
1678: diagonal points are deleted, it follows that at most one AGV
1679: may occupy a non-manifold point of $\Ygraph$. Hence, a neighborhood
1680: of $(x,y)$ in $\Cs$ has a natural product structure
1681: $N\cong\Ygraph\times R$. Let $P:N\rightarrow\Ygraph$ denote
1682: projection onto the first factor.
1683:
1684: \begin{lem}
1685: \label{lem_Semiflow2}
1686: A nonsingular vector field $X$ on the individual cells of $\Cs$
1687: generates a well-defined semiflow if (1) the projection of the local
1688: vector fields onto the graph factor, $P_*(\rest{X}{\{x\}\times\Ygraph})$,
1689: satisfies Lemma~\ref{lem_Semiflow} for each point $x$ in the branch
1690: set of $\Cs$; and (2) the projections of the vector fields on the branch
1691: set to the $R$-factor are equal up to the attaching maps.
1692: \end{lem}
1693:
1694: \begpf
1695: Off of the branch set, the space is a manifold and hence the
1696: vector field gives a well-defined flow. If $p$ is a point on the
1697: branch line, condition (2) implieds that the vector field is well-defined
1698: with respect to the attaching maps and the net effect in the $R$-factor
1699: is a drift in this direction. In the graph factor, condition (1) and
1700: the proof of Lemma~\ref{lem_Semiflow} implies that there is a unique
1701: forward orbit through $p$.
1702: \endpf
1703:
1704: Heuristically, this condition means that, as in the case of
1705: a graph, the vector field must point ``in'' on all but one
1706: sheet of the configuration space in order to have well-defined
1707: orbits. We may thus lift the criteria of Lemma~\ref{lem_Semiflow}
1708: to the product configuration space. All of the vector fields
1709: in this paper are so constructed.
1710:
1711:
1712:
1713:
1714:
1715:
1716: \bibliography{}
1717:
1718:
1719: \end{document}
1720:
1721:
1722:
1723:
1724:
1725:
1726:
1727: